UNPKG

@kununu/stylelint-config

Version:
56 lines (53 loc) 1.87 kB
const {propertyOrdering, selectorOrdering} = require('stylelint-semantic-groups'); module.exports = { extends: [ 'stylelint-config-standard-scss', 'stylelint-prettier/recommended', ], plugins: [ 'stylelint-order', ], rules: { 'alpha-value-notation': 'number', 'color-function-notation': 'legacy', 'color-hex-length': 'long', 'color-named': 'never', 'comment-empty-line-before': ['always', {except: ['first-nested'], ignore: ['after-comment', 'stylelint-commands']}], '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, { 'printWidth': 80, 'singleQuote': true, 'tabWidth': 2, 'trailingComma': 'all', 'useTabs': false, }, ], 'property-no-unknown': [ true, { ignoreSelectors: [':export'], }, ], '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-class-pattern': '^[a-z][a-zA-Z0-9]+$', // camelCase 'selector-max-id': [0, {severity: 'warning'}], 'selector-pseudo-element-colon-notation': 'single', 'selector-pseudo-class-no-unknown': [true, { ignorePseudoClasses: ['global', 'export', 'import', 'local'], }], }, };