【问题标题】:css stylelint rule to catch 'selector is expected' errorcss stylelint 规则捕获“预期选择器”错误
【发布时间】:2017-09-26 18:55:02
【问题描述】:

作为我的过程的一部分,我使用 stylelint 在为我们的网站构建和部署之前查找 css 错误。但是,有人检查了以下内容,但在 css 解析器/缩小器上失败但通过了 stylelint。

.example-class ,
/*.example-class-two span*/ {
..... removed for brevity ..... 
}

我似乎无法找出任何现有的规则来捕捉这一点。有没有我错过的?否则,是时候编写自定义规则来捕获它了吗?

【问题讨论】:

  • 您不想将 coma 移到注释块内的下一行吗?
  • 是的,这是一个错误,我的问题是没有被 stylelint 捕获。我想确保捕捉到这样的错误。
  • 我没有使用 stylelint,但是 csslint 很好 - csslint.net
  • 谢谢,也许是时候切换到 csslint 了。我会试试看。

标签: css stylelint


【解决方案1】:

您需要编写此规则as a plugin。 stylelint 曾经有一条规则 selector-no-empty 来处理您的用例,但在 7.8.0 版中已将其删除。您可以使用该规则作为插件的起点。 Here's the source.

请注意,该规则最初是针对 the following reason 删除的:

根据 CSS 规范有效验证超出了 stylelint 核心包的范围。请调查此功能的 csstree 和 css-values,并为这些项目和包装它们的 stylelint 插件做出贡献。

目前有一个 csstree stylelint plugin 用于检查 CSS 的有效性,但 selector validation is not ready yet。所以你可以只使用 csstree stylelint 插件并等待选择器验证登陆。

stylelint 本身不是 CSS 规范验证器,它的设计更多是为了检测尽管有效但可能产生意外后果的代码 - 使用 declaration-block-no-shorthand-property-overrides、no-descending-specificity、no-duplicate-selectors 等规则。

或者限制团队在代码库中可以和不可以使用哪些 CSS 功能 - 使用 unit-blacklist、selector-max-id、selector-class-pattern 等规则。

【讨论】:

    猜你喜欢
    • 2020-04-26
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 2019-07-14
    • 2019-05-15
    • 2022-12-11
    相关资源
    最近更新 更多