Skip to content

chore(deps): Consolidate Bun workspace dependency bumps#147

Merged
voyvodka merged 1 commit into
mainfrom
chore/bun-dependency-refresh
Jun 22, 2026
Merged

chore(deps): Consolidate Bun workspace dependency bumps#147
voyvodka merged 1 commit into
mainfrom
chore/bun-dependency-refresh

Conversation

@voyvodka

Copy link
Copy Markdown
Owner

Consolidates the five mutually-conflicting Dependabot lockfile PRs into a single root bun.lock regeneration. All five touch the workspace-root bun.lock, so merging them individually would force a rebase-and-CI cycle on each survivor; bundling them keeps the lockfile coherent in one pass.

Supersedes

Bumps

Dashboard bundle: react-router 7.17.0 → 8.0.1, lucide-react 1.18.0 → 1.21.0.
Dev / build tooling: typescript-eslint 8.61.0 → 8.61.1 (dashboard + endpoint-manager), @types/node 25.9.3 → 26.0.0 (dashboard), vite 8.0.11 → 8.0.16 (samples/portal-host).

react-router 7 → 8 (major)

The only hard breaking change in v8 is the removal of the react-router-dom re-export. The dashboard already imports everything from react-router and uses the declarative <Routes> / <Route> API (no createBrowserRouter / RouterProvider / loaders), so it is unaffected. Every imported symbol (BrowserRouter, Navigate, Route, Routes, NavLink, Outlet, useNavigate, useLocation, Link, useParams) is still exported and behaviourally unchanged.

Security

Resolves both open vite advisories on samples/portal-hostGHSA-fx2h-pf6j-xcff (high, server.fs.deny bypass on Windows alternate paths) and GHSA-v6wh-96g9-6wx3 (medium, launch-editor NTLMv2 hash disclosure) — both patched in vite 8.0.16. The vulnerable dependency lives only in the demo sample workspace; it ships in no released artifact (Docker image, NuGet SDK, or dashboard bundle).

Why a single hand-rolled lockfile (vs. samples/portal-host auto-sync)

sync-bun-lock.yml watches src/dashboard/package.json and packages/*/package.json but not samples/*, so #140's vite bump never regenerated the root lockfile and died on CI's bun install --frozen-lockfile. Regenerating once locally covers all members.

Verification (local)

  • bun install --frozen-lockfile — clean
  • dashboard: bun run lint, bun run typecheck, bun run build — all pass
  • endpoint-manager: lint + typecheck clean, 43/43 tests pass

Bundle the five mutually-conflicting Dependabot lockfile PRs (#140, #142,
#143, #145, #146) into a single root bun.lock regeneration. Dashboard bundle:
react-router 7.17.0 -> 8.0.1 (major; the v8 react-router-dom re-export removal
does not affect the dashboard, which already imports from react-router) and
lucide-react 1.18.0 -> 1.21.0. Dev/build tooling: typescript-eslint
8.61.0 -> 8.61.1 (dashboard + endpoint-manager), @types/node 25.9.3 -> 26.0.0
(dashboard), and vite 8.0.11 -> 8.0.16 (samples/portal-host, the workspace
member sync-bun-lock does not watch). No user-facing behaviour change.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dashboard React dashboard issues dependencies Pull requests that update a dependency file npm npm / Bun dependencies security Security-related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant