Skip to content

fix: remediate the minimatch Dependabot alert (2026-11, wave 2) - #47

Merged
fbourasse merged 1 commit into
mainfrom
fix/dependabot-2026-11-w2
Nov 7, 2026
Merged

fbourasse merged 1 commit into
mainfrom
fix/dependabot-2026-11-w2

Conversation

@fbourasse

Copy link
Copy Markdown
Contributor

Summary

Fixes the root minimatch alert with the glob 14 method (wave 2, 2026-11). tests/ and the /tests entry of .github/dependabot.yml are untouched. No root Dependabot PR is open; the /tests group #45 is validated separately by the e2e harness.

Change

minimatch >= 7.0.0, < 11.0.1 (alert #140, medium, fixed in 11.0.1) came from four consumers:

  • glob 10.5.0 (via test-exclude 7)
  • glob 13.0.7 (via jest 30: @jest/reporters, jest-config, jest-runtime)
  • test-exclude 7 itself
  • @typescript-eslint/typescript-estree 8

glob 10, 11 and 13 combined with minimatch 11 silently match nothing. So every glob consumer is moved to glob 14, and only the direct minimatch users go to 11. Scoped Yarn 1 resolutions added to the root package.json:

"**/@jest/reporters/glob": "^14.0.3",
"**/jest-config/glob": "^14.0.3",
"**/jest-runtime/glob": "^14.0.3",
"**/test-exclude/glob": "^14.0.3",
"**/test-exclude/minimatch": "^11.0.1",
"**/@typescript-eslint/typescript-estree/minimatch": "^11.0.1"

Lockfile result: a single glob ≥ 10 (14.0.4, with minimatch 11.0.5), plus glob 7 / minimatch 3 for the old rimraf/eslint chain.

Alerts

  • Fixed: minimatch (#140).
  • Remaining: deepmerge 4.3.1 (low, via jest-config 30). It has no patched version.
  • tests/ alerts (out of scope): extract-zip ×2 (no patched version).

Test plan

  • mvn -B clean install on JDK 11 (frontend-maven-plugin 1.15.4) in a fresh git worktree: BUILD SUCCESS, 44 tests. The default branch gives the same result.
  • MANIFEST gate (Import-Package / Require-Capability, default branch vs this branch): identical.
  • Glob smoke test: the only glob ≥ 10 copy (14.0.4 + minimatch 11.0.5) returns globSync('*') > 0.
  • rimraf --glob (rimraf 6) deletes the matching files in a dummy directory.
  • jest --coverage (which uses test-exclude with glob 14): 5/5 tests. The coverage table is identical to main (52.17 / 41.46 / 22.22 / 53.33), so test-exclude still finds the source files.
  • yarn lint passes.
  • e2e harness: not run (orchestrator).

…wave 2)

minimatch < 11.0.1 (GHSA, medium) came from glob 10 (test-exclude 7), glob 13
(jest 30: @jest/reporters, jest-config, jest-runtime), test-exclude 7 and
@typescript-eslint/typescript-estree 8. Scoped Yarn 1 resolutions move every
glob consumer to glob ^14.0.3 and the direct minimatch users to ^11.0.1, so
minimatch 11 never runs under glob 10/11/13 (which silently matches nothing).
Only glob 14.0.4 + minimatch 11.0.5 remain (plus minimatch 3 for glob 7).

Signed-off-by: Florent BOURASSE <fbourasse@jahia.com>
@fbourasse
fbourasse merged commit 96f0660 into main Nov 7, 2026
4 checks passed
@fbourasse
fbourasse deleted the fix/dependabot-2026-11-w2 branch November 7, 2026 21:06
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