Skip to content

chore(deps): bump prod dependencies, hold better-sqlite3 at 12.x - #1926

Merged
steilerDev merged 1 commit into
betafrom
chore/1889-prod-dependencies
Aug 2, 2026
Merged

chore(deps): bump prod dependencies, hold better-sqlite3 at 12.x#1926
steilerDev merged 1 commit into
betafrom
chore/1889-prod-dependencies

Conversation

@steilerDev

Copy link
Copy Markdown
Owner

Summary

Replaces #1889, rebuilt on current beta with a full npm install so the lockfile hoists correctly (per CLAUDE.md's Dependency Policy — Dependabot's regenerated lockfile can nest workspace deps).

Carries 15 of the group's 16 updates. The one exclusion is deliberate.

Security impact

Remediates 4 open Dependabot alerts by taking @fastify/static 9.1.3 → 10.1.2:

Is the v10 major safe here?

Yes. The sole v10.0.0 breaking change is the setHeaders signature (ResponseFastifyReply). This app has exactly one registration site (server/src/app.ts:323) which passes only root/prefix/maxAge/immutable, and deliberately uses an onSend hook rather than setHeaders (see the comment at app.ts:330). Unaffected.

Excluded: better-sqlite3 12.11.1 → 13.0.1

better-sqlite3 v13 removed prebuild-install — its install script is now a bare node-gyp rebuild, so it always compiles from source:

12.11.1 13.0.1
scripts.install prebuild-install || node-gyp rebuild --release node-gyp rebuild
deps bindings, prebuild-install node-addon-api only

The Dockerfile's deps stage is explicitly designed around this (lines 57–73: "no compilation, no build-base/python3 needed") and runs on the target platform, so an arm64 build would compile SQLite under QEMU emulation. That was the actual cause of #1889's Docker failure — not a flake.

Adopting v13 requires adding python3/build-base to the deps stage and accepting a much slower cross-arch build. That deserves its own PR, so better-sqlite3 stays at 12.11.1 here (it has no open security alert).

Note on react/react-dom

Dependabot bumped the manifests to 19.2.8 but the root overrides block still pinned 19.2.7, so the lockfile silently kept the old version. This PR bumps the overrides in lockstep so manifest and lockfile agree.

Test plan

  • CI Quality Gates (typecheck, unit tests, Docker build, E2E smoke)
  • Full E2E shards for visibility

Closes #1889

Replaces Dependabot PR #1889, rebuilt on current beta with a full
`npm install` (not --package-lock-only) so the lockfile hoists correctly.

Includes 15 of the group's updates:
- @fastify/static 9.1.3 -> 10.1.2 (remediates GHSA-8pvw-jcv7-9cmj and
  GHSA-83w8-p2f5-377r: route guard bypass via path traversal, plus two
  medium alerts). The only v10 breaking change is the `setHeaders`
  signature (Response -> FastifyReply); this app uses an `onSend` hook
  instead and passes only root/prefix/maxAge/immutable, so it is unaffected.
- fastify 5.9.0 -> 5.10.0, @fastify/compress, @fastify/cookie,
  @fastify/helmet, @fastify/multipart, ical-generator, node-cron
- react/react-dom 19.2.7 -> 19.2.8 (root `overrides` bumped in lockstep,
  otherwise the override pins the old version and the manifest bump is a
  no-op), @floating-ui/react, i18next, react-i18next

Deliberately EXCLUDES better-sqlite3 12.11.1 -> 13.0.1. v13 removed the
`prebuild-install` dependency and its install script is now a bare
`node-gyp rebuild`, so it always compiles from source. The Dockerfile's
`deps` stage is explicitly built around prebuilt binaries (no python3 or
build-base) and runs on the target platform, so a source build would be
compiled under emulation for arm64. Adopting v13 needs its own change to
the image and is tracked separately.
@steilerDev
steilerDev merged commit a513e3c into beta Aug 2, 2026
30 of 31 checks passed
@steilerDev
steilerDev deleted the chore/1889-prod-dependencies branch August 2, 2026 08:08
@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 2.13.0-beta.39 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant