@mesh-tech/mesh-cli
Version:
CLI for Mesh platform development utilities
26 lines (25 loc) • 876 B
TypeScript
export interface PortHolder {
pid: number;
command: string;
cwd: string | null;
}
export type PortDecision = {
action: 'free';
} | {
action: 'reclaim';
holder: PortHolder;
reason: string;
} | {
action: 'refuse';
holder: PortHolder;
reason: string;
};
export declare function decidePortHolder(holder: PortHolder | null, worktreeRoot: string, livePids: ReadonlySet<number>): PortDecision;
export declare function isInside(child: string, root: string): boolean;
export declare function describePortHolder(port: number): PortHolder | null;
export declare function parseLsofCwd(out: string): string | null;
export declare function reclaimPort(port: number, holder: PortHolder, opts: {
timeoutMs?: number;
isPortFree: (port: number) => Promise<boolean>;
kill?: (pid: number, signal: NodeJS.Signals) => void;
}): Promise<boolean>;