Decision Workspace
ecma-lex-cat vs ecma-parse-cat vs ecma-syntax-cat
Side-by-side comparison of Rust crates
ECMAScript lexer producing Spanned<Token> values for ecma-syntax-cat. ES2024 token surface (keywords, punctuators, all numeric forms, template literals with interpolation, regex literals with last-token disambiguation, ASCII identifiers). No panics, no Rc, no interior mutability.
ECMAScript parser consuming ecma-lex-cat tokens and producing ecma-syntax-cat Program ASTs. Comprehensive ES2024 surface (classes, modules, destructuring, async/await, optional chaining, templates). v0.3.0 clears three async-syntax workarounds: (1) `obj.catch` and other reserved-word `IdentifierName`s now parse in member-access position via a new `expect_member_name` that covers all reserved words; (2) async arrow forms `async (a, b) => body`, `async x => body`, and `async () => body` parse via cover-grammar refinement on `async(args)` call expressions; (3) top-level `async function foo() { ... }` declarations dispatch to a new `parse_function_declaration_with_async` helper.
ECMAScript abstract syntax tree as comp-cat-rs-idiomatic Rust types. ESTree-shaped, ES2024-complete, no panics, no Rc, no interior mutability. Foundation crate for boa-cat and related downstream tooling.
Core Metrics
| ecma-lex-cat | ecma-parse-cat | ecma-syntax-cat | |
|---|---|---|---|
| Health Score | 46 | 48 | 44 |
| Total Downloads | 587 | 632 | 597 |
| 30d Downloads | 0 | 0 | 0 |
| Dependents | 114 | 110 | 25 |
| Releases | 1 | 4 | 1 |
| Last Updated | 51d ago | 34d ago | 51d ago |
| Age | 1m | 1m | 1m |
Health Breakdown
Technical Details
| ecma-lex-cat | ecma-parse-cat | ecma-syntax-cat | |
|---|---|---|---|
| Version | 0.1.0 | 0.3.0 | 0.1.0 |
| Stable (≥1.0) | ✗ No | ✗ No | ✗ No |
| License | MIT OR Apache-2.0 | MIT OR Apache-2.0 | MIT OR Apache-2.0 |
| Dependencies | 2 | 3 | 1 |
| Crate Size | 28KB | 41KB | 33KB |
| Features | 0 | 0 | 0 |
| Yanked % | 0.0% | 0.0% | 0.0% |
| Edition | 2024 | 2024 | 2024 |
| MSRV | — | — | — |
| Owners | 1 | 1 | 1 |
Links
Quick Verdict
- •ecma-parse-cat leads with a health score of 48/100, but none of the options score above 80.
- •ecma-lex-cat is depended on by 114 crates — strongest ecosystem trust.