Skip to content

fix: patch picomatch and nanoid transitive vulns - #20

Merged
Shinrai merged 3 commits into
nextfrom
deps/consolidate-next
Aug 10, 2026
Merged

fix: patch picomatch and nanoid transitive vulns#20
Shinrai merged 3 commits into
nextfrom
deps/consolidate-next

Conversation

@Shinrai

@Shinrai Shinrai commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Summary

Consolidates the outstanding next-targeting dependency work into a single PR so it all rides the next → master release (#19) together, and wires the repo's lint/format scripts for the post-merge autofix.

Dependency bumps (each was CI-green individually on next)

Dep Range Role
espree 9 → 11.2.0 runtime (AST parser)
eslint 9 → 10.8.1 dev (lint)
@eslint/json 0.13 → 2.0.1 dev (lint)
@mdn/browser-compat-data 6 → 8.0.10 dev (feature data)

Security (transitive, lockfile-only)

Dep Bump Advisory
picomatch 2.3.1 → 2.3.2 (via fast-globmicromatch; runtime reach) GHSA-3v7f-55p6-f55p, GHSA-c2c7-rcm5-vvqj
nanoid 3.3.16 → 3.3.18 (via vitestvitepostcss; dev) GHSA-2v37-7h3g-55p8

npm audit now reports 0 vulnerabilities.

Lint/format wiring

Adds format/format:check (prettier) + lint/lint:fix (eslint, JS+JSON) wired to .configs/, so the post-merge lint-format autofix (CLDMV/.github v4.21.0) has scripts to run when this merges into next. eslint ignores the intentional-error scan fixture tests/testfile.js and generated src/data; one dead unused var was removed so lint is green. Repo-wide formatting drift is intentionally left for the autofix to apply and commit back on the post-merge push.

Validation

  • npm ci clean against the regenerated lockfile (npm-10 compatible).
  • Full suite green locally: 17 test files / 24 tests, incl. espree-11 AST parsing paths.
  • npm run lint green; PR CI green (Node 22 + lts/*, CodeQL); the Lint & Format job correctly skips on the feature PR.

Supersedes / folds in

Bundles four Dependabot bumps that each passed CI individually on next,
into one PR so they ride the next → master release together:

- espree 9 → 11.2.0 (runtime; AST parser — ES2022–2025 suites green)
- eslint 9 → 10.8.1 (dev; lint only)
- @eslint/json 0.13 → 2.0.1 (dev; lint only)
- @mdn/browser-compat-data 6 → 8.0.10 (dev; feature-data)

npm ci verified clean (npm 10-compatible lockfile), full suite green
(17 files / 24 tests). Supersedes #15, #16, #17, #18.

Note: the two pre-existing high-sev transitives (picomatch 2.3.1 via
fast-glob, nanoid 3.3.16) are untouched here — separate concern.
Resolves the two pre-existing high-severity transitives on next:
- picomatch 2.3.1 → 2.3.2 (via fast-glob → micromatch; runtime reach)
  fixes GHSA-3v7f-55p6-f55p (method injection) + GHSA-c2c7-rcm5-vvqj (ReDoS)
- nanoid 3.3.16 → 3.3.18 (via vitest → vite → postcss; dev)
  fixes GHSA-2v37-7h3g-55p8 (zero-size infinite loop)

Both in-range (lockfile-only, no package.json change), npm audit now
clean (0 vulnerabilities), npm ci verified, full suite green (17/17).

Folds in the intent of #9 (security transitive bumps): next already
carries newer brace-expansion (5.0.9) / minimatch (10.2.6) than #9's
targets and no js-yaml in-tree, so #9 is moot against next — its fixes
ride this release rather than the hotfixes lane.
@cldmv-bot cldmv-bot Bot changed the title deps: consolidate next dependency bumps (espree 11, eslint 10, @eslint/json 2, browser-compat-data 8) fix: patch picomatch and nanoid transitive vulns Aug 9, 2026
@cldmv-bot

cldmv-bot Bot commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Auto-normalized PR title: rewrote PR title to match the highest-priority commit type (fix).

  • Before: deps: consolidate next dependency bumps (espree 11, eslint 10, @eslint/json 2, browser-compat-data 8)
  • After: fix: patch picomatch and nanoid transitive vulns

If this isn't what you want, edit the title — the normalizer won't re-fire as long as the title stays conventional.

@Shinrai Shinrai changed the title fix: patch picomatch and nanoid transitive vulns deps: consolidate next dependency + security bumps Aug 9, 2026
Wires format/format:check (prettier) and lint/lint:fix (eslint, JS+JSON) to
.configs/ so the post-merge lint-format autofix (CLDMV/.github v4.21.0) has
scripts to run when this merges into next. eslint ignores the intentional-error
scan fixture tests/testfile.js and generated src/data; removed one dead unused
var so lint is green. Repo-wide formatting drift is left intentionally for the
autofix to apply and commit back on the post-merge push.
@cldmv-bot cldmv-bot Bot added the area: tests Touches test files, fixtures, or test infrastructure label Aug 10, 2026
@cldmv-bot cldmv-bot Bot changed the title deps: consolidate next dependency + security bumps fix: patch picomatch and nanoid transitive vulns Aug 10, 2026
@Shinrai
Shinrai merged commit d4eb14d into next Aug 10, 2026
22 checks passed
@cldmv-bot
cldmv-bot Bot deleted the deps/consolidate-next branch August 10, 2026 02:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: tests Touches test files, fixtures, or test infrastructure type: dependencies Relates to dependency updates, version bumps, or package management

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant