From 183e0911b76025a1f2a82e979d9834fec2131d0e Mon Sep 17 00:00:00 2001 From: Frank Date: Fri, 8 Aug 2025 13:22:54 -0400 Subject: wip: gateway --- cloud/web/scripts/render.mjs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 cloud/web/scripts/render.mjs (limited to 'cloud/web/scripts/render.mjs') diff --git a/cloud/web/scripts/render.mjs b/cloud/web/scripts/render.mjs new file mode 100644 index 000000000..5ccb35ff1 --- /dev/null +++ b/cloud/web/scripts/render.mjs @@ -0,0 +1,24 @@ +import fs from "fs" +import path from "path" +import { generateHydrationScript, getAssets } from "solid-js/web" + +const dist = import.meta.resolve("../dist").replace("file://", "") +const serverEntry = await import("../dist/server/entry-server.js") +const template = fs.readFileSync(path.join(dist, "client/index.html"), "utf-8") +fs.writeFileSync(path.join(dist, "client/fallback.html"), template) + +const routes = ["/", "/foo"] +for (const route of routes) { + const { app } = serverEntry.render({ url: route }) + const html = template + .replace("", app) + .replace("", generateHydrationScript()) + .replace("", getAssets()) + const filePath = dist + `/client${route === "/" ? "/index" : route}.html` + fs.mkdirSync(path.dirname(filePath), { + recursive: true, + }) + fs.writeFileSync(filePath, html) + + console.log(`Pre-rendered: ${filePath}`) +} -- cgit v1.2.3