Dev News Daily ENDE

Cloudflare und VoidZero starten tsrs, eine Rust-Portierung von TypeScript unter Oxc

Cloudflare und VoidZero haben gemeinsam mit Max Schwenk von Owner.com tsrs angekündigt, eine Rust-Portierung des TypeScript-Compilers, die in der JavaScript-Toolchain Oxc entsteht. Laut Cloudflare geschieht das in enger Abstimmung mit dem TypeScript-Team und ist ausdrücklich kein Fork: Das TypeScript-Team behält die Kontrolle über das Sprachdesign, und die Portierung muss seinen Entscheidungen folgen, um kompatibel zu bleiben.

Erste Benchmarks von Cloudflare sehen tsrs bis zu 8-mal schneller als TypeScript 7.0 bei rund 70 % weniger Speicher, wenn beide gleich viele Worker für die Typprüfung nutzen — eine mit dem TypeScript-Team abgestimmte Konfiguration. TypeScript 7.1 Beta sei selbst bis zu 2,5-mal schneller als 7.0, einige dieser Optimierungen stammten aus tsrs. Ein experimentelles Paket liegt auf npm. Bekannte Abweichungen gibt es noch, etwa bei der Reihenfolge der Diagnosen.

Als Grund für Rust, obwohl die Go-Portierung TypeScript bereits etwa 10-mal schneller gemacht hat, nennt Cloudflare WebAssembly: Ein nach Wasm kompiliertes Go-Programm schleppt seinen Garbage Collector mit, Rusts Speichermodell hält das Modul klein. Cloudflare will komplette Entwicklungs-Toolchains in Workers und im Browser betreiben. Der Beitrag sagt zudem, aktuelle KI-Modelle könnten große Portierungen inzwischen fast selbstständig erledigen; tsrs soll von Agenten mit dem Original synchron gehalten werden, die täglich Änderungen prüfen und nachts eine Kompatibilitätsmatrix erstellen — wie bei Cloudflares Next.js-Portierung Vinext. Geplant ist eine Zusammenführung mit tsc-rs von Theo Browne.

Cloudflare und VoidZero starten tsrs, eine Rust-Portierung von TypeScript unter Oxc
Cloudflare und VoidZero starten tsrs, eine Rust-Portierung von TypeScript unter Oxc — Dev News Daily

Was das bedeutet

Die Geschwindigkeit ist die Schlagzeile, strategisch zählt der Einsatzort: Ein Typprüfer, der in Wasm passt, läuft dort, wo ein Go-Binary nicht hinkommt. Offen ist die Pflege. Eine Portierung, die jede Änderung des Originals von Agenten nachziehen lässt, setzt darauf, dass dieser Prozess zuverlässig bleibt, während TypeScript sich weiterentwickelt — abweichende Diagnosen wären das erste Anzeichen, wenn nicht.

Geschrieben von Victoria Shinder.