Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/cool-apes-confess.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
'svelte': patch
---

fix: moving deriveds during migration deletes part of the inserted code
2 changes: 1 addition & 1 deletion packages/svelte/src/compiler/migrate/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ export function migrate(source, { filename } = {}) {
const { start, end } = get_node_range(source, node);
str.appendLeft(end, '\n');
str.move(start, end, /** @type {number} */ (parsed.instance?.content.end));
str.remove(start - (source[start - 2] === '\r' ? 2 : 1), start);
str.update(start - (source[start - 2] === '\r' ? 2 : 1), start, '');
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<script>
export let data
$: ({ foo } = data)

import { blah } from './blah.js'

let bar
$: {
bar = []
let baz
}
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<script>
import { run } from 'svelte/legacy';


import { blah } from './blah.js'
/** @type {{data: any}} */
let { data } = $props();

let bar = $state()
let { foo } = $derived(data)
run(() => {
bar = []
let baz
});
</script>