Stylelint验证SCSS mixin中的声明

时间:2018-01-07 11:03:42

标签: css sass lint stylelint

我有一个看起来像这样的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出错。我找不到任何忽略或除此规则之外的规则,例如除了if语句之外。如何在不更改项目中所有声明的规则的情况下验证此类代码?

1 个答案:

答案 0 :(得分:0)

尝试颠倒规则的目标,即:

  • 从; 从不在声明之前有一个空行,除非声明来自at-rule
  • 来; 总是在声明之前有一个空行,除非声明在另一个声明之后(或者是第一个嵌套声明)。

以下规则配置直接来自stylelint-config-standard,我相信会满足您的要求:

{
  "rules": {
    "declaration-empty-line-before": [
      "always",
      {
        "except": [
          "after-declaration",
          "first-nested"
        ],
        "ignore": [
          "after-comment",
          "inside-single-line-block"
        ]
      }
    ]
  }
}

参考:样式文档的the About rules section

相关问题