LoginSignup
17
11

More than 3 years have passed since last update.

huskyを使ってgit hookを楽に扱う

Last updated at Posted at 2020-02-20

前提

  • Node.js限定です
  • prettier, eslintは導入済みとする
  • gitコマンドを使わないと走らないので注意
    SorceTreeでcommitしたら動きました

やること

pre-commitでprettier --write,eslint --fix,jestを走らせる。

方法

huskyを入れてpackage.jsonにちょろっと書いて終わり。便利。

huskyとlint-stagedをインストール

~$ npm i -D husky lint-staged

package.json編集

nameやversionと同階層に以下を追加。対象コードが格納されてるディレクトリは環境に合わせて修正。

"husky": {
  "hooks": {
    "pre-commit": "lint-staged; jest"
  }
},
"lint-staged": {
  "*.{js,jsx}": [
    "prettier --write './src/**/*.js'",
    "prettier --write './__tests__/**/*.js'",
    "eslint --fix './src/**/*.js'",
    "eslint --fix './__tests__/**/*.js'"
  ]
}

おわり

後は適当に編集してgit add -Aしてgit commitすればlint-stagedに書いた内容が実行されてからjestが実行されます。
sh書かなくても良いのは楽ですね。ReactやVue.js環境でももちろん動きます。
VSCode環境ならprettierもeslintもAutoSaveで走らせればあまり必要はない気もしますが。

17
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
11