SYN-592: Remediate critical dependency findings - #7
Conversation
Pin the affected transitive dependency paths to safe versions and declare terser-webpack-plugin directly for the existing webpack config.
Vulnerable Libraries (6)
More info on how to fix Vulnerable Libraries in JavaScript. 👉 Go to the dashboard for detailed results. 📥 Happy? Share your feedback with us. |
samkitsheth95
left a comment
There was a problem hiding this comment.
LGTM but we should test it out once released.
| "@babel/traverse": "^7.29.8", | ||
| "chai": "^4.3.4", | ||
| "chai-spies": "^1.0.0", | ||
| "eslint": "^4.14.0", | ||
| "express": "^4.17.1", | ||
| "form-data": "^3.0.5", | ||
| "jquery": "^3.6.0", | ||
| "jquery-ui": "^1.12.1", | ||
| "jsdom": "^16.6.0", | ||
| "minimist": "^1.2.8", | ||
| "mocha": "^9.0.0", | ||
| "sinon": "^11.1.1", | ||
| "webpack": "^5.37.0", | ||
| "terser-webpack-plugin": "^5.6.1", | ||
| "webpack": "^5.109.2", |
There was a problem hiding this comment.
What are the new packages being added without any code references?
There was a problem hiding this comment.
Ahh, good callout. Those are transitive dependencies tied to the audit findings, and I initially thought adding direct pins was the safest way to force the patched versions. But you're right, they don't belong in package.json since the code doesn't use them directly. I removed the direct entries and kept the patched versions in package-lock.json. The only new direct dependency is terser-webpack-plugin, which webpack.config.js imports.
Resolves the critical npm dependency findings tracked in SYN-592. The change is limited to package metadata and does not modify application code.
What changed
@babel/traverse, minimist, and form-data to patched versions.terser-webpack-plugindirectly because the existing webpack configuration imports it.Validation
Ran a clean install, all 29 tests, lint, and the production build. A fresh audit reports 0 critical findings. I also loaded both CDN bundles in Chromium and confirmed they initialize without console errors.
Compatibility
The updated dependency graph requires Node 18 or newer through
node-releases. The repository does not currently declare a supported Node version, and validation passed on Node 20, 22, and 24.