コミット前にhusky, lint-stagedでサニタイズするススメ

ESLint, TypeScript を使っているけれど、エラー、ワーニングが出たままコミットする事がままあります。勿論、そのまま開発を続けることもできますが、衛生上よくない気がし、husky, lint-staged を導入してみました。

チームで開発を行っている場合に一貫性を保つ、Lint エラーを放置したくない時に威力を発揮します。

導入の仕方

yarn add -D lint-staged@next husky

基本的な設定

package.json

"husky": {
  "hooks": {
    "pre-commit": "tsc && lint-staged" # typescriptのチェックが必要ない場合はlint-stagedのみ
  }
},
"lint-staged": {
  "*.{ts,tsx}": [ # jsの方は js,jsx
    "eslint --fix",
    "git add"
  ]
}

導入すると、ESLint と TypeScript のエラーが解決しない限りコミットできなくなってしまうので、大量にエラーがあるプロジェクトの場合は先に解決しておくのが吉です。

Happy Coding :)

comments powered by Disqus