type alias FallbackPage

Why a run is showing something other than its tests: the last esbuild run failed, or every test file compiled but registered 0 QUnit tests (files holds their display paths).

A single slot rather than two: both conditions can be live at once (a run that registers no tests and then throws), and every reader has always checked the build error first — so last-write-wins on one slot reproduces that precedence, with the throw overwriting the warning.

const fallback: FallbackPage = { kind: 'no-tests', files: ['test/empty-test.ts'] };
if (fallback.kind === 'no-tests') fallback.files; // `kind` narrows — ['test/empty-test.ts']

Definition

{ kind: "build-error"; error: BuildError; }
| { kind: "no-tests"; files: string[]; }

Usage

import { type FallbackPage } from "lib/types.ts";