aboutsummaryrefslogtreecommitdiffstats
path: root/node_modules/concurrently/dist/src/command.d.ts
diff options
context:
space:
mode:
authorPinapelz <yukais@pinapelz.com>2025-06-28 17:26:46 -0700
committerPinapelz <yukais@pinapelz.com>2025-06-28 17:43:56 -0700
commite4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 (patch)
tree06284a538a6008eca75051399e47db4e5d50301c /node_modules/concurrently/dist/src/command.d.ts
initial commit: scaffolding
Diffstat (limited to 'node_modules/concurrently/dist/src/command.d.ts')
-rw-r--r--node_modules/concurrently/dist/src/command.d.ts121
1 files changed, 121 insertions, 0 deletions
diff --git a/node_modules/concurrently/dist/src/command.d.ts b/node_modules/concurrently/dist/src/command.d.ts
new file mode 100644
index 0000000..84c6298
--- /dev/null
+++ b/node_modules/concurrently/dist/src/command.d.ts
@@ -0,0 +1,121 @@
+/// <reference types="node" />
+/// <reference types="node" />
+/// <reference types="node" />
+/// <reference types="node" />
+import { ChildProcess as BaseChildProcess, SpawnOptions } from 'child_process';
+import * as Rx from 'rxjs';
+import { EventEmitter, Writable } from 'stream';
+/**
+ * Identifier for a command; if string, it's the command's name, if number, it's the index.
+ */
+export type CommandIdentifier = string | number;
+export interface CommandInfo {
+ /**
+ * Command's name.
+ */
+ name: string;
+ /**
+ * Which command line the command has.
+ */
+ command: string;
+ /**
+ * Which environment variables should the spawned process have.
+ */
+ env?: Record<string, unknown>;
+ /**
+ * The current working directory of the process when spawned.
+ */
+ cwd?: string;
+ /**
+ * Color to use on prefix of the command.
+ */
+ prefixColor?: string;
+ /**
+ * Output command in raw format.
+ */
+ raw?: boolean;
+}
+export interface CloseEvent {
+ command: CommandInfo;
+ /**
+ * The command's index among all commands ran.
+ */
+ index: number;
+ /**
+ * Whether the command exited because it was killed.
+ */
+ killed: boolean;
+ /**
+ * The exit code or signal for the command.
+ */
+ exitCode: string | number;
+ timings: {
+ startDate: Date;
+ endDate: Date;
+ durationSeconds: number;
+ };
+}
+export interface TimerEvent {
+ startDate: Date;
+ endDate?: Date;
+}
+/**
+ * Subtype of NodeJS's child_process including only what's actually needed for a command to work.
+ */
+export type ChildProcess = EventEmitter & Pick<BaseChildProcess, 'pid' | 'stdin' | 'stdout' | 'stderr'>;
+/**
+ * Interface for a function that must kill the process with `pid`, optionally sending `signal` to it.
+ */
+export type KillProcess = (pid: number, signal?: string) => void;
+/**
+ * Interface for a function that spawns a command and returns its child process instance.
+ */
+export type SpawnCommand = (command: string, options: SpawnOptions) => ChildProcess;
+export declare class Command implements CommandInfo {
+ private readonly killProcess;
+ private readonly spawn;
+ private readonly spawnOpts;
+ readonly index: number;
+ /** @inheritdoc */
+ readonly name: string;
+ /** @inheritdoc */
+ readonly command: string;
+ /** @inheritdoc */
+ readonly prefixColor?: string;
+ /** @inheritdoc */
+ readonly env: Record<string, unknown>;
+ /** @inheritdoc */
+ readonly cwd?: string;
+ readonly close: Rx.Subject<CloseEvent>;
+ readonly error: Rx.Subject<unknown>;
+ readonly stdout: Rx.Subject<Buffer>;
+ readonly stderr: Rx.Subject<Buffer>;
+ readonly timer: Rx.Subject<TimerEvent>;
+ process?: ChildProcess;
+ stdin?: Writable;
+ pid?: number;
+ killed: boolean;
+ exited: boolean;
+ /** @deprecated */
+ get killable(): boolean;
+ constructor({ index, name, command, prefixColor, env, cwd }: CommandInfo & {
+ index: number;
+ }, spawnOpts: SpawnOptions, spawn: SpawnCommand, killProcess: KillProcess);
+ /**
+ * Starts this command, piping output, error and close events onto the corresponding observables.
+ */
+ start(): void;
+ /**
+ * Kills this command, optionally specifying a signal to send to it.
+ */
+ kill(code?: string): void;
+ /**
+ * Detects whether a command can be killed.
+ *
+ * Also works as a type guard on the input `command`.
+ */
+ static canKill(command: Command): command is Command & {
+ pid: number;
+ process: ChildProcess;
+ };
+}
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage