TypeScript 5.9 ships import defer and node20

import defer defers module execution until first property access; --module node20 locks Node.js v20 behavior for stable target.

June 5, 2026

Summary

Deferred imports let you defer expensive initialization and improve startup performance. node20 gives a stable module target that won't change, replacing the moving target of nodenext.

Why it matters

Deferred imports let you defer expensive initialization and improve startup performance. node20 gives a stable module target that won't change, replacing the moving target of nodenext.

Implementation verdict

Drop-in install via npm. import defer requires runtime support (preserve or esnext modules only, no downleveling). node20 replaces nodenext for projects targeting Node 20+. Worth upgrading now if you're on Node 20; import defer needs runtime support to be useful.

Sources

  1. 1.The key benefit of import defer is that the module is only evaluated when one of its exports is first accessed.
  2. 2.import defer will only work under the --module modes preserve and esnext.
  3. 3.TypeScript 5.9 brings a stable option for these settings called node20, intended to model the behavior of Node.js v20.
  4. 4.This feature is particularly useful for conditionally loading modules with expensive or platform-specific initialization. It can also improve startup performance by deferring module evaluation for app features until they are actually needed.

Dev Signal

Get briefs like this in your inbox — free, 3x a week.

100+ sources compressed into one 4-minute read. Ranked, cited, implementation-ready.