The TypeScript team recently released TypeScript 6 in beta. The release serves as a key transition point rather than a full feature release. It focuses on technical debt elimination and standardization, preparing the ecosystem for TypeScript 7, a rewrite of the TypeScript code in Go that seeks to address core performance issues that ballooned over time.
TypeScript 6 features several improvements in default settings, alignment with evolving JavaScript specifications, and deprecation of outdated compilation targets.
The strict mode is now enabled by default. Module resolution defaults to ES modules (esnext). The new default target aligns with current ECMAScript standards (currently es2025), reflecting the choices of a vast majority of developers who seldom transpile down to older versions. Similarly, unchecked side-effect imports are caught by default (noUncheckedSideEffectImports setting). In case the new defaults would break their project, developers can still set the default values explicitly in their tsconfig.json.
TypeScript 6 aligns further with web standards. It implements subpath imports from the Node.js module specification, reducing reliance on custom path resolution workarounds. It adds support for the RegExp Escaping ECMAScript proposal (Stage 4, thus now officially part of the language) and improves DOM typing with proper Iterable support.
TypeScript 6 also deprecates ES5 targets, module systems like AMD and UMD, the baseUrl configuration, and out-file bundling. These removals, besides leading to leaner implementations, reflect the fact that ES5 targeting is rarely ever happening, CommonJS is being superseded by ESM bundlers, and modern JavaScript environments are mostly evergreen.
The standardization effort and sane defaults of TypeScript pave the way for TypeScript 7, currently under active development. TypeScript 7 is a major rewrite of the TypeScript compiler in Go designed to address performance issues that have become a significant pain point for developers now that TypeScript is used in very large full-stack applications, from server-side logic with Node.js to desktop applications (e.g., via Electron), to type-safe systems spanning from database to client. In large codebases, TypeScript compilation is often reported to be a major bottleneck in development workflows, with wait times extending to minutes.
The release notes recommend migrating to TypeScript 6 as preparation for making the switch to TypeScript 7:
TypeScript 6.0 is designed as a transition release. While the options deprecated in TypeScript 6.0 will continue to work without errors when
"ignoreDeprecations": "6.0"is set, they will be removed entirely in TypeScript 7.0 (the native TypeScript port). If you’re seeing deprecation warnings after upgrading to TypeScript 6.0, we strongly recommend addressing them before trying to adopt TypeScript 7 (or its native previews) in your project.
[…] We are also continuing to work on TypeScript 7.0, and publish nightly builds of our native previews along with a VS Code extension too. Feedback on both 6.0 and 7.0 are very much appreciated, and we encourage you to try out both if you can.
TypeScript is open source software available under the Apache 2 license. Contributions and feedback are encouraged via the TypeScript GitHub project and should follow the TypeScript contribution guidelines and Microsoft open-source code of conduct.