Skip to content

The publication for web craftspeople Wednesday, 19 August 2026

Front-end

TypeScript 7.0: the Go compiler delivers on its speed promise

TypeScript 7.0 has been stable since 8 July: the compiler is entirely rewritten in Go and runs about 10× faster than 6.0. What the new build chain changes, and how to migrate without breakage.

TypeScript 7.0 : le compilateur réécrit en Go, et le « 10× plus rapide » n'est pas du bluff

It has been official since 8 July: TypeScript 7.0 is stable, and the tool has little in common with its predecessors. Microsoft rewrote the entire compiler in Go, dropping the TypeScript-written compiler that used to compile itself. The headline gain — roughly 10× faster than 6.0 — holds up on real projects, which is rare enough for a toolchain announcement.

Type-check time (large project) TS 6.0 ~60 s TS 7.0 ~6 s ≈ 10× faster, same code
Type-check time on a large project: TypeScript 7.0 compared with 6.0.

What actually changes

The new compiler runs as machine code and uses shared-memory multithreading. In practice: projects that needed thirty to sixty seconds of type checking drop below the few-second mark.

CriterionTypeScript 6.0TypeScript 7.0
Compiler languageTypeScript (JS)Go (native)
Compilation speedbaseline≈ 10× faster
Parallelismlimitedshared-memory multithreading
Memory footprinthighreduced (native execution)
Statuslast JavaScript-based releasestable (8 July 2026)

Why compilation speed is a real subject

Slow type checking has long been accepted as a fact of life. On monorepos it is paid for in a particular way: the type check becomes the slow link in the pre-commit hook, it gets disabled “just for this commit”, then disabled outright. Type errors then reach production — not because the tool is missing, but because it stopped being used.

Cutting type-check time by ten is not a comfort gain: it is the condition for the safety net to stay switched on.

Migrating from 6.x

Version 6.0, released on 23 March, was explicitly presented as the last one built on the JavaScript code base — a transition step. Moving to 7.0 is designed to be neutral from a language standpoint, but a full rewrite always exposes edge-case behaviour. The recommended migration sequence:

  1. Move to 6.x first and lock the state (lockfile up to date, continuous integration green).
  2. Move to 7.0 on a dedicated branch.
  3. Run the test suite, then tsc --noEmit and the production build.
  4. Watch plugins and transformers that relied on the internal tsc API: those are the breakage points observed so far.
Point of attention: tools that depend on the compiler’s internal API — documentation generators, build transformers, linter plugins — are the only ones with a real regression risk. The public API remains stable.

What to take away

TypeScript 7.0 introduces neither new syntax nor a new paradigm. The release is judged on a single criterion: the build chain becomes fast again, and with it the safety nets that slowness had caused teams to disable.

On the client projects where I made the switch, the benefit was not measured in seconds saved but in habits regained: type checking came back into the pre-commit hook because it no longer cost anything. This is the kind of update you adopt without haste, but without hesitation either. — Simon Janvier

Further reading

The announcement and official release notes are published on the Microsoft TypeScript blog.

Also on Mail Studio

Read next