module.exports = { extends: [ 'stylelint-config-standard', 'stylelint-config-recess-order', 'stylelint-config-css-modules', ], plugins: ['stylelint-scss'], ignoreFiles: ['./node_modules/**/*.css'], rules: { 'at-rule-no-unknown': [ true, { ignoreAtRules: [ // -------- // Tailwind // -------- 'tailwind', 'apply', 'variants', 'responsive', 'screen', ], }, ], 'no-duplicate-selectors': null, 'no-empty-source': null, 'selector-pseudo-element-no-unknown': null, 'declaration-block-trailing-semicolon': null, 'no-descending-specificity': null, 'string-no-newline': null, // Use camelCase for classes and ids only. Works better with CSS modules // 'selector-class-pattern': /^[a-z][a-zA-Z]*(-(enter|leave)(-(active|to))?)?$/, // 'selector-id-pattern': /^[a-z][a-zA-Z]*$/, // Limit the number of universal selectors in a selector, // to avoid very slow selectors 'selector-max-universal': 1, // -------- // SCSS rules // -------- 'scss/dollar-variable-colon-space-before': 'never', 'scss/dollar-variable-colon-space-after': 'always', 'scss/dollar-variable-no-missing-interpolation': true, 'scss/dollar-variable-pattern': /^[a-z-]+$/, 'scss/double-slash-comment-whitespace-inside': 'always', 'scss/operator-no-newline-before': true, 'scss/operator-no-unspaced': true, 'scss/selector-no-redundant-nesting-selector': true, // Allow SCSS and CSS module keywords beginning with `@` 'scss/at-rule-no-unknown': null, }, }