ryansolid / dom-expressions

A Fine-Grained Runtime for Performant DOM Rendering
MIT License
865 stars 124 forks source link

[bug] [lit-dom-expressions] comments in HTML template cause runtime error #130

Closed trusktr closed 2 years ago

trusktr commented 2 years ago

For example:

import { render } from "solid-js/web";
import html from "solid-js/html";

function Counter() {
  return html`
    <lume-scene>
      <lume-ambient-light color="white" intensity="0.4"></lume-ambient-light>
      <lume-node size-mode="proportional proportional" size="1 1" style="border: 5px solid red;"></lume-node>
      <lume-cube-layout size="1000 1000 1000" position="0 0 0" mount-point="0.5 0.5" align-point="0.5 0.5">
      </lume-cube-layout>

      <!-- picture frame container -------------------------------->
      <lume-node size="160 200 15" mount-point="0.5 0.5" align-point="0.5 0.5">

        <lume-box
          id="box"
        ></lume-box>

        <!-- frame edges -------------------------->
        <lume-node size-mode="proportional proportional" size="1 1">
        </lume-node>

        <!-- corner clips -------------------------->
        <lume-node size-mode="proportional proportional" size="1 1">
        </lume-node>
      </lume-node>
    </lume-scene>
  `;
}

render(() => <Counter />, document.getElementById("app"));

error:

Uncaught (in promise) TypeError: Cannot read properties of null (reading 'nextSibling')
    at HTMLTemplateElement.eval [as create] (eval at parseTemplate (html.js:480:53), <anonymous>:9:15)
    ...

Playground reproduction