husky + lint-staged
17.4.1. 설치 및 설정
커밋 전 자동으로 린트와 포맷을 검증합니다.
bash
yarn add -D husky lint-staged
npx husky init17.4.2. .husky/pre-commit
bash
npx lint-staged17.4.3. lint-staged 설정
package.json에 다음을 추가합니다.
json
{
"lint-staged": {
"*.{ts,vue}": [
"eslint --fix",
"prettier --write"
],
"*.{json,md,yml,yaml}": [
"prettier --write"
]
}
}17.4.4. 동작 흐름
- 개발자가
git commit을 실행합니다. - husky가 pre-commit 훅을 트리거합니다.
- lint-staged가 스테이징된 파일에 대해서만 ESLint + Prettier를 실행합니다.
- 린트 오류가 있으면 커밋이 중단됩니다.
- 자동 수정된 파일은 스테이징에 다시 추가됩니다.
필수
husky + lint-staged 설정은 모든 프로젝트에 필수입니다. 이 설정 없이는 TQS 인증을 통과할 수 없습니다.
17.4.5. CI 환경 고려사항
- CI 환경에서는 husky가 자동으로 비활성화됩니다 (
HUSKY=0또는CI=true). - CI에서는 별도로
yarn lint와yarn format:check를 실행하여 코드 품질을 검증합니다.
bash
# CI 파이프라인 스크립트 예시
yarn lint
yarn format:check # prettier --check