Skip to content

Commit 073ef17

Browse files
fix: move labeled statements that need reordering after props insertion point (#13480)
1 parent 344808a commit 073ef17

File tree

4 files changed

+22
-1
lines changed

4 files changed

+22
-1
lines changed

.changeset/many-fishes-warn.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: move labeled statements that need reordering after props insertion point

packages/svelte/src/compiler/migrate/index.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,9 @@ export function migrate(source) {
237237
dependencies.some(
238238
(dep) =>
239239
!ids.includes(dep) &&
240-
/** @type {number} */ (dep.node.start) > /** @type {number} */ (node.start)
240+
(dep.kind === 'prop' || dep.kind === 'bindable_prop'
241+
? state.props_insertion_point
242+
: /** @type {number} */ (dep.node.start)) > /** @type {number} */ (node.start)
241243
)
242244
) {
243245
needs_reordering = true;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<script>
2+
export let readonly;
3+
$: writable = !readonly;
4+
export let optional = 'foo';
5+
</script>
6+
7+
{readonly} {optional} {writable}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<script>
2+
/** @type {{readonly: any, optional?: string}} */
3+
let { readonly, optional = 'foo' } = $props();
4+
let writable = $derived(!readonly);
5+
</script>
6+
7+
{readonly} {optional} {writable}

0 commit comments

Comments
 (0)