Skip to content

chore(deps): bump library @types/node to 25 + patch hw-transport#572

Merged
Justkant merged 1 commit into
mainfrom
chore/deps-node25-hw-transport
May 30, 2026
Merged

chore(deps): bump library @types/node to 25 + patch hw-transport#572
Justkant merged 1 commit into
mainfrom
chore/deps-node25-hw-transport

Conversation

@Justkant
Copy link
Copy Markdown
Collaborator

What

  • Bumps @types/node from ^24.10.0^25.9.1 in the 7 published library packages (core, client, client-react, server, simulator, manifest-validator, manifest-validator-cli), aligning them with the apps (docs, wallet-api-tools, client-nextjs) which were already on 25. The lockfile dedupes to a single @types/node@25.9.1.
  • Adds a pnpm patch on @ledgerhq/hw-transport@6.35.2.

Why the patch

@types/node 25 made EventEmitter generic over an EventMap constraint. That surfaced a latent bug in @ledgerhq/hw-transport@6.35.2: its Transport.d.ts leaks an internal field

_events: EventEmitter<[never]>;

and the bogus [never] tuple doesn't satisfy EventMap. Because the libraries build with skipLibCheck: false (from tsconfig.base.json), this fails tsc declaration emit for the packages that depend on hw-transport (client, simulator). The apps don't hit it because Next sets skipLibCheck: true — which is exactly why the libs had been pinned to @types/node 24.

The patch retypes the field to a plain EventEmitter (one line):

- _events: EventEmitter<[never]>;
+ _events: EventEmitter;

_events is an internal EventEmitter field that shouldn't be in the public API; nothing in our code reads it.

Scope / risk

  • Transport.d.ts:133 is the only @types/node 25 incompatibility across the libs.
  • hw-transport's only consumers here are client and simulator.
  • No changeset: @types/node is a devDependency and the patch is local-only, so there's no published runtime change (same convention as the jest 30 upgrade).

Maintenance

Upstream still ships the bad line — latest stable and nightly build hw-transport against @types/node 24, so they won't notice. The patch must be re-verified on every hw-transport bump (pnpm warns if it stops applying).

Verification

build 10/10 · test 26/26 · typecheck 7/7 · lint 10/10 (all forced, no cache), on top of current main.

🤖 Generated with Claude Code

…ompat

Bumps @types/node from ^24.10.0 to ^25.9.1 in the 7 published library packages,
aligning them with the apps (which were already on 25).

@types/node 25 made EventEmitter generic over an EventMap constraint, which
exposed a latent bug in @ledgerhq/hw-transport@6.35.2: its Transport.d.ts leaks
an internal `_events: EventEmitter<[never]>` field, and the bogus `[never]`
tuple doesn't satisfy EventMap. Under skipLibCheck:false this fails `tsc`
declaration emit for the libraries that depend on hw-transport (client,
simulator). A pnpm patch retypes the field to a plain `EventEmitter`.

hw-transport's only consumers here are client and simulator, and Transport.d.ts
is the sole @types/node 25 incompatibility across the libs. Upstream still ships
the bad line (latest stable + nightly build against @types/node 24), so the
patch must be re-verified on every hw-transport bump.

Stacked on #569 (zod 4 / TS 6): @types/node 25 has only been validated against
TypeScript 6. devDependency + local-only patch, so no published runtime change
and no changeset.

Verified: build 10/10, test 26/26, typecheck 7/7, lint 10/10.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@Justkant Justkant requested review from a team and ComradeAERGO as code owners May 30, 2026 15:59
@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented May 30, 2026

⚠️ No Changeset found

Latest commit: 2a0cb8b

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

@vercel
Copy link
Copy Markdown

vercel Bot commented May 30, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
wallet-api-wallet-api-tools Ready Ready Preview, Comment May 30, 2026 3:59pm

Request Review

@Justkant Justkant merged commit 2c445d4 into main May 30, 2026
12 checks passed
@Justkant Justkant deleted the chore/deps-node25-hw-transport branch May 30, 2026 16:04
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