Skip to content

chore(deps): update jest monorepo to v29 (major)

Botaniker (Bot) requested to merge renovate/major-jest-monorepo into deploy

This MR contains the following updates:

Package Type Update Change
@types/jest (source) devDependencies major 27.5.2 -> 29.5.1
jest (source) devDependencies major 28.1.3 -> 29.5.0

Release Notes

facebook/jest

v29.5.0

Compare Source

Features
  • [jest-changed-files] Support Sapling (#​13941)
  • [jest-circus, @​jest/cli, jest-config] Add feature to randomize order of tests via CLI flag or through the config file(#​12922)
  • [jest-cli, jest-config, @​jest/core, jest-haste-map, @​jest/reporters, jest-runner, jest-runtime, @​jest/types] Add workerThreads configuration option to allow using worker threads for parallelization (#​13939)
  • [jest-cli] Export yargsOptions (#​13970)
  • [jest-config] Add openHandlesTimeout option to configure possible open handles warning. (#​13875)
  • [@jest/create-cache-key-function] Allow passing length argument to createCacheKey() function and set its default value to 16 on Windows (#​13827)
  • [jest-message-util] Add support for AggregateError (#​13946 & #​13947)
  • [jest-message-util] Add support for Error causes in test and it (#​13935 & #​13966)
  • [jest-reporters] Add summaryThreshold option to summary reporter to allow overriding the internal threshold that is used to print the summary of all failed tests when the number of test suites surpasses it (#​13895)
  • [jest-runtime] Expose @sinonjs/fake-timers async APIs functions advanceTimersByTimeAsync(msToRun) (tickAsync(msToRun)), advanceTimersToNextTimerAsync(steps) (nextAsync), runAllTimersAsync (runAllAsync), and runOnlyPendingTimersAsync (runToLastAsync) (#​13981)
  • [jest-runtime, @​jest/transform] Allow V8 coverage provider to collect coverage from files which were not loaded explicitly (#​13974)
  • [jest-snapshot] Add support to cts and mts TypeScript files to inline snapshots (#​13975)
  • [jest-worker] Add start method to worker farms (#​13937)
  • [jest-worker] Support passing a URL as path to worker (#​13982)
Fixes
  • [babel-plugin-jest-hoist] Fix unwanted hoisting of nested jest usages (#​13952)
  • [jest-circus] Send test case results for todo tests (#​13915)
  • [jest-circus] Update message printed on test timeout (#​13830)
  • [jest-circus] Avoid creating the word "testfalse" when takesDoneCallback is false in the message printed on test timeout AND updated timeouts test (#​13954)
  • [jest-environment-jsdom] Stop setting document to null on teardown (#​13972)
  • [@jest/expect-utils] Update toStrictEqual() to be able to check jest.fn().mock.calls (#​13960)
  • [@jest/test-result] Allow TestResultsProcessor type to return a Promise (#​13950)
Chore & Maintenance
  • [jest-snapshot] Remove dependency on jest-haste-map (#​13977)

v29.4.3

Compare Source

Features
  • [expect] Update toThrow() to be able to use error causes (#​13606)
  • [jest-core] allow to use workerIdleMemoryLimit with only 1 worker or runInBand option (#​13846)
  • [jest-message-util] Add support for error causes (#​13868 & #​13912)
  • [jest-runtime] Revert import assertions for JSON modules as it's been relegated to Stage 2 (#​13911)
Fixes
  • [@jest/expect-utils] subsetEquality should consider also an object's inherited string keys (#​13824)
  • [jest-mock] Clear mock state when jest.restoreAllMocks() is called (#​13867)
  • [jest-mock] Prevent mockImplementationOnce and mockReturnValueOnce bleeding into withImplementation (#​13888)
  • [jest-mock] Do not restore mocks when jest.resetAllMocks() is called (#​13866)

v29.4.2

Compare Source

Features
Fixes
  • [expect, @​jest/expect] Provide type of actual as a generic argument to Matchers to allow better-typed extensions (#​13848)
  • [jest-circus] Added explicit mention of test failing because done() is not being called in error message (#​13847)
  • [jest-runtime] Handle CJS re-exports of node core modules from ESM (#​13856)
  • [jest-transform] Downgrade write-file-atomic to v4 (#​13853)
  • [jest-worker] Ignore IPC messages not intended for Jest (#​13543)
Chore & Maintenance
  • [*] make sure to exclude .eslintcache from published module (#​13832)
  • [docs] Cleanup incorrect links in CHANGELOG.md (#​13857)

v29.4.1

Compare Source

Features
  • [expect, jest-circus, @​jest/types] Implement numPassingAsserts of testResults to track the number of passing asserts in a test (#​13795)
  • [jest-core] Add newlines to JSON output (#​13817)
  • [@jest/reporters] Automatic log folding in GitHub Actions Reporter (#​13626)
Fixes
  • [@jest/expect-utils] toMatchObject diffs should include Symbol properties (#​13810)
  • [jest-runtime] Handle missing replaceProperty (#​13823)
  • [@jest/types] Add partial support for done callbacks in typings of each (#​13756)

v29.4.0

Compare Source

Features
  • [expect, @​jest/expect-utils] Support custom equality testers (#​13654)
  • [jest-config, jest-worker] Use os.availableParallelism if available to calculate number of workers to spawn (#​13738)
  • [@jest/globals, jest-mock] Add jest.replaceProperty() that replaces property value (#​13496)
  • [jest-haste-map] ignore Sapling vcs directories (.sl/) (#​13674)
  • [jest-resolve] Support subpath imports (#​13705, #​13723, #​13777)
  • [jest-runtime] Add jest.isolateModulesAsync for scoped module initialization of asynchronous functions (#​13680)
  • [jest-runtime] Add jest.isEnvironmentTornDown function (#​13741)
  • [jest-test-result] Added skipped and focused status to FormattedTestResult (#​13700)
  • [jest-transform] Support for asynchronous createTransformer (#​13762)
Fixes
  • [jest-environment-node] Fix non-configurable globals (#​13687)
  • [@jest/expect-utils] toMatchObject should handle Symbol properties (#​13639)
  • [jest-mock] Fix mockReset and resetAllMocks undefined return value(#​13692)
  • [jest-resolve] Add global paths to require.resolve.paths (#​13633)
  • [jest-resolve] Correct node core module detection when using node: specifiers (#​13806)
  • [jest-runtime] Support WASM files that import JS resources (#​13608)
  • [jest-runtime] Use the scriptTransformer cache in jest-runner (#​13735)
  • [jest-runtime] Enforce import assertions when importing JSON in ESM (#​12755 & #​13805)
  • [jest-snapshot] Make sure to import babel outside of the sandbox (#​13694)
  • [jest-transform] Ensure the correct configuration is passed to preprocessors specified multiple times in the transform option (#​13770)
Chore & Maintenance
  • [@jest/fake-timers] Update @sinonjs/fake-timers (#​13612)
  • [docs] Improve custom puppeteer example to prevent worker warnings (#​13619)

v29.3.1

Compare Source

Fixes
  • [jest-config] Do not warn about preset in ProjectConfig (#​13583)
Performance
  • [jest-transform] Defer creation of cache directory (#​13420)

v29.3.0

Compare Source

Features
  • [jest-runtime] Support WebAssembly (Wasm) imports in ESM modules (#​13505)
Fixes
  • [jest-config] Add config validation for projects option (#​13565)
  • [jest-mock] Treat cjs modules as objects so they can be mocked (#​13513)
  • [jest-worker] Throw an error instead of hanging when jest workers terminate unexpectedly (#​13566)
Chore & Maintenance
  • [@jest/transform] Update convert-source-map (#​13509)
  • [docs] Mention toStrictEqual in UsingMatchers docs. (#​13560)

v29.2.2

Compare Source

Fixes
  • [@jest/test-sequencer] Make sure sharding does not produce empty groups (#​13476)
  • [jest-circus] Test marked as todo are shown as todo when inside a focussed describe (#​13504)
  • [jest-mock] Ensure mock resolved and rejected values are promises from correct realm (#​13503)
  • [jest-snapshot] Don't highlight passing asymmetric property matchers in snapshot diff (#​13480)
Chore & Maintenance
  • [docs] Update link to Jest 28 upgrade guide in error message (#​13483)
  • [jest-runner, jest-watcher] Update emittery (#​13490)

v29.2.1

Compare Source

Features
  • [@jest/globals, jest-mock] Add jest.Spied* utility types (#​13440)
Fixes
  • [jest-environment-node] make globalThis.performance writable for Node 19 and fake timers (#​13467)
  • [jest-mock] Revert #​13398 to restore mocking of setters (#​13472)
Performance
  • [*] Use sha1 instead of sha256 for hashing (#​13421)

v29.2.0

Compare Source

Features
  • [@jest/cli, jest-config] A seed for the test run will be randomly generated, or set by a CLI option (#​13400)
  • [@jest/cli, jest-config] --show-seed will display the seed value in the report, and can be set via a CLI flag or through the config file (#​13400)
  • [jest-config] Add readInitialConfig utility function (#​13356)
  • [jest-core] Allow testResultsProcessor to be async (#​13343)
  • [@jest/environment, jest-environment-node, jest-environment-jsdom, jest-runtime] Add getSeed() to the jest object (#​13400)
  • [expect, @​jest/expect-utils] Allow isA utility to take a type argument (#​13355)
  • [expect] Expose AsyncExpectationResult and SyncExpectationResult types (#​13411)
Fixes
  • [babel-plugin-jest-hoist] Ignore TSTypeQuery when checking for hoisted references (#​13367)
  • [jest-core] Fix detectOpenHandles false positives for some special objects such as TLSWRAP (#​13414)
  • [jest-mock] Fix mocking of getters and setters on classes (#​13398)
  • [jest-reporters] Revert: Transform file paths into hyperlinks (#​13399)
  • [@jest/types] Infer type of each table correctly when the table is a tuple or array (#​13381)
  • [@jest/types] Rework typings to allow the *ReturnedWith matchers to be called with no argument (#​13385)
Chore & Maintenance
  • [*] Update @babel/* deps, resulting in slightly different stack traces for each (#​13422)
Performance
  • [jest-runner] Do not instrument v8 coverage data if coverage should not be collected (#​13282)

v29.1.2

Compare Source

Fixes
  • [expect, @​jest/expect] Revert buggy inference of argument types for *CalledWith and *ReturnedWith matchers introduced in 29.1.0 (#​13339)
  • [jest-worker] Add missing dependency on jest-util (#​13341)

v29.1.1

Compare Source

Fixes
  • [jest-mock] Revert #​13145 which broke mocking of transpiled ES modules

v29.1.0

Compare Source

Features
  • [expect, @​jest/expect] Support type inference for function parameters in CalledWith assertions (#​13268)
  • [expect, @​jest/expect] Infer type of *ReturnedWith matchers argument (#​13278)
  • [@jest/environment, jest-runtime] Allow jest.requireActual and jest.requireMock to take a type argument (#​13253)
  • [@jest/environment] Allow jest.mock and jest.doMock to take a type argument (#​13254)
  • [@jest/fake-timers] Add jest.now() to return the current fake clock time (#​13244, #​13246)
  • [@jest/mock] Add withImplementation method for temporarily overriding a mock (#​13281)
  • [expect] Export toThrow* matchers (#​13328)
Fixes
  • [jest-circus, jest-jasmine2] Fix error messages for Node's assert.throes (#​13322)
  • [jest-haste-map] Remove __proto__ usage (#​13256)
  • [jest-mock] Improve spyOn typings to handle optional properties (#​13247)
  • [jest-mock] Fix mocking of getters and setters on classes (#​13145)
  • [jest-snapshot] Throw useful error when an array is passed as property matchers (#​13263)
  • [jest-snapshot] Prioritize parser used in the project (#​13323)
  • [jest-transform] Attempt to work around issues with atomic writes on Windows (#​11423)

v29.0.3

Compare Source

Features
  • [@jest/environment, jest-runtime] Allow passing a generic type argument to jest.createMockFromModule<T>() method (#​13202)
  • [expect] Expose ExpectationResult type (#​13240)
  • [jest-snapshot] Expose Context type (#​13240)
  • [@jest/globals] Add jest.Mock type helper (#​13235)
Fixes
  • [jest-core] Capture execError during TestScheduler.scheduleTests and dispatch to reporters (#​13203)
  • [jest-resolve] Make sure to resolve module paths after looking at exports (#​13242)
  • [jest-resolve] Improve error on module not found deep in the require stack (#​8704)
  • [jest-snapshot] Fix typings of snapshot matchers (#​13240)
Chore & Maintenance
  • [*] Fix inconsistent workspace prefixes (#​13217)
  • [jest-haste-map] Expose a minimal public API to TypeScript (#​13023)

v29.0.2

Compare Source

Features
  • [jest-transform] Expose TransformFactory type (#​13184)
Fixes
  • [babel-plugin-jest-hoist] Support imported jest in mock factory (#​13188)
  • [jest-mock] Align the behavior and return type of generateFromMetadata method (#​13207)
  • [jest-runtime] Support jest.resetModules() with ESM (#​13211)

v29.0.1

Compare Source

Fixes
  • [jest-snapshot] Pass snapshotFormat through when diffing snapshots (#​13181)

v29.0.0

Compare Source

Features
  • [expect] [BREAKING] Differentiate between MatcherContext MatcherUtils and MatcherState types (#​13141)
  • [jest-circus] Add support for test.failing.each (#​13142)
  • [jest-config] [BREAKING] Make snapshotFormat default to escapeString: false and printBasicPrototype: false (#​13036)
  • [jest-config] [BREAKING] Remove undocumented collectCoverageOnlyFrom option (#​13156)
  • [jest-environment-jsdom] [BREAKING] Upgrade to jsdom@20 (#​13037, #​13058)
  • [@jest/globals] Add jest.Mocked, jest.MockedClass, jest.MockedFunction and jest.MockedObject utility types (#​12727)
  • [jest-mock] [BREAKING] Refactor Mocked* utility types. MaybeMockedDeep and MaybeMocked became Mocked and MockedShallow respectively; only deep mocked variants of MockedClass, MockedFunction and MockedObject are exported (#​13123, #​13124)
  • [jest-mock] [BREAKING] Change the default jest.mocked helper’s behavior to deep mocked (#​13125)
  • [jest-snapshot] [BREAKING] Let babel find config when updating inline snapshots (#​13150)
  • [@jest/test-result, @&#8203;jest/types] [BREAKING] Replace Bytes and Milliseconds types with number (#​13155)
  • [jest-worker] Adds workerIdleMemoryLimit option which is used as a check for worker memory leaks >= Node 16.11.0 and recycles child workers as required (#​13056, #​13105, #​13106, #​13107)
  • [pretty-format] [BREAKING] Remove ConvertAnsi plugin in favour of jest-serializer-ansi-escapes (#​13040)
  • [pretty-format] Allow to opt out from sorting object keys with compareKeys: null (#​12443)
Fixes
  • [jest-config] Fix testing multiple projects with TypeScript config files (#​13099)
  • [@jest/expect-utils] Fix deep equality of ImmutableJS Record (#​13055)
  • [jest-haste-map] Increase the maximum possible file size that jest-haste-map can handle (#​13094)
  • [jest-runtime] Properly support CJS re-exports from dual packages (#​13170)
  • [jest-snapshot] Make prettierPath optional in SnapshotState (#​13149)
  • [jest-snapshot] Fix parsing error from inline snapshot files with JSX (#​12760)
  • [jest-worker] When a process runs out of memory worker exits correctly and doesn't spin indefinitely (#​13054)
Chore & Maintenance
  • [*] [BREAKING] Drop support for Node v12 and v17 (#​13033)
  • [docs] Fix webpack name (#​13049)
  • [docs] Explicit how to set n for --bail (#​13128)
  • [docs] Update Enzyme URL (#​13166)
  • [jest-leak-detector] Remove support for weak-napi (#​13035)
  • [jest-snapshot] [BREAKING] Require rootDir as argument to SnapshotState (#​13150)

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 MR becomes conflicted, or you tick the rebase/retry checkbox.

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


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

This MR has been generated by Renovate Bot. The local configuration can be found in the SI Renovate Bot repository.

Merge request reports