Open5
husky で pre-commit 時に自動で Lint を実行する
husky は commit や、push 前にテストを自動で実行してくれます。
husky のライセンスについて、オープンソースプロジェクトやスポンサーであれば最新(2020/12/12 現在)の v5 を利用できます。v4 は商用プロジェクトを無料で利用できます。
husky は下記のコマンドでインストールします。
$ npm install husky --save-dev
package.json に husky の設定を記述できます。
package.json
"husky": {
"hooks": {
"pre-commit": "npm test"
}
}
lint-staged と組み合わせることで pre-commit 時に自動で Lint を実行してくれます。lint-staged は Git のステージングエリアにあるファイルを対象に Lint を実行します。
lint-staged は下記のコマンドでインストールします。
$ npm install lint-staged --save-dev
husky と lint-staged を組み合わせる場合、package.json の設定は以下の通りになります。
package.json
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"*.js": "eslint --fix"
}