Skip to content

chore(ts): migrate moduleResolution from 'node' to 'bundler' #1209

@danieliser

Description

@danieliser

Context

PR #1208 silenced the TS 5.x deprecation warning for `moduleResolution: "node"` (deprecated in favor of `node10`/`bundler`/`nodenext`) via `ignoreDeprecations: "5.0"` in `tsconfig.base.json`. That was a deliberate stopgap — an earlier attempt to migrate to `moduleResolution: "bundler"` broke type-root resolution in the pnpm-hoisted monorepo (hoisted `@types/*` weren't findable from package dirs).

Why this matters

TypeScript 7.0 will remove the `ignoreDeprecations` escape hatch entirely. At that point the existing config will refuse to compile. TS 7.0 release timing is uncertain but realistically ~12 months out. Best to fix it on our schedule, not under a deadline.

What's needed

  1. Switch `moduleResolution: "node"` → `"bundler"` (recommended for webpack-bundled monorepos) in `tsconfig.base.json`.
  2. Resolve the fallout — likely `typeRoots` explicit config or individual package tsconfigs referencing their type dependencies directly.
  3. Consider whether `esModuleInterop: false` (also deprecated) should migrate too. Currently kept `false` as a library-consumer compatibility choice.
  4. Verify all packages still pass `build:tsc` after the change.
  5. Remove the `"ignoreDeprecations": "5.0"` line once migration lands.

Acceptance

  • `pnpm run build:tsc` passes across all 21 packages
  • No deprecation warnings emitted by TS
  • `ignoreDeprecations` no longer needed

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions