Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 267fdbe

Browse files
authored
feat(jest-message-util): improve detection of error causes (#13912)
1 parent 9432fc3 commit 267fdbe

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
### Features
44

5-
- `[jest-message-util]` Add support for [error causes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause)
5+
- `[jest-message-util]` Add support for [error causes](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) ([#13868](https://github.com/facebook/jest/pull/13868) & [#13912](https://github.com/facebook/jest/pull/13912))
66

77
### Fixes
88

packages/jest-message-util/src/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,15 @@ export const formatExecError = (
152152
const prefix = '\n\nCause:\n';
153153
if (typeof error.cause === 'string' || typeof error.cause === 'number') {
154154
cause += `${prefix}${error.cause}`;
155-
} else if (types.isNativeError(error.cause)) {
155+
} else if (
156+
types.isNativeError(error.cause) ||
157+
error.cause instanceof Error
158+
) {
159+
/* `isNativeError` is used, because the error might come from another realm.
160+
`instanceof Error` is used because `isNativeError` does return `false` for some
161+
things that are `instanceof Error` like the errors provided in
162+
[verror](https://www.npmjs.com/package/verror) or [axios](https://axios-http.com).
163+
*/
156164
const formatted = formatExecError(
157165
error.cause,
158166
config,

0 commit comments

Comments
 (0)