stylelintのバージョン上げたらfixが効かなくなった

stylelintのバージョン上げたら自動整形が効かなくなった。--fix指定してるのにフォーマットエラーだけがずらずらっと出てきて注意される。修正はしてくれない。どうしてそんなことするの?

結論から言うと、v9.10.0からstylelint processor使ってる場合、自動整形が効かないようになったらしい。どうしてそんなことするの?
ソース:stylelint/CHANGELOG.md

と言うことで.eslintrc.jsを以下に変更して事無きを得た。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// old
module.exports = {
  processors: [
    [
      "@mapbox/stylelint-processor-arbitrary-tags",
      {
        fileFilterRegex: [/\.vue$/]
      }
    ]
  ],
  extends: ["stylelint-config-recommended"],
  rules: {
  …
  }
}
 
// new
module.exports = {
  plugins: [
    "stylelint-scss"
  ],
  extends: 'stylelint-config-recommended-scss',
  rules: {
  …
  }
}


stylelint実行コマンドも微妙に変わってた。
1
2
3
4
5
// 今まで
stylelint 'src/**/*.{vue,scss}' --syntax scss --fix
 
// これから
stylelint 'src/components/**/*.{vue,<wbr></wbr>scss}' --fix