/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 future 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
Read more about our architecture and performance philosophy.
| Tool | npm | crates.io | Downloads |
|---|---|---|---|
| Linter | oxlint | - | |
| Formatter | oxfmt | - | |
| Parser | oxc-parser | oxc_parser | |
| Transformer | oxc-transform | oxc_transformer | |
| Minifier | oxc-minify | oxc_minifier | |
| Resolver | oxc-resolver | oxc_resolver |
See documentation for detailed usage guides for each tool.
The production-ready linter catches mistakes for you with sensible defaults and optional configuration:
npx oxlint@latest
To give you an idea of its capabilities, here is an example from the vscode repository, which finishes linting 4800+ files in 0.7 seconds:
Fast, opinionated code formatter compatible with Prettier:
npx oxfmt@latest
The fastest JavaScript/TypeScript parser written in Rust:
npm install oxc-parser
import { parseSync } from 'oxc-parser';
const result = parseSync('const x = 1;');
TypeScript, React, and modern JavaScript transformation:
npm install oxc-transform
import { transform } from 'oxc-transform';
const result = transform('source.tsx', code, { typescript: true });
High-performance JavaScript minifier:
npm install oxc-minify
import { minify } from 'oxc-minify';
const result = minify(code, { mangle: true });
Individual crates are published for building your own JavaScript tools:
[dependencies]
oxc = "0.x"
Oxc is a project of VoidZero, see our announcement Announcing VoidZero - Next Generation Toolchain for JavaScript.
If you have requirements for JavaScript tools at scale, please get in touch!
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.
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:
This project was incubated with the assistance of these exceptional mentors and their projects:
Special thanks go to:
Oxc is free and open-source software licensed under the MIT License.
Oxc ports or copies code from other open source projects, their licenses are listed in undefinedThird-party library licensesundefined.
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.