102 releases (58 breaking)
Uses new Rust 2024
new 0.58.1 | Mar 13, 2025 |
---|---|
0.57.0 | Mar 11, 2025 |
0.44.0 | Dec 25, 2024 |
0.38.0 | Nov 26, 2024 |
0.0.1 | Mar 30, 2023 |
#26 in #typescript-parser
84,931 downloads per month
Used in 47 crates
(19 directly)
2.5MB
47K
SLoC
Oxc AST (Abstract Syntax Tree) Nodes
Supports JavaScript, TypeScript and JSX.
Types
AST types are similar to estree and typescript-eslint's definition, with a few notable exceptions:
Identifier
is replaced with explicitBindingIdentifier
,IdentifierReference
,IdentifierName
, per ECMAScript Specification.AssignmentExpression
.left
Pattern
is replaced withAssignmentTarget
.Literal
is replaced withBooleanLiteral
,NumericLiteral
,StringLiteral
etc.
Field order of types follows "Evaluation order" defined by ECMAScript spec. For TypeScript types, we follow how field order is defined in tsc.
Oxc's visitors (Visit
, VisitMut
, Traverse
) visit AST node fields in same order
as they are defined in the types here.
Parsing
You can obtain an AST by parsing source code with a Parser
from oxc_parser
.
Cargo Features
"serialize"
enables support for serialization to ESTree JSON
Dependencies
~5.5MB
~95K SLoC