From bda8955687acd3bfd11b7835c43738346a6f2e6f Mon Sep 17 00:00:00 2001 From: 7nik Date: Fri, 27 Jun 2025 11:40:18 +0300 Subject: [PATCH] re-throw svelte error immediately --- packages/svelte/src/internal/client/render.js | 4 ++++ .../runtime-legacy/samples/keyed-each-dev-unique/_config.js | 1 - .../samples/inspect-state-unsafe-mutation/_config.js | 1 - .../runtime-runes/samples/props-bound-fallback/_config.js | 1 - 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/svelte/src/internal/client/render.js b/packages/svelte/src/internal/client/render.js index dfb40f1796..7df1d419e0 100644 --- a/packages/svelte/src/internal/client/render.js +++ b/packages/svelte/src/internal/client/render.js @@ -136,6 +136,10 @@ export function hydrate(component, options) { return /** @type {Exports} */ (instance); } catch (error) { + // re-throw Svelte errors - they are certainly not related to hydration + if (error instanceof Error && error.message.includes('https://svelte.dev/e/')) { + throw error; + } if (error !== HYDRATION_ERROR) { // eslint-disable-next-line no-console console.error('Failed to hydrate: ', error); diff --git a/packages/svelte/tests/runtime-legacy/samples/keyed-each-dev-unique/_config.js b/packages/svelte/tests/runtime-legacy/samples/keyed-each-dev-unique/_config.js index 97ccaebac2..6e64245d86 100644 --- a/packages/svelte/tests/runtime-legacy/samples/keyed-each-dev-unique/_config.js +++ b/packages/svelte/tests/runtime-legacy/samples/keyed-each-dev-unique/_config.js @@ -1,7 +1,6 @@ import { test } from '../../test'; export default test({ - mode: ['server', 'client'], compileOptions: { dev: true }, diff --git a/packages/svelte/tests/runtime-runes/samples/inspect-state-unsafe-mutation/_config.js b/packages/svelte/tests/runtime-runes/samples/inspect-state-unsafe-mutation/_config.js index 27b9cc7fec..dcf3a8bc3d 100644 --- a/packages/svelte/tests/runtime-runes/samples/inspect-state-unsafe-mutation/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/inspect-state-unsafe-mutation/_config.js @@ -2,7 +2,6 @@ import { flushSync } from 'svelte'; import { test } from '../../test'; export default test({ - mode: ['client'], compileOptions: { dev: true }, diff --git a/packages/svelte/tests/runtime-runes/samples/props-bound-fallback/_config.js b/packages/svelte/tests/runtime-runes/samples/props-bound-fallback/_config.js index 26cb426127..d04d8884ca 100644 --- a/packages/svelte/tests/runtime-runes/samples/props-bound-fallback/_config.js +++ b/packages/svelte/tests/runtime-runes/samples/props-bound-fallback/_config.js @@ -5,7 +5,6 @@ import { test } from '../../test'; // uses a prop it does not write to but has a fallback value export default test({ accessors: false, // so that prop actually becomes $.prop and not $.prop_source - mode: ['server', 'client'], html: `0`, test({ assert, target }) {