diff --git a/src/compiler/compile/render_dom/Renderer.ts b/src/compiler/compile/render_dom/Renderer.ts index 81fd4afe78..cf148df304 100644 --- a/src/compiler/compile/render_dom/Renderer.ts +++ b/src/compiler/compile/render_dom/Renderer.ts @@ -59,6 +59,6 @@ export default class Renderer { this.block.assign_variable_names(); - this.fragment.render(this.block, null, x`nodes` as Identifier); + this.fragment.render(this.block, null, x`#nodes` as Identifier); } } diff --git a/src/compiler/compile/render_dom/wrappers/AwaitBlock.ts b/src/compiler/compile/render_dom/wrappers/AwaitBlock.ts index 2dff7a4a14..0a4262181e 100644 --- a/src/compiler/compile/render_dom/wrappers/AwaitBlock.ts +++ b/src/compiler/compile/render_dom/wrappers/AwaitBlock.ts @@ -234,7 +234,7 @@ export default class AwaitBlockWrapper extends Wrapper { `); [this.pending, this.then, this.catch].forEach(branch => { - branch.fragment.render(branch.block, null, x`nodes` as Identifier); + branch.fragment.render(branch.block, null, x`#nodes` as Identifier); }); } } diff --git a/src/compiler/compile/render_dom/wrappers/EachBlock.ts b/src/compiler/compile/render_dom/wrappers/EachBlock.ts index 3caa78a957..c5f6b0766d 100644 --- a/src/compiler/compile/render_dom/wrappers/EachBlock.ts +++ b/src/compiler/compile/render_dom/wrappers/EachBlock.ts @@ -300,10 +300,10 @@ export default class EachBlockWrapper extends Wrapper { `); } - this.fragment.render(this.block, null, x`nodes` as Identifier); + this.fragment.render(this.block, null, x`#nodes` as Identifier); if (this.else) { - this.else.fragment.render(this.else.block, null, x`nodes` as Identifier); + this.else.fragment.render(this.else.block, null, x`#nodes` as Identifier); } } diff --git a/src/compiler/compile/render_dom/wrappers/Element/index.ts b/src/compiler/compile/render_dom/wrappers/Element/index.ts index 788624b820..a8e7ad40a4 100644 --- a/src/compiler/compile/render_dom/wrappers/Element/index.ts +++ b/src/compiler/compile/render_dom/wrappers/Element/index.ts @@ -264,7 +264,7 @@ export default class ElementWrapper extends Wrapper { if (parent_nodes) { block.chunks.claim.push(b` ${node} = ${this.get_claim_statement(parent_nodes)}; - var ${nodes} = @children(${this.node.name === 'template' ? `${node}.content` : node}); + var ${nodes} = @children(${this.node.name === 'template' ? x`${node}.content` : node}); `); } else { block.chunks.claim.push( @@ -321,7 +321,7 @@ export default class ElementWrapper extends Wrapper { this.fragment.nodes.forEach((child: Wrapper) => { child.render( block, - this.node.name === 'template' ? `${node}.content` : node, + this.node.name === 'template' ? x`${node}.content` : node, nodes ); }); @@ -387,9 +387,9 @@ export default class ElementWrapper extends Wrapper { ? this.node.name : this.node.name.toUpperCase(); - return x`@claim_element(${nodes}, "${name}", ${attributes - ? x`{ ${attributes} }` - : x`{}`}, ${this.node.namespace === namespaces.svg ? true : false})`; + const svg = this.node.namespace === namespaces.svg ? 1 : null; + + return x`@claim_element(${nodes}, "${name}", { ${attributes} }, ${svg})`; } add_bindings(block: Block) { diff --git a/src/compiler/compile/render_dom/wrappers/Head.ts b/src/compiler/compile/render_dom/wrappers/Head.ts index 3c9d9f9ad1..188c26931a 100644 --- a/src/compiler/compile/render_dom/wrappers/Head.ts +++ b/src/compiler/compile/render_dom/wrappers/Head.ts @@ -32,6 +32,6 @@ export default class HeadWrapper extends Wrapper { } render(block: Block, _parent_node: Identifier, _parent_nodes: Identifier) { - this.fragment.render(block, x`@_document.head` as unknown as Identifier, x`nodes` as unknown as Identifier); + this.fragment.render(block, x`@_document.head` as unknown as Identifier, x`#nodes` as unknown as Identifier); } } diff --git a/src/compiler/compile/render_dom/wrappers/IfBlock.ts b/src/compiler/compile/render_dom/wrappers/IfBlock.ts index 38826f034f..f521c9399e 100644 --- a/src/compiler/compile/render_dom/wrappers/IfBlock.ts +++ b/src/compiler/compile/render_dom/wrappers/IfBlock.ts @@ -235,7 +235,7 @@ export default class IfBlockWrapper extends Wrapper { } this.branches.forEach(branch => { - branch.fragment.render(branch.block, null, x`nodes` as unknown as Identifier); + branch.fragment.render(branch.block, null, x`#nodes` as unknown as Identifier); }); } diff --git a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts index 86bb0bf15d..3a06464919 100644 --- a/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts +++ b/src/compiler/compile/render_dom/wrappers/InlineComponent/index.ts @@ -157,7 +157,7 @@ export default class InlineComponentWrapper extends Wrapper { const default_slot = this.slots.get('default'); this.fragment.nodes.forEach((child) => { - child.render(default_slot.block, null, x`nodes` as unknown as Identifier); + child.render(default_slot.block, null, x`#nodes` as unknown as Identifier); }); } diff --git a/test/runtime/index.js b/test/runtime/index.js index 7b8986576a..7bc2f18e56 100644 --- a/test/runtime/index.js +++ b/test/runtime/index.js @@ -216,7 +216,7 @@ describe.only("runtime", () => { fs.readdirSync("test/runtime/samples").forEach(dir => { runTest(dir, false); - // runTest(dir, true); + runTest(dir, true); }); async function create_component(src = '
') {