728x90
Commit-msg를 지정해서 관리해보자
깃허브에 커밋컨벤션이 있는데,
허스키를이용하면 커밋 컨벤션이 맞지 않을 경우 커밋을 취소하게 만들어볼 수 있다.
npx husky add .husky/commit-msg 'yarn commitlint --edit $1'
터미널에 위 코드를 입력해도 되지만
직접 .husky 폴더에 commit-msg 파일을 만들어도된다.
#!/usr/bin/env sh
#.husky/_/commit-msg
. "$(dirname -- "$0")/_/husky.sh"
yarn commitlint --edit $1
패키지 설치
yarn add --dev @commitlint/config-conventional @commitlint/cli
위 코드를 이용하여 패키지를 설치하자
#.commitlintrc.json
{
"extends": ["@commitlint/config-conventional"],
}
위 Json파일을 만든 후, @commitlint/config-conventional 의 컨벤션을 따르겠다는 문구를 추가하자.
여기서! setting같은 경우는 위의 커밋컨벤션에 지정이 안되어있다.
원하는 컨벤션으로 지정해주기 위해선 rules를 추가해주면 된다.
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"type-enum": [
2,
"always",
["feat", "fix", "docs", "style", "refactor", "test", "revert", "setting"]
]
}
}
위 코드처럼 rules에 컨벤션을 추가하면 된다.
커밋 컨벤션이 지켜지지 않을 경우 아래처럼 에러를 뱉어 커밋이 찍히지 않을 것이다.
나는 여기서 처음에, .commitlintrc.config.ts 파일로 하였더니
Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser.
에 관한 에러가 떳다.
lint에서 js파일로 하라는 내용이다.
이 부분을 ts로 허용을 해주어야한다.
나는 json으로 변경을 해주었다.
728x90