Skip to content

Update to TypeScript 7 - #520

Open
gaborm88 wants to merge 6 commits into
masterfrom
typescript7-update
Open

Update to TypeScript 7#520
gaborm88 wants to merge 6 commits into
masterfrom
typescript7-update

Conversation

@gaborm88

@gaborm88 gaborm88 commented Jul 28, 2026

Copy link
Copy Markdown

Upgrades the workspace from TypeScript 5.x to TypeScript 7.0.2, modernizes the build/test tooling around it, and widens supported peer ranges to ^4.8.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 across all published packages — so consumers on older TypeScript versions are unaffected.

Changes

TypeScript 7

  • typescript bumped to 7.0.2 in all packages (previously 5.7.2/5.9.2)
  • Peer dependency ranges widened to allow TS 6 and 7
  • Minor source adjustments for TS 7 compatibility (e.g. import * as assertimport assert)

Module resolution modernization

  • module / moduleResolution: commonjs / nodenode16 in all tsconfigs
  • Cleaned up baseUrl/paths usage and added explicit types: ["node"] where needed

Tooling: drop ts-node / ts-jest

  • Script execution (render, prerender, drivers, examples): ts-nodetsx
  • Jest transform: ts-jest@swc/jest
  • Removes ts-node and ts-jest devDependencies entirely

Fix eslint under TS 7

  • @typescript-eslint/* 5.x doesn't support TS 7, so packageExtensions in pnpm-workspace.yaml now injects typescript: npm:@typescript/typescript6@^6.0.2 into @typescript-eslint/eslint-plugin, @typescript-eslint/type-utils, @typescript-eslint/typescript-estree, and tsutils
  • eslint tooling runs against TypeScript 6.0.3 via the shim while the repo itself compiles with TS 7

pnpm 10.16.0 → 10.33.0

  • Fixes a pnpm metadata-cache collision (ERR_PNPM_MISSING_TIME) where projects without minimumReleaseAge overwrite the full-metadata cache entries this repo needs (abbreviated docs lack the time field). 10.33.0 separates the cache into metadata-ff-v1.3
  • Removed the explicit version: pins from pnpm/action-setup in both workflows — the action now reads the version from packageManager in package.json, keeping a single source of truth
  • pnpm-lock.yaml regenerated (new packageExtensionsChecksum + typescript6 resolutions)

Testing

  • pnpm install --frozen-lockfile passes locally
  • pnpm run lint:local passes (validates the eslint TS6 shim)
  • CI: install / lint / test / build on all matrix Node versions

gaborm88 added 6 commits July 27, 2026 10:39
- Updated jest configuration to use @swc/jest instead of ts-jest.
- Replaced ts-node with tsx in various package.json scripts and example files for improved performance.
- Adjusted import statements to use default imports for 'assert' and 'Koa' where applicable.
- Updated TypeScript peer dependencies to support version 7 across multiple packages.
@gaborm88
gaborm88 requested a review from sakari July 29, 2026 07:11
@gaborm88 gaborm88 changed the title Typescript7 update Update to TypeScript 7 Jul 29, 2026
@gaborm88
gaborm88 marked this pull request as ready for review July 29, 2026 07:12
@gaborm88 gaborm88 added the minor label Jul 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant