Skip to content

chore(deps): consolidate 4 dependabot PRs (2026-07-27 batch) - #513

Merged
Weegy merged 5 commits into
mainfrom
chore/dependabot-batch-2026-07-27
Jul 27, 2026
Merged

chore(deps): consolidate 4 dependabot PRs (2026-07-27 batch)#513
Weegy merged 5 commits into
mainfrom
chore/dependabot-batch-2026-07-27

Conversation

@Weegy

@Weegy Weegy commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Consolidates 4 Dependabot PRs opened 2026-07-26 (right after #508 merged) into a single clean, CI-verified batch — same pattern as yesterday's #508 consolidation.

# Package(s) Change Group
#509 eslint-config-next (web-ui, dev) 16.2.10 → 16.2.12 dev-tooling
#510 @testing-library/jest-dom (web-ui, dev) 6.9.1 → 7.0.0 (major)
#511 jose (middleware) 6.2.3 → 6.2.4 runtime-patches
#512 next, react, react-dom (web-ui) next 16.2.10 → 16.2.12, react/react-dom 19.2.7 → 19.2.8 runtime-patches

jest-dom 7.0.0 breaking-change check

  • @testing-library/dom is now a required peer dependency — already pinned at ^10.4.1 here, satisfies it.
  • Minimum Node is now 22 — repo already enforces >=22.13.0 <23.
  • Import path already uses @testing-library/jest-dom/vitest in vitest.setup.ts — no code changes needed.

Verification (Node 22.22.3)

middleware

  • npm run build — exit 0
  • npm run typecheck — exit 0
  • npm test — 4705 tests, 4701 pass, 4 skipped, 0 fail

web-ui

  • npm run build — exit 0
  • npm run typecheck — exit 0
  • npm run lint — 0 errors, 36 warnings (pre-existing, unchanged before/after)
  • npm test (vitest) — 306/306 pass

Lockfile diffs verified scoped to only the intended packages and their own transitive deps (no unrelated drive-by bumps).

Closes #509, closes #510, closes #511, closes #512.

Test plan

  • npm run build (middleware + web-ui)
  • npm run typecheck (middleware + web-ui)
  • npm test (middleware: 4701/4705, web-ui: 306/306)
  • npm run lint (web-ui, no new warnings)
  • CI green on this PR

View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Weegy added 3 commits July 27, 2026 05:25
…st-dom

- next 16.2.10 -> 16.2.12, react/react-dom 19.2.7 -> 19.2.8 (Dependabot PR #512, runtime-patches group)
- eslint-config-next 16.2.10 -> 16.2.12 (Dependabot PR #509, dev-tooling group)
- @testing-library/jest-dom 6.9.1 -> 7.0.0 (Dependabot PR #510, major — @testing-library/dom
  is already pinned >=10.4.1 satisfying the new required peer dep; repo already imports via
  '@testing-library/jest-dom/vitest' and Node engine is already >=22.13.0, so no code changes
  were needed for the v7 breaking changes).
…atch-2026-07-27

# Conflicts:
#	web-ui/package-lock.json
#	web-ui/package.json
@Weegy

Weegy commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

CI status: 5/7 green, 2 pre-existing audit failures (not caused by this PR)

All build/lint/typecheck/test checks pass:

  • middleware (build, no push)
  • web-ui (build, no push)
  • schema (migrations on pgvector)
  • middleware (lint + typecheck + test) ✅ (4701/4705 pass, 4 skipped)
  • web-ui (lint + typecheck + vitest) ✅ (306/306 pass)

Both audit (high+critical block) checks fail — verified this is pre-existing on main, not introduced by this batch (main's own commit shows the identical two failures right now).

Root causes, neither fixable without out-of-scope major bumps or an upstream release that doesn't exist yet:

  • web-ui: next@16.2.12 (our target version — latest on npm is still 16.2.12, no patched release exists yet) has a high-severity advisory whose vulnerable range extends through 16.3.0-preview.7; postcss/sharp are pulled in transitively via next. monaco-editor/dompurify need a monaco-editor major bump (moderate, not blocking on its own).
  • middleware: uuid/@azure/msal-node chain needs a botbuilder major bump; @modelcontextprotocol/sdk/@hono/node-server need an SDK major bump.
  • I tried npm audit fix (non-force) on both — it made things worse in both cases (middleware: 16→18 vulns via an intermediate exceljs/archiver chain; web-ui: 4→12 highs via an intermediate eslint downgrade chain), so I reverted both attempts. Not included in this PR.

Since these two checks are in the required-status-check list, this PR will show the same red X main already has. Flagging for a decision: merge via admin override (same as presumably happened for #508 yesterday, since these checks already existed then), or track as a separate remediation issue (needs a next patch release upstream + deliberate botbuilder/@modelcontextprotocol/sdk/monaco-editor major-version work).

Weegy added 2 commits July 27, 2026 05:50
…x required audit gate

Pins nested/transitive packages via npm overrides (the direct dependency
declaring them either has no fix yet or would need a major bump):
- axios 1.18.1 (nested under botbuilder, was pinned to a stale <1.18.0 in
  the lockfile despite node_modules already resolving newer)
- fast-uri 3.1.4, postcss 8.5.23 (same stale-lockfile-pin pattern)
- brace-expansion 5.0.8 (the only version line clear of both DoS advisories)

middleware audit: 16 vulnerabilities (4 high) -> 10 (0 high/critical).
Remaining 10 moderate (botbuilder/uuid/@azure/msal-node,
@modelcontextprotocol/sdk/@hono/node-server chains) need upstream major
bumps and don't block the required 'audit (high+critical block)' check.

Verified: build, typecheck, lint, full test suite (4701/4705, 4 skipped,
0 fail) all green after a clean node_modules + lockfile regeneration
(overrides don't apply reliably on an incremental install over an
existing lockfile — needed rm -rf node_modules package-lock.json).
…quired audit gate

- postcss 8.5.23, sharp 0.35.3 (next.js bundles its own older nested
  copies of both; overriding them also cleared 'next' itself from the
  audit report, since next was only flagged as an 'effects' cascade of
  these two, not a direct CVE against next 16.2.12)
- brace-expansion 5.0.8 (only version line clear of both DoS advisories)
- minimatch 10.2.5, required alongside brace-expansion: minimatch@3.x
  (hoisted top-level, used by @eslint/config-array) declares
  brace-expansion ^1.1.7 and calls it as a callable default export;
  brace-expansion 5.x dropped that shape, so eslint crashed
  ('TypeError: expand is not a function') until minimatch was bumped
  to the major line (10.x) that expects brace-expansion ^5.x.

web-ui audit: 15 vulnerabilities (4 high) -> 2 (0 high/critical).
Remaining 2 moderate (dompurify via monaco-editor, monaco-editor itself)
need a monaco-editor major bump and don't block the required
'audit (high+critical block)' check.

Verified: build, typecheck, lint (36 pre-existing warnings, 0 errors,
no crash), full test suite (306/306) all green after a clean
node_modules + lockfile regeneration.
@Weegy

Weegy commented Jul 27, 2026

Copy link
Copy Markdown
Contributor Author

Update: audit gate is now green too — 7/7 checks passing

Root-caused and fixed both audit (high+critical block) failures via targeted npm overrides (in the overrides block each package.json already had, for esbuild etc.):

middleware: axios1.18.1, fast-uri3.1.4, postcss8.5.23, brace-expansion5.0.8 (all nested transitives under botbuilder/ajv/vite). 16 vulns (4 high) → 10 (0 high/critical).

web-ui: postcss8.5.23, sharp0.35.3, brace-expansion5.0.8, minimatch10.2.5 (nested under next/eslint's own toolchain). 15 vulns (4 high) → 2 (0 high/critical). Bonus: fixing postcss/sharp also cleared next itself from the report — it was only flagged as an effects: cascade of those two bundled copies, not a direct CVE against next@16.2.12.

Two gotchas along the way, worth knowing for future dependency work here:

  1. Overrides don't reliably apply on an incremental npm install over an existing lockfile — needed a full rm -rf node_modules package-lock.json && npm install to actually take effect.
  2. brace-expansion@5.x changed its export shape; minimatch@3.x (hoisted top-level, used by @eslint/config-array) still calls it as a callable default and crashed (TypeError: expand is not a function) until minimatch was also bumped to the major line that expects the new API.

Remaining moderate-severity findings (botbuilder/uuid chain, @modelcontextprotocol/sdk chain, monaco-editor/dompurify) don't block the high+critical gate and need larger, separate major-version work — out of scope here.

Re-verified after each change: build, typecheck, lint, full test suites (middleware 4701/4705, web-ui 306/306) all green.

@Weegy
Weegy merged commit 8ca1907 into main Jul 27, 2026
7 checks passed
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