123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408 |
- declare module 'process' {
- import * as tty from 'tty';
-
- global {
- var process: NodeJS.Process;
-
- namespace NodeJS {
- // this namespace merge is here because these are specifically used
- // as the type for process.stdin, process.stdout, and process.stderr.
- // they can't live in tty.d.ts because we need to disambiguate the imported name.
- interface ReadStream extends tty.ReadStream {}
- interface WriteStream extends tty.WriteStream {}
-
- interface MemoryUsage {
- rss: number;
- heapTotal: number;
- heapUsed: number;
- external: number;
- arrayBuffers: number;
- }
-
- interface CpuUsage {
- user: number;
- system: number;
- }
-
- interface ProcessRelease {
- name: string;
- sourceUrl?: string;
- headersUrl?: string;
- libUrl?: string;
- lts?: string;
- }
-
- interface ProcessVersions extends Dict<string> {
- http_parser: string;
- node: string;
- v8: string;
- ares: string;
- uv: string;
- zlib: string;
- modules: string;
- openssl: string;
- }
-
- type Platform = 'aix'
- | 'android'
- | 'darwin'
- | 'freebsd'
- | 'linux'
- | 'openbsd'
- | 'sunos'
- | 'win32'
- | 'cygwin'
- | 'netbsd';
-
- type Signals =
- "SIGABRT" | "SIGALRM" | "SIGBUS" | "SIGCHLD" | "SIGCONT" | "SIGFPE" | "SIGHUP" | "SIGILL" | "SIGINT" | "SIGIO" |
- "SIGIOT" | "SIGKILL" | "SIGPIPE" | "SIGPOLL" | "SIGPROF" | "SIGPWR" | "SIGQUIT" | "SIGSEGV" | "SIGSTKFLT" |
- "SIGSTOP" | "SIGSYS" | "SIGTERM" | "SIGTRAP" | "SIGTSTP" | "SIGTTIN" | "SIGTTOU" | "SIGUNUSED" | "SIGURG" |
- "SIGUSR1" | "SIGUSR2" | "SIGVTALRM" | "SIGWINCH" | "SIGXCPU" | "SIGXFSZ" | "SIGBREAK" | "SIGLOST" | "SIGINFO";
-
- type MultipleResolveType = 'resolve' | 'reject';
-
- type BeforeExitListener = (code: number) => void;
- type DisconnectListener = () => void;
- type ExitListener = (code: number) => void;
- type RejectionHandledListener = (promise: Promise<any>) => void;
- type UncaughtExceptionListener = (error: Error) => void;
- type UnhandledRejectionListener = (reason: {} | null | undefined, promise: Promise<any>) => void;
- type WarningListener = (warning: Error) => void;
- type MessageListener = (message: any, sendHandle: any) => void;
- type SignalsListener = (signal: Signals) => void;
- type NewListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void;
- type RemoveListenerListener = (type: string | symbol, listener: (...args: any[]) => void) => void;
- type MultipleResolveListener = (type: MultipleResolveType, promise: Promise<any>, value: any) => void;
-
- interface Socket extends ReadWriteStream {
- isTTY?: true;
- }
-
- // Alias for compatibility
- interface ProcessEnv extends Dict<string> {}
-
- interface HRTime {
- (time?: [number, number]): [number, number];
- bigint(): bigint;
- }
-
- interface ProcessReport {
- /**
- * Directory where the report is written.
- * working directory of the Node.js process.
- * @default '' indicating that reports are written to the current
- */
- directory: string;
-
- /**
- * Filename where the report is written.
- * The default value is the empty string.
- * @default '' the output filename will be comprised of a timestamp,
- * PID, and sequence number.
- */
- filename: string;
-
- /**
- * Returns a JSON-formatted diagnostic report for the running process.
- * The report's JavaScript stack trace is taken from err, if present.
- */
- getReport(err?: Error): string;
-
- /**
- * If true, a diagnostic report is generated on fatal errors,
- * such as out of memory errors or failed C++ assertions.
- * @default false
- */
- reportOnFatalError: boolean;
-
- /**
- * If true, a diagnostic report is generated when the process
- * receives the signal specified by process.report.signal.
- * @defaul false
- */
- reportOnSignal: boolean;
-
- /**
- * If true, a diagnostic report is generated on uncaught exception.
- * @default false
- */
- reportOnUncaughtException: boolean;
-
- /**
- * The signal used to trigger the creation of a diagnostic report.
- * @default 'SIGUSR2'
- */
- signal: Signals;
-
- /**
- * Writes a diagnostic report to a file. If filename is not provided, the default filename
- * includes the date, time, PID, and a sequence number.
- * The report's JavaScript stack trace is taken from err, if present.
- *
- * @param fileName Name of the file where the report is written.
- * This should be a relative path, that will be appended to the directory specified in
- * `process.report.directory`, or the current working directory of the Node.js process,
- * if unspecified.
- * @param error A custom error used for reporting the JavaScript stack.
- * @return Filename of the generated report.
- */
- writeReport(fileName?: string): string;
- writeReport(error?: Error): string;
- writeReport(fileName?: string, err?: Error): string;
- }
-
- interface ResourceUsage {
- fsRead: number;
- fsWrite: number;
- involuntaryContextSwitches: number;
- ipcReceived: number;
- ipcSent: number;
- majorPageFault: number;
- maxRSS: number;
- minorPageFault: number;
- sharedMemorySize: number;
- signalsCount: number;
- swappedOut: number;
- systemCPUTime: number;
- unsharedDataSize: number;
- unsharedStackSize: number;
- userCPUTime: number;
- voluntaryContextSwitches: number;
- }
-
- interface Process extends EventEmitter {
- /**
- * Can also be a tty.WriteStream, not typed due to limitations.
- */
- stdout: WriteStream & {
- fd: 1;
- };
- /**
- * Can also be a tty.WriteStream, not typed due to limitations.
- */
- stderr: WriteStream & {
- fd: 2;
- };
- stdin: ReadStream & {
- fd: 0;
- };
- openStdin(): Socket;
- argv: string[];
- argv0: string;
- execArgv: string[];
- execPath: string;
- abort(): never;
- chdir(directory: string): void;
- cwd(): string;
- debugPort: number;
- emitWarning(warning: string | Error, name?: string, ctor?: Function): void;
- env: ProcessEnv;
- exit(code?: number): never;
- exitCode?: number;
- getgid(): number;
- setgid(id: number | string): void;
- getuid(): number;
- setuid(id: number | string): void;
- geteuid(): number;
- seteuid(id: number | string): void;
- getegid(): number;
- setegid(id: number | string): void;
- getgroups(): number[];
- setgroups(groups: ReadonlyArray<string | number>): void;
- setUncaughtExceptionCaptureCallback(cb: ((err: Error) => void) | null): void;
- hasUncaughtExceptionCaptureCallback(): boolean;
- version: string;
- versions: ProcessVersions;
- config: {
- target_defaults: {
- cflags: any[];
- default_configuration: string;
- defines: string[];
- include_dirs: string[];
- libraries: string[];
- };
- variables: {
- clang: number;
- host_arch: string;
- node_install_npm: boolean;
- node_install_waf: boolean;
- node_prefix: string;
- node_shared_openssl: boolean;
- node_shared_v8: boolean;
- node_shared_zlib: boolean;
- node_use_dtrace: boolean;
- node_use_etw: boolean;
- node_use_openssl: boolean;
- target_arch: string;
- v8_no_strict_aliasing: number;
- v8_use_snapshot: boolean;
- visibility: string;
- };
- };
- kill(pid: number, signal?: string | number): true;
- pid: number;
- ppid: number;
- title: string;
- arch: string;
- platform: Platform;
- /** @deprecated since v14.0.0 - use `require.main` instead. */
- mainModule?: Module;
- memoryUsage(): MemoryUsage;
- cpuUsage(previousValue?: CpuUsage): CpuUsage;
- nextTick(callback: Function, ...args: any[]): void;
- release: ProcessRelease;
- features: {
- inspector: boolean;
- debug: boolean;
- uv: boolean;
- ipv6: boolean;
- tls_alpn: boolean;
- tls_sni: boolean;
- tls_ocsp: boolean;
- tls: boolean;
- };
- /**
- * @deprecated since v14.0.0 - Calling process.umask() with no argument causes
- * the process-wide umask to be written twice. This introduces a race condition between threads,
- * and is a potential security vulnerability. There is no safe, cross-platform alternative API.
- */
- umask(): number;
- /**
- * Can only be set if not in worker thread.
- */
- umask(mask: string | number): number;
- uptime(): number;
- hrtime: HRTime;
- domain: Domain;
-
- // Worker
- send?(message: any, sendHandle?: any, options?: { swallowErrors?: boolean}, callback?: (error: Error | null) => void): boolean;
- disconnect(): void;
- connected: boolean;
-
- /**
- * The `process.allowedNodeEnvironmentFlags` property is a special,
- * read-only `Set` of flags allowable within the [`NODE_OPTIONS`][]
- * environment variable.
- */
- allowedNodeEnvironmentFlags: ReadonlySet<string>;
-
- /**
- * Only available with `--experimental-report`
- */
- report?: ProcessReport;
-
- resourceUsage(): ResourceUsage;
-
- traceDeprecation: boolean;
-
- /* EventEmitter */
- addListener(event: "beforeExit", listener: BeforeExitListener): this;
- addListener(event: "disconnect", listener: DisconnectListener): this;
- addListener(event: "exit", listener: ExitListener): this;
- addListener(event: "rejectionHandled", listener: RejectionHandledListener): this;
- addListener(event: "uncaughtException", listener: UncaughtExceptionListener): this;
- addListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this;
- addListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
- addListener(event: "warning", listener: WarningListener): this;
- addListener(event: "message", listener: MessageListener): this;
- addListener(event: Signals, listener: SignalsListener): this;
- addListener(event: "newListener", listener: NewListenerListener): this;
- addListener(event: "removeListener", listener: RemoveListenerListener): this;
- addListener(event: "multipleResolves", listener: MultipleResolveListener): this;
-
- emit(event: "beforeExit", code: number): boolean;
- emit(event: "disconnect"): boolean;
- emit(event: "exit", code: number): boolean;
- emit(event: "rejectionHandled", promise: Promise<any>): boolean;
- emit(event: "uncaughtException", error: Error): boolean;
- emit(event: "uncaughtExceptionMonitor", error: Error): boolean;
- emit(event: "unhandledRejection", reason: any, promise: Promise<any>): boolean;
- emit(event: "warning", warning: Error): boolean;
- emit(event: "message", message: any, sendHandle: any): this;
- emit(event: Signals, signal: Signals): boolean;
- emit(event: "newListener", eventName: string | symbol, listener: (...args: any[]) => void): this;
- emit(event: "removeListener", eventName: string, listener: (...args: any[]) => void): this;
- emit(event: "multipleResolves", listener: MultipleResolveListener): this;
-
- on(event: "beforeExit", listener: BeforeExitListener): this;
- on(event: "disconnect", listener: DisconnectListener): this;
- on(event: "exit", listener: ExitListener): this;
- on(event: "rejectionHandled", listener: RejectionHandledListener): this;
- on(event: "uncaughtException", listener: UncaughtExceptionListener): this;
- on(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this;
- on(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
- on(event: "warning", listener: WarningListener): this;
- on(event: "message", listener: MessageListener): this;
- on(event: Signals, listener: SignalsListener): this;
- on(event: "newListener", listener: NewListenerListener): this;
- on(event: "removeListener", listener: RemoveListenerListener): this;
- on(event: "multipleResolves", listener: MultipleResolveListener): this;
- on(event: string | symbol, listener: (...args: any[]) => void): this;
-
- once(event: "beforeExit", listener: BeforeExitListener): this;
- once(event: "disconnect", listener: DisconnectListener): this;
- once(event: "exit", listener: ExitListener): this;
- once(event: "rejectionHandled", listener: RejectionHandledListener): this;
- once(event: "uncaughtException", listener: UncaughtExceptionListener): this;
- once(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this;
- once(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
- once(event: "warning", listener: WarningListener): this;
- once(event: "message", listener: MessageListener): this;
- once(event: Signals, listener: SignalsListener): this;
- once(event: "newListener", listener: NewListenerListener): this;
- once(event: "removeListener", listener: RemoveListenerListener): this;
- once(event: "multipleResolves", listener: MultipleResolveListener): this;
-
- prependListener(event: "beforeExit", listener: BeforeExitListener): this;
- prependListener(event: "disconnect", listener: DisconnectListener): this;
- prependListener(event: "exit", listener: ExitListener): this;
- prependListener(event: "rejectionHandled", listener: RejectionHandledListener): this;
- prependListener(event: "uncaughtException", listener: UncaughtExceptionListener): this;
- prependListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this;
- prependListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
- prependListener(event: "warning", listener: WarningListener): this;
- prependListener(event: "message", listener: MessageListener): this;
- prependListener(event: Signals, listener: SignalsListener): this;
- prependListener(event: "newListener", listener: NewListenerListener): this;
- prependListener(event: "removeListener", listener: RemoveListenerListener): this;
- prependListener(event: "multipleResolves", listener: MultipleResolveListener): this;
-
- prependOnceListener(event: "beforeExit", listener: BeforeExitListener): this;
- prependOnceListener(event: "disconnect", listener: DisconnectListener): this;
- prependOnceListener(event: "exit", listener: ExitListener): this;
- prependOnceListener(event: "rejectionHandled", listener: RejectionHandledListener): this;
- prependOnceListener(event: "uncaughtException", listener: UncaughtExceptionListener): this;
- prependOnceListener(event: "uncaughtExceptionMonitor", listener: UncaughtExceptionListener): this;
- prependOnceListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
- prependOnceListener(event: "warning", listener: WarningListener): this;
- prependOnceListener(event: "message", listener: MessageListener): this;
- prependOnceListener(event: Signals, listener: SignalsListener): this;
- prependOnceListener(event: "newListener", listener: NewListenerListener): this;
- prependOnceListener(event: "removeListener", listener: RemoveListenerListener): this;
- prependOnceListener(event: "multipleResolves", listener: MultipleResolveListener): this;
-
- listeners(event: "beforeExit"): BeforeExitListener[];
- listeners(event: "disconnect"): DisconnectListener[];
- listeners(event: "exit"): ExitListener[];
- listeners(event: "rejectionHandled"): RejectionHandledListener[];
- listeners(event: "uncaughtException"): UncaughtExceptionListener[];
- listeners(event: "uncaughtExceptionMonitor"): UncaughtExceptionListener[];
- listeners(event: "unhandledRejection"): UnhandledRejectionListener[];
- listeners(event: "warning"): WarningListener[];
- listeners(event: "message"): MessageListener[];
- listeners(event: Signals): SignalsListener[];
- listeners(event: "newListener"): NewListenerListener[];
- listeners(event: "removeListener"): RemoveListenerListener[];
- listeners(event: "multipleResolves"): MultipleResolveListener[];
- }
-
- interface Global {
- process: Process;
- }
- }
- }
-
- export = process;
- }
|