chore(deps): override transitive exceljs uuid to clear npm-audit advisory#513
chore(deps): override transitive exceljs uuid to clear npm-audit advisory#513gkriegspeedbay wants to merge 1 commit into
Conversation
…sory exceljs@4.4.0 pins uuid ^8.3.0 -> uuid@8.3.2, which npm audit flags as GHSA-w5hq-g745-h8pq. exceljs is unmaintained (last release Oct 2023; the upstream remediation PR exceljs/exceljs#3042 was closed unmerged), so this adds a scoped npm `overrides` forcing exceljs onto uuid ^14.0.0. exceljs imports uuid as `const {v4} = require('uuid')` and only calls v4() with no buffer, so it works unchanged on uuid 14 in a Node/CommonJS consumer. uuid is dependency-free, so the override pulls in no new packages. Verified: with the override applied, npm audit no longer reports the advisory and exceljs still writes workbooks (including the conditional-formatting uuidv4 code path). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds a top-level Changesnpm overrides for exceljs uuid
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
exceljs@4.4.0(the latest release) pinsuuid: ^8.3.0, resolvinguuid@8.3.2, whichnpm auditflags as moderate advisory GHSA-w5hq-g745-h8pq. This adds a scoped npmoverridesforcingexceljsontouuid ^14.0.0, clearing the advisory.The change is two files only — the
overridesblock inpackage.jsonand the correspondinguuidentry inpackage-lock.json(8.3.2 → 14.0.0, single hoisted node). No other dependency and no application code is touched.Why an override (not an exceljs bump)
exceljs is unmaintained — last release
v4.4.0(Oct 2023), and the upstream remediation PR exceljs/exceljs#3042 was closed unmerged. A consumer-sideoverridesis the pragmatic fix the exceljs maintainers now point users to.Safety
exceljs imports uuid via the named CommonJS form
const {v4: uuidv4} = require('uuid')and only ever callsv4()with no buffer argument (lib/xlsx/xform/sheet/cf-ext/cf-rule-ext-xform.js). That form works unchanged on uuid 14 in a Node/CommonJS consumer like this one, and uuid is dependency-free, so the override introduces no new packages.Test plan
With this change applied in a clone:
npm install --package-lock-onlyresolvesexceljs's transitiveuuidto14.0.0(single hoisted node).npm auditno longer reportsGHSA-w5hq-g745-h8pq. (The other audit findings present in the tree are pre-existing and unrelated to this change.)exceljsstill writes a workbook with adataBarconditional-format rule — which exercises theuuidv4()code path — producing a valid.xlsx.🤖 Generated with Claude Code
Summary by CodeRabbit