oxc-guard 73e6b56473 release(crates): oxc v0.155.0 (#27962)
### 💥 BREAKING CHANGES

- c7d229b transformer: [**BREAKING**] Decode JSX entities to lone surrogates (#26712) (Dunqing)
- e3c1b11 ast: [**BREAKING**] Preserve lone surrogates in static property names (#27095) (Dunqing)
- a0a987c ast: [**BREAKING**] Preserve lone surrogates in static member names (#26677) (Dunqing)

### 🚀 Features

- 7bb2697 minifier: Minimize array join expression (#27905) (Armano)
- 5d91db8 ast: Generate node ID setters for enums (#27500) (camc314)
- 6b5057b minifier: Add de morgan optimization for void expressions (#27375) (Armano)

### 🐛 Bug Fixes

- ce6a088 minifier: Fold string indices by UTF-16 code unit (#27096) (Dunqing)
- 7c47246 linter: Check module specifiers and string values that contain lone surrogates (#26717) (Dunqing)
- 782ab6e linter: Search string values without UTF-8 conversion (#26716) (Dunqing)
- a5d8184 jsdoc: Parse code spans after quotes in descriptions (#27955) (leaysgur)
- bd37e78 ecmascript: Look through sequence expressions in `to_primitive` (#27837) (baltasarblanco)
- d92789d minifier: Drop debugger statements in unbraced bodies (#27867) (camc314)
- 863b359 ecmascript: Correct parseFloat decimal prefix scanning (#27695) (camc314)
- a2534c6 minifier: Preserve lexical initializers in dead for loops (#27676) (camc314)
- 3543672 ecmascript: Do not fold Number.isInteger / isSafeInteger of tiny non-integers to true (#27622) (Baltasar Blanco)
- 6987a61 ecmascript: BigInt loose equality folding (unknown operands and `StringToBigInt`) (#27656) (Baltasar Blanco)
- 40e5644 minifier: Preserve indirect access when folding into call targets (#27082) (waltu)
- 022306f ecmascript: Do not fold `Math.cbrt` of a negative number to `NaN` (#27621) (Baltasar Blanco)

### ⚡ Performance

- faa75d8 transformer: Remove redundant scratch vectors (#27922) (camc314)
- 88b5c35 minifier: Reduce code branches when evaluating roots (#27906) (Armano)
- fe1d367 codegen: Remove branches from loops printing arrays (#27840) (overlookmotel)
- 7bb6b62 codegen: Reduce hashmap lookups in `print_annotation_comment` (#27845) (overlookmotel)
- 31ffd08 codegen: Avoid unnecessary comment clone (#27843) (overlookmotel)
- a6456b7 codegen: Remove branch from `print_space_before_identifier` (#27842) (overlookmotel)
- eeff416 codegen: Simplify `print_space_before_identifier` (#27841) (overlookmotel)
- 5d877b8 diagnostics: Speed up zero-context span lookups (#27770) (camc314)
- 2ab6b63 packages/codegen: Remove redundant `printSpaceBeforeIdentifier` and `last` updates in `printParams` (#27652) (overlookmotel)
- e533278 codegen: Reduce writes in `printDecorators` (#27651) (overlookmotel)

### 📚 Documentation

- 29caafd codegen: Format table in doc comment (#27839) (overlookmotel)
- 3de03c1 packages/codegen: Correct outdated comments (#27838) (overlookmotel)
2026-10-19 14:20:38 +00:00
…



Oxc logo


MIT licensed Build Status Code Coverage CodSpeed Badge

Discord chat Playground Website

⚓ Oxc

/oʊ ɛks siː/

The Oxidation Compiler is a collection of high-performance tools for JavaScript and TypeScript written in Rust.

Oxc is part of VoidZero's vision for a unified, high-performance toolchain for JavaScript. It powers Rolldown (Vite's bundler) and enables the next generation of ultra-fast development tools that work seamlessly together.

For more information, check out our website at oxc.rs.

* Oxidation is the chemical process that creates rust

🙋 Who's using Oxc?

Rolldown and Nuxt use Oxc for parsing. Rolldown also uses Oxc for transformation and minification. Nova, swc-node, and knip use oxc_resolver for module resolution. Preact, Shopify, ByteDance, and Shopee use oxlint for linting.

See more projects using Oxc →

🔧 Lint or Format a Codebase

  • Lint: Oxlint — npx oxlint@latest
  • Format: Oxfmt — npx oxfmt@latest

🧰 Build Tooling on Top of Oxc

  • Parse JavaScript and TypeScript: Parser
  • Transform TypeScript, JSX, and modern JavaScript: Transformer
  • Minify JavaScript for production builds: Minifier
  • Resolve modules for JavaScript and TypeScript: Resolver

✍️ Contribute

Check out some of the good first issues or ask us on Discord.

See CONTRIBUTING.md for guidance, or read the complete contributing guide on our website →

If you are unable to contribute by code, you can still participate by:

📚 Other Resources

Sponsored By

Our sponsors

📖 License

Oxc is free and open-source software licensed under the MIT License.

Thank you to namespace.so for powering our CI/CD pipelines with fast, free macOS and Linux runners.

Oxc ports or copies code from other open source projects, their licenses are listed in Third-party library licenses.

Languages
Rust 80.6%
JavaScript 12.3%
TypeScript 7%