served

tcmts.registry.test.served · #dtoxm2fo · term · runs on the server

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}`;
}

uses

used by