Skip to content

CDP-5980: upgrade TypeScript to 6.0 and modernize tsconfig#207

Merged
senechko merged 1 commit into
mainfrom
worktree-cdp-5980-typescript-6
Jun 1, 2026
Merged

CDP-5980: upgrade TypeScript to 6.0 and modernize tsconfig#207
senechko merged 1 commit into
mainfrom
worktree-cdp-5980-typescript-6

Conversation

@senechko
Copy link
Copy Markdown
Member

@senechko senechko commented May 28, 2026

Summary

  • Upgrade TypeScript from 5.9.3 to 6.0.3 (native Go compiler support, stricter deprecation checks)
  • Modernize tsconfig.json: replace deprecated moduleResolution: "node" with node16, remove unused baseUrl/paths, add explicit types: ["node"] (TS 6 no longer auto-includes @types/*)
  • Bump @typescript-eslint/parser and @typescript-eslint/eslint-plugin to 8.60.0
  • Align CI action versions in main.yml to v6 (matching publish.yml)
  • Replace nyc with c8 for code coverage (merged from CDP-5980: replace nyc with c8 for code coverage #209) — c8 uses V8 native coverage; includes yargs@18 override for Node 26 compatibility

Test plan

  • npm run build — tsc compiles without errors, output is CJS
  • npm run lint — ESLint type-aware rules pass
  • npm test — all 163 tests pass with 100% coverage (c8)
  • CI green on Node 22, 24, 26
  • Spot-checked dist/index.js — still emits CommonJS format

🤖 Generated with Claude Code

@socket-security
Copy link
Copy Markdown

socket-security Bot commented May 28, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updated@​types/​node@​22.19.19 ⏵ 22.19.181001008195100
Updatedtypescript@​5.9.3 ⏵ 6.0.3100 +110090 +19590

View full report

@socket-security
Copy link
Copy Markdown

socket-security Bot commented May 28, 2026

All alerts resolved. Learn more about Socket for GitHub.

This PR previously contained dependency changes with security issues that have been resolved, removed, or ignored.

View full report

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Toolchain-only upgrade that moves TypeScript from 5.9.3 to 6.0.3, modernizes tsconfig.json for Node16 module resolution, bumps @typescript-eslint to 8.60.0, and aligns CI action versions in main.yml with publish.yml. No lib/ runtime source is changed, so risk is confined to compile/lint/test/CI behavior; the published artifact remains CommonJS (no "type" field; module: node16 falls back to CJS emit when package.json is not ESM).

Changes:

  • Upgrade TypeScript and related @typescript-eslint packages; regenerate lockfile.
  • Modernize tsconfig.json: switch module/moduleResolution to node16, drop deprecated/unused alwaysStrict/baseUrl/paths, and add explicit types: ["node"].
  • Bump actions/checkout and actions/setup-node to v6 in .github/workflows/main.yml to match publish.yml.

Reviewed changes

Copilot reviewed 2 out of 4 changed files in this pull request and generated no comments.

File Description
tsconfig.json Switches to node16 module/resolution, removes legacy options, pins explicit types: ["node"].
package.json Bumps typescript to ^6.0.3 and @typescript-eslint/* to ^8.60.0.
package-lock.json Regenerated lockfile reflecting the dependency bumps and transitive updates.
.github/workflows/main.yml Updates actions/checkout and actions/setup-node from v4 to v6.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@mike-engel
Copy link
Copy Markdown
Collaborator

@senechko can we go even further to typescript 7 here?

@senechko
Copy link
Copy Markdown
Member Author

TypeScript 7 doesn't exist on npm yet — 6.0.3 is the latest major version. It's the one with the native Go compiler (tsgo) that the ticket references. We'll bump again when 7 lands.

Upgrade from TypeScript 5.9 to 6.0.3 for stricter checks and access to
the native Go-based compiler (tsgo). Modernize tsconfig to replace
deprecated options: switch module/moduleResolution from commonjs/node to
node16, remove unused baseUrl/paths, and add explicit types: ["node"]
since TS 6 no longer auto-includes @types packages.

Also bumps @typescript-eslint to 8.60.0 and aligns CI action versions
to v6 in main.yml.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@senechko senechko force-pushed the worktree-cdp-5980-typescript-6 branch from a708967 to bb30cba Compare May 29, 2026 14:02
@senechko senechko merged commit aa19310 into main Jun 1, 2026
9 checks passed
@senechko senechko deleted the worktree-cdp-5980-typescript-6 branch June 1, 2026 16:48
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.

3 participants