monorepo/apps/web/stylelint.config.mjs

92 lines
3.2 KiB
JavaScript
Raw Normal View History

2025-06-05 20:38:10 +08:00
/** @type {import('stylelint').Config} */
export default {
extends: [
"stylelint-config-standard",
"stylelint-config-css-modules",
"stylelint-config-recess-order",
"stylelint-prettier/recommended",
],
rules: {
"import-notation": "string", // 使用string方式引入其它css文件而不是url()
"selector-type-no-unknown": null,
"selector-class-pattern": null,
"custom-property-pattern": null,
"no-duplicate-selectors": null, // 取消禁止重复定义,这样可以在css module中单独定义变量
"block-no-empty": null, // 禁止出现空块
"declaration-empty-line-before": "never",
"declaration-block-no-duplicate-properties": true, // 在声明的块中中禁止出现重复的属性
"declaration-block-no-redundant-longhand-properties": true, // 禁止使用可以缩写却不缩写的属性
"shorthand-property-no-redundant-values": true, // 禁止在简写属性中使用冗余值
"color-hex-length": "short", // 指定十六进制颜色是否使用缩写
"comment-no-empty": true, // 禁止空注释
"font-family-name-quotes": "always-unless-keyword", // 指定字体名称是否需要使用引号引起来 | 期待每一个不是关键字的字体名都使用引号引起来
// 'font-weight-notation': 'numeric', // 要求使用数字或命名的 (可能的情况下) font-weight 值
"function-url-quotes": "always", // 要求或禁止 url 使用引号
"property-no-vendor-prefix": true, // 禁止属性使用浏览器引擎前缀
"value-no-vendor-prefix": true, // 禁止给值添加浏览器引擎前缀
"selector-no-vendor-prefix": true, // 禁止使用浏览器引擎前缀
"no-descending-specificity": null, // 禁止低优先级的选择器出现在高优先级的选择器之后
"at-rule-no-deprecated": null, // 禁止使用未知指令报错
"at-rule-no-unknown": null, // 禁止使用未知指令报错
"property-no-unknown": [
true,
{
ignoreProperties: [
// CSS Modules composition
// https://github.com/css-modules/css-modules#composition
"composes",
],
},
],
"selector-pseudo-class-no-unknown": [
true,
{
ignorePseudoClasses: [
// CSS Modules :global scope
// https://github.com/css-modules/css-modules#exceptions
"global",
"local",
],
},
],
"rule-empty-line-before": [
// 要求或禁止在规则声明之前有空行
"always-multi-line",
{
except: ["first-nested"],
ignore: ["after-comment"],
},
],
"at-rule-empty-line-before": [
// 要求或禁止在 at 规则之前有空行
"always",
{
except: ["blockless-after-same-name-blockless", "first-nested"],
ignore: ["after-comment"],
},
],
"comment-empty-line-before": [
// 要求或禁止在注释之前有空行
"always",
{
except: ["first-nested"],
ignore: ["stylelint-commands"],
},
],
},
ignoreFiles: [
"public",
"node_modules",
"build",
".history",
".next",
"**/*.js",
"**/*.jsx",
"**/*.tsx",
"**/*.ts",
"**/*.json",
"**/*.md",
],
};