Husky
Husky v5以降(.huskyフォルダ)
インストール
npm install --save-dev husky
設定
npm set-script prepare "husky install" # (1)
npm run prepare # (2)
npx husky add .husky/pre-commit "npm test" # (3)
git commit # (4)
- (1) このコマンドによってpackage.jsonに以下のように"scripts"に"prepare"が登録される
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"prepare": "husky install"
},
- (2) このコマンドによって、.huskyフォルダが作成され、.gitフォルダ内のconfigに以下のようにhooksPath = .huskyが登録される
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
ignorecase = true
hooksPath = .husky
- (3) このコマンドによって.husky/pre-commitファイルが作成される。pre-commitファイルはシェルスクリプトになっていて、中で"npm test"登録されている
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npm test
- (4) 上までの一連の設定でgit commit時にコミット前に"npm test"が実行される
参考
https://github.com/typicode/husky