facebook/jest
### [`v27.1.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2710)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.0.6...v27.1.0)
##### Features
- `[jest-haste-map]` Use watchman suffix-set option for faster file indexing. ([#11784](https://togithub.com/facebook/jest/pull/11784))
- `[jest-cli]` Adds a new config options `snapshotFormat` which offers a way to override any of the formatting settings which come with [pretty-format](https://www.npmjs.com/package/pretty-format#usage-with-options). ([#11654](https://togithub.com/facebook/jest/pull/11654))
- `[jest-reporters]` Expose the `getSummary` util ([#11695](https://togithub.com/facebook/jest/pull/11695)).
- `[jest-resolver]` Support `node:` prefix when importing Node core modules ([#11331](https://togithub.com/facebook/jest/pull/11331))
##### Fixes
- `[jest-each]` Relaxed the validation to allow multibyte characters in headings ([#11575](https://togithub.com/facebook/jest/pull/11575))
- `[jest-environment-jsdom]` Add support for `userAgent` option ([#11773](https://togithub.com/facebook/jest/pull/11773))
- `[jest-environment-node]` Add `Event` and `EventTarget` to node global environment. ([#11727](https://togithub.com/facebook/jest/pull/11727))
- `[jest-mock]` Fix `spyOn` to use `Object.prototype.hasOwnProperty` ([#11721](https://togithub.com/facebook/jest/pull/11721))
- `[jest-resolver]` Add dependency on `jest-haste-map` ([#11759](https://togithub.com/facebook/jest/pull/11759))
- `[jest-types]` Compat with `@types/node` v16 ([#11645](https://togithub.com/facebook/jest/pull/11645))
##### Chore & Maintenance
- `[docs]` Correct `expects.assertions` documentation by adding async/await for asynchronous function.
### [`v27.0.6`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2706)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.0.5...v27.0.6)
##### Fixes
- `[*]` Publish all modules to include the build change in ([#11569](https://togithub.com/facebook/jest/pull/11569))
### [`v27.0.5`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2705)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.0.4...v27.0.5)
##### Features
- `[@jest/fake-timers]` Flush callbacks scheduled with `requestAnimationFrame` every 16ms when using legacy timers. ([#11523](https://togithub.com/facebook/jest/pull/11567))
- `[pretty-format]` Use `globalThis` (with polyfill if required) to bring support for esbuild's browser bundling mode ([#11569](https://togithub.com/facebook/jest/pull/11569))
##### Fixes
- `[jest-core]` Support special characters like `@`, `+` and `()` on Windows with `--findRelatedTests` ([#11548](https://togithub.com/facebook/jest/pull/11548))
- `[@jest/fake-timers]` Do not add `setImmediate` and `clearImmediate` if they do not exist in the global environment ([#11599](https://togithub.com/facebook/jest/pull/11599))
- `[@jest/reporters]` Allow `node-notifier@10` as peer dependency ([#11523](https://togithub.com/facebook/jest/pull/11523))
- `[@jest/reporters]` Update `v8-to-istanbul` ([#11523](https://togithub.com/facebook/jest/pull/11523))
### [`v27.0.4`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2704)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.0.3...v27.0.4)
##### Fixes
- `[jest-config, jest-resolve]` Pass in `require.resolve` to resolvers to resolve from correct base ([#11493](https://togithub.com/facebook/jest/pull/11493))
### [`v27.0.3`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2703)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.0.2...v27.0.3)
##### Fixes
- `[jest-config]` `require.resolve` on default test sequencer and test environment ([#11482](https://togithub.com/facebook/jest/pull/11482))
- `[jest-mock]` Fixed `fn` and `spyOn` exports ([#11480](https://togithub.com/facebook/jest/pull/11480))
### [`v27.0.2`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2702)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.0.1...v27.0.2)
##### Features
- `[jest-circus]` Add some APIs to make it easier to build your own test runner
- `[jest-reporters]` Expose the `getResultHeader` util ([#11460](https://togithub.com/facebook/jest/pull/11460))
- `[jest-resolver]` Export `resolve*` utils for different Jest modules ([#11466](https://togithub.com/facebook/jest/pull/11466))
- `[@jest/test-result]` Export `Test`, `TestEvents` and `TestFileEvent` ([#11466](https://togithub.com/facebook/jest/pull/11466))
##### Fixes
- `[jest-circus]` Add missing `slash` dependency ([#11465](https://togithub.com/facebook/jest/pull/11465))
- `[jest-circus, @jest/test-sequencer]` Remove dependency on `jest-runner` ([#11466](https://togithub.com/facebook/jest/pull/11466))
- `[jest-config]` Resolve `config.runner` to absolute path ([#11465](https://togithub.com/facebook/jest/pull/11465))
- `[jest-config]` Make sure to support functions as config ([#11475](https://togithub.com/facebook/jest/pull/11475))
- `[jest-core]` Do not warn about `DNSCHANNEL` handles when using the `--detectOpenHandles` option ([#11470](https://togithub.com/facebook/jest/pull/11470))
- `[jest-runner]` Remove dependency on `jest-config` ([#11466](https://togithub.com/facebook/jest/pull/11466))
- `[jest-worker]` Loosen engine requirement to `>= 10.13.0` ([#11451](https://togithub.com/facebook/jest/pull/11451))
### [`v27.0.1`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2701)
[Compare Source](https://togithub.com/facebook/jest/compare/v27.0.0...v27.0.1)
##### Fixes
- `[jest-environment-jsdom]` Bump version of JSDOM to avoid deprecated `request` package ([#11442](https://togithub.com/facebook/jest/pull/11442))
### [`v27.0.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2700)
[Compare Source](https://togithub.com/facebook/jest/compare/v26.6.3...v27.0.0)
##### Features
- `[babel-jest]` Add async transformation ([#11192](https://togithub.com/facebook/jest/pull/11192))
- `[jest-changed-files]` Use '--' to separate paths from revisions ([#11160](https://togithub.com/facebook/jest/pull/11160))
- `[jest-circus]` \[**BREAKING**] Fail tests when multiple `done()` calls are made ([#10624](https://togithub.com/facebook/jest/pull/10624))
- `[jest-circus, jest-jasmine2]` \[**BREAKING**] Fail the test instead of just warning when describe returns a value ([#10947](https://togithub.com/facebook/jest/pull/10947))
- `[jest-config]` \[**BREAKING**] Default to Node testing environment instead of browser (JSDOM) ([#9874](https://togithub.com/facebook/jest/pull/9874))
- `[jest-config]` \[**BREAKING**] Use `jest-circus` as default test runner ([#10686](https://togithub.com/facebook/jest/pull/10686))
- `[jest-config]` Add support for `preset` written in ESM ([#11200](https://togithub.com/facebook/jest/pull/11200))
- `[jest-config, jest-runtime]` Support ESM for files other than `.js` and `.mjs` ([#10823](https://togithub.com/facebook/jest/pull/10823))
- `[jest-config, jest-runtime]` \[**BREAKING**] Use "modern" implementation as default for fake timers ([#10874](https://togithub.com/facebook/jest/pull/10874) & [#11197](https://togithub.com/facebook/jest/pull/11197))
- `[jest-config` Allow passing `forceNodeFilesystemAPI` through to `jest-haste-map` ([#11264](https://togithub.com/facebook/jest/pull/11264))
- `[jest-config, jest-haste-map, jest-resolve, jest-runner, jest-runtime, jest-test-sequencer, jest-transform, jest-types]` \[**BREAKING**] Add custom HasteMap class implementation config option ([#11107](https://togithub.com/facebook/jest/pull/11107))
- `[jest-core]` make `TestWatcher` extend `emittery` ([#10324](https://togithub.com/facebook/jest/pull/10324))
- `[jest-core]` Run failed tests interactively the same way we do with snapshots ([#10858](https://togithub.com/facebook/jest/pull/10858))
- `[jest-core]` more `TestSequencer` methods can be async ([#10980](https://togithub.com/facebook/jest/pull/10980))
- `[jest-core]` Add support for `testSequencer` written in ESM ([#11207](https://togithub.com/facebook/jest/pull/11207))
- `[jest-core]` Add support for `globalSetup` and `globalTeardown` written in ESM ([#11267](https://togithub.com/facebook/jest/pull/11267))
- `[jest-core]` Add support for `watchPlugins` written in ESM ([#11315](https://togithub.com/facebook/jest/pull/11315))
- `[jest-core]` Add support for `runner` written in ESM ([#11232](https://togithub.com/facebook/jest/pull/11232))
- `[jest-core]` Add support for `reporters` written in ESM ([#11427](https://togithub.com/facebook/jest/pull/11427))
- `[jest-each]` Add support for interpolation with object properties ([#11388](https://togithub.com/facebook/jest/pull/11388))
- `[jest-environment-node]` Add AbortController to globals ([#11182](https://togithub.com/facebook/jest/pull/11182))
- `[@jest/fake-timers]` Update to `@sinonjs/fake-timers` to v7 ([#11198](https://togithub.com/facebook/jest/pull/11198))
- `[jest-haste-map]` Handle injected scm clocks ([#10966](https://togithub.com/facebook/jest/pull/10966))
- `[jest-haste-map]` Add `enableSymlinks` configuration option to follow symlinks for test files ([#9351](https://togithub.com/facebook/jest/pull/9351))
- `[jest-repl, jest-runner]` \[**BREAKING**] Run transforms over environment ([#8751](https://togithub.com/facebook/jest/pull/8751))
- `[jest-repl]` Add support for `testEnvironment` written in ESM ([#11232](https://togithub.com/facebook/jest/pull/11232))
- `[jest-reporters]` Add static filepath property to all reporters ([#11015](https://togithub.com/facebook/jest/pull/11015))
- `[jest-runner]` \[**BREAKING**] set exit code to 1 if test logs after teardown ([#10728](https://togithub.com/facebook/jest/pull/10728))
- `[jest-runner]` \[**BREAKING**] Run transforms over `runner` ([#8823](https://togithub.com/facebook/jest/pull/8823))
- `[jest-runner]` \[**BREAKING**] Run transforms over `testRunner` ([#8823](https://togithub.com/facebook/jest/pull/8823))
- `[jest-runner]` Possibility to use ESM for test environment ([11033](https://togithub.com/facebook/jest/pull/11033))
- `[jest-runner]` Add support for `testRunner` written in ESM ([#11232](https://togithub.com/facebook/jest/pull/11232))
- `[jest-runtime]` Detect reexports from CJS as named exports in ESM ([#10988](https://togithub.com/facebook/jest/pull/10988))
- `[jest-runtime]` Support for async code transformations ([#11191](https://togithub.com/facebook/jest/pull/11191) & [#11220](https://togithub.com/facebook/jest/pull/11220))
- `[jest-snapshot]` \[**BREAKING**] Make prettier optional for inline snapshots - fall back to string replacement ([#7792](https://togithub.com/facebook/jest/pull/7792) & [#11192](https://togithub.com/facebook/jest/pull/11192))
- `[jest-snapshot]` \[**BREAKING**] Run transforms over `snapshotResolver` ([#8751](https://togithub.com/facebook/jest/pull/8829))
- `[jest-transform]` Pass config options defined in Jest's config to transformer's `process` and `getCacheKey` functions ([#10926](https://togithub.com/facebook/jest/pull/10926))
- `[jest-transform]` Add support for transformers written in ESM ([#11163](https://togithub.com/facebook/jest/pull/11163))
- `[jest-transform]` \[**BREAKING**] Do not export `ScriptTransformer` class, instead export the async function `createScriptTransformer` ([#11163](https://togithub.com/facebook/jest/pull/11163))
- `[jest-transform]` Async code transformations ([#9889](https://togithub.com/facebook/jest/pull/9889))
- `[jest-transform]` Support transpiled transformers ([#11193](https://togithub.com/facebook/jest/pull/11193))
- `[jest-transform]` \[**BREAKING**] `requireAndTranspileModule` always return a `Promise`, and the third parameter type is changed to `RequireAndTranspileModuleOptions` which accept `applyInteropRequireDefault` option ([#11232](https://togithub.com/facebook/jest/pull/11232))
- `[jest-transform]` \[**BREAKING**] `createTranspilingRequire` return function which return a `Promise` now ([#11232](https://togithub.com/facebook/jest/pull/11232))
- `[jest-util]` add requireOrImportModule for importing CJS or ESM ([#11199](https://togithub.com/facebook/jest/pull/11199))
- `[jest-util]` add `applyInteropRequireDefault` option on `requireOrImportModule` ([#11232](https://togithub.com/facebook/jest/pull/11232))
- `[jest-watcher]` Added support for clearing the line when `` is pressed in a watch mode pattern prompt ([#11358](https://togithub.com/facebook/jest/pull/11358))
- `[jest-worker]` Add support for custom task queues and adds a `PriorityQueue` implementation. ([#10921](https://togithub.com/facebook/jest/pull/10921))
- `[jest-worker]` Add in-order scheduling policy to jest worker ([10902](https://togithub.com/facebook/jest/pull/10902))
- `[pretty-format]` Better print for sparse arrays ([11326](https://togithub.com/facebook/jest/pull/11326))
- `[pretty-print]` Add option `printBasicPrototype` which determines whether or not the prototype should be printed for raw objects or arrays ([#11441](https://togithub.com/facebook/jest/pull/11441))
##### Fixes
- `[babel-plugin-jest-hoist]` Add `__dirname` and `__filename` to whitelisted globals ([#10903](https://togithub.com/facebook/jest/pull/10903))
- `[expect]` \[**BREAKING**] Revise `expect.not.objectContaining()` to be the inverse of `expect.objectContaining()`, as documented. ([#10708](https://togithub.com/facebook/jest/pull/10708))
- `[expect]` \[**BREAKING**] Make `toContain` more strict with the received type ([#10119](https://togithub.com/facebook/jest/pull/10119) & [#10929](https://togithub.com/facebook/jest/pull/10929))
- `[expect]` \[**BREAKING**] `matcherResult` on `JestAssertionError` are now strings rather than functions ([#10989](https://togithub.com/facebook/jest/pull/10989))
- `[jest-circus]` Fixed the issue of beforeAll & afterAll hooks getting executed even if it is inside a skipped `describe` block ([#10806](https://togithub.com/facebook/jest/pull/10806))
- `[jest-circus]` Fix `testLocation` on Windows when using `test.each` ([#10871](https://togithub.com/facebook/jest/pull/10871))
- `[jest-cli]` Use testFailureExitCode when bailing from a failed test ([#10958](https://togithub.com/facebook/jest/pull/10958))
- `[jest-cli]` Print custom error if error thrown from global hooks is not an error already ([#11003](https://togithub.com/facebook/jest/pull/11003))
- `[jest-cli]` Allow running multiple "projects" from programmatic API ([#11307](https://togithub.com/facebook/jest/pull/11307))
- `[jest-cli]` Fix missing collectCoverage after init ([#11353](https://togithub.com/facebook/jest/pull/11353))
- `[jest-cli, jest-config, jest-types]` Move all default values into `jest-config` ([#9924](https://togithub.com/facebook/jest/pull/9924))
- `[jest-config]` \[**BREAKING**] Change default file extension order by moving json behind ts and tsx ([10572](https://togithub.com/facebook/jest/pull/10572))
- `[jest-console]` `console.dir` now respects the second argument correctly ([#10638](https://togithub.com/facebook/jest/pull/10638))
- `[jest-core]` Don't report PerformanceObserver as open handle ([#11123](https://togithub.com/facebook/jest/pull/11123))
- `[jest-core]` Use `WeakRef` to hold timers when detecting open handles ([#11277](https://togithub.com/facebook/jest/pull/11277))
- `[jest-core]` Correctly detect open handles that were created in test functions using `done` callbacks ([#11382](https://togithub.com/facebook/jest/pull/11382))
- `[jest-core]` Do not collect `RANDOMBYTESREQUEST` as open handles ([#11278](https://togithub.com/facebook/jest/pull/11278))
- `[jest-core]` Wait briefly for open handles to close before flagging them when using `--detectOpenHandles` ([#11429](https://togithub.com/facebook/jest/pull/11429))
- `[jest-diff]` \[**BREAKING**] Use only named exports ([#11371](https://togithub.com/facebook/jest/pull/11371))
- `[jest-each]` \[**BREAKING**] Ignore excess words in headings ([#8766](https://togithub.com/facebook/jest/pull/8766))
- `[jest-each]` Support array index with template strings ([#10763](https://togithub.com/facebook/jest/pull/10763))
- `[jest-each]` Interpolate `%%` correctly ([#11364](https://togithub.com/facebook/jest/pull/11364))
- `[jest-each]` Fix wrong interpolation when the value of array contains multiple `%` ([#11364](https://togithub.com/facebook/jest/pull/11364))
- `[jest-environment]` \[**BREAKING**] Drop support for `runScript` for test environments ([#11155](https://togithub.com/facebook/jest/pull/11155))
- `[jest-environment-jsdom]` Use inner realm’s `ArrayBuffer` constructor ([#10885](https://togithub.com/facebook/jest/pull/10885))
- `[jest-environment-jsdom]` \[**BREAKING**] Remove Node globals `setImmediate` and `clearImmediate` ([#11222](https://togithub.com/facebook/jest/pull/11222))
- `[jest-get-type]` \[**BREAKING**] Convert to ES Module ([#11359](https://togithub.com/facebook/jest/pull/11359))
- `[jest-globals]` \[**BREAKING**] Disallow return values other than a `Promise` from hooks and tests ([#10512](https://togithub.com/facebook/jest/pull/10512))
- `[jest-globals]` \[**BREAKING**] Disallow mixing a done callback and returning a `Promise` from hooks and tests ([#10512](https://togithub.com/facebook/jest/pull/10512))
- `[jest-haste-map]` Vendor `NodeWatcher` from `sane` ([#10919](https://togithub.com/facebook/jest/pull/10919))
- `[jest-jasmine2]` Fixed the issue of `beforeAll` & `afterAll` hooks getting executed even if it is inside a skipped `describe` block when it has child `tests` marked as either `only` or `todo` ([#10806](https://togithub.com/facebook/jest/pull/10806))
- `[jest-jasmine2]` Fixed the issues of child `tests` marked with `only` or `todo` getting executed even if it is inside a skipped parent `describe` block ([#10806](https://togithub.com/facebook/jest/pull/10806))
- `[jest-jasmine2]` Wrap all test functions so they open handles that were created in test functions using `done` callbacks can be detected ([#11382](https://togithub.com/facebook/jest/pull/11382))
- `[jest-reporter]` Handle empty files when reporting code coverage with V8 ([#10819](https://togithub.com/facebook/jest/pull/10819))
- `[jest-resolve]` Replace read-pkg-up with escalade package ([#10781](https://togithub.com/facebook/jest/pull/10781))
- `[jest-resolve]` Disable `jest-pnp-resolver` for Yarn 2 ([#10847](https://togithub.com/facebook/jest/pull/10847))
- `[jest-runtime]` \[**BREAKING**] Do not inject `global` variable into module wrapper ([#10644](https://togithub.com/facebook/jest/pull/10644))
- `[jest-runtime]` \[**BREAKING**] remove long-deprecated `jest.addMatchers`, `jest.resetModuleRegistry`, and `jest.runTimersToTime` ([#9853](https://togithub.com/facebook/jest/pull/9853))
- `[jest-runtime]` Fix stack overflow and promise deadlock when importing mutual dependant ES module ([#10892](https://togithub.com/facebook/jest/pull/10892))
- `[jest-runtime]` Prevent global module registry from leaking into `isolateModules` registry ([#10963](https://togithub.com/facebook/jest/pull/10963))
- `[jest-runtime]` Refactor to prevent race condition when linking and evaluating ES Modules ([#11150](https://togithub.com/facebook/jest/pull/11150))
- `[jest-runtime]` Throw correct error when attempting to load ESM via `require` ([#11260](https://togithub.com/facebook/jest/pull/11260))
- `[jest-runtime]` Do not cache modules that throw during evaluation ([#11263](https://togithub.com/facebook/jest/pull/11263))
- `[jest-transform]` Show enhanced `SyntaxError` message for all `SyntaxError`s ([#10749](https://togithub.com/facebook/jest/pull/10749))
- `[jest-transform]` \[**BREAKING**] Refactor API to pass an options bag around rather than multiple boolean options ([#10753](https://togithub.com/facebook/jest/pull/10753))
- `[jest-transform]` \[**BREAKING**] Refactor API of transformers to pass an options bag rather than separate `config` and other options ([#10834](https://togithub.com/facebook/jest/pull/10834))
- `[jest-types]` Fix `Config.ts` `projects` types ([#11285](https://togithub.com/facebook/jest/pull/11285))
- `[jest-util]` Replace micromatch with picomatch to fix issues with negated globs ([#11287](https://togithub.com/facebook/jest/pull/11287))
- `[jest-validate]` Use `en-US` locale to avoid case conversion problems while validating CLI options on machines with some certain locales(e.g. Turkish) set as default locale. ([#11412](https://togithub.com/facebook/jest/pull/11412))
- `[jest-worker]` \[**BREAKING**] Use named exports ([#10623](https://togithub.com/facebook/jest/pull/10623))
- `[jest-worker]` Do not swallow errors during serialization ([#10984](https://togithub.com/facebook/jest/pull/10984))
- `[jest-worker]` Handle `ERR_IPC_CHANNEL_CLOSED` errors properly ([#11143](https://togithub.com/facebook/jest/pull/11143))
- `[pretty-format]` \[**BREAKING**] Convert to ES Modules ([#10515](https://togithub.com/facebook/jest/pull/10515))
- `[pretty-format]` Only call `hasAttribute` if it's a function ([#11000](https://togithub.com/facebook/jest/pull/11000))
- `[pretty-format]` Handle jsdom attributes properly ([#11189](https://togithub.com/facebook/jest/pull/11189))
- `[pretty-format]` Import pretty-format using named imports ([#11360](https://togithub.com/facebook/jest/pull/11360))
##### Chore & Maintenance
- `[*]` \[**BREAKING**] Only support Node LTS releases and Node 15 ([#10685](https://togithub.com/facebook/jest/pull/10685))
- `[*]` \[**BREAKING**] Add `exports` field to all `package.json`s ([#9921](https://togithub.com/facebook/jest/pull/9921))
- `[*]` Make it easier for Jest's packages to use the VM escape hatch ([#10824](https://togithub.com/facebook/jest/pull/10824))
- `[*]` \[**BREAKING**] Remove deprecated `mapCoverage` ([#9968](https://togithub.com/facebook/jest/pull/9968))
- `[babel-jest]` \[**BREAKING**] Migrate to ESM ([#11193](https://togithub.com/facebook/jest/pull/11193))
- `[docs]` Correct example using `browser-resolve` ([#11140](https://togithub.com/facebook/jest/pull/11140))
- `[docs]` Clarify `timers` configuration property ([#11376](https://togithub.com/facebook/jest/pull/11376))
- `[jest, jest-core]` \[**BREAKING**] Replace `TestScheduler` export with `createTestScheduler` ([#11427](https://togithub.com/facebook/jest/pull/11427))
- `[jest-config]` \[**BREAKING**] Remove `enabledTestsMap` config, use `filter` instead ([#10787](https://togithub.com/facebook/jest/pull/10787))
- `[jest-console]` \[**BREAKING**] Move `root` into `config` and take `GlobalConfig` as mandatory parameter for `getConsoleOutput` ([#10126](https://togithub.com/facebook/jest/pull/10126))
- `[jest-console]` Export LogEntry ([#11017](https://togithub.com/facebook/jest/pull/11017))
- `[jest-fake-timers]` Clarify global behavior of `jest.useFakeTimers` and `jest.useRealTimers` ([#10867](https://togithub.com/facebook/jest/pull/10867))
- `[jest-haste-map]` \[**BREAKING**] Migrate to ESM ([#10875](https://togithub.com/facebook/jest/pull/10875))
- `[jest-haste-map]` \[**BREAKING**] Remove support for deprecated option `ignorePattern` as function ([#10348](https://togithub.com/facebook/jest/pull/10348))
- `[jest-jasmine2]` \[**BREAKING**] Migrate to ESM ([#10906](https://togithub.com/facebook/jest/pull/10906))
- `[jest-jasmine2]` \[**BREAKING**] Remove unused options argument from `Env` constructor ([#10240](https://togithub.com/facebook/jest/pull/10240))
- `[jest-repl, jest-runtime]` \[**BREAKING**] Move the `jest-runtime` CLI into `jest-repl` ([#10016](https://togithub.com/facebook/jest/pull/10016) & [#10925](https://togithub.com/facebook/jest/pull/10925))
- `[jest-resolve]` \[**BREAKING**] Migrate to ESM ([#10688](https://togithub.com/facebook/jest/pull/10688))
- `[jest-resolve-dependencies]` \[**BREAKING**] Migrate to ESM ([#10876](https://togithub.com/facebook/jest/pull/10876))
- `[jest-mock]` \[**BREAKING**] Migrate to ESM ([#10887](https://togithub.com/facebook/jest/pull/10887))
- `[jest-reporters]` \[**BREAKING**] Make `node-notifier` a peer dependency ([#10977](https://togithub.com/facebook/jest/pull/10977))
- `[jest-resolve, jest-runtime]` \[**BREAKING**] Use `Map`s instead of objects for all cached resources ([#10968](https://togithub.com/facebook/jest/pull/10968))
- `[jest-runner]` \[**BREAKING**] Migrate to ESM ([#10900](https://togithub.com/facebook/jest/pull/10900))
- `[jest-runtime]` \[**BREAKING**] Remove deprecated and unused `getSourceMapInfo` from Runtime ([#9969](https://togithub.com/facebook/jest/pull/9969))
- `[jest-transformer]` \[**BREAKING**] Remove unused `isCoreModule` option ([#11166](https://togithub.com/facebook/jest/pull/11166))
- `[jest-util]` No longer checking `enumerable` when adding `process.domain` ([#10862](https://togithub.com/facebook/jest/pull/10862))
- `[jest-validate]` \[**BREAKING**] Remove `recursiveBlacklist` option in favor of previously introduced `recursiveDenylist` ([#10650](https://togithub.com/facebook/jest/pull/10650))
- `[website]` Replace 'Github' with 'GitHub' ([#11279](https://togithub.com/facebook/jest/pull/11279))
- `[website]` Remove a language code from the link to the Node.js website ([#11282](https://togithub.com/facebook/jest/pull/11282))
- `[website]` Remove a duplicated word ([#11281](https://togithub.com/facebook/jest/pull/11281))
- `[website]` Add french to website ([#11361](https://togithub.com/facebook/jest/pull/11361))
##### Performance
- `[jest-resolve]` Cache reading and parsing of `package.json`s ([#11076](https://togithub.com/facebook/jest/pull/11076))
- `[jest-runtime, jest-transform]` share `cacheFS` between runtime and transformer ([#10901](https://togithub.com/facebook/jest/pull/10901))
- `[jest-runtime]` Load `chalk` only once per worker ([#10864](https://togithub.com/facebook/jest/pull/10864))
- `[jest-worker]` Fix memory leak of previous task arguments while no new task is scheduled ([#11187](https://togithub.com/facebook/jest/pull/11187))
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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box.
This PR contains the following updates:
26.6.3
->27.1.0
Release Notes
facebook/jest
### [`v27.1.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2710) [Compare Source](https://togithub.com/facebook/jest/compare/v27.0.6...v27.1.0) ##### Features - `[jest-haste-map]` Use watchman suffix-set option for faster file indexing. ([#11784](https://togithub.com/facebook/jest/pull/11784)) - `[jest-cli]` Adds a new config options `snapshotFormat` which offers a way to override any of the formatting settings which come with [pretty-format](https://www.npmjs.com/package/pretty-format#usage-with-options). ([#11654](https://togithub.com/facebook/jest/pull/11654)) - `[jest-reporters]` Expose the `getSummary` util ([#11695](https://togithub.com/facebook/jest/pull/11695)). - `[jest-resolver]` Support `node:` prefix when importing Node core modules ([#11331](https://togithub.com/facebook/jest/pull/11331)) ##### Fixes - `[jest-each]` Relaxed the validation to allow multibyte characters in headings ([#11575](https://togithub.com/facebook/jest/pull/11575)) - `[jest-environment-jsdom]` Add support for `userAgent` option ([#11773](https://togithub.com/facebook/jest/pull/11773)) - `[jest-environment-node]` Add `Event` and `EventTarget` to node global environment. ([#11727](https://togithub.com/facebook/jest/pull/11727)) - `[jest-mock]` Fix `spyOn` to use `Object.prototype.hasOwnProperty` ([#11721](https://togithub.com/facebook/jest/pull/11721)) - `[jest-resolver]` Add dependency on `jest-haste-map` ([#11759](https://togithub.com/facebook/jest/pull/11759)) - `[jest-types]` Compat with `@types/node` v16 ([#11645](https://togithub.com/facebook/jest/pull/11645)) ##### Chore & Maintenance - `[docs]` Correct `expects.assertions` documentation by adding async/await for asynchronous function. ### [`v27.0.6`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2706) [Compare Source](https://togithub.com/facebook/jest/compare/v27.0.5...v27.0.6) ##### Fixes - `[*]` Publish all modules to include the build change in ([#11569](https://togithub.com/facebook/jest/pull/11569)) ### [`v27.0.5`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2705) [Compare Source](https://togithub.com/facebook/jest/compare/v27.0.4...v27.0.5) ##### Features - `[@jest/fake-timers]` Flush callbacks scheduled with `requestAnimationFrame` every 16ms when using legacy timers. ([#11523](https://togithub.com/facebook/jest/pull/11567)) - `[pretty-format]` Use `globalThis` (with polyfill if required) to bring support for esbuild's browser bundling mode ([#11569](https://togithub.com/facebook/jest/pull/11569)) ##### Fixes - `[jest-core]` Support special characters like `@`, `+` and `()` on Windows with `--findRelatedTests` ([#11548](https://togithub.com/facebook/jest/pull/11548)) - `[@jest/fake-timers]` Do not add `setImmediate` and `clearImmediate` if they do not exist in the global environment ([#11599](https://togithub.com/facebook/jest/pull/11599)) - `[@jest/reporters]` Allow `node-notifier@10` as peer dependency ([#11523](https://togithub.com/facebook/jest/pull/11523)) - `[@jest/reporters]` Update `v8-to-istanbul` ([#11523](https://togithub.com/facebook/jest/pull/11523)) ### [`v27.0.4`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2704) [Compare Source](https://togithub.com/facebook/jest/compare/v27.0.3...v27.0.4) ##### Fixes - `[jest-config, jest-resolve]` Pass in `require.resolve` to resolvers to resolve from correct base ([#11493](https://togithub.com/facebook/jest/pull/11493)) ### [`v27.0.3`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2703) [Compare Source](https://togithub.com/facebook/jest/compare/v27.0.2...v27.0.3) ##### Fixes - `[jest-config]` `require.resolve` on default test sequencer and test environment ([#11482](https://togithub.com/facebook/jest/pull/11482)) - `[jest-mock]` Fixed `fn` and `spyOn` exports ([#11480](https://togithub.com/facebook/jest/pull/11480)) ### [`v27.0.2`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2702) [Compare Source](https://togithub.com/facebook/jest/compare/v27.0.1...v27.0.2) ##### Features - `[jest-circus]` Add some APIs to make it easier to build your own test runner - `[jest-reporters]` Expose the `getResultHeader` util ([#11460](https://togithub.com/facebook/jest/pull/11460)) - `[jest-resolver]` Export `resolve*` utils for different Jest modules ([#11466](https://togithub.com/facebook/jest/pull/11466)) - `[@jest/test-result]` Export `Test`, `TestEvents` and `TestFileEvent` ([#11466](https://togithub.com/facebook/jest/pull/11466)) ##### Fixes - `[jest-circus]` Add missing `slash` dependency ([#11465](https://togithub.com/facebook/jest/pull/11465)) - `[jest-circus, @jest/test-sequencer]` Remove dependency on `jest-runner` ([#11466](https://togithub.com/facebook/jest/pull/11466)) - `[jest-config]` Resolve `config.runner` to absolute path ([#11465](https://togithub.com/facebook/jest/pull/11465)) - `[jest-config]` Make sure to support functions as config ([#11475](https://togithub.com/facebook/jest/pull/11475)) - `[jest-core]` Do not warn about `DNSCHANNEL` handles when using the `--detectOpenHandles` option ([#11470](https://togithub.com/facebook/jest/pull/11470)) - `[jest-runner]` Remove dependency on `jest-config` ([#11466](https://togithub.com/facebook/jest/pull/11466)) - `[jest-worker]` Loosen engine requirement to `>= 10.13.0` ([#11451](https://togithub.com/facebook/jest/pull/11451)) ### [`v27.0.1`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2701) [Compare Source](https://togithub.com/facebook/jest/compare/v27.0.0...v27.0.1) ##### Fixes - `[jest-environment-jsdom]` Bump version of JSDOM to avoid deprecated `request` package ([#11442](https://togithub.com/facebook/jest/pull/11442)) ### [`v27.0.0`](https://togithub.com/facebook/jest/blob/master/CHANGELOG.md#2700) [Compare Source](https://togithub.com/facebook/jest/compare/v26.6.3...v27.0.0) ##### Features - `[babel-jest]` Add async transformation ([#11192](https://togithub.com/facebook/jest/pull/11192)) - `[jest-changed-files]` Use '--' to separate paths from revisions ([#11160](https://togithub.com/facebook/jest/pull/11160)) - `[jest-circus]` \[**BREAKING**] Fail tests when multiple `done()` calls are made ([#10624](https://togithub.com/facebook/jest/pull/10624)) - `[jest-circus, jest-jasmine2]` \[**BREAKING**] Fail the test instead of just warning when describe returns a value ([#10947](https://togithub.com/facebook/jest/pull/10947)) - `[jest-config]` \[**BREAKING**] Default to Node testing environment instead of browser (JSDOM) ([#9874](https://togithub.com/facebook/jest/pull/9874)) - `[jest-config]` \[**BREAKING**] Use `jest-circus` as default test runner ([#10686](https://togithub.com/facebook/jest/pull/10686)) - `[jest-config]` Add support for `preset` written in ESM ([#11200](https://togithub.com/facebook/jest/pull/11200)) - `[jest-config, jest-runtime]` Support ESM for files other than `.js` and `.mjs` ([#10823](https://togithub.com/facebook/jest/pull/10823)) - `[jest-config, jest-runtime]` \[**BREAKING**] Use "modern" implementation as default for fake timers ([#10874](https://togithub.com/facebook/jest/pull/10874) & [#11197](https://togithub.com/facebook/jest/pull/11197)) - `[jest-config` Allow passing `forceNodeFilesystemAPI` through to `jest-haste-map` ([#11264](https://togithub.com/facebook/jest/pull/11264)) - `[jest-config, jest-haste-map, jest-resolve, jest-runner, jest-runtime, jest-test-sequencer, jest-transform, jest-types]` \[**BREAKING**] Add custom HasteMap class implementation config option ([#11107](https://togithub.com/facebook/jest/pull/11107)) - `[jest-core]` make `TestWatcher` extend `emittery` ([#10324](https://togithub.com/facebook/jest/pull/10324)) - `[jest-core]` Run failed tests interactively the same way we do with snapshots ([#10858](https://togithub.com/facebook/jest/pull/10858)) - `[jest-core]` more `TestSequencer` methods can be async ([#10980](https://togithub.com/facebook/jest/pull/10980)) - `[jest-core]` Add support for `testSequencer` written in ESM ([#11207](https://togithub.com/facebook/jest/pull/11207)) - `[jest-core]` Add support for `globalSetup` and `globalTeardown` written in ESM ([#11267](https://togithub.com/facebook/jest/pull/11267)) - `[jest-core]` Add support for `watchPlugins` written in ESM ([#11315](https://togithub.com/facebook/jest/pull/11315)) - `[jest-core]` Add support for `runner` written in ESM ([#11232](https://togithub.com/facebook/jest/pull/11232)) - `[jest-core]` Add support for `reporters` written in ESM ([#11427](https://togithub.com/facebook/jest/pull/11427)) - `[jest-each]` Add support for interpolation with object properties ([#11388](https://togithub.com/facebook/jest/pull/11388)) - `[jest-environment-node]` Add AbortController to globals ([#11182](https://togithub.com/facebook/jest/pull/11182)) - `[@jest/fake-timers]` Update to `@sinonjs/fake-timers` to v7 ([#11198](https://togithub.com/facebook/jest/pull/11198)) - `[jest-haste-map]` Handle injected scm clocks ([#10966](https://togithub.com/facebook/jest/pull/10966)) - `[jest-haste-map]` Add `enableSymlinks` configuration option to follow symlinks for test files ([#9351](https://togithub.com/facebook/jest/pull/9351)) - `[jest-repl, jest-runner]` \[**BREAKING**] Run transforms over environment ([#8751](https://togithub.com/facebook/jest/pull/8751)) - `[jest-repl]` Add support for `testEnvironment` written in ESM ([#11232](https://togithub.com/facebook/jest/pull/11232)) - `[jest-reporters]` Add static filepath property to all reporters ([#11015](https://togithub.com/facebook/jest/pull/11015)) - `[jest-runner]` \[**BREAKING**] set exit code to 1 if test logs after teardown ([#10728](https://togithub.com/facebook/jest/pull/10728)) - `[jest-runner]` \[**BREAKING**] Run transforms over `runner` ([#8823](https://togithub.com/facebook/jest/pull/8823)) - `[jest-runner]` \[**BREAKING**] Run transforms over `testRunner` ([#8823](https://togithub.com/facebook/jest/pull/8823)) - `[jest-runner]` Possibility to use ESM for test environment ([11033](https://togithub.com/facebook/jest/pull/11033)) - `[jest-runner]` Add support for `testRunner` written in ESM ([#11232](https://togithub.com/facebook/jest/pull/11232)) - `[jest-runtime]` Detect reexports from CJS as named exports in ESM ([#10988](https://togithub.com/facebook/jest/pull/10988)) - `[jest-runtime]` Support for async code transformations ([#11191](https://togithub.com/facebook/jest/pull/11191) & [#11220](https://togithub.com/facebook/jest/pull/11220)) - `[jest-snapshot]` \[**BREAKING**] Make prettier optional for inline snapshots - fall back to string replacement ([#7792](https://togithub.com/facebook/jest/pull/7792) & [#11192](https://togithub.com/facebook/jest/pull/11192)) - `[jest-snapshot]` \[**BREAKING**] Run transforms over `snapshotResolver` ([#8751](https://togithub.com/facebook/jest/pull/8829)) - `[jest-transform]` Pass config options defined in Jest's config to transformer's `process` and `getCacheKey` functions ([#10926](https://togithub.com/facebook/jest/pull/10926)) - `[jest-transform]` Add support for transformers written in ESM ([#11163](https://togithub.com/facebook/jest/pull/11163)) - `[jest-transform]` \[**BREAKING**] Do not export `ScriptTransformer` class, instead export the async function `createScriptTransformer` ([#11163](https://togithub.com/facebook/jest/pull/11163)) - `[jest-transform]` Async code transformations ([#9889](https://togithub.com/facebook/jest/pull/9889)) - `[jest-transform]` Support transpiled transformers ([#11193](https://togithub.com/facebook/jest/pull/11193)) - `[jest-transform]` \[**BREAKING**] `requireAndTranspileModule` always return a `Promise`, and the third parameter type is changed to `RequireAndTranspileModuleOptions` which accept `applyInteropRequireDefault` option ([#11232](https://togithub.com/facebook/jest/pull/11232)) - `[jest-transform]` \[**BREAKING**] `createTranspilingRequire` return function which return a `Promise` now ([#11232](https://togithub.com/facebook/jest/pull/11232)) - `[jest-util]` add requireOrImportModule for importing CJS or ESM ([#11199](https://togithub.com/facebook/jest/pull/11199)) - `[jest-util]` add `applyInteropRequireDefault` option on `requireOrImportModule` ([#11232](https://togithub.com/facebook/jest/pull/11232)) - `[jest-watcher]` Added support for clearing the line when `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.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by WhiteSource Renovate. View repository job log here.