diff --git a/stylelint.config.js b/stylelint.config.js index 4955632b7..2f8a86724 100644 --- a/stylelint.config.js +++ b/stylelint.config.js @@ -8,5 +8,15 @@ module.exports = { 'font-family-no-missing-generic-family-keyword': null, 'no-descending-specificity': null, 'scss/at-rule-no-unknown': true, + 'selector-class-pattern': [ + '^[a-z]([-]?[a-z0-9]+)*(__[a-z0-9]([-]?[a-z0-9]+)*)?(--[a-z0-9]([-]?[a-z0-9]+)*)?$', + { + /** This option will resolve nested selectors with & interpolation. - https://stylelint.io/user-guide/rules/selector-class-pattern/#resolvenestedselectors-true--false-default-false */ + resolveNestedSelectors: true, + message: function expected(selectorValue) { + return `Expected class selector "${selectorValue}" to match BEM CSS pattern https://en.bem.info/methodology/css. Selector validation tool: https://regexr.com/3apms`; + }, + }, + ], }, };