From d77905d7884f96bb7af8cc0265f3382535b39e42 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Thu, 3 Oct 2024 07:44:40 -0400 Subject: [PATCH] fix: exclude type-only props from instance exports when migrating (#13485) --- .changeset/seven-wombats-retire.md | 5 +++++ packages/svelte/src/compiler/migrate/index.js | 2 +- .../svelte/tests/migrate/samples/accessors/output.svelte | 2 -- 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 .changeset/seven-wombats-retire.md diff --git a/.changeset/seven-wombats-retire.md b/.changeset/seven-wombats-retire.md new file mode 100644 index 0000000000..60fb2bdf87 --- /dev/null +++ b/.changeset/seven-wombats-retire.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: exclude type-only props from instance exports when migrating diff --git a/packages/svelte/src/compiler/migrate/index.js b/packages/svelte/src/compiler/migrate/index.js index 1ae100c656..d60b2984f5 100644 --- a/packages/svelte/src/compiler/migrate/index.js +++ b/packages/svelte/src/compiler/migrate/index.js @@ -273,7 +273,7 @@ export function migrate(source) { if (state.props.length > 0 && state.analysis.accessors) { str.appendRight( insertion_point, - `\n${indent}export {${state.props.reduce((acc, prop) => (prop.slot_name ? acc : `${acc}\n${indent}\t${prop.local},`), '')}\n${indent}}\n` + `\n${indent}export {${state.props.reduce((acc, prop) => (prop.slot_name || prop.type_only ? acc : `${acc}\n${indent}\t${prop.local},`), '')}\n${indent}}\n` ); } diff --git a/packages/svelte/tests/migrate/samples/accessors/output.svelte b/packages/svelte/tests/migrate/samples/accessors/output.svelte index 67b0737d0e..83f318c0c8 100644 --- a/packages/svelte/tests/migrate/samples/accessors/output.svelte +++ b/packages/svelte/tests/migrate/samples/accessors/output.svelte @@ -9,14 +9,12 @@ } let { - test, count = 0, stuff, cool }: Props = $props(); export { - test, count, stuff, }