パーサ
Rust で書かれた高性能な JavaScript / TypeScript パーサ。Oxc プロジェクトの他ツールの基盤になっています。
機能
- swc パーより約 3 倍高速(ベンチマーク)
.js(x)と.ts(x)をパース- Test262 のパーサテストはすべて合格。Babel / TypeScript 由来は約 99% 合格
- ESM 情報を直接返すため、
es-module-lexerは不要 - ✅ checker.ts と連携可能
インストール
Node.js
- Node バインディング oxc-parser を利用
- StackBlitz で試す
Rust
アンブレラクレート oxc、または個別の oxc_ast と oxc_parser を利用してください。
Rust の使用例はこちら。
プリント
パースや変換のあと、コードを出力できます。
esrap を直接使う例です(parse の逆!):
js
import { print } from "esrap";
import ts from "esrap/languages/ts";
import { parseSync } from "oxc-parser";
const { program } = parseSync("test.js", 'alert("hello oxc & esrap");');
const { code } = print(program, ts());
console.log(code); // alert("hello oxc & esrap");INFO
現時点ではコメントは出力されません。oxc-parser #13285 で対応予定です。