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