Git 워크플로우 개선을 위한 Husky 활용 가이드
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
개발 툴
대상자
프론트엔드 개발자, 특히 팀 협업 및 프로덕션 레벨 앱 개발에 관심 있는 개발자
핵심 요약
- Husky는
pre-commit
및pre-push
이벤트를 통해 코드 검증 자동화를 지원 - Next.js 환경에서
Prettier
,ESLint
,test
실행을 통해 코드 일관성 및 버그 방지 가능 lint-staged
설정을 통해 변경된 파일만 대상으로 linting & formatting 수행
섹션별 세부 요약
1. Husky의 주요 기능
- pre-commit 이벤트: 코드 커밋 전 linter 실행, Prettier 포맷팅, 테스트 수행
- pre-push 이벤트: 테스트 실행을 통해 프로덕션 코드 오류 방지
- 자동화된 검증 프로세스로 팀 협업 시 일관성 유지
2. Next.js 환경에서의 Husky 설정
- 설치 명령:
```bash
npm install --save-dev husky lint-staged prettier eslint
```
- Husky 초기화:
npx husky install
package.json
에 설정 추가:
```json
"lint-staged": {
"*.{js,jsx,ts,tsx}": ["eslint --fix", "prettier --write"]
}
```
pre-commit
스크립트 추가:npx husky add .husky/pre-commit "npx lint-staged"
3. 테스트 자동화 설정
pre-push
이벤트에 테스트 실행:
```bash
npx husky add .husky/pre-push "npm run test"
```
- 커밋 전 테스트 실행으로 코드 품질 보장
결론
- Husky는
linting
,formatting
,test
단계부터 시작해 점진적 확장 가능 - 자동화된 검증 프로세스를 통해 팀 협업 효율성 향상 및 코드 일관성 유지 가능
- Next.js 프로젝트에 적용 시
lint-staged
설정이 핵심이며, 테스트 자동화는pre-push
스크립트로 구현 가능