@types/node 22.15.33 → 22.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (79) hide show
  1. node v22.19/README.md +15 -0
  2. node v22.19/assert/strict.d.ts +111 -0
  3. {node v22.15 → node v22.19}/assert.d.ts +119 -95
  4. {node v22.15 → node v22.19}/buffer.buffer.d.ts +9 -0
  5. {node v22.15 → node v22.19}/buffer.d.ts +14 -6
  6. {node v22.15 → node v22.19}/child_process.d.ts +89 -162
  7. {node v22.15 → node v22.19}/cluster.d.ts +4 -5
  8. {node v22.15 → node v22.19}/crypto.d.ts +203 -167
  9. {node v22.15 → node v22.19}/dgram.d.ts +9 -8
  10. {node v22.15 → node v22.19}/dns/promises.d.ts +11 -10
  11. {node v22.15 → node v22.19}/dns.d.ts +24 -20
  12. {node v22.15 → node v22.19}/events.d.ts +80 -35
  13. {node v22.15 → node v22.19}/fs/promises.d.ts +78 -56
  14. {node v22.15 → node v22.19}/fs.d.ts +153 -129
  15. node v22.19/globals.d.ts +172 -0
  16. node v22.19/globals.typedarray.d.ts +38 -0
  17. {node v22.15 → node v22.19}/http.d.ts +140 -35
  18. {node v22.15 → node v22.19}/http2.d.ts +45 -26
  19. {node v22.15 → node v22.19}/https.d.ts +96 -62
  20. {node v22.15 → node v22.19}/index.d.ts +7 -2
  21. node v22.19/inspector.d.ts +253 -0
  22. node v22.15/inspector.d.ts → node v22.19/inspector.generated.d.ts +880 -830
  23. {node v22.15 → node v22.19}/module.d.ts +70 -13
  24. {node v22.15 → node v22.19}/net.d.ts +33 -11
  25. {node v22.15 → node v22.19}/os.d.ts +14 -3
  26. {node v22.15 → node v22.19}/package.json +3 -83
  27. {node v22.15 → node v22.19}/perf_hooks.d.ts +6 -8
  28. {node v22.15 → node v22.19}/process.d.ts +34 -27
  29. {node v22.15 → node v22.19}/readline/promises.d.ts +1 -2
  30. {node v22.15 → node v22.19}/repl.d.ts +3 -5
  31. {node v22.15 → node v22.19}/sqlite.d.ts +219 -6
  32. {node v22.15 → node v22.19}/stream/consumers.d.ts +2 -2
  33. {node v22.15 → node v22.19}/stream/web.d.ts +8 -0
  34. {node v22.15 → node v22.19}/stream.d.ts +29 -33
  35. {node v22.15 → node v22.19}/string_decoder.d.ts +2 -2
  36. node v22.19/test.d.ts +2162 -0
  37. {node v22.15 → node v22.19}/tls.d.ts +122 -66
  38. {node v22.15 → node v22.19}/ts5.6/buffer.buffer.d.ts +10 -2
  39. node v22.19/ts5.6/globals.typedarray.d.ts +34 -0
  40. {node v22.15 → node v22.19}/ts5.6/index.d.ts +7 -2
  41. {node v22.15 → node v22.19}/url.d.ts +21 -9
  42. {node v22.15 → node v22.19}/util.d.ts +32 -10
  43. {node v22.15 → node v22.19}/v8.d.ts +33 -35
  44. {node v22.15 → node v22.19}/vm.d.ts +21 -50
  45. {node v22.15 → node v22.19}/wasi.d.ts +1 -1
  46. node v22.19/web-globals/abortcontroller.d.ts +34 -0
  47. node v22.19/web-globals/domexception.d.ts +68 -0
  48. node v22.15/dom-events.d.ts → node v22.19/web-globals/events.d.ts +49 -51
  49. node v22.19/web-globals/fetch.d.ts +46 -0
  50. node v22.19/web-globals/navigator.d.ts +22 -0
  51. node v22.19/web-globals/storage.d.ts +24 -0
  52. {node v22.15 → node v22.19}/worker_threads.d.ts +93 -67
  53. {node v22.15 → node v22.19}/zlib.d.ts +39 -26
  54. node v22.15/README.md +0 -15
  55. node v22.15/assert/strict.d.ts +0 -8
  56. node v22.15/globals.d.ts +0 -364
  57. node v22.15/globals.typedarray.d.ts +0 -21
  58. node v22.15/test.d.ts +0 -2278
  59. node v22.15/ts5.6/globals.typedarray.d.ts +0 -19
  60. {node v22.15 → node v22.19}/LICENSE +0 -0
  61. {node v22.15 → node v22.19}/async_hooks.d.ts +1 -1
  62. {node v22.15 → node v22.19}/compatibility/disposable.d.ts +0 -0
  63. {node v22.15 → node v22.19}/compatibility/index.d.ts +0 -0
  64. {node v22.15 → node v22.19}/compatibility/indexable.d.ts +0 -0
  65. {node v22.15 → node v22.19}/compatibility/iterators.d.ts +0 -0
  66. {node v22.15 → node v22.19}/console.d.ts +0 -0
  67. {node v22.15 → node v22.19}/constants.d.ts +0 -0
  68. {node v22.15 → node v22.19}/diagnostics_channel.d.ts +0 -0
  69. {node v22.15 → node v22.19}/domain.d.ts +0 -0
  70. {node v22.15 → node v22.19}/path.d.ts +0 -0
  71. {node v22.15 → node v22.19}/punycode.d.ts +0 -0
  72. {node v22.15 → node v22.19}/querystring.d.ts +0 -0
  73. {node v22.15 → node v22.19}/readline.d.ts +0 -0
  74. {node v22.15 → node v22.19}/sea.d.ts +0 -0
  75. {node v22.15 → node v22.19}/stream/promises.d.ts +0 -0
  76. {node v22.15 → node v22.19}/timers/promises.d.ts +0 -0
  77. {node v22.15 → node v22.19}/timers.d.ts +0 -0
  78. {node v22.15 → node v22.19}/trace_events.d.ts +0 -0
  79. {node v22.15 → node v22.19}/tty.d.ts +0 -0
