From c322fdff2584e11bf550857f9709b9b7b70ea50e Mon Sep 17 00:00:00 2001 From: paoloricciuti Date: Tue, 31 Mar 2026 10:19:46 +0200 Subject: [PATCH] fix: `validate_snippet_arguments` --- packages/svelte/src/internal/client/dev/validation.js | 4 ++-- .../samples/validate-snippet-args/_config.js | 8 ++++++++ .../samples/validate-snippet-args/main.svelte | 5 +++++ 3 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 packages/svelte/tests/custom-renderers/samples/validate-snippet-args/_config.js create mode 100644 packages/svelte/tests/custom-renderers/samples/validate-snippet-args/main.svelte diff --git a/packages/svelte/src/internal/client/dev/validation.js b/packages/svelte/src/internal/client/dev/validation.js index 1fc4f3540e..ee27dbf70d 100644 --- a/packages/svelte/src/internal/client/dev/validation.js +++ b/packages/svelte/src/internal/client/dev/validation.js @@ -1,11 +1,11 @@ +import { renderer } from '../custom-renderer/state.js'; import * as e from '../errors.js'; /** * @param {Node} anchor * @param {...(()=>any)[]} args */ export function validate_snippet_args(anchor, ...args) { - // TODO RENDERER: don't emit validate args for custom renderers - if (typeof anchor !== 'object' || !(anchor instanceof Node)) { + if (!renderer && (typeof anchor !== 'object' || !(anchor instanceof Node))) { e.invalid_snippet_arguments(); } diff --git a/packages/svelte/tests/custom-renderers/samples/validate-snippet-args/_config.js b/packages/svelte/tests/custom-renderers/samples/validate-snippet-args/_config.js new file mode 100644 index 0000000000..d2a1910b71 --- /dev/null +++ b/packages/svelte/tests/custom-renderers/samples/validate-snippet-args/_config.js @@ -0,0 +1,8 @@ +import { test } from '../../test'; + +export default test({ + compileOptions: { + dev: true + }, + html: 'world' +}); diff --git a/packages/svelte/tests/custom-renderers/samples/validate-snippet-args/main.svelte b/packages/svelte/tests/custom-renderers/samples/validate-snippet-args/main.svelte new file mode 100644 index 0000000000..2ca772fea3 --- /dev/null +++ b/packages/svelte/tests/custom-renderers/samples/validate-snippet-args/main.svelte @@ -0,0 +1,5 @@ +{#snippet greet(name)} + {name} +{/snippet} + +{@render greet("world")} \ No newline at end of file