Git
prettier

Gitのコミットフックでprettierの強制フォーマットがかかるようにする

VSCodeのprettierフォーマッタが効かなくなってしまった。
prettierの公式ドキュメントを見ながら、Gitのコミットフックで矯正するようにする。

npm install --save-dev prettier lint-staged husky

で必要なものをインストール。

package.json に以下を追記。現状に合わせてうまく追記する。

  "scripts": {
    "precommit": "lint-staged"
  },
  "lint-staged": {
    "*.{js,json,css,md}": ["prettier --write --single-quote=true", "git add"]
  }

シングルクオートのオプションを付けて上書きするようにしてある。scripts プロパティとかは既にあったら差し込む。そしたら commit の度ステージにあるものをチェックしてくれる。

~/w/n-coin-bot (master) $ git commit -am "TEST: bad format"
husky > npm run -s precommit (node v8.9.4)

 ✔ Running tasks for *.{js,json,css,md}
[master 363326a] TEST: bad format

こんな感じ。これでOK。なお過去のものの全変換は。

find . -name \*.js | grep -v node_modules/ | grep -v public/ | xargs node_modules/.bin/prettier --write --single-quote=true

みたいなワンライナーでやると便利。