@uiw/codemirror-theme-* crashes vitest workers when --coverage is enabled
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- typescript
- Área
- build-system, testing-qa
Línea de trabajo
Comienza en pnpm-workspace.yaml e inspecciona los paquetes @uiw/codemirror-theme-* implicados en la ejecución de coverage que falla. Reproduce el problema con el comando de Vitest del repositorio y --coverage, y después añade las entradas de packageExtensions necesarias para los themes afectados. El trabajo estará terminado cuando coverage finalice sin errores de resolución de paquetes y los archivos de prueba no relacionados dejen de fallar.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
Tests pass without --coverage but fail when coverage is enabled, with errors like:
Error: Cannot find package '@lezer/highlight' imported from
.../node_modules/.pnpm/@uiw+codemirror-theme-github@.../node_modules/@uiw/codemirror-theme-github/...
Unrelated test files also fail because vitest runs multiple test files per worker — one package load failure crashes the whole worker.
Root Cause
@uiw/codemirror-theme-* packages import @lezer/highlight internally but don't declare it as a dependency in their package.json. This is a bug in those upstream
packages.
Why it only fails with --coverage:
- Without
--coverage: Vite bundles the theme packages through its own resolver, which searches broadly across the workspace and finds@lezer/highlightin
packages/app/node_modules. No error. - With
--coverage: vitest's v8 coverage provider loadsnode_modulespackages via Node's native ESM loader for instrumentation, bypassing Vite's resolver
entirely. Node follows pnpm's strict isolation rules — a package can only resolve its declared dependencies — so@lezer/highlightis not found.
Why npm/yarn users don't hit this: Both use a flat node_modules layout where any package can access anything installed. pnpm's virtual store enforces
declared-dependency isolation.
Workaround
Add packageExtensions entries in pnpm-workspace.yaml for each affected theme package, declaring @lezer/highlight as a dependency:
packageExtensions:
"@uiw/codemirror-theme-github@*":
dependencies:
"@lezer/highlight": "*"
"@uiw/codemirror-theme-vscode@*":
dependencies:
"@lezer/highlight": "*"
# ... other @uiw/codemirror-theme-* packages
pnpm then symlinks @lezer/highlight into each theme package's virtual store node_modules, making it available regardless of loader — Vite, Node, or the v8 coverage
provider.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2.3k
- Forks
- 161
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de uiwjs/react-codemirror
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
uiwjs/react-codemirror#766 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
uiwjs/react-codemirror#770 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 48/100
uiwjs/react-codemirror#767 · 2 comentarios ·
-
Default settings not bare-bones Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
uiwjs/react-codemirror#757 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 45/100
uiwjs/react-codemirror#755 · 4 comentarios ·
Todos los issues de uiwjs/react-codemirror
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Abiertobug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Client support matrix inclusion Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
calcite-components needs triage refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Esri/calcite-design-system#15203 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
fullcalendar/fullcalendar#8106 ·