UNPKG

stylelint-config-ali

Version:

stylelint shareable config for Alibaba F2E Guidelines

79 lines (78 loc) 2.53 kB
import less from './less.js'; import scss from './scss.js'; const miniappTags = [ 'page', 'swiper', 'icon', 'radio', 'checkbox', 'slider', 'picker', 'navigator', 'lifestyle', ]; export default { defaultSeverity: 'warning', rules: { 'block-no-empty': null, 'color-no-invalid-hex': true, 'comment-no-empty': true, 'declaration-block-no-duplicate-properties': [ true, { ignore: ['consecutive-duplicates-with-different-values'], }, ], 'declaration-block-no-shorthand-property-overrides': true, 'font-family-no-duplicate-names': true, 'font-family-no-missing-generic-family-keyword': null, // @reason 使用 iconfont 字体时会报错 'function-calc-no-unspaced-operator': true, 'function-linear-gradient-no-nonstandard-direction': true, 'keyframe-declaration-no-important': true, 'media-feature-name-no-unknown': true, 'no-descending-specificity': null, // @reason 实际有很多这样用的,且多数人熟悉 css 优先级 'no-duplicate-at-import-rules': true, 'no-duplicate-selectors': true, 'no-empty-source': null, 'no-invalid-double-slash-comments': true, 'property-no-unknown': true, 'selector-pseudo-class-no-unknown': [ true, { ignorePseudoClasses: ['global', 'local', 'export'], }, ], 'selector-pseudo-element-no-unknown': true, 'selector-type-no-unknown': [ true, { ignore: ['custom-elements'], ignoreTypes: miniappTags, }, ], 'string-no-newline': true, 'unit-no-unknown': [ true, { ignoreUnits: ['rpx'], }, ], /** * Stylistic issues * @link https://stylelint.io/user-guide/rules/list#stylistic-issues */ 'color-hex-length': 'short', 'comment-whitespace-inside': 'always', 'declaration-block-single-line-max-declarations': 1, 'length-zero-no-unit': [ true, { ignore: ['custom-properties'], }, ], 'selector-max-id': 0, }, overrides: [less, scss], // don't support css-in-js because there are too many different implementations ignoreFiles: ['**/*.js', '**/*.jsx', '**/*.ts', '**/*.tsx'], };