DEV Community

Cover image for TypeScript 7 Migration Guide: tsgo, Breaking Changes, Build Times
Dev Encyclopedia
Dev Encyclopedia

Posted on • Originally published at devencyclopedia.com

TypeScript 7 Migration Guide: tsgo, Breaking Changes, Build Times

TypeScript 7.0 Beta is out, and the compiler has been rewritten from Node.js to Go. Same type system, same syntax, same compiler options, just a completely different execution model: no V8 JIT warmup, no GC pauses, and true parallel type-checking across CPU cores.

The real-world numbers are hard to ignore:

Project TS 6 (tsc) TS 7 (tsgo) Speedup
VS Code (1.5M lines) 78s 7.5s 10.4x
Sentry (large monorepo) 133s 16s 8.3x
Medium Node backend (~100k lines) 12s 2.1s 5.7x

The bigger the codebase, the bigger the win, since parallelism gains compound at scale.

The new binary is called tsgo. The old tsc still works through a compatibility shim, but it won't get future performance work, everything new goes into tsgo from here.

Before upgrading, there are 4 breaking changes worth knowing:

  • Import assertions (assert) are removed in favor of import attributes (with)
  • JSDoc @enum is removed for .js files
  • Prototype reassignment loses its special-cased type inference
  • Legacy this aliasing patterns may type slightly differently and often need an arrow-function refactor

None of these affect most modern codebases on current syntax, but worth checking before you commit.

In the full guide, I cover the install steps for the native preview package, a side-by-side tsc vs tsgo comparison workflow, a CI/CD setup that runs both during migration without blocking builds, removed tsconfig options, monorepo behavior with project references, and a decision table for whether you should upgrade now or wait for stable.

👉 Read the full migration guide: https://devencyclopedia.com/blog/typescript-7-migration-guide

Top comments (0)