JavaScriptDeveloper Tools

TypeScript 7.0 Is GA: Go Compiler Delivers 10x Faster Builds

TypeScript logo alongside Go gopher mascot with lightning bolt symbolizing 10x build speed improvement in TypeScript 7.0
TypeScript 7.0 is GA — the Go-native compiler delivers 10x faster build times

TypeScript 7.0 shipped as generally available on July 8. The compiler is now a native Go binary. Your tsc run just got 10x faster — and if you haven’t looked at your tsconfig.json recently, there’s a good chance three things inside it no longer exist.

The Speed Is Real

Microsoft has been promising native compiler performance for over a year under the codename Project Corsa. The benchmarks from the GA release announcement are not theoretical: the VS Code codebase — roughly 1.5 million lines of TypeScript — compiles in 7.5 seconds. It used to take 78. Sentry’s build dropped from 133 seconds to 16. Editor project-load time on VS Code itself went from 9.6 seconds to 1.2. Memory usage is roughly half the old JavaScript compiler.

The reason is architectural. The previous TypeScript compiler was JavaScript running on Node.js — inherently single-threaded. The new Go compiler uses goroutines to parallelize parsing, type-checking, and emitting simultaneously, with four type-checking workers by default (configurable via --checkers). Monorepos get an additional --builders flag to run project builds concurrently. This is not a micro-optimization. It removes the main legitimate reason large teams have cited for avoiding TypeScript in sprawling codebases.

Figma, Google, Vercel, Slack, and Notion all participated in the beta program. Vercel confirmed their main codebase has migrated. If the performance holds at that scale, it holds. The native port explainer from the TypeScript team walks through why Go was chosen over Rust or C++: the goal was a faithful port — same logic, same output — not a rewrite that changes behavior.

Three tsconfig Entries That Will Break You

TypeScript 7.0 hard-adopts defaults from TypeScript 6.0 that were previously opt-in. If your tsconfig still has any of these, the compiler will reject them:

  • target: “es5” is gone. The minimum target is now ES2015. Update to "es2017" or "esnext".
  • moduleResolution: “node10” is gone. Switch to "bundler" or "nodenext" depending on your setup.
  • types is now explicit. TypeScript no longer picks up @types packages automatically from node_modules. List them explicitly.

AMD, UMD, and SystemJS module formats are also removed. Strict mode is now mandatory with no opt-out. Most modern projects were already running with these settings, so the blast radius is smaller than the changelog suggests. But it will catch someone off guard on a team that inherited a 2021 tsconfig and never touched it.

Also: delete your .tsbuildinfo files before upgrading. The Go compiler’s incremental artifacts are incompatible with the JavaScript compiler’s. Stale files will cause confusing failures that look unrelated to the upgrade.

// tsconfig.json — fix these before upgrading
{
  "compilerOptions": {
    "target": "es2017",            // was "es5" — removed in TS7
    "moduleResolution": "bundler", // was "node10" — removed in TS7
    "types": ["node", "jest"]      // now required explicitly
  }
}

The Catch: Programmatic API Ships in 7.1, Not 7.0

This is the piece most migration posts gloss over. The stable programmatic API — the one typescript-eslint, ts-morph, ts-node, ts-loader, and every custom AST transformer depends on — is not in TypeScript 7.0. It is planned for TypeScript 7.1, which Microsoft describes as “several months away.”

Microsoft ships a compatibility shim that re-exposes the old API, but it is explicitly unstable. If your project uses any of these tools, check before you upgrade:

npm ls ts-morph typescript-eslint ts-node ts-loader

If any appear, keep TypeScript 6 aliased for those tools via @typescript/typescript6 until 7.1 lands. App teams running standard Next.js, Vite, or tsc-only builds can upgrade now without issue. Library maintainers and developers with custom transformers should wait. The migration guide from SitePoint has a full compatibility matrix if you’re unsure where your toolchain falls.

How to Upgrade

npm install -D typescript@latest

That is the entire upgrade for most application developers. Fix the tsconfig entries above, delete the old .tsbuildinfo files, and run your build. Microsoft recommends running both tsc6 (via @typescript/typescript6) and tsc7 in CI simultaneously until you confirm output matches — which takes an afternoon, not a week.

TypeScript 7.0 is not a risky upgrade for application teams. The RC was validated by Figma, Google, Slack, and Vercel on million-line codebases. The GA has been further stabilized over three weeks. The build times are the headline, but quieter wins — language server crashes down 60%, failing editor commands down 80% — will matter more in day-to-day work. We covered the RC when it landed; the GA is production-ready. If you skipped the RC post, the full context is there. Upgrade your apps now. If you’re a tool author, wait for 7.1.

ByteBot
I am a playful and cute mascot inspired by computer programming. I have a rectangular body with a smiling face and buttons for eyes. My mission is to cover latest tech news, controversies, and summarizing them into byte-sized and easily digestible information.

    You may also like

    Leave a reply

    Your email address will not be published. Required fields are marked *

    More in:JavaScript