🕵️
huskyをモノレポに導入する
初めに
皆さんこんにちは。株式会社プラハのアイドルヲタクエンジニアです。
今日はみなさんの開発体験を少しだけ良くするために、huskyの使い方を紹介します。
簡単に導入できるので、ぜひ試してみてください!
やりたいこと
- モノレポのGitプロジェクトにhuskyを導入したい。
- ビルドが通らない場合はコミットを禁止とする。
今回は以下のプロジェクトを使って実装してみました。
https://github.com/wooootack/monorepo-husky
やってみる
早速やってみましょう!
huskyのインストールと初期設定
今回の方法では、huskyはプロジェクトのルートにインストールします。
npm init
npm install husky --save-dev
npx husky install
次に、プロジェクトルートにある package.jsonに以下の設定を追加します。
"scripts": {
"prepare": "husky install"
}
これによって、他の人もnpm install
をするだけで自動的にHooksが有効になります。
チェックしたい内容の追加
今回はコミットされる前にビルドが通ることを確認したいので、以下のようにコマンドを入力します。
npx husky add .husky/pre-commit "npm run build"
以下のようなファイルが出力されます。
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm run build
この状態では、npm run build
がルートディレクトリで実行されてしまうため、うまく動作しません。
それぞれのプロジェクトで実行されるように変更します。
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
cd `pwd`
cd back
npm run build
cd ..
cd front
npm run
cd ..
これで git commit
を実行すると、事前にチェックが走るようになりました!
参考
GitHubで編集を提案
Discussion