Skip to content

Upgrade e2e TypeScript to 7.x#23

Merged
adamnfish merged 2 commits into
mainfrom
typescript-7
Jul 18, 2026
Merged

Upgrade e2e TypeScript to 7.x#23
adamnfish merged 2 commits into
mainfrom
typescript-7

Conversation

@adamnfish

Copy link
Copy Markdown
Owner

What

Bumps typescript in e2e/ from ^5.6.0 to ^7.0.2 (lockfile resolves to 7.0.2, the latest stable). This is the focused TypeScript 5.x → 7.x upgrade that was deliberately left out of the recent general dependency bump: TS 7 is the new native compiler (the Go-based rewrite), so it warranted its own PR.

The frontend/ directory is Elm and is untouched.

tsconfig adjustments

Two minimal changes to e2e/tsconfig.json were needed for the new compiler:

  • "types": ["node"] — TS 7 no longer picked up the installed @types/node automatically under this config, producing TS2591: Cannot find name 'Buffer'/'process'/... throughout the Playwright type definitions and playwright.config.ts. Listing node types explicitly resolves it.
  • "target": "ES2020""ES2022" — the test sources use Promise.any, which needs ES2021+ lib typings (TS2550). ES2022 matches the Node versions we run on. (Playwright transpiles test files itself at runtime, so target here only affects type-checking.)

No test-source changes were needed.

Verified locally

  • npx tsc --versionVersion 7.0.2
  • npx tsc -p . --noEmit in e2e/ → exits 0, no errors over the test sources and playwright.config.ts
  • npm install refreshed e2e/package-lock.json (TS 7 ships per-platform native binaries as @typescript/typescript-* optional deps, hence the larger lockfile diff)

CI

The E2E Tests (local) check on this PR runs the actual Playwright suite against a locally-built stack, which exercises the upgraded toolchain end to end.

🤖 Generated with Claude Code

adamnfish and others added 2 commits July 18, 2026 00:00
TypeScript 7 is the native (Go-based) compiler rewrite. It no longer
auto-includes @types packages under this config, so node types are now
listed explicitly, and the target is raised to ES2022 so lib typings
cover Promise.any used in the tests.

Playwright transpiles test files itself at runtime; typescript here is
for type-checking and editor support. `tsc -p . --noEmit` passes
cleanly with 7.0.2.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Keeps TypeScript 7.0.2 from this branch while taking main's newer
@playwright/test 1.61.1 and @types/node 26.1.1. Lockfile regenerated
from main's version via npm install.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@adamnfish
adamnfish merged commit 2dc4f37 into main Jul 18, 2026
3 checks passed
@adamnfish
adamnfish deleted the typescript-7 branch July 18, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant