Microsoft has released the beta of TypeScript 6.0, highlighting what the company describes as a transitional moment for the widely used programming language. The release will be the final version built on the JavaScript codebase, with TypeScript 7.0 slated to introduce a compiler and language service rewritten in Go.
For more than a decade, TypeScript has effectively been self-hosted, written in its own language and running atop the JavaScript runtime. That approach offered flexibility and rapid iteration, but it also exposed limits in performance and scalability. Those issues have become increasingly problematic as the language has grown in scale and adoption.
Microsoft signaled its intention last year to rebuild the compiler infrastructure in Go, citing the advantages of native execution and support for shared-memory parallelism. The shift is designed to address long-standing bottlenecks in build times and editor responsiveness. The Go-based architecture should better handle the compute-intensive demands of today’s development workflows.
Major Changes Ahead
Many of the changes in the beta are aimed at aligning default settings and behaviors with what developers can expect in version 7.0.
Among the most consequential updates: the compiler now enables strict mode by default. The module setting shifts to esnext, and the target moves to the current ECMAScript year, ES2025. Several legacy options are deprecated, including support for ES5 targets and older module resolution strategies. While developers can temporarily suppress deprecation warnings in 6.0, those legacy configurations will be removed entirely in 7.0.
Other defaults are geared to boost predictability and performance. The rootDir setting now defaults to the directory containing the project’s tsconfig.json file, eliminating prior inference logic. Additionally, the types field in compilerOptions now defaults to an empty array rather than automatically including all available type packages. Microsoft reports that, in testing, properly scoping type declarations has reduced build times by as much as 20% to 50% in some projects.
To assist developers preparing for the Go-based release, Microsoft has introduced a new flag, stableTypeOrdering. This option aligns type ordering behavior with the model required by the parallelized architecture planned for TypeScript 7.0. The company says that the flag may slow type checking and is intended primarily as a diagnostic aid during migration.
Despite its transitional focus, TypeScript 6.0 also delivers incremental feature updates tied to recent advances in the JavaScript ecosystem. Support for ES2025 introduces types for emerging APIs such as Temporal, which standardizes date and time handling, and RegExp.escape for safer pattern construction.
The release also incorporates type definitions for newly standardized upsert methods on Map and WeakMap objects. Improvements to type inference reduce context sensitivity for functions that do not rely on this, resolving a class of compiler errors.
TypeScript’s Growing Footprint
This major shift reflects TypeScript’s growing footprint. The language recently climbed to the top ranks of GitHub activity, reflecting widespread adoption in both enterprise and open source projects. As web applications scale in complexity, TypeScript has become a default choice for teams seeking stronger guarantees around code correctness.
Microsoft has characterized the 6.0 beta as feature complete, with a production release planned in the coming weeks. The company says it intends to follow quickly with TypeScript 7.0, minimizing disruption while offering an architectural overhaul.

