Oxc: A High-Performance Toolkit for JavaScript Tooling
If you've ever waited for a linter to run, a parser to chew through your code, or a formatter to tidy things up, you know that JavaScript toolchain performance matters. In larger codebases, those seconds add up, chipping away at developer flow. That's where Oxc comes in.
It's not a single tool, but a collection of foundational libraries written in Rust, designed to be the high-performance engine for the next generation of JavaScript development tools. Think of it as a toolbox for building faster linters, compilers, bundlers, and formatters.
What It Does
Oxc provides a set of core, interoperable crates (Rust libraries) for working with JavaScript and TypeScript code. Its flagship component is a blazing-fast parser that turns your source code into an Abstract Syntax Tree (AST). But it doesn't stop there. The project also includes a resolver (for figuring out module imports), a linter with a growing set of rules, a minifier, a code formatter (prettier plugin), and a transpiler. It's building a complete, integrated toolchain from the ground up.
Why It's Cool
The cool factor here is all about focus and performance. Instead of being a monolithic application, Oxc is built as separate, reusable crates. This means tool authors can pick and choose. Need just a super-fast parser? Use oxc_parser. Building a linter? Pull in oxc_linter and its rule set. This modularity is great for the ecosystem.
Then there's the raw speed. The parser is a standout, often benchmarking multiple times faster than alternatives. This performance comes from a careful, hand-written implementation in Rust, avoiding the overhead of parser generators. This speed directly translates to faster feedback loops in your IDE or CI pipeline.
Finally, it's pragmatic. It handles real-world JavaScript, including JSX and TypeScript, aiming for compatibility with existing tools while pushing the boundaries of what's possible performance-wise.
How to Try It
The easiest way to get a feel for Oxc is to check out its CLI, which bundles many of the components. You can install it via npm:
npm install --save-dev @oxc-project/cli
Then, you can run the linter on a directory:
npx oxlint ./src
To dive deeper, the Oxc GitHub repository is the main hub. You'll find extensive documentation on each crate, contributing guidelines, and of course, the source code. If you're a Rust developer interested in tooling, this is a fantastic project to explore or even contribute to.
Final Thoughts
Oxc feels like a solid infrastructure project. Most developers might not use it directly, but they'll likely benefit from it as it gets integrated into other tools. If you're building or maintaining a JavaScript tool, it's definitely worth evaluating these crates. For the rest of us, it's a promising sign that our tooling is getting the performance-focused rewrite it often needs, built with modularity and the modern developer experience in mind.
Follow for more interesting projects: @githubprojects
Repository: https://github.com/oxc-project/oxc