diff --git a/.changeset/afraid-donuts-whisper.md b/.changeset/afraid-donuts-whisper.md new file mode 100644 index 000000000000..df9eea40ad9c --- /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 8c2429b1c9dc..080babdfb7c7 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 000000000000..53f38e0332df --- /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 000000000000..39a6ff795760 --- /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