cd /news/developer-tools/cloudflare-introduces-a-faster-types… · home › topics › developer-tools › article
[ARTICLE · art-156224] src=socket.dev ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

Cloudflare Introduces a Faster TypeScript Compiler Written in Rust

Cloudflare announced on October 20 that it is bringing tsrs, a Rust port of the TypeScript compiler, into its Oxc toolchain, with development and maintenance handled by its VoidZero team and collaboration from the TypeScript team. Cloudflare reports tsrs is up to 8× faster and uses approximately 70% less memory than TypeScript 7.0 with the same number of type checking workers, and some optimizations found in tsrs have already been merged back into the official TypeScript compiler. The project began with Max Schwenk, head of AI developer experience at Owner.com, who used Claude coding agents to build the initial Rust port after type checking his company's large TypeScript backend made running several coding agents on a laptop impractical.

by read6 min views1 publishedOct 23, 2026
Cloudflare Introduces a Faster TypeScript Compiler Written in Rust
Image: Socket (auto-discovered)

Cloudflare introduces tsrs, a Rust port of TypeScript’s compiler promising faster checks and lower memory use, with the TypeScript team’s help.

  • Sarah Gooding

Microsoft’s Go port of TypeScript’s compiler and tooling delivered roughly 10× faster type checking. Now Cloudflare is working on a Rust port of TypeScript’s compiler that promises even faster type checking and lower memory use. The TypeScript team is collaborating on the work, and some of the optimizations are already making their way into the official compiler.

Cloudflare announced on October 20 that it is bringing tsrs, a Rust port of the TypeScript compiler, into its Oxc toolchain. Its VoidZero team is taking on development and maintenance.

The project began with Max Schwenk, head of AI developer experience at Owner.com, a company that makes software for restaurants. Type checking its large TypeScript backend was consuming enough time and memory to make running several coding agents on a laptop impractical. Schwenk used Claude coding agents to build the initial Rust port, then tested and optimized it against the Go compiler before moving the project to Oxc.

For VoidZero, which Cloudflare acquired in June, this extends years of work on JavaScript tools written in Rust. Its projects include the Oxc parser and compiler tools, the Rolldown bundler, the Oxlint linter, and the Oxfmt formatter. A TypeScript compiler fits naturally alongside that work and could supply the type information needed by tools such as Oxlint.

The Oxc team has already begun refactoring tsrs to improve performance, memory usage, and maintainability. Schwenk says the team cut two releases on its first day. Some optimizations discovered in tsrs have also made their way back into the official TypeScript compiler.

The compiler race has moved beyond Microsoft’s Go port# #

Microsoft announced its native Go port in March 2025, promising roughly a tenfold performance improvement over the JavaScript implementation. Now other teams are porting that implementation again.

Bun introduced bun check on October 10, reporting type checking 3× to 6.4× faster than TypeScript 7.0.2 in its benchmarks. It ports the Go compiler and checks types without emitting JavaScript or providing an editor language server. Theo Browne’s tsc-rs, another Rust port of TypeScript’s compiler, is being merged with tsrs. Vercel Labs has even ported the Go compiler back into TypeScript, then compiled it to native code with scriptc.

AI coding agents have also changed how long a project like this takes. Cloudflare says current models can carry out large-scale ports almost independently in days. Peter Steinberger contrasted that with the time Microsoft spent on its Go port:

tsrs reports faster checks with substantially less memory# #

Cloudflare reports that tsrs is up to 8× faster and uses approximately 70% less memory than TypeScript 7.0 with the same number of type checking workers.

The company also addresses the competing benchmark claims directly. Different machine sizes and compiler settings can produce very different results, it says, and it worked with the TypeScript team to compare equivalent configurations. The benchmark tooling and methodology are public.

Those figures describe the matched configuration. By default, tsrs adapts to the machine it runs on, trading some additional memory for faster checking.

