Skip to content

chore(deps-dev): converge the TypeScript and frontend toolchain for 1.0 #1580

Description

@FelixTJDietrich

Outcome

The repository has one coherent, current TypeScript and frontend toolchain before 1.0, with deterministic generation and no temporary compiler alias.

Part of #1378 and #1377. Resolves or supersedes #1466 only when its upstream blocker is removed. Follows #1570.

Scope

Process the current frontend and root developer-tooling backlog, including:

  • TypeScript 7 convergence
  • @hey-api/openapi-ts
  • Storybook packages and addons
  • Chromatic packages and Action
  • Playwright
  • Vitest packages
  • Tailwind CSS and official plugins
  • Oxlint and @oxlint/plugins
  • Oxc React transform tooling
  • Testing Library packages
  • MSW and Storybook MSW integration
  • jsdom
  • Commitlint
  • markdownlint
  • npm-run-all2
  • npm-package-arg
  • OpenAPI Generator CLI
  • other current root, webapp, and docs developer-tooling updates from Dependency Dashboard Dependency Dashboard #709

The preferred end state is one typescript dependency. Remove the typescript7 alias, its scripts, and its explanatory note only when @hey-api/openapi-ts supports the TypeScript 7 programmatic API. Do not replace that blocker with a custom compiler bridge, patch-package patch, or second code-generation path.

Documentation runtime packages may be updated here when they must remain version-aligned with Docusaurus developer packages. Do not include shipped webapp runtime dependencies.

Review requirements

  • Compare generated API output before and after generator upgrades.
  • Review Storybook configuration and story execution rather than accepting compile-only success.
  • Review lint-rule changes; do not silence newly reported defects through blanket disables.
  • Remove configuration made obsolete by upgraded tools.
  • Keep Bun as the only JavaScript package manager and execution path.
  • Preserve oxfmt and Oxlint as the formatting and linting owners.

Done when

  • TypeScript uses one supported version, or Drop the typescript7 alias once openapi-ts supports the TypeScript 7 API #1466 remains blocked with current upstream evidence.
  • API generation is deterministic and reviewed.
  • Storybook, Playwright, Vitest, Oxlint, and Tailwind use mutually compatible current versions.
  • Root, webapp, and documentation type checks pass.
  • No pnpm, Biome, Prettier, or temporary compatibility tooling is introduced.
  • Unit, Storybook, and E2E suites pass.
  • Every intentional generated diff is explained in the PR.

Execution contract

Research is the first step of this implementation issue, not a separate deliverable. Use upstream migration notes and local experiments to choose the supported upgrade path, then implement every compatible update in the same workstream.

If TypeScript convergence remains externally blocked, complete and merge the rest of the toolchain upgrade. Update #1466 with the exact failing upstream version, a minimal reproduction, and the condition that will unblock implementation. Create another follow-up only if a different major upgrade has an independent, non-mechanical migration that cannot remain reviewable here; link it from this issue and define its owner, scope, and completion test before closing this issue.

A report containing recommendations without merged implementation does not complete this issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ciGitHub Actions, workflows, build pipeline changesdependenciesPackage updates, version bumps, lock file changespriority:criticalDrop everything - Loss of functionality or datasize:LThis PR changes 100-499 lines, ignoring generated files.webappReact app: UI components, routes, state management

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions