[Husky] Git hook library Husky 사용

설치

npm install husky --save-dev

// package.json
{
  "husky": {
    "hooks": {
      "pre-commit": "npm test",
      "pre-push": "npm test",
      "...": "..."
    }
  }
}

vue-cli로 프로젝트를 만든 후에 lint를 설치하고 commit 전에 lint를 실행하도록 설정해보았습니다.

// package.json
{
 "scripts": {
   "serve": "vue-cli-service serve",
   "build": "vue-cli-service build",
   "lint": "vue-cli-service lint"
 },
  "husky": {
    "hooks": {
      "pre-commit": "npm run lint"
    }
  }
}

lint를 고치지 않은 채로 commit을 했더니, 예상대로 commit이 막혔습니다.

image

lint를 고치고 commit을 하니, 정상적으로 통과되었습니다!

image

Githook list Githook list안에 있는 hook들을 지원한다고 합니다. 저는 pre-commit과 pre-merge-commit hook에 lint를 적용시키고자 합니다. 실제로 작업할 때 merge하는 단계에서 코드가 꼬여버리는 걸 제때 찾지 못해서 이슈가 생기는 경우가 많았기 때문입니다.

참고문서


Written by@Donghoon Song
사람들의 꿈을 이어주는 코멘토에서 일하고 있습니다.

InstagramGitHubTwitterLinkedIn