Skip to content

chore: bump TypeScript from 4.x to ^5.5.0 across all package.json files#633

Open
NikkiAung wants to merge 2 commits into
solana-foundation:mainfrom
NikkiAung:feat/typescript-5
Open

chore: bump TypeScript from 4.x to ^5.5.0 across all package.json files#633
NikkiAung wants to merge 2 commits into
solana-foundation:mainfrom
NikkiAung:feat/typescript-5

Conversation

@NikkiAung

@NikkiAung NikkiAung commented Jul 10, 2026

Copy link
Copy Markdown

Summary

  • Bumps TypeScript from stale 4.x pins (^4.3.5, ^4.8.2, ^4.9.4, ^4.9.5) and one pinned 5.0.4 to ^5.5.0 across 39 package.json files under basics/, tokens/, and tools/
  • The anchor and newer packages were already on 5.x (^5.3.3, ^5.9.3, etc.); this brings the remaining 4.x stragglers in line
  • ^5.5.0 is the lowest common denominator that satisfies all existing 5.x consumers in the repo

Test plan

  • No TypeScript 4.x version strings remain in any package.json (verified with grep)
  • CI TypeScript compilation passes for all affected projects

@NikkiAung
NikkiAung requested a review from dev-jodee as a code owner July 10, 2026 22:23
@greptile-apps

greptile-apps Bot commented Jul 10, 2026

Copy link
Copy Markdown

Greptile Summary

This PR standardizes TypeScript from various 4.x pins (^4.3.5, ^4.8.2, ^4.9.4, ^4.9.5) and one exact 5.x pin (5.0.4) to ^5.5.0 across 39 package.json files in the basics/, tokens/, and tools/ directories.

  • Bulk TypeScript upgrade in 38 files — a straightforward version bump from 4.x to ^5.5.0, consistent with the 5.x pins already present in anchor-generated packages.
  • basics/counter/mpl-stack also correctly bumps ts-jest from ^28.0.8^29.0.0 to satisfy the peer dependency requirement for TypeScript 5.x (ts-jest 28 only supports up to TS 4.x; 29+ adds TS 5.x support), resolving both the TypeScript peer conflict and the pre-existing jest@29/ts-jest@28 mismatch.
  • tokens/token-2022/nft-meta-data-pointer/anchor-example/app relaxes an exact pin (5.0.4) to the ^5.5.0 range, aligning with the repo-wide convention.

Confidence Score: 5/5

Safe to merge — all 39 files are straightforward version bumps with no unresolved peer dependency conflicts.

The change is a mechanical version bump across isolated package.json files. The only non-trivial case (basics/counter/mpl-stack) was handled correctly by co-bumping ts-jest from 28 to 29, which satisfies peer requirements for both TypeScript 5.x and jest 29. All other files use ts-mocha@10, which is compatible with TypeScript 5.x through ts-node. No breaking changes in TypeScript 5.x affect the test patterns used in this repo.

No files require special attention.

Important Files Changed

Filename Overview
basics/counter/mpl-stack/package.json TypeScript bumped to ^5.5.0 and ts-jest correctly co-bumped from ^28.0.8 to ^29.0.0, resolving the TS 5.x peer conflict and the pre-existing jest@29/ts-jest@28 mismatch.
tokens/token-2022/nft-meta-data-pointer/anchor-example/app/package.json TypeScript changed from exact pin 5.0.4 to range ^5.5.0; Next.js 13.4.4 is compatible with TypeScript 5.x.
tools/shank-and-solita/native/package.json TypeScript bumped from ^4.9.4 to ^5.5.0; ts-mocha@10 and @metaplex-foundation/solita@0.19.x have no conflicting TypeScript peer requirements.
basics/account-data/native/package.json TypeScript bumped from ^4.3.5 to ^5.5.0; no peer dependency conflicts with ts-mocha@10 or mocha@9.
tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/package.json TypeScript bumped from ^4.3.5 to ^5.5.0; Anchor test toolchain with ts-mocha@10 is compatible with TypeScript 5.x.

Reviews (3): Last reviewed commit: "fix: bump ts-jest to ^29.x in mpl-stack ..." | Re-trigger Greptile

Comment thread basics/counter/mpl-stack/package.json Outdated
Comment on lines +20 to +23
"ts-jest": "^28.0.8",
"ts-jest-resolver": "^2.0.0",
"ts-node": "^10.9.1",
"typescript": "^4.8.2"
"typescript": "^5.5.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 ts-jest 28 incompatible with TypeScript 5.x

ts-jest@^28.0.8 declares a peer dependency of typescript >=4.3.0 <5.0.0-0, so resolving typescript@^5.5.0 will violate that peer requirement and produce version-check errors when jest runs. TypeScript 5.x support was introduced in ts-jest 29.x. Additionally, jest@^29.0.2 already conflicts with ts-jest@^28.0.8 (ts-jest 28 peers on jest 28), so this file should bump both to ts-jest@^29.x to resolve both mismatches.

@dev-jodee dev-jodee left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

needs signed commits

NikkiAung and others added 2 commits July 20, 2026 17:40
Eliminates all TypeScript 4.x (and one pinned 5.0.4) version pins across
39 package.json files under basics/, tokens/, and tools/. The rest of the
repo was already on 5.x; this brings everything to a consistent ^5.5.0
floor that is compatible with the highest versions already in use (^5.9.3).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…pt 5

ts-jest@28 declared a typescript <5.0.0 peer dep, causing peer violations
after the TypeScript bump. ts-jest@29 supports both jest@29 and TS 5.x.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@NikkiAung
NikkiAung force-pushed the feat/typescript-5 branch from 2927774 to edc7594 Compare July 21, 2026 00:40
@NikkiAung

Copy link
Copy Markdown
Author

@dev-jodee All commits have been re-signed with an SSH signing key and now show as Verified on GitHub. Thanks for the heads up!

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.

2 participants