Files
oxc-guard b6f1458dec release(crates): oxc v0.144.0 (#25474)
### 💥 BREAKING CHANGES

- a33788e ast: [**BREAKING**] Group class heritage into `ClassHeritage` (#25360) (camc314)
- 5c5cdcd ast: [**BREAKING**] Narrow `TSInterfaceHeritage::expression` to TSTypeName (#24360) (camc314)
- 6be314f ast: [**BREAKING**] Remove duplicated `VariableDeclarator::kind` (#25319) (camc314)
- 44fd320 ast: [**BREAKING**] Split TS external modules & Namespace Declarations (#25284) (camc314)

### 🚀 Features

- 9a37c41 napi: Restructure React transform options (#25326) (Boshen)
- b3c1b30 allocator: Add `ArenaVec::push_mut` (#25338) (overlookmotel)

### 🐛 Bug Fixes

- bbd6ed3 codegen: Wrap string literal in parens after directives (#25435) (overlookmotel)
- d07a293 codegen: Preserve cast parentheses in conditional tests (#25115) (camc314)
- 8b7d441 codegen: Preserve satisfies parentheses before bitwise operators (#25113) (camc314)
- e0fb2d7 minifier: Avoid unsafe return removal in labeled blocks (#25406) (Armano)
- c49f4ce parser: Preserve terminal license comments (#25400) (camc314)
- 9d19ab3 transform_react: Downgrade nonfatal compiler diagnostics (#25418) (Boshen)
- 937825c react_compiler: Disable exhaustive memo validation by default (#25417) (Boshen)
- 12937b3 parser: Reject comma expressions in class fields (#25385) (Cameron)
- 7d8a9b5 react_compiler: Preserve hook spans for React Refresh (#25393) (Boshen)
- 9e93ba6 parser: Reset auto-accessor initializer context (#25384) (camc314)
- cc2e28d parser: Reject trailing tokens in `Parser::parse_expression` (#25371) (camc314)
- 697c629 minifier: Preserve Annex B labeled-function bindings in implicit-return rewrite (#25349) (Armano)
- 4d723ca parser: Report TS1035 for quoted module names (#25305) (camc314)
- 0c9b980 semantic: Report module declaration diagnostics (#25285) (camc314)
- 2a1058a napi: Omit parser header from WASI declarations (#25254) (camc314)

### ⚡ Performance

- dd1430b semantic: Avoid allocation in class overload check (#25440) (camc314)
- e420816 parser: Optimize trailing comma tracking (#25376) (camc314)
- 6529d1a minifier: Short-circuit scope check when alternate already determines result (#25318) (Armano)

### 📚 Documentation

- fe111eb allocator: Improve doc comments for `Arena` methods (#24922) (overlookmotel)
2026-08-10 09:57:10 +00:00
..

Oxc Transformer Plugins

Specialized transformation plugins for common JavaScript and TypeScript patterns.

Overview

This crate provides specific transformation plugins that can be used independently or as part of the broader oxc transformation pipeline. These plugins handle common transformation needs like global variable injection and module format conversion.

Key Features

  • Global variable injection: Add global variables to modules
  • Module runner transforms: Transform modules for different execution environments
  • Global defines replacement: Replace compile-time constants
  • Composable plugins: Use individually or combine multiple plugins

Architecture

Plugin System

Each plugin implements the transformation logic for a specific use case:

  • Focused responsibility: Each plugin handles one type of transformation
  • Traverse integration: Uses oxc's traversal system for efficient AST walking
  • Composable: Multiple plugins can be applied in sequence
  • Context-aware: Access to semantic information when needed

Common Use Cases

Build-time Optimizations

  • Dead code elimination: Remove unreachable code paths
  • Constant folding: Replace compile-time constants
  • Environment variables: Inject environment-specific values

Module System Compatibility

  • Polyfill injection: Add necessary polyfills for target environments
  • Global shimming: Provide Node.js globals in browser environments
  • Format conversion: Transform between module formats

Development Tools

  • Debug injection: Add development-time debugging code
  • Hot module replacement: Support for HMR systems
  • Testing utilities: Inject test-specific globals

Integration Points

These plugins integrate with:

  • oxc_transformer: Core transformation infrastructure
  • oxc_traverse: AST traversal and mutation
  • Build tools: Webpack, Vite, Rollup, and other bundlers
  • CLI tools: Direct usage in command-line transformations

The plugin architecture enables extensible, composable transformations while maintaining high performance through oxc's efficient traversal system.