Stylelintで無効化したいルールにはnullを指定する

タイトルでほぼ全部説明しましたが、Stylelintを使う時、既存のconfigで指定されているルールを完全にオフにするには null を使います。

例えば、stylelint-config-sass-guidelinesstylelint-config-property-sort-order-smacssを組み合わせて使いたい時、プロパティの並び順のルールがそれぞれ異なるので、単に組み合わせるだけだとルールがコンフリクトしてしまうのですが、不要なルールをオフにすると解決できます。

{
  "extends": [
    "stylelint-config-sass-guidelines",
    "stylelint-config-property-sort-order-smacss"
  ],
  "rules": {
    "order/properties-alphabetical-order": null
  }
}

このように設定すると、基本的にはstylelint-config-sass-guidelinesを使いつつ、プロパティの並び順についてはstylelint-config-property-sort-order-smacssのものを使う、という設定が可能です。

オフにするとき何を指定したらいいのか分からず、false や空配列などを指定していましたが、うまく動かなかったのでStylelintのソースコードをみたところ、 nullを指定するという仕組みだというのを発見しました。

github.com

よくみると null だけでなく [null] でもいいみたいですね。