Prevent wrong nesting of elements or modifiers inside one another.
yarn add --dev stylelint-no-repeated-nesting
Import the plugin in your .stylelint.yml
configurationand set the rule:
plugins:
- stylelint-no-repeated-nesting
Set blinkist/no-repeated-nesting
to true
to enable the plugin.
rules:
blinkist/no-repeated-nesting: true
The plugin will manage situations as follow:
.block {
$root: &;
&__element { // Right
&__element-in-element { // Wrong
display: block;
}
&--modifier-in-element { // Right
display: block;
}
#{$root}--hello { // Right
&__element { // Right
display: block;
}
}
}
&--modifier { // Right
&--modifier-in-modifier { // Wrong
display: block;
}
&__element-in-modifier { // Wrong
display: block;
}
}
}