Skip to content

Parser

此功能已适用于生产环境。

特性

  • 比 swc parser 快 3 倍 (基准测试)。
  • 解析 .js(x).ts(x) 文件。
  • 通过 Test262 的所有解析器测试,以及 Babel 和 TypeScript 测试的 99%。
  • 直接返回 ESM 信息,无需使用 es-module-lexer
  • ✅ 支持 checker.ts

安装

Node.js

Rust

使用统一的 crate oxc,或单独使用 oxc_astoxc_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 得到支持。