husky と lint-staged の設定をした
husky と lint-staged の設定をしたのでメモ。
husky v7とlint-stagedでコミット時にリント実行 – rinoguchi's techlog
- これを読むとだいたい分かる感じ
husky のバージョンが v7 どころか v8 に
- Releases · typicode/husky
- v6 が 2021/03 に出て、そこから v7 が 2021/07 に出るまでわずか 4 ヶ月
- 2022/05 に v8 が出てる
初期設定の便利コマンド
- npx mrm@2 lint-stagedすると、 husky と lint-staged でいい感じに初期設定ができるっぽい
- sapegin/mrm: Codemods for your project config files
- いろんな便利初期設定をいい感じにやってくれるくんっぽい
 
- これだと "husky": ">=6"と"lint-staged": ">=10"なので若干古いけど、インストールされるバージョンは yarn.lock を見たらちゃんと最新だった
初期設定から特に変更しなくてもいい感じに動作してそう
- package.jsonに追加された lint-staged の設定だけでわりといい感じに動作しているっぽい- eslint --cache --fixが走っている
- cache オプションは前回の lint をキャッシュして次の変更の lint に対して便利に扱うものらしく、速度アップにつながるみたい
- .eslintcache は .gitignore に足しておく
 
初期設定のままだと自分で設定した ESLint / Prettier の設定で動かせない
- ここが難しそうなところ
- と思いきや npm scripts で lint と format を作ってそれを叩くだけといえばそれで終わりという感じ
- ESLint と Prettier の組み合わせは以下の記事を参照
- eslintとprettierの組み合わせ
- eslint-config-prettierを導入し、 .eslintrc.js の extends で- prettierを最終行に追加