From 653f4accbd3393fdaed072b936a39d908cf9d20a Mon Sep 17 00:00:00 2001 From: Paolo Ricciuti Date: Mon, 11 Nov 2024 10:28:56 +0100 Subject: [PATCH] fix: migration script messing with attributes (#14260) --- .changeset/afraid-donuts-whisper.md | 5 +++++ packages/svelte/src/compiler/migrate/index.js | 2 +- .../slot-dont-mess-with-attributes/input.svelte | 5 +++++ .../slot-dont-mess-with-attributes/output.svelte | 15 +++++++++++++++ 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 .changeset/afraid-donuts-whisper.md create mode 100644 packages/svelte/tests/migrate/samples/slot-dont-mess-with-attributes/input.svelte create mode 100644 packages/svelte/tests/migrate/samples/slot-dont-mess-with-attributes/output.svelte diff --git a/.changeset/afraid-donuts-whisper.md b/.changeset/afraid-donuts-whisper.md new file mode 100644 index 0000000000..df9eea40ad --- /dev/null +++ b/.changeset/afraid-donuts-whisper.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: migration script messing with attributes diff --git a/packages/svelte/src/compiler/migrate/index.js b/packages/svelte/src/compiler/migrate/index.js index 8c2429b1c9..080babdfb7 100644 --- a/packages/svelte/src/compiler/migrate/index.js +++ b/packages/svelte/src/compiler/migrate/index.js @@ -1309,7 +1309,7 @@ const template = { parent.type === 'RegularElement' || parent.type === 'SvelteElement' || parent.type === 'SvelteFragment') && - parent.attributes.some((attr) => (attr.type = 'LetDirective')) + parent.attributes.some((attr) => attr.type === 'LetDirective') ) ) { aliased_slot_name = `${name}_render`; diff --git a/packages/svelte/tests/migrate/samples/slot-dont-mess-with-attributes/input.svelte b/packages/svelte/tests/migrate/samples/slot-dont-mess-with-attributes/input.svelte new file mode 100644 index 0000000000..53f38e0332 --- /dev/null +++ b/packages/svelte/tests/migrate/samples/slot-dont-mess-with-attributes/input.svelte @@ -0,0 +1,5 @@ + + + diff --git a/packages/svelte/tests/migrate/samples/slot-dont-mess-with-attributes/output.svelte b/packages/svelte/tests/migrate/samples/slot-dont-mess-with-attributes/output.svelte new file mode 100644 index 0000000000..39a6ff7957 --- /dev/null +++ b/packages/svelte/tests/migrate/samples/slot-dont-mess-with-attributes/output.svelte @@ -0,0 +1,15 @@ + + + + {@render children?.()} + \ No newline at end of file