만족
[Nodejs] husky 를 이용한 Githook 추가 본문
[Nodejs] husky 를 이용한 Githook 추가
Nodejs Satisfaction 2022. 5. 23. 02:28
그렇다면 이 스크립트를 커밋 전 실행해서 안전한 코드일때만 허가할 수는 없을까?
https://www.npmjs.com/package/husky
husky
허스키를 사용하면 githooks 스펙을 손쉽게 사용할 수 있다.
https://git-scm.com/docs/githooks
이 포스트에서는 pre-commit 을 활용해 커밋 전 eslint, test 를 실행해서 올바른 코드인지를 살펴보기로 한다.
설치
npm install husky --save-dev
npx husky install
npm set-script prepare "husky install"
githook(pre-commit) 설정
npx husky add .husky/pre-commit "여기에 커맨드를 입력하세요"
여기까지 하면 매 커밋마다 설정한 커맨드가 실행된다.
수정하려면 .husky/pre-commit 으로 가면 된다.
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"
yarn test && yarn lint
내 경우에는 commit 전에 test와 lint를 하도록 설정했다.
// package.json
{
"scripts": {
"prepare": "husky install",
"test": "jest",
"lint": "yarn eslint .",
},
}
이렇게 하면 test나 lint 둘 중 하나라도 실패할 경우 commit이 abort된다.
git add *
git commit -m 'add pre-commit githook'
실제로 커밋해보면 아까 설정한 두 명령이 실행되고 그 결과에 따라 커밋 가능 여부가 결정되는 것을 알 수 있다.
'Nodejs' 카테고리의 다른 글
[Nodejs] pm2로 nodejs 데몬 프로세스 관리하기 (0) | 2023.03.13 |
---|---|
[Nodejs] 커맨드 동시 실행으로 커밋 검사 속도 향상 (0) | 2023.01.22 |
[Nodejs] jest를 이용한 테스트 코드 작성 (0) | 2022.05.23 |
[Nodejs] 실행 중인 nodejs 프로세스의 상세 정보 확인하기 (0) | 2022.05.16 |
[Nodejs] eslint를 이용한 코드 문법/규칙 검사 (0) | 2022.05.11 |
Comments