背景
#569(PR #672)で ESLint + react/button-has-type を導入し、CI(test.yml の test job)で enforce する仕組みを整えた。一方 lint-staged(pre-commit)は現状 Prettier のみ で ESLint 未連携のため、button type 漏れの検出は push 後の CI まで待つ必要がある。
PR #672 のレビューで任意フォローアップとして言及された項目を issue 化したもの。CLAUDE.md §2 でも npm run lint は「コミット前推奨」と記載済み。
スコープ
package.json の lint-staged 設定に、staged な *.{tsx,jsx} に対して eslint を走らせるエントリを追加する。
- 現状:
"*.{js,ts,tsx,jsx,css,md,json,astro}": "prettier --write"
- 追加案(例):
"*.{tsx,jsx}": ["eslint --max-warnings=0", "prettier --write"] など。Prettier との実行順序・重複(tsx/jsx が両エントリに該当)に注意。
- pre-commit で
react/button-has-type 違反が 実際に commit を止める ことを確認(陽性対照)。
--fix を自動付与するか、検出のみに留めるかを判断(自動修正は意図しない変更を commit に混ぜるリスクがあるため、検出のみ+手動修正を推奨)。
受け入れ基準
関連
注: pre-commit はあくまで開発者体験の前倒しであり、最終ゲートは CI(#672 で導入済み)。本 issue は P2(任意改善)。
背景
#569(PR #672)で ESLint +
react/button-has-typeを導入し、CI(test.ymlの test job)で enforce する仕組みを整えた。一方lint-staged(pre-commit)は現状 Prettier のみ で ESLint 未連携のため、button type 漏れの検出は push 後の CI まで待つ必要がある。PR #672 のレビューで任意フォローアップとして言及された項目を issue 化したもの。CLAUDE.md §2 でも
npm run lintは「コミット前推奨」と記載済み。スコープ
package.jsonのlint-staged設定に、staged な*.{tsx,jsx}に対してeslintを走らせるエントリを追加する。"*.{js,ts,tsx,jsx,css,md,json,astro}": "prettier --write""*.{tsx,jsx}": ["eslint --max-warnings=0", "prettier --write"]など。Prettier との実行順序・重複(tsx/jsx が両エントリに該当)に注意。react/button-has-type違反が 実際に commit を止める ことを確認(陽性対照)。--fixを自動付与するか、検出のみに留めるかを判断(自動修正は意図しない変更を commit に混ぜるリスクがあるため、検出のみ+手動修正を推奨)。受け入れ基準
.tsxに type 無し button があると pre-commit が fail する(陽性対照で確認)関連