96 lines
2.3 KiB
JavaScript
96 lines
2.3 KiB
JavaScript
|
/**
|
||
|
* @type {import('stylelint').Config}
|
||
|
*/
|
||
|
module.exports = {
|
||
|
extends: ['stylelint-config-standard', 'stylelint-config-property-sort-order-smacss'],
|
||
|
plugins: ['stylelint-order', 'stylelint-prettier'],
|
||
|
// customSyntax: 'postcss-html',
|
||
|
overrides: [
|
||
|
{
|
||
|
files: ['**/*.(css|html|vue)'],
|
||
|
customSyntax: 'postcss-html',
|
||
|
},
|
||
|
{
|
||
|
files: ['*.less', '**/*.less'],
|
||
|
customSyntax: 'postcss-less',
|
||
|
extends: ['stylelint-config-standard', 'stylelint-config-recommended-vue'],
|
||
|
},
|
||
|
{
|
||
|
files: ['*.scss', '**/*.scss'],
|
||
|
customSyntax: 'postcss-scss',
|
||
|
extends: ['stylelint-config-standard-scss', 'stylelint-config-recommended-vue/scss'],
|
||
|
rule: {
|
||
|
'scss/percent-placeholder-pattern': null,
|
||
|
},
|
||
|
},
|
||
|
],
|
||
|
rules: {
|
||
|
'prettier/prettier': true,
|
||
|
'media-feature-range-notation': null,
|
||
|
'selector-not-notation': null,
|
||
|
'import-notation': null,
|
||
|
'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',
|
||
|
'extend',
|
||
|
],
|
||
|
},
|
||
|
],
|
||
|
'no-empty-source': null,
|
||
|
'named-grid-areas-no-invalid': null,
|
||
|
'no-descending-specificity': null,
|
||
|
'font-family-no-missing-generic-family-keyword': null,
|
||
|
'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: 'error' },
|
||
|
],
|
||
|
},
|
||
|
ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.tsx', '**/*.ts'],
|
||
|
};
|