Skip to content

Commit b788b72

Browse files
fix: migrate derivations without semicolons (#11704)
Closes #11689
1 parent 02520ae commit b788b72

File tree

4 files changed

+28
-5
lines changed

4 files changed

+28
-5
lines changed

.changeset/kind-snakes-drive.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: migrate derivations without semicolons

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -369,11 +369,15 @@ const instance_script = {
369369
/** @type {number} */ (node.body.expression.right.start),
370370
'$derived('
371371
);
372-
state.str.update(
373-
/** @type {number} */ (node.body.expression.right.end),
374-
/** @type {number} */ (node.end),
375-
');'
376-
);
372+
if (node.body.expression.right.end !== node.end) {
373+
state.str.update(
374+
/** @type {number} */ (node.body.expression.right.end),
375+
/** @type {number} */ (node.end),
376+
');'
377+
);
378+
} else {
379+
state.str.appendRight(/** @type {number} */ (node.end), ');');
380+
}
377381
return;
378382
} else {
379383
for (const binding of reassigned_bindings) {
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<script>
2+
let count = 0;
3+
$: doubled = count * 2
4+
$: ({ quadrupled } = { quadrupled: count * 4 })
5+
</script>
6+
7+
{count} / {doubled} / {quadrupled}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<script>
2+
let count = 0;
3+
let doubled = $derived(count * 2);
4+
let { quadrupled } = $derived({ quadrupled: count * 4 });
5+
</script>
6+
7+
{count} / {doubled} / {quadrupled}

0 commit comments

Comments
 (0)