You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Enabling Dependabot (#36) immediately surfaced advisories in src/UpDoc/wwwroot/App_Plugins/UpDoc — the shipped RCL's frontend package. This was missed during the #36 scoping, which audited only docs/.
npm audit in that directory reports 10 vulnerabilities (3 moderate, 7 high).
#36 was correctly scoped as docs-only and cannot affect consuming projects. This can. It touches the package that ships to the live client project, so it needs the #40 release-safety baseline in place first.
The findings split into two very different risk categories
Build-time only (does not ship)
devDependencies — present in the repo, absent from the published package:
Package
Severity
Direct?
vite
high
direct
rollup
high
transitive
esbuild
moderate
transitive
postcss
moderate
transitive
minimatch
high
transitive
brace-expansion
moderate
transitive
Dependabot has already opened PRs for four of these: #46 (postcss), #47 (brace-expansion), #48 (minimatch), #49 (vite 5 → 6, major).
Risk to consumers: none — these never reach a consuming site. Risk is to the build itself, and vite 5 → 6 is a major bump that could break the bundle.
Runtime, and genuinely shipped
Package
Severity
Direct?
pdfjs-dist
high
direct dependency
canvas
high
transitive (via pdfjs-dist)
@mapbox/node-pre-gyp
high
transitive
tar
high
transitive
pdfjs-dist is a real dependency, not a dev dependency. Confirmed shipped: dist/pdf.worker.min.mjs is 1.3MB of built output, produced by the copy:pdfworker build step and included in the package. It is used for PDF thumbnail rendering in the backoffice.
This is the one that matters. It reaches consuming projects, including the live one.
Current: pdfjs-dist ^4.2.67. The advisory covers 3.0.279 - 4.7.76 via its canvas dependency.
Open questions
Is canvas actually reachable in the browser build?canvas is a Node-native module; pdf.js typically only uses it server-side, and the browser bundle may never touch that path. If so the practical severity drops sharply — but it needs confirming by inspecting the bundle, not assuming. Note the presence of __vite-browser-external-*.js in dist/, which suggests Vite is already externalising Node-only modules.
What does upgrading pdfjs-dist cost? Check whether v5 changes the worker API used by up-doc-pdf-thumbnail.element.ts and up-doc-pdf-picker.element.ts.
Summary
Enabling Dependabot (#36) immediately surfaced advisories in
src/UpDoc/wwwroot/App_Plugins/UpDoc— the shipped RCL's frontend package. This was missed during the #36 scoping, which audited onlydocs/.npm auditin that directory reports 10 vulnerabilities (3 moderate, 7 high).Why this is a separate issue from #36
#36 was correctly scoped as docs-only and cannot affect consuming projects. This can. It touches the package that ships to the live client project, so it needs the #40 release-safety baseline in place first.
The findings split into two very different risk categories
Build-time only (does not ship)
devDependencies— present in the repo, absent from the published package:Dependabot has already opened PRs for four of these: #46 (postcss), #47 (brace-expansion), #48 (minimatch), #49 (vite 5 → 6, major).
Risk to consumers: none — these never reach a consuming site. Risk is to the build itself, and vite 5 → 6 is a major bump that could break the bundle.
Runtime, and genuinely shipped
pdfjs-distis a realdependency, not a dev dependency. Confirmed shipped:dist/pdf.worker.min.mjsis 1.3MB of built output, produced by thecopy:pdfworkerbuild step and included in the package. It is used for PDF thumbnail rendering in the backoffice.This is the one that matters. It reaches consuming projects, including the live one.
Current:
pdfjs-dist ^4.2.67. The advisory covers3.0.279 - 4.7.76via itscanvasdependency.Open questions
canvasactually reachable in the browser build?canvasis a Node-native module; pdf.js typically only uses it server-side, and the browser bundle may never touch that path. If so the practical severity drops sharply — but it needs confirming by inspecting the bundle, not assuming. Note the presence of__vite-browser-external-*.jsindist/, which suggests Vite is already externalising Node-only modules.up-doc-pdf-thumbnail.element.tsandup-doc-pdf-picker.element.ts.Done when
canvas/tar/node-pre-gypare actually reachable in the shipped browser bundlepdfjs-distupgraded, or a documented justification for not doing sonpm run buildproduces a working bundle; PDF thumbnails and the page picker still functionnpm auditclean or remaining items justifiedSequencing
After #40 (release-safety baseline). This modifies the shipped package; the baseline is what demonstrates the import still works afterwards.