Skip to content

Oxfmt

Oxfmt (/oʊ-ɛks-fɔːr-mæt/) は、JavaScript エコシステム向けの高性能フォーマッタです。

対応言語

JavaScript、JSX、TypeScript、TSX、JSON、JSONC、JSON5、YAML、TOML、HTML、Angular、Vue、CSS、SCSS、Less、Markdown、MDX、GraphQL、Ember、Handlebars

大規模開発に最適化

Oxfmt は大規模なコードベースおよび CI 環境を想定しており、高いスループットと予測可能なパフォーマンスに重点を置いています。

これは、Oxc コンパイラスタックに基づいて構築されており、既存のフォーマッタ実装で一般的なアーキテクチャ上のボトルネックを回避しています。

私たちの ベンチマーク によると、Oxfmt は Prettier より約 30 倍、Biome より約 2 倍速いです。

標準機能搭載

通常は外部の Prettier プラグインが必要となる機能が、すべて組み込み済みです:

Prettier互換性あり

Oxfmt は既存の Prettier ベースのワークフローに統合可能です。

oxfmt CLI はデフォルトで Prettier と同様の振る舞いをしますので、スクリプトやツールの変更を最小限に抑えながら導入できます。

Oxfmt は Prettier の JavaScript 形式設定を正確に再現しています。最近版の Prettier から移行する場合、形式の違いは発生しません。もし違いが見られる場合はバグとみなされます。

現在、Oxfmt は Prettier の JavaScript および TypeScript テストスイートの約 95% を通過しています。残りのケースは限定的なシナリオであり、時間とともにフォーマットの整合性を追求するために、Prettier チームと協力して改善を進めています。

追加の依存関係や設定は必要ありません。

はじめ方

oxfmt を開発依存関係としてインストールしてください:

sh
pnpm add -D oxfmt

package.json にスクリプトを追加します:

package.json
json
{
  "scripts": {
    "fmt": "oxfmt",
    "fmt:check": "oxfmt --check"
  }
}

ファイルをフォーマットします:

sh
pnpm run fmt

ファイルを書き込まずにフォーマットを確認します:

sh
pnpm run fmt:check

次のステップ:

参照