setup-pre-commit は何をしますか?
現在のリポジトリにHuskyプリコミットフックとlint-staged(Prettier)、型チェック、テストを設定します。プリコミットフックの追加、Huskyのセットアップ、lint-stagedの設定、コミット時のフォーマット/型チェック/テストを行いたい場合に使用します。
手順
- 必要な依存関係をインストールします:
npm install --save-dev husky lint-staged prettier
- Huskyを初期化します:
npx husky init
.husky/pre-commitフックファイルを編集して、以下の内容に置き換えます:
npx lint-staged
package.jsonにlint-staged設定を追加します:
{
"lint-staged": {
"*.{js,jsx,ts,tsx,json,css,md}": [
"prettier --write"
]
}
}
- 必要に応じて、
package.jsonにtypecheckとtestスクリプトを追加します(まだない場合):
{
"scripts": {
"typecheck": "tsc --noEmit",
"test": "jest"
}
}
.husky/pre-commitフックファイルを更新して、型チェックとテストも実行するようにします:
npx lint-staged
npm run typecheck
npm run test
注意事項
- この設定は、プロジェクトで既にTypeScript(
tsconfig.json)とテストランナー(Jest、Vitestなど)が設定されていることを前提としています。 - お使いのテストランナーに合わせて、
npm run testコマンドを適宜調整してください。 - 必要に応じて、
lint-stagedの設定でより多くのファイルパターンやコマンドを追加できます。