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