feat(console-web): replace TanStack UI with Solid host pages
- move the management frontend under the wasmeld-console crate - use a persistent Host shell with disposable iframe page documents - version Host/Page postMessage state and command contracts - migrate runtime, service, WIT, invocation, and settings workflows - add Tailwind CSS v4, responsive layouts, and Host-owned dialogs - emit a dependency-free PWA worker with API cache exclusions - remove the superseded root TanStack Start application
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
import assert from "node:assert/strict";
|
||||
import { readFile, stat } from "node:fs/promises";
|
||||
import test from "node:test";
|
||||
|
||||
test("build emits independent host and iframe documents", async () => {
|
||||
const [host, page] = await Promise.all([
|
||||
readFile(new URL("../dist/index.html", import.meta.url), "utf8"),
|
||||
readFile(new URL("../dist/page.html", import.meta.url), "utf8"),
|
||||
]);
|
||||
|
||||
assert.match(host, /Wasmeld Console/);
|
||||
assert.match(page, /Wasmeld Console Page/);
|
||||
assert.notEqual(host, page);
|
||||
});
|
||||
|
||||
test("build emits an installable PWA worker and manifest", async () => {
|
||||
const manifest = JSON.parse(
|
||||
await readFile(new URL("../dist/manifest.webmanifest", import.meta.url), "utf8"),
|
||||
);
|
||||
assert.equal(manifest.short_name, "Wasmeld");
|
||||
assert.equal(manifest.start_url, "/");
|
||||
assert.ok((await stat(new URL("../dist/sw.js", import.meta.url))).size > 0);
|
||||
});
|
||||
Reference in New Issue
Block a user