なっく日報

技術やら生活やらのメモ

JSを自動整形してくれるesformatterについて

github.com

についてのメモです。

何か?

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なら、細かく設定することで、既存のプロジェクトにも必要な項目だけ適用できるはず。

ちゃんと使って、開発時にコーディングスタイルで無駄に悩まないようにしていきましょう。