Solid.js 'multiple instances' warnings appear in React apps with Vite 8
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 499
- Forks
- 100
- Merge moyen
- 1 j 17 h
- PR mergées (30 j)
- 4
Description
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.
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par la reproduction minimale liée et sa configuration Vite, puis comparez le comportement du serveur de développement avec Vite 7 et Vite 8. Examinez l’intégration Vite de TanStack devtools et le chemin de résolution de Solid.js signalé ; le travail est considéré comme terminé lorsque la configuration Vite 8 n’émet plus les avertissements concernant les instances dupliquées et la libération, sans dépendre du workaround de déduplication signalé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- react, typescript, vite
- Domaine
- build-system, devtools
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 52/100