You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)
Fixes
[jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)
Main feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work require(esm) module is now supported on Node 24.9+ (still requires --experimental-vm-modules like before).
In addition we now support fake timers for the recently released Temporal API in Node v26.
React 19 is also supported properly in pretty-format, meaning snapshots of React components now work like they should.
Due to all the changes, there might be regressions that snuck in. Please report them!
Full list of changes below
Features
[babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
[jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
[jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
[jest-config, jest-core, jest-reporters, jest-runner]verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
[@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
[@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
[@jest/fake-timers] Support faking Temporal.Now.* (#16131)
[jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
[jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
[jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
[jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
[jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)
Fixes
[jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)
30.4.0
Features
[babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
[jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
[jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
[jest-config, jest-core, jest-reporters, jest-runner]verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
[@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
[@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
[@jest/fake-timers] Support faking Temporal.Now.* (#16131)
[jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
[jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
[jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
[jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
[expect-utils] Fix toStrictEqual failing on structuredClone results due to cross-realm constructor mismatch (#15959)
[@jest/expect-utils] Prevent toMatchObject/subset matching from throwing when encountering exotic iterables (#15952)
[fake-timers] Convert Date to milliseconds before passing to @sinonjs/fake-timers (#16029)
[jest] Export GlobalConfig and ProjectConfig TypeScript types (#16132)
[jest-circus] Prevent crash when asyncError is undefined for non-Error throws (#16003)
[jest-circus, jest-jasmine2] Include Error.cause in JSON failureMessages output (#15967)
[jest-config] Fix preset path resolution on Windows when the preset uses subpath exports (#15961)
[jest-config] Allow collectCoverage and coverageProvider in project config without a validation warning (#16132)
[jest-config] Project config validator now emits "is not supported in an individual project configuration" instead of "probably a typing mistake" for known global-only options (#16132)
[jest-environment-node] Fix --localstorage-file warning on Node 25+ (#16086)
[jest-reporters] Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (#16137)
[jest-reporters, jest-runner, jest-runtime, jest-transform] Fix coverage report not showing correct code coverage when using projects config option (#16140)
[jest-runtime] Resolve expect and @jest/expect from the internal module registry so test-file imports share the same JestAssertionError as the global expect (#16130)
[jest-runtime] Improve CJS-from-ESM interop: __esModule/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (#16050)
[jest-runtime] Load .js files with ESM syntax but no "type":"module" marker as native ESM (#16050)
[jest-runtime] Extend the .js-with-ESM-syntax fallback to require() on Node v24.9+ - falls back to require(esm) when the CJS parser rejects ESM syntax (#16078)
[jest-runtime] Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (#16050)
[jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)
Fixes
[jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)
Main feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work require(esm) module is now supported on Node 24.9+ (still requires --experimental-vm-modules like before).
In addition we now support fake timers for the recently released Temporal API in Node v26.
React 19 is also supported properly in pretty-format, meaning snapshots of React components now work like they should.
Due to all the changes, there might be regressions that snuck in. Please report them!
Full list of changes below
Features
[babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
[jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
[jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
[jest-config, jest-core, jest-reporters, jest-runner]verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
[@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
[@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
[@jest/fake-timers] Support faking Temporal.Now.* (#16131)
[jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
[jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
[jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
[jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
[jest-runtime] Fix named imports from CJS modules whose module.exports is a function with own-property exports (#16150)
30.4.1
Features
[jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)
Fixes
[jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)
30.4.0
Features
[babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
[jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
[jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
[jest-config, jest-core, jest-reporters, jest-runner]verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
[@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
[@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
[@jest/fake-timers] Support faking Temporal.Now.* (#16131)
[jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
[jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
[jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
[jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
[expect-utils] Fix toStrictEqual failing on structuredClone results due to cross-realm constructor mismatch (#15959)
[@jest/expect-utils] Prevent toMatchObject/subset matching from throwing when encountering exotic iterables (#15952)
[fake-timers] Convert Date to milliseconds before passing to @sinonjs/fake-timers (#16029)
[jest] Export GlobalConfig and ProjectConfig TypeScript types (#16132)
[jest-circus] Prevent crash when asyncError is undefined for non-Error throws (#16003)
[jest-circus, jest-jasmine2] Include Error.cause in JSON failureMessages output (#15967)
[jest-config] Fix preset path resolution on Windows when the preset uses subpath exports (#15961)
[jest-config] Allow collectCoverage and coverageProvider in project config without a validation warning (#16132)
[jest-config] Project config validator now emits "is not supported in an individual project configuration" instead of "probably a typing mistake" for known global-only options (#16132)
[jest-environment-node] Fix --localstorage-file warning on Node 25+ (#16086)
[jest-reporters] Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (#16137)
[jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)
Fixes
[jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)
Main feature is a rewrite of our custom runtime in preparation for stabilisation of native support of ESM. As part of that work require(esm) module is now supported on Node 24.9+ (still requires --experimental-vm-modules like before).
In addition we now support fake timers for the recently released Temporal API in Node v26.
React 19 is also supported properly in pretty-format, meaning snapshots of React components now work like they should.
Due to all the changes, there might be regressions that snuck in. Please report them!
Full list of changes below
Features
[babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
[jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
[jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
[jest-config, jest-core, jest-reporters, jest-runner]verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
[@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
[@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
[@jest/fake-timers] Support faking Temporal.Now.* (#16131)
[jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
[jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
[jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
[jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
[jest-config, jest-core, jest-runner, jest-schemas, jest-types] Allow custom runner configuration options via tuple format ['runner-path', {options}] (#16141)
Fixes
[jest-runtime] Align CJS-from-ESM default export with Node: module.exports is always the ESM default, __esModule unwrapping is no longer applied (#16143)
30.4.0
Features
[babel-jest] Support collecting coverage from .mts, .cts (and other) files (#15994)
[jest-circus, jest-cli, jest-config, jest-core, jest-jasmine2, jest-types] Add --collect-tests flag to discover and list tests without executing them (#16006)
[jest-config, jest-runner, jest-worker] Add workerGracefulExitTimeout config option to control how long workers are given to exit before being force-killed (#15984)
[jest-config] Add support for jest.config.mts as a valid configuration file (#16005)
[jest-config, jest-core, jest-reporters, jest-runner]verbose and silent can now be set per-project; the project-level value overrides the global value for that project's tests (#16133)
[@jest/fake-timers] Accept Temporal.Duration in jest.advanceTimersByTime() and jest.advanceTimersByTimeAsync() (#16128)
[@jest/fake-timers] Accept Temporal.Instant and Temporal.ZonedDateTime in jest.setSystemTime() and useFakeTimers({now}) (#16128)
[@jest/fake-timers] Support faking Temporal.Now.* (#16131)
[jest-mock] Add clearMocksOnScope(scope) on ModuleMocker for clearing every mock function exposed on a scope object (#16088)
[jest-resolve] Add canResolveSync() on Resolver so callers can detect when a user-configured resolver only exports an async hook (#16064)
[jest-runtime] Use synchronous evaluate() for ES modules without top-level await on Node versions that support it (v24.9+), and prefer the synchronous transform path when a sync transformer is configured (#16062)
[jest-runtime] Support require() of ES modules on Node v24.9+ (#16074)
[expect-utils] Fix toStrictEqual failing on structuredClone results due to cross-realm constructor mismatch (#15959)
[@jest/expect-utils] Prevent toMatchObject/subset matching from throwing when encountering exotic iterables (#15952)
[fake-timers] Convert Date to milliseconds before passing to @sinonjs/fake-timers (#16029)
[jest] Export GlobalConfig and ProjectConfig TypeScript types (#16132)
[jest-circus] Prevent crash when asyncError is undefined for non-Error throws (#16003)
[jest-circus, jest-jasmine2] Include Error.cause in JSON failureMessages output (#15967)
[jest-config] Fix preset path resolution on Windows when the preset uses subpath exports (#15961)
[jest-config] Allow collectCoverage and coverageProvider in project config without a validation warning (#16132)
[jest-config] Project config validator now emits "is not supported in an individual project configuration" instead of "probably a typing mistake" for known global-only options (#16132)
[jest-environment-node] Fix --localstorage-file warning on Node 25+ (#16086)
[jest-reporters] Apply global coverage threshold to unmatched pattern files in addition to glob/path thresholds (#16137)
[jest-reporters, jest-runner, jest-runtime, jest-transform] Fix coverage report not showing correct code coverage when using projects config option (#16140)
[jest-runtime] Resolve expect and @jest/expect from the internal module registry so test-file imports share the same JestAssertionError as the global expect (#16130)
[jest-runtime] Improve CJS-from-ESM interop: __esModule/Babel default unwrap, broader named-export coverage, and shared CJS singleton across importers (#16050)
[jest-runtime] Load .js files with ESM syntax but no "type":"module" marker as native ESM (#16050)
[jest-runtime] Extend the .js-with-ESM-syntax fallback to require() on Node v24.9+ - falls back to require(esm) when the CJS parser rejects ESM syntax (#16078)
[jest-runtime] Fix deadlocks and double-evaluation in concurrent ESM and wasm imports (#16050)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
@dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
@dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
@dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
@dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
@dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.
This PR includes no changesets
When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/data-urls@5.0.0. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Warn
Obfuscated code: npm rrweb-cssom is 90.0% likely obfuscated
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/rrweb-cssom@0.8.0. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
Warn
Obfuscated code: npm yargs is 90.0% likely obfuscated
Next steps: Take a moment to review the security alert above. Review
the linked package source code to understand the potential risk. Ensure the
package is not malicious before proceeding. If you're unsure how to proceed,
reach out to your security team or ask the Socket team for help at
support@socket.dev.
Suggestion: Packages should not obfuscate their code. Consider not using packages with obfuscated code.
Mark the package as acceptable risk. To ignore this alert only
in this pull request, reply with the comment
@SocketSecurity ignore npm/yargs@17.7.3. You can
also ignore all packages with @SocketSecurity ignore-all.
To ignore an alert for all future pull requests, use Socket's Dashboard to
change the triage state of this alert.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dependenciesPull requests that update a dependency filejavascriptPull requests that update javascript code
0 participants
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps the jest group with 3 updates: babel-jest, jest and jest-environment-jsdom.
Updates
babel-jestfrom 29.7.0 to 30.4.1Release notes
Sourced from babel-jest's releases.
... (truncated)
Changelog
Sourced from babel-jest's changelog.
... (truncated)
Commits
b3b4a09v30.4.15cbb21ev30.4.06886816chore: enable node protocol in imports (#16077)d6d44e8feat(babel-jest): support collecting coverage from .mts, .cts (and other) fil...a3ab839chore(deps): update babel monorepo to v8.0.0-rc.4 (#15976)487f4e8chore: remove unused ignore comment (#16069)efb59c2v30.3.0486ae3dchore: update docusaurus (#15860)855864ev30.2.0d2a2491Support Babel 8 in plugins and presets (#15750)Updates
jestfrom 29.7.0 to 30.4.2Release notes
Sourced from jest's releases.
... (truncated)
Changelog
Sourced from jest's changelog.
... (truncated)
Commits
746f2a0v30.4.2b3b4a09v30.4.15cbb21ev30.4.0db7141afix: allowcollectCoverageandcoverageProviderin project config (#16132)efb59c2v30.3.096c53d3feat(jest-config): adddefineConfigandmergeConfigfunctions (#15844)855864ev30.2.0da9b532v30.1.3ebfa31cv30.1.2d347c0fv30.1.1Updates
jest-environment-jsdomfrom 29.7.0 to 30.4.1Release notes
Sourced from jest-environment-jsdom's releases.
... (truncated)
Changelog
Sourced from jest-environment-jsdom's changelog.
... (truncated)
Commits
b3b4a09v30.4.15cbb21ev30.4.0efb59c2v30.3.0b5b0220Remove unused dependencies from jest-environment-jsdom (#15928)855864ev30.2.0ebfa31cv30.1.2d347c0fv30.1.14d5f41dv30.1.022236cfv30.0.5f4296d2v30.0.4Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore <dependency name> major versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)@dependabot ignore <dependency name> minor versionwill close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)@dependabot ignore <dependency name>will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)@dependabot unignore <dependency name>will remove all of the ignore conditions of the specified dependency@dependabot unignore <dependency name> <ignore condition>will remove the ignore condition of the specified dependency and ignore conditions