将 stylelint 升级到 14.0.0 后出现很多错误

Lot of errors after upgrading stylelint to 14.0.0

我正在根据此 this migration guide 将 stylelint 升级到 V14。所以我 运行 stylelint-config-standard-scss 并且还添加到 stylelint 配置文件中。由于我们同时也使用了 stylelint-prettier,所以现在配置文件看起来像这样(从来没有任何其他规则):

{
  "extends": ["stylelint-config-standard-scss","stylelint-prettier/recommended"]
}

然而,当我 运行 npm run stylelint 我遇到了很多错误(在更新包之前不存在):

modules/.../_style.scss
   1:1   ✖  Expected mixin name to be kebab-case                                                                 scss/at-mixin-pattern        
   3:3   ✖  Expected empty line before rule                                                                      rule-empty-line-before       
   6:14  ✖  Expected "0.75" to be "75%"                                                                          alpha-value-notation         
   8:3   ✖  Expected empty line before rule                                                                      rule-empty-line-before       
  27:3   ✖  Expected empty line before rule                                                                      rule-empty-line-before       
  32:3   ✖  Expected empty line before rule                                                                      rule-empty-line-before       
  37:3   ✖  Expected empty line before rule                                                                      rule-empty-line-before       
  40:3   ✖  Expected empty line before rule                                                                      rule-empty-line-before       
  50:3   ✖  Expected empty line before rule                                                                      rule-empty-line-before       
  51:14  ✖  Expected "0.8" to be "80%"                                                                           alpha-value-notation         
  53:3   ✖  Expected empty line before rule                                                                      rule-empty-line-before       
  55:14  ✖  Expected "1" to be "100%"                                                                            alpha-value-notation       
....

我猜是因为我没有正确配置它。但是我不明白为什么以前没有规则,现在看来我现在需要配置这么多。它们是否添加到新版本 V14 中?还是prettier和新stylelint版本有冲突?

由于我对更新软件包还很陌生,如果我的问题没有多大意义,我深表歉意。欢迎任何意见!谢谢

您配置正确。

stylelint-config-standard-scss 包与 stylelint 包是分开的,并且有其 own CHANGELOG. Version 2.0.0 of the package turned on a dozen new rules。此外,该软件包更新了它扩展的两个共享配置,而这两个配置又拥有自己的变更日志:

这两个配置在其上一个主要版本中启用了新规则。

总而言之,通过更新到 stylelint-config-standard-scss 的 2.0.0 版,启用了两打新规则。

理想情况下,您应该更新代码库以解决问题。或者,您可以 extend the config 并关闭任何您不需要的规则。

例如,要关闭 alpha-value-notation 规则:

{
  "extends": ["stylelint-config-standard-scss","stylelint-prettier/recommended"],
  "rules": {
    "alpha-value-notation": null
  }
}