News
TypeScript 7.0 Beta Arrives on Go-Based Foundation With 10x Speed Claim
Microsoft on Tuesday announced TypeScript 7.0 Beta, marking the public beta debut of the company's Go-based rework of the language's compiler and tooling stack. The release is positioned as a major architectural shift for the language, with Microsoft saying the new implementation is "often about 10 times faster than TypeScript 6.0."
The announcement is significant not only because it advances the TypeScript 7 release train, but because it formalizes the transition away from the long-standing JavaScript-based implementation. In the official April 21 release post, Microsoft said the beta is built on "a completely new foundation" created by porting the existing TypeScript codebase to Go while preserving the same type-checking behavior and semantics developers already rely on.
Microsoft also used the beta launch to make an unusually direct readiness claim for a beta-stage compiler. In the announcement, Daniel Rosenwasser wrote, "Don’t let the 'beta' label fool you -- you can probably start using this in your day-to-day work immediately." He added that the compiler had already been validated against the project's long-running test suite and used in "multiple multi-million line-of-code codebases both inside and outside Microsoft."
New Foundation, Same Semantics
According to Microsoft, TypeScript 7.0 Beta is not a ground-up redesign of the language's behavior. Instead, the company said the new Go codebase was "methodically ported from our existing implementation rather than rewritten from scratch," and that its "type-checking logic is structurally identical to TypeScript 6.0." Microsoft said that architectural parity is intended to keep compiler semantics stable even as the underlying implementation changes.
The company tied that parity claim to broader compatibility goals. It said TypeScript 7.0 is designed to behave the same as TypeScript 6.0 on existing code, while delivering major performance gains from native execution and shared-memory parallelism. Microsoft said the new release has already been tested by internal teams and external organizations including Bloomberg, Canva, Figma, Google, Lattice, Linear, Miro, Notion, Slack, Vanta, Vercel and VoidZero.
The result, according to Microsoft, is a beta release that is already "highly stable, highly compatible, and ready to be put to the test in your daily workflows and CI pipelines today." For developers evaluating the announcement, that framing makes the release less about feature experimentation and more about operational validation at scale.
How To Install and Run the Beta
Microsoft said developers can install the beta from npm with npm install -D @typescript/native-preview@beta. The company also noted that the package name "will eventually be typescript in a future release."
Once installed, developers run the new compiler through tsgo instead of tsc. Microsoft showed the expected version output as "Version 7.0.0-beta" and said the tsgo executable has "the same behavior on all TypeScript code as tsc from TypeScript 6.0 -- just much faster."
For editor scenarios, Microsoft pointed developers to the TypeScript Native Preview extension for VS Code. The company said the editor support is "rock-solid" and added that it is built on the Language Server Protocol, which should make it easier to use in modern editors and tools beyond Visual Studio Code.
Side-by-Side Transition With TypeScript 6.0
Microsoft is also using the beta to manage coexistence between TypeScript 6.0 and the upcoming stable TypeScript 7.0 release. The company said the beta is distributed under the @typescript/native-preview package name and exposed through the tsgo entry point specifically to make comparison and validation easier during the transition.
That separation will not remain permanent. Microsoft said the stable TypeScript 7.0 release will be published under the typescript package name and will use the tsc entry point. At the same time, the company said it will not have a stable programmatic API until "at least several months from now with TypeScript 7.1."
To reduce migration friction, Microsoft said it has published a compatibility package named @typescript/typescript6. That package exposes a tsc6 entry point and re-exports the TypeScript 6.0 API so teams can move their primary compiler workflow to TypeScript 7 while allowing other tools to continue depending on 6.0 behavior where needed.
Microsoft also recommended npm aliases for tooling scenarios in which packages expect to import directly from typescript through peer dependencies. That guidance is especially relevant for developers working with ecosystem tools that may not move to the new compiler entry points immediately.
Parallelization Features and New Controls
The announcement also details how TypeScript 7.0 Beta is delivering its performance gains. Microsoft said the compiler now performs parsing, type-checking and emitting in parallel. Some of that work, such as parsing and emitting, can be distributed across files with relatively low overhead, while more complex steps like type-checking require stricter coordination to preserve deterministic results.
To manage that, the company said TypeScript 7.0 creates a fixed number of type-checker workers and divides work among them in a stable way. The default number of type-checking workers is four, and developers can adjust that with the new --checkers flag. Microsoft said larger codebases on higher-core machines may benefit from higher values, while lower-core machines such as CI runners may need smaller settings to reduce overhead.
TypeScript 7.0 Beta also introduces a --builders flag for parallel project-reference builds. Microsoft said that can help monorepos by allowing multiple projects to build concurrently, though it also warned that higher builder and checker counts can increase memory consumption. For teams that need deterministic debugging or constrained-resource runs, the company added a --singleThreaded flag that enforces single-threaded parsing, type-checking and emitting.
Configuration Defaults and Breaking Changes
Microsoft said TypeScript 7.0 is intended to be compatible with TypeScript 6.0 behavior, but the beta also adopts the newer defaults and deprecations introduced in 6.0. Among the listed defaults, strict is now true by default, module defaults to esnext, noUncheckedSideEffectImports is true by default, and stableTypeOrdering is true by default and cannot be disabled.
The company also highlighted configuration areas likely to surprise some teams. It said rootDir now defaults to ./, while types now defaults to an empty array instead of the older implicit behavior. Microsoft recommended explicitly setting those options where projects depend on prior conventions.
The beta turns several earlier deprecations into hard errors or unsupported settings. The post says that includes target: es5, downlevelIteration, legacy module-resolution options such as node and node10, and older module targets including amd, umd, systemjs and none. It also notes that esModuleInterop and allowSyntheticDefaultImports can no longer be set to false.
For Microsoft, the beta announcement marks the point where the TypeScript 7 transition stops being preview-only and becomes an official public release milestone. The company is framing the move as both an implementation overhaul and a practical compiler upgrade for real-world projects, with compatibility preserved and performance as the headline benefit.
About the Author
David Ramel is an editor and writer at Converge 360.