Vite plugin: 'use-sync-external-store/shim/index.js' is not aliased, dev server crashes with react-aria
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 90/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- react, typescript, vite
- Ambito
- build-system
Direzione di ricerca
Inizia da packages/redact/src/vite/index.ts ed esamina le voci ALIASES per use-sync-external-store/shim. Aggiungi lì i due alias di percorso dei file suggeriti, poi verifica che entrambi gli specificatori vengano risolti in @tanstack/redact nel server di sviluppo Vite. Il lavoro è completato quando la riproduzione non va più in crash a causa dell’export useSyncExternalStore mancante.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
react-aria, react-aria-components and react-stately import the use-sync-external-store shim by its file path:
import { useSyncExternalStore } from "use-sync-external-store/shim/index.js";
The Vite plugin alias table does not contain this specifier. It contains use-sync-external-store/shim, but not use-sync-external-store/shim/index.js. The import therefore resolves to the real CJS shim.
In the dev server, the plugin also excludes use-sync-external-store* from optimizeDeps. The browser then loads the raw CJS file as ESM, and the root render crashes:
SyntaxError: The requested module '/node_modules/use-sync-external-store/shim/index.js?v=…'
does not provide an export named 'useSyncExternalStore'
The production build does not crash, because Rolldown converts the CJS file.
Reproduction
- Create a Vite + React SPA with
redact()inplugins. - Render any component from
react-aria-componentsthat usesuseSyncExternalStore. Examples:Sheet, a toast region (useToastState), or a collection component (CollectionBuilder). - Run
vite(the dev server) and open the page.
Result: blank page and the error above. Expected: the shim resolves to @tanstack/redact, the same as use-sync-external-store/shim.
Workaround
Add the specifier as an alias in the app's vite.config.ts:
resolve: {
alias: {
"use-sync-external-store/shim/index.js": "@tanstack/redact",
},
},
With this alias, our full e2e suite (66 Playwright tests) passes on Redact.
Suggested fix
Add these entries to ALIASES in packages/redact/src/vite/index.ts, before use-sync-external-store/shim:
'use-sync-external-store/shim/index.js': '@tanstack/redact',
'use-sync-external-store/index.js': '@tanstack/redact',
Versions
@tanstack/redact0.2.0. The alias table onmain(d56d87cb) has the same gap.vite8.3.4react-aria3.53.1,react-aria-components1.22.1,react-stately3.51.0
- Lingua principale
- TypeScript
- Stelle
- 408
- Fork
- 13
- Merge medio
- 1h 44m
- PR unite (30g)
- 21
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di TanStack/redact
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Bug: jsx runtime doesn't apply defaultProps (breaks Recharts 2: "Could not find xAxis by id")Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
TanStack/redact#58 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di TanStack/redact
Issue simili
-
area:plugins area:security area:skills bug has repro
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
anthropics/claude-code#105911 ·
I maintainer di solito rispondono entro 1 giorno
-
openspec-apply-change skill: when blocked, may select a ready artifact unrelated to missingArtifactsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Fission-AI/OpenSpec#2165 ·
I maintainer di solito rispondono entro 1 giorno
-
🐞 bug 🧐 unconfirmed
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
Tencent/tdesign-vue-next#7032 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
gnosis/gnosis_vpn#661 ·
I maintainer di solito rispondono entro 1 giorno
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)Apertatriage:bug-verified
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
I maintainer di solito rispondono entro 1 giorno