Husky - git hook 적용하기

0
eslint --fix

우리는 코드 스타일을 일관성 있게 유지하고 흔히 발생하는 실수나 잠재적인 오류를 사전에 감지하기 위해 eslint를 사용한다. 하지만 lint fix가 되지 않거나 오류가 있는 코드가 올라와 develop에 merge되는 것을 막기위해 commit과 push에 정책을 적용하기로 하였다. 우리는 그 가장 유명한 Husky를 이용하기로 했다.

npm install --save-dev husky

개발용이므로 dev Dependencies로 husky를 설치해주자.

npx husky install

위 명령어를 입력하면 .husky 폴더가 루트에 생기게 된다.

npx husky add .husky/pre-commit "eslint --fix './src/**/*.{ts,tsx,js,jsx}'"

commit을 하기전에 src 밑에 존재하는 모든 js/ts 파일에 대해 lint에 맞게 수정하고 싶다면 위 처럼 pre-commit을 husky파일에 등록하면 된다.

pre-로 시작하는 스크립트는 뒤에 오는 스크립트 명과 일치하는 스크립트 실행 전에 실행,

post-로 시작하는 스크립트는 그 뒤에오는 스크립트 명과 일치하는 스크립트 실행 후에 실행된다.

위 처럼 적용하고 commit을 하려했을 때, eslint에러가 나면 에러가 발생하고 commit이 실행되지 않게된다.

lint error를 fix하고 다시 commit을 할때는 정상 commit이 되는 것을 확인할 수 있다.


husky 권한 부여

가끔 이렇게 권한이 없다는 경우가 나오는데


 chmod ug+x .husky/pre-commit
 chmod ug+x .husky/pre-push  

chmod 명령어를 통해 권한을 부여해주면 된다.

profile
https://www.youtube.com/watch?v=__9qLP846JE

0개의 댓글