tsrs started with a resource problem at Owner.com. Its backend has approximately 37,000 TypeScript files checked as one program. Schwenk reports that a single-threaded check with TypeScript 7.0 took 80 seconds and 19 GiB of memory. Add linting, development servers, and several coding agents, and even well-equipped laptops were running out of room.

Early users are reporting improvements on their own projects. Kevin Kern tried it on an application with approximately 190,000 lines of code, calling the results promising.

When several agents are working in separate worktrees, type checking can eat up CPU and memory several times over. Cutting that overhead makes room to run more agents at once. That’s part of the appeal for Jimmy Lai, who is considering a move to tsrs for the ChatGPT codebase.

The TypeScript team is already bringing improvements upstream# #

The speed claims have prompted questions about why Microsoft should keep investing in the Go implementation. But the TypeScript team is actively involved in understanding and applying the improvements.

TypeScript’s Daniel Rosenwasser said on Hacker News that the team has been working with tsrs’s maintainers to understand its performance and which optimizations are safe. The team has even tried its own Rust port.

Rosenwasser said “a lot of the speed does not just come down to language choice.” Some improvements discovered in tsrs are contributing to a faster, leaner TypeScript 7.1, and the team will continue improving the official tools.

Cloudflare’s announcement puts TypeScript 7.1 beta at up to 2.5× faster than 7.0. The headline 8× comparison is against 7.0, so it should not be read as an 8× lead over the latest beta.

The Rust ports also build on Microsoft’s existing compiler architecture and test infrastructure. Schwenk’s approach began by preserving the Go implementation’s algorithms and behavior, using TypeScript’s conformance tests to check the result. The team aims to have tsrs behave exactly like the official TypeScript compiler as it evolves.

WebAssembly makes the Rust port useful in more places# #

WebAssembly support is another reason Cloudflare wants a Rust implementation.

Go can compile to Wasm, but its garbage collector comes with it. Rust’s memory management avoids bundling that collector and gives developers more direct control over allocation and interaction with the host. Cloudflare sees that as a better fit for development tools running within constrained environments.

The appeal is a complete validation loop that can run close to the code, including inside a browser or a Cloudflare Worker. An agent could edit files and check the result within a sandboxed development environment. A browser-based tool could check a project locally without sending the type checking job to a separate server.

The @tsrs/wasm package already supports checking in-memory project files in browsers, and the project links to a browser playground. The Wasm build currently runs on one thread, does not support watch mode or LSP, and has a maximum of 4 GiB of linear memory per instance.

Oxc gives tsrs a home for continued maintenance# #

A fast port needs to keep up with TypeScript’s next release, and the release after that. Cloudflare’s Oxc team is taking on that ongoing work.

They are working with Browne to combine tsc-rs and tsrs into one package, including support for LSP and content mappers. Browne had already expressed doubts about whether he would maintain his separate rewrite. Combining the projects gives that work a path into a compiler with an established tooling team behind it.

Cloudflare intends to use the process it developed for Vinext to track TypeScript: agents review upstream changes, identify compatibility gaps, run upstream tests, and propose fixes. The team is also exploring using tsrs for type-aware lint rules in Oxlint.

AI can produce a compiler port quickly, but that leaves developers wondering who will maintain it once the initial excitement wears off. Amid what VoidZero's Michael Dong calls “slopforks,” tsrs has an established tooling team committing to ongoing compatibility, working with TypeScript’s maintainers, and contributing improvements back.

The team is still working toward a stable release and ironing out differences from the official TypeScript compiler, including the order in which errors are reported. Its maintainers acknowledge remaining differences, including diagnostic ordering. Developers can try the npm package today:

npm install --save-dev tsrs
npx tsrs --noEmit

The tsrs maintainers say the TypeScript team will continue to control the language’s design and direction. Their job is to preserve that behavior in Rust and contribute useful improvements upstream. With new compiler ports arriving this quickly, the commitment to keep aligning that work with the TypeScript team is a substantial part of tsrs’s appeal.

── more in #developer-tools 4 stories · sorted by recency
── more on @cloudflare 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/cloudflare-introduce…] indexed:0 read:6min 2026-10-23 · —