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 プラグインが必要となる機能が、すべて組み込み済みです:
- インポートの並べ替え
- Tailwind CSS クラスの並べ替え
- package.json フィールドの並べ替え
- 埋め込みフォーマット(CSS-in-JS、GraphQL など)
Prettier互換性あり
Oxfmt は既存の Prettier ベースのワークフローに統合可能です。
oxfmt CLI はデフォルトで Prettier と同様の振る舞いをしますので、スクリプトやツールの変更を最小限に抑えながら導入できます。
Oxfmt は Prettier の JavaScript 形式設定を正確に再現しています。最近版の Prettier から移行する場合、形式の違いは発生しません。もし違いが見られる場合はバグとみなされます。
現在、Oxfmt は Prettier の JavaScript および TypeScript テストスイートの約 95% を通過しています。残りのケースは限定的なシナリオであり、時間とともにフォーマットの整合性を追求するために、Prettier チームと協力して改善を進めています。
追加の依存関係や設定は必要ありません。
はじめ方
oxfmt を開発依存関係としてインストールしてください:
pnpm add -D oxfmtpackage.json にスクリプトを追加します:
{
"scripts": {
"fmt": "oxfmt",
"fmt:check": "oxfmt --check"
}
}ファイルをフォーマットします:
pnpm run fmtファイルを書き込まずにフォーマットを確認します:
pnpm run fmt:check