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