Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update toThrow() to be able to use Error.cause #13606

Merged
merged 18 commits into from
Feb 15, 2023

Conversation

ibuibu
Copy link
Contributor

@ibuibu ibuibu commented Nov 12, 2022

Summary

Update toThrow() and toThrowError() to be able to use Error.cause.

Closes #12053

Test plan

Test code

// sample.js

const testFunc = () => {
  const a = new Error("a");
  const b = new Error("b", { cause: a });
  const c = new Error("c", { cause: b });
  throw c;
};

module.exports = testFunc;
// sample.test.js

const testFunc = require("./sample");

const a = new Error("a");
const b = new Error("b", { cause: a });
const c = new Error("c", { cause: b });

test("pass: new Error", () => {
  expect(testFunc).toThrow(c);
});

test("pass: object", () => {
  expect(testFunc).toThrow({ message: "c", cause: b });
});

test("fail: new Error", () => {
  expect(testFunc).toThrow(b);
});

Result

image

Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, looks good!

@@ -225,14 +225,48 @@ const toThrowExpectedObject = (
thrown: Thrown | null,
expected: Error,
): SyncExpectationResult => {
const pass = thrown !== null && thrown.message === expected.message;
function createMessageAndCause(error: Error): string {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not put these helpers inside the matcher - move them to the module level

@@ -1,5 +1,8 @@
{
"extends": "../../../../tsconfig.test.json",
"compilerOptions": {
"lib": ["es2022"]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of the entire 2022, just pull in what's needed for Error.prototype.cause

@@ -1,7 +1,7 @@
{
"extends": "../../tsconfig.json",
"compilerOptions": {
"lib": ["es2020", "dom"],
"lib": ["es2022", "dom"],
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here, only pull in the error one from 2022

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I tried some patterns.

    "lib": ["es2020","es2022.error", "dom"],

    "lib": ["es2022.error", "es2020", "dom"],

    "lib": ["es2022.error", "dom"],

However, the following errors occured in compilation.
https://github.com/facebook/jest/actions/runs/3470037100/jobs/5797753863

Error: node_modules/typescript/lib/lib.es2022.error.d.ts(69,8): error TS2304: Cannot find name 'AggregateError'.
Error: node_modules/typescript/lib/lib.es2022.error.d.ts(74,8): error TS2304: Cannot find name 'AggregateError'.

I investigated but could not find the cause.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find the cause. AggregateError is defined in es2021.promise.

I could build by following config.

    "lib": ["es2020", "es2021.promise", "es2022.error", "dom"],

However, I cannot the reason why "es2020" and "dom" are set. I could build by following config too.

    "lib": ["es2021.promise", "es2022.error" ],

Can you tell me the reason why "es2020" and "dom" are needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I commied below because I was afraid of side effects.

    "lib": ["es2020", "es2021.promise", "es2022.error", "dom"],

Comment on lines 461 to 477
const _createMessageAndCause = (error: Error): string => {
if (error.cause instanceof Error) {
return `{ message: ${error.message}, cause: ${_createMessageAndCause(
error.cause,
)}}`;
} else {
return `{ message: ${error.message} }`;
}
};

const createMessageAndCause = (error: Error) => {
if (error.cause instanceof Error) {
return _createMessageAndCause(error);
} else {
return error.message;
}
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are these 2 functions?

Copy link
Contributor Author

@ibuibu ibuibu Nov 15, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Currently, if { message: 'foo' } is given, the standard output is "Expected message: foo".

To maintain this current behavior, I separated the functions so that only error.message is returned in the first loop.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_createMessageAndCause is only called from within itself or createMessageAndCause, can't they be combined?

Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a snapshot test or something which shows what the error looks like if the cause is different? all the messageAndCause calls seems uncovered in the failing case

@ibuibu ibuibu force-pushed the update/error-cause branch 2 times, most recently from b3026f1 to 963becf Compare November 15, 2022 12:54
@ibuibu
Copy link
Contributor Author

ibuibu commented Nov 15, 2022

Can you add a snapshot test or something which shows what the error looks like if the cause is different? all the messageAndCause calls seems uncovered in the failing case

I understand that the reason for the snapshot test is to verify that the result string of jest's standard error output on fail is as expected. In particular, the "Expected (Received) message and cause" part.

However, In CI test, the same snap file is shared by v14 and v16, so the v14 test, which does not support error cause, always fails because it expects the existence of a cause.

Therefore, as an alternative, we tried the following, but none of them were possible.

  • Put a decision to skip the test in case of v14.

  • Use toThrowErrorMatchingInlineSnapshot

    • Error: Couldn't infer stack frame for inline snapshot.
  • toThrowError(new Error(expected(received).toThrowError(expected)) Expected message and cause: "{ message: good, cause: { message: B, cause: { message: A }}}" Received message and cause: "{ message: bad, cause: { message: B, cause: { message: A }}" at packages/expect/src/__tests__/toThrowMatchers.test.ts:315:21))

    • Since the output includes results with control characters using chalk in Receive, it is difficult to compare the results without using the formatReceived function or other functions defined in toThrowMatchers.ts.

Therefore, I gave up judging the exact match of strings and used Regexp to judge whether or not "Expected (Received) message and cause" is included, which we especially want to evaluate.

@ibuibu ibuibu requested a review from SimenB November 16, 2022 22:08
Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add a changelog entry?


test('isNot true, incorrect cause', () => {
// only v16 or higher support Error.cause
if (Number(process.version.split('.')[0].slice(1)) >= 16) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines 461 to 477
const _createMessageAndCause = (error: Error): string => {
if (error.cause instanceof Error) {
return `{ message: ${error.message}, cause: ${_createMessageAndCause(
error.cause,
)}}`;
} else {
return `{ message: ${error.message} }`;
}
};

const createMessageAndCause = (error: Error) => {
if (error.cause instanceof Error) {
return _createMessageAndCause(error);
} else {
return error.message;
}
};
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

_createMessageAndCause is only called from within itself or createMessageAndCause, can't they be combined?

@ibuibu ibuibu requested a review from SimenB February 15, 2023 08:05
Copy link
Member

@SimenB SimenB left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks!

@SimenB SimenB merged commit 0621b2b into jestjs:main Feb 15, 2023
cbush pushed a commit to mongodb/docs-realm that referenced this pull request Mar 17, 2023
<h3>Snyk has created this PR to upgrade multiple dependencies.</h3>
👯 The following dependencies are linked and will therefore be updated
together.
</br></br>
:information_source: Keep your dependencies up-to-date. This makes it
easier to fix existing vulnerabilities and to more quickly identify and
fix newly disclosed vulnerabilities when they affect your project.
</br></br>

 Name         | Versions     | Released on
:-------------|:-------------|:-------------
**babel-jest**</br>from 29.4.0 to 29.4.3 | **3 versions** ahead of your
current version | **a month ago**</br>on 2023-02-15
**jest**</br>from 29.4.0 to 29.4.3 | **3 versions** ahead of your
current version | **a month ago**</br>on 2023-02-15



<details>
<summary><b>Release notes</b></summary>
<br/>
  <details>
    <summary>Package name: <b>babel-jest</b></summary>
    <ul>
      <li>
<b>29.4.3</b> - <a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.3">2023-02-15</a></br><h2>Features</h2>
<ul>
<li><code>[expect]</code> Update <code>toThrow()</code> to be able to
use error <code>cause</code>s (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13606"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13606/hovercard">#13606</a>)</li>
<li><code>[jest-core]</code> allow to use
<code>workerIdleMemoryLimit</code> with only 1 worker or
<code>runInBand</code> option (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13846"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13846/hovercard">#13846</a>)</li>
<li><code>[jest-message-util]</code> Add support for <a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause"
rel="nofollow">error <code>cause</code>s</a> (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13868"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13868/hovercard">#13868</a>
&amp; <a href="https://snyk.io/redirect/github/facebook/jest/pull/13912"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13912/hovercard">#13912</a>)</li>
<li><code>[jest-runtime]</code> Revert <code>import assertions</code>
for JSON modules as it's been relegated to Stage 2 (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13911"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13911/hovercard">#13911</a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li><code>[@ jest/expect-utils]</code> <code>subsetEquality</code>
should consider also an object's inherited string keys (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13824"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13824/hovercard">#13824</a>)</li>
<li><code>[jest-mock]</code> Clear mock state when
<code>jest.restoreAllMocks()</code> is called (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13867"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13867/hovercard">#13867</a>)</li>
<li><code>[jest-mock]</code> Prevent <code>mockImplementationOnce</code>
and <code>mockReturnValueOnce</code> bleeding into
<code>withImplementation</code> (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13888"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13888/hovercard">#13888</a>)</li>
<li><code>[jest-mock]</code> Do not restore mocks when
<code>jest.resetAllMocks()</code> is called (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13866"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13866/hovercard">#13866</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/brodo/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/brodo">@ brodo</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1574461036"
data-permission-text="Title is private"
data-url="jestjs/jest#13868"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13868/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13868">#13868</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/DannyNemer/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/DannyNemer">@ DannyNemer</a> made
their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1577012341"
data-permission-text="Title is private"
data-url="jestjs/jest#13878"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13878/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13878">#13878</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/ghusse/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/ghusse">@ ghusse</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1563899430"
data-permission-text="Title is private"
data-url="jestjs/jest#13846"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13846/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13846">#13846</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/broofa/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/broofa">@ broofa</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1584573240"
data-permission-text="Title is private"
data-url="jestjs/jest#13911"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13911/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13911">#13911</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/facebook/jest/compare/v29.4.2...v29.4.3"><tt>v29.4.2...v29.4.3</tt></a></p>
      </li>
      <li>
<b>29.4.2</b> - <a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.2">2023-02-07</a></br><h2>Features</h2>
<ul>
<li><code>[@ jest/core]</code> Instrument significant lifecycle events
with <a
href="https://nodejs.org/docs/latest-v16.x/api/perf_hooks.html#performancemarkname-options"
rel="nofollow"><code>performance.mark()</code></a> (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13859"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13859/hovercard">#13859</a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li><code>[expect, @ jest/expect]</code> Provide type of
<code>actual</code> as a generic argument to <code>Matchers</code> to
allow better-typed extensions (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13848"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13848/hovercard">#13848</a>)</li>
<li><code>[jest-circus]</code> Added explicit mention of test failing
because <code>done()</code> is not being called in error message (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13847"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13847/hovercard">#13847</a>)</li>
<li><code>[jest-runtime]</code> Handle CJS re-exports of node core
modules from ESM (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13856"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13856/hovercard">#13856</a>)</li>
<li><code>[jest-transform]</code> Downgrade
<code>write-file-atomic</code> to v4 (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13853"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13853/hovercard">#13853</a>)</li>
<li><code>[jest-worker]</code> Ignore IPC messages not intended for Jest
(<a href="https://snyk.io/redirect/github/facebook/jest/pull/13543"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13543/hovercard">#13543</a>)</li>
</ul>
<h2>Chore &amp; Maintenance</h2>
<ul>
<li><code>[*]</code> make sure to exclude <code>.eslintcache</code> from
published module (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13832"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13832/hovercard">#13832</a>)</li>
<li><code>[docs]</code> Cleanup incorrect links in CHANGELOG.md (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13857"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13857/hovercard">#13857</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/benjaminjkraft/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/benjaminjkraft">@
benjaminjkraft</a> made their first contribution in <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1565086384" data-permission-text="Title is private"
data-url="jestjs/jest#13848"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13848/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13848">#13848</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/LinusU/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/LinusU">@ LinusU</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1429918882"
data-permission-text="Title is private"
data-url="jestjs/jest#13543"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13543/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13543">#13543</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/SuperSodaSea/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/SuperSodaSea">@ SuperSodaSea</a>
made their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1570108297"
data-permission-text="Title is private"
data-url="jestjs/jest#13857"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13857/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13857">#13857</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/kowalski/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/kowalski">@ kowalski</a> made
their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1570043142"
data-permission-text="Title is private"
data-url="jestjs/jest#13856"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13856/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13856">#13856</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/facebook/jest/compare/v29.4.1...v29.4.2"><tt>v29.4.1...v29.4.2</tt></a></p>
      </li>
      <li>
<b>29.4.1</b> - <a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.1">2023-01-26</a></br><h2>Features</h2>
<ul>
<li><code>[expect, jest-circus, @ jest/types]</code> Implement
<code>numPassingAsserts</code> of testResults to track the number of
passing asserts in a test (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13795"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13795/hovercard">#13795</a>)</li>
<li><code>[jest-core]</code> Add newlines to JSON output (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13817"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13817/hovercard">#13817</a>)</li>
<li><code>[@ jest/reporters]</code> Automatic log folding in GitHub
Actions Reporter (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13626"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13626/hovercard">#13626</a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li><code>[@ jest/expect-utils]</code> <code>toMatchObject</code> diffs
should include <code>Symbol</code> properties (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13810"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13810/hovercard">#13810</a>)</li>
<li><code>[jest-runtime]</code> Handle missing
<code>replaceProperty</code> (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13823"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13823/hovercard">#13823</a>)</li>
<li><code>[@ jest/types]</code> Add partial support for
<code>done</code> callbacks in typings of <code>each</code> (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13756"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13756/hovercard">#13756</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/jessevanassen/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/jessevanassen">@ jessevanassen</a>
made their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1556823163"
data-permission-text="Title is private"
data-url="jestjs/jest#13817"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13817/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13817">#13817</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/ymqy/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/ymqy">@ ymqy</a> made their first
contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1551728671"
data-permission-text="Title is private"
data-url="jestjs/jest#13795"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13795/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13795">#13795</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/MatteoH2O1999/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/MatteoH2O1999">@ MatteoH2O1999</a>
made their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1455128768"
data-permission-text="Title is private"
data-url="jestjs/jest#13626"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13626/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13626">#13626</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/facebook/jest/compare/v29.4.0...v29.4.1"><tt>v29.4.0...v29.4.1</tt></a></p>
      </li>
      <li>
<b>29.4.0</b> - <a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.0">2023-01-24</a></br><a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.0">
Read more </a>
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/facebook/jest/releases">babel-jest
GitHub release notes</a>
  </details>
  <details>
    <summary>Package name: <b>jest</b></summary>
    <ul>
      <li>
<b>29.4.3</b> - <a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.3">2023-02-15</a></br><h2>Features</h2>
<ul>
<li><code>[expect]</code> Update <code>toThrow()</code> to be able to
use error <code>cause</code>s (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13606"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13606/hovercard">#13606</a>)</li>
<li><code>[jest-core]</code> allow to use
<code>workerIdleMemoryLimit</code> with only 1 worker or
<code>runInBand</code> option (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13846"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13846/hovercard">#13846</a>)</li>
<li><code>[jest-message-util]</code> Add support for <a
href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause"
rel="nofollow">error <code>cause</code>s</a> (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13868"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13868/hovercard">#13868</a>
&amp; <a href="https://snyk.io/redirect/github/facebook/jest/pull/13912"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13912/hovercard">#13912</a>)</li>
<li><code>[jest-runtime]</code> Revert <code>import assertions</code>
for JSON modules as it's been relegated to Stage 2 (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13911"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13911/hovercard">#13911</a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li><code>[@ jest/expect-utils]</code> <code>subsetEquality</code>
should consider also an object's inherited string keys (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13824"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13824/hovercard">#13824</a>)</li>
<li><code>[jest-mock]</code> Clear mock state when
<code>jest.restoreAllMocks()</code> is called (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13867"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13867/hovercard">#13867</a>)</li>
<li><code>[jest-mock]</code> Prevent <code>mockImplementationOnce</code>
and <code>mockReturnValueOnce</code> bleeding into
<code>withImplementation</code> (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13888"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13888/hovercard">#13888</a>)</li>
<li><code>[jest-mock]</code> Do not restore mocks when
<code>jest.resetAllMocks()</code> is called (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13866"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13866/hovercard">#13866</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/brodo/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/brodo">@ brodo</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1574461036"
data-permission-text="Title is private"
data-url="jestjs/jest#13868"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13868/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13868">#13868</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/DannyNemer/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/DannyNemer">@ DannyNemer</a> made
their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1577012341"
data-permission-text="Title is private"
data-url="jestjs/jest#13878"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13878/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13878">#13878</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/ghusse/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/ghusse">@ ghusse</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1563899430"
data-permission-text="Title is private"
data-url="jestjs/jest#13846"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13846/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13846">#13846</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/broofa/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/broofa">@ broofa</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1584573240"
data-permission-text="Title is private"
data-url="jestjs/jest#13911"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13911/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13911">#13911</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/facebook/jest/compare/v29.4.2...v29.4.3"><tt>v29.4.2...v29.4.3</tt></a></p>
      </li>
      <li>
<b>29.4.2</b> - <a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.2">2023-02-07</a></br><h2>Features</h2>
<ul>
<li><code>[@ jest/core]</code> Instrument significant lifecycle events
with <a
href="https://nodejs.org/docs/latest-v16.x/api/perf_hooks.html#performancemarkname-options"
rel="nofollow"><code>performance.mark()</code></a> (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13859"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13859/hovercard">#13859</a>)</li>
</ul>
<h2>Fixes</h2>
<ul>
<li><code>[expect, @ jest/expect]</code> Provide type of
<code>actual</code> as a generic argument to <code>Matchers</code> to
allow better-typed extensions (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13848"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13848/hovercard">#13848</a>)</li>
<li><code>[jest-circus]</code> Added explicit mention of test failing
because <code>done()</code> is not being called in error message (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13847"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13847/hovercard">#13847</a>)</li>
<li><code>[jest-runtime]</code> Handle CJS re-exports of node core
modules from ESM (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13856"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13856/hovercard">#13856</a>)</li>
<li><code>[jest-transform]</code> Downgrade
<code>write-file-atomic</code> to v4 (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13853"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13853/hovercard">#13853</a>)</li>
<li><code>[jest-worker]</code> Ignore IPC messages not intended for Jest
(<a href="https://snyk.io/redirect/github/facebook/jest/pull/13543"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13543/hovercard">#13543</a>)</li>
</ul>
<h2>Chore &amp; Maintenance</h2>
<ul>
<li><code>[*]</code> make sure to exclude <code>.eslintcache</code> from
published module (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13832"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13832/hovercard">#13832</a>)</li>
<li><code>[docs]</code> Cleanup incorrect links in CHANGELOG.md (<a
href="https://snyk.io/redirect/github/facebook/jest/pull/13857"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13857/hovercard">#13857</a>)</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/benjaminjkraft/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/benjaminjkraft">@
benjaminjkraft</a> made their first contribution in <a class="issue-link
js-issue-link" data-error-text="Failed to load title"
data-id="1565086384" data-permission-text="Title is private"
data-url="jestjs/jest#13848"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13848/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13848">#13848</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/LinusU/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/LinusU">@ LinusU</a> made their
first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1429918882"
data-permission-text="Title is private"
data-url="jestjs/jest#13543"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13543/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13543">#13543</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/SuperSodaSea/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/SuperSodaSea">@ SuperSodaSea</a>
made their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1570108297"
data-permission-text="Title is private"
data-url="jestjs/jest#13857"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13857/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13857">#13857</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user"
data-hovercard-url="/users/kowalski/hovercard"
data-octo-click="hovercard-link-click"
data-octo-dimensions="link_type:self"
href="https://snyk.io/redirect/github/kowalski">@ kowalski</a> made
their first contribution in <a class="issue-link js-issue-link"
data-error-text="Failed to load title" data-id="1570043142"
data-permission-text="Title is private"
data-url="jestjs/jest#13856"
data-hovercard-type="pull_request"
data-hovercard-url="/jestjs/jest/pull/13856/hovercard"
href="https://snyk.io/redirect/github/facebook/jest/pull/13856">#13856</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link"
href="https://snyk.io/redirect/github/facebook/jest/compare/v29.4.1...v29.4.2"><tt>v29.4.1...v29.4.2</tt></a></p>
      </li>
      <li>
<b>29.4.1</b> - <a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.1">2023-01-26</a></br><a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.1">
Read more </a>
      </li>
      <li>
<b>29.4.0</b> - <a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.0">2023-01-24</a></br><a
href="https://snyk.io/redirect/github/facebook/jest/releases/tag/v29.4.0">
Read more </a>
      </li>
    </ul>
from <a
href="https://snyk.io/redirect/github/facebook/jest/releases">jest
GitHub release notes</a>
  </details>
</details>


<details>
  <summary><b>Commit messages</b></summary>
  </br>
  <details>
    <summary>Package name: <b>babel-jest</b></summary>
    <ul>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/a49c88610e49a3242576160740a32a2fe11161e1">a49c886</a>
v29.4.3</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/b08ecb4519cf177e05022e5e1c4f8c711b518dec">b08ecb4</a>
chore: update changelog for release</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/0621b2b04c96788b12f8ddf7969ef445f1607844">0621b2b</a>
Update toThrow() to be able to use Error.cause (#13606)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/af5d5a140b0c6ba386a4f88fefc5160ff6dffe02">af5d5a1</a>
fix: added inherited string keys check on &#x60;subsetEquality&#x60;
method (#13824)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/76ec2a46b1314ed1c6cd21997f96bdcf5cbdd11a">76ec2a4</a>
Revert import assertions (#13911)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/5940bf4852a4aa3d27ae241049a548d59ca7c628">5940bf4</a>
feat: allow to use workerIdleMemoryLimit with only 1 worker or runInBand
option (#13846)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/c72962c689a6085e2554d314ecf2951a3d328f98">c72962c</a>
docs: add missing admonitions in configuration page v29 (#13908)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/267fdbe2eaffd2c73b62d98c94c8cad6313d889d">267fdbe</a>
feat(jest-message-util): improve detection of error causes (#13912)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/9432fc38105dec12ffc188b7ef25d734854aec52">9432fc3</a>
fix(jest-mock): do not restore mocks when
&#x60;jest.resetAllMocks()&#x60; is called (#13866)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/21a92711a22c7b6633909fd42a87499e179d80c2">21a9271</a>
chore: do not use built version of circus in unit test (#13907)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/4af916f7d8b813993182999e28f56c20de9760ad">4af916f</a>
chore: do not use deep imports in unit tests (#13905)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/dd4ea74888ae60b89d81702eda9caee47abaa7af">dd4ea74</a>
docs: clean up Getting Started page (#13896)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/bed4891b0e5b614988e5a65fca29c4734cdb3c2e">bed4891</a>
chore: retry cleanup in e2e tests (#13900)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/59cf4e39ba1c0e2675085a937d69131adea273d8">59cf4e3</a>
docs: Fix typos in documentation for custom equality testers
(#13878)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/f9f7d79c07e09be788fcb80db7ef662aa2a56836">f9f7d79</a>
docs: add few missing admonitions to the CLI Options page (#13894)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/2818bf188617922b44fba8ac4893f86f9bda00a9">2818bf1</a>
[jest-config] simplify filter-reduce (#13899)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/c81dfafc15982e8193d71d7b5a28d7e18d802d0f">c81dfaf</a>
jest-each: simplify interpolation (#13898)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/ee1895fed4581a310b8225a96cab2f39f0adec9d">ee1895f</a>
docs: add few missing admonitions to the Expect API page (#13892)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/fa1930d0ab04c7d4fecb0cffa347a758e9e556c2">fa1930d</a>
docs: use &#x60;npm2yarn&#x60; in all versions of Getting Started page
(#13893)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/4fbec418d2e0f0c9783b461e3bd6598059f51371">4fbec41</a>
docs: add a note on difference between &#x60;toEqual&#x60; and
&#x60;toStrictEqual&#x60; (#13891)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/dc0ac7580f9ab1a7e8aa108b206f1eaa2f8e2b15">dc0ac75</a>
chore: retry yarn install in e2e tests (#13890)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/0d69a73169ac449f9690f9d8c6b4a9572363518b">0d69a73</a>
fix(jest-mock): prevent &#x60;mockImplementationOnce&#x60; bleeding into
&#x60;withImplementation&#x60; (#13888)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/d97b76098c5514ad27cc55186a1f07491b2250f0">d97b760</a>
refactor(jest-mock): remove unused &#x60;specificReturnValues&#x60;
property (#13889)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/94b73a2dd8bf8f6225769f2fe4a9322ac85483d8">94b73a2</a>
chore(e2e): attempt to log better errors when running commands
(#13881)</li>
    </ul>

<a
href="https://snyk.io/redirect/github/facebook/jest/compare/4bc0e8acaf990e6618a7bed1dca67760c20bb12a...a49c88610e49a3242576160740a32a2fe11161e1">Compare</a>
  </details>
  <details>
    <summary>Package name: <b>jest</b></summary>
    <ul>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/a49c88610e49a3242576160740a32a2fe11161e1">a49c886</a>
v29.4.3</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/b08ecb4519cf177e05022e5e1c4f8c711b518dec">b08ecb4</a>
chore: update changelog for release</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/0621b2b04c96788b12f8ddf7969ef445f1607844">0621b2b</a>
Update toThrow() to be able to use Error.cause (#13606)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/af5d5a140b0c6ba386a4f88fefc5160ff6dffe02">af5d5a1</a>
fix: added inherited string keys check on &#x60;subsetEquality&#x60;
method (#13824)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/76ec2a46b1314ed1c6cd21997f96bdcf5cbdd11a">76ec2a4</a>
Revert import assertions (#13911)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/5940bf4852a4aa3d27ae241049a548d59ca7c628">5940bf4</a>
feat: allow to use workerIdleMemoryLimit with only 1 worker or runInBand
option (#13846)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/c72962c689a6085e2554d314ecf2951a3d328f98">c72962c</a>
docs: add missing admonitions in configuration page v29 (#13908)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/267fdbe2eaffd2c73b62d98c94c8cad6313d889d">267fdbe</a>
feat(jest-message-util): improve detection of error causes (#13912)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/9432fc38105dec12ffc188b7ef25d734854aec52">9432fc3</a>
fix(jest-mock): do not restore mocks when
&#x60;jest.resetAllMocks()&#x60; is called (#13866)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/21a92711a22c7b6633909fd42a87499e179d80c2">21a9271</a>
chore: do not use built version of circus in unit test (#13907)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/4af916f7d8b813993182999e28f56c20de9760ad">4af916f</a>
chore: do not use deep imports in unit tests (#13905)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/dd4ea74888ae60b89d81702eda9caee47abaa7af">dd4ea74</a>
docs: clean up Getting Started page (#13896)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/bed4891b0e5b614988e5a65fca29c4734cdb3c2e">bed4891</a>
chore: retry cleanup in e2e tests (#13900)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/59cf4e39ba1c0e2675085a937d69131adea273d8">59cf4e3</a>
docs: Fix typos in documentation for custom equality testers
(#13878)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/f9f7d79c07e09be788fcb80db7ef662aa2a56836">f9f7d79</a>
docs: add few missing admonitions to the CLI Options page (#13894)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/2818bf188617922b44fba8ac4893f86f9bda00a9">2818bf1</a>
[jest-config] simplify filter-reduce (#13899)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/c81dfafc15982e8193d71d7b5a28d7e18d802d0f">c81dfaf</a>
jest-each: simplify interpolation (#13898)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/ee1895fed4581a310b8225a96cab2f39f0adec9d">ee1895f</a>
docs: add few missing admonitions to the Expect API page (#13892)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/fa1930d0ab04c7d4fecb0cffa347a758e9e556c2">fa1930d</a>
docs: use &#x60;npm2yarn&#x60; in all versions of Getting Started page
(#13893)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/4fbec418d2e0f0c9783b461e3bd6598059f51371">4fbec41</a>
docs: add a note on difference between &#x60;toEqual&#x60; and
&#x60;toStrictEqual&#x60; (#13891)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/dc0ac7580f9ab1a7e8aa108b206f1eaa2f8e2b15">dc0ac75</a>
chore: retry yarn install in e2e tests (#13890)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/0d69a73169ac449f9690f9d8c6b4a9572363518b">0d69a73</a>
fix(jest-mock): prevent &#x60;mockImplementationOnce&#x60; bleeding into
&#x60;withImplementation&#x60; (#13888)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/d97b76098c5514ad27cc55186a1f07491b2250f0">d97b760</a>
refactor(jest-mock): remove unused &#x60;specificReturnValues&#x60;
property (#13889)</li>
<li><a
href="https://snyk.io/redirect/github/facebook/jest/commit/94b73a2dd8bf8f6225769f2fe4a9322ac85483d8">94b73a2</a>
chore(e2e): attempt to log better errors when running commands
(#13881)</li>
    </ul>

<a
href="https://snyk.io/redirect/github/facebook/jest/compare/4bc0e8acaf990e6618a7bed1dca67760c20bb12a...a49c88610e49a3242576160740a32a2fe11161e1">Compare</a>
  </details>
</details>
<hr/>

**Note:** *You are seeing this because you or someone else with access
to this repository has authorized Snyk to open upgrade PRs.*

For more information: <img
src="https://api.segment.io/v1/pixel/track?data=eyJ3cml0ZUtleSI6InJyWmxZcEdHY2RyTHZsb0lYd0dUcVg4WkFRTnNCOUEwIiwiYW5vbnltb3VzSWQiOiI0OWI1MDA4MC1lNjEzLTQ0NGItYmI4Yy04MTk1YjYwNDRkOTMiLCJldmVudCI6IlBSIHZpZXdlZCIsInByb3BlcnRpZXMiOnsicHJJZCI6IjQ5YjUwMDgwLWU2MTMtNDQ0Yi1iYjhjLTgxOTViNjA0NGQ5MyJ9fQ=="
width="0" height="0"/>

🧐 [View latest project
report](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🛠 [Adjust upgrade PR
settings](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55/settings/integration?utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr)

🔕 [Ignore this dependency or unsubscribe from future upgrade
PRs](https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55/settings/integration?pkg&#x3D;babel-jest&amp;pkg&#x3D;jest&amp;utm_source&#x3D;github&amp;utm_medium&#x3D;referral&amp;page&#x3D;upgrade-pr#auto-dep-upgrades)

<!---
(snyk:metadata:{"prId":"49b50080-e613-444b-bb8c-8195b6044d93","prPublicId":"49b50080-e613-444b-bb8c-8195b6044d93","dependencies":[{"name":"babel-jest","from":"29.4.0","to":"29.4.3"},{"name":"jest","from":"29.4.0","to":"29.4.3"}],"packageManager":"npm","type":"auto","projectUrl":"https://app.snyk.io/org/sandbox-2ba/project/852e6e4f-be96-45c8-b370-1060f5ebee55?utm_source=github&utm_medium=referral&page=upgrade-pr","projectPublicId":"852e6e4f-be96-45c8-b370-1060f5ebee55","env":"prod","prType":"upgrade","vulns":[],"issuesToFix":[],"upgrade":[],"upgradeInfo":{"versionsDiff":3,"publishedDate":"2023-02-15T11:57:31.305Z"},"templateVariants":[],"hasFixes":false,"isMajorUpgrade":false,"isBreakingChange":false,"priorityScoreList":[]})
--->

---------

Co-authored-by: snyk-bot <[email protected]>
@github-actions
Copy link

This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 18, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature]: Support for Error.cause in jest.Matchers
3 participants