husky 환경 설정 가이드

  1. husky 및 관련 모듈 설치 yarn add --dev husky yarn add --dev pinst
  2. package.json에 해당 부분 추가
{
  "scripts": {
    "postinstall": "husky",
  }
}
  1. yarn run postinstall // .husky 폴더 생성됨
  2. .husky 폴더에 pre-commit 파일 생성 및 해당 파일에 커밋 전에 수행될 셸 스크립트 코드 작성 예) echo hello world.
  3. 응용하여 ./husky 폴더에 pre-push 파일을 만들어 다음과 같은 동작을 수행시킬 수 있다. - push하려는 브랜치가 메인 브랜치일 경우, 즉 메인에 직접 푸시하려는 경우 해당 동작을 취소함.
BRANCH_NAME=$(git rev-parse --abbrev-ref HEAD)

if [ "$BRANCH_NAME" = "main" ]; then
    echo "You can't push directly to master branch."
    exit 1
fi

추신. 협업 관리 도구로서도 좋은 라이브러리지만, testing library를 같이 사용하였을 때 더 요긴하게 쓸 수 있는 라이브러리이지 않을까 생각이 듦. 예를 들어 pre-push 파일에 yarn test를 추가하면 테스트를 수행하여 문제가 있을 시 push를 중단할 수 있음.