Skip to content

husky + lint-staged

17.4.1. 설치 및 설정

커밋 전 자동으로 린트와 포맷을 검증합니다.

bash
yarn add -D husky lint-staged
npx husky init

17.4.2. .husky/pre-commit

bash
npx lint-staged

17.4.3. lint-staged 설정

package.json에 다음을 추가합니다.

json
{
  "lint-staged": {
    "*.{ts,vue}": [
      "eslint --fix",
      "prettier --write"
    ],
    "*.{json,md,yml,yaml}": [
      "prettier --write"
    ]
  }
}

17.4.4. 동작 흐름

  1. 개발자가 git commit을 실행합니다.
  2. husky가 pre-commit 훅을 트리거합니다.
  3. lint-staged가 스테이징된 파일에 대해서만 ESLint + Prettier를 실행합니다.
  4. 린트 오류가 있으면 커밋이 중단됩니다.
  5. 자동 수정된 파일은 스테이징에 다시 추가됩니다.

필수

husky + lint-staged 설정은 모든 프로젝트에 필수입니다. 이 설정 없이는 TQS 인증을 통과할 수 없습니다.


17.4.5. CI 환경 고려사항

  • CI 환경에서는 husky가 자동으로 비활성화됩니다 (HUSKY=0 또는 CI=true).
  • CI에서는 별도로 yarn lintyarn format:check를 실행하여 코드 품질을 검증합니다.
bash
# CI 파이프라인 스크립트 예시
yarn lint
yarn format:check  # prettier --check

TIENIPIA QUALIFIED STANDARD