JSを自動整形してくれるesformatterについて
についてのメモです。
何か?
JSを自動整形してくれるライブラリ(CLI付き)
JSのgofmt的なjsfmt GitHub - rdio/jsfmt: For formatting, searching, and rewriting JavaScript. もesformatterに依存しています。
使い方
esformatter -i hoge.js
で自動整形してくれます。
設定は直近の.esformatter
ファイル(JSON形式)を読みにいきます。
他にもフォーマッタがあるけど違いは?
細かくカスタマイズ可能、espreeを使っているためES6対応も進んでいる、プラグインが多数・・・といったところでしょうか。
プラグイン?
この辺にあります。
https://github.com/millermedeiros/esformatter/wiki/Plugins
JSX用プラグインとか、いいですね。
設定例
基本は、本家の
https://github.com/millermedeiros/esformatter/blob/master/lib/preset/default.json
を参考にするとよいでしょう。
https://github.com/maxogden/standard-format/blob/master/rc/esformatter.json
や
https://github.com/royriojas/esbeautifier/blob/master/configs/esformatter.json
のリポジトリも、pluginsの設定例が細かいので参考になります。
ベストプラクティス
ラップして、GitHub - maxogden/standard-format: converts your code into Standard JavaScript Format みたいにオレオレフォーマッタとしてCLI化するのが良さそうです。
まとめ
esformatterなら、細かく設定することで、既存のプロジェクトにも必要な項目だけ適用できるはず。
ちゃんと使って、開発時にコーディングスタイルで無駄に悩まないようにしていきましょう。