export default { extends: ['stylelint-config-standard', 'stylelint-config-recess-order'], ignoreFiles: [ '**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts', '**/*.json', '**/*.md', ], overrides: [ { customSyntax: 'postcss-html', files: ['*.(html|vue)', '**/*.(html|vue)'], rules: { 'selector-pseudo-class-no-unknown': [ true, { ignorePseudoClasses: ['global', 'deep'], }, ], 'selector-pseudo-element-no-unknown': [ true, { ignorePseudoElements: ['v-deep', 'v-global', 'v-slotted'], }, ], }, }, { customSyntax: 'postcss-scss', extends: [ 'stylelint-config-recommended-scss', 'stylelint-config-recommended-vue/scss', ], files: ['*.scss', '**/*.scss'], }, ], plugins: [ 'stylelint-order', '@stylistic/stylelint-plugin', 'stylelint-prettier', 'stylelint-scss', ], rules: { 'at-rule-no-unknown': [ true, { ignoreAtRules: [ 'extends', 'ignores', 'include', 'mixin', 'if', 'else', 'media', 'for', 'at-root', 'tailwind', 'apply', 'variants', 'responsive', 'screen', 'function', 'each', 'use', 'forward', 'return', ], }, ], 'font-family-no-missing-generic-family-keyword': null, 'function-no-unknown': null, 'import-notation': null, 'media-feature-range-notation': null, 'named-grid-areas-no-invalid': null, 'no-descending-specificity': null, 'no-empty-source': null, 'order/order': [ [ 'dollar-variables', 'custom-properties', 'at-rules', 'declarations', { name: 'supports', type: 'at-rule', }, { name: 'media', type: 'at-rule', }, { name: 'include', type: 'at-rule', }, 'rules', ], { severity: 'error' }, ], 'prettier/prettier': true, 'rule-empty-line-before': [ 'always', { ignore: ['after-comment', 'first-nested'], }, ], 'scss/at-rule-no-unknown': [ true, { ignoreAtRules: [ 'extends', 'ignores', 'include', 'mixin', 'if', 'else', 'media', 'for', 'at-root', 'tailwind', 'apply', 'variants', 'responsive', 'screen', 'function', 'each', 'use', 'forward', 'return', ], }, ], 'scss/operator-no-newline-after': null, 'selector-class-pattern': '^(?:(?:o|c|u|t|s|is|has|_|js|qa)-)?[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*(?:__[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:--[a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)?(?:[.+])?$', 'selector-not-notation': null, }, };