From 9e9acace2e8cb479e6991aecf5ef0ec54a8420ec Mon Sep 17 00:00:00 2001 From: Torsten Dittmann Date: Tue, 7 Dec 2021 00:51:44 +0100 Subject: [PATCH] fix(runtime): destroy missing fragment --- src/runtime/internal/dom.ts | 2 +- test/runtime/samples/destroy-missing-fragment/_config.js | 5 +++++ .../runtime/samples/destroy-missing-fragment/main.svelte | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 test/runtime/samples/destroy-missing-fragment/_config.js create mode 100644 test/runtime/samples/destroy-missing-fragment/main.svelte diff --git a/src/runtime/internal/dom.ts b/src/runtime/internal/dom.ts index eb3389e3f8..78a2bede33 100644 --- a/src/runtime/internal/dom.ts +++ b/src/runtime/internal/dom.ts @@ -203,7 +203,7 @@ export function insert_hydration(target: NodeEx, node: NodeEx, anchor?: NodeEx) } export function detach(node: Node) { - node.parentNode.removeChild(node); + node.parentNode?.removeChild(node); } export function destroy_each(iterations, detaching) { diff --git a/test/runtime/samples/destroy-missing-fragment/_config.js b/test/runtime/samples/destroy-missing-fragment/_config.js new file mode 100644 index 0000000000..e4e2c0fc78 --- /dev/null +++ b/test/runtime/samples/destroy-missing-fragment/_config.js @@ -0,0 +1,5 @@ +export default { + test({ component }) { + component.$destroy(); + } +}; diff --git a/test/runtime/samples/destroy-missing-fragment/main.svelte b/test/runtime/samples/destroy-missing-fragment/main.svelte new file mode 100644 index 0000000000..ebbf7f1130 --- /dev/null +++ b/test/runtime/samples/destroy-missing-fragment/main.svelte @@ -0,0 +1,9 @@ + + +
\ No newline at end of file