Getting Started
Overview
The JavaScript Oxidation Compiler (Oxc) is a collection of high-performance tools for the JavaScript language written in Rust.
Our focus lies in constructing essential compiler tools for JavaScript: parser, linter, formatter, transpiler, minifier and resolver.
Additionally, we provide support for emerging JavaScript tools like Rolldown.
Our goal is to create and empower tooling for The Third Age of JavaScript.
Endorsements
Evan You, creator of Vue.js and Vite:
Ran oxlint on the Vue 3 codebase, ~200 rules + ~590 files finished in 50ms 🤯 (30ms re-runs)
The performance is absolutely nuts
Jason Miller, creator of Preact:
oxlint has been a massive win for us at Shopify. Our previous linting setup took 75 minutes to run, so we were fanning it out across 40+ workers in CI.
By comparison, oxlint takes around 10 seconds to lint the same codebase on a single worker, and the output is easier to interpret.
We even caught a few bugs that were hidden or skipped by our old setup when we migrated!
Luke Edwards
For a while now, @boshen_c has been crushing it, setting the foundation for the next generation of JS tooling.
There's just so much to learn from the OXC source code. Everything is meticulously measured and benchmarked, then formalized into simple, elegant, non-frightening APIs.
This guy is brilliant, a team player, and is + has been doing thankless, hard work.
Yagiz Nizipli, founder of Node.js performance team:
I'm impressed by how oxc is actively encouraging JavaScript tools to improve their performance.
Eric Simons, CEO of StackBlitz:
Oxc is slept on rn
Most JS/TS toolchains will be using it within the next few yrs imo
Miles Johnson, creator of Moonrepo:
It's crazy how good oxlint (and oxc tools) is. Not just in performance, but ease of use. Banking on Rust was a good choice!
Joe Savona, React team member:
For…reasons I am experimenting w various Rust-based JS compilers. I don’t agree w every design decision but overall oxc is really well done.
Sathya Gunasekaran, React team member:
oxc is kinda neat
Special Thanks
- Biome and Ruff: This project would not exist without the help, inspiration, and encouragement from these two projects, who are pioneers in the field of Rust-based unified toolchains.
- quick-lint-js and elm-review: For educating how static analysis could be improved in both performance and usability.