git hook 제어를 도와주는 패키지이다. hook 이란 add, commit, push 등의 이벤트가 벌어졌을 때, 특정 스크립트가 실행되도록 해주는 것이다.
yarn add husky --dev
yarn add pinst --dev # ONLY if your package is not private
yarn husky install
// package.json
{ "private": true, // ← your package is private, you only need postinstall "scripts": { "postinstall": "husky install" } }
// package.json { "private": false, // ← your package is public "scripts": { "postinstall": "husky install", "prepack": "pinst --disable", "postpack": "pinst --enable" } }
git hook으로 npm scripts를 다룰 때는 다음과 같이 할 수 있다.
// package.json
{
"husky": {
"hooks": {
"pre-commit": "npm test",
"pre-push": "npm test",
"...": "..."
}
}
}