Oxc とは?
/oʊ ɛks siː/
Oxidation Compiler(Oxc)は、Rust で書かれた JavaScript と TypeScript 向けの高性能ツール群です。
Oxc は VoidZero が目指す、JavaScript 向け統合・高性能ツールチェーンの一部です。Rolldown(Vite の将来のバンドラー)を支え、連携して動く次世代の超高速開発ツールを可能にします。
* Oxidation(酸化)は、錆が生まれる化学反応のことです
スタック全体で最速のツールング
Oxc はツールチェーン全体のパフォーマンスにフォーカします。パース、モジュール解決、リント、フォーマット、変換、圧縮などが対象です。
哲学
Oxc は次の考え方を中心に構築されています。
パフォーマンスも製品機能
Oxc は速度を製品要件として扱います。高速なツールはローカルのフィードバックループを改善し、CI コストも下げます。パフォーマンスの後退はバグとして扱います。
ひとつのツールチェーン、共有ビルディングブロック
Oxc はスイートです。リント、フォーマット、パーサ、トランスフォーマ、ミニファイ、リゾルバなどは共有コンポーネントの上にあります。重複実装が減り、スタック全体で挙動が揃いやすくなります。
明確な境界のもとの正しさ
Oxc は正しく予測可能であることを目指します。他ツールと挙動が異なる場合は、その差分は文書化されるべきです。互換性は偶然ではなく機能です。
実践的な開発者体験
Oxc は実プロジェクトで使えるワークフローに重点を置きます。デフォルトは妥当で、設定は理解しやすく、出力は安定しているべきです。
含まれるもの
Oxc にはエンドユーザー向けツールと、再利用可能なコンパイラ部品があります。
- Oxlint は JavaScript / TypeScript 向けの最速リンターです。ESLint エコシステムとの互換を目指しています。
- Oxfmt は最速のフォーマッタです。Prettier 互換の整形を目指しています。
- Parser はツール向け AST 付きの最速 JS/TS パーサです。
- Transformer は TS・JSX・モダン JS の最速変換を提供します。
- Minifier は本番出力向けの最速ミニファイアです。
- Resolver は JS/TS プロジェクト向けの最速モジュールリゾルバです。
各ツールは単独でも、ひとつのツールチェーンとしてまとめて使うこともできます。
こんな方向け
- ローカルや CI で最速のリント・フォーマットループが欲しいアプリ/ライブラリ開発者
- スケールで高速なコンパイラ級基盤が欲しいツールチェーン/プラットフォームチーム
- JS ツール向けに高速な再利用クレートや npm パッケージが欲しいツール作者