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
を最終行に追加