facebook/jest
### [`v28.1.0`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2810)
[Compare Source](https://togithub.com/facebook/jest/compare/v28.0.2...v28.1.0)
##### Features
- `[jest-circus]` Add `failing` test modifier that inverts the behaviour of tests ([#12610](https://togithub.com/facebook/jest/pull/12610))
- `[jest-environment-node, jest-environment-jsdom]` Allow specifying `customExportConditions` ([#12774](https://togithub.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://togithub.com/facebook/jest/pull/12807))
- `[@jest/expect-utils]` Fix deep equality of ImmutableJS Lists ([#12763](https://togithub.com/facebook/jest/pull/12763))
- `[jest-core]` Do not collect `SIGNREQUEST` as open handles ([#12789](https://togithub.com/facebook/jest/pull/12789))
##### Chore & Maintenance
- `[docs]` Specified documentation about `--filter` CLI docs ([#12799](https://togithub.com/facebook/jest/pull/12799))
- `[@jest-reporters]` Move helper functions from `utils.ts` into separate files ([#12782](https://togithub.com/facebook/jest/pull/12782))
- `[jest-resolve]` Replace `process.versions.pnp` type declaration with `@types/pnpapi` devDependency ([#12783](https://togithub.com/facebook/jest/pull/12783))
### [`v28.0.2`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2802)
[Compare Source](https://togithub.com/facebook/jest/compare/v28.0.1...v28.0.2)
##### Features
- `[jest-worker]` Add `JestWorkerFarm` helper type ([#12753](https://togithub.com/facebook/jest/pull/12753))
##### Fixes
- `[*]` Lower Node 16 requirement to 16.10 from 16.13 due to a [Node bug](https://togithub.com/nodejs/node/issues/40014) that causes memory and performance issues ([#12754](https://togithub.com/facebook/jest/pull/12754))
### [`v28.0.1`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2801)
[Compare Source](https://togithub.com/facebook/jest/compare/v28.0.0...v28.0.1)
##### Features
- `[jest-resolve]` Expose `ResolverOptions` type ([#12736](https://togithub.com/facebook/jest/pull/12736))
##### Fixes
- `[expect]` Add missing dependency `jest-util` ([#12744](https://togithub.com/facebook/jest/pull/12744))
- `[jest-circus]` Improve `test.concurrent` ([#12748](https://togithub.com/facebook/jest/pull/12748))
- `[jest-resolve]` Correctly throw an error if `jsdom` test environment is used, but not installed ([#12749](https://togithub.com/facebook/jest/pull/12749))
##### Chore & Maintenance
- `[jest-serializer]` Remove deprecated module from source tree ([#12735](https://togithub.com/facebook/jest/pull/12735))
### [`v28.0.0`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2800)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.5.1...v28.0.0)
##### Features
- `[babel-jest]` Export `createTransformer` function ([#12399](https://togithub.com/facebook/jest/pull/12399))
- `[expect]` Expose `AsymmetricMatchers`, `MatcherFunction` and `MatcherFunctionWithState` interfaces ([#12363](https://togithub.com/facebook/jest/pull/12363), [#12376](https://togithub.com/facebook/jest/pull/12376))
- `[jest-circus]` Support error logging before retry ([#12201](https://togithub.com/facebook/jest/pull/12201))
- `[jest-circus, jest-jasmine2]` Allowed classes and functions as `describe` and `it`/`test` names ([#12484](https://togithub.com/facebook/jest/pull/12484))
- `[jest-cli, jest-config]` \[**BREAKING**] Remove `testURL` config, use `testEnvironmentOptions.url` instead ([#10797](https://togithub.com/facebook/jest/pull/10797))
- `[jest-cli, jest-core]` Add `--shard` parameter for distributed parallel test execution ([#12546](https://togithub.com/facebook/jest/pull/12546))
- `[jest-cli]` \[**BREAKING**] Remove undocumented `--timers` option ([#12572](https://togithub.com/facebook/jest/pull/12572))
- `[jest-config]` \[**BREAKING**] Stop shipping `jest-environment-jsdom` by default ([#12354](https://togithub.com/facebook/jest/pull/12354))
- `[jest-config]` \[**BREAKING**] Stop shipping `jest-jasmine2` by default ([#12355](https://togithub.com/facebook/jest/pull/12355))
- `[jest-config, @jest/types]` Add `ci` to `GlobalConfig` ([#12378](https://togithub.com/facebook/jest/pull/12378))
- `[jest-config]` \[**BREAKING**] Rename `moduleLoader` to `runtime` ([#10817](https://togithub.com/facebook/jest/pull/10817))
- `[jest-config]` \[**BREAKING**] Rename `extraGlobals` to `sandboxInjectedGlobals` ([#10817](https://togithub.com/facebook/jest/pull/10817))
- `[jest-config]` \[**BREAKING**] Throw an error instead of showing a warning if multiple configs are used ([#12510](https://togithub.com/facebook/jest/pull/12510))
- `[jest-config]` \[**BREAKING**] Do not normalize long deprecated configuration options `preprocessorIgnorePatterns`, `scriptPreprocessor`, `setupTestFrameworkScriptFile` and `testPathDirs` ([#12701](https://togithub.com/facebook/jest/pull/12701))
- `[jest-cli, jest-core]` Add `--ignoreProjects` CLI argument to ignore test suites by project name ([#12620](https://togithub.com/facebook/jest/pull/12620))
- `[jest-core]` Pass project config to `globalSetup`/`globalTeardown` function as second argument ([#12440](https://togithub.com/facebook/jest/pull/12440))
- `[jest-core]` Stabilize test runners with event emitters ([#12641](https://togithub.com/facebook/jest/pull/12641))
- `[jest-core, jest-watcher]` \[**BREAKING**] Move `TestWatcher` class to `jest-watcher` package ([#12652](https://togithub.com/facebook/jest/pull/12652))
- `[jest-core]` Allow using Summary Reporter as stand-alone reporter ([#12687](https://togithub.com/facebook/jest/pull/12687))
- `[jest-environment-jsdom]` \[**BREAKING**] Upgrade jsdom to 19.0.0 ([#12290](https://togithub.com/facebook/jest/pull/12290))
- `[jest-environment-jsdom]` \[**BREAKING**] Add default `browser` condition to `exportConditions` for `jsdom` environment ([#11924](https://togithub.com/facebook/jest/pull/11924))
- `[jest-environment-jsdom]` \[**BREAKING**] Pass global config to Jest environment constructor for `jsdom` environment ([#12461](https://togithub.com/facebook/jest/pull/12461))
- `[jest-environment-jsdom]` \[**BREAKING**] Second argument `context` to constructor is mandatory ([#12469](https://togithub.com/facebook/jest/pull/12469))
- `[jest-environment-node]` \[**BREAKING**] Add default `node` and `node-addon` conditions to `exportConditions` for `node` environment ([#11924](https://togithub.com/facebook/jest/pull/11924))
- `[jest-environment-node]` \[**BREAKING**] Pass global config to Jest environment constructor for `node` environment ([#12461](https://togithub.com/facebook/jest/pull/12461))
- `[jest-environment-node]` \[**BREAKING**] Second argument `context` to constructor is mandatory ([#12469](https://togithub.com/facebook/jest/pull/12469))
- `[jest-environment-node]` Add all available globals to test globals, not just explicit ones ([#12642](https://togithub.com/facebook/jest/pull/12642), [#12696](https://togithub.com/facebook/jest/pull/12696))
- `[@jest/expect]` New module which extends `expect` with `jest-snapshot` matchers ([#12404](https://togithub.com/facebook/jest/pull/12404), [#12410](https://togithub.com/facebook/jest/pull/12410), [#12418](https://togithub.com/facebook/jest/pull/12418))
- `[@jest/expect-utils]` New module exporting utils for `expect` ([#12323](https://togithub.com/facebook/jest/pull/12323))
- `[@jest/fake-timers]` \[**BREAKING**] Rename `timers` configuration option to `fakeTimers` ([#12572](https://togithub.com/facebook/jest/pull/12572))
- `[@jest/fake-timers]` \[**BREAKING**] Allow `jest.useFakeTimers()` and `projectConfig.fakeTimers` to take an options bag ([#12572](https://togithub.com/facebook/jest/pull/12572))
- `[jest-haste-map]` \[**BREAKING**] `HasteMap.create` now returns a promise ([#12008](https://togithub.com/facebook/jest/pull/12008))
- `[jest-haste-map]` Add support for `dependencyExtractor` written in ESM ([#12008](https://togithub.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://togithub.com/facebook/jest/pull/12435), [#12489](https://togithub.com/facebook/jest/pull/12489))
- `[jest-mock]` Improve `isMockFunction` to infer types of passed function ([#12442](https://togithub.com/facebook/jest/pull/12442))
- `[jest-mock]` \[**BREAKING**] Improve the usage of `jest.fn` generic type argument ([#12489](https://togithub.com/facebook/jest/pull/12489))
- `[jest-mock]` Add support for auto-mocking async generator functions ([#11080](https://togithub.com/facebook/jest/pull/11080))
- `[jest-mock]` Add `contexts` member to mock functions ([#12601](https://togithub.com/facebook/jest/pull/12601))
- `[@jest/reporters]` Add GitHub Actions reporter ([#11320](https://togithub.com/facebook/jest/pull/11320), [#12658](https://togithub.com/facebook/jest/pull/12658))
- `[@jest/reporters]` Pass `reporterContext` to custom reporter constructors as third argument ([#12657](https://togithub.com/facebook/jest/pull/12657))
- `[jest-resolve]` \[**BREAKING**] Add support for `package.json` `exports` ([#11961](https://togithub.com/facebook/jest/pull/11961), [#12373](https://togithub.com/facebook/jest/pull/12373))
- `[jest-resolve]` Support package self-reference ([#12682](https://togithub.com/facebook/jest/pull/12682))
- `[jest-resolve, jest-runtime]` Add support for `data:` URI import and mock ([#12392](https://togithub.com/facebook/jest/pull/12392))
- `[jest-resolve, jest-runtime]` Add support for async resolver ([#11540](https://togithub.com/facebook/jest/pull/11540))
- `[jest-resolve]` \[**BREAKING**] Remove `browser?: boolean` from resolver options, `conditions: ['browser']` should be used instead ([#12707](https://togithub.com/facebook/jest/pull/12707))
- `[jest-resolve]` Expose `JestResolver`, `AsyncResolver`, `SyncResolver`, `PackageFilter`, `PathFilter` and `PackageJSON` types ([#12707](https://togithub.com/facebook/jest/pull/12707), ([#12712](https://togithub.com/facebook/jest/pull/12712))
- `[jest-runner]` Allow `setupFiles` module to export an async function ([#12042](https://togithub.com/facebook/jest/pull/12042))
- `[jest-runner]` Allow passing `testEnvironmentOptions` via docblocks ([#12470](https://togithub.com/facebook/jest/pull/12470))
- `[jest-runner]` Expose `CallbackTestRunner`, `EmittingTestRunner` abstract classes and `CallbackTestRunnerInterface`, `EmittingTestRunnerInterface` to help typing third party runners ([#12646](https://togithub.com/facebook/jest/pull/12646), [#12715](https://togithub.com/facebook/jest/pull/12715))
- `[jest-runner]` Lock version of `source-map-support` to 0.5.13 ([#12720](https://togithub.com/facebook/jest/pull/12720))
- `[jest-runtime]` \[**BREAKING**] `Runtime.createHasteMap` now returns a promise ([#12008](https://togithub.com/facebook/jest/pull/12008))
- `[jest-runtime]` Calling `jest.resetModules` function will clear FS and transform cache ([#12531](https://togithub.com/facebook/jest/pull/12531))
- `[jest-runtime]` \[**BREAKING**] Remove `Context` type export, it must be imported from `@jest/test-result` ([#12685](https://togithub.com/facebook/jest/pull/12685))
- `[jest-runtime]` Add `import.meta.jest` ([#12698](https://togithub.com/facebook/jest/pull/12698))
- `[@jest/schemas]` New module for JSON schemas for Jest's config ([#12384](https://togithub.com/facebook/jest/pull/12384))
- `[@jest/source-map]` Migrate from `source-map` to `@jridgewell/trace-mapping` ([#12692](https://togithub.com/facebook/jest/pull/12692))
- `[jest-transform]` \[**BREAKING**] Make it required for `process()` and `processAsync()` methods to always return structured data ([#12638](https://togithub.com/facebook/jest/pull/12638))
- `[jest-test-result]` Add duration property to JSON test output ([#12518](https://togithub.com/facebook/jest/pull/12518))
- `[jest-watcher]` \[**BREAKING**] Make `PatternPrompt` class to take `entityName` as third constructor parameter instead of `this._entityName` ([#12591](https://togithub.com/facebook/jest/pull/12591))
- `[jest-worker]` \[**BREAKING**] Allow only absolute `workerPath` ([#12343](https://togithub.com/facebook/jest/pull/12343))
- `[jest-worker]` \[**BREAKING**] Default to advanced serialization when using child process workers ([#10983](https://togithub.com/facebook/jest/pull/10983))
- `[pretty-format]` New `maxWidth` parameter ([#12402](https://togithub.com/facebook/jest/pull/12402))
##### Fixes
- `[*]` Use `sha256` instead of `md5` as hashing algortihm for compatibility with FIPS systems ([#12722](https://togithub.com/facebook/jest/pull/12722))
- `[babel-jest]` \[**BREAKING**] Pass `rootDir` as `root` in Babel's options ([#12689](https://togithub.com/facebook/jest/pull/12689))
- `[expect]` Move typings of `.not`, `.rejects` and `.resolves` modifiers outside of `Matchers` interface ([#12346](https://togithub.com/facebook/jest/pull/12346))
- `[expect]` Throw useful error if `expect.extend` is called with invalid matchers ([#12488](https://togithub.com/facebook/jest/pull/12488))
- `[expect]` Fix `iterableEquality` ignores other properties ([#8359](https://togithub.com/facebook/jest/pull/8359))
- `[expect]` Fix print for the `closeTo` matcher ([#12626](https://togithub.com/facebook/jest/pull/12626))
- `[jest-changed-files]` Improve `changedFilesWithAncestor` pattern for Mercurial SCM ([#12322](https://togithub.com/facebook/jest/pull/12322))
- `[jest-circus, @jest/types]` Disallow undefined value in `TestContext` type ([#12507](https://togithub.com/facebook/jest/pull/12507))
- `[jest-config]` Correctly detect CI environment and update snapshots accordingly ([#12378](https://togithub.com/facebook/jest/pull/12378))
- `[jest-config]` Pass `moduleTypes` to `ts-node` to enforce CJS when transpiling ([#12397](https://togithub.com/facebook/jest/pull/12397))
- `[jest-config]` \[**BREAKING**] Add `mjs` and `cjs` to default `moduleFileExtensions` config ([#12578](https://togithub.com/facebook/jest/pull/12578))
- `[jest-config, jest-haste-map]` Allow searching for tests in `node_modules` by exposing `retainAllFiles` ([#11084](https://togithub.com/facebook/jest/pull/11084))
- `[jest-core]` \[**BREAKING**] Exit with status `1` if no tests are found with `--findRelatedTests` flag ([#12487](https://togithub.com/facebook/jest/pull/12487))
- `[jest-core]` Do not report unref-ed subprocesses as open handles ([#12705](https://togithub.com/facebook/jest/pull/12705))
- `[jest-each]` `%#` is not replaced with index of the test case ([#12517](https://togithub.com/facebook/jest/pull/12517))
- `[jest-each]` Fixes error message with incorrect count of missing arguments ([#12464](https://togithub.com/facebook/jest/pull/12464))
- `[jest-environment-jsdom]` Make `jsdom` accessible to extending environments again ([#12232](https://togithub.com/facebook/jest/pull/12232))
- `[jest-environment-jsdom]` Log JSDOM errors more cleanly ([#12386](https://togithub.com/facebook/jest/pull/12386))
- `[jest-environment-node]` Add `MessageChannel`, `MessageEvent` to globals ([#12553](https://togithub.com/facebook/jest/pull/12553))
- `[jest-environment-node]` Add `structuredClone` to globals ([#12631](https://togithub.com/facebook/jest/pull/12631))
- `[@jest/expect-utils]` \[**BREAKING**] Fix false positives when looking for `undefined` prop ([#8923](https://togithub.com/facebook/jest/pull/8923))
- `[jest-haste-map]` Don't use partial results if file crawl errors ([#12420](https://togithub.com/facebook/jest/pull/12420))
- `[jest-haste-map]` Make watchman existence check lazy+async ([#12675](https://togithub.com/facebook/jest/pull/12675))
- `[jest-jasmine2, jest-types]` \[**BREAKING**] Move all `jasmine` specific types from `@jest/types` to its own package ([#12125](https://togithub.com/facebook/jest/pull/12125))
- `[jest-jasmine2]` Do not set `duration` to `0` for skipped tests ([#12518](https://togithub.com/facebook/jest/pull/12518))
- `[jest-matcher-utils]` Pass maxWidth to `pretty-format` to avoid printing every element in arrays by default ([#12402](https://togithub.com/facebook/jest/pull/12402))
- `[jest-mock]` Fix function overloads for `spyOn` to allow more correct type inference in complex object ([#12442](https://togithub.com/facebook/jest/pull/12442))
- `[jest-mock]` Handle overridden `Function.name` property ([#12674](https://togithub.com/facebook/jest/pull/12674))
- `[@jest/reporters]` Notifications generated by the `--notify` flag are no longer persistent in GNOME Shell. ([#11733](https://togithub.com/facebook/jest/pull/11733))
- `[@jest/reporters]` Move missing icon file which is needed for `NotifyReporter` class. ([#12593](https://togithub.com/facebook/jest/pull/12593))
- `[@jest/reporters]` Update `v8-to-istanbul` ([#12697](https://togithub.com/facebook/jest/pull/12697))
- `[jest-resolver]` Call custom resolver with core node.js modules ([#12654](https://togithub.com/facebook/jest/pull/12654))
- `[jest-runner]` Correctly resolve `source-map-support` ([#12706](https://togithub.com/facebook/jest/pull/12706))
- `[jest-worker]` Fix `Farm` execution results memory leak ([#12497](https://togithub.com/facebook/jest/pull/12497))
##### Chore & Maintenance
- `[*]` \[**BREAKING**] Drop support for Node v10 and v15 and target first LTS `16.13.0` ([#12220](https://togithub.com/facebook/jest/pull/12220))
- `[*]` \[**BREAKING**] Drop support for `typescript@3.8`, minimum version is now `4.3` ([#11142](https://togithub.com/facebook/jest/pull/11142), [#12648](https://togithub.com/facebook/jest/pull/12648))
- `[*]` Bundle all `.d.ts` files into a single `index.d.ts` per module ([#12345](https://togithub.com/facebook/jest/pull/12345))
- `[*]` Use `globalThis` instead of `global` ([#12447](https://togithub.com/facebook/jest/pull/12447))
- `[babel-jest]` \[**BREAKING**] Only export `createTransformer` ([#12407](https://togithub.com/facebook/jest/pull/12407))
- `[docs]` Add note about not mixing `done()` with Promises ([#11077](https://togithub.com/facebook/jest/pull/11077))
- `[docs, examples]` Update React examples to match with the new React guidelines for code examples ([#12217](https://togithub.com/facebook/jest/pull/12217))
- `[docs]` Add clarity for module factory hoisting limitations ([#12453](https://togithub.com/facebook/jest/pull/12453))
- `[docs]` Add more information about how code transformers work ([#12407](https://togithub.com/facebook/jest/pull/12407))
- `[docs]` Add upgrading guide ([#12633](https://togithub.com/facebook/jest/pull/12633))
- `[expect]` \[**BREAKING**] Remove support for importing `build/utils` ([#12323](https://togithub.com/facebook/jest/pull/12323))
- `[expect]` \[**BREAKING**] Migrate to ESM ([#12344](https://togithub.com/facebook/jest/pull/12344))
- `[expect]` \[**BREAKING**] Snapshot matcher types are moved to `@jest/expect` ([#12404](https://togithub.com/facebook/jest/pull/12404))
- `[jest-cli]` Update `yargs` to v17 ([#12357](https://togithub.com/facebook/jest/pull/12357))
- `[jest-config]` \[**BREAKING**] Remove `getTestEnvironment` export ([#12353](https://togithub.com/facebook/jest/pull/12353))
- `[jest-config]` \[**BREAKING**] Rename config option `name` to `id` ([#11981](https://togithub.com/facebook/jest/pull/11981))
- `[jest-create-cache-key-function]` Added README.md file with basic usage instructions ([#12492](https://togithub.com/facebook/jest/pull/12492))
- `[@jest/core]` Use `index.ts` instead of `jest.ts` as main export ([#12329](https://togithub.com/facebook/jest/pull/12329))
- `[jest-environment-jsdom]` \[**BREAKING**] Migrate to ESM ([#12340](https://togithub.com/facebook/jest/pull/12340))
- `[jest-environment-node]` \[**BREAKING**] Migrate to ESM ([#12340](https://togithub.com/facebook/jest/pull/12340))
- `[jest-haste-map]` Remove legacy `isRegExpSupported` ([#12676](https://togithub.com/facebook/jest/pull/12676))
- `[@jest/fake-timers]` Update `@sinonjs/fake_timers` to v9 ([#12357](https://togithub.com/facebook/jest/pull/12357))
- `[jest-jasmine2, jest-runtime]` \[**BREAKING**] Use `Symbol` to pass `jest.setTimeout` value instead of `jasmine` specific logic ([#12124](https://togithub.com/facebook/jest/pull/12124))
- `[jest-phabricator]` \[**BREAKING**] Migrate to ESM ([#12341](https://togithub.com/facebook/jest/pull/12341))
- `[jest-resolve]` \[**BREAKING**] Make `requireResolveFunction` argument mandatory ([#12353](https://togithub.com/facebook/jest/pull/12353))
- `[jest-runner]` \[**BREAKING**] Remove some type exports from `@jest/test-result` ([#12353](https://togithub.com/facebook/jest/pull/12353))
- `[jest-runner]` \[**BREAKING**] Second argument to constructor (`Context`) is not optional ([#12640](https://togithub.com/facebook/jest/pull/12640))
- `[jest-serializer]` \[**BREAKING**] Deprecate package in favour of using `v8` APIs directly ([#12391](https://togithub.com/facebook/jest/pull/12391))
- `[jest-snapshot]` \[**BREAKING**] Migrate to ESM ([#12342](https://togithub.com/facebook/jest/pull/12342))
- `[jest-transform]` Update `write-file-atomic` to v4 ([#12357](https://togithub.com/facebook/jest/pull/12357))
- `[jest-types]` \[**BREAKING**] Remove `Config.Glob` and `Config.Path` ([#12406](https://togithub.com/facebook/jest/pull/12406))
- `[jest]` Use `index.ts` instead of `jest.ts` as main export ([#12329](https://togithub.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://togithub.com/facebook/jest/pull/12320))
### [`v27.5.1`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2751)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.5.0...v27.5.1)
##### Features
- `[jest-config]` Support comments in JSON config file ([#12316](https://togithub.com/facebook/jest/pull/12316))
- `[pretty-format]` Expose `ConvertAnsi` plugin ([#12308](https://togithub.com/facebook/jest/pull/12308))
##### Fixes
- `[expect]` Add type definitions for asymmetric `closeTo` matcher ([#12304](https://togithub.com/facebook/jest/pull/12304))
- `[jest-cli]` Load binary via exported API ([#12315](https://togithub.com/facebook/jest/pull/12315))
- `[jest-config]` Replace `jsonlint` with `parse-json` ([#12316](https://togithub.com/facebook/jest/pull/12316))
- `[jest-repl]` Make module importable ([#12311](https://togithub.com/facebook/jest/pull/12311) & [#12315](https://togithub.com/facebook/jest/pull/12315))
##### Chore & Maintenance
- `[*]` Avoid anonymous default exports ([#12313](https://togithub.com/facebook/jest/pull/12313))
### [`v27.5.0`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2750)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.4.2...v27.5.0)
##### Features
- `[expect]` Add asymmetric matcher `expect.closeTo` ([#12243](https://togithub.com/facebook/jest/pull/12243))
- `[jest-mock]` Added `mockFn.mock.lastCall` to retrieve last argument ([#12285](https://togithub.com/facebook/jest/pull/12285))
##### Fixes
- `[expect]` Add a fix for `.toHaveProperty('')` ([#12251](https://togithub.com/facebook/jest/pull/12251))
- `[jest-each, @jest/globals]` Allow passing `ReadonlyArray` type of a table to `describe.each` and `test.each` ([#12297](https://togithub.com/facebook/jest/pull/12297))
- `[@jest/globals]` Add missing `options` argument to `jest.doMock` typing ([#12292](https://togithub.com/facebook/jest/pull/12292))
- `[jest-environment-node]` Add `atob` and `btoa` ([#12269](https://togithub.com/facebook/jest/pull/12269))
- `[jest-matcher-utils]` Correct diff for expected asymmetric matchers ([#12264](https://togithub.com/facebook/jest/pull/12264))
- `[jest-message-util]` Fix `.getTopFrame()` (and `toMatchInlineSnapshot()`) with `mjs` files ([#12277](https://togithub.com/facebook/jest/pull/12277))
##### Chore & Maintenance
- `[*]` Update `graceful-fs` to `^4.2.9` ([#11749](https://togithub.com/facebook/jest/pull/11749))
##### Performance
- `[jest-resolve]` perf: skip error creation on not found `stat` calls ([#11749](https://togithub.com/facebook/jest/pull/11749))
kulshekhar/ts-jest
### [`v28.0.1`](https://togithub.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2801-httpsgithubcomkulshekharts-jestcomparev2800v2801-2022-05-03)
[Compare Source](https://togithub.com/kulshekhar/ts-jest/compare/v28.0.0...v28.0.1)
##### Bug Fixes
- lower the required node version to ^16.10 ([#3495](https://togithub.com/kulshekhar/ts-jest/issues/3495)) ([3a4e48a](https://togithub.com/kulshekhar/ts-jest/commit/3a4e48afffa56f76efb98f48ad3e07a92731748e)), closes [#3494](https://togithub.com/kulshekhar/ts-jest/issues/3494)
### [`v28.0.0`](https://togithub.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2800-httpsgithubcomkulshekharts-jestcomparev2800-next3v2800-2022-05-02)
[Compare Source](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.4...v28.0.0)
##### Bug Fixes
- **legacy** invoke Babel `processAsync` for `babel-jest` in ESM mode instead of `process` ([#3430](https://togithub.com/kulshekhar/ts-jest/issues/3430)) ([0d7356c](https://togithub.com/kulshekhar/ts-jest/commit/0d7356cd767a924e5b57e3a93679eef4ca8fae51))
##### Features
- **presets:** add presets for legacy mode ([#3465](https://togithub.com/kulshekhar/ts-jest/issues/3465)) ([543b4ad](https://togithub.com/kulshekhar/ts-jest/commit/543b4ad729d20fbd46a2de5cd4660dc50b94ebe7))
- mark `ConfigSet` as legacy ([#3456](https://togithub.com/kulshekhar/ts-jest/issues/3456)) ([a986729](https://togithub.com/kulshekhar/ts-jest/commit/a98672977a679d1ed882605a3e71ed405432ffdc))
- mark `TsCompiler` and `TsJestCompiler` as legacy ([#3457](https://togithub.com/kulshekhar/ts-jest/issues/3457)) ([0f2fe30](https://togithub.com/kulshekhar/ts-jest/commit/0f2fe306762d8549bd29737becd4aed14a650427))
- remove `path-mapping` AST transformer ([#3455](https://togithub.com/kulshekhar/ts-jest/issues/3455)) ([f566869](https://togithub.com/kulshekhar/ts-jest/commit/f5668698f8fab78b3008d936aa5001f134f530e2))
- set Jest peer dependencies to v28 ([#3454](https://togithub.com/kulshekhar/ts-jest/issues/3454)) ([1e880ff](https://togithub.com/kulshekhar/ts-jest/commit/1e880fffe82bca231d1d23f6508f4ab4bc31e03e))
- **core:** drop support for Node.js 10 ([#3332](https://togithub.com/kulshekhar/ts-jest/issues/3332)) ([7a9aa61](https://togithub.com/kulshekhar/ts-jest/commit/7a9aa615ea0be881105676a17d5bd655afdc27f5))
- **core:** remove `mocked` testing util ([#3333](https://togithub.com/kulshekhar/ts-jest/issues/3333)) ([2d9017d](https://togithub.com/kulshekhar/ts-jest/commit/2d9017ddfea39f45aa991876b314d1dbe4a36aad))
- **core:** remove `ts-jest/utils` sub path export ([#3334](https://togithub.com/kulshekhar/ts-jest/issues/3334)) ([9f253d3](https://togithub.com/kulshekhar/ts-jest/commit/9f253d31dfcefa35ae00049d0d2dc4a3fe1b2f34))
- mark `TsJestTransformer` as legacy ([#3451](https://togithub.com/kulshekhar/ts-jest/issues/3451)) ([b090179](https://togithub.com/kulshekhar/ts-jest/commit/b0901799adc519959a954dba5e7b8fc8b97a9665))
##### BREAKING CHANGES
- `path-mapping` AST transformer is no longer shipped in `ts-jest` v28. Please use an alternative one like https://github.com/LeDDGroup/typescript-transform-paths instead.
- Any imports `ts-jest/dist/compiler/ts-compiler` should change to `ts-jest/dist/legacy/compiler/ts-compiler`
- Any imports `ts-jest/dist/compiler/ts-jest-compiler` should change to `ts-jest/dist/legacy/compiler/ts-jest-compiler`
- Any imports `ts-jest/dist/config/config-set` should change to `ts-jest/dist/legacy/config/config-set`
- Minimum support `TypeScript` version is now **4.3** since Jest 28 requires it.
- **Jest 28** is required.
- **core:** Any imports `ts-jest/utils` should be replaced with `ts-jest`.
- **core:** Starting from Jest 27.4, `mocked` has been integrated into Jest repo.
- **core:** Support for Node.js v10 has been removed as Jest drops support for it.
#### [27.1.4](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.3...v27.1.4) (2022-03-24)
##### Bug Fixes
- **compiler:** revert [#3194](https://togithub.com/kulshekhar/ts-jest/issues/3194) ([#3362](https://togithub.com/kulshekhar/ts-jest/issues/3362)) ([2b7dffe](https://togithub.com/kulshekhar/ts-jest/commit/2b7dffeac940f779922c43cefba3f741a3911b49)), closes [#3272](https://togithub.com/kulshekhar/ts-jest/issues/3272)
- remove `esbuild` from peer dependency ([#3360](https://togithub.com/kulshekhar/ts-jest/issues/3360)) ([8c8c1ca](https://togithub.com/kulshekhar/ts-jest/commit/8c8c1ca615b1edeedc9f4282557c28e82acee543)), closes [#3346](https://togithub.com/kulshekhar/ts-jest/issues/3346)
- support Babel config file with `.cjs` extension ([#3361](https://togithub.com/kulshekhar/ts-jest/issues/3361)) ([5e5ac4a](https://togithub.com/kulshekhar/ts-jest/commit/5e5ac4ac286bdcce157d0bdc31f3a57202fdbdfe)), closes [#3335](https://togithub.com/kulshekhar/ts-jest/issues/3335)
#### [27.1.3](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.2...v27.1.3) (2022-01-14)
##### Bug Fixes
- **compiler:** update memory cache for compiler using received file content ([#3194](https://togithub.com/kulshekhar/ts-jest/issues/3194)) ([e4d9541](https://togithub.com/kulshekhar/ts-jest/commit/e4d9541f262ca14cb25563c757c0f2345dbf5c51))
#### [27.1.2](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.1...v27.1.2) (2021-12-15)
##### Bug Fixes
- stimulate `esbuild` type to avoid importing `esbuild` directly ([#3147](https://togithub.com/kulshekhar/ts-jest/issues/3147)) ([9ace0a9](https://togithub.com/kulshekhar/ts-jest/commit/9ace0a9991da8bcb0f04a2e603f7601d6fb630e7))
#### [27.1.1](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.0...v27.1.1) (2021-12-07)
##### Bug Fixes
- bring back `afterProcess` hook ([#3132](https://togithub.com/kulshekhar/ts-jest/issues/3132)) ([2b6b86e](https://togithub.com/kulshekhar/ts-jest/commit/2b6b86e01dcd3d9d9906f24fe3db5cadb799146a))
- make `esbuild` as optional peer dependency ([#3129](https://togithub.com/kulshekhar/ts-jest/pull/3129)) ([20258de](https://togithub.com/kulshekhar/ts-jest/commit/20258de54c9c10f8d2495bda174f9865a3cebc91))
Configuration
📅 Schedule: 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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
27.4.2
->28.1.0
27.4.7
->28.1.0
27.1.4
->28.0.1
Release Notes
facebook/jest
### [`v28.1.0`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2810) [Compare Source](https://togithub.com/facebook/jest/compare/v28.0.2...v28.1.0) ##### Features - `[jest-circus]` Add `failing` test modifier that inverts the behaviour of tests ([#12610](https://togithub.com/facebook/jest/pull/12610)) - `[jest-environment-node, jest-environment-jsdom]` Allow specifying `customExportConditions` ([#12774](https://togithub.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://togithub.com/facebook/jest/pull/12807)) - `[@jest/expect-utils]` Fix deep equality of ImmutableJS Lists ([#12763](https://togithub.com/facebook/jest/pull/12763)) - `[jest-core]` Do not collect `SIGNREQUEST` as open handles ([#12789](https://togithub.com/facebook/jest/pull/12789)) ##### Chore & Maintenance - `[docs]` Specified documentation about `--filter` CLI docs ([#12799](https://togithub.com/facebook/jest/pull/12799)) - `[@jest-reporters]` Move helper functions from `utils.ts` into separate files ([#12782](https://togithub.com/facebook/jest/pull/12782)) - `[jest-resolve]` Replace `process.versions.pnp` type declaration with `@types/pnpapi` devDependency ([#12783](https://togithub.com/facebook/jest/pull/12783)) ### [`v28.0.2`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2802) [Compare Source](https://togithub.com/facebook/jest/compare/v28.0.1...v28.0.2) ##### Features - `[jest-worker]` Add `JestWorkerFarm` helper type ([#12753](https://togithub.com/facebook/jest/pull/12753)) ##### Fixes - `[*]` Lower Node 16 requirement to 16.10 from 16.13 due to a [Node bug](https://togithub.com/nodejs/node/issues/40014) that causes memory and performance issues ([#12754](https://togithub.com/facebook/jest/pull/12754)) ### [`v28.0.1`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2801) [Compare Source](https://togithub.com/facebook/jest/compare/v28.0.0...v28.0.1) ##### Features - `[jest-resolve]` Expose `ResolverOptions` type ([#12736](https://togithub.com/facebook/jest/pull/12736)) ##### Fixes - `[expect]` Add missing dependency `jest-util` ([#12744](https://togithub.com/facebook/jest/pull/12744)) - `[jest-circus]` Improve `test.concurrent` ([#12748](https://togithub.com/facebook/jest/pull/12748)) - `[jest-resolve]` Correctly throw an error if `jsdom` test environment is used, but not installed ([#12749](https://togithub.com/facebook/jest/pull/12749)) ##### Chore & Maintenance - `[jest-serializer]` Remove deprecated module from source tree ([#12735](https://togithub.com/facebook/jest/pull/12735)) ### [`v28.0.0`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2800) [Compare Source](https://togithub.com/facebook/jest/compare/v27.5.1...v28.0.0) ##### Features - `[babel-jest]` Export `createTransformer` function ([#12399](https://togithub.com/facebook/jest/pull/12399)) - `[expect]` Expose `AsymmetricMatchers`, `MatcherFunction` and `MatcherFunctionWithState` interfaces ([#12363](https://togithub.com/facebook/jest/pull/12363), [#12376](https://togithub.com/facebook/jest/pull/12376)) - `[jest-circus]` Support error logging before retry ([#12201](https://togithub.com/facebook/jest/pull/12201)) - `[jest-circus, jest-jasmine2]` Allowed classes and functions as `describe` and `it`/`test` names ([#12484](https://togithub.com/facebook/jest/pull/12484)) - `[jest-cli, jest-config]` \[**BREAKING**] Remove `testURL` config, use `testEnvironmentOptions.url` instead ([#10797](https://togithub.com/facebook/jest/pull/10797)) - `[jest-cli, jest-core]` Add `--shard` parameter for distributed parallel test execution ([#12546](https://togithub.com/facebook/jest/pull/12546)) - `[jest-cli]` \[**BREAKING**] Remove undocumented `--timers` option ([#12572](https://togithub.com/facebook/jest/pull/12572)) - `[jest-config]` \[**BREAKING**] Stop shipping `jest-environment-jsdom` by default ([#12354](https://togithub.com/facebook/jest/pull/12354)) - `[jest-config]` \[**BREAKING**] Stop shipping `jest-jasmine2` by default ([#12355](https://togithub.com/facebook/jest/pull/12355)) - `[jest-config, @jest/types]` Add `ci` to `GlobalConfig` ([#12378](https://togithub.com/facebook/jest/pull/12378)) - `[jest-config]` \[**BREAKING**] Rename `moduleLoader` to `runtime` ([#10817](https://togithub.com/facebook/jest/pull/10817)) - `[jest-config]` \[**BREAKING**] Rename `extraGlobals` to `sandboxInjectedGlobals` ([#10817](https://togithub.com/facebook/jest/pull/10817)) - `[jest-config]` \[**BREAKING**] Throw an error instead of showing a warning if multiple configs are used ([#12510](https://togithub.com/facebook/jest/pull/12510)) - `[jest-config]` \[**BREAKING**] Do not normalize long deprecated configuration options `preprocessorIgnorePatterns`, `scriptPreprocessor`, `setupTestFrameworkScriptFile` and `testPathDirs` ([#12701](https://togithub.com/facebook/jest/pull/12701)) - `[jest-cli, jest-core]` Add `--ignoreProjects` CLI argument to ignore test suites by project name ([#12620](https://togithub.com/facebook/jest/pull/12620)) - `[jest-core]` Pass project config to `globalSetup`/`globalTeardown` function as second argument ([#12440](https://togithub.com/facebook/jest/pull/12440)) - `[jest-core]` Stabilize test runners with event emitters ([#12641](https://togithub.com/facebook/jest/pull/12641)) - `[jest-core, jest-watcher]` \[**BREAKING**] Move `TestWatcher` class to `jest-watcher` package ([#12652](https://togithub.com/facebook/jest/pull/12652)) - `[jest-core]` Allow using Summary Reporter as stand-alone reporter ([#12687](https://togithub.com/facebook/jest/pull/12687)) - `[jest-environment-jsdom]` \[**BREAKING**] Upgrade jsdom to 19.0.0 ([#12290](https://togithub.com/facebook/jest/pull/12290)) - `[jest-environment-jsdom]` \[**BREAKING**] Add default `browser` condition to `exportConditions` for `jsdom` environment ([#11924](https://togithub.com/facebook/jest/pull/11924)) - `[jest-environment-jsdom]` \[**BREAKING**] Pass global config to Jest environment constructor for `jsdom` environment ([#12461](https://togithub.com/facebook/jest/pull/12461)) - `[jest-environment-jsdom]` \[**BREAKING**] Second argument `context` to constructor is mandatory ([#12469](https://togithub.com/facebook/jest/pull/12469)) - `[jest-environment-node]` \[**BREAKING**] Add default `node` and `node-addon` conditions to `exportConditions` for `node` environment ([#11924](https://togithub.com/facebook/jest/pull/11924)) - `[jest-environment-node]` \[**BREAKING**] Pass global config to Jest environment constructor for `node` environment ([#12461](https://togithub.com/facebook/jest/pull/12461)) - `[jest-environment-node]` \[**BREAKING**] Second argument `context` to constructor is mandatory ([#12469](https://togithub.com/facebook/jest/pull/12469)) - `[jest-environment-node]` Add all available globals to test globals, not just explicit ones ([#12642](https://togithub.com/facebook/jest/pull/12642), [#12696](https://togithub.com/facebook/jest/pull/12696)) - `[@jest/expect]` New module which extends `expect` with `jest-snapshot` matchers ([#12404](https://togithub.com/facebook/jest/pull/12404), [#12410](https://togithub.com/facebook/jest/pull/12410), [#12418](https://togithub.com/facebook/jest/pull/12418)) - `[@jest/expect-utils]` New module exporting utils for `expect` ([#12323](https://togithub.com/facebook/jest/pull/12323)) - `[@jest/fake-timers]` \[**BREAKING**] Rename `timers` configuration option to `fakeTimers` ([#12572](https://togithub.com/facebook/jest/pull/12572)) - `[@jest/fake-timers]` \[**BREAKING**] Allow `jest.useFakeTimers()` and `projectConfig.fakeTimers` to take an options bag ([#12572](https://togithub.com/facebook/jest/pull/12572)) - `[jest-haste-map]` \[**BREAKING**] `HasteMap.create` now returns a promise ([#12008](https://togithub.com/facebook/jest/pull/12008)) - `[jest-haste-map]` Add support for `dependencyExtractor` written in ESM ([#12008](https://togithub.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://togithub.com/facebook/jest/pull/12435), [#12489](https://togithub.com/facebook/jest/pull/12489)) - `[jest-mock]` Improve `isMockFunction` to infer types of passed function ([#12442](https://togithub.com/facebook/jest/pull/12442)) - `[jest-mock]` \[**BREAKING**] Improve the usage of `jest.fn` generic type argument ([#12489](https://togithub.com/facebook/jest/pull/12489)) - `[jest-mock]` Add support for auto-mocking async generator functions ([#11080](https://togithub.com/facebook/jest/pull/11080)) - `[jest-mock]` Add `contexts` member to mock functions ([#12601](https://togithub.com/facebook/jest/pull/12601)) - `[@jest/reporters]` Add GitHub Actions reporter ([#11320](https://togithub.com/facebook/jest/pull/11320), [#12658](https://togithub.com/facebook/jest/pull/12658)) - `[@jest/reporters]` Pass `reporterContext` to custom reporter constructors as third argument ([#12657](https://togithub.com/facebook/jest/pull/12657)) - `[jest-resolve]` \[**BREAKING**] Add support for `package.json` `exports` ([#11961](https://togithub.com/facebook/jest/pull/11961), [#12373](https://togithub.com/facebook/jest/pull/12373)) - `[jest-resolve]` Support package self-reference ([#12682](https://togithub.com/facebook/jest/pull/12682)) - `[jest-resolve, jest-runtime]` Add support for `data:` URI import and mock ([#12392](https://togithub.com/facebook/jest/pull/12392)) - `[jest-resolve, jest-runtime]` Add support for async resolver ([#11540](https://togithub.com/facebook/jest/pull/11540)) - `[jest-resolve]` \[**BREAKING**] Remove `browser?: boolean` from resolver options, `conditions: ['browser']` should be used instead ([#12707](https://togithub.com/facebook/jest/pull/12707)) - `[jest-resolve]` Expose `JestResolver`, `AsyncResolver`, `SyncResolver`, `PackageFilter`, `PathFilter` and `PackageJSON` types ([#12707](https://togithub.com/facebook/jest/pull/12707), ([#12712](https://togithub.com/facebook/jest/pull/12712)) - `[jest-runner]` Allow `setupFiles` module to export an async function ([#12042](https://togithub.com/facebook/jest/pull/12042)) - `[jest-runner]` Allow passing `testEnvironmentOptions` via docblocks ([#12470](https://togithub.com/facebook/jest/pull/12470)) - `[jest-runner]` Expose `CallbackTestRunner`, `EmittingTestRunner` abstract classes and `CallbackTestRunnerInterface`, `EmittingTestRunnerInterface` to help typing third party runners ([#12646](https://togithub.com/facebook/jest/pull/12646), [#12715](https://togithub.com/facebook/jest/pull/12715)) - `[jest-runner]` Lock version of `source-map-support` to 0.5.13 ([#12720](https://togithub.com/facebook/jest/pull/12720)) - `[jest-runtime]` \[**BREAKING**] `Runtime.createHasteMap` now returns a promise ([#12008](https://togithub.com/facebook/jest/pull/12008)) - `[jest-runtime]` Calling `jest.resetModules` function will clear FS and transform cache ([#12531](https://togithub.com/facebook/jest/pull/12531)) - `[jest-runtime]` \[**BREAKING**] Remove `Context` type export, it must be imported from `@jest/test-result` ([#12685](https://togithub.com/facebook/jest/pull/12685)) - `[jest-runtime]` Add `import.meta.jest` ([#12698](https://togithub.com/facebook/jest/pull/12698)) - `[@jest/schemas]` New module for JSON schemas for Jest's config ([#12384](https://togithub.com/facebook/jest/pull/12384)) - `[@jest/source-map]` Migrate from `source-map` to `@jridgewell/trace-mapping` ([#12692](https://togithub.com/facebook/jest/pull/12692)) - `[jest-transform]` \[**BREAKING**] Make it required for `process()` and `processAsync()` methods to always return structured data ([#12638](https://togithub.com/facebook/jest/pull/12638)) - `[jest-test-result]` Add duration property to JSON test output ([#12518](https://togithub.com/facebook/jest/pull/12518)) - `[jest-watcher]` \[**BREAKING**] Make `PatternPrompt` class to take `entityName` as third constructor parameter instead of `this._entityName` ([#12591](https://togithub.com/facebook/jest/pull/12591)) - `[jest-worker]` \[**BREAKING**] Allow only absolute `workerPath` ([#12343](https://togithub.com/facebook/jest/pull/12343)) - `[jest-worker]` \[**BREAKING**] Default to advanced serialization when using child process workers ([#10983](https://togithub.com/facebook/jest/pull/10983)) - `[pretty-format]` New `maxWidth` parameter ([#12402](https://togithub.com/facebook/jest/pull/12402)) ##### Fixes - `[*]` Use `sha256` instead of `md5` as hashing algortihm for compatibility with FIPS systems ([#12722](https://togithub.com/facebook/jest/pull/12722)) - `[babel-jest]` \[**BREAKING**] Pass `rootDir` as `root` in Babel's options ([#12689](https://togithub.com/facebook/jest/pull/12689)) - `[expect]` Move typings of `.not`, `.rejects` and `.resolves` modifiers outside of `Matchers` interface ([#12346](https://togithub.com/facebook/jest/pull/12346)) - `[expect]` Throw useful error if `expect.extend` is called with invalid matchers ([#12488](https://togithub.com/facebook/jest/pull/12488)) - `[expect]` Fix `iterableEquality` ignores other properties ([#8359](https://togithub.com/facebook/jest/pull/8359)) - `[expect]` Fix print for the `closeTo` matcher ([#12626](https://togithub.com/facebook/jest/pull/12626)) - `[jest-changed-files]` Improve `changedFilesWithAncestor` pattern for Mercurial SCM ([#12322](https://togithub.com/facebook/jest/pull/12322)) - `[jest-circus, @jest/types]` Disallow undefined value in `TestContext` type ([#12507](https://togithub.com/facebook/jest/pull/12507)) - `[jest-config]` Correctly detect CI environment and update snapshots accordingly ([#12378](https://togithub.com/facebook/jest/pull/12378)) - `[jest-config]` Pass `moduleTypes` to `ts-node` to enforce CJS when transpiling ([#12397](https://togithub.com/facebook/jest/pull/12397)) - `[jest-config]` \[**BREAKING**] Add `mjs` and `cjs` to default `moduleFileExtensions` config ([#12578](https://togithub.com/facebook/jest/pull/12578)) - `[jest-config, jest-haste-map]` Allow searching for tests in `node_modules` by exposing `retainAllFiles` ([#11084](https://togithub.com/facebook/jest/pull/11084)) - `[jest-core]` \[**BREAKING**] Exit with status `1` if no tests are found with `--findRelatedTests` flag ([#12487](https://togithub.com/facebook/jest/pull/12487)) - `[jest-core]` Do not report unref-ed subprocesses as open handles ([#12705](https://togithub.com/facebook/jest/pull/12705)) - `[jest-each]` `%#` is not replaced with index of the test case ([#12517](https://togithub.com/facebook/jest/pull/12517)) - `[jest-each]` Fixes error message with incorrect count of missing arguments ([#12464](https://togithub.com/facebook/jest/pull/12464)) - `[jest-environment-jsdom]` Make `jsdom` accessible to extending environments again ([#12232](https://togithub.com/facebook/jest/pull/12232)) - `[jest-environment-jsdom]` Log JSDOM errors more cleanly ([#12386](https://togithub.com/facebook/jest/pull/12386)) - `[jest-environment-node]` Add `MessageChannel`, `MessageEvent` to globals ([#12553](https://togithub.com/facebook/jest/pull/12553)) - `[jest-environment-node]` Add `structuredClone` to globals ([#12631](https://togithub.com/facebook/jest/pull/12631)) - `[@jest/expect-utils]` \[**BREAKING**] Fix false positives when looking for `undefined` prop ([#8923](https://togithub.com/facebook/jest/pull/8923)) - `[jest-haste-map]` Don't use partial results if file crawl errors ([#12420](https://togithub.com/facebook/jest/pull/12420)) - `[jest-haste-map]` Make watchman existence check lazy+async ([#12675](https://togithub.com/facebook/jest/pull/12675)) - `[jest-jasmine2, jest-types]` \[**BREAKING**] Move all `jasmine` specific types from `@jest/types` to its own package ([#12125](https://togithub.com/facebook/jest/pull/12125)) - `[jest-jasmine2]` Do not set `duration` to `0` for skipped tests ([#12518](https://togithub.com/facebook/jest/pull/12518)) - `[jest-matcher-utils]` Pass maxWidth to `pretty-format` to avoid printing every element in arrays by default ([#12402](https://togithub.com/facebook/jest/pull/12402)) - `[jest-mock]` Fix function overloads for `spyOn` to allow more correct type inference in complex object ([#12442](https://togithub.com/facebook/jest/pull/12442)) - `[jest-mock]` Handle overridden `Function.name` property ([#12674](https://togithub.com/facebook/jest/pull/12674)) - `[@jest/reporters]` Notifications generated by the `--notify` flag are no longer persistent in GNOME Shell. ([#11733](https://togithub.com/facebook/jest/pull/11733)) - `[@jest/reporters]` Move missing icon file which is needed for `NotifyReporter` class. ([#12593](https://togithub.com/facebook/jest/pull/12593)) - `[@jest/reporters]` Update `v8-to-istanbul` ([#12697](https://togithub.com/facebook/jest/pull/12697)) - `[jest-resolver]` Call custom resolver with core node.js modules ([#12654](https://togithub.com/facebook/jest/pull/12654)) - `[jest-runner]` Correctly resolve `source-map-support` ([#12706](https://togithub.com/facebook/jest/pull/12706)) - `[jest-worker]` Fix `Farm` execution results memory leak ([#12497](https://togithub.com/facebook/jest/pull/12497)) ##### Chore & Maintenance - `[*]` \[**BREAKING**] Drop support for Node v10 and v15 and target first LTS `16.13.0` ([#12220](https://togithub.com/facebook/jest/pull/12220)) - `[*]` \[**BREAKING**] Drop support for `typescript@3.8`, minimum version is now `4.3` ([#11142](https://togithub.com/facebook/jest/pull/11142), [#12648](https://togithub.com/facebook/jest/pull/12648)) - `[*]` Bundle all `.d.ts` files into a single `index.d.ts` per module ([#12345](https://togithub.com/facebook/jest/pull/12345)) - `[*]` Use `globalThis` instead of `global` ([#12447](https://togithub.com/facebook/jest/pull/12447)) - `[babel-jest]` \[**BREAKING**] Only export `createTransformer` ([#12407](https://togithub.com/facebook/jest/pull/12407)) - `[docs]` Add note about not mixing `done()` with Promises ([#11077](https://togithub.com/facebook/jest/pull/11077)) - `[docs, examples]` Update React examples to match with the new React guidelines for code examples ([#12217](https://togithub.com/facebook/jest/pull/12217)) - `[docs]` Add clarity for module factory hoisting limitations ([#12453](https://togithub.com/facebook/jest/pull/12453)) - `[docs]` Add more information about how code transformers work ([#12407](https://togithub.com/facebook/jest/pull/12407)) - `[docs]` Add upgrading guide ([#12633](https://togithub.com/facebook/jest/pull/12633)) - `[expect]` \[**BREAKING**] Remove support for importing `build/utils` ([#12323](https://togithub.com/facebook/jest/pull/12323)) - `[expect]` \[**BREAKING**] Migrate to ESM ([#12344](https://togithub.com/facebook/jest/pull/12344)) - `[expect]` \[**BREAKING**] Snapshot matcher types are moved to `@jest/expect` ([#12404](https://togithub.com/facebook/jest/pull/12404)) - `[jest-cli]` Update `yargs` to v17 ([#12357](https://togithub.com/facebook/jest/pull/12357)) - `[jest-config]` \[**BREAKING**] Remove `getTestEnvironment` export ([#12353](https://togithub.com/facebook/jest/pull/12353)) - `[jest-config]` \[**BREAKING**] Rename config option `name` to `id` ([#11981](https://togithub.com/facebook/jest/pull/11981)) - `[jest-create-cache-key-function]` Added README.md file with basic usage instructions ([#12492](https://togithub.com/facebook/jest/pull/12492)) - `[@jest/core]` Use `index.ts` instead of `jest.ts` as main export ([#12329](https://togithub.com/facebook/jest/pull/12329)) - `[jest-environment-jsdom]` \[**BREAKING**] Migrate to ESM ([#12340](https://togithub.com/facebook/jest/pull/12340)) - `[jest-environment-node]` \[**BREAKING**] Migrate to ESM ([#12340](https://togithub.com/facebook/jest/pull/12340)) - `[jest-haste-map]` Remove legacy `isRegExpSupported` ([#12676](https://togithub.com/facebook/jest/pull/12676)) - `[@jest/fake-timers]` Update `@sinonjs/fake_timers` to v9 ([#12357](https://togithub.com/facebook/jest/pull/12357)) - `[jest-jasmine2, jest-runtime]` \[**BREAKING**] Use `Symbol` to pass `jest.setTimeout` value instead of `jasmine` specific logic ([#12124](https://togithub.com/facebook/jest/pull/12124)) - `[jest-phabricator]` \[**BREAKING**] Migrate to ESM ([#12341](https://togithub.com/facebook/jest/pull/12341)) - `[jest-resolve]` \[**BREAKING**] Make `requireResolveFunction` argument mandatory ([#12353](https://togithub.com/facebook/jest/pull/12353)) - `[jest-runner]` \[**BREAKING**] Remove some type exports from `@jest/test-result` ([#12353](https://togithub.com/facebook/jest/pull/12353)) - `[jest-runner]` \[**BREAKING**] Second argument to constructor (`Context`) is not optional ([#12640](https://togithub.com/facebook/jest/pull/12640)) - `[jest-serializer]` \[**BREAKING**] Deprecate package in favour of using `v8` APIs directly ([#12391](https://togithub.com/facebook/jest/pull/12391)) - `[jest-snapshot]` \[**BREAKING**] Migrate to ESM ([#12342](https://togithub.com/facebook/jest/pull/12342)) - `[jest-transform]` Update `write-file-atomic` to v4 ([#12357](https://togithub.com/facebook/jest/pull/12357)) - `[jest-types]` \[**BREAKING**] Remove `Config.Glob` and `Config.Path` ([#12406](https://togithub.com/facebook/jest/pull/12406)) - `[jest]` Use `index.ts` instead of `jest.ts` as main export ([#12329](https://togithub.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://togithub.com/facebook/jest/pull/12320)) ### [`v27.5.1`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2751) [Compare Source](https://togithub.com/facebook/jest/compare/v27.5.0...v27.5.1) ##### Features - `[jest-config]` Support comments in JSON config file ([#12316](https://togithub.com/facebook/jest/pull/12316)) - `[pretty-format]` Expose `ConvertAnsi` plugin ([#12308](https://togithub.com/facebook/jest/pull/12308)) ##### Fixes - `[expect]` Add type definitions for asymmetric `closeTo` matcher ([#12304](https://togithub.com/facebook/jest/pull/12304)) - `[jest-cli]` Load binary via exported API ([#12315](https://togithub.com/facebook/jest/pull/12315)) - `[jest-config]` Replace `jsonlint` with `parse-json` ([#12316](https://togithub.com/facebook/jest/pull/12316)) - `[jest-repl]` Make module importable ([#12311](https://togithub.com/facebook/jest/pull/12311) & [#12315](https://togithub.com/facebook/jest/pull/12315)) ##### Chore & Maintenance - `[*]` Avoid anonymous default exports ([#12313](https://togithub.com/facebook/jest/pull/12313)) ### [`v27.5.0`](https://togithub.com/facebook/jest/blob/HEAD/CHANGELOG.md#2750) [Compare Source](https://togithub.com/facebook/jest/compare/v27.4.2...v27.5.0) ##### Features - `[expect]` Add asymmetric matcher `expect.closeTo` ([#12243](https://togithub.com/facebook/jest/pull/12243)) - `[jest-mock]` Added `mockFn.mock.lastCall` to retrieve last argument ([#12285](https://togithub.com/facebook/jest/pull/12285)) ##### Fixes - `[expect]` Add a fix for `.toHaveProperty('')` ([#12251](https://togithub.com/facebook/jest/pull/12251)) - `[jest-each, @jest/globals]` Allow passing `ReadonlyArray` type of a table to `describe.each` and `test.each` ([#12297](https://togithub.com/facebook/jest/pull/12297)) - `[@jest/globals]` Add missing `options` argument to `jest.doMock` typing ([#12292](https://togithub.com/facebook/jest/pull/12292)) - `[jest-environment-node]` Add `atob` and `btoa` ([#12269](https://togithub.com/facebook/jest/pull/12269)) - `[jest-matcher-utils]` Correct diff for expected asymmetric matchers ([#12264](https://togithub.com/facebook/jest/pull/12264)) - `[jest-message-util]` Fix `.getTopFrame()` (and `toMatchInlineSnapshot()`) with `mjs` files ([#12277](https://togithub.com/facebook/jest/pull/12277)) ##### Chore & Maintenance - `[*]` Update `graceful-fs` to `^4.2.9` ([#11749](https://togithub.com/facebook/jest/pull/11749)) ##### Performance - `[jest-resolve]` perf: skip error creation on not found `stat` calls ([#11749](https://togithub.com/facebook/jest/pull/11749))kulshekhar/ts-jest
### [`v28.0.1`](https://togithub.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2801-httpsgithubcomkulshekharts-jestcomparev2800v2801-2022-05-03) [Compare Source](https://togithub.com/kulshekhar/ts-jest/compare/v28.0.0...v28.0.1) ##### Bug Fixes - lower the required node version to ^16.10 ([#3495](https://togithub.com/kulshekhar/ts-jest/issues/3495)) ([3a4e48a](https://togithub.com/kulshekhar/ts-jest/commit/3a4e48afffa56f76efb98f48ad3e07a92731748e)), closes [#3494](https://togithub.com/kulshekhar/ts-jest/issues/3494) ### [`v28.0.0`](https://togithub.com/kulshekhar/ts-jest/blob/HEAD/CHANGELOG.md#2800-httpsgithubcomkulshekharts-jestcomparev2800-next3v2800-2022-05-02) [Compare Source](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.4...v28.0.0) ##### Bug Fixes - **legacy** invoke Babel `processAsync` for `babel-jest` in ESM mode instead of `process` ([#3430](https://togithub.com/kulshekhar/ts-jest/issues/3430)) ([0d7356c](https://togithub.com/kulshekhar/ts-jest/commit/0d7356cd767a924e5b57e3a93679eef4ca8fae51)) ##### Features - **presets:** add presets for legacy mode ([#3465](https://togithub.com/kulshekhar/ts-jest/issues/3465)) ([543b4ad](https://togithub.com/kulshekhar/ts-jest/commit/543b4ad729d20fbd46a2de5cd4660dc50b94ebe7)) - mark `ConfigSet` as legacy ([#3456](https://togithub.com/kulshekhar/ts-jest/issues/3456)) ([a986729](https://togithub.com/kulshekhar/ts-jest/commit/a98672977a679d1ed882605a3e71ed405432ffdc)) - mark `TsCompiler` and `TsJestCompiler` as legacy ([#3457](https://togithub.com/kulshekhar/ts-jest/issues/3457)) ([0f2fe30](https://togithub.com/kulshekhar/ts-jest/commit/0f2fe306762d8549bd29737becd4aed14a650427)) - remove `path-mapping` AST transformer ([#3455](https://togithub.com/kulshekhar/ts-jest/issues/3455)) ([f566869](https://togithub.com/kulshekhar/ts-jest/commit/f5668698f8fab78b3008d936aa5001f134f530e2)) - set Jest peer dependencies to v28 ([#3454](https://togithub.com/kulshekhar/ts-jest/issues/3454)) ([1e880ff](https://togithub.com/kulshekhar/ts-jest/commit/1e880fffe82bca231d1d23f6508f4ab4bc31e03e)) - **core:** drop support for Node.js 10 ([#3332](https://togithub.com/kulshekhar/ts-jest/issues/3332)) ([7a9aa61](https://togithub.com/kulshekhar/ts-jest/commit/7a9aa615ea0be881105676a17d5bd655afdc27f5)) - **core:** remove `mocked` testing util ([#3333](https://togithub.com/kulshekhar/ts-jest/issues/3333)) ([2d9017d](https://togithub.com/kulshekhar/ts-jest/commit/2d9017ddfea39f45aa991876b314d1dbe4a36aad)) - **core:** remove `ts-jest/utils` sub path export ([#3334](https://togithub.com/kulshekhar/ts-jest/issues/3334)) ([9f253d3](https://togithub.com/kulshekhar/ts-jest/commit/9f253d31dfcefa35ae00049d0d2dc4a3fe1b2f34)) - mark `TsJestTransformer` as legacy ([#3451](https://togithub.com/kulshekhar/ts-jest/issues/3451)) ([b090179](https://togithub.com/kulshekhar/ts-jest/commit/b0901799adc519959a954dba5e7b8fc8b97a9665)) ##### BREAKING CHANGES - `path-mapping` AST transformer is no longer shipped in `ts-jest` v28. Please use an alternative one like https://github.com/LeDDGroup/typescript-transform-paths instead. - Any imports `ts-jest/dist/compiler/ts-compiler` should change to `ts-jest/dist/legacy/compiler/ts-compiler` - Any imports `ts-jest/dist/compiler/ts-jest-compiler` should change to `ts-jest/dist/legacy/compiler/ts-jest-compiler` - Any imports `ts-jest/dist/config/config-set` should change to `ts-jest/dist/legacy/config/config-set` - Minimum support `TypeScript` version is now **4.3** since Jest 28 requires it. - **Jest 28** is required. - **core:** Any imports `ts-jest/utils` should be replaced with `ts-jest`. - **core:** Starting from Jest 27.4, `mocked` has been integrated into Jest repo. - **core:** Support for Node.js v10 has been removed as Jest drops support for it. #### [27.1.4](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.3...v27.1.4) (2022-03-24) ##### Bug Fixes - **compiler:** revert [#3194](https://togithub.com/kulshekhar/ts-jest/issues/3194) ([#3362](https://togithub.com/kulshekhar/ts-jest/issues/3362)) ([2b7dffe](https://togithub.com/kulshekhar/ts-jest/commit/2b7dffeac940f779922c43cefba3f741a3911b49)), closes [#3272](https://togithub.com/kulshekhar/ts-jest/issues/3272) - remove `esbuild` from peer dependency ([#3360](https://togithub.com/kulshekhar/ts-jest/issues/3360)) ([8c8c1ca](https://togithub.com/kulshekhar/ts-jest/commit/8c8c1ca615b1edeedc9f4282557c28e82acee543)), closes [#3346](https://togithub.com/kulshekhar/ts-jest/issues/3346) - support Babel config file with `.cjs` extension ([#3361](https://togithub.com/kulshekhar/ts-jest/issues/3361)) ([5e5ac4a](https://togithub.com/kulshekhar/ts-jest/commit/5e5ac4ac286bdcce157d0bdc31f3a57202fdbdfe)), closes [#3335](https://togithub.com/kulshekhar/ts-jest/issues/3335) #### [27.1.3](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.2...v27.1.3) (2022-01-14) ##### Bug Fixes - **compiler:** update memory cache for compiler using received file content ([#3194](https://togithub.com/kulshekhar/ts-jest/issues/3194)) ([e4d9541](https://togithub.com/kulshekhar/ts-jest/commit/e4d9541f262ca14cb25563c757c0f2345dbf5c51)) #### [27.1.2](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.1...v27.1.2) (2021-12-15) ##### Bug Fixes - stimulate `esbuild` type to avoid importing `esbuild` directly ([#3147](https://togithub.com/kulshekhar/ts-jest/issues/3147)) ([9ace0a9](https://togithub.com/kulshekhar/ts-jest/commit/9ace0a9991da8bcb0f04a2e603f7601d6fb630e7)) #### [27.1.1](https://togithub.com/kulshekhar/ts-jest/compare/v27.1.0...v27.1.1) (2021-12-07) ##### Bug Fixes - bring back `afterProcess` hook ([#3132](https://togithub.com/kulshekhar/ts-jest/issues/3132)) ([2b6b86e](https://togithub.com/kulshekhar/ts-jest/commit/2b6b86e01dcd3d9d9906f24fe3db5cadb799146a)) - make `esbuild` as optional peer dependency ([#3129](https://togithub.com/kulshekhar/ts-jest/pull/3129)) ([20258de](https://togithub.com/kulshekhar/ts-jest/commit/20258de54c9c10f8d2495bda174f9865a3cebc91))Configuration
📅 Schedule: 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.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by WhiteSource Renovate. View repository job log here.