Open4

huskyでコード品質を上げる

takaha4ktakaha4k

huskyを導入することでGitコミット時に自動でコマンドを実行してくれるみたいです。
したがって、gitコミット前に実行しておくべきことのヌケモレなくせます。
例えば、リンターチェック、フォーマッター実行、テスト実行などです。

早速、公式ドキュメントを読む。

推奨方法のインストールを試す。

npm i -D husky lint-staged
npx husky-init && npm install

Need to install the following packages:
  husky-init
Ok to proceed? (y) y
# yと答える

prepareコマンドが追記されている

package.json
    "prepare": "husky install"

新しいファイルが追加されている

.husky/pre-commit
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm test

なるほど。コミット前にテストが走る

takaha4ktakaha4k

lint-stagedと組み合わせて利用して方が良い。
-Dオプションを付け直して、再インストールする

npm i -D husky lint-staged
takaha4ktakaha4k

lint-stagedのコマンドを追加

package.json
  "scripts": {
…
    "lint-staged": "eslint --fix './{lib,src,test}/**/*.{ts,tsx}' && prettier --write './{lib,src,test}/**/*.{ts,tsx}'",
…

pre-commitを修正

.husky/pre-commit
#!/usr/bin/env sh
. "$(dirname -- "$0")/_/husky.sh"

npm run lint-staged

takaha4ktakaha4k

git commit時に自動でリンターとフォーマッターが実行されるようになった