Include fatal error context on a single line where possible

This commit is contained in:
Henry Mercer 2023-07-21 14:24:59 +01:00
parent 65a297b952
commit a3ef0b984b
3 changed files with 17 additions and 11 deletions

View file

@ -1170,16 +1170,18 @@ function extractFatalErrors(error: string): string | undefined {
let match: RegExpMatchArray | null;
while ((match = fatalErrorRegex.exec(error)) !== null) {
if (lastFatalErrorIndex !== undefined) {
fatalErrors.push(error.slice(lastFatalErrorIndex, match.index));
fatalErrors.push(error.slice(lastFatalErrorIndex, match.index).trim());
}
lastFatalErrorIndex = match.index;
}
if (lastFatalErrorIndex !== undefined) {
const lastError = error.slice(lastFatalErrorIndex);
return (
lastError +
(fatalErrors.length > 0 ? `\nContext:\n${fatalErrors.join("\n")}` : "")
);
const lastError = error.slice(lastFatalErrorIndex).trim();
if (fatalErrors.length === 0) {
// No other errors
return lastError;
}
const separator = fatalErrors.some((e) => e.includes("\n")) ? "\n" : " ";
return [lastError, "Context:", ...fatalErrors.reverse()].join(separator);
}
return undefined;
}