chore(deps): fix critical Snyk npm vulnerabilities in docs - #28
Open
devin-ai-integration[bot] wants to merge 1 commit into
Open
devin-ai-integration[bot] wants to merge 1 commit into
devin-ai-integration[bot] wants to merge 1 commit into
Conversation
Co-Authored-By: shayan <shayan@cognition.ai>
Author
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
SUMMARY
Second half of the critical-severity remediation from the 2026-08-10 Snyk audit.
immutableandnode-forgefrom the audit list exist only indocs/yarn.lock(not insuperset-frontend/orsuperset-websocket/), as do a second copy of the vulnerableaxios,esbuildandshell-quote. Companion PR for the frontend/websocket side: #27.All affected packages are transitive with no parent upgrade available, so they are pinned via yarn
resolutionsindocs/package.json(Snyk'sfixedInversion, not latest):Two notes on
immutable, which was present at two majors:swagger-ui-reactdepends on ImmutableJS3.xand uses its v3 API, so that path is pinned to3.8.3(the 3.x patch release Snyk lists as fixed) rather than being forced onto 4.x/5.x.sass@1.97.3 > immutable@5.1.4, cannot be fixed with a nested resolution becausesassis not a direct dependency of the docs package. Insteadsassis pinned to1.98.0, the first release whose dependency range isimmutable: ^5.1.5(i.e. the patched line); this resolves toimmutable@5.1.9.Needs review:
esbuild0.25.9 → 0.28.1 is effectively a major bump under esbuild's 0.x versioning, and there is no patched 0.25.x — Snyk's onlyfixedInis 0.28.1.@storybook/core@8.6.18declaresesbuild@^0.18.0 || ... || ^0.25.0, so yarn prints a resolution-incompatibility warning for this pin. The docs site compiles and serves fine with it (see below), but it is the one change here that deserves a second look.Snyk critical counts,
snyk test --file=docs/yarn.lock --dev --severity-threshold=critical:Cleared:
SNYK-JS-AXIOS-16298058,-16299904,-16417750,SNYK-JS-ESBUILD-17750822,SNYK-JS-IMMUTABLE-15423650(both paths),SNYK-JS-NODEFORGE-15789771,SNYK-JS-SHELLQUOTE-16799355. Remaining out-of-scope criticals:flatted@3.3.3(via eslint) andwebsocket-driver@0.7.4(via webpack-dev-server > sockjs).The hand-written change is 6 lines in
docs/package.json; the rest isyarn.lockchurn from re-resolution.TESTING INSTRUCTIONS
In
docs/on Node 22.22 with yarn 1.22:yarn install— lockfile resolves to axios 1.15.2, esbuild 0.28.1, node-forge 1.4.0, shell-quote 1.8.4, immutable 3.8.3 + 5.1.9, sass 1.98.0npx docusaurus start— Rspack compiles the site and/returns HTTP 200 (one pre-existinggetClientErrorObjectESM linking warning from@superset-ui/core, present before this change)snyk test --file=docs/yarn.lock --dev --severity-threshold=criticalPre-existing failure unrelated to this change:
yarn build(docusaurus build) runs out of JavaScript heap in this environment, both with and without this change — verified by rebuilding on a cleanmastercheckout with the original lockfile (fails identically at--max-old-space-size=8192, and my branch also fails at 16384). Full-site build verification therefore has to happen in CI.ADDITIONAL INFORMATION
Link to Devin session: https://app.devin.ai/sessions/e830b59b235d402ca2915949601f2b4a
Requested by: @shayanshafii
Devin Review