Skip to content

fix(deps): update jest monorepo to v30 (major) #483

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 10, 2025

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
jest (source) ^29.0.0 -> ^30.0.0 age adoption passing confidence
jest-diff (source) ^29.0.0 -> ^30.0.0 age adoption passing confidence
jest-snapshot (source) ^29.0.0 -> ^30.0.0 age adoption passing confidence
pretty-format (source) ^29.0.0 -> ^30.0.0 age adoption passing confidence

Release Notes

jestjs/jest (jest)

v30.0.0

Compare Source

jestjs/jest (jest-diff)

v30.0.0

Compare Source

Features
  • [*] Renamed globalsCleanupMode to globalsCleanup and --waitNextEventLoopTurnForUnhandledRejectionEvents to --waitForUnhandledRejections
  • [expect] Add ArrayOf asymmetric matcher for validating array elements. (#​15567)
  • [babel-jest] Add option excludeJestPreset to allow opting out of babel-preset-jest (#​15164)
  • [expect] Revert #​15038 to fix expect(fn).toHaveBeenCalledWith(expect.objectContaining(...)) when there are multiple calls (#​15508)
  • [jest-circus, jest-cli, jest-config] Add waitNextEventLoopTurnForUnhandledRejectionEvents flag to minimise performance impact of correct detection of unhandled promise rejections introduced in #​14315 (#​14681)
  • [jest-circus] Add a waitBeforeRetry option to jest.retryTimes (#​14738)
  • [jest-circus] Add a retryImmediately option to jest.retryTimes (#​14696)
  • [jest-circus, jest-jasmine2] Allow setupFilesAfterEnv to export an async function (#​10962)
  • [jest-circus, jest-test-result] Add startedAt timestamp in TestCaseResultObject within onTestCaseResult (#​15145)
  • [jest-cli] Export buildArgv (#​15310)
  • [jest-config] [BREAKING] Add mts and cts to default moduleFileExtensions config (#​14369)
  • [jest-config] [BREAKING] Update testMatch and testRegex default option for supporting mjs, cjs, mts, and cts (#​14584)
  • [jest-config] Loads config file from provided path in package.json (#​14044)
  • [jest-config] Allow loading jest.config.cts files (#​14070)
  • [jest-config] Show rootDir in error message when a preset fails to load (#​15194)
  • [jest-config] Support loading TS config files using esbuild-register via docblock loader (#​15190)
  • [jest-config] Allow passing TS config loader options via docblock comment (#​15234)
  • [jest-config] If Node is running with type stripping enabled, do not require a TS loader (#​15480)
  • [@jest/core] Group together open handles with the same stack trace (#​13417, & #​14789)
  • [@jest/core] Add perfStats to surface test setup overhead (#​14622)
  • [@jest/core] [BREAKING] Changed --filter to accept an object with shape { filtered: Array<string> } to match documentation (#​13319)
  • [@jest/core] Support --outputFile option for --listTests (#​14980)
  • [@jest/core] Stringify Errors properly with --json flag (#​15329)
  • [@jest/core, @&#8203;jest/test-sequencer] [BREAKING] Exposes globalConfig & contexts to TestSequencer (#​14535, & #​14543)
  • [jest-each] Introduce %$ option to add number of the test to its title (#​14710)
  • [@jest/environment] [BREAKING] Remove deprecated jest.genMockFromModule() (#​15042)
  • [@jest/environment] [BREAKING] Remove unnecessary defensive code (#​15045)
  • [jest-environment-jsdom] [BREAKING] Upgrade JSDOM to v22 (#​13825)
  • [@jest/environment-jsdom-abstract] Introduce new package which abstracts over the jsdom environment, allowing usage of custom versions of JSDOM (#​14717)
  • [jest-environment-node] Update jest environment with dispose symbols Symbol (#​14888 & #​14909)
  • [expect, @&#8203;jest/expect] [BREAKING] Add type inference for function parameters in CalledWith assertions (#​15129)
  • [@jest/expect-utils] Properly compare all types of TypedArrays (#​15178)
  • [@jest/fake-timers] [BREAKING] Upgrade @sinonjs/fake-timers to v13 (#​14544 & #​15470)
  • [@jest/fake-timers] Exposing new modern timers function advanceTimersToFrame() which advances all timers by the needed milliseconds to execute callbacks currently scheduled with requestAnimationFrame (#​14598)
  • [jest-matcher-utils] Add SERIALIZABLE_PROPERTIES to allow custom serialization of objects (#​14893)
  • [jest-mock] Add support for the Explicit Resource Management proposal to use the using keyword with jest.spyOn(object, methodName) (#​14895)
  • [jest-reporters] Add support for DEC mode 2026 (#​15008)
  • [jest-resolver] Support file:// URLs as paths (#​15154)
  • [jest-resolve,jest-runtime,jest-resolve-dependencies] Pass the conditions when resolving stub modules (#​15489)
  • [jest-runtime] Exposing new modern timers function jest.advanceTimersToFrame() from @jest/fake-timers (#​14598)
  • [jest-runtime] Support import.meta.filename and import.meta.dirname (available from Node 20.11) (#​14854)
  • [jest-runtime] Support import.meta.resolve (#​14930)
  • [jest-runtime] [BREAKING] Make it mandatory to pass globalConfig to the Runtime constructor (#​15044)
  • [jest-runtime] Add unstable_unmockModule (#​15080)
  • [jest-runtime] Add onGenerateMock transformer callback for auto generated callbacks (#​15433 & #​15482)
  • [jest-runtime] [BREAKING] Use vm.compileFunction over vm.Script (#​15461)
  • [@jest/schemas] Upgrade @sinclair/typebox to v0.34 (#​15450)
  • [@jest/types] test.each(): Accept a readonly (as const) table properly (#​14565)
  • [@jest/types] Improve argument type inference passed to test and describe callback functions from each tables (#​14920)
  • [jest-snapshot] [BREAKING] Add support for Error causes in snapshots (#​13965)
  • [jest-snapshot] Support Prettier 3 (#​14566)
  • [@jest/util-snapshot] Extract utils used by tooling from jest-snapshot into its own package (#​15095)
  • [pretty-format] [BREAKING] Do not render empty string children ('') in React plugin (#​14470)
Fixes
  • [expect] Show AggregateError to display (#​15346)
  • [*] Replace exit with exit-x (#​15399)
  • [babel-plugin-jest-hoist] Use denylist instead of the deprecated blacklist for Babel 8 support (#​14109)
  • [babel-plugin-jest-hoist] Do not rely on buggy Babel behaviour (#​15415)
  • [expect] Check error instance type for toThrow/toThrowError (#​14576)
  • [expect] Improve diff for failing expect.objectContaining (#​15038)
  • [expect] Use Array.isArray to check if an array is an Array (#​15101)
  • [expect] Fix Error cause assertion errors (#​15339)
  • [jest-changed-files] Print underlying errors when VCS commands fail (#​15052)
  • [jest-changed-files] Abort sl root call if output resembles a steam locomotive (#​15053)
  • [jest-circus] [BREAKING] Prevent false test failures caused by promise rejections handled asynchronously (#​14315)
  • [jest-circus] Replace recursive makeTestResults implementation with iterative one (#​14760)
  • [jest-circus] Omit expect.hasAssertions() errors if a test already has errors (#​14866)
  • [jest-circus, jest-expect, jest-snapshot] Pass test.failing tests when containing failing snapshot matchers (#​14313)
  • [jest-circus] Concurrent tests now emit jest circus events at the correct point and in the expected order. (#​15381)
  • [jest-cli] [BREAKING] Validate CLI flags that require arguments receives them (#​14783)
  • [jest-config] Make sure to respect runInBand option (#​14578)
  • [jest-config] Support testTimeout in project config (#​14697)
  • [jest-config] Support coverageReporters in project config (#​14697)
  • [jest-config] Allow reporters in project config (#​14768)
  • [jest-config] Allow Node16/NodeNext/Bundler moduleResolution in project's tsconfig (#​14739)
  • [@jest/create-cache-key-function] Correct the return type of createCacheKey (#​15159)
  • [jest-each] Allow $keypath templates with null or undefined values (#​14831)
  • [@jest/expect-utils] Fix comparison of DataView (#​14408)
  • [@jest/expect-utils] [BREAKING] exclude non-enumerable in object matching (#​14670)
  • [@jest/expect-utils] Fix comparison of URL (#​14672)
  • [@jest/expect-utils] Check Symbol properties in equality (#​14688)
  • [@jest/expect-utils] Catch circular references within arrays when matching objects (#​14894)
  • [@jest/expect-utils] Fix not addressing to Sets and Maps as objects without keys (#​14873)
  • [jest-haste-map] Fix errors or clobbering with multiple hasteImplModulePaths (#​15522)
  • [jest-leak-detector] Make leak-detector more aggressive when running GC (#​14526)
  • [jest-runtime] Properly handle re-exported native modules in ESM via CJS (#​14589)
  • [jest-runtime] Refactor _importCoreModel so required core module is consistent if modified while loading (#​15077)
  • [jest-schemas, jest-types] [BREAKING] Fix type of testFailureExitCode config option(#​15232)
  • [jest-util] Make sure isInteractive works in a browser (#​14552)
  • [pretty-format] [BREAKING] Print ArrayBuffer and DataView correctly (#​14290)
  • [pretty-format] Fixed a bug where "anonymous custom elements" were not being printed as expected. (#​15138)
  • [jest-cli] When specifying paths on the command line, only match against the relative paths of the test files (#​12519)
    • [BREAKING] Changes testPathPattern configuration option to testPathPatterns, which now takes a list of patterns instead of the regex.
    • [BREAKING] --testPathPattern is now --testPathPatterns
    • [BREAKING] Specifying testPathPatterns when programmatically calling watch must be specified as new TestPathPatterns(patterns), where TestPathPatterns can be imported from @jest/pattern
  • [jest-reporters, jest-runner] Unhandled errors without stack get correctly logged to console (#​14619)
  • [jest-util] Always load mjs files with import (#​15447)
  • [jest-worker] Properly handle a circular reference error when worker tries to send an assertion fails where either the expected or actual value is circular (#​15191)
  • [jest-worker] Properly handle a BigInt when worker tries to send an assertion fails where either the expected or actual value is BigInt (#​15191)
  • [expect] Resolve issue where ObjectContaining matched non-object values. ([#​15463])(https://github.com/jestjs/jest/pull/15463).
    • Adds a conditional/check to ensure the argument passed to expect is an object.
    • Add unit tests for new ObjectContaining behavior.
    • Remove invalid/wrong test case assertions for ObjectContaining.
  • [jest-worker] Addresses incorrect state on exit (#​15610)
Performance
  • [*] [BREAKING] Bundle all of Jest's modules into index.js (#​12348, #​14550 & #​14661)
  • [jest-haste-map] Only spawn one process to check for watchman installation (#​14826)
  • [jest-runner] Better cleanup source-map-support after test to resolve (minor) memory leak (#​15233)
  • [jest-circus, jest-environment-node, jest-repl, jest-runner, jest-util] Cleanup global variables on environment teardown to reduce memory leaks (#​15215 & #​15636 & #​15643)
Chore & Maintenance
  • [jest-environment-jsdom, jest-environment-jsdom-abstract] Increased version of jsdom to ^26.0.0 (#​15325CVE-2024-37890)
  • [*] Increase version of micromatch to ^4.0.7 (#​15082)
  • [*] [BREAKING] Drop support for Node.js versions 14, 16, 19, 21 and 23 (#​14460, #​15118, #​15623, #​15640)
  • [*] [BREAKING] Drop support for typescript@4.3, minimum version is now 5.4 (#​14542, #​15621)
  • [*] Depend on exact versions of monorepo dependencies instead of ^ range (#​14553)
  • [*] [BREAKING] Add ESM wrapper for all of Jest's modules (#​14661)
  • [*] [BREAKING] Upgrade to glob@10 (#​14509)
  • [*] Use TypeError over Error where appropriate (#​14799)
  • [docs] Fix typos in CHANGELOG.md and packages/jest-validate/README.md (#​14640)
  • [docs] Don't use alias matchers in docs (#​14631)
  • [babel-jest, babel-preset-jest] [BREAKING] Increase peer dependency of @babel/core to ^7.11 (#​14109)
  • [babel-jest, @&#8203;jest/transform] Update babel-plugin-istanbul to v6 (#​15156)
  • [babel-plugin-jest-hoist] Move unnecessary dependencies to devDependencies (#​15010)
  • [expect] [BREAKING] Remove .toBeCalled(), .toBeCalledTimes(), .toBeCalledWith(), .lastCalledWith(), .nthCalledWith(), .toReturn(), .toReturnTimes(), .toReturnWith(), .lastReturnedWith(), .nthReturnedWith() and .toThrowError() matcher aliases (#​14632)
  • [jest-cli, jest-config, @&#8203;jest/types] [BREAKING] Remove deprecated --init argument (#​14490)
  • [jest-config, @&#8203;jest/core, jest-util] Upgrade ci-info (#​14655)
  • [jest-mock] [BREAKING] Remove MockFunctionMetadataType, MockFunctionMetadata and SpyInstance types (#​14621)
  • [@jest/reporters] Upgrade istanbul-lib-source-maps (#​14924)
  • [jest-schemas] Upgrade @sinclair/typebox (#​14775)
  • [jest-transform] Upgrade write-file-atomic (#​14274)
  • [jest-util] Upgrade picomatch to v4 (#​14653 & #​14885)
  • [docs] Append to NODE_OPTIONS, not overwrite ([#&#8203;14730](https://github.com/jestjs/jest/pull/14730))
  • [docs] Updated .toHaveBeenCalled() documentation to correctly reflect its functionality (#​14842)
  • [docs] Link NestJS documentation on testing with Jest (#​14940)
  • [docs] Revised documentation for .toHaveBeenCalled() to accurately depict its functionality. (#​14853)
  • [docs] Removed ExpressJS reference link from documentation due to dead link (#​15270)
  • [docs] Correct broken links in docs (#​15359)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants