fix(deps): clear babel, react-router, sharp, and esbuild advisories - #3551
fix(deps): clear babel, react-router, sharp, and esbuild advisories#3551reachjalil wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
Warden security clearance: clear. No new security issues found in this diff (3e5fcbfab03a631afdfc71be29f8e6b63026341d). Automated clearance satisfies the required-review gate only — a human still reviews and merges. Analysis run
There was a problem hiding this comment.
Warden security clearance: clear. No new security issues found in this diff (e2e0de62920f7d011efee2bc513916e3f1d5298e). Automated clearance satisfies the required-review gate only — a human still reviews and merges. Analysis run
Clears 11 Dependabot advisories (3 high, 6 medium, 2 low): - react-router-dom ^7.14.1 -> ^7.18.2 (apps/app): 7 advisories. Usage is declarative only (useNavigate/useParams/useSearchParams, Routes/Route/ HashRouter), so no data-router migration is involved. - sharp 0.34.5 -> 0.35.3 (den-api): libvips CVE set. None of the 0.35 breaking changes touch the APIs used (resize/jpeg/png/metadata/toBuffer). - esbuild overrides: <0.25.0 -> 0.25.12 and >=0.27.3 <0.28.1 -> 0.28.1. The first forces the deprecated @esbuild-kit/core-utils (reached via drizzle-kit) off its ~0.18.20 pin. Side effect: esbuild copies in the lockfile drop from 5 versions to 2, which is why the lockfile diff is net negative. - @babel/core override -> 7.29.6: transitive only, previously unfixable. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
e2e0de6 to
55ecd51
Compare
There was a problem hiding this comment.
Warden security clearance: clear. No new security issues found in this diff (55ecd51ebd2c0c60b6194cb435988c3b0e38d9fa). Automated clearance satisfies the required-review gate only — a human still reviews and merges. Analysis run
Summary
Clears 11 Dependabot advisories (3 high, 6 medium, 2 low) across four dependency groups. No breaking migrations — the two version bumps are within-major, and the rest are transitive overrides.
react-router-dom^7.14.1→^7.18.2esbuildoverrides (×2)sharp0.34.5→0.35.3(den-api)@babel/coreoverride →7.29.6Touches 4 files: two
package.json,pnpm-workspace.yaml, and the lockfile. No source changes.react-router-dom → 7.18.2
Clears 7 advisories, including 3 high. This is a within-v7 bump, not the React Router 8 migration the alerts imply — usage in
apps/appis entirely declarative (useNavigate×16,useParams,useSearchParams,Routes/Route/HashRouter/BrowserRouter), with no data-router, loader, or action APIs involved.esbuild → 0.25.12 / 0.28.1
Both copies were transitive and build-time only. The
<0.25.0case wasesbuild@0.18.20, reached viadrizzle-kit→@esbuild-kit/esm-loader→@esbuild-kit/core-utils@3.3.2. Note that@esbuild-kit/core-utilsis deprecated ("merged into tsx") and pinsesbuild: ~0.18.20, so this override deliberately forces it off its declared range — see verification below. Upgradingdrizzle-kitis not an alternative: the latest (0.31.10) still depends on@esbuild-kit/esm-loader.The second override is in-range for its consumer (
vite@7.3.6accepts^0.27.0 || ^0.28.0).sharp → 0.35.3
0.35 has a real breaking-change list, but none of it touches den-api's usage in
brand-assets.tsandmcp/tool-content.ts, which is limited toresize,jpeg,png,metadata, andtoBuffer. The removed APIs (failOnError,paletteBitDepth,jp2k, deprecatedsharpenproperties) are unused. Requires Node ≥20.9.@babel/core → 7.29.6
Transitive only (
@vitejs/plugin-react,@sentry/bundler-plugin-core,styled-jsx,shadcn). This advisory previously had no released fix.Why the lockfile diff is net negative
The lockfile shows ~469 insertions against ~845 deletions. This is expected and is a side effect of the esbuild override consolidating duplicate copies:
Dropping three esbuild versions removes ~22 per-platform
@esbuild/*packages each. Additions are mostly sharp's@img/sharp-*platform binaries.pnpm install --frozen-lockfilepasses, confirming the lockfile is in sync with the manifests.Verification
All performed locally with the pinned
pnpm@11.4.0, on the currentdevbase:pnpm install --frozen-lockfile— passes (lockfile in sync)apps/appproduction build and tests — 646 pass, 2 failee/packages/den-dbtests — 13 pass, 0 fail (exercises thedrizzle-kit→ esbuild-kit chain)drizzle-kitCLI runs (v0.31.9, drizzle-ormv0.45.2) under the forced esbuild@esbuild-kit/core-utilsconfirmed resolvingesbuild@0.25.12and itstransformAPI verified working — this is the check that matters, since the override breaks its pinsharp@0.35.3smoke-tested against den-api's exact API surface (resize/jpeg/png/metadata/toBuffer) — correct outputee/apps/den-apibuild,ee/apps/den-webtypecheck,ee/apps/landingNext production build — all passPre-existing failures (verified identical on unmodified
dev)apps/appmessage-list loading feedbacktest failures.ee/apps/landingwrapper build failingcheck-connect-installer-parity.mjs, which is why the Next build was invoked directly. Already noted in fix(deps): clear compatible security advisories #3500.Known residuals
sharplockfile alert persists. After this change the only vulnerable copy left issharp@0.34.5pulled in by Next.js for image optimization. Next 15.5.21 declares^0.34.3and Next 16.2.11 declares^0.34.5, so forcing 0.35.x would push Next outside its tested range — deliberately not done here.hono→ 4.12.34 (6 alerts) excluded. Blocked by the repository's age policy:pnpmrejects it withERR_PNPM_NO_MATURE_MATCHING_VERSIONuntil 2026-08-06T02:36Z. Best paired with the@hono/node-serverv2 bump.xlsx(4 alerts) excluded. It is not an unused dependency — it is loaded viaawait import("xlsx")inapps/app/src/react-app/domains/session/artifacts/artifact-spreadsheet-model.ts. npm's latest is still 0.18.5, so clearing it needs a SheetJS-CDN source or a library migration, which has on-prem/airgapped build implications and deserves its own decision.react-router@8.3.0;react-router-domhas no v8), but the advisory applies only to the unstable RSC APIs, whichapps/appdoes not use — anot_useddismissal.🤖 Generated with Claude Code