| | |
| | | module.exports = { |
| | | root: true, |
| | | plugins: ['stylelint-order'], |
| | | extends: ['stylelint-config-standard'], |
| | | customSyntax: 'postcss-html', |
| | | rules: { |
| | | 'function-no-unknown': null, |
| | | 'selector-class-pattern': null, |
| | | 'selector-pseudo-class-no-unknown': [ |
| | | true, |
| | | { |
| | | ignorePseudoClasses: ['global', 'deep'], |
| | | }, |
| | | ], |
| | | 'selector-pseudo-element-no-unknown': [ |
| | | true, |
| | | { |
| | | ignorePseudoElements: ['v-deep'], |
| | | }, |
| | | ], |
| | | 'at-rule-no-unknown': [ |
| | | true, |
| | | { |
| | | ignoreAtRules: [ |
| | | 'tailwind', |
| | | 'apply', |
| | | 'variants', |
| | | 'responsive', |
| | | 'screen', |
| | | 'function', |
| | | 'if', |
| | | 'each', |
| | | 'include', |
| | | 'mixin', |
| | | ], |
| | | }, |
| | | ], |
| | | 'no-empty-source': null, |
| | | 'string-quotes': null, |
| | | 'named-grid-areas-no-invalid': null, |
| | | 'unicode-bom': 'never', |
| | | 'no-descending-specificity': null, |
| | | 'font-family-no-missing-generic-family-keyword': null, |
| | | 'declaration-colon-space-after': 'always-single-line', |
| | | 'declaration-colon-space-before': 'never', |
| | | // 'declaration-block-trailing-semicolon': 'always', |
| | | 'rule-empty-line-before': [ |
| | | 'always', |
| | | { |
| | | ignore: ['after-comment', 'first-nested'], |
| | | }, |
| | | ], |
| | | 'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }], |
| | | 'order/order': [ |
| | | [ |
| | | 'dollar-variables', |
| | | 'custom-properties', |
| | | 'at-rules', |
| | | 'declarations', |
| | | { |
| | | type: 'at-rule', |
| | | name: 'supports', |
| | | }, |
| | | { |
| | | type: 'at-rule', |
| | | name: 'media', |
| | | }, |
| | | 'rules', |
| | | ], |
| | | { severity: 'warning' }, |
| | | ], |
| | | }, |
| | | ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'], |
| | | overrides: [ |
| | | { |
| | | files: ['*.vue', '**/*.vue', '*.html', '**/*.html'], |
| | | extends: ['stylelint-config-recommended'], |
| | | rules: { |
| | | 'keyframes-name-pattern': null, |
| | | 'selector-pseudo-class-no-unknown': [ |
| | | true, |
| | | { |
| | | ignorePseudoClasses: ['deep', 'global'], |
| | | }, |
| | | ], |
| | | 'selector-pseudo-element-no-unknown': [ |
| | | true, |
| | | { |
| | | ignorePseudoElements: ['v-deep', 'v-global', 'v-slotted'], |
| | | }, |
| | | ], |
| | | }, |
| | | }, |
| | | { |
| | | files: ['*.less', '**/*.less'], |
| | | customSyntax: 'postcss-less', |
| | | extends: ['stylelint-config-standard', 'stylelint-config-recommended-vue'], |
| | | }, |
| | | ], |
| | | extends: ['@vben/stylelint-config'], |
| | | }; |