summary
uses tcmts.cli.style.dim, which uses node:util
import { dim, green, red } from "#codebase/tcmts/cli/style"; import type { TestOutcome } from "#codebase/tcmts/cli/testing"; export function summary(outcomes: TestOutcome[]): string { const failed = outcomes.filter((o) => !o.result.ok).length; const cached = outcomes.filter((o) => o.cached).length; const text = `${outcomes.length - failed} passed, ${failed} failed${cached ? dim(` (${cached} cached)`) : ""}`; return failed ? red(text) : green(text); }