Parser(解析器)
一个用 Rust 编写的高性能 JavaScript / TypeScript 解析器,为 Oxc 项目中的其他工具提供支持。
功能特性
- 比 swc 解析器快 3 倍(基准测试)。
- 解析
.js(x)和.ts(x)。 - 通过 Test262 的所有解析测试,以及 Babel 和 TypeScript 99% 的测试。
- 直接返回 ESM 信息,无需
es-module-lexer。 - ✅ 与 checker.ts 配合使用
安装
Node.js
- 使用 Node.js 绑定库 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 中得到支持。