Solid.js 'multiple instances' warnings appear in React apps with Vite 8
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 499
- Forks
- 100
- Ø Merge
- 1 T. 17 Std.
- Gemergte PRs (30 T.)
- 4
Beschreibung
TanStack Devtools version
@tanstack/react-devtools v0.10.1, @tanstack/devtools-vite v0.6.0
Framework/Library version
React 19.2.4, TanStack Start 1.167.16, Vite 8.0.3
Describe the bug and the steps to reproduce it
When using TanStack Devtools in a React TanStack Start app with Vite 8, the following warnings appear in the terminal and browser when starting the dev server
❯ bun run dev
$ vite dev --port 3000
VITE v8.0.3 ready in 1039 ms
➜ Local: http://localhost:3000/
➜ Network: use --host to expose
➜ press h + enter to show help
[vite] connected.
9:48:32 AM [vite] (client) [console.warn] You appear to have multiple instances of Solid. This can lead to unexpected behavior.
9:48:32 AM [vite] (client) [console.warn] You appear to have multiple instances of Solid. This can lead to unexpected behavior.
9:48:32 AM [vite] (client) [console.warn] computations created outside a `createRoot` or `render` will never be disposed
9:48:32 AM [vite] (client) [console.warn] computations created outside a `createRoot` or `render` will never be disposed
9:48:32 AM [vite] (client) [console.warn] cleanups created outside a `createRoot` or `render` will never be run
9:48:32 AM [vite] (client) [console.warn] computations created outside a `createRoot` or `render` will never be disposed
9:48:32 AM [vite] (client) [console.warn] computations created outside a `createRoot` or `render` will never be disposed
9:48:32 AM [vite] (client) [console.warn] cleanups created outside a `createRoot` or `render` will never be run
9:48:32 AM [vite] (client) [console.warn] computations created outside a `createRoot` or `render` will never be disposed
9:48:32 AM [vite] (client) [console.warn] cleanups created outside a `createRoot` or `render` will never be run
9:48:32 AM [vite] (client) [console.warn] cleanups created outside a `createRoot` or `render` will never be run
9:48:32 AM [vite] (client) [console.warn] computations created outside a `createRoot` or `render` will never be disposed
These warnings do not appear with Vite 7 using the exact same dependencies and configuration.
Steps to reproduce:
- Clone the repro repo and install dependencies:
git clone https://github.com/abed-daloopa/tanstack-devtools-solid-warnings cd tanstack-devtools-solid-warnings bun install - Run the dev server:
bun run dev - Open http://localhost:3000 — warnings appear in the browser console and terminal.
To verify Vite 8 is the cause, downgrade to Vite 7:
- "vite": "^8.0.3"
+ "vite": "^7.3.1"
Or add resolve.dedupe: ["solid-js"] to vite config
Reinstall and run ➡︎ warnings disappear.
Root cause: Vite 8 resolves Solid.js as multiple instances at runtime, even when only one copy exists in node_modules. Vite correctly deduplicates it.
Note: Adding resolve.dedupe: ["solid-js"] to the Vite config fixes the issue.
Your Minimal, Reproducible Example - (Sandbox Highly Recommended)
https://github.com/abed-daloopa/tanstack-devtools-solid-warnings
Screenshots or Videos (Optional)
No response
Do you intend to try to help solve this bug with your own PR?
Maybe
Terms & Code of Conduct
- I agree to follow this project's Code of Conduct
- I understand that if my bug cannot be reliable reproduced in a debuggable environment, it will probably not be fixed and this issue may even be closed.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit der verknüpften Minimalreproduktion und ihrer Vite-Konfiguration und vergleiche dann das Verhalten des Dev-Servers unter Vite 7 und Vite 8. Untersuche die Vite-Integration der TanStack devtools und den gemeldeten Solid.js-Auflösungspfad; als erledigt gilt die Aufgabe, wenn das Vite-8-Setup die Warnungen zu doppelten Instanzen und zur Freigabe nicht mehr ausgibt, ohne auf den gemeldeten dedupe-Workaround angewiesen zu sein.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- react, typescript, vite
- Bereich
- build-system, devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 52/100