ttsc
Version:
General-purpose TypeScript-Go compiler, runtime, plugin host, and LSP host.
45 lines (44 loc) • 1.38 kB
TypeScript
import type { TtscBuildResult } from "../../structures/internal/TtscBuildResult";
export interface ResidentCheckProcessOptions {
args: readonly string[];
binary: string;
cwd: string;
env: NodeJS.ProcessEnv;
}
export interface ResidentCheckRequest {
changed?: readonly string[];
external?: readonly string[];
invalidate?: boolean;
}
export interface ResidentCheckTelemetry {
pid: number;
programLoads: number;
programUpdates: number;
reused: boolean;
}
export type ResidentCheckResult = TtscBuildResult & {
telemetry: ResidentCheckTelemetry;
};
/**
* FIFO JSON-line client for a check-stage `check-serve` sidecar.
*
* A watch session serializes cycles, but the client still queues replies so a
* caller cannot accidentally pair a late response with the next request. Any
* framing failure retires the process; the launcher then falls back to the
* ordinary one-shot command for that cycle.
*/
export declare class ResidentCheckProcess {
private readonly child;
private readonly pending;
private readonly reader;
private failure;
private stderr;
constructor(options: ResidentCheckProcessOptions);
request(payload: ResidentCheckRequest): Promise<ResidentCheckResult>;
dispose(): void;
private onLine;
private settle;
private fail;
private terminate;
private exitError;
}