[Node.js] husky + lint-staged で git commit 前に Lint を実行する

Tadashi Shigeoka ·  Tue, March 24, 2020

husky + lint-staged で git pre-commit 時に Lint を実行するサンプルコードをご紹介します。

npm

背景 Lint 忘れを防止したい

git commit する前に lint や prettier を実行し忘れることがたまにあるのですが、husky と lint-staged を導入すればこれを防ぐことができます。

husky

husky は git pre-commit や pre-push に追加したい設定を package.json に定義することができる npm package です。

lint-staged

lint-staged は git stage 環境にあるファイルに linter を実行する npm パッケージです。

husky, lint-staged のインストール・初期設定

以下のコマンドを実行するだけで husky, lint-staged のインストールと初期設定まで全ておこなってくれます。

npx mrm lint-staged

サンプルコードは以下の GitHub Pull Request に公開していますので、ぜひご覧ください。

? Install the husky and lint-staged packages and setup them. · Pull Request #29 · codenote-net/expressjs-sandbox

以上、husky + lint-staged で git pre-commit 時に Lint を実行したい、現場からお送りしました。