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