Ein Blick auf den JavaScript Oxidation Compiler
Oxc erklärt: Rust-Tools für JavaScript und TypeScript, Oxlint, Oxfmt, Transformer, Minifier und der Vergleich mit ESLint, Prettier, SWC und Biome.
Oxc, der JavaScript Oxidation Compiler, ist eine Sammlung hochperformanter JavaScript- und TypeScript-Werkzeuge, geschrieben in Rust und aufgebaut auf einem gemeinsamen Parser und AST – sodass Linter, Formatter, Transformer, Minifier und Resolver Ihren Code nie unabhängig voneinander erneut parsen.
Wer schon einmal einen Lint-Durchlauf in einem großen Monorepo gestartet hat, in der Zwischenzeit Kaffee holen ging und bei der Rückkehr feststellte, dass er noch läuft, weiß bereits, warum ein Rust-Rewrite der JavaScript-Toolchain so viel Aufmerksamkeit erhalten hat. Diese Wartezeit – multipliziert mit jedem Entwickler und jedem CI-Job – ist der wesentliche Grund dafür, dass Oxc existiert.
Es ist die Compiler-Schicht unter VoidZeros Toolchain, und seit Vite 8 ist es die Maschinerie, die innerhalb jedes Vite-Builds die eigentliche Spracharbeit übernimmt.
Wenn Ihre ESLint/Babel/Prettier-Pipeline langsam ist und Sie die Rust-Tooling-Welle beobachtet haben (esbuild, SWC, Biome, Oxc), lautet die praktische Frage nicht „Ist Oxc schnell?“, sondern „Welche Bausteine sind heute produktionsreif, und wie ordnen sie sich gegenüber dem ein, was ich bereits einsetze?“ Dieser Artikel beantwortet genau das: was Oxc ist, was darin enthalten ist, was Sie heute gefahrlos einsetzen können und wie es sich gegenüber den Alternativen positioniert.
Die wichtigsten Erkenntnisse
- Oxc ist eine Rust-basierte Suite von JavaScript/TypeScript-Werkzeugen: Parser, Linter (Oxlint), Formatter (Oxfmt), Transformer, Minifier und Resolver – alle nutzen einen gemeinsamen Parser und AST.
- Oxlint ist das Highlight: ein stabiler 1.x-Linter, den das Projekt mit 50- bis 100-mal schneller als ESLint benchmarkt, mit 844 eingebauten Regeln und inzwischen verfügbarem typbewusstem Linting.
- Oxc läuft indirekt bereits in Produktion: Rolldown 1.0 erreichte am 7. Mai 2026 den Stable-Status, und Vite 8 nutzt Oxc für JavaScript-Transformationen und JavaScript-Minifizierung, während die CSS-Minifizierung von Lightning CSS übernommen wird.
- Oxfmt hat die Beta-Phase erreicht und entspricht nun Prettier über dessen gesamte JavaScript- und TypeScript-Conformance-Suite, befindet sich aber noch in der 0.x-Versionierung.
- Der risikoärmste Einstiegspfad ist, Oxlint als schnellen First-Pass-Linter parallel zu ESLint in der CI laufen zu lassen.
Was ist Oxc, der JavaScript Oxidation Compiler?
Oxc ist eine Suite Rust-nativer JavaScript- und TypeScript-Werkzeuge, die einen einzigen Parser und AST teilen, sodass das Verhalten konsistent bleibt und kein Werkzeug Parsing-Arbeit doppelt erledigt. Der Name spielt auf Rust an: Rust (Rost) ist, was aus Metall wird, wenn es oxidiert. Geschwindigkeit wird hier als etwas behandelt, das das Projekt ausliefern muss, und nicht als angenehmer Nebeneffekt – mit der Begründung, dass ein schnellerer Linter lokal eine engere Edit-and-Check-Schleife und eine geringere CI-Rechnung bedeutet.
Der Grund, warum Oxc über die eigenen CLIs hinaus Bedeutung hat, ist, dass es der Compiler unter dem modernen Vite-Stack ist. Rolldown ist ein Rust-Bundler, und die sprachnahe Arbeit – Parsing und Minifizierung inklusive – übergibt er an Oxc. Ab Vite 8 werden alle drei Schichten von Teams entwickelt, die im Gleichschritt arbeiten: Vite als Build-Tool, Rolldown als Bundler und Oxc als Compiler unter beiden. Selbst Entwickler, die niemals ein Oxc-Paket installieren, führen dessen Parser und Transformer also bei jedem Build aus.
Es gibt zudem einen Kontext zur Eigentümerschaft, den man kennen sollte, bevor man eine Pipeline darauf aufbaut. Am 4. Juni 2026 gab Cloudflare bekannt, VoidZero übernommen zu haben – das Open-Source-Unternehmen, das Vite und das umgebende Tooling pflegt, Oxc eingeschlossen. Beide Seiten betonen, dass die Projekte Open Source und herstellerneutral bleiben, wobei Vite, Vitest, Rolldown, Oxc und Vite+ weiterhin unter MIT-Lizenzen stehen; Cloudflare hat außerdem 1 Million US-Dollar in einen unabhängigen Fonds für Vite-Maintainer und -Contributor eingebracht. VoidZero selbst wurde 2023 gegründet, von Vue.js-Schöpfer Evan You.
Die Komponenten und was jede davon ersetzt
Discover how at OpenReplay.com.
Oxc wird als separate, kombinierbare Bausteine ausgeliefert, sodass Sie einen davon ohne die übrigen übernehmen können. Jeder adressiert einen langsamen, JavaScript-basierten Amtsinhaber:
| Komponente | Ersetzt | Rolle |
|---|---|---|
| Oxlint | ESLint | Linter für JS/TS |
| Oxfmt | Prettier | Code-Formatter |
| Parser | Acorn / @babel/parser / tsc-Parsing | Gemeinsamer AST für alle Werkzeuge |
| Transformer | Babel / tsc-Transpilierung / esbuild-Transform | TS, JSX, Lowering von modernem JS |
| Minifier | Terser / esbuild-Minify | Produktions-Minifizierung |
| Resolver | enhanced-resolve | Modulauflösung |
Der Parser ist der Anker. Jede andere Komponente liest dessen Ausgabe – deshalb kann Oxc sich als eine Toolchain bezeichnen und nicht als sechs Werkzeuge, die zufällig in Rust geschrieben sind.
Warum ist Oxc schnell?
Oxcs Geschwindigkeit ergibt sich aus der Architektur, nicht aus Mikro-Optimierung. Drei Entscheidungen leisten den Großteil der Arbeit. Erstens handelt es sich um kompiliertes Rust statt um interpretiertes JavaScript, sodass Hot Paths mit nativer Geschwindigkeit laufen und Garbage-Collection-Pausen vermeiden. Zweitens arbeiten alle Werkzeuge auf einem gemeinsamen AST, was das redundante erneute Parsen eliminiert, das entsteht, wenn ESLint, Prettier und Babel dieselbe Datei jeweils separat parsen. Drittens werden AST-Knoten in einer Memory-Arena allokiert, was eine günstige Bulk-Freigabe ermöglicht, und die Analyse wird über CPU-Kerne parallelisiert.
Der Nutzen ist messbar, und die Zahlen sind die eigenen Benchmarks des Projekts – entsprechend sollte man sie behandeln. VoidZero berichtet von Oxlint mit 50- bis 100-facher Geschwindigkeit gegenüber ESLint, von Oxfmt mit dem 30-fachen oder mehr des Durchsatzes von Prettier und irgendwo zwischen dem 2- und 3-fachen von Biome bei einem ersten Durchlauf ohne Cache, sowie von Rolldown mit bis zu 10- bis 30-mal schnelleren Builds als Rollup. Die Biome-Zahl ist ein Bereich, weil Oxcs eigene Quellen sich widersprechen: die Formatter-Dokumentation nennt 2×, die Beta-Ankündigung 3×. Unterschiedliche Benchmarks auf unterschiedlichen Maschinen fallen unterschiedlich aus; die Größenordnung des Gewinns ist real, der exakte Faktor ist Marketing, bis Sie ihn in Ihrem eigenen Repository messen.
Was ist heute in Oxc produktionsreif?
Die Reife in Oxc hängt davon ab, wie Sie das jeweilige Werkzeug konsumieren. Oxlint und der Parser sind als Standalone wirklich produktionsreif; Transformer und Minifier sind als CLIs noch vor 1.0, laufen aber bereits innerhalb von Rolldown und Vite 8 in Produktion; Oxfmt ist Beta.
| Komponente | Status | Wie Sie es heute konsumieren |
|---|---|---|
| Oxlint | Stabil, 1.x | Direkt installieren; in der CI ausführen |
| Parser | Produktionsreif | Fundament unter Rolldown/Vite |
| Transformer | Standalone vor 1.0 | Im Einsatz in Vite-8-Builds |
| Minifier | Standalone vor 1.0 | Standard in Rolldown |
| Oxfmt | Beta, 0.x | Pilotbetrieb parallel zu Prettier |
Oxlint ist der klare Spitzenreiter. Es erschien im Juni 2025 als stabiles 1.0, mit Shopify, Airbnb und Mercedes-Benz als in den Release Notes genannten Produktionsnutzern, und befindet sich nun auf einer 1.x-Linie mit 844 eingebauten Regeln. Oxlint leistet außerdem typbewusstes Linting: das tsgolint-Backend bindet TypeScripts eigenes Typsystem an die Oxlint-CLI und das Konfigurationsformat an und deckt 59 der 61 typbewussten Regeln ab, die typescript-eslint mitbringt. Die ehrlichen Einschränkungen: es ist opt-in, es benötigt das separate Paket oxlint-tsgolint zusätzlich zu Oxlint, und die Versionsnummern dieses Pakets richten sich nach dem TypeScript-Release, gegen das es gebaut wurde, nicht nach Oxlint – beide folgen also unterschiedlichen Zeitplänen. Das Team hat zudem Regeln außerhalb des typescript-eslint-Sets ausgeschlossen, solange an Abdeckung und Performance gearbeitet wird, was eigene typbewusste Regeln vorerst ausschließt.
Lesen Sie „Transformer und Minifier sind vor 1.0“ nicht als „nicht produktionsreif“. Beide laufen bereits unter jedem Vite-8-Build. Der Vite-8-Migrationsleitfaden benennt die Arbeitsteilung: Oxc hat JavaScript-Transformation und JavaScript-Minifizierung von esbuild übernommen, während Lightning CSS zum Standard für die CSS-Minifizierung wurde. Oxfmt wiederum ist von Alpha auf Beta gewechselt und besteht nun Prettiers vollständige JavaScript- und TypeScript-Conformance-Suite, aber npm kennzeichnet es weiterhin als Beta – es ist also ein Pilotprojekt und noch kein vollständiger Ersatz für Prettier.
Wie sich Oxc gegenüber SWC und Biome einordnet
Der häufigste Vergleichsfehler ist, Oxc gegen SWC über die Geschwindigkeit zu stellen. Sie besetzen unterschiedliche Schichten. SWC ist eine Compiler-Plattform, die Frameworks einbetten: Next.js besitzt seine SWC-Schnittstelle, und man sollte diese nicht einer Benchmark-Grafik zuliebe herausreißen. Oxcs Transformer konkurriert mit SWC und Babel, aber SWC hat keinen eigenen Linter oder Formatter – Oxlint konkurriert also mit ESLint und Biome, nicht mit SWC. Biome ist der nähere Rivale: ein Rust-Werkzeug, das Linting und Formatierung in einer Binary erledigt, während Oxc Oxlint und Oxfmt als separate, kombinierbare Bausteine belässt.
Vor diesem Hintergrund ist der pragmatische Schritt, Oxlint jetzt einzuführen und den Rest zu beobachten. Lassen Sie es als schnellen First Pass in der CI laufen und behalten Sie ESLint für die Regeln und Plugins, die es noch nicht abdeckt:
{
"scripts": {
"lint:fast": "oxlint",
"lint": "oxlint && eslint ."
}
}
Um Überlappungen zu reduzieren, verweist die Dokumentation auf @oxlint/migrate zum Übersetzen einer bestehenden ESLint-Konfiguration sowie auf eslint-plugin-oxlint, um Regeln zu deaktivieren, die Oxlint bereits abdeckt. So erhalten Sie den Geschwindigkeitsgewinn auf dem schnellen Pfad, ohne bei vollständigen Durchläufen auf ESLints Abdeckung zu verzichten.
Oxc hat den Schritt vom „vielversprechenden Rust-Projekt“ zur Infrastruktur geschafft, auf die sich bereits Millionen Builds stützen – allerdings nicht gleichmäßig über die gesamte Oberfläche. Beginnen Sie mit Oxlint (stabil, schnell und risikoarm parallel zu Ihrem aktuellen Linter), testen Sie Oxfmt in einem Branch, um den Diff zu prüfen, und lassen Sie Transformer und Minifier über Vite 8 zu Ihnen kommen, statt sie standalone einzuführen. Bewerten Sie die Pre-1.0-Bausteine neu, sobald sie diese Stufe verlassen; die Richtung ist klar genug, um darauf zu planen.
FAQs
Kann ich Oxlint und ESLint gemeinsam betreiben, oder muss ich mich für eines entscheiden?
Sie können beide betreiben, und beides parallel zu betreiben ist der empfohlene Einstiegspfad. Nutzen Sie Oxlint als schnellen First Pass in der CI und behalten Sie ESLint für die Regeln und Plugins, die Oxlint noch nicht abdeckt. Die Oxc-Dokumentation verweist auf '@oxlint/migrate' zum Übersetzen einer bestehenden ESLint-Konfiguration und auf 'eslint-plugin-oxlint', um ESLint-Regeln zu deaktivieren, die Oxlint bereits behandelt – das eliminiert doppelte Arbeit, während beide Linter laufen.
Ersetzt Oxc SWC, und sollte ich SWC aus Next.js entfernen, um es zu nutzen?
Nein. Oxcs Transformer konkurriert mit SWC und Babel, aber Sie sollten SWC nicht aus einem Framework herausreißen, das es einbettet – etwa Next.js –, nur um einem Benchmark nachzujagen. SWC ist eine Compiler-Plattform, die Frameworks intern selbst verantworten, und SWC hat keinen eigenen Linter oder Formatter, sodass Oxlint mit ESLint und Biome konkurriert und nicht mit SWC. Die sichere Einstiegsfläche ist Oxlint, nicht der Austausch des eingebauten Compilers eines Frameworks.
Was ist der Unterschied zwischen Oxc und Biome?
Biome ist eine einzige Rust-Binary, die sowohl Linting als auch Formatierung erledigt, während Oxc seinen Linter (Oxlint) und Formatter (Oxfmt) als separate, kombinierbare Bausteine belässt, die Sie unabhängig voneinander einführen können. Oxc ist außerdem breiter angelegt: es umfasst einen Parser, Transformer, Minifier und Resolver, die Rolldown und Vite 8 antreiben, während Biome sich auf die Lint-und-Format-Schicht konzentriert. Bei einem ersten Durchlauf ohne Cache benchmarkt VoidZero Oxfmt mit etwa 2- bis 3-mal schneller als Biome; die Oxfmt-Dokumentation und die Beta-Ankündigung nennen für diesen Vergleich unterschiedliche Werte.
Ändert die Übernahme von VoidZero durch Cloudflare etwas daran, ob Oxc Open Source bleibt?
Nein. Cloudflare hat VoidZero am 4. Juni 2026 übernommen, und beide Unternehmen erklären, dass die Projekte Open Source und herstellerneutral bleiben. Vite, Vitest, Rolldown, Oxc und Vite+ bleiben unter MIT-Lizenzen, und Cloudflare hat 1 Million US-Dollar für einen neuen, unabhängigen Vite-Ökosystem-Fonds zugesagt – für Maintainer und Contributor, die weder VoidZero noch Cloudflare angehören. Die MIT-Lizenzierung bedeutet, dass bestehende Forks und Nutzungen unabhängig von der Eigentümerschaft unberührt bleiben.
Gain Debugging Superpowers
Unleash the power of session replay to reproduce bugs, track slowdowns and uncover frustrations in your app. Get complete visibility into your frontend with OpenReplay — the most advanced open-source session replay tool for developers.
Star on GitHub12k