mono - chore: upgrade TypeScript and build tooling (breaking) - #2022
Conversation
Upgrade the TypeScript and build toolchain to the versions surfaced by pnpm outdated: - typescript 6.0.3 -> 7.0.2 (major) - tsx 4.22.4 -> 4.23.1 - tsdown 0.22.3 -> 0.22.14 - js-yaml 5.2.0 -> 5.2.2 - docula 2.1.0 -> 2.2.0 @types/node is deliberately held at ^24.13.1. The workspace override keeps it within the Node major from .nvmrc (24), so 26.1.2 is out of range until the repo moves to Node 26. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EhFhwXMXeG5bRV8gV61WL3
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Code Review
This pull request updates several dependencies across the workspace, including tsx, js-yaml, tsdown, docula, and typescript. A critical security vulnerability was identified regarding the update of typescript to version 7.0.2 (and previously 6.0.3). These versions do not exist in official Microsoft releases and pull unofficial, platform-specific packages, indicating a potential supply chain attack. It is highly recommended to revert these changes and use a verified, official version of TypeScript.
| "rimraf": "^6.1.3", | ||
| "tsd": "^0.33.0", | ||
| "typescript": "^6.0.3", | ||
| "typescript": "^7.0.2", |
There was a problem hiding this comment.
🚨 CRITICAL SECURITY WARNING: Potential Supply Chain Attack / Malicious Dependency\n\nThe package typescript at version 7.0.2 (and previously 6.0.3) does not exist in the official Microsoft TypeScript releases. Please revert this change immediately and use an official, verified version of TypeScript (e.g., ^5.7.3).
| "typescript": "^7.0.2", | |
| "typescript": "^5.7.3", |
There was a problem hiding this comment.
Not applying — same as the root package.json thread. Don't click "Commit suggestion": main already ships typescript@6.0.3, so ^5.7.3 downgrades two majors.
7.0.2 is the official latest on npm under the Microsoft maintainer set. Evidence: here.
Generated by Claude Code
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2022 +/- ##
===========================================
+ Coverage 99.96% 100.00% +0.03%
===========================================
Files 55 55
Lines 5067 5067
Branches 825 819 -6
===========================================
+ Hits 5065 5067 +2
+ Misses 2 0 -2 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Re: @gemini-code-assist's "supply chain attack" finding on
|
Please check if the PR fulfills these requirements
What kind of change does this PR introduce?
Chore — dependency upgrade. Second PR in the dev phase, covering the TypeScript and build toolchain. Follows #2021.
Summary
Upgrades the TypeScript/build toolchain to the versions surfaced by
pnpm outdated, including a TypeScript major (6 → 7). No source ortsconfigchanges were needed — everything builds and tests clean on 7.0.2.Changes
typescript6.0.3 → 7.0.2 (major) — root,@keyv/serialize-msgpackr,@keyv/serialize-superjsontsx4.22.4 → 4.23.1 — root,@keyv/bigmap,@keyv/websitetsdown0.22.3 → 0.22.14 — rootjs-yaml5.2.0 → 5.2.2 — rootdocula2.1.0 → 2.2.0 —@keyv/websiteAll targets are the exact
Latestvalues frompnpm outdated, so the workspaceminimumReleaseAgegate (4 days) is respected.Deliberately held back:
@types/nodepnpm outdatedoffers@types/node24.13.1 → 26.1.2, and this PR does not take it.pnpm-workspace.yamlpinsoverrides: "@types/node": ^24.13.1with a comment tying it to the Node major in.nvmrc(24), so 26.x is out of range by design until the repo moves to Node 26.Worth a separate decision at some point: the
tests.yamlmatrix already runs Node 22, 24, and 26, so the types are a major behind the newest runtime being exercised. That's a repo-policy call, not a dependency bump, so I've left it alone.Verification
pnpm build— all 20 packages build clean on TypeScript 7.0.2 (tsc --version→ 7.0.2)pnpm testfor the 12 packages that don't need Docker services — 894 tests passed, 4 todopnpm test:scripts— 20 tests passed (exercises the bumpedjs-yaml)pnpm generate-docs— thetsx4.23.1 path runs clean, all adapters processedpnpm website:build— cannot complete in this sandbox:docula buildcalls the GitHub releases API and gets HTTP 401 without credentials. I verified this is pre-existing and not a docula regression by re-running the same build on the previous version — docula 2.1.0 fails with the identical 401. This job only runs onrelease/workflow_dispatch, not on PR CI.Breaking notes
typescriptcrosses a major (6 → 7). Nothing in this repo needed changing — notsconfigmigration, no source edits, no new diagnostics — but consumers building against these packages from source should be aware the pinned compiler moved a major. Published output is unaffected:tsdownemits the same CJS/ESM/.d.tsshapes.Generated by Claude Code