141 lines
3.0 KiB
JavaScript
141 lines
3.0 KiB
JavaScript
|
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,
|
||
|
},
|
||
|
};
|