MSW fails to import when running unit tests in browser mode

Abierto
#32,523 10 comentarios 3 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
45/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
angular, typescript

Línea de trabajo

Empieza reproduciendo la configuración indicada de pruebas unitarias de Angular 21 en modo navegador con Vitest y una importación desde msw; después, inspecciona cómo el ejecutor de pruebas unitarias de Angular pasa las condiciones de resolución. Se considera terminado cuando las pruebas en modo navegador pueden importar msw sin el error de externalización del punto de entrada, mientras el comportamiento de jsdom permanece sin cambios.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

needs: investigation
Which @angular/* package(s) are the source of the bug?

compiler

Is this a regression?

Yes

Description

In Angular 21, when running unit tests using the below configuration the run fails with "The entry point "msw" cannot be marked as external"

Setup:

  1. Create a new angular project.
  2. Set unit tests to use the chromium browser
  3. Install MSW
  4. Attempt to import anything from msw in a test case, the above error is thrown.

This appears to be related to a disconnect between the package.json configuration of MSW and the "resolve conditions" that are being passed to Vitest by the angular unit test runner.

When running the tests in jsdom (not browser) we do not encounter this issue.

Please provide a link to a minimal reproduction of the bug

No response

Please provide the exception or error you saw

Please provide the environment you discovered this bug in (run ng version)
Angular CLI       : 21.1.4
Angular           : 21.1.5
Node.js           : 22.18.0
Package Manager   : npm 11.5.2
Operating System  : win32 x64

┌───────────────────────────┬───────────────────┬───────────────────┐
│ Package                   │ Installed Version │ Requested Version │
├───────────────────────────┼───────────────────┼───────────────────┤
│ @angular/build            │ 21.1.4            │ ^21.1.4           │
│ @angular/cli              │ 21.1.4            │ ^21.1.4           │
│ @angular/common           │ 21.1.5            │ ^21.1.0           │
│ @angular/compiler         │ 21.1.5            │ ^21.1.0           │
│ @angular/compiler-cli     │ 21.1.5            │ ^21.1.0           │
│ @angular/core             │ 21.1.5            │ ^21.1.0           │
│ @angular/forms            │ 21.1.5            │ ^21.1.0           │
│ @angular/platform-browser │ 21.1.5            │ ^21.1.0           │
│ @angular/router           │ 21.1.5            │ ^21.1.0           │
│ rxjs                      │ 7.8.2             │ ~7.8.0            │
│ typescript                │ 5.9.3             │ ~5.9.2            │
│ vitest                    │ 4.0.18            │ ^4.0.8            │
└───────────────────────────┴───────────────────┴───────────────────┘
Anything else?

No response

Lenguaje dominante
TypeScript
Estrellas
27k
Forks
11.8k
Merge medio
16 h 21 min
PR fusionados (30 d)
170

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de angular/angular-cli

Todos los issues de angular/angular-cli

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.