module.exports = { "rules": { /** * 颜色值使用小写 */ "color-hex-case": "lower", /** * 禁止使用无效的十六进制颜色 */ "color-no-invalid-hex": true, /** * 在calc函数内运算需要加上空格,(正确:calc(1px + 2px);) */ "function-calc-no-unspaced-operator": true, /** * 必须在函数逗号后加上一个空格,(正确:transform: translate(1, 1);) */ "function-comma-space-after": "always-single-line", /** * 禁止在函数逗号之前空格 */ "function-comma-space-before": "never", /** * 函数名称使用小写英文 */ "function-name-case": "lower", /** * 要求给网址加上引号,可以是单引号或者是双引号,(正确:background: url("http://www.baidu.com");) */ "function-url-quotes": "always", /** *在函数之后需要加上空格,(正确:transform: translate(1, 1) scale(3);) */ "function-whitespace-after": "always", /** *小于1的小数,需要前导0,(正确:(line-height: 0.5);) */ "number-leading-zero": "always", /** *禁止整数尾随0,(错误:1.0) */ "number-no-trailing-zeros": true, /** *禁止零长度的单位,(正确:(top: 0);) */ "length-zero-no-unit": true, /** *禁止字符串中的'换行符'在未转义的情况下换行,因为字符串中没有换行符,使用\转义可换行,(正确:a {content: "first\Asecond";}) */ "string-no-newline": true, /** *给字符串指定单引号 */ "string-quotes": "single", /** *使用的单位为小写,(正确:px , vh) */ "unit-case": "lower", /** *禁止未知单位 */ "unit-no-unknown": true, /** *允许使用的单位的白名单:["px", "%", "deg", "ms", "em", "vh", "vw", "s", "rem"] */ "unit-whitelist": ["px", "%", "deg", "ms", "em", "vh", "vw", "s", "rem"], /** *在值列表的逗号后需要加上空格(正确:background-size: 0, 0;) */ "value-list-comma-space-after": "always-single-line", /** *在值列表的逗号之前禁止空格 */ "value-list-comma-space-before": "never", /** *禁止使用冗余值,(错误:margin: 1px, 1px 1px 1px;) */ "shorthand-property-no-redundant-values": true, /** *属性名使用小写 */ "property-case": "lower", /** *禁止声明块中的重复属性,(错误:p { font-size:16 px; font-size:1 rem; }) */ "declaration-block-no-duplicate-properties": true, /** *在声明块中要求使用尾随分号,(正确:color: #fff;) */ "declaration-block-trailing-semicolon": "always", /** *每一行的声明数为1,正确写法如下: *a { * color: pink; * top: 3px; * } */ "declaration-block-single-line-max-declarations": 1, /** *在声明块的分号之前禁止空格,(正确:a { color: pink; }) */ "declaration-block-semicolon-space-before": "never", /** *在声明块的分号后需要加上一个空格 */ "declaration-block-semicolon-space-after": "always-single-line", /** *在多行声明块,分号前禁止换行 */ "declaration-block-semicolon-newline-before": "never-multi-line", /** *在多行声明块,分号后需要换行 */ "declaration-block-semicolon-newline-after": "always-multi-line", /** *在声明中,不允许的属性和值对的黑名单 */ "declaration-property-value-blacklist": [{ "/.*/": ["initial"] }, { "message": "在IE里面不支持`initial`的值" } ], /** *在块的右大括号之后需要换行符,忽略if,else */ "block-closing-brace-newline-after": [ "always", { "ignoreAtRules": ["if", "else"] } ], /** *在块的右大括号之前需要换行符 */ "block-closing-brace-newline-before": "always-multi-line", /** *在开始的块大括号之后需要换行符 */ "block-opening-brace-newline-after": "always-multi-line", /** *在开始的块大括号之前需要换行符 */ "block-opening-brace-space-before": "always-multi-line", /** *在属性选择器中的括号内部禁止空格,(正确:[target=_blank] {}) */ "selector-attribute-brackets-space-inside": "never", /** *在属性选择器中的运算符之后禁止空格,(正确:[target=_blank] {}) */ "selector-attribute-operator-space-after": "never", /** *在属性选择器中的运算符之前禁止空格,(正确:[target=_blank] {}) */ "selector-attribute-operator-space-before": "never", /** *在选择器的组合器之后需要单个空格,(正确:a + b { color: pink; }) */ "selector-combinator-space-after": "always", /** *在选择器的组合器之前需要单个空格,(正确:a + b { color: pink; }) */ "selector-combinator-space-before": "always", /** *伪类选择器使用小写,(正确:a:hover {}) */ "selector-pseudo-class-case": "lower", /** *禁止伪类选择器中,在括号内部使用空格,(正确:input:not([type="submit"]) {}) */ "selector-pseudo-class-parentheses-space-inside": "never", /** *伪元素选择器使用小写,(正确:a::before {}) */ "selector-pseudo-element-case": "lower", /** *为适用的伪元素指定双冒号表示法,(正确:a::before { color:pink; }) */ "selector-pseudo-element-colon-notation": "double", /** *禁止未知的伪元素选择器,忽略ng-deep */ "selector-pseudo-element-no-unknown": [true, { "ignorePseudoElements": ["ng-deep"] }], /** *类型选择器使用小写,(正确:a {}) */ "selector-type-case": "lower", /** *禁止缺少源代码换行符,(错误:a { color: pink; }\n) */ "no-missing-end-of-source-newline": true, /** *限制一行的最大长度为120 */ "max-line-length": 120 } };