@jest/schemas
Advanced tools
Changelog
29.4.2
[@jest/core]
Instrument significant lifecycle events with performance.mark()
(#13859)[expect, @jest/expect]
Provide type of actual
as a generic argument to Matchers
to allow better-typed extensions (#13848)[jest-circus]
Added explicit mention of test failing because done()
is not being called in error message (#13847)[jest-runtime]
Handle CJS re-exports of node core modules from ESM (#13856)[jest-transform]
Downgrade write-file-atomic
to v4 (#13853)[jest-worker]
Ignore IPC messages not intended for Jest (#13543)Changelog
29.4.0
[expect, @jest/expect-utils]
Support custom equality testers (#13654)[jest-config, jest-worker]
Use os.availableParallelism
if available to calculate number of workers to spawn (#13738)[@jest/globals, jest-mock]
Add jest.replaceProperty()
that replaces property value (#13496)[jest-haste-map]
ignore Sapling vcs directories (.sl/
) (#13674)[jest-resolve]
Support subpath imports (#13705, #13723, #13777)[jest-runtime]
Add jest.isolateModulesAsync
for scoped module initialization of asynchronous functions (#13680)[jest-runtime]
Add jest.isEnvironmentTornDown
function (#13741)[jest-test-result]
Added skipped
and focused
status to FormattedTestResult
(#13700)[jest-transform]
Support for asynchronous createTransformer
(#13762)[jest-environment-node]
Fix non-configurable globals (#13687)[@jest/expect-utils]
toMatchObject
should handle Symbol
properties (#13639)[jest-mock]
Fix mockReset
and resetAllMocks
undefined
return value(#13692)[jest-resolve]
Add global paths to require.resolve.paths
(#13633)[jest-resolve]
Correct node core module detection when using node:
specifiers (#13806)[jest-runtime]
Support WASM files that import JS resources (#13608)[jest-runtime]
Use the scriptTransformer
cache in jest-runner
(#13735)[jest-runtime]
Enforce import assertions when importing JSON in ESM (#12755 & #13805)[jest-snapshot]
Make sure to import babel
outside of the sandbox (#13694)[jest-transform]
Ensure the correct configuration is passed to preprocessors specified multiple times in the transform
option (#13770)Changelog
29.0.0
[expect]
[BREAKING] Differentiate between MatcherContext
MatcherUtils
and MatcherState
types (#13141)[jest-circus]
Add support for test.failing.each
(#13142)[jest-config]
[BREAKING] Make snapshotFormat
default to escapeString: false
and printBasicPrototype: false
(#13036)[jest-config]
[BREAKING] Remove undocumented collectCoverageOnlyFrom
option (#13156)[jest-environment-jsdom]
[BREAKING] Upgrade to jsdom@20
(#13037, #13058)[@jest/globals]
Add jest.Mocked
, jest.MockedClass
, jest.MockedFunction
and jest.MockedObject
utility types (#12727)[jest-mock]
[BREAKING] Refactor Mocked*
utility types. MaybeMockedDeep
and MaybeMocked
became Mocked
and MockedShallow
respectively; only deep mocked variants of MockedClass
, MockedFunction
and MockedObject
are exported (#13123, #13124)[jest-mock]
[BREAKING] Change the default jest.mocked
helper’s behavior to deep mocked (#13125)[jest-snapshot]
[BREAKING] Let babel
find config when updating inline snapshots (#13150)[@jest/test-result, @jest/types]
[BREAKING] Replace Bytes
and Milliseconds
types with number
(#13155)[jest-worker]
Adds workerIdleMemoryLimit
option which is used as a check for worker memory leaks >= Node 16.11.0 and recycles child workers as required (#13056, #13105, #13106, #13107)[pretty-format]
[BREAKING] Remove ConvertAnsi
plugin in favour of jest-serializer-ansi-escapes
(#13040)[pretty-format]
Allow to opt out from sorting object keys with compareKeys: null
(#12443)[jest-config]
Fix testing multiple projects with TypeScript config files (#13099)[@jest/expect-utils]
Fix deep equality of ImmutableJS Record (#13055)[jest-haste-map]
Increase the maximum possible file size that jest-haste-map can handle (#13094)[jest-runtime]
Properly support CJS re-exports from dual packages (#13170)[jest-snapshot]
Make prettierPath
optional in SnapshotState
(#13149)[jest-snapshot]
Fix parsing error from inline snapshot files with JSX
(#12760)[jest-worker]
When a process runs out of memory worker exits correctly and doesn't spin indefinitely (#13054)[*]
[BREAKING] Drop support for Node v12 and v17 (#13033)[docs]
Fix webpack name (#13049)[docs]
Explicit how to set n
for --bail
(#13128)[docs]
Update Enzyme URL (#13166)[jest-leak-detector]
Remove support for weak-napi
(#13035)[jest-snapshot]
[BREAKING] Require rootDir
as argument to SnapshotState
(#13150)Changelog
28.1.3
[jest-leak-detector]
Use native FinalizationRegistry
when it exists to get rid of external C dependency (#12973)[jest-changed-files]
Fix a lock-up after repeated invocations (#12757)[@jest/expect-utils]
Fix deep equality of ImmutableJS OrderedSets (#12977)[jest-mock]
Add index signature support for spyOn
types (#13013, #13020)[jest-snapshot]
Fix indentation of awaited inline snapshots (#12986)Changelog
28.0.0
[babel-jest]
Export createTransformer
function (#12399)[expect]
Expose AsymmetricMatchers
, MatcherFunction
and MatcherFunctionWithState
interfaces (#12363, #12376)[jest-circus]
Support error logging before retry (#12201)[jest-circus, jest-jasmine2]
Allowed classes and functions as describe
and it
/test
names (#12484)[jest-cli, jest-config]
[BREAKING] Remove testURL
config, use testEnvironmentOptions.url
instead (#10797)[jest-cli, jest-core]
Add --shard
parameter for distributed parallel test execution (#12546)[jest-cli]
[BREAKING] Remove undocumented --timers
option (#12572)[jest-config]
[BREAKING] Stop shipping jest-environment-jsdom
by default (#12354)[jest-config]
[BREAKING] Stop shipping jest-jasmine2
by default (#12355)[jest-config, @jest/types]
Add ci
to GlobalConfig
(#12378)[jest-config]
[BREAKING] Rename moduleLoader
to runtime
(#10817)[jest-config]
[BREAKING] Rename extraGlobals
to sandboxInjectedGlobals
(#10817)[jest-config]
[BREAKING] Throw an error instead of showing a warning if multiple configs are used (#12510)[jest-config]
[BREAKING] Do not normalize long deprecated configuration options preprocessorIgnorePatterns
, scriptPreprocessor
, setupTestFrameworkScriptFile
and testPathDirs
(#12701)[jest-cli, jest-core]
Add --ignoreProjects
CLI argument to ignore test suites by project name (#12620)[jest-core]
Pass project config to globalSetup
/globalTeardown
function as second argument (#12440)[jest-core]
Stabilize test runners with event emitters (#12641)[jest-core, jest-watcher]
[BREAKING] Move TestWatcher
class to jest-watcher
package (#12652)[jest-core]
Allow using Summary Reporter as stand-alone reporter (#12687)[jest-environment-jsdom]
[BREAKING] Upgrade jsdom to 19.0.0 (#12290)[jest-environment-jsdom]
[BREAKING] Add default browser
condition to exportConditions
for jsdom
environment (#11924)[jest-environment-jsdom]
[BREAKING] Pass global config to Jest environment constructor for jsdom
environment (#12461)[jest-environment-jsdom]
[BREAKING] Second argument context
to constructor is mandatory (#12469)[jest-environment-node]
[BREAKING] Add default node
and node-addon
conditions to exportConditions
for node
environment (#11924)[jest-environment-node]
[BREAKING] Pass global config to Jest environment constructor for node
environment (#12461)[jest-environment-node]
[BREAKING] Second argument context
to constructor is mandatory (#12469)[jest-environment-node]
Add all available globals to test globals, not just explicit ones (#12642, #12696)[@jest/expect]
New module which extends expect
with jest-snapshot
matchers (#12404, #12410, #12418)[@jest/expect-utils]
New module exporting utils for expect
(#12323)[@jest/fake-timers]
[BREAKING] Rename timers
configuration option to fakeTimers
(#12572)[@jest/fake-timers]
[BREAKING] Allow jest.useFakeTimers()
and projectConfig.fakeTimers
to take an options bag (#12572)[jest-haste-map]
[BREAKING] HasteMap.create
now returns a promise (#12008)[jest-haste-map]
Add support for dependencyExtractor
written in ESM (#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, #12489)[jest-mock]
Improve isMockFunction
to infer types of passed function (#12442)[jest-mock]
[BREAKING] Improve the usage of jest.fn
generic type argument (#12489)[jest-mock]
Add support for auto-mocking async generator functions (#11080)[jest-mock]
Add contexts
member to mock functions (#12601)[@jest/reporters]
Add GitHub Actions reporter (#11320, #12658)[@jest/reporters]
Pass reporterContext
to custom reporter constructors as third argument (#12657)[jest-resolve]
[BREAKING] Add support for package.json
exports
(#11961, #12373)[jest-resolve]
Support package self-reference (#12682)[jest-resolve, jest-runtime]
Add support for data:
URI import and mock (#12392)[jest-resolve, jest-runtime]
Add support for async resolver (#11540)[jest-resolve]
[BREAKING] Remove browser?: boolean
from resolver options, conditions: ['browser']
should be used instead (#12707)[jest-resolve]
Expose JestResolver
, AsyncResolver
, SyncResolver
, PackageFilter
, PathFilter
and PackageJSON
types (#12707, (#12712)[jest-runner]
Allow setupFiles
module to export an async function (#12042)[jest-runner]
Allow passing testEnvironmentOptions
via docblocks (#12470)[jest-runner]
Expose CallbackTestRunner
, EmittingTestRunner
abstract classes and CallbackTestRunnerInterface
, EmittingTestRunnerInterface
to help typing third party runners (#12646, #12715)[jest-runner]
Lock version of source-map-support
to 0.5.13 (#12720)[jest-runtime]
[BREAKING] Runtime.createHasteMap
now returns a promise (#12008)[jest-runtime]
Calling jest.resetModules
function will clear FS and transform cache (#12531)[jest-runtime]
[BREAKING] Remove Context
type export, it must be imported from @jest/test-result
(#12685)[jest-runtime]
Add import.meta.jest
(#12698)[@jest/schemas]
New module for JSON schemas for Jest's config (#12384)[@jest/source-map]
Migrate from source-map
to @jridgewell/trace-mapping
(#12692)[jest-transform]
[BREAKING] Make it required for process()
and processAsync()
methods to always return structured data (#12638)[jest-test-result]
Add duration property to JSON test output (#12518)[jest-watcher]
[BREAKING] Make PatternPrompt
class to take entityName
as third constructor parameter instead of this._entityName
(#12591)[jest-worker]
[BREAKING] Allow only absolute workerPath
(#12343)[jest-worker]
[BREAKING] Default to advanced serialization when using child process workers (#10983)[pretty-format]
New maxWidth
parameter (#12402)[*]
Use sha256
instead of md5
as hashing algorithm for compatibility with FIPS systems (#12722)[babel-jest]
[BREAKING] Pass rootDir
as root
in Babel's options (#12689)[expect]
Move typings of .not
, .rejects
and .resolves
modifiers outside of Matchers
interface (#12346)[expect]
Throw useful error if expect.extend
is called with invalid matchers (#12488)[expect]
Fix iterableEquality
ignores other properties (#8359)[expect]
Fix print for the closeTo
matcher (#12626)[jest-changed-files]
Improve changedFilesWithAncestor
pattern for Mercurial SCM (#12322)[jest-circus, @jest/types]
Disallow undefined value in TestContext
type (#12507)[jest-config]
Correctly detect CI environment and update snapshots accordingly (#12378)[jest-config]
Pass moduleTypes
to ts-node
to enforce CJS when transpiling (#12397)[jest-config]
[BREAKING] Add mjs
and cjs
to default moduleFileExtensions
config (#12578)[jest-config, jest-haste-map]
Allow searching for tests in node_modules
by exposing retainAllFiles
(#11084)[jest-core]
[BREAKING] Exit with status 1
if no tests are found with --findRelatedTests
flag (#12487)[jest-core]
Do not report unref-ed subprocesses as open handles (#12705)[jest-each]
%#
is not replaced with index of the test case (#12517)[jest-each]
Fixes error message with incorrect count of missing arguments (#12464)[jest-environment-jsdom]
Make jsdom
accessible to extending environments again (#12232)[jest-environment-jsdom]
Log JSDOM errors more cleanly (#12386)[jest-environment-node]
Add MessageChannel
, MessageEvent
to globals (#12553)[jest-environment-node]
Add structuredClone
to globals (#12631)[@jest/expect-utils]
[BREAKING] Fix false positives when looking for undefined
prop (#8923)[jest-haste-map]
Don't use partial results if file crawl errors (#12420)[jest-haste-map]
Make watchman existence check lazy+async (#12675)[jest-jasmine2, jest-types]
[BREAKING] Move all jasmine
specific types from @jest/types
to its own package (#12125)[jest-jasmine2]
Do not set duration
to 0
for skipped tests (#12518)[jest-matcher-utils]
Pass maxWidth to pretty-format
to avoid printing every element in arrays by default (#12402)[jest-mock]
Fix function overloads for spyOn
to allow more correct type inference in complex object (#12442)[jest-mock]
Handle overridden Function.name
property (#12674)[@jest/reporters]
Notifications generated by the --notify
flag are no longer persistent in GNOME Shell. (#11733)[@jest/reporters]
Move missing icon file which is needed for NotifyReporter
class. (#12593)[@jest/reporters]
Update v8-to-istanbul
(#12697)[jest-resolver]
Call custom resolver with core node.js modules (#12654)[jest-runner]
Correctly resolve source-map-support
(#12706)[jest-worker]
Fix Farm
execution results memory leak (#12497)[*]
[BREAKING] Drop support for Node v10 and v15 and target first LTS 16.13.0
(#12220)[*]
[BREAKING] Drop support for typescript@3.8
, minimum version is now 4.3
(#11142, #12648)[*]
Bundle all .d.ts
files into a single index.d.ts
per module (#12345)[*]
Use globalThis
instead of global
(#12447)[babel-jest]
[BREAKING] Only export createTransformer
(#12407)[docs]
Add note about not mixing done()
with Promises (#11077)[docs, examples]
Update React examples to match with the new React guidelines for code examples (#12217)[docs]
Add clarity for module factory hoisting limitations (#12453)[docs]
Add more information about how code transformers work (#12407)[docs]
Add upgrading guide (#12633)[expect]
[BREAKING] Remove support for importing build/utils
(#12323)[expect]
[BREAKING] Migrate to ESM (#12344)[expect]
[BREAKING] Snapshot matcher types are moved to @jest/expect
(#12404)[jest-cli]
Update yargs
to v17 (#12357)[jest-config]
[BREAKING] Remove getTestEnvironment
export (#12353)[jest-config]
[BREAKING] Rename config option name
to id
(#11981)[jest-create-cache-key-function]
Added README.md file with basic usage instructions (#12492)[@jest/core]
Use index.ts
instead of jest.ts
as main export (#12329)[jest-environment-jsdom]
[BREAKING] Migrate to ESM (#12340)[jest-environment-node]
[BREAKING] Migrate to ESM (#12340)[jest-haste-map]
Remove legacy isRegExpSupported
(#12676)[@jest/fake-timers]
Update @sinonjs/fake_timers
to v9 (#12357)[jest-jasmine2, jest-runtime]
[BREAKING] Use Symbol
to pass jest.setTimeout
value instead of jasmine
specific logic (#12124)[jest-phabricator]
[BREAKING] Migrate to ESM (#12341)[jest-resolve]
[BREAKING] Make requireResolveFunction
argument mandatory (#12353)[jest-runner]
[BREAKING] Remove some type exports from @jest/test-result
(#12353)[jest-runner]
[BREAKING] Second argument to constructor (Context
) is not optional (#12640)[jest-serializer]
[BREAKING] Deprecate package in favour of using v8
APIs directly (#12391)[jest-snapshot]
[BREAKING] Migrate to ESM (#12342)[jest-transform]
Update write-file-atomic
to v4 (#12357)[jest-types]
[BREAKING] Remove Config.Glob
and Config.Path
(#12406)[jest]
Use index.ts
instead of jest.ts
as main export (#12329)[jest-haste-map]
[BREAKING] Default to node
crawler over shelling out to find
if watchman
is not enabled (#12320)