Skip to content
This repository was archived by the owner on Jun 23, 2026. It is now read-only.

fix(deps): clear npm audit advisories blocking CI#15

Merged
kanywst merged 1 commit into
mainfrom
fix/audit-vulns
Jun 23, 2026
Merged

fix(deps): clear npm audit advisories blocking CI#15
kanywst merged 1 commit into
mainfrom
fix/audit-vulns

Conversation

@kanywst

@kanywst kanywst commented Jun 23, 2026

Copy link
Copy Markdown
Member

Why

npm audit --audit-level=moderate (the CI audit gate) began failing on main, so every open PR inherits a red lint / typecheck / test / audit / build check — this is not caused by the dependabot bumps in #13/#14, it's newly-published advisories in existing deps.

package severity advisory
vite 8.0.0–8.0.15 high server.fs.deny bypass (GHSA-fx2h-pf6j-xcff) + launch-editor NTLM hash (GHSA-v6wh-96g9-6wx3)
js-yaml ≤4.1.1 moderate quadratic-complexity DoS in merge keys (GHSA-h67p-54hq-rp68)
markdown-it ≤14.1.1 moderate quadratic-complexity DoS in smartquotes (GHSA-6v5v-wf23-fmfq)

Fix

  • vite → 8.1.0, transitive via vitest and within its ^8.0.0 range; pinned with an override for determinism.
  • js-yaml / markdown-it are exact-pinned by markdownlint-cli2@0.22.1, so they need overrides → patched 4.2.0 / 14.2.0 (same major, non-breaking).

Verification

lint (markdownlint clean), typecheck, test (3 passing), build all pass locally; npm audit --audit-level=moderate reports 0 vulnerabilities.

After this merges, #13 and #14 just need a rebase to go green.

npm audit --audit-level=moderate (the CI audit gate) started failing on
main and therefore on every open PR after new advisories were published:

- vite 8.0.0-8.0.15 (high): server.fs.deny bypass + launch-editor NTLM hash
- js-yaml <=4.1.1 (moderate): quadratic-complexity DoS in merge keys
- markdown-it <=14.1.1 (moderate): quadratic-complexity DoS in smartquotes

vite (transitive via vitest) bumps to 8.1.0 within range. js-yaml and
markdown-it are exact-pinned by markdownlint-cli2, so override them to the
patched 4.2.0 / 14.2.0 (same major, non-breaking). lint/typecheck/test/build
all pass; audit reports 0 vulnerabilities.
@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@kanywst, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 53 minutes and 49 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more credits in the billing tab to continue.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits.

🚦 How do rate limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate.

For paid Pro and Pro+ PR reviews, CodeRabbit uses rolling per-developer review limits. Reviews become available again as older review attempts age out of the rolling limit window.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 132c0296-babc-454f-9c38-3b0f8364fbce

📥 Commits

Reviewing files that changed from the base of the PR and between 99694ea and 4801718.

⛔ Files ignored due to path filters (1)
  • package-lock.json is excluded by !**/package-lock.json
📒 Files selected for processing (1)
  • package.json
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/audit-vulns

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.

@kanywst kanywst merged commit eaa175c into main Jun 23, 2026
4 checks passed
@kanywst kanywst deleted the fix/audit-vulns branch June 23, 2026 14:17

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces an overrides section in package.json for js-yaml, markdown-it, and vite, along with corresponding dependency updates in package-lock.json. The reviewer suggests removing vite from the overrides block, as it is already permitted by vitest and overriding it is unnecessary and could complicate future upgrades.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread package.json
Comment on lines +44 to +45
"markdown-it": "14.2.0",
"vite": "^8.1.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Since vitest specifies its vite dependency as ^6.0.0 || ^7.0.0 || ^8.0.0, it already permits vite@8.1.0. Therefore, overriding vite is unnecessary because npm will naturally resolve it to 8.1.0 (as seen in the lockfile updates). Removing vite from overrides keeps package.json cleaner and avoids potential issues with future major version upgrades of vite when vitest is updated.

    "markdown-it": "14.2.0"

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant