From a903e9408b6d916fa45a57fb570ac6b74742717d Mon Sep 17 00:00:00 2001 From: Paolo Ricciuti Date: Fri, 16 Jan 2026 22:35:05 +0100 Subject: [PATCH] fix: mark subtree of svelte boundary as dynamic (#17468) --- .changeset/curly-cats-make.md | 5 +++++ .../src/compiler/phases/2-analyze/visitors/SvelteBoundary.js | 3 +++ .../tests/runtime-runes/samples/static-boundary/_config.js | 5 +++++ .../tests/runtime-runes/samples/static-boundary/main.svelte | 5 +++++ 4 files changed, 18 insertions(+) create mode 100644 .changeset/curly-cats-make.md create mode 100644 packages/svelte/tests/runtime-runes/samples/static-boundary/_config.js create mode 100644 packages/svelte/tests/runtime-runes/samples/static-boundary/main.svelte diff --git a/.changeset/curly-cats-make.md b/.changeset/curly-cats-make.md new file mode 100644 index 0000000000..393f8ec7e8 --- /dev/null +++ b/.changeset/curly-cats-make.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: mark subtree of svelte boundary as dynamic diff --git a/packages/svelte/src/compiler/phases/2-analyze/visitors/SvelteBoundary.js b/packages/svelte/src/compiler/phases/2-analyze/visitors/SvelteBoundary.js index 35af96ba12..e0014aa7b2 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/visitors/SvelteBoundary.js +++ b/packages/svelte/src/compiler/phases/2-analyze/visitors/SvelteBoundary.js @@ -1,6 +1,7 @@ /** @import { AST } from '#compiler' */ /** @import { Context } from '../types' */ import * as e from '../../../errors.js'; +import { mark_subtree_dynamic } from './shared/fragment.js'; const valid = ['onerror', 'failed', 'pending']; @@ -23,5 +24,7 @@ export function SvelteBoundary(node, context) { } } + mark_subtree_dynamic(context.path); + context.next(); } diff --git a/packages/svelte/tests/runtime-runes/samples/static-boundary/_config.js b/packages/svelte/tests/runtime-runes/samples/static-boundary/_config.js new file mode 100644 index 0000000000..d986ed8cd5 --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/static-boundary/_config.js @@ -0,0 +1,5 @@ +import { test } from '../../test'; + +export default test({ + html: '
test
' +}); diff --git a/packages/svelte/tests/runtime-runes/samples/static-boundary/main.svelte b/packages/svelte/tests/runtime-runes/samples/static-boundary/main.svelte new file mode 100644 index 0000000000..7f43a1afaf --- /dev/null +++ b/packages/svelte/tests/runtime-runes/samples/static-boundary/main.svelte @@ -0,0 +1,5 @@ +
+ +
test
+
+
\ No newline at end of file