husky : 오류가 있는 코드는 commit이 되지 않도록 세팅해주는 도구이다.
$ npm install husky --save-dev
이렇게 해놓으면 커밋을 할 때 위와 같은 명령어를 실행하고, 자동으로 고쳐지지 않으면, 커밋을 취소하게 한다.
여기서 eslint . --fix 를 통해 현재 디렉토리에 있는 모든 코드를 eslint를 통해서 수정한다.
이 작업이 끝나면, prettier --write 를 통해 prettier 규칙을 적용하고 코드를 수정하게 된다.
하지만 위에서 말한 것 처럼 현재 디렉토리에 있는 모든 코드를 검사하는 낭비가 생기게 된다.
그래서 staged 된 코드만 검사하도록 하는 도구가 lint-staged 모듈이다.
$ npm install lint-staged --save-dev
이렇게 최상위 디렉토리의 package.json 파일을 수정하여 husky와 lint-staged 모듈을 세팅해준다.
이를 git-hook
이라고 부른다. git hook은 git 과 관련된 어떠한 이벤트가 일어날때 실행시키는 스크립트를 말한다.
프로젝트를 진행하면서 다른 git hook도 세팅을 해봐야겠다.