diff --git a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts index 4b1e787cbe..55286c3d56 100644 --- a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts +++ b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts @@ -484,7 +484,7 @@ export default class InlineComponentWrapper extends Wrapper { b`if (${name}) @transition_out(${name}.$$.fragment, #local);` ); - block.chunks.destroy.push(b`if (${name}) @destroy_component(${name}, ${parent_node ? null : 'detaching'});`); + block.chunks.destroy.splice(-1, 0, b`if (${name}) @destroy_component(${name}, ${parent_node ? null : 'detaching'});`); } else { const expression = this.node.name === 'svelte:self' ? component.name @@ -523,7 +523,7 @@ export default class InlineComponentWrapper extends Wrapper { `); } - block.chunks.destroy.push(b` + block.chunks.destroy.splice(-1, 0, b` @destroy_component(${name}, ${parent_node ? null : 'detaching'}); `); diff --git a/test/js/samples/component-static-var/expected.js b/test/js/samples/component-static-var/expected.js index c032a0636d..b4031a70ad 100644 --- a/test/js/samples/component-static-var/expected.js +++ b/test/js/samples/component-static-var/expected.js @@ -69,8 +69,8 @@ function create_fragment(ctx) { }, d(detaching) { destroy_component(foo, detaching); - if (detaching) detach(t0); destroy_component(bar, detaching); + if (detaching) detach(t0); if (detaching) detach(t1); if (detaching) detach(input); dispose(); diff --git a/test/js/samples/non-imported-component/expected.js b/test/js/samples/non-imported-component/expected.js index 2784fd17ac..621a40c5c5 100644 --- a/test/js/samples/non-imported-component/expected.js +++ b/test/js/samples/non-imported-component/expected.js @@ -48,8 +48,8 @@ function create_fragment(ctx) { }, d(detaching) { destroy_component(imported, detaching); - if (detaching) detach(t); destroy_component(nonimported, detaching); + if (detaching) detach(t); } }; }