lint-staged
gitのステージングに上がってるものをコミットする前にファイルに対してコマンドを実行できるツール configをprettierとかみたいに.ymlとかjsonでかけるのは便利かも。 huskyと一緒に使うけど、これを使う便利さってなんなんやろ? huskyを使うことで、pre-commit(コミット前)の状態でコマンドを実行できるから合わせて使うと便利ってだけ。
lint-staged, huskyそれぞれ単体でももちろん使える。
rootにlint-stagedを追加する
pnpm workspaceに登録されてるファイルに関しては各workspaceごとに.lintstagedrc.jsonを定義すると上書きできる
jsとかだとoverrideできるけど、jsonとかだと置き換えられるから共通のとかを設定するのはむずそう?
workspaceごとに.lintstagedrc.jsonがないと認識されない?
lintstagedrcの設定変更したけど、stageに載ってないから前の設定が反映されてただけっぽい。
特に設定してなくてもrootのeslintの設定ファイルじゃなくてちゃんとworkspaceのeslint configを呼び出して検証してくれてそう はまったのは、workspaceでエラーでる設定にしているのに出てない時があったこと
workspaceの途中でエラーになると他のworkspaceまで検証してくれないっぽい?(エラー解消すればちゃんと表示された)
あと、max-wanings 0で設定している時に、.*.js(config系)のdotfileがwarning出てきて鬱陶しい。
eslint v9にしたら無視できるオプションあるみたいやけど。 workspaceごとに定義するのか、rootで定義するのかはどうするのかは好みになりそうだけど、細かく設定するならworkspaceごとのほうがわかりやすい気もする。
ただその場合jsで書かないといけんかも。