Skip to content

fix(deps): clear the open dependency security alerts - #246

Merged
MathiasVDA merged 4 commits into
mainfrom
claude/project-thread-t0m8f8
Oct 27, 2026
Merged

MathiasVDA merged 4 commits into
mainfrom
claude/project-thread-t0m8f8

Conversation

@MathiasVDA

Copy link
Copy Markdown
Collaborator

Requested by Mathias · project thread

Closes #245. After this, npm audit reports 0 vulnerabilities in the root and in website/.

Changes

  • test: drop node-static. The puppeteer tests now serve build/ with a ~30-line static handler in test/utils.ts (MIME types, index.html for directories, refuses paths outside the build dir). Removes node-static, optimist and minimist@0.0.10. Deleted the unused packages/yasr/src/bin/takeScreenshot.js (Triply leftover, not referenced anywhere).
  • puppeteer 24 → 25 and @typescript-eslint 6 → 7.18 (dev only).
  • dompurify floor ^3.4.17 in utils, yasgui and yasr, with a patch changeset.
  • website: serialize-javascript 7.1.2 → 7.1.4 in the lockfile.
  • ci(publish): after setting the release version, the workflow also sets the ranges between @matdata/* packages to ^<version>. Today @matdata/yasgui@6.11.0 depends on @matdata/yasqe@^4.6.1, which resolves to the old 4.8.0 from npm with query-string 6, so every plugin repo gets decode-uri-component alerts. Tried the script locally on copies of the package files with 6.12.0: yasgui → yasqe/yasr/utils ^6.12.0, external deps untouched.

Testing

  • npm run build OK
  • npm run puppeteer-test: 78 passing (cloud run on another port, with the Playwright Chromium)
  • npm run unit-test: 1754 passing
  • npx eslint on packages/*/src and test/utils.ts: clean. (npm run util:lint already fails on main because packages/*/test doesn't exist.)

Generated by Claude Code

node-static is unmaintained and has open directory traversal and DoS
advisories (GHSA-5g97-whc9-8g7j, GHSA-8r4g-cg4m-x23c) with no fix. It also
pulled in optimist and a vulnerable minimist. Replace it with a small
static file handler in test/utils.ts and drop the unused legacy
takeScreenshot.js script that was the only other user.

Also bump puppeteer to 25 (extract-zip, basic-ftp, zod advisories) and
@typescript-eslint to 7.18 (minimatch ReDoS advisories).
The publish step bumped each package's own version but left the ranges
between the packages at ^4.6.1, so installing @matdata/yasgui 6.x pulls
in @matdata/yasqe and @matdata/yasr 4.8.0 from npm. Those old packages
still depend on query-string 6 and an old dompurify, which raises
Dependabot alerts in every project that depends on @matdata/yasgui.
@MathiasVDA MathiasVDA self-assigned this Oct 27, 2026
@MathiasVDA
MathiasVDA merged commit f278fe8 into main Oct 27, 2026
2 checks passed
@MathiasVDA
MathiasVDA deleted the claude/project-thread-t0m8f8 branch October 27, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clear the open dependency security alerts

1 participant