このプロジェクトについて

Oxc for Rubyは、RustベースのOxcコンパイラをパッケージ化したgemで、Ruby開発者にJavaScriptおよびTypeScript向けの高性能ツール群を提供します。Rubyから直接JavaScriptのパース、変換、ミニファイが可能で、JavaScriptランタイムが不要です。 主な機能は以下の通りです: - **ミニファイ**:設定可能なオプションでJavaScriptを圧縮・マングルします。 - **変換**:TypeScriptとJSXをコンパイルし、ターゲットのECMAScriptバージョンに構文をダウンレベル化し、同じパスでオプションでミニファイします。 - **宣言ファイル**:TypeScriptソースから`.d.ts`ファイルを生成します。 - **パース**:ESTree準拠のASTをプレーンなRubyハッシュとして取得し、エラーリカバリと診断情報を提供します。 - **ASTウォークと書き換え**:ビジターパターンでASTを走査・変更し、元のフォーマットを保持します。 - **シンボルとモジュール解析**:宣言されたシンボル、未解決シンボル、インポート、エクスポートを抽出します。 - **ソースマップ**:ソースマップをJSONテキストとして生成します。 - **ランタイムヘルパー**:ダウンレベル化のためのヘルパー関数を管理し、外部ヘルパーや仮定を用いて回避するオプションを提供します。 gemのバージョンはバンドルされているOxcのバージョンに対応し、多くのプラットフォーム向けにプリコンパイル済みgemが用意されています。それ以外の場合は、Rust 1.96以上が必要なソースからのビルドとなります。APIは直感的に設計されており、オプションは厳密に検証され、結果は詳細な診断情報を提供します。