-
Notifications
You must be signed in to change notification settings - Fork 4
Husky를 이용한 코딩 컨벤션 관리
Changhee Choi edited this page Oct 30, 2020
·
6 revisions
-
Husky는 Git Hooks를 쉽게 적용할 수 있는 npm 모듈이다. -
Git Hooks는 Git과 관련한 어떠한 이벤트가 발생했을 때, 특정 스크립트를 실행하는 기능이다.- 예시)
- pre-commit: 커밋 이벤트가 실행되기 전 단계에서 실행된다.
- pre-push: push 이벤트가 실행되기 전 단계에서 실행된다.
- 프로젝트에 .git/hooks 디렉토리를 보면 샘플을 볼 수 있다.
- 예시)
Git Hooks 를 설정하는 스크립트 공유하는 방식과,
Git Template 활용하는 방식은 Git Hooks 를 공유하는 방법 중 가장 단순한 접근이지만 작업자는 git clone 후에 반드시 세팅하는 스크립트를 실행하거나 옵션을 지정해주어야 한다.
만일 실수로 (혹은 고의로) 이 과정을 실행하지 않으면 훅을 적용할 수 없다.
- Husky는 패키지를 설치하면 내부적으로 구현된 Git Hooks 를
.git/hooks디렉토리에 쓴다.- 실제로 husky 를 설치한 뒤
.git/hooks디렉토리 안를 살펴보면 hooks 가 설정돼 있다.
- 실제로 husky 를 설치한 뒤
- 각 hooks 는
.git/hooks/husky.sh를 실행하며, husky.sh 는 package.json, .huskyrc 등에 정의한 훅을 husky 모듈로 실행한다.
-
pre-commit hook에서 커밋하고자 하는 파일이 코딩 컨벤션을 제대로 지켜서 코딩되었는지 미리 확인하고 잘못된 커밋을 방지할 수 있다.
-
git commit명령어를 실행하면, husky가 pre-commit으로 스크립트를 실행하여 다음의 과정을 거친다.prettier —write // prettier는 소스 코드가 eslint 규칙에 맞도록 포맷팅을 해준다. eslint —fix // 소스 코드에 문제가 있는지 검사를 해주고, 자동으로 문제를 해결해준다.- eslint가 검사하는 파일에서 규칙에 어긋난 것이 있다면, husky가 문제점을 알려주고, 커밋은 될 수 없다.
1️⃣ Week1
목표
데일리스크럼
회의
회고
2️⃣ Week2
목표
데일리스크럼
회의
회고
2️⃣ Week3
목표
데일리스크럼
회의
회고


