2021年2月以降に新しくhusky
とlint-staged
をインストールして、以下のような設定をpackage.json
に書いたのに動かなかった。
そんな時の対処法です。
pakcage.json
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{js,jsx,ts,tsx}": [
"prettier --write",
"eslint --fix"
],
"src/**/*.{gql,graphql,json}": [
"prettier --write"
]
},
結論
既存の書きぶりのまま動かしたい場合は、v4をインストールしましょう。
# huskyをアンインストール
yarn remove husky
# v4をインストール
yarn add -D husky@4
これで動くようになります。
husky最新版で動かしたい場合は、適宜ドキュメントを見て設定を変更する必要があります。
以下、詳細です。
huskyのメジャーバージョンが6に
いつのまにかhuskyのメジャーバージョンが 5
になってました。
2021年3月末にhuskyバージョン6
がリリースされました。
v5から設定方法がガラッと変わったのが動かなかった原因でした。
v5,v6では、v4の書き方だと動きません。
対処方法
設定方法が変わった他に、ライセンスにも変更がありました。
現状でhusky v5を自由に使えるのは、OSSのみです。
v5では限定的なライセンスでしたが、v6で再びMITになりました。
以下のドキュメントを参考に、v4からv6にアップデートすれば動くようになるでしょう。
おわりに
従来どおりの書き方がよければv4を使いましょう。
yarn add -D husky@4
さすれば今までの設定のままいけます。