interface DaemonRunOptions
extends Omit<
"reporter" | "reporters" | "plugins" | "open" | "signal"
>

The options a daemon run accepts: everything from UserRunOptions that survives a socket.

A daemon run happens in another process, so a plugin object and a reporter instance cannot come along — they are functions, and functions do not serialize. Rather than accepting them and silently dropping them, they are simply not in this type: the limitation is a compile error at the call site instead of a surprise at run time.

reporter narrows to the built-in names for the same reason. console stays, because it is the client's console for the text the daemon streams back — it never crosses.

const options: DaemonRunOptions = { inputs: ['test/'], reporter: 'tap' };
options.reporter; // 'tap' — a name, not an instance

Properties

optional
reporter: ReporterName | false

One built-in reporter by name, or false. An instance cannot cross a socket.

optional
reporters: ReadonlyArray<ReporterName>

Several built-in reporters by name. Mutually exclusive with reporter, as it is locally.

Usage

import { type DaemonRunOptions } from "lib/commands/daemon/protocol.ts";