Summary
Migrate the project from TypeScript 6.0.3 to TypeScript 7 after the lint and build toolchain supports it, while preserving path aliases, generated routes, tests, Storybook, and E2E behavior.
Background
Dependabot PR #42 attempted to upgrade TypeScript to 7.0.2. The update was excluded from #43 because the current toolchain is not yet compatible.
Observed blockers:
typescript-eslint@8.67.0 declares a TypeScript peer range of >=4.8.4 <6.1.0.
- TypeScript 7 validation fails with
TS5102 because baseUrl has been removed.
- TypeScript 7 validation fails with
TS5090 because the existing path targets are not explicitly relative.
- The errors occur in both
tsconfig.app.json and tsconfig.vitest.json.
Node 24.19.0 and pnpm 11.22.0 are already pinned. jsdom 30 is already supported and is not part of this migration blocker.
Scope
- Select a
typescript-eslint release that explicitly supports TypeScript 7, or document and approve another compatible lint strategy without suppressing peer checks.
- Remove
baseUrl from tsconfig.app.json and tsconfig.vitest.json.
- Update the
@/* path target to an explicitly relative TypeScript 7-compatible value.
- Upgrade TypeScript and regenerate
pnpm-lock.yaml with pnpm 11.22.0.
- Verify TanStack Router route generation, Vite builds, Vitest coverage, Storybook, and Playwright.
- Do not manually edit
src/routeTree.gen.ts; regenerate it with pnpm generate-routes.
Acceptance Criteria
References
Summary
Migrate the project from TypeScript 6.0.3 to TypeScript 7 after the lint and build toolchain supports it, while preserving path aliases, generated routes, tests, Storybook, and E2E behavior.
Background
Dependabot PR #42 attempted to upgrade TypeScript to 7.0.2. The update was excluded from #43 because the current toolchain is not yet compatible.
Observed blockers:
typescript-eslint@8.67.0declares a TypeScript peer range of>=4.8.4 <6.1.0.TS5102becausebaseUrlhas been removed.TS5090because the existing path targets are not explicitly relative.tsconfig.app.jsonandtsconfig.vitest.json.Node 24.19.0 and pnpm 11.22.0 are already pinned. jsdom 30 is already supported and is not part of this migration blocker.
Scope
typescript-eslintrelease that explicitly supports TypeScript 7, or document and approve another compatible lint strategy without suppressing peer checks.baseUrlfromtsconfig.app.jsonandtsconfig.vitest.json.@/*path target to an explicitly relative TypeScript 7-compatible value.pnpm-lock.yamlwith pnpm 11.22.0.src/routeTree.gen.ts; regenerate it withpnpm generate-routes.Acceptance Criteria
pnpm peers checkreports no peer dependency issues.pnpm typecheckpasses withoutTS5102orTS5090.pnpm verifypasses.pnpm audit --audit-level highpasses.References