chore(deps): dependency refresh + @lifi/sdk 4.0.1 + React Router v8 example#798
Conversation
Routine dependency refresh across the workspace via a fresh `pnpm regen`: MUI 9.1, wagmi 3.6.17, viem ^2.52.2, TanStack Router/Virtual/Query, i18next 26.3.1, Tron/Sui/Solana wallet adapters, Biome 2.5, Playwright 1.61, vitest 4.1.9. - Bump @lifi/sdk + @lifi/sdk-provider-* to 4.0.1 (resolved via the fresh lockfile; the ^4.0.0 ranges are intentionally unchanged). - Regenerating the lockfile collapses wagmi to a single 3.6.17 copy, restoring the single WagmiProvider React context the widget relies on. - Bump pnpm 11.5.1 -> 11.8.0 (corepack use pnpm@latest, part of `pnpm regen`). - Biome 2.5 now lints standalone .svg files: ignore them, and migrate the deprecated `recommended: true` to `preset: "recommended"`.
Upgrade the example from React Router 7 to 8.0.1 (react-router plus all @react-router/* packages) and rename the folder/package from `react-router-7` to `react-router`. - Remove the unused `react-router-dom` (the re-export package is dropped in v8). - Bump `engines.node` to >=22.22.0 (the v8 floor; CI and local are on Node 24). - Drop the deprecated tsconfig `baseUrl`/`paths` (the `~/` alias was unused) to clear the TypeScript 6.0 deprecation. - Update the e2e example registry, docs, and smoke-test references.
- nextjs/nextjs15: the widget event emitter moved from mitt to eventemitter3, which has no `.all` map. Replace `widgetEvents.all.clear()` with per-listener `widgetEvents.off(...)` cleanup so `next build` type-checks again. - playground-next: stub the optional `accounts` module (wagmi's tempo connector loads it via a guarded dynamic import) to false in next.config so webpack stops failing the build on the unresolved bare specifier.
🦋 Changeset detectedLatest commit: 8c002c8 The changes in this PR will be included in the next version bump. This PR includes changesets to release 22 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
…k-rr-v8 # Conflicts: # pnpm-lock.yaml
✅ E2E Dev Smoke — passing
4 passed · 0 failed · 0 skipped · 21s |
E2E Examples — all passedAll examples passed in the latest run. |
E2E Playground resultsDetails
📥 Download full HTML report (open the run → Artifacts → |
…t config - CLAUDE.md: fix event-bus reference (eventemitter3, not mitt), document the wagmi single-copy requirement, add the example E2E commands + registry note, and note build-generated artifacts not to commit. - next.config.mjs: the widget moved off mitt, so the comment justifying `ignoreBuildErrors` was stale. The flag is still needed (a pre-existing playground type error), so keep it with an accurate comment.
🔍 QA Review — Ticket RequiredNo Linear ticket could be found for this PR. Agent review requires a linked ticket to provide context for the review. Without it, acceptance criteria cannot be verified and the review quality is significantly reduced. To unblock:
|
Which Linear task is linked to this PR?
None — dependency maintenance / housekeeping.
Why was it implemented this way?
A workspace-wide dependency refresh, finalized with a clean
pnpm regenso the lockfile is a single, deduplicated artifact. Bundled into one PR (related upgrades that share one regenerated lockfile and were verified together); the commits are split into legible stories.Commits
chore(deps)— dependency refresh +@lifi/sdk(and@lifi/sdk-provider-*) → 4.0.1, Biome SVG-ignore +recommended→presetmigrate, lockfile regen.chore(example)— migrate the React Router example 7 → 8.0.1 and renamereact-router-7→react-router.fix(examples)— small compat fixes the bump surfaced (see below).Key decisions
@lifi/sdk4.0.0 → 4.0.1: ranges stay^4.0.0(repo convention); the fresh lockfile resolves to the latest 4.x. Single-copy of@lifi/sdk/@lifi/typesverified.pnpm regencollapses awagmiversion skew (the bump left3.6.16alongside3.6.17) back to a single3.6.17copy — this is what restores the singleWagmiProviderReact context the widget relies on, fixing runtime crashes in the EVM/iframe/NFT examples.11.5.1→11.8.0(packageManagerfield, viacorepack use pnpm@latest— part ofpnpm regen). This moves the toolchain for every dev + CI. Easy to miss in the lockfile diff — flagging it explicitly. If you'd rather not move pnpm in this PR, that single line reverts cleanly (the 11.8.0 lockfile is still 11.x-compatible).react-router-dom(dropped in v8), bumpedengines.nodeto>=22.22.0(v8 floor; CI + local on Node 24), dropped a deadbaseUrl/pathstsconfig block (TS 6.0 deprecation).fix(examples):nextjs/nextjs15usedwidgetEvents.all.clear()(mitt API) — the emitter is now eventemitter3, so switched to per-listener.off(...); and stubbed wagmi tempo's optionalimport('accounts')inplayground-next'snext.configso webpack stops failing the build on it.Visual showcase (Screenshots or Videos)
No UI changes. Verified by running the full e2e render suite (build → serve → Playwright asserting the widget renders): 17/17 active examples pass, including the migrated
react-router(v8 SSR, no hydration/router errors). Repo checks all green:frozen-lockfile,biome,check:types,check:circular-deps,build,build:next, widget tests,knip.Checklist before requesting a review