UNCLASSIFIED - NO CUI

Skip to content

Update dependency babel-jest to v29

renovate requested to merge renovate/babel-jest-29.x into master

This MR contains the following updates:

Package Type Update Change
babel-jest devDependencies major ^27.5.1 -> ^29.0.0

Release Notes

jestjs/jest

v29.7.0

Compare Source

Features
  • [create-jest] Add npm init / yarn create initialiser for Jest projects (#​14465)
  • [jest-validate] Allow deprecation warnings for unknown options (#​14499)
Fixes
  • [jest-resolver] Replace unmatched capture groups in moduleNameMapper with empty string instead of undefined (#​14507)
  • [jest-snapshot] Allow for strings as well as template literals in inline snapshots (#​14465)
  • [@jest/test-sequencer] Calculate test runtime if perStats.duration is missing (#​14473)
Performance
  • [@jest/create-cache-key-function] Cache access of NODE_ENV and BABEL_ENV (#​14455)
Chore & Maintenance
  • [jest-cli] Move internal config initialisation logic to the create-jest package (#​14465)

v29.6.4

Compare Source

Fixes
  • [jest-core] Fix typo in scheduleAndRun performance marker (#​14434)
  • [jest-environment-node] Make sure atob and btoa are writeable in Node 20 (#​14446)
  • [jest-worker] Additional error wrapper for parentPort.postMessage to fix unhandled DataCloneError. (#​14437)

v29.6.3

Compare Source

Fixes
  • [expect, @​jest/expect-utils] ObjectContaining support sumbol as key (#​14414)
  • [expect] Remove @types/node from dependencies (#​14385)
  • [jest-core] Use workers in watch mode by default to avoid crashes (#​14059 & #​14085).
  • [jest-reporters] Update istanbul-lib-instrument dependency to v6. (#​14401)
  • [jest-mock] Revert #​13692 as it was a breaking change (#​14429)
  • [jest-mock] Revert #​13866 as it was a breaking change (#​14429)
  • [jest-mock] Revert #​13867 as it was a breaking change (#​14429)
  • [@jest/reporters] Marks Reporter's hooks as optional (#​14433)
  • [jest-runtime] Fix dynamic ESM import module bug when loaded module through jest.isolateModulesAsync (#​14397)
Chore & Maintenance
  • [jest-changed-files, jest-circus, jest-console, @​jest/core, @​jest/runtime, @​jest/transform] Use invariant and notEmpty from jest-util rather than own internal (#​14366)

v29.6.2

Compare Source

Fixes
  • [jest-circus] Fix snapshot matchers in concurrent tests when nr of tests exceeds maxConcurrency (#​14335)
  • [@jest/core] When running global setup and teardown, do not try to change the message property of the thrown error object when the message property is unwritable (#​14113)
  • [jest-snapshot] Move @types/prettier from dependencies to devDependencies (#​14328)
  • [jest-snapshot] Throw an explicit error if Prettier v3 is used (#​14367)
  • [jest-reporters] Add "skipped" and "todo" symbols to Github Actions Reporter (#​14309)
Chore & Maintenance
  • [@jest/core] Use pluralize from jest-util rather than own internal (#​14322)

v29.6.1

Compare Source

Fixes

v29.6.0

Compare Source

Features
  • [jest-circus, jest-snapshot] Add support for snapshot matchers in concurrent tests (#​14139)
  • [jest-cli] Include type definitions to generated config files (#​14078)
  • [jest-snapshot] Support arrays as property matchers (#​14025)
  • [jest-core, jest-circus, jest-reporter, jest-runner] Added support for reporting about start individual test cases using jest-circus (#​14174)
Fixes
  • [jest-circus] Prevent false test failures caused by promise rejections handled asynchronously (#​14110)
  • [jest-config] Handle frozen config object (#​14054)
  • [jest-config] Allow coverageDirectory and collectCoverageFrom in project config (#​14180)
  • [jest-core] Always use workers in watch mode to avoid crashes (#​14059).
  • [jest-environment-jsdom, jest-environment-node] Fix assignment of customExportConditions via testEnvironmentOptions when custom env subclass defines a default value (#​13989)
  • [jest-matcher-utils] Fix copying value of inherited getters (#​14007)
  • [jest-mock] Tweak typings to allow jest.replaceProperty() replace methods (#​14008)
  • [jest-mock] Improve user input validation and error messages of spyOn and replaceProperty methods (#​14087)
  • [jest-runtime] Bind jest.isolateModulesAsync to this (#​14083)
  • [jest-runtime] Forward wrapperLength to the Script constructor as columnOffset for accurate debugging (#​14148)
  • [jest-runtime] Guard _isMockFunction access with in (#​14188)
  • [jest-snapshot] Fix a potential bug when not using prettier and improve performance (#​14036)
  • [@jest/transform] Do not instrument .json modules (#​14048)
  • [jest-worker] Restart a shut down worker before sending it a task (#​14015)
Chore & Maintenance
  • [*] Update semver dependency to get vulnerability fix (#​14262)
  • [docs] Updated documentation for the --runTestsByPath CLI command (#​14004)
  • [docs] Updated documentation regarding the synchronous fallback when asynchronous code transforms are unavailable (#​14056)
  • [docs] Update jest statistics of use and downloads in website Index.

v29.5.0

Compare Source

Features
  • [jest-changed-files] Support Sapling (#​13941)
  • [jest-circus, @​jest/cli, jest-config] Add feature to randomize order of tests via CLI flag or through the config file(#​12922)
  • [jest-cli, jest-config, @​jest/core, jest-haste-map, @​jest/reporters, jest-runner, jest-runtime, @​jest/types] Add workerThreads configuration option to allow using worker threads for parallelization (#​13939)
  • [jest-cli] Export yargsOptions (#​13970)
  • [jest-config] Add openHandlesTimeout option to configure possible open handles warning. (#​13875)
  • [@jest/create-cache-key-function] Allow passing length argument to createCacheKey() function and set its default value to 16 on Windows (#​13827)
  • [jest-message-util] Add support for AggregateError (#​13946 & #​13947)
  • [jest-message-util] Add support for Error causes in test and it (#​13935 & #​13966)
  • [jest-reporters] Add summaryThreshold option to summary reporter to allow overriding the internal threshold that is used to print the summary of all failed tests when the number of test suites surpasses it (#​13895)
  • [jest-runtime] Expose @sinonjs/fake-timers async APIs functions advanceTimersByTimeAsync(msToRun) (tickAsync(msToRun)), advanceTimersToNextTimerAsync(steps) (nextAsync), runAllTimersAsync (runAllAsync), and runOnlyPendingTimersAsync (runToLastAsync) (#​13981)
  • [jest-runtime, @​jest/transform] Allow V8 coverage provider to collect coverage from files which were not loaded explicitly (#​13974)
  • [jest-snapshot] Add support to cts and mts TypeScript files to inline snapshots (#​13975)
  • [jest-worker] Add start method to worker farms (#​13937)
  • [jest-worker] Support passing a URL as path to worker (#​13982)
Fixes
  • [babel-plugin-jest-hoist] Fix unwanted hoisting of nested jest usages (#​13952)
  • [jest-circus] Send test case results for todo tests (#​13915)
  • [jest-circus] Update message printed on test timeout (#​13830)
  • [jest-circus] Avoid creating the word "testfalse" when takesDoneCallback is false in the message printed on test timeout AND updated timeouts test (#​13954)
  • [jest-environment-jsdom] Stop setting document to null on teardown (#​13972)
  • [@jest/expect-utils] Update toStrictEqual() to be able to check jest.fn().mock.calls (#​13960)
  • [@jest/test-result] Allow TestResultsProcessor type to return a Promise (#​13950)
Chore & Maintenance
  • [jest-snapshot] Remove dependency on jest-haste-map (#​13977)

v29.4.3

Compare Source

Features
  • [expect] Update toThrow() to be able to use error causes (#​13606)
  • [jest-core] allow to use workerIdleMemoryLimit with only 1 worker or runInBand option (#​13846)
  • [jest-message-util] Add support for error causes (#​13868 & #​13912)
  • [jest-runtime] Revert import assertions for JSON modules as it's been relegated to Stage 2 (#​13911)
Fixes
  • [@jest/expect-utils] subsetEquality should consider also an object's inherited string keys (#​13824)
  • [jest-mock] Clear mock state when jest.restoreAllMocks() is called (#​13867)
  • [jest-mock] Prevent mockImplementationOnce and mockReturnValueOnce bleeding into withImplementation (#​13888)
  • [jest-mock] Do not restore mocks when jest.resetAllMocks() is called (#​13866)

v29.4.2

Compare Source

Features
Fixes
  • [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)
Chore & Maintenance
  • [*] make sure to exclude .eslintcache from published module (#​13832)
  • [docs] Cleanup incorrect links in CHANGELOG.md (#​13857)

v29.4.1

Compare Source

Features
  • [expect, jest-circus, @​jest/types] Implement numPassingAsserts of testResults to track the number of passing asserts in a test (#​13795)
  • [jest-core] Add newlines to JSON output (#​13817)
  • [@jest/reporters] Automatic log folding in GitHub Actions Reporter (#​13626)
Fixes
  • [@jest/expect-utils] toMatchObject diffs should include Symbol properties (#​13810)
  • [jest-runtime] Handle missing replaceProperty (#​13823)
  • [@jest/types] Add partial support for done callbacks in typings of each (#​13756)

v29.4.0

Compare Source

Features
  • [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)
Fixes
  • [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)
Chore & Maintenance
  • [@jest/fake-timers] Update @sinonjs/fake-timers (#​13612)
  • [docs] Improve custom puppeteer example to prevent worker warnings (#​13619)

v29.3.1

Compare Source

Fixes
  • [jest-config] Do not warn about preset in ProjectConfig (#​13583)
Performance
  • [jest-transform] Defer creation of cache directory (#​13420)

v29.3.0

Compare Source

Features
  • [jest-runtime] Support WebAssembly (Wasm) imports in ESM modules (#​13505)
Fixes
  • [jest-config] Add config validation for projects option (#​13565)
  • [jest-mock] Treat cjs modules as objects so they can be mocked (#​13513)
  • [jest-worker] Throw an error instead of hanging when jest workers terminate unexpectedly (#​13566)
Chore & Maintenance
  • [@jest/transform] Update convert-source-map (#​13509)
  • [docs] Mention toStrictEqual in UsingMatchers docs. (#​13560)

v29.2.2

Compare Source

Fixes
  • [@jest/test-sequencer] Make sure sharding does not produce empty groups (#​13476)
  • [jest-circus] Test marked as todo are shown as todo when inside a focussed describe (#​13504)
  • [jest-mock] Ensure mock resolved and rejected values are promises from correct realm (#​13503)
  • [jest-snapshot] Don't highlight passing asymmetric property matchers in snapshot diff (#​13480)
Chore & Maintenance
  • [docs] Update link to Jest 28 upgrade guide in error message (#​13483)
  • [jest-runner, jest-watcher] Update emittery (#​13490)

v29.2.1

Compare Source

Features
  • [@jest/globals, jest-mock] Add jest.Spied* utility types (#​13440)
Fixes
  • [jest-environment-node] make globalThis.performance writable for Node 19 and fake timers (#​13467)
  • [jest-mock] Revert #​13398 to restore mocking of setters (#​13472)
Performance
  • [*] Use sha1 instead of sha256 for hashing (#​13421)

v29.2.0

Compare Source

Features
  • [@jest/cli, jest-config] A seed for the test run will be randomly generated, or set by a CLI option (#​13400)
  • [@jest/cli, jest-config] --show-seed will display the seed value in the report, and can be set via a CLI flag or through the config file (#​13400)
  • [jest-config] Add readInitialConfig utility function (#​13356)
  • [jest-core] Allow testResultsProcessor to be async (#​13343)
  • [@jest/environment, jest-environment-node, jest-environment-jsdom, jest-runtime] Add getSeed() to the jest object (#​13400)
  • [expect, @​jest/expect-utils] Allow isA utility to take a type argument (#​13355)
  • [expect] Expose AsyncExpectationResult and SyncExpectationResult types (#​13411)
Fixes
  • [babel-plugin-jest-hoist] Ignore TSTypeQuery when checking for hoisted references (#​13367)
  • [jest-core] Fix detectOpenHandles false positives for some special objects such as TLSWRAP (#​13414)
  • [jest-mock] Fix mocking of getters and setters on classes (#​13398)
  • [jest-reporters] Revert: Transform file paths into hyperlinks (#​13399)
  • [@jest/types] Infer type of each table correctly when the table is a tuple or array (#​13381)
  • [@jest/types] Rework typings to allow the *ReturnedWith matchers to be called with no argument (#​13385)
Chore & Maintenance
  • [*] Update @babel/* deps, resulting in slightly different stack traces for each (#​13422)
Performance
  • [jest-runner] Do not instrument v8 coverage data if coverage should not be collected (#​13282)

v29.1.2

Compare Source

Fixes
  • [expect, @​jest/expect] Revert buggy inference of argument types for *CalledWith and *ReturnedWith matchers introduced in 29.1.0 (#​13339)
  • [jest-worker] Add missing dependency on jest-util (#​13341)

v29.1.0

Compare Source

Features
  • [expect, @​jest/expect] Support type inference for function parameters in CalledWith assertions (#​13268)
  • [expect, @​jest/expect] Infer type of *ReturnedWith matchers argument (#​13278)
  • [@jest/environment, jest-runtime] Allow jest.requireActual and jest.requireMock to take a type argument (#​13253)
  • [@jest/environment] Allow jest.mock and jest.doMock to take a type argument (#​13254)
  • [@jest/fake-timers] Add jest.now() to return the current fake clock time (#​13244, #​13246)
  • [@jest/mock] Add withImplementation method for temporarily overriding a mock (#​13281)
  • [expect] Export toThrow* matchers (#​13328)
Fixes
  • [jest-circus, jest-jasmine2] Fix error messages for Node's assert.throes (#​13322)
  • [jest-haste-map] Remove __proto__ usage (#​13256)
  • [jest-mock] Improve spyOn typings to handle optional properties (#​13247)
  • [jest-mock] Fix mocking of getters and setters on classes (#​13145)
  • [jest-snapshot] Throw useful error when an array is passed as property matchers (#​13263)
  • [jest-snapshot] Prioritize parser used in the project (#​13323)
  • [jest-transform] Attempt to work around issues with atomic writes on Windows (#​11423)

v29.0.3

Compare Source

Features
  • [@jest/environment, jest-runtime] Allow passing a generic type argument to jest.createMockFromModule<T>() method (#​13202)
  • [expect] Expose ExpectationResult type (#​13240)
  • [jest-snapshot] Expose Context type (#​13240)
  • [@jest/globals] Add jest.Mock type helper (#​13235)
Fixes
  • [jest-core] Capture execError during TestScheduler.scheduleTests and dispatch to reporters (#​13203)
  • [jest-resolve] Make sure to resolve module paths after looking at exports (#​13242)
  • [jest-resolve] Improve error on module not found deep in the require stack (#​8704)
  • [jest-snapshot] Fix typings of snapshot matchers (#​13240)
Chore & Maintenance
  • [*] Fix inconsistent workspace prefixes (#​13217)
  • [jest-haste-map] Expose a minimal public API to TypeScript (#​13023)

v29.0.2

Compare Source

Features
  • [jest-transform] Expose TransformFactory type (#​13184)
Fixes
  • [babel-plugin-jest-hoist] Support imported jest in mock factory (#​13188)
  • [jest-mock] Align the behavior and return type of generateFromMetadata method (#​13207)
  • [jest-runtime] Support jest.resetModules() with ESM (#​13211)

v29.0.1

Compare Source

Fixes
  • [jest-snapshot] Pass snapshotFormat through when diffing snapshots (#​13181)

v29.0.0

Compare Source

Features
  • [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, @&#8203;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)
Fixes
  • [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)
Chore & Maintenance
  • [*] [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)

v28.1.3

Compare Source

Features
  • [jest-leak-detector] Use native FinalizationRegistry when it exists to get rid of external C dependency (#​12973)
Fixes
  • [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)
Chore & Maintenance
  • [*] Replace internal usage of pretty-format/ConvertAnsi with jest-serializer-ansi-escapes (#​12935, #​13004)
  • [docs] Update spyOn docs (#​13000)

v28.1.2

Compare Source

Fixes
  • [jest-runtime] Avoid star type import from @jest/globals (#​12949)
Chore & Maintenance
  • [docs] Mention that jest-codemods now supports Sinon (#​12898)

v28.1.1

Compare Source

Features
  • [jest] Expose Config type (#​12848)
  • [@jest/reporters] Improve GitHubActionsReporters annotation format (#​12826)
  • [@jest/types] Infer argument types passed to test and describe callback functions from each tables (#​12885, #​12905)
Fixes
  • [@jest/expect-utils] Fix deep equality of ImmutableJS OrderedMaps (#​12899)
  • [jest-docblock] Handle multiline comments in parseWithComments (#​12845)
  • [jest-mock] Improve spyOn error messages (#​12901)
  • [jest-runtime] Correctly report V8 coverage with resetModules: true (#​12912)
  • [jest-worker] Make JestWorkerFarm helper type to include methods of worker module that take more than one argument (#​12839)
Chore & Maintenance
  • [docs] Updated docs to indicate that jest-environment-jsdom is a separate package #​12828
  • [docs] Document the comments used by coverage providers #​12835
  • [docs] Use docusaurus-remark-plugin-tab-blocks to format tabs with code examples (#​12859)
  • [jest-haste-map] Bump walker version (#​12324)

v28.1.0

Compare Source

Features
  • [jest-circus] Add failing test modifier that inverts the behavior of tests (#​12610)
  • [jest-environment-node, jest-environment-jsdom] Allow specifying customExportConditions (#​12774)
Fixes
  • [expect] Adjust typings of lastCalledWith, nthCalledWith, toBeCalledWith matchers to allow a case there a mock was called with no arguments (#​12807)
  • [@jest/expect-utils] Fix deep equality of ImmutableJS Lists (#​12763)
  • [jest-core] Do not collect SIGNREQUEST as open handles (#​12789)
Chore & Maintenance
  • [docs] Specified documentation about --filter CLI docs (#​12799)
  • [@jest-reporters] Move helper functions from utils.ts into separate files (#​12782)
  • [jest-resolve] Replace process.versions.pnp type declaration with @types/pnpapi devDependency (#​12783)

v28.0.3

Compare Source

Fixes
  • [jest-config] Normalize reporters option defined in presets (#​12769)
  • [@jest/reporters] Fix trailing slash in matching coverageThreshold key (#​12714)
  • [jest-resolve] Fix (experimental) ESM module mocking for re-exports (#​12766)
  • [@jest/transform] Throw better error if an invalid return value if encountered (#​12764)
Chore & Maintenance
  • [docs] Fix typo in --shard CLI docs (#​12761)

v28.0.2

Compare Source

Features
  • [jest-worker] Add JestWorkerFarm helper type (#​12753)
Fixes
  • [*] Lower Node 16 requirement to 16.10 from 16.13 due to a Node bug that causes memory and performance issues (#​12754)

v28.0.1

Compare Source

Features
  • [jest-resolve] Expose ResolverOptions type (#​12736)
Fixes
  • [expect] Add missing dependency jest-util (#​12744)
  • [jest-circus] Improve test.concurrent (#​12748)
  • [jest-resolve] Correctly throw an error if jsdom test environment is used, but not installed (#​12749)
Chore & Maintenance
  • [jest-serializer] Remove deprecated module from source tree (#​12735)

v28.0.0

Compare Source

Features
  • [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, @&#8203;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)
Fixes
  • [*] 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, @&#8203;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)
Chore & Maintenance
  • [*] [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)
Performance
  • [jest-haste-map] [BREAKING] Default to node crawler over shelling out to find if watchman is not enabled (#​12320)

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by renovate

Merge request reports