husky v4 -> v7に移行する方法
huskyをv7に移行すると何が変わるのか?
- typicode公式ブログに書いてある
- ものすごく要約すると、「
.git/hooks
・package.json
・.huskyrc.js
などに設定が散らばっていて不便だったけど、今後は.husky
配下にまとまります」ということ
v5とv6は使わないの?
- v5はライセンスが違うので商用利用が実質不可
- v6はライセンスが戻っているけど、v7だと公式の移行ツールがあって便利
- 参考記事:husky(v4, v6) と simple-git-hooks どちらを使うべきか
公式ドキュメント
「Migrate from v4 to v7」の章がわざわざ用意されている。優しい。
https://typicode.github.io/husky/#/
この記事の想定読者
他の記事の書いてある通りに、公式ツールを使っても[yes/no]で答える質問が表示されなくて困った人(自分)
ちゃんとツールが色々質問してくれた人は、この手順踏まなくてもよいと思います
移行手順
1. husky v7をインストールする
typicode公式のmigrationツールを使って、環境に応じて適切なコマンドを叩く。
自分はyarn2だったので下記。
yarn add husky@latest --dev \
&& npx husky-init \
&& npm exec -- github:typicode/husky-4-to-7 --remove-v4-config
2. 以下の差分が出る事を確認する
・リポジトリ直下に`.husky`ディレクトリが作成される
・package.jsonのhuskyのバージョンが7.0.0になる
・package.jsonに "prepare": "husky install"が追加される
3. v4のconfigをv7に移行する
これまでpackage.json
にあった設定を、v7のために.husky
配下に移行する。
HUSKY_GIT_PARAMS
は廃止されたので、$1
などに変更すること。
commitlintを使っている人は、-E HUSKY_GIT_PARAMS
だったのが、--edit $1
に変わってたので追従すること(v5に変わったときのコミット履歴)
yarn husky add .husky/pre-commit 'yarn lint-staged' & \
yarn husky add .husky/pre-commit 'yarn test --onlyChanged' & \
yarn husky add .husky/commit-msg 'yarn commitlint --edit $1'
4. v7のデフォルト設定を削除する
サンブルとして.husky/pre-commit
にnpm test
が最初から入っているけど、邪魔なので削除する。
5. v4の設定を削除する
package.json
等からhuskyの設定を全部削除する。
実はv7でも旧来の設定方法でいけるんだけど、このままだとちゃんと移行できたか分からないので削除する。
おしまい
公式のmigrationツールの冒頭にも書いてあるけど、ツールは実行しても部分的にしか変わらない。
設定まで移行するのをお忘れなく。
Author And Source
この問題について(husky v4 -> v7に移行する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/Z000oooo/items/4ac9fdf60ae59e6cc04c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .