70 lines
3.0 KiB
JavaScript
70 lines
3.0 KiB
JavaScript
export default {
|
||
root: true,
|
||
customSyntax: "postcss-html",
|
||
extends: [
|
||
"stylelint-config-standard", // 配置 stylelint拓展插件
|
||
"stylelint-config-html/vue", // 配置 vue 中 template 样式格式化
|
||
"stylelint-config-standard-scss", // 配置 stylelint scss 插件
|
||
"stylelint-config-recommended-scss",
|
||
"stylelint-config-recommended-vue/scss", // 配置 vue 中 scss 样式格式化
|
||
"stylelint-config-recess-order", // 配置 stylelint css属性书写顺序插件
|
||
],
|
||
/**
|
||
* 值规则
|
||
*
|
||
* 1. null:关闭该规则
|
||
* 2. [xx, { ignoreXx: [] }],指定 xx 规则,但是忽略正则匹配的值
|
||
* 3. [xx, { ignoreXx: {key: value} }],指定 xx 规则,但是忽略某个属性的某个 value,支持正则
|
||
*/
|
||
rules: {
|
||
"no-empty-source": null, // 允许空样式
|
||
"function-url-quotes": "always", // 要求或禁止 URL 的引号,always(必须加上引号) | never(没有引号)
|
||
"color-hex-length": "long", // 指定 16 进制颜色的简写或扩写, short(16进制简写) | long(16进制扩写)
|
||
"custom-property-pattern": null, // 自定义属性命名规则
|
||
"selector-class-pattern": null, // 强制选择器类名的格式
|
||
"no-descending-specificity": null, // 允许无降序特异性
|
||
"keyframes-name-pattern": null, // 动画帧节点样式命名规则
|
||
"function-name-case": null, // 指定函数名称的小写或大写
|
||
"nesting-selector-no-missing-scoping-root": null, // 去除嵌套选择器无缺失范围根报错
|
||
"block-no-redundant-nested-style-rules": null, // 去除不允许在块内嵌套冗余的样式规则
|
||
// 要求或不允许 at 规则前有空行
|
||
"at-rule-empty-line-before": [
|
||
"always",
|
||
{ ignore: ["after-comment", "first-nested"], ignoreAtRules: ["forward", "use", "else", "include"] },
|
||
],
|
||
"value-keyword-case": ["lower", { ignoreFunctions: ["/v-bind$$(.*?$$)/"] }], // 指定关键字值的小写或大写
|
||
"media-feature-range-notation": "prefix", // 指定媒体功能范围的上下文或前缀表示法
|
||
"selector-pseudo-class-no-unknown": [true, { ignorePseudoClasses: ["global", "export", "deep"] }],
|
||
"import-notation": "string", // 为 @import 规则指定字符串或 URL 表示法
|
||
"unit-no-unknown": [true, { ignoreUnits: ["rpx"] }], // 禁止未知单位
|
||
// 不允许声明中的属性值未知
|
||
"declaration-property-value-no-unknown": [
|
||
true,
|
||
{ ignoreProperties: { "/.+/": "/v-bind|cssVar|cssVarName|cssVarWithDefault/" } },
|
||
],
|
||
"function-no-unknown": null, // 忽略未知函数的错误
|
||
"scss/at-function-pattern": null, // scss 的 @function 命名允许大写
|
||
},
|
||
ignoreFiles: [
|
||
"**/*.js",
|
||
"**/*.jsx",
|
||
"**/*.tsx",
|
||
"**/*.ts",
|
||
"**/*.json",
|
||
"**/styles/*.css",
|
||
"**/*.module.scss",
|
||
"**/assets/**/*.*",
|
||
],
|
||
overrides: [
|
||
// 扫描 .vue/html 文件中的 <style> 标签内的样式
|
||
{
|
||
files: ["**/*.{vue,html}"],
|
||
customSyntax: "postcss-html",
|
||
},
|
||
{
|
||
files: ["**/*.{css,scss}"],
|
||
customSyntax: "postcss-scss",
|
||
},
|
||
],
|
||
};
|