Parser
Parser JavaScript / TypeScript de alto desempenho em Rust; alimenta outras ferramentas do projeto Oxc.
Recursos
- Cerca de 3× mais rápido que o parser do SWC (benchmark).
- Faz parse de
.js(x)e.ts(x). - Passa em todos os testes de parser do Test262 e em 99% dos do Babel e TypeScript.
- Expõe informação de ESM diretamente, sem
es-module-lexer. - ✅ compatível com checker.ts
Instalação
Node.js
- Binding Node oxc-parser.
- Experimente no StackBlitz.
Rust
Use o crate guarda-chuva oxc ou os crates oxc_ast e oxc_parser.
Exemplo de uso em Rust aqui.
Impressão
Depois de fazer parse e transformar, é possível imprimir o código.
Exemplo direto com esrap (parse ao contrário!):
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
Hoje comentários não são impressos. Haverá suporte graças ao oxc-parser #13285.