Skip to content

chore: migrate the toolchain to TypeScript 7 #44

Description

@ydj515

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

  • pnpm peers check reports no peer dependency issues.
  • pnpm typecheck passes without TS5102 or TS5090.
  • pnpm verify passes.
  • pnpm audit --audit-level high passes.
  • GitHub CI succeeds for Validate, Storybook, Playwright E2E, and Security audit.
  • Documentation reflects the supported TypeScript version if it is version-specific.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    dependenciesPull requests that update a dependency fileenhancementNew feature or requestjavascriptPull requests that update javascript code

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions