diff --git a/packages/svelte/src/compiler/migrate/index.js b/packages/svelte/src/compiler/migrate/index.js index f42b859b22..58eeccf428 100644 --- a/packages/svelte/src/compiler/migrate/index.js +++ b/packages/svelte/src/compiler/migrate/index.js @@ -755,22 +755,12 @@ const template = { next(); return; } - // by default we overwrite until the end of the node - 1 - let end = node.end - 1; - // if it has some children we need to overwrite from start to start of the fragment - if (node.fragment.nodes.length > 0) { - end = node.fragment.nodes[0].start; - } else if (!source.endsWith('/>')) { - // special case `` it has no fragment but - // we still can't remove to the node end - end = node.start + source.lastIndexOf('><', node.end) + 1; - } - // if at has some attributes we stop at the start of the first - if (node.attributes.length > 0) { - end = node.attributes[0].start; - } // overwrite the open tag - state.str.overwrite(node.start + 1, end - 1, `${state.names.svelte_self}`); + state.str.overwrite( + node.start + 1, + node.start + 1 + 'svelte:self'.length, + `${state.names.svelte_self}` + ); // if it has a fragment we need to overwrite the closing tag too if (node.fragment.nodes.length > 0) { const start_closing = diff --git a/packages/svelte/tests/migrate/samples/svelte-self-name-conflict/output.svelte b/packages/svelte/tests/migrate/samples/svelte-self-name-conflict/output.svelte index 833fdfbe8e..827d06c3a3 100644 --- a/packages/svelte/tests/migrate/samples/svelte-self-name-conflict/output.svelte +++ b/packages/svelte/tests/migrate/samples/svelte-self-name-conflict/output.svelte @@ -6,7 +6,7 @@ {#if false} - + diff --git a/packages/svelte/tests/migrate/samples/svelte-self/output.svelte b/packages/svelte/tests/migrate/samples/svelte-self/output.svelte index 9d9df592cf..7e7ebae215 100644 --- a/packages/svelte/tests/migrate/samples/svelte-self/output.svelte +++ b/packages/svelte/tests/migrate/samples/svelte-self/output.svelte @@ -5,7 +5,7 @@ {#if false} - +