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が実行されます