Code Lab 🤔

📱

ReactNativeの開発環境メモ3 - husky & lint-staged編

reactnative

husky

lint-staged

公開:

husky & lint-stagedについて

プラグイン名説明
huskygitのコミットやpushにフックしてlintなどを走らせるプラグイン
lint-stagedlintを強制的に行って、エラーなどがあれば弾いてくれる。

huskycommitを検知してlint-stagedlintを強制的に走らせ、エラーがあれば弾く これで、バグになり得る元から排除できるよねーという試み。

husky & lint-staged追加

$ yarn add -D husky lint-staged

huskyの導入

$ npx husky-init && yarn

↑これ実行でおわり

↓参考

lint-stagedの導入

package.jsonに追記

  "lint-staged": {
    "*.{js,jsx,ts,tsx,json,md}": [
      "eslint --fix './src/**/*.{js,ts,tsx}'",
      "prettier --write './src/**/*.{js,ts,tsx}'"
    ]
  }

これでyarn lint-stagedで実行されます。

.husky/pre-commit を修正

husky の導入時に生成された .husky/pre-commit を下記に変更

#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

yarn lint-staged

おわり

これで、git commit時にeslintprettierが実行されます