UNPKG

solid-register

Version:

integrated package to run solid browser code in node

33 lines (32 loc) 1.36 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const read_config_1 = require("./read-config"); const register_dom_1 = require("./register-dom"); const url = (typeof read_config_1.config.dom === "object" && read_config_1.config.dom.url) || "https://localhost:3000"; try { const Window = require("happy-dom").Window; const window = new Window(); window.location.href = url; // patch template element to support innerHTML if necessary, // see https://github.com/capricorn86/happy-dom/issues/451: const t = window.document.createElement("template"); t.innerHTML = "test"; if (!t.innerHTML) { Object.defineProperty(window.HTMLTemplateElement.prototype, "innerHTML", { get: function () { const xmlSerializer = new window.XMLSerializer(); let xml = ""; for (const node of this.content.childNodes) { xml += xmlSerializer.serializeToString(node); } return xml; }, set: Object.getOwnPropertyDescriptor(window.Element.prototype, "innerHTML")?.set, }); } (0, register_dom_1.registerDom)(window); } catch (e) { console.warn("\x1b[33m⚠️ package missing to run the configured dom.\n Please run:\x1b[0m\n\nnpm i --save-dev happy-dom\n"); }