Parser
此功能已适用于生产环境。
特性
- 比 swc parser 快 3 倍 (基准测试)。
- 解析
.js(x)和.ts(x)文件。 - 通过 Test262 的所有解析器测试,以及 Babel 和 TypeScript 测试的 99%。
- 直接返回 ESM 信息,无需使用
es-module-lexer。 - ✅ 支持 checker.ts
安装
Node.js
- 使用 Node 绑定 oxc-parser。
- 在 stackblitz 中试用。
Rust
使用统一的 crate oxc,或单独使用 oxc_ast 与 oxc_parser crate。
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 得到支持。
