Files
oxc-guard 0389c4010e release(crates): oxc v0.146.0 (#25912)
### 🚀 Features

- 83cb516 minifier: Improve negation of expressions in boolean context (#25755) (Armano)

### 🐛 Bug Fixes

- 134fb22 isolated-declarations: Preserve unresolved parameter types (#25909) (Dunqing)
- 526c2b3 codegen: Remove deprecated test APIs (#25889) (camc314)
- 344a9b2 codegen: Align enum template sourcemaps (#25872) (camc314)

### ⚡ Performance

- 5ef0c93 minifier: Unwrap all unary exprs without creating dummy expressions (#25891) (Armano)
- 8783524 packages/codegen: Remove loop from `growMappingBuffer` (#25886) (overlookmotel)
- b6b14c0 packages/codegen: Remove redundant branch (#25885) (overlookmotel)
- be6adf0 packages/sourcemap: Make `location` passed to `recordSourceMapping` always a number (#25884) (overlookmotel)
- f720f15 packages/codegen: Take named-mapping only code off hot path in `recordSourceMapping` (#25883) (overlookmotel)
- a734af5 packages/codegen: Remove redundant setting of `last` in `printImportAttributes` and `printIf` (#25882) (overlookmotel)
- c6e44c6 packages/codegen: Combine 2 writes in `printJSXElement` (#25881) (overlookmotel)
- 8801662 packages/codegen: Remove redundant mapping from `printParams` (#25880) (overlookmotel)

### 📚 Documentation

- 5ad330e packages/codegen: Reformat comments (#25876) (overlookmotel)
2026-08-19 08:29:51 +00:00
..

Oxc ESTree

ESTree compatibility layer for serialization and interoperability.

Overview

This crate provides compatibility with the ESTree AST specification, primarily for serialization purposes. It enables oxc AST nodes to be serialized to and from JSON in ESTree format, facilitating interoperability with other JavaScript tools.

Key Features

  • ESTree compatibility: Convert oxc AST to/from standard ESTree format
  • Serialization support: JSON serialization/deserialization via serde
  • Tool interoperability: Enable integration with ESTree-based tools
  • Optional feature: Only enabled when serialize feature is active

Usage

Architecture

ESTree Specification

ESTree is a community standard for representing JavaScript AST nodes. This crate ensures oxc's AST can be represented in this standard format while maintaining compatibility with the broader JavaScript tooling ecosystem.

Design Principles

  • Compatibility: Full compatibility with ESTree specification
  • Optional overhead: Only included when serialization is needed
  • Type safety: Maintains Rust's type safety during conversion
  • Performance: Efficient serialization with minimal overhead

Use Cases

  • IDE integration: Language servers communicating via JSON
  • Tool interoperability: Working with Babel, ESLint, and other ESTree tools
  • Data exchange: Transferring AST data between different systems
  • Debugging: Human-readable AST representation

When the serialize feature is disabled, this crate provides only a placeholder trait to support derive macros without overhead.