Skip to content

fix(deps): update all dependencies and resolve 26 security vulnerabilities - #35

Merged
dragolea merged 2 commits into
mainfrom
chore-dependency-updates
Aug 5, 2026
Merged

fix(deps): update all dependencies and resolve 26 security vulnerabilities#35
dragolea merged 2 commits into
mainfrom
chore-dependency-updates

Conversation

@dragolea

@dragolea dragolea commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Resolves all 26 open Dependabot alerts (2 critical, 12 high, 8 moderate, 4 low) — npm audit now reports 0 vulnerabilities.

Structural fixes (beyond version bumps)

  • Removed vitest — source of both critical RCE advisories (via the vite/postcss chain) and completely unused: tests run on jest.
  • Replaced npm-run-all with npm-run-all2 (^8.0.4) — unmaintained since 2018 and carried the critical shell-quote advisory. Maintained fork ships the identical run-s binary, so all scripts work unchanged.
  • Added typescript (^5.9.3) as explicit devDependency — the build runs tsc but typescript was never declared, only installed transitively by luck. Also removed the deprecated @types/eslint__js stub.

Runtime dependencies

Package From → To Note
yaml ^2.5.1 → ^2.9.0 fixes moderate stack-overflow CVE
commander ^12.1.0 → ^14.0.3 v15 needs node ≥22.12; CI and consumers run node 20
tinyglobby ^0.2.9 → ^0.2.17
picocolors ^1.1.0 → ^1.1.1

Dev dependencies (majors)

eslint 10.8 + typescript-eslint 8.66 · jest 30.4 + ts-jest 29.4 + @types/jest 30 · commitlint 21 (drops vulnerable inquirer/tmp chain) · lint-staged 16.4 (drops vulnerable yaml) · typedoc 0.28 (drops vulnerable markdown-it) · prettier 3.9.6 · husky 9.1.7

mta.yaml has a one-line quote-style reformat from prettier 3.9.

Verification

  • npm audit — 0 vulnerabilities
  • npm run build (tsc 5.9.3)
  • npm test (jest 30)
  • npm run check (eslint 10 + prettier 3.9)
  • ✅ CLI smoke test: node dist/cli.js --help works on commander 14

Note for maintainers

Node 20 reached EOL in April 2026. Bumping CI (deployment.yaml uses node-version: '20.x') to node 22 LTS would unlock commander 15 and @types/node 24+ in a follow-up.

🤖 Generated with Claude Code

…ities

Resolves all open Dependabot alerts (2 critical, 12 high, 8 moderate, 4 low):

- Remove vitest (unused, tests run on jest) - source of both critical RCE
  advisories via the vite/postcss chain
- Replace unmaintained npm-run-all with npm-run-all2 (same run-s binary) -
  fixes critical shell-quote advisory
- Bump yaml to ^2.9.0 - fixes moderate stack-overflow CVE in runtime dep
- Bump commander to ^14 (not 15, which requires node >=22.12 while CI and
  consumers run node 20)
- Major dev dependency updates: eslint 10, jest 30, commitlint 21,
  lint-staged 16, typedoc 0.28, prettier 3.9
- Add typescript as explicit devDependency (build runs tsc but it was only
  installed transitively); remove deprecated @types/eslint__js stub
- mta.yaml: quote style reformat from prettier 3.9

npm audit: 0 vulnerabilities. Verified: build, jest, eslint, prettier, CLI smoke test.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dragolea dragolea added the version: patch package.json increase - 0.0.x label Aug 5, 2026
…ovenance

Mirror the proven deployment setup from cds-ts-dispatcher/cds-ts-repository
(both failed their first post-purge publish in July 2026 and were fixed):

- node 20.x -> 22.x with npm cache in build and publish jobs
- npm install -> npm ci in build job
- publish job: add id-token: write for OIDC, publish with --provenance
- tighten top-level permissions to contents: read
- document the Dec 2025 npm classic-token purge / org-level NPM_ORG_TOKEN

sync-mta-version last published 2025-03 with the pre-purge token setup;
without this the publish would likely fail like the siblings' first attempts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@dragolea
dragolea merged commit 960b839 into main Aug 5, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

version: patch package.json increase - 0.0.x

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant