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

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>
@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 across 39 package.json files in basics/, tokens/, and tools/ by bumping all remaining 4.x pins (^4.3.5, ^4.8.2, ^4.9.4, ^4.9.5) and one isolated 5.0.4 exact pin to ^5.5.0, aligning them with the 5.x packages already present in the repo.

  • Mechanical bumps (38 files): All ts-mocha-based projects receive a straightforward TypeScript upgrade; ts-mocha carries no TypeScript version peer constraint, so no accompanying dependency changes are required.
  • basics/counter/mpl-stack/package.json: Correctly co-bumps ts-jest from ^28.0.8 to ^29.0.0 alongside the TypeScript upgrade, resolving the jest@29/ts-jest@28 peer conflict that was flagged in a previous review.
  • tokens/token-2022/.../app/package.json: Converts the exact 5.0.4 pin to ^5.5.0; Next.js 13.4.4's peer range (typescript >=3.3.1) fully accepts this.

Confidence Score: 5/5

Safe to merge — all 39 files receive mechanical version bumps with no peer dependency conflicts introduced.

Every changed file is a package.json with a single TypeScript version string update. The only non-trivial file (mpl-stack) correctly co-bumps ts-jest to a version that supports TypeScript 5.x, resolving the pre-existing incompatibility. No new dependency conflicts were found across any of the 39 files.

No files require special attention.

Important Files Changed

Filename Overview
basics/counter/mpl-stack/package.json Bumps TypeScript 4.8.2→5.5.0 and correctly co-bumps ts-jest 28→29 to satisfy peer deps; resolves the previously flagged incompatibility.
tokens/token-2022/nft-meta-data-pointer/anchor-example/app/package.json Changes TypeScript from exact pin 5.0.4 to ^5.5.0; Next.js 13.4.4 accepts TS ≥3.3.1 so no peer conflict.
tools/shank-and-solita/native/package.json Bumps TypeScript 4.9.4→5.5.0 alongside @metaplex-foundation/solita@^0.19.3; no peer dependency conflicts.
basics/account-data/native/package.json Mechanical TypeScript 4.3.5→5.5.0 bump; ts-mocha has no TS version peer constraint, no issues.
tokens/token-2022/nft-meta-data-pointer/anchor-example/anchor/package.json Bumps TypeScript 4.3.5→5.5.0 in the Anchor test harness; ts-mocha has no TypeScript version constraint.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[39 package.json files] --> B{Has ts-jest?}
    B -- Yes\nbasics/counter/mpl-stack --> C[Bump ts-jest ^28→^29\nBump typescript ^4.8.2→^5.5.0]
    B -- No\n38 files --> D{TypeScript pin type?}
    D -- Exact pin 5.0.4\napp/package.json --> E[Relax to ^5.5.0]
    D -- Range ^4.x.x\n37 files --> F[Bump to ^5.5.0]
    C --> G[No peer conflicts]
    E --> G
    F --> G
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    A[39 package.json files] --> B{Has ts-jest?}
    B -- Yes\nbasics/counter/mpl-stack --> C[Bump ts-jest ^28→^29\nBump typescript ^4.8.2→^5.5.0]
    B -- No\n38 files --> D{TypeScript pin type?}
    D -- Exact pin 5.0.4\napp/package.json --> E[Relax to ^5.5.0]
    D -- Range ^4.x.x\n37 files --> F[Bump to ^5.5.0]
    C --> G[No peer conflicts]
    E --> G
    F --> G
Loading

Reviews (2): 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.

…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>
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