【ハスキー】
Husky とは?
💡 コミットの前に「ワン!」と吠えてコードを守る番犬ツール
📌 このページのポイント
- Node.js(npm/yarn)プロジェクト向けのGitフック管理ツール
- package.jsonやnpm installと連携し、チームメンバー全員に自動でフックを適用できる
- pre-commitやcommit-msgなど様々なGitフックをサポートしている
- commitlintやlint-stagedと組み合わせるのが定番の使い方
Huskyってどんなツールなの?犬の名前みたいだけど…
Gitフックって何なの?
設定は簡単なの?
とても簡単だよ。`npx husky init`を実行すると`.husky/`フォルダが作られて、そこにフックのスクリプトを置くだけ。たとえば`.husky/pre-commit`に`npx lint-staged`と書いておけば、コミット前にリンターが走るんだ
lint-stagedって何?セットで使うものなの?
pre-commitっていうツールもあるみたいだけど、何が違うの?
いい質問だね。pre-commitはPython製で言語を問わず使えるフレームワーク、HuskyはNode.jsエコシステムに特化したツールだよ。JavaScriptやTypeScriptのプロジェクトならHusky + lint-stagedの組み合わせがデファクトスタンダードだね。ちなみにHuskyはv4からv9で設定方法が大きく変わっていて、古い記事の情報が使えないことがあるから、必ず公式ドキュメントを見るのがおすすめだよ
📖 おまけ:英語の意味
「Husky」 = ハスキー犬
💬 シベリアンハスキーが由来で、「忠実にリポジトリを守る番犬」というイメージでつけられた名前だよ