Stylelint 验证 SCSS mixin 中的声明
Stylelint validate declarations in SCSS mixin
我有一个 mixin,看起来像这样:
@mixin offset($fraction: 1) {
@if type-of($fraction) != number or not unitless($fraction) {
@include error("#{$fraction} is not a unitless number");
}
margin-left: percentage($fraction);
}
我也使用此规则设置了 stylelint:
"declaration-empty-line-before": "never"
mixin 和 stylelint 规则都有效。但是,由于 if 语句后的空行,使用此规则会为上述 mixin 抛出错误。我找不到此 stylelint 规则的任何忽略或排除规则,例如 if 语句后除外。这种代码如何在不更改项目中所有声明的规则的情况下进行验证?
尝试反转规则的 objective 即:
- 来自; 从不 声明前有一个空行,除非声明出现在 at-rule
之后
- 到; 总是声明前有一个空行,除非声明在另一个声明之后(或者是第一个嵌套声明)。
以下规则配置直接来自stylelint-config-standard,相信能满足您的要求:
{
"rules": {
"declaration-empty-line-before": [
"always",
{
"except": [
"after-declaration",
"first-nested"
],
"ignore": [
"after-comment",
"inside-single-line-block"
]
}
]
}
}
参考:stylelint 文档的 the About rules section。
我有一个 mixin,看起来像这样:
@mixin offset($fraction: 1) {
@if type-of($fraction) != number or not unitless($fraction) {
@include error("#{$fraction} is not a unitless number");
}
margin-left: percentage($fraction);
}
我也使用此规则设置了 stylelint:
"declaration-empty-line-before": "never"
mixin 和 stylelint 规则都有效。但是,由于 if 语句后的空行,使用此规则会为上述 mixin 抛出错误。我找不到此 stylelint 规则的任何忽略或排除规则,例如 if 语句后除外。这种代码如何在不更改项目中所有声明的规则的情况下进行验证?
尝试反转规则的 objective 即:
- 来自; 从不 声明前有一个空行,除非声明出现在 at-rule 之后
- 到; 总是声明前有一个空行,除非声明在另一个声明之后(或者是第一个嵌套声明)。
以下规则配置直接来自stylelint-config-standard,相信能满足您的要求:
{
"rules": {
"declaration-empty-line-before": [
"always",
{
"except": [
"after-declaration",
"first-nested"
],
"ignore": [
"after-comment",
"inside-single-line-block"
]
}
]
}
}
参考:stylelint 文档的 the About rules section。