Skip to content

fix(deps): close all open Dependabot alerts - #77

Merged
peteski22 merged 2 commits into
mainfrom
fix/dependabot-undici-sprintf-js
Oct 20, 2026
Merged

peteski22 merged 2 commits into
mainfrom
fix/dependabot-undici-sprintf-js

Conversation

@peteski22

@peteski22 peteski22 commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Closes every open Dependabot alert on the repository.

undici (10 alerts, 2 high)

examples/vercel-ai resolved undici 7.29.0, which reaches the example transitively through @ai-sdk/provider-utils. The two high-severity advisories are a TLS certificate validation bypass in BalancedPool and a denial of service through an unrequested WebSocket subprotocol. The declared range (^7.28.0) already admits the first patched release, so this is a lock-file-only change to 7.30.1.

sprintf-js (1 alert)

The advisory covers every published sprintf-js release, so no version bump clears it. The package arrives through vite-plugin-dts 4.x, which generates declarations with the Rushstack API extractor and so pulls in argparse 1.x and then sprintf-js. It is a build-time development dependency and never sees untrusted format strings, but the alert cannot be resolved in place.

vite-plugin-dts 5.x replaces the API extractor with unplugin-dts and removes that chain entirely. The plugin options in use (insertTypesEntry, copyDtsFiles) are unchanged.

The example lock files record the linked root package's development dependencies, so all three are regenerated to keep them consistent.

Not changed

braces is reported by npm audit at high severity in all four lock files, but 3.0.3 is the latest published release and the advisory covers <=3.0.3, so no fix exists. It is development-only and Dependabot has already auto-dismissed those alerts.

Verification

  • npm run lint passes: Prettier, ESLint, and both typecheck projects.
  • npm test passes: 4 files, 106 tests.
  • npm run build succeeds, and the generated dist output is byte-identical to the 4.x baseline, declaration files included.
  • npm ci and npm install --package-lock-only under the pinned npm 11.19.1 leave the root lock file unchanged, so the lock-file freshness check in CI passes.
  • npm audit reports no moderate or higher root advisory in any of the four lock files other than the unfixable braces.

Summary by CodeRabbit

  • Chores
    • Updated a development tool used for generating TypeScript declarations.

The example resolved undici 7.29.0, which ten advisories cover. Two are
high severity: a TLS certificate validation bypass in BalancedPool and a
denial of service through an unrequested WebSocket subprotocol. undici
reaches the example as a transitive dependency of the AI SDK provider
utilities.

7.29.1 is the first patched release and the declared range already admits
it, so this updates the lock file alone.
vite-plugin-dts 4.x generates declarations through the API extractor,
which pulls in argparse 1.x and in turn sprintf-js. An advisory covers
every published sprintf-js release, so no version bump clears it. The
package is a build-time development dependency and never handles
untrusted format strings, but the alert cannot be resolved in place.

vite-plugin-dts 5.x replaces the API extractor with unplugin-dts and so
removes that chain. The plugin options in use are unchanged and the
generated declaration files are byte-identical to the 4.x output. The
example lock files record the linked root package's development
dependencies, so they are regenerated to match.
@coderabbitai

coderabbitai Bot commented Oct 20, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 4df71e55-a06b-4d90-9cdb-8b64412da14e
📥 Commits

Reviewing files that changed from the base of the PR and between c4a96e2 and b2fad42.

⛔ Files ignored due to path filters: 4
  • examples/basic/package-lock.json is excluded by !**/package-lock.json
  • examples/langchain/package-lock.json is excluded by !**/package-lock.json
  • examples/vercel-ai/package-lock.json is excluded by !**/package-lock.json
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing: 1
  • package.json

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

Walkthrough

The vite-plugin-dts development dependency was upgraded from ^4.5.4 to ^5.1.2.

Changes

Type declaration tooling update

Layer / File(s) Summary
Update vite-plugin-dts version
package.json
The development dependency vite-plugin-dts was upgraded from ^4.5.4 to ^5.1.2.

Priority: ⬆️ High

Change: Other

Merge Risk: ⚪ Minimal · up to b2fad

The dependency upgrade is compatible with the repository toolchain and does not introduce an identified merge-blocking risk.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly describes the dependency updates and the stated objective of resolving all open Dependabot alerts.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@peteski22
peteski22 merged commit 4527c07 into main Oct 20, 2026
3 checks passed
@peteski22
peteski22 deleted the fix/dependabot-undici-sprintf-js branch October 20, 2026 10:29
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.

1 participant