Skip to content

build: migrate to TypeScript 6.0 - #611

Merged
aversini merged 2 commits into
mainfrom
chore/typescript-6-migration
Jul 23, 2026
Merged

aversini merged 2 commits into
mainfrom
chore/typescript-6-migration

Conversation

@aversini

Copy link
Copy Markdown
Collaborator

Migrates this repo from TypeScript 5.9.3 to 6.0.3 — the transitional JS-based release that keeps the compiler API, ahead of the eventual TS 7.0 native-compiler move. Part of an ecosystem-wide bump; adopts the already-published @versini/dev-dependencies-common@10.0.0 (which now pins typescript@6.0.3).

Two commits: the 6.0 code/config migration, then adopting the published dev-deps@10 and dropping the temporary typescript pnpm override.

TypeScript 6.0 recipe applied

Every package emits .d.ts via plain tsc, so the emit path surfaced three 6.0 changes:

  • ignoreDeprecations: "6.0" in the shared config — silences TS5107 (esModuleInterop: false is now a hard-error deprecation).
  • types: ["node"] in the shared config — 6.0 no longer auto-includes @types during declaration emit, stranding Node globals (process/console → TS2591/TS2584).
  • explicit rootDir: "./src" on 13 package tsconfigs — 6.0 stopped inferring the common source dir during .d.ts emit (TS5011).

No source-code changes (strict: false). Dep bump: -common 9.2.24 → 10.0.0, -server → 9.0.14.

Verification (TS 6.0.3, isolated run)

  • build: 14/14 projects green, .d.ts layout verified
  • test: 545 tests (12 projects) green
  • lint (biome): clean

🤖 Generated with Claude Code

https://claude.ai/code/session_015cz6WFTEybAEx2kVmbxnDs

aversini and others added 2 commits July 23, 2026 18:14
Recipe applied for the .d.ts emit path (every package's build:types runs
plain tsc): per-package explicit "rootDir": "./src" on all 13 emitting
packages (TS5011 - 6.0 no longer infers the common source dir; ./src is the
actual common source dir each package reports); "ignoreDeprecations": "6.0" in
configuration/tsconfig.common.json to silence the esModuleInterop=false
deprecation hard-error (TS5107); and "types": ["node"] in that same shared
config because 6.0 no longer auto-includes @types during declaration emit,
which stranded the Node globals (process/console/setTimeout/node:util) the CLI
tools use. No source-code changes were needed (strict:false, so no
noImplicitAny). Under 6.0.3: build 14/14 green with .d.ts emitted at the
correct layout, tests 545 passing across 12 projects, lint clean across 13.

pnpm-workspace.yaml carries a TEMPORARY typescript@6.0.3 override as a bridge
until @versini/dev-dependencies-common ships 6.x and is repinned.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015cz6WFTEybAEx2kVmbxnDs
…verride

common@10.0.0 delivers typescript@6.0.3 transitively; override removed and
dev-deps pins bumped (common->10.0.0, server->9.0.14).
Verified: TS resolves to 6.0.3, build 14/14, tests 12/12 (545) green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015cz6WFTEybAEx2kVmbxnDs
@aversini
aversini merged commit c72b2d8 into main Jul 23, 2026
4 checks passed
@aversini
aversini deleted the chore/typescript-6-migration branch July 23, 2026 22:56
@aversini aversini mentioned this pull request Jul 23, 2026
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