oven-sh/bun

print AggregateError more distinctly

Open

#21.528 aperta il 1 ago 2025

Vedi su GitHub
 (3 commenti) (0 reazioni) (0 assegnatari)Rust (4486 fork)batch import
bugconfirmed bugconsolegood first issue

Metriche repository

Star
 (90.348 star)
Metriche merge PR
 (Merge medio 1g 17h) (357 PR mergiate in 30 g)

Descrizione

What version of Bun is running?

1.2.20-debug+97a530d83

What platform is your computer?

Darwin 24.5.0 arm64 arm

What steps can reproduce the bug?

function foo() {
  return new Error("foo!");
}

function bar() {
  return new Error("bar!");
}

throw new AggregateError([foo(), bar()], "qux!");

What is the expected behavior?

❯ node index.ts 
file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9
throw new AggregateError([foo(), bar()], "qux!");
      ^

AggregateError: qux!
    at file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:7
    at ModuleJob.run (node:internal/modules/esm/module_job:365:25)
    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:665:26)
    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:99:5) {
  [errors]: [
    Error: foo!
        at foo (file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:2:10)
        at file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:27
        at ModuleJob.run (node:internal/modules/esm/module_job:365:25)
        at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:665:26)
        at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:99:5),
    Error: bar!
        at bar (file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:6:10)
        at file:///private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:34
        at ModuleJob.run (node:internal/modules/esm/module_job:365:25)
        at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:665:26)
        at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:99:5)
  ]
}

Node.js v24.3.0

What do you see instead?

❯ bun-debug index.ts 
1 | function foo() {
2 |   return new Error("foo!");
             ^
error: foo!
      at foo (/private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:2:10)
      at /private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:27
      at loadAndEvaluateModule (7:44)
      at asyncFunctionResume (9:85)
      at promiseReactionJobWithoutPromiseUnwrapAsyncContext (14:20)
      at promiseReactionJob (31:60)
1 | function foo() {
2 |   return new Error("foo!");
3 | }
4 | 
5 | function bar() {
6 |   return new Error("bar!");
             ^
error: bar!
      at bar (/private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:6:10)
      at /private/var/folders/1f/g5b35_615ds81xl6w9twzksc0000gn/T/tmp.kmAySuNHiY/index.ts:9:34
      at loadAndEvaluateModule (7:44)
      at asyncFunctionResume (9:85)
      at promiseReactionJobWithoutPromiseUnwrapAsyncContext (14:20)
      at promiseReactionJob (31:60)

Bun v1.2.20-debug+97a530d83 (macOS arm64)

Additional information

it should be more clear the errors are part of an AggregateError the AggregateError's own message should be printed

Guida contributor