git에서 remote 브랜치로 commit 이나 push 를 하기 전에 제약조건을 거는 hook 이다.
npm install husky --save-dev // 설치
npm set-script prepare "husky install" // 명령어 세팅
npm run prepare // 허스키가 다운로드 된다.
npx husky add .husky/pre-commit "npm test" // pre-commit 파일이 생성되고 npm test 명령어가 세팅된다.
새로 생성된 pre-commit 파일을 git add 하고 git commit 하면 npm test 가 실행된다.
1) 테스트가 에러나는 경우, commit 이 취소된다.
2) 테스트가 모두 통과하는 경우, commit 이 실행된다.
node ace build
eslint .
npm test
실제로 허스키를 사용할 때는 3개 명령어를 성공적으로 수행해야 push 가 가능하게 세팅했다.
eslint 치니까 아래 에러가 났다.
zsh: command not found: eslint
npm install -g eslint 쳐서 글로벌에 설치하니 잘 작동했다.