oxc-project/oxc
6 articles
前提知識
- ›Rust の基礎知識(cargo ワークスペース、クレート、モジュール)
- ›JavaScript ツールチェーンの基本概念(パーサー、リンター、バンドラー)への理解
01
Oxc コードベースを読み解く:アーキテクチャとクレートマップ
Oxc プロジェクトのアーキテクチャを体系的に解説します。プロジェクトのミッション、3 層クレート構成、CompilerInterface パイプライン、そして実践的な開発ガイダンスを網羅します。
02
アリーナアロケータとAST設計:Oxcのパフォーマンスの基盤
Oxcのすべてのパフォーマンスを支えるバンプアロケータの内部実装と、型安全性のためにESTreeから意図的に逸脱したAST設計を詳しく解説します。
03
ソースコードから意味へ:パーサーとセマンティックアナライザー
ソーステキストから完全に解決済みの AST が構築されるまでの流れを追い、再帰下降パーサーとエラーリカバリー、そして SemanticBuilder がスコープチェーンとシンボルテーブルを構築する仕組みを解説します。
04
AST を歩く2つの方法: Visit と Traverse システム
Oxc が持つ2つの AST 走査システム — 解析用の読み取り専用 Visit と、変換用の mutable な Traverse — および両者を生成する ast_tools コードジェネレータを解説します。
05
Oxlintの内側:リンターのアーキテクチャとルールシステム
CLIの引数解析から並列ファイル処理、診断出力に至るまで、oxlintのパイプライン全体を解説します。Rule trait、LintContext、そしてパフォーマンス最適化の詳細もカバーします。
06
コードの変換と出力:Transformer・Minifier・Codegen
Oxc パイプラインの出力側を解説します。Babel 互換の transformer、固定点方式の minifier、codegen プリンター、Prettier 互換フォーマッター、そして Node.js 向け NAPI バインディングを取り上げます。