Skip to content

Commit

Permalink
Fixes #1362 - Handle AggregateError
Browse files Browse the repository at this point in the history
  • Loading branch information
Jolg42 committed Jan 27, 2020
1 parent 454b56d commit 25400fe
Showing 1 changed file with 28 additions and 11 deletions.
39 changes: 28 additions & 11 deletions cli/prisma2/src/bin.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,21 +120,38 @@ if (require.main === module) {
process.exit(code)
}
})
.catch(err => {
if (err.rustStack) {
handlePanic(err, packageJson.name, packageJson.version).catch(e => {
.catch((err) => {
let shouldExit = false

function handleIndividualError(err) {
if (err.rustStack) {
handlePanic(err, packageJson.name, packageJson.version).catch(e => {
if (debugLib.enabled('prisma')) {
console.error(chalk.redBright.bold('Error: ') + e.stack)
} else {
console.error(chalk.redBright.bold('Error: ') + e.message)
}
})
} else {
shouldExit = true
if (debugLib.enabled('prisma')) {
console.error(chalk.redBright.bold('Error: ') + e.stack)
console.error(chalk.redBright.bold('Error: ') + err.stack)
} else {
console.error(chalk.redBright.bold('Error: ') + e.message)
console.error(chalk.redBright.bold('Error: ') + err.message)
}
})
} else {
if (debugLib.enabled('prisma')) {
console.error(chalk.redBright.bold('Error: ') + err.stack)
} else {
console.error(chalk.redBright.bold('Error: ') + err.message)
}
}

// Sindre's pkg p-map & co are using AggregateError, it is an iterator.
if (typeof err[Symbol.iterator] === 'function') {
for (const individualError of err) {
handleIndividualError(individualError)
}
} else {
handleIndividualError(err)
}

if (shouldExit) {
process.exit(1)
}
})
Expand Down

0 comments on commit 25400fe

Please sign in to comment.