served
uses tcmts.cli.sync.serve, which uses node:zlib
A codebase served (as tcm serve --public serves it, in this process) until the test ends: its URL.
import type { Codebase } from "#codebase/tcmts/cli/codebase"; import { serve } from "#codebase/tcmts/cli/sync"; import type { Keep } from "#codebase/tcmts/cli/test/e2e/contributions"; export async function served(keep: Keep, cb: Codebase): Promise<string> { const server = serve(cb, { host: "127.0.0.1", port: 0, token: "tok", allowRun: false, public: true, showToken: false, }); await new Promise<void>((r) => (server.listening ? r() : server.once("listening", () => r()))); keep({ kill: () => server.close() } as never); return `http://127.0.0.1:${(server.address() as { port: number }).port}`; }