husky는
git hook
에 따라서 원하는 동작을 하게 도와주는package
이다.
git Hook
git add
혹은git commit
git push
가 시행 되기전, 후에 원하는 스크립트르 실행 시켜준다.
husky는 개발자가 eslint나 prettier같은 코드스타일을 강제하는 도구를 통해서도 잡아내지 못한 오류나 실수로 적용하지 못한채 올릴때 hook을통해서 커밋직전에 linting을 하는것을 도와준다
npx husky-init && yarn
yarn add --dev husky
설치후에는 .husky
라는 폴더가 root
에 생기는데
기존 package.json
에 설정하던 내용이 앞으로는 여기에 추가된다.
그후, package.json에 추가한다
{
....,
"scripts": {
....
"prepare" : "husky install"
},
....
}
commit 전에 eslint를 확인하는 hook이다.
{
....,
"scripts": {
....
"lint-fix" : "eslint '**/*.{js}' --ext .js --fix"
},
....
}
그후 pre-commit 훅에 추가한다.
`npx husky add .husky/precommit 'yarn lint-fix'
.husky 디렉토리에 pre-commit파일이 생성된다.
아직 CI/CD단계까지 가지 않았지만 추후, CI/CD에는 lint는 필수이므로 husky를통한 hook관리로 commit전에 검사하는게 중요할거같다,