Announced 20 Oct 2026 · Sources checked
What Cloudflare announced
Cloudflare has announced tsrs, a port of the TypeScript compiler from Go to Rust. In a blog post published on 20 October 2026, Boshen Chen, Dimitri Mitropoulos and Christoph Nakazawa wrote that Cloudflare and VoidZero, the Vite company that is now part of Cloudflare, are building it together with Max Schwenk of Owner.com, in close collaboration with Microsoft's TypeScript team. The code lives at oxc-project/tsrs on GitHub under the Apache 2.0 licence, as part of the Oxc JavaScript toolchain.
The post is careful about what tsrs is not. It is not a fork of the language: the authors write that the TypeScript team should stay in full control of TypeScript's design and direction, and that a port has to follow those decisions closely or it will drift into incompatibility. tsrs is meant to be a faithful, drop-in replacement for the TypeScript 7 compiler and its language server, only faster and lighter on memory.
An experimental build is already on npm. The package is called tsrs; the latest version, 0.18.0-ts7.1.0-dev.20260929, was published on 19 October, the day before the announcement. The GitHub repository was created on 1 October and had passed 1,000 stars by the time AI Lookout checked it.
The project also absorbs an earlier, separate effort. Cloudflare says it is working with Theo Browne to merge his tsc-rs into tsrs as a single package that supports all of TypeScript's features, including the language server and content mappers. AI Lookout covered tsc-rs when Browne said Claude Opus 5.5 wrote most of that port for about $24,000 in tokens.
How fast tsrs is, and against what
The headline claim in the blog is that tsrs is up to 8 times faster than TypeScript 7.0 and uses about 70% less memory, when both run the same number of type-check workers. The authors say they worked with the TypeScript team so the comparison used the same configuration, a pointed remark about other recent ports that published bigger numbers from larger machines and different options.
The repository's own benchmark pages give more detail, and they show how much the answer depends on settings. A historical snapshot on a 16-vCPU Depot CI machine compared tsrs with TypeScript 7.0.2 and Bun's bun check on 17 projects. With every tool at its default thread count, tsrs ran 4.2 to 16.9 times faster than TypeScript 7.0.2; on the mui-docs project the check fell from 12.66 seconds to 0.75 seconds. With both pinned to four checker threads, TypeScript's default, the gap narrowed to about 4.4 to 11.8 times.
Memory savings are large too. At default settings peak memory on mui-docs dropped from 7.39 GiB to 1.60 GiB, and the other projects used roughly 2.2 to 3.6 times less. Against Bun, tsrs was faster on every project but did not always use less memory: bun check needed less on several large projects, including vscode and mikro-orm.
There is also a moving target. Cloudflare notes that TypeScript 7.1 beta is already up to 2.5 times faster than 7.0, and that some of those optimisations came from tsrs. The README chart, measured on 19 October against a 7.1 nightly on an 8-vCPU machine at equal thread counts, puts tsrs at about 2 to 5 times faster with 1.8 to 3.7 times less peak memory. All of these are the project's own measurements; AI Lookout did not run them.

