リファレンス
CLI
terminalやCIからHTML+ERB fileをformat、check、lintします。
使い方
erbfmt [OPTIONS] [FILE_OR_DIRECTORY]...
erbfmt init [--force]
format、check、lintには1つ以上のfileまたはdirectory pathが必要です。現在は標準入力に対応していません。単一fileはすべてのmodeを利用でき、複数fileやdirectory指定には --write、--check、--lintのいずれかが必要です。
directory指定は再帰的に探索されます。見つかったfileは files.includes で絞られます。files.includes がない場合、再帰探索では *.html.erb fileを対象にします。shellのglob展開でも複数pathを渡せます。
erbfmt --write app/views/**/*.html.erb
project内のdirectoryをまとめて処理する場合はdirectoryを直接渡せます。
erbfmt --write app/views
erbfmt --check app/views
erbfmt --lint app/views
モード
erbfmt FILE1つのfileをformatし、source fileを変更せず結果を標準出力へ表示します。
--write各fileをformatして上書きします。成功するとfileごとに確認messageを表示します。
--checkfileを書き換えず、formatによる変更が必要か確認します。未formatのfileが1つでもあると失敗します。
--lintformatせずlint diagnosticsを実行します。errorがある場合は失敗し、warningだけの場合は成功します。diagnosticsはデフォルトで人間向けの
prettyformatを使います。
--write、--check、--lintは同時に指定できません。
オプション
--config PATH指定した
erbfmt.jsonを使います。指定しない場合はcurrent directoryから親directoryへ向かって検索し、見つからなければbuilt-in defaultを使います。--lint-format pretty|plain|jsonlint diagnosticの表示形式を指定します。defaultの
prettyはseverity、source excerpt、caret、summaryを表示します。plainはcompactなfile: message at line, column形式を保ちます。jsonはAI agent、script、editor integration向けに、fileごとに機械可読なJSON objectを出力します。-h, --helpcommand helpを表示して終了します。
-V, --versioninstallされているerbfmtのversionを表示して終了します。
formatterとlinterの全項目は設定リファレンスを参照してください。
初期化
current directoryにdefaultの erbfmt.jsonを作成します。
erbfmt init
既存fileは自動的に置き換えません。明示的に上書きする場合は次を実行します。
erbfmt init --force
終了ステータス
0formatまたはwriteが完了した、すべてのcheck対象がformat済みだった、またはlintでerrorが見つからなかった場合です。
1未formatのfile、lint error、file path不足、file/configの読み込みやparse失敗などが発生した場合です。
2無効なoptionを指定した、または同時に使えないmode flagを組み合わせた場合です。
CIでの例
erbfmt --check app/views/**/*.html.erb
erbfmt --lint app/views/**/*.html.erb