Axortex

The culture of tech, food & beauty

← Tech
Tech

Microsoft Rebuilt Its Own Language in Google's — and 74 Tests Tell the Whole Story

TypeScript 7.0 is a from-scratch rewrite of the compiler in Go, with 6.0 as a bridge release. The proof it works isn't a speed claim — it's that the new engine matches the old on all but 74 of roughly 20,000 test cases.

TL;DR — Microsoft is releasing TypeScript 7.0 ("Project Corsa"), a native rewrite of the compiler in Go for big gains in speed and memory, with TypeScript 6.0 serving as a bridge release in 2026.

Somewhere along the way, TypeScript stopped being a niche superset and became the language an enormous slice of the modern web is actually written in. That ubiquity came with a tax that anyone working in a large codebase knows intimately: past a certain size, the compiler and editor tooling start to feel like wading through wet cement. Microsoft's answer is the kind of move teams almost never make on something this load-bearing — not a tune-up, not an optimization pass, but a complete rewrite of the compiler in an entirely different language. The astonishing part is that it appears to have worked, and the evidence for that claim is a single, almost mundane statistic.

The number that matters more than any speedup

Rewriting a typechecker is frightening for a reason that has nothing to do with performance. Correctness is the entire job. A compiler that is blazingly fast but subtly wrong is strictly worse than a slow one you can trust, because the wrong answers hide until they detonate in production. So the figure that actually validates this whole endeavor isn't a multiplier on compile time — it's a fidelity score.

Per InfoWorld, across roughly 20,000 compiler test cases — about 6,000 of which are designed to produce errors — TypeScript 7.0 matches the behavior of TypeScript 5.9 in all but 74 cases. For a clean-room reimplementation in a new language, that is a staggering bar to clear. It is the difference between a migration that is credible and one that is merely aspirational, and it is the reason this rewrite reads as engineering rather than gambling.

Two releases, one careful handoff

Microsoft is staging the transition across two versions, and getting the distinction straight matters a great deal if you maintain TypeScript code:

  • TypeScript 6.0 — the final release built on the existing JavaScript/TypeScript codebase. It exists to be a compatibility bridge.
  • TypeScript 7.0 — the native build, rewritten in Go, aimed at major wins in performance, memory usage and parallelism.

Microsoft principal product manager Daniel Rosenwasser laid out the sequencing without embellishment: "You can think of TypeScript 6.0 as a 'bridge' release between the TypeScript 5.9 line and 7.0... 6.0 will deprecate features to align with 7.0." Put plainly: 6.0 is the version that warns you about what's changing; 7.0 is the version that ships the new engine.

Item Detail
Codename Project Corsa
New language Go
Bridge release TypeScript 6.0
Native release TypeScript 7.0
Test fidelity Matches 5.9 on all but 74 of ~20,000 cases

Why Go, and the quiet ego in the choice

Notably, Microsoft's own materials are more restrained than the excitement swirling around the project. The InfoWorld write-up frames the goals in terms of "performance, memory usage, and parallelism" rather than waving a single marketing multiplier around. The technical logic is sound: Go hands the team easy concurrency and predictable memory behavior, which is exactly what you want when typechecking a million-line monorepo — the scenario where the old single-threaded design slams into a wall.

The strategic subtext is the more interesting read. This is Microsoft choosing Google's language to rebuild Microsoft's language, a pragmatic, ego-free call that says a great deal about how mature the open-source toolchain has become. None of it is happening behind closed doors, either. The work is unfolding in the open on GitHub, where anyone can watch the new compiler get hammered against the old one's test suite in real time.

What it changes for the people who use it

For everyday work, the payoff is refreshingly concrete: faster cold starts in the editor, snappier type checking in CI, and breathing room for codebases that currently strain the tooling to its limits. The friction, such as it is, concentrates in 6.0's deprecations. Heed those warnings and 7.0 should land as a drop-in upgrade for most projects. Ignore them, and you may end up making the personal acquaintance of a few of those 74 edge cases.

FAQ

What is Project Corsa?

Project Corsa is Microsoft's codename for the native rewrite of the TypeScript compiler in Go, shipped as TypeScript 7.0. It aims to dramatically improve compile speed, memory use and parallelism over the current JavaScript-based implementation.

Do I need to change my code for TypeScript 7.0?

Most projects won't need major changes, but TypeScript 6.0 acts as a bridge release that deprecates features to align with 7.0. Following those deprecation warnings in 6.0 is the way to ensure a smooth move to the native compiler.

Is the new TypeScript compiler reliable?

Early evidence is strong: across roughly 20,000 compiler test cases, the Go-based TypeScript 7.0 matches the existing 5.9 typechecker in all but 74 cases, indicating very high behavioral fidelity.


Sources: InfoWorld, Microsoft/TypeScript on GitHub.

Image: Microsoft, Apache License 2.0, via Wikimedia Commons.

#typescript#developer-tools#open-source

← Back to all posts