Husky 와 commitlint 를 이용하여 커밋 메세지 포맷 제한하기
프로세스
- Husky 설치: Husky 를 설치한다.
- Husky 세팅: 필요한 커밋 전 명령어 및 커밋 검증 명령어 등을 세팅한다.
- 테스트: 세팅이 잘 되었는지 테스트한다.
Husky 설치
- 공식문서 중 get-started 에 나와있는대로 설치 후 초기화를 한다.
설치 명령어
npm install --save-dev husky
초기화 명령어
npx husky init
Husky 세팅
pre-commit
pre-commit
에서는 커밋 전 실행할 명령어에 대해 세팅할 수 있다.- 기본으로는
npm test
가 세팅되어 있다.
npm test
commit-msg
- 커밋 메세지를 검증할 룰을 세팅할 수 있다.
- 난 udacity rules 를 따르지 않는 커밋 메세지를 모두 차단하고 싶었다.
.husky
내부에 최초엔commit-msg
파일이 존재하지 않지만, 직접 생성하면 된다.
생성 이후 아래의 내용을 입력해준다.
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
npx --no-install commitlint --edit
commitlint 의존성을 이용할 것이다.
npm install @commitlint/config-conventional @commitlint/cli -D
프로젝트 루트에는 룰을 설정하는 .commitlintrc.json
파일을 생성한다.
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"type-enum": [
2,
"always",
[
"ci",
"chore",
"docs",
"ticket",
"feat",
"fix",
"perf",
"refactor",
"revert",
"style"
]
]
}
}
테스트
컨벤션을 따르지 않는 커밋 메세지를 입력했을 때
컨벤션을 따르는 커밋 메세지를 입력했을 때
컨벤션
레퍼런스
반응형
'NODEJS' 카테고리의 다른 글
RC 버전과 의존성 버전이 안 맞아서 의존성 설치가 되지 않을 때 (0) | 2022.07.02 |
---|