Skip to content

chore(deps): batch dependency bumps (closes most Dependabot PRs)#42

Merged
MorganOnCode merged 1 commit into
masterfrom
chore/dependabot-batch-2026-05-15
May 15, 2026
Merged

chore(deps): batch dependency bumps (closes most Dependabot PRs)#42
MorganOnCode merged 1 commit into
masterfrom
chore/dependabot-batch-2026-05-15

Conversation

@MorganOnCode
Copy link
Copy Markdown
Owner

Consolidates 17 of 19 mergeable Dependabot PRs into one branch with one CI run, instead of cascading lockfile conflicts across sequential merges. Two PRs explicitly skipped due to upstream-blocking test failures (documented below).

Vuln impact

Before After
`pnpm audit` (full) 47 26
`pnpm audit --prod` 29 (16h, 13m) 11 (7h, 4m)

The remaining 11 prod vulns are all inside `@lucid-evolution/lucid > @cardano-sdk/core > ip-address` — unblocked when we can move off lucid 0.4.29 (see "held back" section).

Closes

These Dependabot PRs are resolved by this batch (will auto-close on merge):

Held back (with reason)

`@lucid-evolution/lucid` 0.4.29 (exact pin, was ^0.4.29) and `@lucid-evolution/provider` 0.1.90 (exact pin)

Dependabot PRs #19 and #17 propose bumping to 0.4.30 / 0.1.91. Reproduced locally: importing lucid 0.4.30 triggers `libsodium-wrappers-sumo`'s auto-init code which throws:

```
TypeError: Cannot read properties of undefined (reading 'then')
❯ node_modules/.pnpm/libsodium-wrappers-sumo@0.8.2/.../libsodium-wrappers.mjs:1:58
❯ src/verify/checks.ts:10:1 // import { CML } from '@lucid-evolution/lucid';
```

Breaks 4 test files (`cbor.test.ts`, `checks.test.ts`, `verify-payment.test.ts`, one more). Exact-pinning prevents the bad version being pulled in by any future patch updates. Unpin when @lucid-evolution releases a version that fixes the libsodium init regression.

`vitest` and `@vitest/coverage-v8` held at ^4.0.18

Dependabot proposes 4.1.6 (part of #14 dev-deps group). Reproduced locally: vitest 4.1.x triggers the SAME libsodium init failure as lucid 0.4.30 — different surface, same root cause (vitest's ESM loader changes between 4.0 and 4.1 expose a libsodium-wrappers-sumo race that 4.0 didn't). The rest of the #14 group (prettier, @vitest/coverage-v8 stays in sync, @types/node, vitest, eslint-config-airbnb-extended) is applied. Hold until vitest 4.1.x or libsodium ships a fix.

Test plan

🤖 Generated with Claude Code

Consolidates 17 of 19 mergeable Dependabot PRs into one branch with one
CI run, instead of cascading lockfile conflicts across sequential merges.

Bumps applied (versions match Dependabot proposals):

Runtime:
- @blockfrost/blockfrost-js  ^6.1.0  -> ^6.1.1
- @fastify/static            ^9.0.0  -> ^9.1.3  (CVE-2026-6410, -6414 path traversal)
- @fastify/swagger-ui        ^5.2.5  -> ^5.2.6
- @sentry/node               ^10.38  -> ^10.53.1
- fastify                    ^5.7.4  -> ^5.8.5
- ioredis                    ^5.9.2  -> ^5.10.1
- pino                       ^10.3.0 -> ^10.3.1
- zod                        ^4.3.6  -> ^4.4.3

Dev:
- @eslint/js                 ^9.39.2 -> ^9.39.4
- @types/node                ^25.2.0 -> ^25.8.0
- eslint                     ^9.39.2 -> ^9.39.4
- eslint-config-airbnb-ext   ^3.0.1  -> ^3.1.0
- eslint-plugin-n            ^17.23  -> ^18.0.1  (MAJOR)
- lint-staged                ^16.2   -> ^17.0.4  (MAJOR)
- prettier                   ^3.8.1  -> ^3.8.3
- tsx                        ^4.21.0 -> ^4.22.0
- typescript-eslint          ^8.54.0 -> ^8.59.3

Transitive bumps (lockfile-only) refreshed via pnpm install. Closes the
many Dependabot PRs that were just security-advisory-driven lockfile
updates (flatted, yaml, lodash, picomatch, minimatch, brace-expansion,
effect, fast-uri, postcss, vite, etc.).

Held back (with reason):

- @lucid-evolution/lucid     0.4.29 (EXACT pin, was ^0.4.29).
  Dependabot PR #19 proposed 0.4.30 -- locally reproduced the test
  failure: importing lucid triggers libsodium-wrappers-sumo's auto-init
  which throws `Cannot read properties of undefined (reading 'then')`,
  breaking 4 test files (cbor, checks, verify-payment, demo). Pinning
  exact prevents the bad version being pulled in by future updates.
  Unpin when @lucid-evolution releases a version that fixes the
  libsodium init regression.

- @lucid-evolution/provider  0.1.90 (EXACT pin, was ^0.1.90).
  Same upstream issue (PR #17). Provider's dep graph reaches lucid 0.4.30
  via peer deps when un-pinned.

- vitest                     ^4.0.18 (NOT bumped to 4.1.6).
- @vitest/coverage-v8        ^4.0.18 (NOT bumped to 4.1.6).
  Locally reproduced: vitest 4.1.x triggers the SAME libsodium init
  failure as lucid 0.4.30 -- different surface, same root cause. Holding
  at 4.0.18 until either vitest or libsodium-wrappers-sumo ships a fix.

Vuln impact:
- pnpm audit (full): 47 -> 26
- pnpm audit --prod: 29 (16h, 13m) -> 11 (7h, 4m)
  Remaining are inside @lucid-evolution/lucid > @cardano-sdk/core >
  ip-address; unblocked when we can move off lucid 0.4.29.

Local validation: typecheck clean, lint clean, 33 files / 443 tests pass.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@MorganOnCode MorganOnCode merged commit 08c14ad into master May 15, 2026
5 checks passed
@MorganOnCode MorganOnCode deleted the chore/dependabot-batch-2026-05-15 branch May 15, 2026 10:19
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