summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Bjorn Lu <bjornlu.dev@gmail.com> 2022-08-18 14:36:31 +0800
committerGravatar GitHub <noreply@github.com> 2022-08-18 14:36:31 +0800
commit77b068086d923e99eb693d1c57b7d6cd906a1e8a (patch)
tree4c49a149eff4e7552ebc89655795804118291b64
parent41b81d0d7eab192a0999f9f4601ce27840834875 (diff)
downloadastro-77b068086d923e99eb693d1c57b7d6cd906a1e8a.tar.gz
astro-77b068086d923e99eb693d1c57b7d6cd906a1e8a.tar.zst
astro-77b068086d923e99eb693d1c57b7d6cd906a1e8a.zip
Preserve all error stack lines (#4364)
-rw-r--r--.changeset/rare-comics-roll.md5
-rw-r--r--packages/astro/src/core/errors.ts1
-rw-r--r--packages/astro/src/core/messages.ts6
3 files changed, 8 insertions, 4 deletions
diff --git a/.changeset/rare-comics-roll.md b/.changeset/rare-comics-roll.md
new file mode 100644
index 000000000..0f7e7b8b0
--- /dev/null
+++ b/.changeset/rare-comics-roll.md
@@ -0,0 +1,5 @@
+---
+'astro': patch
+---
+
+Preserve all error stack lines
diff --git a/packages/astro/src/core/errors.ts b/packages/astro/src/core/errors.ts
index f7ddd1f9f..d96fbe885 100644
--- a/packages/astro/src/core/errors.ts
+++ b/packages/astro/src/core/errors.ts
@@ -37,7 +37,6 @@ export interface ErrorWithMetadata {
export function cleanErrorStack(stack: string) {
return stack
.split(/\n/g)
- .filter((l) => /^\s*at/.test(l))
.map((l) => l.replace(/\/@fs\//g, '/'))
.join('\n');
}
diff --git a/packages/astro/src/core/messages.ts b/packages/astro/src/core/messages.ts
index 855db55fc..0c74f8cbe 100644
--- a/packages/astro/src/core/messages.ts
+++ b/packages/astro/src/core/messages.ts
@@ -18,7 +18,7 @@ import type { AddressInfo } from 'net';
import os from 'os';
import { ZodError } from 'zod';
import type { AstroConfig } from '../@types/astro';
-import { cleanErrorStack, ErrorWithMetadata } from './errors.js';
+import { ErrorWithMetadata } from './errors.js';
import { emoji, getLocalAddress, padMultilineString } from './util.js';
const PREFIX_PADDING = 6;
@@ -235,10 +235,10 @@ export function formatErrorMessage(err: ErrorWithMetadata, args: string[] = []):
args.push(red(padMultilineString(err.frame, 4)));
}
if (args.length === 1 && err.stack) {
- args.push(dim(cleanErrorStack(err.stack)));
+ args.push(dim(err.stack));
} else if (err.stack) {
args.push(` ${bold('Stacktrace:')}`);
- args.push(dim(cleanErrorStack(err.stack)));
+ args.push(dim(err.stack));
args.push(``);
}
return args.join('\n');