UNPKG

nx

Version:

The core Nx plugin contains the core functionality of Nx like the project graph, nx commands and task orchestration.

45 lines (44 loc) 2.23 kB
import type { Socket } from 'net'; export declare const MESSAGE_HEADER_PREFIX = "NX_MSG_"; /** * Ceiling on a single message, in bytes. Payloads are buffered outside the V8 * heap, so `--max-old-space-size` does not bound them and a peer that declares * a huge length would otherwise be allowed to stream until the machine gives * out. The default is four times the ~0.5GiB string ceiling that used to cap * every message, so it clears any payload that previously worked or was meant * to. Set `NX_MAX_MESSAGE_SIZE` to another byte count to change it, or to 0 to * remove the ceiling. The daemon reads it from the env it was spawned with — * clients do not reflect it (see DAEMON_ENV_VARS_EXCLUSIONS) — so changing it * needs a daemon restart (`nx reset`). */ export declare const DEFAULT_MAX_MESSAGE_SIZE: number; export declare function getMaxMessageSize(): number; export declare function frameHeader(payloadLength: number): Buffer; /** * Writes a length-prefixed message. The header and payload are written * separately so a large payload is never copied to prepend its header. */ export declare function writeMessage(socket: Socket, payload: Buffer, callback?: (err?: Error) => void): void; export declare class MessageFramingError extends Error { constructor(message: string); } export declare function consumeMessagesFromSocket(callback: (message: Buffer) => void, onError?: (error: MessageFramingError) => void): (data: Buffer) => void; /** * v8-serialized payloads always begin with the 0xFF version header, which no * JSON document can start with. */ export declare function isJsonMessage(message: Buffer): boolean; /** * Render part of a message for an error message. A v8 payload is binary rather * than utf8 text — its 0xFF header alone can never decode — so it is rendered * as hex instead of as U+FFFD-riddled mojibake. */ export declare function describeMessage(message: Buffer, { maxBytes, from }?: DescribeMessageOptions): string; export interface DescribeMessageOptions { maxBytes?: number; from?: 'start' | 'end'; } /** * Parse a message produced by `serialize()` in `daemon/socket-utils.ts`. */ export declare function parseMessage<T = unknown>(message: Buffer): T;