Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update dependency jest to v29 (#241)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [jest](https://jestjs.io/) ([source](https://github.com/facebook/jest)) | dependencies | major | [`^27.4.5` -> `^29.0.0`](https://renovatebot.com/diffs/npm/jest/27.4.5/29.5.0) | | [@types/jest](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/jest) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped)) | dependencies | major | [`^27.0.3` -> `^29.0.0`](https://renovatebot.com/diffs/npm/@types%2fjest/27.0.3/29.5.0) | --- ### Release Notes <details> <summary>facebook/jest</summary> ### [`v29.5.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2950) [Compare Source](https://github.com/facebook/jest/compare/v29.4.3...v29.5.0) ##### Features - `[jest-changed-files]` Support Sapling ([#​13941](https://github.com/facebook/jest/pull/13941)) - `[jest-circus, @​jest/cli, jest-config]` Add feature to randomize order of tests via CLI flag or through the config file([#​12922](https://github.com/facebook/jest/pull/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](https://nodejs.org/dist/latest/docs/api/worker_threads.html) for parallelization ([#​13939](https://github.com/facebook/jest/pull/13939)) - `[jest-cli]` Export `yargsOptions` ([#​13970](https://github.com/facebook/jest/pull/13970)) - `[jest-config]` Add `openHandlesTimeout` option to configure possible open handles warning. ([#​13875](https://github.com/facebook/jest/pull/13875)) - `[@jest/create-cache-key-function]` Allow passing `length` argument to `createCacheKey()` function and set its default value to `16` on Windows ([#​13827](https://github.com/facebook/jest/pull/13827)) - `[jest-message-util]` Add support for [AggregateError](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError) ([#​13946](https://github.com/facebook/jest/pull/13946) & [#​13947](https://github.com/facebook/jest/pull/13947)) - `[jest-message-util]` Add support for [Error causes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) in `test` and `it` ([#​13935](https://github.com/facebook/jest/pull/13935) & [#​13966](https://github.com/facebook/jest/pull/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](https://github.com/facebook/jest/pull/13895)) - `[jest-runtime]` Expose `@sinonjs/fake-timers` async APIs functions `advanceTimersByTimeAsync(msToRun)` (`tickAsync(msToRun)`), `advanceTimersToNextTimerAsync(steps)` (`nextAsync`), `runAllTimersAsync` (`runAllAsync`), and `runOnlyPendingTimersAsync` (`runToLastAsync`) ([#​13981](https://github.com/facebook/jest/pull/13981)) - `[jest-runtime, @​jest/transform]` Allow V8 coverage provider to collect coverage from files which were not loaded explicitly ([#​13974](https://github.com/facebook/jest/pull/13974)) - `[jest-snapshot]` Add support to `cts` and `mts` TypeScript files to inline snapshots ([#​13975](https://github.com/facebook/jest/pull/13975)) - `[jest-worker]` Add `start` method to worker farms ([#​13937](https://github.com/facebook/jest/pull/13937)) - `[jest-worker]` Support passing a URL as path to worker ([#​13982](https://github.com/facebook/jest/pull/13982)) ##### Fixes - `[babel-plugin-jest-hoist]` Fix unwanted hoisting of nested `jest` usages ([#​13952](https://github.com/facebook/jest/pull/13952)) - `[jest-circus]` Send test case results for `todo` tests ([#​13915](https://github.com/facebook/jest/pull/13915)) - `[jest-circus]` Update message printed on test timeout ([#​13830](https://github.com/facebook/jest/pull/13830)) - `[jest-circus]` Avoid creating the word "testfalse" when `takesDoneCallback` is `false` in the message printed on test timeout AND updated timeouts test ([#​13954](https://github.com/facebook/jest/pull/13954)) - `[jest-environment-jsdom]` Stop setting `document` to `null` on teardown ([#​13972](https://github.com/facebook/jest/pull/13972)) - `[@jest/expect-utils]` Update `toStrictEqual()` to be able to check `jest.fn().mock.calls` ([#​13960](https://github.com/facebook/jest/pull/13960)) - `[@jest/test-result]` Allow `TestResultsProcessor` type to return a Promise ([#​13950](https://github.com/facebook/jest/pull/13950)) ##### Chore & Maintenance - `[jest-snapshot]` Remove dependency on `jest-haste-map` ([#​13977](https://github.com/facebook/jest/pull/13977)) ### [`v29.4.3`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2943) [Compare Source](https://github.com/facebook/jest/compare/v29.4.2...v29.4.3) ##### Features - `[expect]` Update `toThrow()` to be able to use error `cause`s ([#​13606](https://github.com/facebook/jest/pull/13606)) - `[jest-core]` allow to use `workerIdleMemoryLimit` with only 1 worker or `runInBand` option ([#​13846](https://github.com/facebook/jest/pull/13846)) - `[jest-message-util]` Add support for [error `cause`s](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) ([#​13868](https://github.com/facebook/jest/pull/13868) & [#​13912](https://github.com/facebook/jest/pull/13912)) - `[jest-runtime]` Revert `import assertions` for JSON modules as it's been relegated to Stage 2 ([#​13911](https://github.com/facebook/jest/pull/13911)) ##### Fixes - `[@jest/expect-utils]` `subsetEquality` should consider also an object's inherited string keys ([#​13824](https://github.com/facebook/jest/pull/13824)) - `[jest-mock]` Clear mock state when `jest.restoreAllMocks()` is called ([#​13867](https://github.com/facebook/jest/pull/13867)) - `[jest-mock]` Prevent `mockImplementationOnce` and `mockReturnValueOnce` bleeding into `withImplementation` ([#​13888](https://github.com/facebook/jest/pull/13888)) - `[jest-mock]` Do not restore mocks when `jest.resetAllMocks()` is called ([#​13866](https://github.com/facebook/jest/pull/13866)) ### [`v29.4.2`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2942) [Compare Source](https://github.com/facebook/jest/compare/v29.4.1...v29.4.2) ##### Features - `[@jest/core]` Instrument significant lifecycle events with [`performance.mark()`](https://nodejs.org/docs/latest-v16.x/api/perf_hooks.html#performancemarkname-options) ([#​13859](https://github.com/facebook/jest/pull/13859)) ##### Fixes - `[expect, @​jest/expect]` Provide type of `actual` as a generic argument to `Matchers` to allow better-typed extensions ([#​13848](https://github.com/facebook/jest/pull/13848)) - `[jest-circus]` Added explicit mention of test failing because `done()` is not being called in error message ([#​13847](https://github.com/facebook/jest/pull/13847)) - `[jest-runtime]` Handle CJS re-exports of node core modules from ESM ([#​13856](https://github.com/facebook/jest/pull/13856)) - `[jest-transform]` Downgrade `write-file-atomic` to v4 ([#​13853](https://github.com/facebook/jest/pull/13853)) - `[jest-worker]` Ignore IPC messages not intended for Jest ([#​13543](https://github.com/facebook/jest/pull/13543)) ##### Chore & Maintenance - `[*]` make sure to exclude `.eslintcache` from published module ([#​13832](https://github.com/facebook/jest/pull/13832)) - `[docs]` Cleanup incorrect links in CHANGELOG.md ([#​13857](https://github.com/facebook/jest/pull/13857)) ### [`v29.4.1`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2941) [Compare Source](https://github.com/facebook/jest/compare/v29.4.0...v29.4.1) ##### Features - `[expect, jest-circus, @​jest/types]` Implement `numPassingAsserts` of testResults to track the number of passing asserts in a test ([#​13795](https://github.com/facebook/jest/pull/13795)) - `[jest-core]` Add newlines to JSON output ([#​13817](https://github.com/facebook/jest/pull/13817)) - `[@jest/reporters]` Automatic log folding in GitHub Actions Reporter ([#​13626](https://github.com/facebook/jest/pull/13626)) ##### Fixes - `[@jest/expect-utils]` `toMatchObject` diffs should include `Symbol` properties ([#​13810](https://github.com/facebook/jest/pull/13810)) - `[jest-runtime]` Handle missing `replaceProperty` ([#​13823](https://github.com/facebook/jest/pull/13823)) - `[@jest/types]` Add partial support for `done` callbacks in typings of `each` ([#​13756](https://github.com/facebook/jest/pull/13756)) ### [`v29.4.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2940) [Compare Source](https://github.com/facebook/jest/compare/v29.3.1...v29.4.0) ##### Features - `[expect, @​jest/expect-utils]` Support custom equality testers ([#​13654](https://github.com/facebook/jest/pull/13654)) - `[jest-config, jest-worker]` Use `os.availableParallelism` if available to calculate number of workers to spawn ([#​13738](https://github.com/facebook/jest/pull/13738)) - `[@jest/globals, jest-mock]` Add `jest.replaceProperty()` that replaces property value ([#​13496](https://github.com/facebook/jest/pull/13496)) - `[jest-haste-map]` ignore Sapling vcs directories (`.sl/`) ([#​13674](https://github.com/facebook/jest/pull/13674)) - `[jest-resolve]` Support subpath imports ([#​13705](https://github.com/facebook/jest/pull/13705), [#​13723](https://github.com/facebook/jest/pull/13723), [#​13777](https://github.com/facebook/jest/pull/13777)) - `[jest-runtime]` Add `jest.isolateModulesAsync` for scoped module initialization of asynchronous functions ([#​13680](https://github.com/facebook/jest/pull/13680)) - `[jest-runtime]` Add `jest.isEnvironmentTornDown` function ([#​13741](https://github.com/facebook/jest/pull/13741)) - `[jest-test-result]` Added `skipped` and `focused` status to `FormattedTestResult` ([#​13700](https://github.com/facebook/jest/pull/13700)) - `[jest-transform]` Support for asynchronous `createTransformer` ([#​13762](https://github.com/facebook/jest/pull/13762)) ##### Fixes - `[jest-environment-node]` Fix non-configurable globals ([#​13687](https://github.com/facebook/jest/pull/13687)) - `[@jest/expect-utils]` `toMatchObject` should handle `Symbol` properties ([#​13639](https://github.com/facebook/jest/pull/13639)) - `[jest-mock]` Fix `mockReset` and `resetAllMocks` `undefined` return value([#​13692](https://github.com/facebook/jest/pull/13692)) - `[jest-resolve]` Add global paths to `require.resolve.paths` ([#​13633](https://github.com/facebook/jest/pull/13633)) - `[jest-resolve]` Correct node core module detection when using `node:` specifiers ([#​13806](https://github.com/facebook/jest/pull/13806)) - `[jest-runtime]` Support WASM files that import JS resources ([#​13608](https://github.com/facebook/jest/pull/13608)) - `[jest-runtime]` Use the `scriptTransformer` cache in `jest-runner` ([#​13735](https://github.com/facebook/jest/pull/13735)) - `[jest-runtime]` Enforce import assertions when importing JSON in ESM ([#​12755](https://github.com/facebook/jest/pull/12755) & [#​13805](https://github.com/facebook/jest/pull/13805)) - `[jest-snapshot]` Make sure to import `babel` outside of the sandbox ([#​13694](https://github.com/facebook/jest/pull/13694)) - `[jest-transform]` Ensure the correct configuration is passed to preprocessors specified multiple times in the `transform` option ([#​13770](https://github.com/facebook/jest/pull/13770)) ##### Chore & Maintenance - `[@jest/fake-timers]` Update `@sinonjs/fake-timers` ([#​13612](https://github.com/facebook/jest/pull/13612)) - `[docs]` Improve custom puppeteer example to prevent worker warnings ([#​13619](https://github.com/facebook/jest/pull/13619)) ### [`v29.3.1`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2931) [Compare Source](https://github.com/facebook/jest/compare/v29.3.0...v29.3.1) ##### Fixes - `[jest-config]` Do not warn about `preset` in `ProjectConfig` ([#​13583](https://github.com/facebook/jest/pull/13583)) ##### Performance - `[jest-transform]` Defer creation of cache directory ([#​13420](https://github.com/facebook/jest/pull/13420)) ### [`v29.3.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2930) [Compare Source](https://github.com/facebook/jest/compare/v29.2.2...v29.3.0) ##### Features - `[jest-runtime]` Support WebAssembly (Wasm) imports in ESM modules ([#​13505](https://github.com/facebook/jest/pull/13505)) ##### Fixes - `[jest-config]` Add config validation for `projects` option ([#​13565](https://github.com/facebook/jest/pull/13565)) - `[jest-mock]` Treat cjs modules as objects so they can be mocked ([#​13513](https://github.com/facebook/jest/pull/13513)) - `[jest-worker]` Throw an error instead of hanging when jest workers terminate unexpectedly ([#​13566](https://github.com/facebook/jest/pull/13566)) ##### Chore & Maintenance - `[@jest/transform]` Update `convert-source-map` ([#​13509](https://github.com/facebook/jest/pull/13509)) - `[docs]` Mention `toStrictEqual` in UsingMatchers docs. ([#​13560](https://github.com/facebook/jest/pull/13560)) ### [`v29.2.2`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2922) [Compare Source](https://github.com/facebook/jest/compare/v29.2.1...v29.2.2) ##### Fixes - `[@jest/test-sequencer]` Make sure sharding does not produce empty groups ([#​13476](https://github.com/facebook/jest/pull/13476)) - `[jest-circus]` Test marked as `todo` are shown as todo when inside a focussed describe ([#​13504](https://github.com/facebook/jest/pull/13504)) - `[jest-mock]` Ensure mock resolved and rejected values are promises from correct realm ([#​13503](https://github.com/facebook/jest/pull/13503)) - `[jest-snapshot]` Don't highlight passing asymmetric property matchers in snapshot diff ([#​13480](https://github.com/facebook/jest/issues/13480)) ##### Chore & Maintenance - `[docs]` Update link to Jest 28 upgrade guide in error message ([#​13483](https://github.com/facebook/jest/pull/13483)) - `[jest-runner, jest-watcher]` Update `emittery` ([#​13490](https://github.com/facebook/jest/pull/13490)) ### [`v29.2.1`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2921) [Compare Source](https://github.com/facebook/jest/compare/v29.2.0...v29.2.1) ##### Features - `[@jest/globals, jest-mock]` Add `jest.Spied*` utility types ([#​13440](https://github.com/facebook/jest/pull/13440)) ##### Fixes - `[jest-environment-node]` make `globalThis.performance` writable for Node 19 and fake timers ([#​13467](https://github.com/facebook/jest/pull/13467)) - `[jest-mock]` Revert [#​13398](https://github.com/facebook/jest/pull/13398) to restore mocking of setters ([#​13472](https://github.com/facebook/jest/pull/13472)) ##### Performance - `[*]` Use sha1 instead of sha256 for hashing ([#​13421](https://github.com/facebook/jest/pull/13421)) ### [`v29.2.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2920) [Compare Source](https://github.com/facebook/jest/compare/v29.1.2...v29.2.0) ##### Features - `[@jest/cli, jest-config]` A seed for the test run will be randomly generated, or set by a CLI option ([#​13400](https://github.com/facebook/jest/pull/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](https://github.com/facebook/jest/pull/13400)) - `[jest-config]` Add `readInitialConfig` utility function ([#​13356](https://github.com/facebook/jest/pull/13356)) - `[jest-core]` Allow `testResultsProcessor` to be async ([#​13343](https://github.com/facebook/jest/pull/13343)) - `[@jest/environment, jest-environment-node, jest-environment-jsdom, jest-runtime]` Add `getSeed()` to the `jest` object ([#​13400](https://github.com/facebook/jest/pull/13400)) - `[expect, @​jest/expect-utils]` Allow `isA` utility to take a type argument ([#​13355](https://github.com/facebook/jest/pull/13355)) - `[expect]` Expose `AsyncExpectationResult` and `SyncExpectationResult` types ([#​13411](https://github.com/facebook/jest/pull/13411)) ##### Fixes - `[babel-plugin-jest-hoist]` Ignore `TSTypeQuery` when checking for hoisted references ([#​13367](https://github.com/facebook/jest/pull/13367)) - `[jest-core]` Fix `detectOpenHandles` false positives for some special objects such as `TLSWRAP` ([#​13414](https://github.com/facebook/jest/pull/13414)) - `[jest-mock]` Fix mocking of getters and setters on classes ([#​13398](https://github.com/facebook/jest/pull/13398)) - `[jest-reporters]` Revert: Transform file paths into hyperlinks ([#​13399](https://github.com/facebook/jest/pull/13399)) - `[@jest/types]` Infer type of `each` table correctly when the table is a tuple or array ([#​13381](https://github.com/facebook/jest/pull/13381)) - `[@jest/types]` Rework typings to allow the `*ReturnedWith` matchers to be called with no argument ([#​13385](https://github.com/facebook/jest/pull/13385)) ##### Chore & Maintenance - `[*]` Update `@babel/*` deps, resulting in slightly different stack traces for `each` ([#​13422](https://github.com/facebook/jest/pull/13422)) ##### Performance - `[jest-runner]` Do not instrument v8 coverage data if coverage should not be collected ([#​13282](https://github.com/facebook/jest/pull/13282)) ### [`v29.1.2`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2912) [Compare Source](https://github.com/facebook/jest/compare/v29.1.1...v29.1.2) ##### Fixes - `[expect, @​jest/expect]` Revert buggy inference of argument types for `*CalledWith` and `*ReturnedWith` matchers introduced in 29.1.0 ([#​13339](https://github.com/facebook/jest/pull/13339)) - `[jest-worker]` Add missing dependency on `jest-util` ([#​13341](https://github.com/facebook/jest/pull/13341)) ### [`v29.1.1`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2911) [Compare Source](https://github.com/facebook/jest/compare/v29.1.0...v29.1.1) ##### Fixes - `[jest-mock]` Revert [#​13145](https://github.com/facebook/jest/pull/13145) which broke mocking of transpiled ES modules ### [`v29.1.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2910) [Compare Source](https://github.com/facebook/jest/compare/v29.0.3...v29.1.0) ##### Features - `[expect, @​jest/expect]` Support type inference for function parameters in `CalledWith` assertions ([#​13268](https://github.com/facebook/jest/pull/13268)) - `[expect, @​jest/expect]` Infer type of `*ReturnedWith` matchers argument ([#​13278](https://github.com/facebook/jest/pull/13278)) - `[@jest/environment, jest-runtime]` Allow `jest.requireActual` and `jest.requireMock` to take a type argument ([#​13253](https://github.com/facebook/jest/pull/13253)) - `[@jest/environment]` Allow `jest.mock` and `jest.doMock` to take a type argument ([#​13254](https://github.com/facebook/jest/pull/13254)) - `[@jest/fake-timers]` Add `jest.now()` to return the current fake clock time ([#​13244](https://github.com/facebook/jest/pull/13244), [#​13246](https://github.com/facebook/jest/pull/13246)) - `[@jest/mock]` Add `withImplementation` method for temporarily overriding a mock ([#​13281](https://github.com/facebook/jest/pull/13281)) - `[expect]` Export `toThrow*` matchers ([#​13328](https://github.com/facebook/jest/pull/13328)) ##### Fixes - `[jest-circus, jest-jasmine2]` Fix error messages for Node's `assert.throes` ([#​13322](https://github.com/facebook/jest/pull/13322)) - `[jest-haste-map]` Remove `__proto__` usage ([#​13256](https://github.com/facebook/jest/pull/13256)) - `[jest-mock]` Improve `spyOn` typings to handle optional properties ([#​13247](https://github.com/facebook/jest/pull/13247)) - `[jest-mock]` Fix mocking of getters and setters on classes ([#​13145](https://github.com/facebook/jest/pull/13145)) - `[jest-snapshot]` Throw useful error when an array is passed as property matchers ([#​13263](https://github.com/facebook/jest/pull/13263)) - `[jest-snapshot]` Prioritize parser used in the project ([#​13323](https://github.com/facebook/jest/pull/13323)) - `[jest-transform]` Attempt to work around issues with atomic writes on Windows ([#​11423](https://github.com/facebook/jest/pull/11423)) ### [`v29.0.3`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2903) [Compare Source](https://github.com/facebook/jest/compare/v29.0.2...v29.0.3) ##### Features - `[@jest/environment, jest-runtime]` Allow passing a generic type argument to `jest.createMockFromModule<T>()` method ([#​13202](https://github.com/facebook/jest/pull/13202)) - `[expect]` Expose `ExpectationResult` type ([#​13240](https://github.com/facebook/jest/pull/13240)) - `[jest-snapshot]` Expose `Context` type ([#​13240](https://github.com/facebook/jest/pull/13240)) - `[@jest/globals]` Add `jest.Mock` type helper ([#​13235](https://github.com/facebook/jest/pull/13235)) ##### Fixes - `[jest-core]` Capture `execError` during `TestScheduler.scheduleTests` and dispatch to reporters ([#​13203](https://github.com/facebook/jest/pull/13203)) - `[jest-resolve]` Make sure to resolve module paths after looking at `exports` ([#​13242](https://github.com/facebook/jest/pull/13242)) - `[jest-resolve]` Improve error on module not found deep in the `require` stack ([#​8704](https://github.com/facebook/jest/pull/8704)) - `[jest-snapshot]` Fix typings of snapshot matchers ([#​13240](https://github.com/facebook/jest/pull/13240)) ##### Chore & Maintenance - `[*]` Fix inconsistent workspace prefixes ([#​13217](https://github.com/facebook/jest/pull/13217)) - `[jest-haste-map]` Expose a minimal public API to TypeScript ([#​13023](https://github.com/facebook/jest/pull/13023)) ### [`v29.0.2`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2902) [Compare Source](https://github.com/facebook/jest/compare/v29.0.1...v29.0.2) ##### Features - `[jest-transform]` Expose `TransformFactory` type ([#​13184](https://github.com/facebook/jest/pull/13184)) ##### Fixes - `[babel-plugin-jest-hoist]` Support imported `jest` in mock factory ([#​13188](https://github.com/facebook/jest/pull/13188)) - `[jest-mock]` Align the behavior and return type of `generateFromMetadata` method ([#​13207](https://github.com/facebook/jest/pull/13207)) - `[jest-runtime]` Support `jest.resetModules()` with ESM ([#​13211](https://github.com/facebook/jest/pull/13211)) ### [`v29.0.1`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2901) [Compare Source](https://github.com/facebook/jest/compare/v29.0.0...v29.0.1) ##### Fixes - `[jest-snapshot]` Pass `snapshotFormat` through when diffing snapshots ([#​13181](https://github.com/facebook/jest/pull/13181)) ### [`v29.0.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2900) [Compare Source](https://github.com/facebook/jest/compare/v28.1.3...v29.0.0) ##### Features - `[expect]` \[**BREAKING**] Differentiate between `MatcherContext` `MatcherUtils` and `MatcherState` types ([#​13141](https://github.com/facebook/jest/pull/13141)) - `[jest-circus]` Add support for `test.failing.each` ([#​13142](https://github.com/facebook/jest/pull/13142)) - `[jest-config]` \[**BREAKING**] Make `snapshotFormat` default to `escapeString: false` and `printBasicPrototype: false` ([#​13036](https://github.com/facebook/jest/pull/13036)) - `[jest-config]` \[**BREAKING**] Remove undocumented `collectCoverageOnlyFrom` option ([#​13156](https://github.com/facebook/jest/pull/13156)) - `[jest-environment-jsdom]` \[**BREAKING**] Upgrade to `jsdom@20` ([#​13037](https://github.com/facebook/jest/pull/13037), [#​13058](https://github.com/facebook/jest/pull/13058)) - `[@jest/globals]` Add `jest.Mocked`, `jest.MockedClass`, `jest.MockedFunction` and `jest.MockedObject` utility types ([#​12727](https://github.com/facebook/jest/pull/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](https://github.com/facebook/jest/pull/13123), [#​13124](https://github.com/facebook/jest/pull/13124)) - `[jest-mock]` \[**BREAKING**] Change the default `jest.mocked` helper’s behavior to deep mocked ([#​13125](https://github.com/facebook/jest/pull/13125)) - `[jest-snapshot]` \[**BREAKING**] Let `babel` find config when updating inline snapshots ([#​13150](https://github.com/facebook/jest/pull/13150)) - `[@jest/test-result, @​jest/types]` \[**BREAKING**] Replace `Bytes` and `Milliseconds` types with `number` ([#​13155](https://github.com/facebook/jest/pull/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](https://github.com/facebook/jest/pull/13056), [#​13105](https://github.com/facebook/jest/pull/13105), [#​13106](https://github.com/facebook/jest/pull/13106), [#​13107](https://github.com/facebook/jest/pull/13107)) - `[pretty-format]` \[**BREAKING**] Remove `ConvertAnsi` plugin in favour of `jest-serializer-ansi-escapes` ([#​13040](https://github.com/facebook/jest/pull/13040)) - `[pretty-format]` Allow to opt out from sorting object keys with `compareKeys: null` ([#​12443](https://github.com/facebook/jest/pull/12443)) ##### Fixes - `[jest-config]` Fix testing multiple projects with TypeScript config files ([#​13099](https://github.com/facebook/jest/pull/13099)) - `[@jest/expect-utils]` Fix deep equality of ImmutableJS Record ([#​13055](https://github.com/facebook/jest/pull/13055)) - `[jest-haste-map]` Increase the maximum possible file size that jest-haste-map can handle ([#​13094](https://github.com/facebook/jest/pull/13094)) - `[jest-runtime]` Properly support CJS re-exports from dual packages ([#​13170](https://github.com/facebook/jest/pull/13170)) - `[jest-snapshot]` Make `prettierPath` optional in `SnapshotState` ([#​13149](https://github.com/facebook/jest/pull/13149)) - `[jest-snapshot]` Fix parsing error from inline snapshot files with `JSX` ([#​12760](https://github.com/facebook/jest/pull/12760)) - `[jest-worker]` When a process runs out of memory worker exits correctly and doesn't spin indefinitely ([#​13054](https://github.com/facebook/jest/pull/13054)) ##### Chore & Maintenance - `[*]` \[**BREAKING**] Drop support for Node v12 and v17 ([#​13033](https://github.com/facebook/jest/pull/13033)) - `[docs]` Fix webpack name ([#​13049](https://github.com/facebook/jest/pull/13049)) - `[docs]` Explicit how to set `n` for `--bail` ([#​13128](https://github.com/facebook/jest/pull/13128)) - `[docs]` Update Enzyme URL ([#​13166](https://github.com/facebook/jest/pull/13166)) - `[jest-leak-detector]` Remove support for `weak-napi` ([#​13035](https://github.com/facebook/jest/pull/13035)) - `[jest-snapshot]` \[**BREAKING**] Require `rootDir` as argument to `SnapshotState` ([#​13150](https://github.com/facebook/jest/pull/13150)) ### [`v28.1.3`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2813) [Compare Source](https://github.com/facebook/jest/compare/v28.1.2...v28.1.3) ##### Features - `[jest-leak-detector]` Use native `FinalizationRegistry` when it exists to get rid of external C dependency ([#​12973](https://github.com/facebook/jest/pull/12973)) ##### Fixes - `[jest-changed-files]` Fix a lock-up after repeated invocations ([#​12757](https://github.com/facebook/jest/issues/12757)) - `[@jest/expect-utils]` Fix deep equality of ImmutableJS OrderedSets ([#​12977](https://github.com/facebook/jest/pull/12977)) - `[jest-mock]` Add index signature support for `spyOn` types ([#​13013](https://github.com/facebook/jest/pull/13013), [#​13020](https://github.com/facebook/jest/pull/13020)) - `[jest-snapshot]` Fix indentation of awaited inline snapshots ([#​12986](https://github.com/facebook/jest/pull/12986)) ##### Chore & Maintenance - `[*]` Replace internal usage of `pretty-format/ConvertAnsi` with `jest-serializer-ansi-escapes` ([#​12935](https://github.com/facebook/jest/pull/12935), [#​13004](https://github.com/facebook/jest/pull/13004)) - `[docs]` Update spyOn docs ([#​13000](https://github.com/facebook/jest/pull/13000)) ### [`v28.1.2`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2812) [Compare Source](https://github.com/facebook/jest/compare/v28.1.1...v28.1.2) ##### Fixes - `[jest-runtime]` Avoid star type import from `@jest/globals` ([#​12949](https://github.com/facebook/jest/pull/12949)) ##### Chore & Maintenance - `[docs]` Mention that jest-codemods now supports Sinon ([#​12898](https://github.com/facebook/jest/pull/12898)) ### [`v28.1.1`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2811) [Compare Source](https://github.com/facebook/jest/compare/v28.1.0...v28.1.1) ##### Features - `[jest]` Expose `Config` type ([#​12848](https://github.com/facebook/jest/pull/12848)) - `[@jest/reporters]` Improve `GitHubActionsReporter`s annotation format ([#​12826](https://github.com/facebook/jest/pull/12826)) - `[@jest/types]` Infer argument types passed to `test` and `describe` callback functions from `each` tables ([#​12885](https://github.com/facebook/jest/pull/12885), [#​12905](https://github.com/facebook/jest/pull/12905)) ##### Fixes - `[@jest/expect-utils]` Fix deep equality of ImmutableJS OrderedMaps ([#​12899](https://github.com/facebook/jest/pull/12899)) - `[jest-docblock]` Handle multiline comments in parseWithComments ([#​12845](https://github.com/facebook/jest/pull/12845)) - `[jest-mock]` Improve `spyOn` error messages ([#​12901](https://github.com/facebook/jest/pull/12901)) - `[jest-runtime]` Correctly report V8 coverage with `resetModules: true` ([#​12912](https://github.com/facebook/jest/pull/12912)) - `[jest-worker]` Make `JestWorkerFarm` helper type to include methods of worker module that take more than one argument ([#​12839](https://github.com/facebook/jest/pull/12839)) ##### Chore & Maintenance - `[docs]` Updated docs to indicate that `jest-environment-jsdom` is a separate package [#​12828](https://github.com/facebook/jest/issues/12828) - `[docs]` Document the comments used by coverage providers [#​12835](https://github.com/facebook/jest/issues/12835) - `[docs]` Use `docusaurus-remark-plugin-tab-blocks` to format tabs with code examples ([#​12859](https://github.com/facebook/jest/pull/12859)) - `[jest-haste-map]` Bump `walker` version ([#​12324](https://github.com/facebook/jest/pull/12324)) ### [`v28.1.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2810) [Compare Source](https://github.com/facebook/jest/compare/v28.0.3...v28.1.0) ##### Features - `[jest-circus]` Add `failing` test modifier that inverts the behavior of tests ([#​12610](https://github.com/facebook/jest/pull/12610)) - `[jest-environment-node, jest-environment-jsdom]` Allow specifying `customExportConditions` ([#​12774](https://github.com/facebook/jest/pull/12774)) ##### Fixes - `[expect]` Adjust typings of `lastCalledWith`, `nthCalledWith`, `toBeCalledWith` matchers to allow a case there a mock was called with no arguments ([#​12807](https://github.com/facebook/jest/pull/12807)) - `[@jest/expect-utils]` Fix deep equality of ImmutableJS Lists ([#​12763](https://github.com/facebook/jest/pull/12763)) - `[jest-core]` Do not collect `SIGNREQUEST` as open handles ([#​12789](https://github.com/facebook/jest/pull/12789)) ##### Chore & Maintenance - `[docs]` Specified documentation about `--filter` CLI docs ([#​12799](https://github.com/facebook/jest/pull/12799)) - `[@jest-reporters]` Move helper functions from `utils.ts` into separate files ([#​12782](https://github.com/facebook/jest/pull/12782)) - `[jest-resolve]` Replace `process.versions.pnp` type declaration with `@types/pnpapi` devDependency ([#​12783](https://github.com/facebook/jest/pull/12783)) ### [`v28.0.3`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2803) [Compare Source](https://github.com/facebook/jest/compare/v28.0.2...v28.0.3) ##### Fixes - `[jest-config]` Normalize `reporters` option defined in presets ([#​12769](https://github.com/facebook/jest/pull/12769)) - `[@jest/reporters]` Fix trailing slash in matching `coverageThreshold` key ([#​12714](https://github.com/facebook/jest/pull/12714)) - `[jest-resolve]` Fix (experimental) ESM module mocking for re-exports ([#​12766](https://github.com/facebook/jest/pull/12766)) - `[@jest/transform]` Throw better error if an invalid return value if encountered ([#​12764](https://github.com/facebook/jest/pull/12764)) ##### Chore & Maintenance - `[docs]` Fix typo in `--shard` CLI docs ([#​12761](https://github.com/facebook/jest/pull/12761)) ### [`v28.0.2`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2802) [Compare Source](https://github.com/facebook/jest/compare/v28.0.1...v28.0.2) ##### Features - `[jest-worker]` Add `JestWorkerFarm` helper type ([#​12753](https://github.com/facebook/jest/pull/12753)) ##### Fixes - `[*]` Lower Node 16 requirement to 16.10 from 16.13 due to a [Node bug](https://github.com/nodejs/node/issues/40014) that causes memory and performance issues ([#​12754](https://github.com/facebook/jest/pull/12754)) ### [`v28.0.1`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2801) [Compare Source](https://github.com/facebook/jest/compare/v28.0.0...v28.0.1) ##### Features - `[jest-resolve]` Expose `ResolverOptions` type ([#​12736](https://github.com/facebook/jest/pull/12736)) ##### Fixes - `[expect]` Add missing dependency `jest-util` ([#​12744](https://github.com/facebook/jest/pull/12744)) - `[jest-circus]` Improve `test.concurrent` ([#​12748](https://github.com/facebook/jest/pull/12748)) - `[jest-resolve]` Correctly throw an error if `jsdom` test environment is used, but not installed ([#​12749](https://github.com/facebook/jest/pull/12749)) ##### Chore & Maintenance - `[jest-serializer]` Remove deprecated module from source tree ([#​12735](https://github.com/facebook/jest/pull/12735)) ### [`v28.0.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2800) [Compare Source](https://github.com/facebook/jest/compare/v27.5.1...v28.0.0) ##### Features - `[babel-jest]` Export `createTransformer` function ([#​12399](https://github.com/facebook/jest/pull/12399)) - `[expect]` Expose `AsymmetricMatchers`, `MatcherFunction` and `MatcherFunctionWithState` interfaces ([#​12363](https://github.com/facebook/jest/pull/12363), [#​12376](https://github.com/facebook/jest/pull/12376)) - `[jest-circus]` Support error logging before retry ([#​12201](https://github.com/facebook/jest/pull/12201)) - `[jest-circus, jest-jasmine2]` Allowed classes and functions as `describe` and `it`/`test` names ([#​12484](https://github.com/facebook/jest/pull/12484)) - `[jest-cli, jest-config]` \[**BREAKING**] Remove `testURL` config, use `testEnvironmentOptions.url` instead ([#​10797](https://github.com/facebook/jest/pull/10797)) - `[jest-cli, jest-core]` Add `--shard` parameter for distributed parallel test execution ([#​12546](https://github.com/facebook/jest/pull/12546)) - `[jest-cli]` \[**BREAKING**] Remove undocumented `--timers` option ([#​12572](https://github.com/facebook/jest/pull/12572)) - `[jest-config]` \[**BREAKING**] Stop shipping `jest-environment-jsdom` by default ([#​12354](https://github.com/facebook/jest/pull/12354)) - `[jest-config]` \[**BREAKING**] Stop shipping `jest-jasmine2` by default ([#​12355](https://github.com/facebook/jest/pull/12355)) - `[jest-config, @​jest/types]` Add `ci` to `GlobalConfig` ([#​12378](https://github.com/facebook/jest/pull/12378)) - `[jest-config]` \[**BREAKING**] Rename `moduleLoader` to `runtime` ([#​10817](https://github.com/facebook/jest/pull/10817)) - `[jest-config]` \[**BREAKING**] Rename `extraGlobals` to `sandboxInjectedGlobals` ([#​10817](https://github.com/facebook/jest/pull/10817)) - `[jest-config]` \[**BREAKING**] Throw an error instead of showing a warning if multiple configs are used ([#​12510](https://github.com/facebook/jest/pull/12510)) - `[jest-config]` \[**BREAKING**] Do not normalize long deprecated configuration options `preprocessorIgnorePatterns`, `scriptPreprocessor`, `setupTestFrameworkScriptFile` and `testPathDirs` ([#​12701](https://github.com/facebook/jest/pull/12701)) - `[jest-cli, jest-core]` Add `--ignoreProjects` CLI argument to ignore test suites by project name ([#​12620](https://github.com/facebook/jest/pull/12620)) - `[jest-core]` Pass project config to `globalSetup`/`globalTeardown` function as second argument ([#​12440](https://github.com/facebook/jest/pull/12440)) - `[jest-core]` Stabilize test runners with event emitters ([#​12641](https://github.com/facebook/jest/pull/12641)) - `[jest-core, jest-watcher]` \[**BREAKING**] Move `TestWatcher` class to `jest-watcher` package ([#​12652](https://github.com/facebook/jest/pull/12652)) - `[jest-core]` Allow using Summary Reporter as stand-alone reporter ([#​12687](https://github.com/facebook/jest/pull/12687)) - `[jest-environment-jsdom]` \[**BREAKING**] Upgrade jsdom to 19.0.0 ([#​12290](https://github.com/facebook/jest/pull/12290)) - `[jest-environment-jsdom]` \[**BREAKING**] Add default `browser` condition to `exportConditions` for `jsdom` environment ([#​11924](https://github.com/facebook/jest/pull/11924)) - `[jest-environment-jsdom]` \[**BREAKING**] Pass global config to Jest environment constructor for `jsdom` environment ([#​12461](https://github.com/facebook/jest/pull/12461)) - `[jest-environment-jsdom]` \[**BREAKING**] Second argument `context` to constructor is mandatory ([#​12469](https://github.com/facebook/jest/pull/12469)) - `[jest-environment-node]` \[**BREAKING**] Add default `node` and `node-addon` conditions to `exportConditions` for `node` environment ([#​11924](https://github.com/facebook/jest/pull/11924)) - `[jest-environment-node]` \[**BREAKING**] Pass global config to Jest environment constructor for `node` environment ([#​12461](https://github.com/facebook/jest/pull/12461)) - `[jest-environment-node]` \[**BREAKING**] Second argument `context` to constructor is mandatory ([#​12469](https://github.com/facebook/jest/pull/12469)) - `[jest-environment-node]` Add all available globals to test globals, not just explicit ones ([#​12642](https://github.com/facebook/jest/pull/12642), [#​12696](https://github.com/facebook/jest/pull/12696)) - `[@jest/expect]` New module which extends `expect` with `jest-snapshot` matchers ([#​12404](https://github.com/facebook/jest/pull/12404), [#​12410](https://github.com/facebook/jest/pull/12410), [#​12418](https://github.com/facebook/jest/pull/12418)) - `[@jest/expect-utils]` New module exporting utils for `expect` ([#​12323](https://github.com/facebook/jest/pull/12323)) - `[@jest/fake-timers]` \[**BREAKING**] Rename `timers` configuration option to `fakeTimers` ([#​12572](https://github.com/facebook/jest/pull/12572)) - `[@jest/fake-timers]` \[**BREAKING**] Allow `jest.useFakeTimers()` and `projectConfig.fakeTimers` to take an options bag ([#​12572](https://github.com/facebook/jest/pull/12572)) - `[jest-haste-map]` \[**BREAKING**] `HasteMap.create` now returns a promise ([#​12008](https://github.com/facebook/jest/pull/12008)) - `[jest-haste-map]` Add support for `dependencyExtractor` written in ESM ([#​12008](https://github.com/facebook/jest/pull/12008)) - `[jest-mock]` \[**BREAKING**] Rename exported utility types `ClassLike`, `FunctionLike`, `ConstructorLikeKeys`, `MethodLikeKeys`, `PropertyLikeKeys`; remove exports of utility types `ArgumentsOf`, `ArgsType`, `ConstructorArgumentsOf` - TS builtin utility types `ConstructorParameters` and `Parameters` should be used instead ([#​12435](https://github.com/facebook/jest/pull/12435), [#​12489](https://github.com/facebook/jest/pull/12489)) - `[jest-mock]` Improve `isMockFunction` to infer types of passed function ([#​12442](https://github.com/facebook/jest/pull/12442)) - `[jest-mock]` \[**BREAKING**] Improve the usage of `jest.fn` generic type argument ([#​12489](https://github.com/facebook/jest/pull/12489)) - `[jest-mock]` Add support for auto-mocking async generator functions ([#​11080](https://github.com/facebook/jest/pull/11080)) - `[jest-mock]` Add `contexts` member to mock functions ([#​12601](https://github.com/facebook/jest/pull/12601)) - `[@jest/reporters]` Add GitHub Actions reporter ([#​11320](https://github.com/facebook/jest/pull/11320), [#​12658](https://github.com/facebook/jest/pull/12658)) - `[@jest/reporters]` Pass `reporterContext` to custom reporter constructors as third argument ([#​12657](https://github.com/facebook/jest/pull/12657)) - `[jest-resolve]` \[**BREAKING**] Add support for `package.json` `exports` ([#​11961](https://github.com/facebook/jest/pull/11961), [#​12373](https://github.com/facebook/jest/pull/12373)) - `[jest-resolve]` Support package self-reference ([#​12682](https://github.com/facebook/jest/pull/12682)) - `[jest-resolve, jest-runtime]` Add support for `data:` URI import and mock ([#​12392](https://github.com/facebook/jest/pull/12392)) - `[jest-resolve, jest-runtime]` Add support for async resolver ([#​11540](https://github.com/facebook/jest/pull/11540)) - `[jest-resolve]` \[**BREAKING**] Remove `browser?: boolean` from resolver options, `conditions: ['browser']` should be used instead ([#​12707](https://github.com/facebook/jest/pull/12707)) - `[jest-resolve]` Expose `JestResolver`, `AsyncResolver`, `SyncResolver`, `PackageFilter`, `PathFilter` and `PackageJSON` types ([#​12707](https://github.com/facebook/jest/pull/12707), ([#​12712](https://github.com/facebook/jest/pull/12712)) - `[jest-runner]` Allow `setupFiles` module to export an async function ([#​12042](https://github.com/facebook/jest/pull/12042)) - `[jest-runner]` Allow passing `testEnvironmentOptions` via docblocks ([#​12470](https://github.com/facebook/jest/pull/12470)) - `[jest-runner]` Expose `CallbackTestRunner`, `EmittingTestRunner` abstract classes and `CallbackTestRunnerInterface`, `EmittingTestRunnerInterface` to help typing third party runners ([#​12646](https://github.com/facebook/jest/pull/12646), [#​12715](https://github.com/facebook/jest/pull/12715)) - `[jest-runner]` Lock version of `source-map-support` to 0.5.13 ([#​12720](https://github.com/facebook/jest/pull/12720)) - `[jest-runtime]` \[**BREAKING**] `Runtime.createHasteMap` now returns a promise ([#​12008](https://github.com/facebook/jest/pull/12008)) - `[jest-runtime]` Calling `jest.resetModules` function will clear FS and transform cache ([#​12531](https://github.com/facebook/jest/pull/12531)) - `[jest-runtime]` \[**BREAKING**] Remove `Context` type export, it must be imported from `@jest/test-result` ([#​12685](https://github.com/facebook/jest/pull/12685)) - `[jest-runtime]` Add `import.meta.jest` ([#​12698](https://github.com/facebook/jest/pull/12698)) - `[@jest/schemas]` New module for JSON schemas for Jest's config ([#​12384](https://github.com/facebook/jest/pull/12384)) - `[@jest/source-map]` Migrate from `source-map` to `@jridgewell/trace-mapping` ([#​12692](https://github.com/facebook/jest/pull/12692)) - `[jest-transform]` \[**BREAKING**] Make it required for `process()` and `processAsync()` methods to always return structured data ([#​12638](https://github.com/facebook/jest/pull/12638)) - `[jest-test-result]` Add duration property to JSON test output ([#​12518](https://github.com/facebook/jest/pull/12518)) - `[jest-watcher]` \[**BREAKING**] Make `PatternPrompt` class to take `entityName` as third constructor parameter instead of `this._entityName` ([#​12591](https://github.com/facebook/jest/pull/12591)) - `[jest-worker]` \[**BREAKING**] Allow only absolute `workerPath` ([#​12343](https://github.com/facebook/jest/pull/12343)) - `[jest-worker]` \[**BREAKING**] Default to advanced serialization when using child process workers ([#​10983](https://github.com/facebook/jest/pull/10983)) - `[pretty-format]` New `maxWidth` parameter ([#​12402](https://github.com/facebook/jest/pull/12402)) ##### Fixes - `[*]` Use `sha256` instead of `md5` as hashing algortihm for compatibility with FIPS systems ([#​12722](https://github.com/facebook/jest/pull/12722)) - `[babel-jest]` \[**BREAKING**] Pass `rootDir` as `root` in Babel's options ([#​12689](https://github.com/facebook/jest/pull/12689)) - `[expect]` Move typings of `.not`, `.rejects` and `.resolves` modifiers outside of `Matchers` interface ([#​12346](https://github.com/facebook/jest/pull/12346)) - `[expect]` Throw useful error if `expect.extend` is called with invalid matchers ([#​12488](https://github.com/facebook/jest/pull/12488)) - `[expect]` Fix `iterableEquality` ignores other properties ([#​8359](https://github.com/facebook/jest/pull/8359)) - `[expect]` Fix print for the `closeTo` matcher ([#​12626](https://github.com/facebook/jest/pull/12626)) - `[jest-changed-files]` Improve `changedFilesWithAncestor` pattern for Mercurial SCM ([#​12322](https://github.com/facebook/jest/pull/12322)) - `[jest-circus, @​jest/types]` Disallow undefined value in `TestContext` type ([#​12507](https://github.com/facebook/jest/pull/12507)) - `[jest-config]` Correctly detect CI environment and update snapshots accordingly ([#​12378](https://github.com/facebook/jest/pull/12378)) - `[jest-config]` Pass `moduleTypes` to `ts-node` to enforce CJS when transpiling ([#​12397](https://github.com/facebook/jest/pull/12397)) - `[jest-config]` \[**BREAKING**] Add `mjs` and `cjs` to default `moduleFileExtensions` config ([#​12578](https://github.com/facebook/jest/pull/12578)) - `[jest-config, jest-haste-map]` Allow searching for tests in `node_modules` by exposing `retainAllFiles` ([#​11084](https://github.com/facebook/jest/pull/11084)) - `[jest-core]` \[**BREAKING**] Exit with status `1` if no tests are found with `--findRelatedTests` flag ([#​12487](https://github.com/facebook/jest/pull/12487)) - `[jest-core]` Do not report unref-ed subprocesses as open handles ([#​12705](https://github.com/facebook/jest/pull/12705)) - `[jest-each]` `%#` is not replaced with index of the test case ([#​12517](https://github.com/facebook/jest/pull/12517)) - `[jest-each]` Fixes error message with incorrect count of missing arguments ([#​12464](https://github.com/facebook/jest/pull/12464)) - `[jest-environment-jsdom]` Make `jsdom` accessible to extending environments again ([#​12232](https://github.com/facebook/jest/pull/12232)) - `[jest-environment-jsdom]` Log JSDOM errors more cleanly ([#​12386](https://github.com/facebook/jest/pull/12386)) - `[jest-environment-node]` Add `MessageChannel`, `MessageEvent` to globals ([#​12553](https://github.com/facebook/jest/pull/12553)) - `[jest-environment-node]` Add `structuredClone` to globals ([#​12631](https://github.com/facebook/jest/pull/12631)) - `[@jest/expect-utils]` \[**BREAKING**] Fix false positives when looking for `undefined` prop ([#​8923](https://github.com/facebook/jest/pull/8923)) - `[jest-haste-map]` Don't use partial results if file crawl errors ([#​12420](https://github.com/facebook/jest/pull/12420)) - `[jest-haste-map]` Make watchman existence check lazy+async ([#​12675](https://github.com/facebook/jest/pull/12675)) - `[jest-jasmine2, jest-types]` \[**BREAKING**] Move all `jasmine` specific types from `@jest/types` to its own package ([#​12125](https://github.com/facebook/jest/pull/12125)) - `[jest-jasmine2]` Do not set `duration` to `0` for skipped tests ([#​12518](https://github.com/facebook/jest/pull/12518)) - `[jest-matcher-utils]` Pass maxWidth to `pretty-format` to avoid printing every element in arrays by default ([#​12402](https://github.com/facebook/jest/pull/12402)) - `[jest-mock]` Fix function overloads for `spyOn` to allow more correct type inference in complex object ([#​12442](https://github.com/facebook/jest/pull/12442)) - `[jest-mock]` Handle overridden `Function.name` property ([#​12674](https://github.com/facebook/jest/pull/12674)) - `[@jest/reporters]` Notifications generated by the `--notify` flag are no longer persistent in GNOME Shell. ([#​11733](https://github.com/facebook/jest/pull/11733)) - `[@jest/reporters]` Move missing icon file which is needed for `NotifyReporter` class. ([#​12593](https://github.com/facebook/jest/pull/12593)) - `[@jest/reporters]` Update `v8-to-istanbul` ([#​12697](https://github.com/facebook/jest/pull/12697)) - `[jest-resolver]` Call custom resolver with core node.js modules ([#​12654](https://github.com/facebook/jest/pull/12654)) - `[jest-runner]` Correctly resolve `source-map-support` ([#​12706](https://github.com/facebook/jest/pull/12706)) - `[jest-worker]` Fix `Farm` execution results memory leak ([#​12497](https://github.com/facebook/jest/pull/12497)) ##### Chore & Maintenance - `[*]` \[**BREAKING**] Drop support for Node v10 and v15 and target first LTS `16.13.0` ([#​12220](https://github.com/facebook/jest/pull/12220)) - `[*]` \[**BREAKING**] Drop support for `typescript@3.8`, minimum version is now `4.3` ([#​11142](https://github.com/facebook/jest/pull/11142), [#​12648](https://github.com/facebook/jest/pull/12648)) - `[*]` Bundle all `.d.ts` files into a single `index.d.ts` per module ([#​12345](https://github.com/facebook/jest/pull/12345)) - `[*]` Use `globalThis` instead of `global` ([#​12447](https://github.com/facebook/jest/pull/12447)) - `[babel-jest]` \[**BREAKING**] Only export `createTransformer` ([#​12407](https://github.com/facebook/jest/pull/12407)) - `[docs]` Add note about not mixing `done()` with Promises ([#​11077](https://github.com/facebook/jest/pull/11077)) - `[docs, examples]` Update React examples to match with the new React guidelines for code examples ([#​12217](https://github.com/facebook/jest/pull/12217)) - `[docs]` Add clarity for module factory hoisting limitations ([#​12453](https://github.com/facebook/jest/pull/12453)) - `[docs]` Add more information about how code transformers work ([#​12407](https://github.com/facebook/jest/pull/12407)) - `[docs]` Add upgrading guide ([#​12633](https://github.com/facebook/jest/pull/12633)) - `[expect]` \[**BREAKING**] Remove support for importing `build/utils` ([#​12323](https://github.com/facebook/jest/pull/12323)) - `[expect]` \[**BREAKING**] Migrate to ESM ([#​12344](https://github.com/facebook/jest/pull/12344)) - `[expect]` \[**BREAKING**] Snapshot matcher types are moved to `@jest/expect` ([#​12404](https://github.com/facebook/jest/pull/12404)) - `[jest-cli]` Update `yargs` to v17 ([#​12357](https://github.com/facebook/jest/pull/12357)) - `[jest-config]` \[**BREAKING**] Remove `getTestEnvironment` export ([#​12353](https://github.com/facebook/jest/pull/12353)) - `[jest-config]` \[**BREAKING**] Rename config option `name` to `id` ([#​11981](https://github.com/facebook/jest/pull/11981)) - `[jest-create-cache-key-function]` Added README.md file with basic usage instructions ([#​12492](https://github.com/facebook/jest/pull/12492)) - `[@jest/core]` Use `index.ts` instead of `jest.ts` as main export ([#​12329](https://github.com/facebook/jest/pull/12329)) - `[jest-environment-jsdom]` \[**BREAKING**] Migrate to ESM ([#​12340](https://github.com/facebook/jest/pull/12340)) - `[jest-environment-node]` \[**BREAKING**] Migrate to ESM ([#​12340](https://github.com/facebook/jest/pull/12340)) - `[jest-haste-map]` Remove legacy `isRegExpSupported` ([#​12676](https://github.com/facebook/jest/pull/12676)) - `[@jest/fake-timers]` Update `@sinonjs/fake_timers` to v9 ([#​12357](https://github.com/facebook/jest/pull/12357)) - `[jest-jasmine2, jest-runtime]` \[**BREAKING**] Use `Symbol` to pass `jest.setTimeout` value instead of `jasmine` specific logic ([#​12124](https://github.com/facebook/jest/pull/12124)) - `[jest-phabricator]` \[**BREAKING**] Migrate to ESM ([#​12341](https://github.com/facebook/jest/pull/12341)) - `[jest-resolve]` \[**BREAKING**] Make `requireResolveFunction` argument mandatory ([#​12353](https://github.com/facebook/jest/pull/12353)) - `[jest-runner]` \[**BREAKING**] Remove some type exports from `@jest/test-result` ([#​12353](https://github.com/facebook/jest/pull/12353)) - `[jest-runner]` \[**BREAKING**] Second argument to constructor (`Context`) is not optional ([#​12640](https://github.com/facebook/jest/pull/12640)) - `[jest-serializer]` \[**BREAKING**] Deprecate package in favour of using `v8` APIs directly ([#​12391](https://github.com/facebook/jest/pull/12391)) - `[jest-snapshot]` \[**BREAKING**] Migrate to ESM ([#​12342](https://github.com/facebook/jest/pull/12342)) - `[jest-transform]` Update `write-file-atomic` to v4 ([#​12357](https://github.com/facebook/jest/pull/12357)) - `[jest-types]` \[**BREAKING**] Remove `Config.Glob` and `Config.Path` ([#​12406](https://github.com/facebook/jest/pull/12406)) - `[jest]` Use `index.ts` instead of `jest.ts` as main export ([#​12329](https://github.com/facebook/jest/pull/12329)) ##### Performance - `[jest-haste-map]` \[**BREAKING**] Default to `node` crawler over shelling out to `find` if `watchman` is not enabled ([#​12320](https://github.com/facebook/jest/pull/12320)) ### [`v27.5.1`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2751) [Compare Source](https://github.com/facebook/jest/compare/v27.5.0...v27.5.1) ##### Features - `[jest-config]` Support comments in JSON config file ([#​12316](https://github.com/facebook/jest/pull/12316)) - `[pretty-format]` Expose `ConvertAnsi` plugin ([#​12308](https://github.com/facebook/jest/pull/12308)) ##### Fixes - `[expect]` Add type definitions for asymmetric `closeTo` matcher ([#​12304](https://github.com/facebook/jest/pull/12304)) - `[jest-cli]` Load binary via exported API ([#​12315](https://github.com/facebook/jest/pull/12315)) - `[jest-config]` Replace `jsonlint` with `parse-json` ([#​12316](https://github.com/facebook/jest/pull/12316)) - `[jest-repl]` Make module importable ([#​12311](https://github.com/facebook/jest/pull/12311) & [#​12315](https://github.com/facebook/jest/pull/12315)) ##### Chore & Maintenance - `[*]` Avoid anonymous default exports ([#​12313](https://github.com/facebook/jest/pull/12313)) ### [`v27.5.0`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2750) [Compare Source](https://github.com/facebook/jest/compare/v27.4.7...v27.5.0) ##### Features - `[expect]` Add asymmetric matcher `expect.closeTo` ([#​12243](https://github.com/facebook/jest/pull/12243)) - `[jest-mock]` Added `mockFn.mock.lastCall` to retrieve last argument ([#​12285](https://github.com/facebook/jest/pull/12285)) ##### Fixes - `[expect]` Add a fix for `.toHaveProperty('')` ([#​12251](https://github.com/facebook/jest/pull/12251)) - `[jest-each, @​jest/globals]` Allow passing `ReadonlyArray` type of a table to `describe.each` and `test.each` ([#​12297](https://github.com/facebook/jest/pull/12297)) - `[@jest/globals]` Add missing `options` argument to `jest.doMock` typing ([#​12292](https://github.com/facebook/jest/pull/12292)) - `[jest-environment-node]` Add `atob` and `btoa` ([#​12269](https://github.com/facebook/jest/pull/12269)) - `[jest-matcher-utils]` Correct diff for expected asymmetric matchers ([#​12264](https://github.com/facebook/jest/pull/12264)) - `[jest-message-util]` Fix `.getTopFrame()` (and `toMatchInlineSnapshot()`) with `mjs` files ([#​12277](https://github.com/facebook/jest/pull/12277)) ##### Chore & Maintenance - `[*]` Update `graceful-fs` to `^4.2.9` ([#​11749](https://github.com/facebook/jest/pull/11749)) ##### Performance - `[jest-resolve]` perf: skip error creation on not found `stat` calls ([#​11749](https://github.com/facebook/jest/pull/11749)) ### [`v27.4.7`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2747) [Compare Source](https://github.com/facebook/jest/compare/v27.4.6...v27.4.7) ##### Fixes - `jest-config` Add missing `@babel/core` dependency ([#​12216](https://github.com/facebook/jest/pull/12216)) ### [`v27.4.6`](https://github.com/facebook/jest/blob/HEAD/CHANGELOG.md#​2746) [Compare Source](https://github.com/facebook/jest/compare/v27.4.5...v27.4.6) ##### Fixes - `[jest-environment-node]` Add `AbortSignal` ([#​12157](https://github.com/facebook/jest/pull/12157)) - `[jest-environment-node]` Add Missing node global `performance` ([#​12002](https://github.com/facebook/jest/pull/12002)) - `[jest-runtime]` Handle missing `mocked` property ([#​12213](https://github.com/facebook/jest/pull/12213)) - `[@jest/transform]` Update dependency package `pirates` to 4.0.4 ([#​12002](https://github.com/facebook/jest/pull/12002)) ##### Performance - `jest-config` perf: only register ts-node once when loading TS config files ([#​12160](https://github.com/facebook/jest/pull/12160)) </details> --- ### 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43NC4yIiwidXBkYXRlZEluVmVyIjoiMzQuNzQuMiJ9--> Co-authored-by: Renovate Bot <renovate@vylpes.com> Reviewed-on: https://gitea.vylpes.xyz/RabbitLabs/vylbot-app/pulls/241 Co-authored-by: RenovateBot <renovate@vylpes.com> Co-committed-by: RenovateBot <renovate@vylpes.com>
- Loading branch information