tcmts.cli.test.e2e.web

crawl (url: string, attempts?: number) => Promise<Map<string, string>>
Every module a browser would load for the app, following imports from the entry. While Vite's dependency optimizer is still scanning it can answer with a non-200 (a real browser recovers via Vite's client), so a crawl that meets one starts over.
get (url: string | URL, init?: RequestInit | undefined) => Promise<Response>
fetch, retried once when a pooled keep-alive connection is reset: the server may close an idle socket just as it is reused, which happens when a loaded machine stretches the gaps between requests. Browsers retry these too.
hashOf (dir: string, name: string) => string
The full hash a name points to (`tcm ls` shows short ones).
rpc (url: string, hash: string, args: unknown[]) => Promise<{ status: number; body: string; }>
startDev (keep: <C extends ChildProcess>(c: C) => C, dir: string, app: string) => Promise<{ url: string; out…
Start `tcm dev` in `dir`, kept by `keep`; resolves with its URL and a way to wait for more output.
testDevPlacementAndCallsByHash () => Promise<void>
tcm dev: placement is inferred, server code never reaches the browser, calls cross by hash
waitFor (cond: () => boolean, ms?: number) => Promise<void>