diff --git a/packages/vitest/src/node/state.ts b/packages/vitest/src/node/state.ts index 2837f95ba02..bbfcb13a208 100644 --- a/packages/vitest/src/node/state.ts +++ b/packages/vitest/src/node/state.ts @@ -1,5 +1,5 @@ import { relative } from 'pathe' -import type { ErrorWithDiff, File, Task, TaskResultPack, UserConsoleLog } from '../types' +import type { File, Task, TaskResultPack, UserConsoleLog } from '../types' // can't import actual functions from utils, because it's incompatible with @vitest/browsers import type { AggregateError as AggregateErrorPonyfill } from '../utils' @@ -30,9 +30,13 @@ export class StateManager { catchError(err: unknown, type: string): void { if (isAggregateError(err)) - return err.errors.forEach(error => this.catchError(error, type)); + return err.errors.forEach(error => this.catchError(error, type)) + + if (err === Object(err)) + (err as Record).type = type + else + err = { type, message: err } - (err as ErrorWithDiff).type = type this.errorsSet.add(err) }