From 5e3716343cfde7cb7c6324a7329ae663701417c2 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 13 Dec 2023 09:48:59 -0500 Subject: [PATCH 1/2] feat: redact internal stack trace when reporting config errors --- .changeset/smart-crabs-lick.md | 5 +++++ packages/kit/src/core/config/index.js | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .changeset/smart-crabs-lick.md diff --git a/.changeset/smart-crabs-lick.md b/.changeset/smart-crabs-lick.md new file mode 100644 index 000000000000..05f603cfc359 --- /dev/null +++ b/.changeset/smart-crabs-lick.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': minor +--- + +feat: redact internal stack trace when reporting config errors diff --git a/packages/kit/src/core/config/index.js b/packages/kit/src/core/config/index.js index a6e37d794277..1047e1b72997 100644 --- a/packages/kit/src/core/config/index.js +++ b/packages/kit/src/core/config/index.js @@ -69,7 +69,13 @@ export async function load_config({ cwd = process.cwd() } = {}) { const config = await import(`${url.pathToFileURL(config_file).href}?ts=${Date.now()}`); - return process_config(config.default, { cwd }); + try { + return process_config(config.default, { cwd }); + } catch (e) { + // redact the stack trace — it's not helpful to users + e.stack = `Could not load svelte.config.js: ${e.message}\n`; + throw e; + } } /** From 386fbb74dfa275ba74c40bb11fea717e45cbf2ae Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 13 Dec 2023 09:54:55 -0500 Subject: [PATCH 2/2] lint --- packages/kit/src/core/config/index.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/kit/src/core/config/index.js b/packages/kit/src/core/config/index.js index 1047e1b72997..cb2a44670bfd 100644 --- a/packages/kit/src/core/config/index.js +++ b/packages/kit/src/core/config/index.js @@ -72,9 +72,11 @@ export async function load_config({ cwd = process.cwd() } = {}) { try { return process_config(config.default, { cwd }); } catch (e) { + const error = /** @type {Error} */ (e); + // redact the stack trace — it's not helpful to users - e.stack = `Could not load svelte.config.js: ${e.message}\n`; - throw e; + error.stack = `Could not load svelte.config.js: ${error.message}\n`; + throw error; } }