husky

·2022년 7월 26일
0

여러 명이 협업하여 개발할 때 하나의 일관된 코딩 스타일에 따라서 코드가 작성되는 것은 중요하다. 여러 명의 개발자가 각자 스타일로 코딩을 하게 되면 로직을 알아보기 힘들고 만약 a 개발자가 만든 로직을 b 개발자가 수정해야 될 때도 어려움을 겪게 되기 때문이다. 하지만 이러한 것들을 개발자가 일일이 신경 써 주기에는 50명이 된다면 50명이서 단체로 맞춰야 되는 상황이 오기 때문에 코딩 스타일 맞추는 것을 도와주는 도구들이 생기게 되었다.

node.js 개발 환경에서는 저번 포스팅에 올렸던 것과 같이 린터와 프리티어가 유용하게 쓰이고 있다. 하지만 오늘은 또 다른 도구인 husky를 소개해 보고자 한다!!


husky는 node.js 개발 환경에서 git hook을 사용하기 편리하게 만들어 주는 도구이다.

간혹 개발자들이 git에 업로드를 할 때 코드 스타일을 적용하지 않고 업로드하는 경우도 있다. 하지만 husky를 사용하면 git hook을 통해 커밋을 할 때 자동으로 format과 lint 스크립트를 실행해서 코드 스타일을 맞춰 줄 수 있다.

린터나 프리티어는 개발자가 직접 적용해서 사용해 주거나 NestJS를 설치해서 자동으로 설정되게 하는 방법이 있는데 그렇다면 husky의 사용 방법은 무엇일까?

yarn add -D husky

개발 환경에 yarn add를 통해 husky를 설치하고 package.json 파일에 prepare라는 스크립트를 추가하고 실행한다.

이렇게 husky 설치가 완료되었으면

npx husky add .husky/pre-commit "yarn test"
git add .husky/pre-commit

git hook을 추가해 주면 된다. 위 명령어는 단위 테스트를 실행하는 스크립트이다.

git에서 커밋을 하기 이전에 강제적으로 실행하고 싶은 스크립트를 넣어서 구성해 주면

npx husky add .husky/pre-commit "yarn run format && yarn run lint"
git add .husky/pre-commit

이렇게도 명령을 할 수 있다. 이제 커밋을 하면 자동으로 format과 lint 스크립트를 실행해서 코드 스타일을 맞춰 줄 수 있게 되는 것이다.


husky를 알기 전까지는 프리티어나 린터가 가장 편리하다고 생각했는데 Husky 자체가 린터 그리고 프리티어와도 연관이 있고 git hook 사용을 도와주기 때문에 이런 도구들을 엮어서 구현해 보기도 하며 공부해야겠다는 생각이 들었다.

profile
파워블로거입니다 주인이 힘이 센 건 아니고 그냥 하고 싶습니다

0개의 댓글