How close it is to real TypeScript
Speed only matters if the output is the same, and the compatibility page treats the Go code as the specification. tsrs is described as a function-by-function port of Microsoft's Go implementation, pinned to a TypeScript 7.1 development commit, and any difference in diagnostics, their order, message text or exit code counts as a tsrs bug, even when the tsrs output looks better.
On TypeScript's own conformance suite, the project reports that tsrs matches the reference on 13,458 of 13,462 error baselines, with the other four blamed on test-harness artifacts, and on all 12,779 type and symbol baselines. JavaScript emit passes 13,392 baselines with none failing. The language server is further behind: 4,074 of 4,546 fourslash test groups pass through the Go-based test runner.
There are known gaps. The tsc --init and --showConfig commands are not supported, the language server does not yet handle content mappers for Vue, Svelte or Astro files, and automatic type acquisition is not ported. Diagnostics can also come out in a different order than TypeScript prints them, which the blog post acknowledges and which the team says it wants to minimise before a stable release.
Why a Rust port when TypeScript already went to Go
TypeScript itself moved from a compiler written in TypeScript to one written in Go, which Cloudflare's post credits with making it about ten times faster. Cloudflare's answer to why that is not enough is WebAssembly. Go programs compiled to WebAssembly carry Go's garbage collector with them, while Rust's memory model maps more directly onto a WebAssembly host, which makes for a smaller memory footprint.
That matters for Cloudflare's own business. The company runs WebAssembly inside Cloudflare Workers, and the post argues that a small, fast type checker makes it practical to run a whole development toolchain in a sandbox in its cloud, in a browser, or on an embedded device. A companion package, @tsrs/wasm, already targets WebAssembly, and there is a browser playground for checking and emitting code.
It also fits the toolchain Cloudflare now owns. Since VoidZero joined, Cloudflare is home to open source JavaScript tools including Vite, the Rolldown bundler and the Oxlint linter, and the post mentions type-aware lint rules in Oxlint as an early use for tsrs. AI Lookout covered the same push when VoidZero open-sourced Void for hosting vibe-coded apps on Cloudflare.
Where AI fits into the project
The announcement is frank that AI changed the economics of a project like this. The authors write that many attempts to port TypeScript failed because of its complexity, with only Microsoft's own Go port succeeding, but that frontier AI models can now do large-scale ports almost independently in a matter of days. They describe a recent wave of AI-made versions, from what they call slopforks to faithful ports and complete rewrites.
The post does not say how much of tsrs itself was written by models. The repository does include a file of instructions for coding agents, covering how to build, test, lint and benchmark changes, and the README says pull requests are closed because the team lacks the bandwidth to review them, while the issue tracker stays open for bug reports.
Agents are central to the maintenance plan. Cloudflare says it will copy the process it uses to keep its Vinext framework in step with Next.js: each morning an agent reviews upstream changes and files tracking issues, each night the compatibility matrix is regenerated by running the upstream test suite, and when a gap appears agents build a reproduction, port the tests and propose a fix. The same idea of machine-written code checked against a trusted reference sits behind Lean's con-leche proof checker, which Claude wrote and proved consistent.
How to try it and what is missing
Developers can install the experimental release with npm install tsrs and run npx tsrs, or add it with pnpm and run a type check with --noEmit. The release notes show frequent versions: 0.15.0 on 14 October, 0.16.0 on 16 October, and 0.17.0 and 0.18.0 on 19 October, all built against the same pinned TypeScript 7.1 development commit.
The team says it aims to ship a stable version against TypeScript 7.1 with full conformance, and that in its testing on existing projects it has not yet found a correctness bug. It gives no date for that stable release, and the benchmark continuous integration is currently switched off, so the published tables are snapshots rather than live numbers.
For teams with large codebases, the realistic use today is side-by-side testing: running tsrs next to the official compiler in a branch, comparing diagnostics and timings, and filing issues for any difference. Replacing the official compiler in production builds would be premature until the remaining gaps close and the merger with tsc-rs is done.
What it means for TypeScript users
If the compatibility claims hold, the payoff is faster type checking in CI and editors and a TypeScript checker that can run in the browser or on small machines. The arrangement with Microsoft also matters: a port built with the TypeScript team's cooperation, which sends its optimisations back upstream, is a different proposition from a rival fork.
The open questions are maintenance and trust. Keeping a second implementation of a fast-moving compiler in sync is hard work, and Cloudflare's plan leans heavily on agents to spot and fix divergence. The speed numbers are the project's own, measured on its chosen projects and machines, and independent benchmarks on real-world monorepos will be the test that counts.
Common questions
What is tsrs?
A Rust port of the TypeScript 7 compiler and language server from Cloudflare, VoidZero and Owner.com's Max Schwenk, incubated in the Oxc toolchain and licensed Apache 2.0.
Is tsrs a fork of TypeScript?
No. Cloudflare says the TypeScript team stays in charge of the language, and tsrs treats Microsoft's Go compiler as the specification it must match exactly.
How do I try tsrs?
Install the experimental npm package with npm install tsrs and run npx tsrs, or use pnpm and run tsrs --noEmit for a type check. A browser playground is also available.
Sources & further reading
How this story was made
Written by Kristian Kostov with AI assistance and checked against the linked sources. Company performance claims are attributed to the company. Analysis reflects AiLookout’s interpretation; we have not independently tested the products discussed. The cover places the companies’ own logos, taken from public-domain or openly licensed files credited in the caption, on a plain background. It is not a product photograph, a screenshot, or an endorsement.
Our editorial standards





