Skip to main content

TypeScript Modernity Scanner: Strictness, Modules, and ESM Readiness

Understand how the TypeScript Modernity Scanner reads tsconfig.json to assess strictness, module system, and ESM readiness — and why these settings determine how painful your next TypeScript or framework upgrade will be.

Vibgrate Docs

Vibgrate Help

The TypeScript Modernity Scanner analyzes your tsconfig.json to assess how modern and strict your TypeScript configuration is. It runs as part of a normal scan and contributes to your DriftScore. This article is for TypeScript and JavaScript teams planning upgrades.

What it detects

  • Strictness — whether strict type-checking options are enabled, which determines how much the compiler protects you during refactors and upgrades.
  • Module system — how modules are configured, which affects interop and bundling.
  • ESM readiness — how prepared the project is for ECMAScript Modules, the direction the ecosystem is moving.

Findings describe the current configuration posture so you know where you stand relative to modern defaults.

Why it matters

tsconfig.json is small but decisive. Loose strictness means the compiler hides type errors that surface only when a dependency changes its types during an upgrade. An outdated module configuration makes adopting ESM-only packages painful, and more of the ecosystem ships ESM-only every quarter. Projects that are not ESM-ready accumulate drift that compounds: each new library that drops CommonJS widens the gap.

Making this posture visible lets you modernize deliberately, in small steps, instead of being forced into a large, risky migration when a critical dependency goes ESM-only.

How to act

Scan the project:

vg

Review the TypeScript findings. If strictness is off, enable strict options incrementally and fix the surfaced errors in batches. If the module configuration is dated, plan a move toward modern module resolution and ESM. Make each change its own reviewable pull request so the impact is contained.

Capture progress with a baseline so improvements are measurable and regressions are gated:

vg baseline

Triage tips

  • Turn on one strict option at a time to keep error volume manageable.
  • Prioritize ESM readiness if any critical dependency has announced an ESM-only release.
  • Treat a loosened tsconfig in a pull request as drift worth flagging in review.

Related

This scanner pairs naturally with the Breaking Change Exposure Scanner and the Dependency Risk Scanner. For getting-started guidance, see the Node.js and TypeScript onboarding article. The DriftScore explainer shows how configuration posture rolls into your overall score.

Related Commands