Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Angular CLI 15.1.4 breaks ng test with jsdom because CLI is loading JavaScript bundles as module #24778

Open
@andrewpmontgomery

Description

Command

test

Is this a regression?

  • Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was

15.1.3

Description

I have a standard Angular project, using Karma & Jasmine for unit tests. The unit tests run can run in either Chrome or jsdom. I need jsdom because my CI environment doesn't have Chrome (org policy: no browsers on servers).

Angular CLI 15.1.4 introduced a change in #24620 wherein Javascript bundles are loaded as modules.

Unfortunately, jsdom doesn't support <script type="module">; it simply doesn't load the module scripts. This is a known issue in jsdom - jsdom/jsdom#2475

Ideally jsdom would add module support; but since that ticket has been open for four years, I'm not holding out much hope. So instead, here's my request:

REQUEST: Could Angular CLI add a flag to add/omit type="module" ?

My workaround for now is patching jsdom (using patch-package) to ignore the type attribute on <script type="module">.

Minimal Reproduction

Clone my git repo: https://github.com/andrewpmontgomery/angular-15-jsdom

  1. Run npm install
  2. Run npm run test:chrome and all three tests should pass.
  3. Run npm run test:jsdom and it should time-out.
  4. Run npm run patch-package
  5. Run npm run test:jsdom again and now it works.

Exception or Error

No response

Your Environment

Angular CLI: 15.2.0
Node: 16.19.1
Package Manager: npm 8.19.3
OS: win32 x64
Angular: 15.2.0
... animations, cli, common, compiler, compiler-cli, core, forms
... platform-browser, platform-browser-dynamic, router
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.1502.0
@angular-devkit/build-angular 15.2.0
@angular-devkit/core 15.2.0
@angular-devkit/schematics 15.2.0
@schematics/angular 15.2.0
rxjs 7.8.0
typescript 4.9.5

Anything else relevant?

No response

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

        AltStyle によって変換されたページ (->オリジナル) /