UNPKG

@kununu/stylelint-config

Version:
65 lines (63 loc) 2.26 kB
const {propertyOrdering, selectorOrdering} = require('stylelint-semantic-groups'); module.exports = { extends: [ 'stylelint-config-standard-scss', 'stylelint-prettier/recommended', ], plugins: [ 'stylelint-scss', 'stylelint-order', ], rules: { 'alpha-value-notation': 'number', 'at-rule-no-unknown': null, 'at-rule-no-vendor-prefix': true, 'color-function-notation': 'legacy', 'color-hex-length': 'long', 'color-named': 'never', 'comment-empty-line-before': ['always', {except: ['first-nested'], ignore: ['after-comment', 'stylelint-commands']}], 'comment-whitespace-inside': 'always', 'function-url-quotes': 'always', 'media-feature-name-no-vendor-prefix': true, 'media-feature-range-notation': 'prefix', 'no-descending-specificity': null, // clashing with order/order 'no-duplicate-selectors': true, 'order/order': selectorOrdering, // to fine-tune configuration use selectorOrderFactory 'order/properties-order': propertyOrdering.map((entry) => entry.map((group) => { // This fixes prettier and css group issues if (typeof group === 'object' && group.emptyLineBefore === 'always') { group.emptyLineBefore = 'never'; } return group })), 'prettier/prettier': [ true, { 'arrowParens': 'avoid', 'bracketSpacing': false, 'semi': true, 'singleQuote': true, 'trailingComma': 'all', }, ], 'property-no-unknown': [ true, { ignoreSelectors: [':export'], }, ], 'property-no-vendor-prefix': true, 'rule-empty-line-before': ['always', {except: ['after-single-line-comment', 'first-nested']}], 'scss/at-mixin-pattern': '^([a-z][a-z0-9]*)(-[a-z0-9]+)*$', // kebab-case 'scss/at-rule-no-unknown': true, 'selector-attribute-quotes': 'always', 'selector-class-pattern': '^[a-z][a-zA-Z0-9]+$', // camelCase 'selector-max-id': [0, {severity: 'warning'}], 'selector-no-vendor-prefix': true, 'selector-pseudo-element-colon-notation': 'single', 'selector-pseudo-class-no-unknown': [true, { ignorePseudoClasses: ['global', 'export', 'import', 'local'], }], 'value-no-vendor-prefix': true, }, };