simple-git-hooks とは
結論
以下の通りにすれば自動で .git/hooks/pre-commit
を作成してくれます。
1. インストールする
npm
or yarn
で simple-git-hooks
をインストールします。
2. package.json
に hooks のコマンドを記述する
以下のように書きます。
(省略) "simple-git-hooks": { "pre-commit": "npx fixpack" }, (省略)
3. 上記内容を適用する
package.json
に書いた内容を適用するため、simple-git-hooks
を実行します。すでに npm
or yarn
にてインストールされていますが、何も考えずに npx
で実行するのが手っ取り早いと思います。
$ npx simple-git-hooks
4. 念のため .git/hooks
以下を確認する
「2.」の内容が適用されているかを確認して、OK ならば作業完了です。
補足
GitHub Actions ではチェックアウトしたディレクトリに .git/hooks
が存在しないので、どこかで .git/hooks
を mkdir
しておくといいでしょう*1。$ yarn install
をした際に下記のメッセージが表示されるからです。
[4/4] Building fresh packages... $ simple-git-hooks Error: , Was not able to set git hooks. Error: Error: ENOENT: no such file or directory, open 'undefined/hooks/pre-commit'
なお、Netlify にデプロイした際には同様のエラーが出てこれに対応するのは難しいとは思いますが、まあ気にしなくてもいいかと思います。
8:34:56 PM: [4/4] Building fresh packages... 8:34:57 PM: $ simple-git-hooks 8:34:57 PM: [ERROR], Was not able to set git hooks. Error: Error: ENOENT: no such file or directory, open '/opt/build/repo/.git/hooks/pre-commit'
*1:やらなくても通ります