53
32

More than 3 years have passed since last update.

husky v5 で消耗している人には simple-git-hooks がお薦め

Last updated at Posted at 2021-04-09

Git の Hook を扱う husky というライブラリがあり、大変お世話になっていた。が、 v5 が登場してから、設定変更を余儀なくされた。

v4 とは大きく異なる設計思想のため、私達は今まで書いていた設定ファイルを変え、 .husky ディレクトリを作成し、 husky のコマンドドキュメントを読んで、確認した。

正直 husky v5 のこの変更には失望した。もちろん正当な理由が合ったのだとは思うが、このようなツールの設定変更に時間を取られたくないと思った。このようなツールにはドキュメントが存在しないくらいの方がちょうどいいと思った。なんでこんな大きなドキュメントがあるのか不思議に思った。

なんか同僚の PC で pre-commit フックが動いてないっぽい。そんでコードがフォーマットされてなくてイライラする。 OSS にプルリクくれる人にも申し訳ない。

しかも husky の変更は個人的に改悪だと思った。 .husky ディレクトリを作成したり、 husky install で何が行われるのか? .husky の中にある謎のファイル _ は何なのか?

しかも、 Husky は 勝手に .git/config を変更するから、他のツールと併用すると面倒なことになりそう。

自分はただ単に git commit の前に Prettier を実行したいだけなのに、なぜこんなことになってしまったんだ。

そこで見つけたのが simple-git-hooks

超かんたん。基本これで終わり。

yarn add -D simple-git-hooks
package.json
  "scripts": {
    "prepare": "simple-git-hooks"
  },
  "simple-git-hooks": {
    "pre-commit": "npx lint-staged"
  }

あーもうこれで生きてくわ。これで良い。これだけで良い。

ちなみに husky から移行する時は、下記コマンドを実行して husky が 勝手に 変更した Git の設定をもとに戻そう。

yarn remove husky
rm -rf .husky
git config core.hooksPath .git/hooks/
53
32
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
53
32