-
Notifications
You must be signed in to change notification settings - Fork 241
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Jasmine 4 #3340
Labels
🚀 Feature request
New feature request
Comments
This was referenced Jan 8, 2022
nicojs
added a commit
that referenced
this issue
Jan 28, 2022
* Uses `autoCleanClosures: false` in order to reuse jasmine instances between runs. This comes with a big performance boost (4x) * Implements hot reload in jasmine. * Sets `reloadEnvironment` capabilities to `false`. Meaning that static mutants will always force a reload of the environment. This comes with a performance penalty. If you don't want that, please run with `--ignoreStatic`. * Add support for jasmine 4 (Closes #3340) BREAKING CHANGE: The `@stryker-mutator/jamsine-runner` now requires jasmine@3.10 or higher.
nicojs
added a commit
that referenced
this issue
Jan 31, 2022
Add support for native es modules (esm) in the jasmine runner. * Uses `autoCleanClosures: false` in order to reuse jasmine instances between runs. This comes with a big performance boost (4x) * Implements hot reload in jasmine. * Sets `reloadEnvironment` capabilities to `false`. Meaning that static mutants will always force a reload of the environment. This comes with a performance penalty. If you don't want that, please run with `--ignoreStatic`. * Add support for jasmine 4 (Closes #3340) BREAKING CHANGE: The `@stryker-mutator/jamsine-runner` now requires jasmine@3.10 or higher.
Fixed with #3396 to be released with v6 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is your feature request related to a problem? Please describe.
Jasmine 4 released about a week ago and is not supported.
The biggest issue is that jasmine 4 will use
import
by default. Previously I didn't think this would be an issue, because usingimport
on a cjs module is supported in nodejs. However, apparently, this breaks our ability to bust the file from require cache. It is in the cache and can be removed, but importing it again will result in the same file in either case. I will investigate this further when I have some time.This makes #2922 even more important, we should give it the highest priority.
Another smaller change is
failFast
got renamed tostopOnSpecFailure
.See release notes for a full list of changes.
This was also apparent in our CI pipeline. The CI for node 16 was broken. Node 16 comes with npm 7 which installs peerDependencies by default. This made it so we got jasmine 4 as a dependency of jasmine-runner, which broke the ci. See https://github.com/stryker-mutator/stryker-js/runs/4738780880?check_suite_focus=true
Describe the solution you'd like
For now, we should place
<4
in the peer dependency range. And then fix #2922Describe alternatives you've considered
Additional context
See #2922
The text was updated successfully, but these errors were encountered: