Decoration
Decoration

Unlocking TypeScript 5.9: Key Updates Every Developer Should Know

TypeScript continues to evolve, bringing smarter tools and better performance for developers. Introduct is excited to share the key updates in the TypeScript 5.9 Release Candidate (RC), announced by Microsoft in July 2025. Whether you’re an experienced developer or just starting your coding journey, these improvements help streamline your workflow and unlock new capabilities for modern JavaScript and Node.js projects.

A Fresh, Minimal tsc --init for Modern Projects

One of the first noticeable changes in TypeScript 5.9 is a more minimalistic and modern default configuration generated by tsc --init. Instead of a lengthy and heavily commented tsconfig.json, the new setup focuses on sensible defaults like "module": "nodenext", "target": "esnext", strict typing options, and JSX set to "react-jsx".

This means you spend less time tweaking boilerplate configs and more time writing robust, maintainable code. If you’re building new TypeScript projects, this streamlined setup is a solid foundation.

Deferred Module Evaluation with import defer

TypeScript 5.9 introduces support for ECMAScript’s new import defer syntax. This allows modules to be loaded but delays their execution until their contents are actually accessed.

import defer * as feature from “./heavy-module.js”;

// Module code won’t run until you access a property on feature
console.log(feature.someValue);

This is especially useful for optimizing startup times or conditionally loading modules with side effects or expensive initialization. Keep in mind, only namespace imports work with import defer, and it requires native support in your runtime or bundler.

Stable Node.js 20 Module Mode

The new --module node20 option aligns your build with Node.js version 20’s module system and targets ES2023. Unlike the evolving nodenext mode, node20 offers predictable, stable behavior — ideal for projects that demand consistent CommonJS and ESM interoperability.

Improved Editor Experience: Tooltips & Hover Details

TypeScript 5.9 enhances developer productivity by:

  • Adding summary descriptions for DOM APIs directly in hover tooltips
  • Introducing expandable hover tooltips in Visual Studio Code to explore type details without jumping to definitions
  • Increasing and making the hover tooltip length configurable, so you get more helpful info on hover

Performance Improvements

Under the hood, TypeScript 5.9 caches repeated type instantiations and optimizes file system operations, boosting compilation speed — a big win for large projects using generics-heavy libraries like Zod or tRPC.

Some breaking changes include updates to DOM types and type inference rules. For example, ArrayBuffer is no longer a supertype for certain typed arrays, which might require updating your type definitions or dependencies like @types/node.

Microsoft plans to release the final version of TypeScript 5.9 soon, while work continues on a native TypeScript port, expected in the upcoming TypeScript 7. At Introduct, we’re ready to help you integrate these updates into your projects, delivering modern, efficient software tailored to your needs.