Repository navigation
Conversation
There was a problem hiding this comment.
🔵 Needs a closer look
The dependency upgrades require clean CI validation with storage enabled to distinguish runtime regressions from environment issues or flakiness behind the two reported E2E failures, including a graph-tab timeout.
No open issues 🎉
1 file not reviewed
pnpm-lock.yaml: Generated file
What changed in this PR
Updates Open Data Capture’s runtime dependencies to address security advisories without application code changes. This replaces the broader Dependabot updates while preserving the existing Astro and vendored Zod major versions.
Changes:
- Upgrades the API’s NestJS/Fastify stack and the shared Nodemailer dependency.
- Refreshes affected transitive dependencies in the lockfile.
- Adds a Monaco-specific DOMPurify override and removes the
find-my-way@9override.
| File | Description |
|---|---|
pnpm-workspace.yaml |
Raises the shared Nodemailer range to ^10.2.1. |
pnpm-lock.yaml |
Records updated dependency resolutions and peer relationships. |
package.json |
Replaces the router override with the Monaco DOMPurify override. |
apps/api/package.json |
Updates NestJS packages to ^12.2.0 and Fastify to ^5.12.7. |
Review effort: Balanced
joshunrau
left a comment
There was a problem hiding this comment.
This branch no longer merges cleanly into main: package.json and pnpm-lock.yaml conflict. Please rebase onto (or merge) current main, resolve the package.json overrides by hand, and regenerate the lockfile with pnpm install rather than hand-merging it. It will be reviewed once it merges cleanly and CI is green.
Reviewed at commit 2951010.
Bump the server and browser runtime dependencies that have Dependabot security alerts to patched versions inside their existing ranges: - @nestjs/common, core, testing and platform-fastify 12.2.0, and fastify 5.12.7 (GHSA-389g-gv7q-r4x8); platform-fastify 12.2.0 needs core 12.2.0 - nodemailer 10.2.1 for the api's own MailService - follow-redirects 1.16.2 (axios), qs 6.16.1, body-parser 2.4.0 and proxy-addr 2.0.8 (express), ip-address 10.7.5 (socks), fast-uri 4.2.3 - seroval 1.6.12 / 1.7.2 via solid-js 1.9.17 and @tanstack/router-core - zod 4.6.7 for the zod 4 copies (libjs, router-generator, knip, sitemap) - dompurify 3.4.17 for monaco-editor, which pins 3.4.15 exactly; this needs a permanent monaco-editor>dompurify override @nestjs/platform-fastify 12.2.0 pins find-my-way 9.10.0, so the find-my-way@9 override is no longer needed and is removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01W53iUSpZekM2didbKGCSSv
Co-Authored-By: GLM 5.3 Flash
2951010 to
4f78231
Compare
What
Bump app/server runtime dependencies that have Dependabot security alerts. All are in-range patch or minor bumps; no application code changes.
@nestjs/common,core,testing,platform-fastify/fastifynodemailerMailServicefollow-redirectsqs,body-parser,proxy-addrip-addressfast-uri(4.x)seroval@tanstack/router-corezod(4.x copies)dompurify(monaco)Override changes:
monaco-editor>dompurify: ^3.4.17.monaco-editor@0.57.0(latest) pins dompurify 3.4.15 exactly. Remove it when monaco ships a newer pin.find-my-way@9.@nestjs/platform-fastify12.2.0 pins find-my-way 9.10.0, so the override is not necessary now.Rebase note (2026-11-04)
pnpm 10.34.3 no longer reads the
pnpmfield inpackage.json, so the overrides — dead wherethey were — moved verbatim into the
overrides:block ofpnpm-workspace.yaml: this PR's twochanges, plus the ones
mainadded since (sharp, and keeping the rest). The deadpackage.json#pnpmblock is deleted. The lockfile is regenerated from the reviewed resolution bypnpm install, reconcilingmain's drift (sharp 0.35.5, storybook 10.6.5). Also carriestest(web): match walkthrough button label casing:5fa1391a2onmainrenamed the walkthroughbutton to "Don't Show Again" and left the test querying the old casing, so the unit suite fails on
maintoo (verified on a clean checkout ofd6eeabcaa).Not in this PR
nodemailer@7.0.13stays. It comes from@douglasneuroinformatics/libnest@10.0.0, whose mail module the api does not import. Tracked in Upgrade nodemailer to ^10.2.1 to fix security advisories libnest#81. The nodemailer alerts stay open until libnest releases.zod@3.25.76stays: it is the app-widevendor/zod@3.xcontract. There is no 3.x fix for GHSA-mrhx-c7xc-m3w5.minimumReleaseAgegate.Supersedes the Dependabot group PRs #1827 and #1828, which move
vendor/zod@3.xto zod 4 and astro to 7 and fail CI.Verification
pnpm lintandpnpm test:coverage(100%) pass.pnpm test:e2e: 346 passed, 2 failed.record-file-deletion.spec.tsalso fails onmainlocally because my.envhasSTORAGE_ENABLED=false. It is an environment exception.subject-detail.spec.ts:53(graph tab) timed out once in the full run. Alone it passed 4/4 on this branch (main: 4/4). I think it is flaky, but CI must confirm.Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com