@@ -623,34 +623,91 @@ declare module "module" {
623
623
  global {
624
624
  interface ImportMeta {
625
625
  /**
626
- * The directory name of the current module. This is the same as the `path.dirname()` of the `import.meta.filename`.
627
- * **Caveat:** only present on `file:` modules.
626
+ * The directory name of the current module.
627
+ *
628
+ * This is the same as the `path.dirname()` of the `import.meta.filename`.
629
+ *
630
+ * > **Caveat**: only present on `file:` modules.
631
+ * @since v21.2.0, v20.11.0
628
632
  */
629
633
  dirname: string;
630
634
  /**
631
- * The full absolute path and filename of the current module, with symlinks resolved.
635
+ * The full absolute path and filename of the current module, with
636
+ * symlinks resolved.
637
+ *
632
638
  * This is the same as the `url.fileURLToPath()` of the `import.meta.url`.
633
- * **Caveat:** only local modules support this property. Modules not using the `file:` protocol will not provide it.
639
+ *
640
+ * > **Caveat** only local modules support this property. Modules not using the
641
+ * > `file:` protocol will not provide it.
642
+ * @since v21.2.0, v20.11.0
634
643
  */
635
644
  filename: string;
636
645
  /**
637
646
  * The absolute `file:` URL of the module.
647
+ *
648
+ * This is defined exactly the same as it is in browsers providing the URL of the
649
+ * current module file.
650
+ *
651
+ * This enables useful patterns such as relative file loading:
652
+ *
653
+ * ```js
654
+ * import { readFileSync } from 'node:fs';
655
+ * const buffer = readFileSync(new URL('./data.proto', import.meta.url));
656
+ * ```
638
657
  */
639
658
  url: string;
640
659
  /**
641
- * Provides a module-relative resolution function scoped to each module, returning
642
- * the URL string.
660
+ * `import.meta.resolve` is a module-relative resolution function scoped to
661
+ * each module, returning the URL string.
662
+ *
663
+ * ```js
664
+ * const dependencyAsset = import.meta.resolve('component-lib/asset.css');
665
+ * // file:///app/node_modules/component-lib/asset.css
666
+ * import.meta.resolve('./dep.js');
667
+ * // file:///app/dep.js
668
+ * ```
669
+ *
670
+ * All features of the Node.js module resolution are supported. Dependency
671
+ * resolutions are subject to the permitted exports resolutions within the package.
672
+ *
673
+ * **Caveats**:
674
+ *
675
+ * * This can result in synchronous file-system operations, which
676
+ * can impact performance similarly to `require.resolve`.
677
+ * * This feature is not available within custom loaders (it would
678
+ * create a deadlock).
679
+ * @since v13.9.0, v12.16.0
680
+ * @param specifier The module specifier to resolve relative to the
681
+ * current module.
682
+ * @param parent An optional absolute parent module URL to resolve from.
683
+ * **Default:** `import.meta.url`
684
+ * @returns The absolute URL string that the specifier would resolve to.
685
+ */
686
+ resolve(specifier: string, parent?: string | URL): string;
687
+ /**
688
+ * `true` when the current module is the entry point of the current process; `false` otherwise.
689
+ *
690
+ * Equivalent to `require.main === module` in CommonJS.
691
+ *
692
+ * Analogous to Python's `__name__ == "__main__"`.
643
693
  *
644
- * Second `parent` parameter is only used when the `--experimental-import-meta-resolve`
645
- * command flag enabled.
694
+ * ```js
695
+ * export function foo() {
696
+ * return 'Hello, world';
697
+ * }
646
698
  *
647
- * @since v20.6.0
699
+ * function main() {
700
+ * const message = foo();
701
+ * console.log(message);
702
+ * }
648
703
  *
649
- * @param specifier The module specifier to resolve relative to `parent`.
650
- * @param parent The absolute parent module URL to resolve from.
651
- * @returns The absolute (`file:`) URL string for the resolved module.
704
+ * if (import.meta.main) main();
705
+ * // `foo` can be imported from another module without possible side-effects from `main`
706
+ * ```
707
+ * @since v22.18.0
708
+ * @experimental
652
709
  */
653
- resolve(specifier: string, parent?: string | URL | undefined): string;
710
+ main: boolean;
654
711
  }
655
712
  namespace NodeJS {
656
713
  interface Module {
@@ -13,6 +13,7 @@
13
13
  * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/net.js)
14
14
  */
15
15
  declare module "net" {
16
+ import { NonSharedBuffer } from "node:buffer";
16
17
  import * as stream from "node:stream";
17
18
  import { Abortable, EventEmitter } from "node:events";
18
19
  import * as dns from "node:dns";
@@ -32,7 +33,7 @@ declare module "net" {
32
33
  onread?: OnReadOpts | undefined;
33
34
  readable?: boolean | undefined;
34
35
  writable?: boolean | undefined;
35
- signal?: AbortSignal;
36
+ signal?: AbortSignal | undefined;
36
37
  }
37
38
  interface OnReadOpts {
38
39
  buffer: Uint8Array | (() => Uint8Array);
@@ -324,25 +325,25 @@ declare module "net" {
324
325
  * the socket is destroyed (for example, if the client disconnected).
325
326
  * @since v0.5.10
326
327
  */
327
- readonly remoteAddress?: string | undefined;
328
+ readonly remoteAddress: string | undefined;
328
329
  /**
329
330
  * The string representation of the remote IP family. `'IPv4'` or `'IPv6'`. Value may be `undefined` if
330
331
  * the socket is destroyed (for example, if the client disconnected).
331
332
  * @since v0.11.14
332
333
  */
333
- readonly remoteFamily?: string | undefined;
334
+ readonly remoteFamily: string | undefined;
334
335
  /**
335
336
  * The numeric representation of the remote port. For example, `80` or `21`. Value may be `undefined` if
336
337
  * the socket is destroyed (for example, if the client disconnected).
337
338
  * @since v0.5.10
338
339
  */
339
- readonly remotePort?: number | undefined;
340
+ readonly remotePort: number | undefined;
340
341
  /**
341
342
  * The socket timeout in milliseconds as set by `socket.setTimeout()`.
342
343
  * It is `undefined` if a timeout has not been set.
343
344
  * @since v10.7.0
344
345
  */
345
- readonly timeout?: number | undefined;
346
+ readonly timeout?: number;
346
347
  /**
347
348
  * Half-closes the socket. i.e., it sends a FIN packet. It is possible the
348
349
  * server will still send some data.
@@ -383,7 +384,7 @@ declare module "net" {
383
384
  event: "connectionAttemptTimeout",
384
385
  listener: (ip: string, port: number, family: number) => void,
385
386
  ): this;
386
- addListener(event: "data", listener: (data: Buffer) => void): this;
387
+ addListener(event: "data", listener: (data: NonSharedBuffer) => void): this;
387
388
  addListener(event: "drain", listener: () => void): this;
388
389
  addListener(event: "end", listener: () => void): this;
389
390
  addListener(event: "error", listener: (err: Error) => void): this;
@@ -399,7 +400,7 @@ declare module "net" {
399
400
  emit(event: "connectionAttempt", ip: string, port: number, family: number): boolean;
400
401
  emit(event: "connectionAttemptFailed", ip: string, port: number, family: number, error: Error): boolean;
401
402
  emit(event: "connectionAttemptTimeout", ip: string, port: number, family: number): boolean;
402
- emit(event: "data", data: Buffer): boolean;
403
+ emit(event: "data", data: NonSharedBuffer): boolean;
403
404
  emit(event: "drain"): boolean;
404
405
  emit(event: "end"): boolean;
405
406
  emit(event: "error", err: Error): boolean;
@@ -415,7 +416,7 @@ declare module "net" {
415
416
  listener: (ip: string, port: number, family: number, error: Error) => void,
416
417
  ): this;
417
418
  on(event: "connectionAttemptTimeout", listener: (ip: string, port: number, family: number) => void): this;
418
- on(event: "data", listener: (data: Buffer) => void): this;
419
+ on(event: "data", listener: (data: NonSharedBuffer) => void): this;
419
420
  on(event: "drain", listener: () => void): this;
420
421
  on(event: "end", listener: () => void): this;
421
422
  on(event: "error", listener: (err: Error) => void): this;
@@ -434,7 +435,7 @@ declare module "net" {
434
435
  ): this;
435
436
  once(event: "connectionAttemptTimeout", listener: (ip: string, port: number, family: number) => void): this;
436
437
  once(event: "connect", listener: () => void): this;
437
- once(event: "data", listener: (data: Buffer) => void): this;
438
+ once(event: "data", listener: (data: NonSharedBuffer) => void): this;
438
439
  once(event: "drain", listener: () => void): this;
439
440
  once(event: "end", listener: () => void): this;
440
441
  once(event: "error", listener: (err: Error) => void): this;
@@ -456,7 +457,7 @@ declare module "net" {
456
457
  event: "connectionAttemptTimeout",
457
458
  listener: (ip: string, port: number, family: number) => void,
458
459
  ): this;
459
- prependListener(event: "data", listener: (data: Buffer) => void): this;
460
+ prependListener(event: "data", listener: (data: NonSharedBuffer) => void): this;
460
461
  prependListener(event: "drain", listener: () => void): this;
461
462
  prependListener(event: "end", listener: () => void): this;
462
463
  prependListener(event: "error", listener: (err: Error) => void): this;
@@ -481,7 +482,7 @@ declare module "net" {
481
482
  event: "connectionAttemptTimeout",
482
483
  listener: (ip: string, port: number, family: number) => void,
483
484
  ): this;
484
- prependOnceListener(event: "data", listener: (data: Buffer) => void): this;
485
+ prependOnceListener(event: "data", listener: (data: NonSharedBuffer) => void): this;
485
486
  prependOnceListener(event: "drain", listener: () => void): this;
486
487
  prependOnceListener(event: "end", listener: () => void): this;
487
488
  prependOnceListener(event: "error", listener: (err: Error) => void): this;
@@ -808,6 +809,27 @@ declare module "net" {
808
809
  * @param value Any JS value
809
810
  */
810
811
  static isBlockList(value: unknown): value is BlockList;
812
+ /**
813
+ * ```js
814
+ * const blockList = new net.BlockList();
815
+ * const data = [
816
+ * 'Subnet: IPv4 192.168.1.0/24',
817
+ * 'Address: IPv4 10.0.0.5',
818
+ * 'Range: IPv4 192.168.2.1-192.168.2.10',
819
+ * 'Range: IPv4 10.0.0.1-10.0.0.10',
820
+ * ];
821
+ * blockList.fromJSON(data);
822
+ * blockList.fromJSON(JSON.stringify(data));
823
+ * ```
824
+ * @since v22.19.0
825
+ * @experimental
826
+ */
827
+ fromJSON(data: string | readonly string[]): void;
828
+ /**
829
+ * @since v22.19.0
830
+ * @experimental
831
+ */
832
+ toJSON(): readonly string[];
811
833
  }
812
834
  interface TcpNetConnectOpts extends TcpSocketConnectOpts, SocketConstructorOpts {
813
835
  timeout?: number | undefined;
@@ -8,6 +8,7 @@
8
8
  * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/os.js)
9
9
  */
10
10
  declare module "os" {
11
+ import { NonSharedBuffer } from "buffer";
11
12
  interface CpuInfo {
12
13
  model: string;
13
14
  speed: number;
@@ -30,10 +31,10 @@ declare module "os" {
30
31
  mac: string;
31
32
  internal: boolean;
32
33
  cidr: string | null;
34
+ scopeid?: number;
33
35
  }
34
36
  interface NetworkInterfaceInfoIPv4 extends NetworkInterfaceBase {
35
37
  family: "IPv4";
36
- scopeid?: undefined;
37
38
  }
38
39
  interface NetworkInterfaceInfoIPv6 extends NetworkInterfaceBase {
39
40
  family: "IPv6";
@@ -231,6 +232,15 @@ declare module "os" {
231
232
  * @since v2.3.0
232
233
  */
233
234
  function homedir(): string;
235
+ interface UserInfoOptions {
236
+ encoding?: BufferEncoding | "buffer" | undefined;
237
+ }
238
+ interface UserInfoOptionsWithBufferEncoding extends UserInfoOptions {
239
+ encoding: "buffer";
240
+ }
241
+ interface UserInfoOptionsWithStringEncoding extends UserInfoOptions {
242
+ encoding?: BufferEncoding | undefined;
243
+ }
234
244
  /**
235
245
  * Returns information about the currently effective user. On POSIX platforms,
236
246
  * this is typically a subset of the password file. The returned object includes
@@ -244,8 +254,9 @@ declare module "os" {
244
254
  * Throws a [`SystemError`](https://nodejs.org/docs/latest-v22.x/api/errors.html#class-systemerror) if a user has no `username` or `homedir`.
245
255
  * @since v6.0.0
246
256
  */
247
- function userInfo(options: { encoding: "buffer" }): UserInfo<Buffer>;
248
- function userInfo(options?: { encoding: BufferEncoding }): UserInfo<string>;
257
+ function userInfo(options?: UserInfoOptionsWithStringEncoding): UserInfo<string>;
258
+ function userInfo(options: UserInfoOptionsWithBufferEncoding): UserInfo<NonSharedBuffer>;
259
+ function userInfo(options: UserInfoOptions): UserInfo<string | Buffer>;
249
260
  type SignalConstants = {
250
261
  [key in NodeJS.Signals]: number;
251
262
  };
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "22.15.33",
3
+ "version": "22.19.1",
4
4
  "description": "TypeScript definitions for node",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -15,11 +15,6 @@
15
15
  "githubUsername": "jkomyno",
16
16
  "url": "https://github.com/jkomyno"
17
17
  },
18
- {
19
- "name": "Alvis HT Tang",
20
- "githubUsername": "alvis",
21
- "url": "https://github.com/alvis"
22
- },
23
18
  {
24
19
  "name": "Andrew Makarov",
25
20
  "githubUsername": "r3nya",
@@ -30,56 +25,11 @@
30
25
  "githubUsername": "btoueg",
31
26
  "url": "https://github.com/btoueg"
32
27
  },
33
- {
34
- "name": "Chigozirim C.",
35
- "githubUsername": "smac89",
36
- "url": "https://github.com/smac89"
37
- },
38
28
  {
39
29
  "name": "David Junger",
40
30
  "githubUsername": "touffy",
41
31
  "url": "https://github.com/touffy"
42
32
  },
43
- {
44
- "name": "Deividas Bakanas",
45
- "githubUsername": "DeividasBakanas",
46
- "url": "https://github.com/DeividasBakanas"
47
- },
48
- {
49
- "name": "Eugene Y. Q. Shen",
50
- "githubUsername": "eyqs",
51
- "url": "https://github.com/eyqs"
52
- },
53
- {
54
- "name": "Hannes Magnusson",
55
- "githubUsername": "Hannes-Magnusson-CK",
56
- "url": "https://github.com/Hannes-Magnusson-CK"
57
- },
58
- {
59
- "name": "Huw",
60
- "githubUsername": "hoo29",
61
- "url": "https://github.com/hoo29"
62
- },
63
- {
64
- "name": "Kelvin Jin",
65
- "githubUsername": "kjin",
66
- "url": "https://github.com/kjin"
67
- },
68
- {
69
- "name": "Klaus Meinhardt",
70
- "githubUsername": "ajafff",
71
- "url": "https://github.com/ajafff"
72
- },
73
- {
74
- "name": "Lishude",
75
- "githubUsername": "islishude",
76
- "url": "https://github.com/islishude"
77
- },
78
- {
79
- "name": "Mariusz Wiktorczyk",
80
- "githubUsername": "mwiktorczyk",
81
- "url": "https://github.com/mwiktorczyk"
82
- },
83
33
  {
84
34
  "name": "Mohsen Azimi",
85
35
  "githubUsername": "mohsen1",
@@ -90,46 +40,16 @@
90
40
  "githubUsername": "galkin",
91
41
  "url": "https://github.com/galkin"
92
42
  },
93
- {
94
- "name": "Parambir Singh",
95
- "githubUsername": "parambirs",
96
- "url": "https://github.com/parambirs"
97
- },
98
43
  {
99
44
  "name": "Sebastian Silbermann",
100
45
  "githubUsername": "eps1lon",
101
46
  "url": "https://github.com/eps1lon"
102
47
  },
103
- {
104
- "name": "Thomas den Hollander",
105
- "githubUsername": "ThomasdenH",
106
- "url": "https://github.com/ThomasdenH"
107
- },
108
48
  {
109
49
  "name": "Wilco Bakker",
110
50
  "githubUsername": "WilcoBakker",
111
51
  "url": "https://github.com/WilcoBakker"
112
52
  },
113
- {
114
- "name": "wwwy3y3",
115
- "githubUsername": "wwwy3y3",
116
- "url": "https://github.com/wwwy3y3"
117
- },
118
- {
119
- "name": "Samuel Ainsworth",
120
- "githubUsername": "samuela",
121
- "url": "https://github.com/samuela"
122
- },
123
- {
124
- "name": "Kyle Uehlein",
125
- "githubUsername": "kuehlein",
126
- "url": "https://github.com/kuehlein"
127
- },
128
- {
129
- "name": "Thanik Bhongbhibhat",
130
- "githubUsername": "bhongy",
131
- "url": "https://github.com/bhongy"
132
- },
133
53
  {
134
54
  "name": "Marcin Kopacz",
135
55
  "githubUsername": "chyzwar",
@@ -220,6 +140,6 @@
220
140
  "undici-types": "~6.21.0"
221
141
  },
222
142
  "peerDependencies": {},
223
- "typesPublisherContentHash": "ec7d5c92435a8b94feeea3ed5a038a05e2b42d1f6228e6e6e4eca430ed93fd94",
224
- "typeScriptVersion": "5.1"
143
+ "typesPublisherContentHash": "9c07aba9c0804ae517745454424db7f31f72adf62c416da590c7f8df8e4a3436",
144
+ "typeScriptVersion": "5.2"
225
145
  }
@@ -48,13 +48,13 @@ declare module "perf_hooks" {
48
48
  * the type of garbage collection operation that occurred.
49
49
  * See perf_hooks.constants for valid values.
50
50
  */
51
- readonly kind?: number | undefined;
51
+ readonly kind: number;
52
52
  /**
53
53
  * When `performanceEntry.entryType` is equal to 'gc', the `performance.flags`
54
54
  * property contains additional information about garbage collection operation.
55
55
  * See perf_hooks.constants for valid values.
56
56
  */
57
- readonly flags?: number | undefined;
57
+ readonly flags: number;
58
58
  }
59
59
  /**
60
60
  * The constructor of this class is not exposed to users directly.
@@ -92,11 +92,6 @@ declare module "perf_hooks" {
92
92
  * @since v8.5.0
93
93
  */
94
94
  readonly entryType: EntryType;
95
- /**
96
- * Additional detail specific to the `entryType`.
97
- * @since v16.0.0
98
- */
99
- readonly detail?: NodeGCPerformanceDetail | unknown | undefined; // TODO: Narrow this based on entry type.
100
95
  toJSON(): any;
101
96
  }
102
97
  /**
@@ -104,6 +99,7 @@ declare module "perf_hooks" {
104
99
  * @since v18.2.0, v16.17.0
105
100
  */
106
101
  class PerformanceMark extends PerformanceEntry {
102
+ readonly detail: any;
107
103
  readonly duration: 0;
108
104
  readonly entryType: "mark";
109
105
  }
@@ -114,6 +110,7 @@ declare module "perf_hooks" {
114
110
  * @since v18.2.0, v16.17.0
115
111
  */
116
112
  class PerformanceMeasure extends PerformanceEntry {
113
+ readonly detail: any;
117
114
  readonly entryType: "measure";
118
115
  }
119
116
  interface UVMetrics {
@@ -130,6 +127,7 @@ declare module "perf_hooks" {
130
127
  */
131
128
  readonly eventsWaiting: number;
132
129
  }
130
+ // TODO: PerformanceNodeEntry is missing
133
131
  /**
134
132
  * _This property is an extension by Node.js. It is not available in Web browsers._
135
133
  *
@@ -225,7 +223,7 @@ declare module "perf_hooks" {
225
223
  /**
226
224
  * Additional optional detail to include with the mark.
227
225
  */
228
- detail?: unknown | undefined;
226
+ detail?: unknown;
229
227
  /**
230
228
  * Duration between start and end times.
231
229
  */
@@ -1,4 +1,6 @@
1
1
  declare module "process" {
2
+ import { Control, MessageOptions, SendHandle } from "node:child_process";
3
+ import { PathLike } from "node:fs";
2
4
  import * as tty from "node:tty";
3
5
  import { Worker } from "node:worker_threads";
4
6
 
@@ -231,8 +233,9 @@ declare module "process" {
231
233
  */
232
234
  readonly tls_sni: boolean;
233
235
  /**
234
- * A value that is `"strip"` if Node.js is run with `--experimental-strip-types`,
235
- * `"transform"` if Node.js is run with `--experimental-transform-types`, and `false` otherwise.
236
+ * A value that is `"strip"` by default,
237
+ * `"transform"` if Node.js is run with `--experimental-transform-types`, and `false` if
238
+ * Node.js is run with `--no-experimental-strip-types`.
236
239
  * @since v22.10.0
237
240
  */
238
241
  readonly typescript: "strip" | "transform" | false;
@@ -331,7 +334,7 @@ declare module "process" {
331
334
  */
332
335
  type UnhandledRejectionListener = (reason: unknown, promise: Promise<unknown>) => void;
333
336
  type WarningListener = (warning: Error) => void;
334
- type MessageListener = (message: unknown, sendHandle: unknown) => void;
337
+ type MessageListener = (message: unknown, sendHandle: SendHandle) => void;
335
338
  type SignalsListener = (signal: Signals) => void;
336
339
  type MultipleResolveListener = (
337
340
  type: MultipleResolveType,
@@ -347,7 +350,7 @@ declare module "process" {
347
350
  /**
348
351
  * Can be used to change the default timezone at runtime
349
352
  */
350
- TZ?: string;
353
+ TZ?: string | undefined;
351
354
  }
352
355
  interface HRTime {
353
356
  /**
@@ -991,7 +994,7 @@ declare module "process" {
991
994
  * @since v0.1.13
992
995
  * @param [code=0] The exit code. For string type, only integer strings (e.g.,'1') are allowed.
993
996
  */
994
- exit(code?: number | string | null | undefined): never;
997
+ exit(code?: number | string | null): never;
995
998
  /**
996
999
  * A number which will be the process exit code, when the process either
997
1000
  * exits gracefully, or is exited via {@link exit} without specifying
@@ -1002,7 +1005,7 @@ declare module "process" {
1002
1005
  * @default undefined
1003
1006
  * @since v0.11.8
1004
1007
  */
1005
- exitCode?: number | string | number | undefined;
1008
+ exitCode: number | string | null | undefined;
1006
1009
  finalization: {
1007
1010
  /**
1008
1011
  * This function registers a callback to be called when the process emits the `exit` event if the `ref` object was not garbage collected.
@@ -1466,7 +1469,7 @@ declare module "process" {
1466
1469
  * @since v20.12.0
1467
1470
  * @param path The path to the .env file
1468
1471
  */
1469
- loadEnvFile(path?: string | URL | Buffer): void;
1472
+ loadEnvFile(path?: PathLike): void;
1470
1473
  /**
1471
1474
  * The `process.pid` property returns the PID of the process.
1472
1475
  *
@@ -1490,6 +1493,18 @@ declare module "process" {
1490
1493
  * @since v9.2.0, v8.10.0, v6.13.0
1491
1494
  */
1492
1495
  readonly ppid: number;
1496
+ /**
1497
+ * The `process.threadCpuUsage()` method returns the user and system CPU time usage of
1498
+ * the current worker thread, in an object with properties `user` and `system`, whose
1499
+ * values are microsecond values (millionth of a second).
1500
+ *
1501
+ * The result of a previous call to `process.threadCpuUsage()` can be passed as the
1502
+ * argument to the function, to get a diff reading.
1503
+ * @since v22.19.0
1504
+ * @param previousValue A previous return value from calling
1505
+ * `process.threadCpuUsage()`
1506
+ */
1507
+ threadCpuUsage(previousValue?: CpuUsage): CpuUsage;
1493
1508
  /**
1494
1509
  * The `process.title` property returns the current process title (i.e. returns
1495
1510
  * the current value of `ps`). Assigning a new value to `process.title` modifies
@@ -1556,7 +1571,7 @@ declare module "process" {
1556
1571
  * @since v0.1.17
1557
1572
  * @deprecated Since v14.0.0 - Use `main` instead.
1558
1573
  */
1559
- mainModule?: Module | undefined;
1574
+ mainModule?: Module;
1560
1575
  memoryUsage: MemoryUsageFn;
1561
1576
  /**
1562
1577
  * Gets the amount of memory available to the process (in bytes) based on
@@ -1566,13 +1581,11 @@ declare module "process" {
1566
1581
  * See [`uv_get_constrained_memory`](https://docs.libuv.org/en/v1.x/misc.html#c.uv_get_constrained_memory) for more
1567
1582
  * information.
1568
1583
  * @since v19.6.0, v18.15.0
1569
- * @experimental
1570
1584
  */
1571
1585
  constrainedMemory(): number;
1572
1586
  /**
1573
1587
  * Gets the amount of free memory that is still available to the process (in bytes).
1574
1588
  * See [`uv_get_available_memory`](https://nodejs.org/docs/latest-v22.x/api/process.html#processavailablememory) for more information.
1575
- * @experimental
1576
1589
  * @since v20.13.0
1577
1590
  */
1578
1591
  availableMemory(): number;
@@ -1750,18 +1763,7 @@ declare module "process" {
1750
1763
  * If no IPC channel exists, this property is undefined.
1751
1764
  * @since v7.1.0
1752
1765
  */
1753
- channel?: {
1754
- /**
1755
- * This method makes the IPC channel keep the event loop of the process running if .unref() has been called before.
1756
- * @since v7.1.0
1757
- */
1758
- ref(): void;
1759
- /**
1760
- * This method makes the IPC channel not keep the event loop of the process running, and lets it finish even while the channel is open.
1761
- * @since v7.1.0
1762
- */
1763
- unref(): void;
1764
- };
1766
+ channel?: Control;
1765
1767
  /**
1766
1768
  * If Node.js is spawned with an IPC channel, the `process.send()` method can be
1767
1769
  * used to send messages to the parent process. Messages will be received as a `'message'` event on the parent's `ChildProcess` object.
@@ -1775,10 +1777,8 @@ declare module "process" {
1775
1777
  */
1776
1778
  send?(
1777
1779
  message: any,
1778
- sendHandle?: any,
1779
- options?: {
1780
- keepOpen?: boolean | undefined;
1781
- },
1780
+ sendHandle?: SendHandle,
1781
+ options?: MessageOptions,
1782
1782
  callback?: (error: Error | null) => void,
1783
1783
  ): boolean;
1784
1784
  /**
@@ -1970,6 +1970,7 @@ declare module "process" {
1970
1970
  addListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
1971
1971
  addListener(event: "warning", listener: WarningListener): this;
1972
1972
  addListener(event: "message", listener: MessageListener): this;
1973
+ addListener(event: "workerMessage", listener: (value: any, source: number) => void): this;
1973
1974
  addListener(event: Signals, listener: SignalsListener): this;
1974
1975
  addListener(event: "multipleResolves", listener: MultipleResolveListener): this;
1975
1976
  addListener(event: "worker", listener: WorkerListener): this;
@@ -1981,7 +1982,8 @@ declare module "process" {
1981
1982
  emit(event: "uncaughtExceptionMonitor", error: Error): boolean;
1982
1983
  emit(event: "unhandledRejection", reason: unknown, promise: Promise<unknown>): boolean;
1983
1984
  emit(event: "warning", warning: Error): boolean;
1984
- emit(event: "message", message: unknown, sendHandle: unknown): this;
1985
+ emit(event: "message", message: unknown, sendHandle: SendHandle): this;
1986
+ emit(event: "workerMessage", value: any, source: number): this;
1985
1987
  emit(event: Signals, signal?: Signals): boolean;
1986
1988
  emit(
1987
1989
  event: "multipleResolves",
@@ -2002,6 +2004,7 @@ declare module "process" {
2002
2004
  on(event: Signals, listener: SignalsListener): this;
2003
2005
  on(event: "multipleResolves", listener: MultipleResolveListener): this;
2004
2006
  on(event: "worker", listener: WorkerListener): this;
2007
+ on(event: "workerMessage", listener: (value: any, source: number) => void): this;
2005
2008
  on(event: string | symbol, listener: (...args: any[]) => void): this;
2006
2009
  once(event: "beforeExit", listener: BeforeExitListener): this;
2007
2010
  once(event: "disconnect", listener: DisconnectListener): this;
@@ -2015,6 +2018,7 @@ declare module "process" {
2015
2018
  once(event: Signals, listener: SignalsListener): this;
2016
2019
  once(event: "multipleResolves", listener: MultipleResolveListener): this;
2017
2020
  once(event: "worker", listener: WorkerListener): this;
2021
+ once(event: "workerMessage", listener: (value: any, source: number) => void): this;
2018
2022
  once(event: string | symbol, listener: (...args: any[]) => void): this;
2019
2023
  prependListener(event: "beforeExit", listener: BeforeExitListener): this;
2020
2024
  prependListener(event: "disconnect", listener: DisconnectListener): this;
@@ -2025,6 +2029,7 @@ declare module "process" {
2025
2029
  prependListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
2026
2030
  prependListener(event: "warning", listener: WarningListener): this;
2027
2031
  prependListener(event: "message", listener: MessageListener): this;
2032
+ prependListener(event: "workerMessage", listener: (value: any, source: number) => void): this;
2028
2033
  prependListener(event: Signals, listener: SignalsListener): this;
2029
2034
  prependListener(event: "multipleResolves", listener: MultipleResolveListener): this;
2030
2035
  prependListener(event: "worker", listener: WorkerListener): this;
@@ -2037,6 +2042,7 @@ declare module "process" {
2037
2042
  prependOnceListener(event: "unhandledRejection", listener: UnhandledRejectionListener): this;
2038
2043
  prependOnceListener(event: "warning", listener: WarningListener): this;
2039
2044
  prependOnceListener(event: "message", listener: MessageListener): this;
2045
+ prependOnceListener(event: "workerMessage", listener: (value: any, source: number) => void): this;
2040
2046
  prependOnceListener(event: Signals, listener: SignalsListener): this;
2041
2047
  prependOnceListener(event: "multipleResolves", listener: MultipleResolveListener): this;
2042
2048
  prependOnceListener(event: "worker", listener: WorkerListener): this;
@@ -2049,6 +2055,7 @@ declare module "process" {
2049
2055
  listeners(event: "unhandledRejection"): UnhandledRejectionListener[];
2050
2056
  listeners(event: "warning"): WarningListener[];
2051
2057
  listeners(event: "message"): MessageListener[];
2058
+ listeners(event: "workerMessage"): ((value: any, source: number) => void)[];
2052
2059
  listeners(event: Signals): SignalsListener[];
2053
2060
  listeners(event: "multipleResolves"): MultipleResolveListener[];
2054
2061
  listeners(event: "worker"): WorkerListener[];