@types/node 22.15.33 → 22.18.8

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 (75) hide show
  1. node v22.18/README.md +15 -0
  2. {node v22.15 → node v22.18}/assert.d.ts +19 -0
  3. {node v22.15 → node v22.18}/buffer.d.ts +6 -2
  4. {node v22.15 → node v22.18}/child_process.d.ts +26 -122
  5. {node v22.15 → node v22.18}/crypto.d.ts +17 -1
  6. {node v22.15 → node v22.18}/dns/promises.d.ts +11 -10
  7. {node v22.15 → node v22.18}/dns.d.ts +18 -19
  8. {node v22.15 → node v22.18}/events.d.ts +79 -34
  9. {node v22.15 → node v22.18}/fs/promises.d.ts +41 -37
  10. {node v22.15 → node v22.18}/fs.d.ts +55 -44
  11. node v22.18/globals.d.ts +170 -0
  12. {node v22.15 → node v22.18}/http.d.ts +67 -5
  13. {node v22.15 → node v22.18}/http2.d.ts +12 -1
  14. {node v22.15 → node v22.18}/https.d.ts +5 -0
  15. {node v22.15 → node v22.18}/index.d.ts +7 -3
  16. node v22.15/inspector.d.ts → node v22.18/inspector.generated.d.ts +219 -10
  17. {node v22.15 → node v22.18}/module.d.ts +70 -13
  18. {node v22.15 → node v22.18}/package.json +3 -83
  19. {node v22.15 → node v22.18}/process.d.ts +3 -4
  20. {node v22.15 → node v22.18}/readline/promises.d.ts +0 -1
  21. {node v22.15 → node v22.18}/repl.d.ts +3 -5
  22. {node v22.15 → node v22.18}/sqlite.d.ts +207 -0
  23. {node v22.15 → node v22.18}/stream/web.d.ts +8 -0
  24. {node v22.15 → node v22.18}/stream.d.ts +0 -11
  25. node v22.18/test.d.ts +2162 -0
  26. {node v22.15 → node v22.18}/ts5.6/index.d.ts +7 -3
  27. {node v22.15 → node v22.18}/url.d.ts +12 -3
  28. {node v22.15 → node v22.18}/util.d.ts +19 -4
  29. {node v22.15 → node v22.18}/v8.d.ts +27 -30
  30. node v22.18/web-globals/abortcontroller.d.ts +34 -0
  31. node v22.18/web-globals/domexception.d.ts +68 -0
  32. node v22.15/dom-events.d.ts → node v22.18/web-globals/events.d.ts +49 -51
  33. node v22.18/web-globals/fetch.d.ts +46 -0
  34. node v22.18/web-globals/navigator.d.ts +22 -0
  35. node v22.18/web-globals/storage.d.ts +24 -0
  36. {node v22.15 → node v22.18}/worker_threads.d.ts +86 -67
  37. {node v22.15 → node v22.18}/zlib.d.ts +8 -2
  38. node v22.15/README.md +0 -15
  39. node v22.15/globals.d.ts +0 -364
  40. node v22.15/test.d.ts +0 -2278
  41. {node v22.15 → node v22.18}/LICENSE +0 -0
  42. {node v22.15 → node v22.18}/assert/strict.d.ts +0 -0
  43. {node v22.15 → node v22.18}/async_hooks.d.ts +1 -1
  44. {node v22.15 → node v22.18}/buffer.buffer.d.ts +0 -0
  45. {node v22.15 → node v22.18}/cluster.d.ts +0 -0
  46. {node v22.15 → node v22.18}/compatibility/disposable.d.ts +0 -0
  47. {node v22.15 → node v22.18}/compatibility/index.d.ts +0 -0
  48. {node v22.15 → node v22.18}/compatibility/indexable.d.ts +0 -0
  49. {node v22.15 → node v22.18}/compatibility/iterators.d.ts +0 -0
  50. {node v22.15 → node v22.18}/console.d.ts +0 -0
  51. {node v22.15 → node v22.18}/constants.d.ts +0 -0
  52. {node v22.15 → node v22.18}/dgram.d.ts +0 -0
  53. {node v22.15 → node v22.18}/diagnostics_channel.d.ts +0 -0
  54. {node v22.15 → node v22.18}/domain.d.ts +0 -0
  55. {node v22.15 → node v22.18}/globals.typedarray.d.ts +0 -0
  56. {node v22.15 → node v22.18}/net.d.ts +0 -0
  57. {node v22.15 → node v22.18}/os.d.ts +0 -0
  58. {node v22.15 → node v22.18}/path.d.ts +0 -0
  59. {node v22.15 → node v22.18}/perf_hooks.d.ts +0 -0
  60. {node v22.15 → node v22.18}/punycode.d.ts +0 -0
  61. {node v22.15 → node v22.18}/querystring.d.ts +0 -0
  62. {node v22.15 → node v22.18}/readline.d.ts +0 -0
  63. {node v22.15 → node v22.18}/sea.d.ts +0 -0
  64. {node v22.15 → node v22.18}/stream/consumers.d.ts +0 -0
  65. {node v22.15 → node v22.18}/stream/promises.d.ts +0 -0
  66. {node v22.15 → node v22.18}/string_decoder.d.ts +0 -0
  67. {node v22.15 → node v22.18}/timers/promises.d.ts +0 -0
  68. {node v22.15 → node v22.18}/timers.d.ts +0 -0
  69. {node v22.15 → node v22.18}/tls.d.ts +0 -0
  70. {node v22.15 → node v22.18}/trace_events.d.ts +0 -0
  71. {node v22.15 → node v22.18}/ts5.6/buffer.buffer.d.ts +0 -0
  72. {node v22.15 → node v22.18}/ts5.6/globals.typedarray.d.ts +0 -0
  73. {node v22.15 → node v22.18}/tty.d.ts +0 -0
  74. {node v22.15 → node v22.18}/vm.d.ts +0 -0
  75. {node v22.15 → node v22.18}/wasi.d.ts +0 -0
@@ -0,0 +1,15 @@
1
+ # Installation
2
+ > `npm install --save @types/node`
3
+
4
+ # Summary
5
+ This package contains type definitions for node (https://nodejs.org/).
6
+
7
+ # Details
8
+ Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node/v22.
9
+
10
+ ### Additional Details
11
+ * Last updated: Tue, 30 Sep 2025 23:32:16 GMT
12
+ * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
+
14
+ # Credits
15
+ These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [Alberto Schiabel](https://github.com/jkomyno), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [David Junger](https://github.com/touffy), [Mohsen Azimi](https://github.com/mohsen1), [Nikita Galkin](https://github.com/galkin), [Sebastian Silbermann](https://github.com/eps1lon), [Wilco Bakker](https://github.com/WilcoBakker), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), [Dmitry Semigradsky](https://github.com/Semigradsky), and [René](https://github.com/Renegade334).
@@ -11,6 +11,25 @@ declare module "assert" {
11
11
  */
12
12
  function assert(value: unknown, message?: string | Error): asserts value;
13
13
  namespace assert {
14
+ type AssertMethodNames =
15
+ | "deepEqual"
16
+ | "deepStrictEqual"
17
+ | "doesNotMatch"
18
+ | "doesNotReject"
19
+ | "doesNotThrow"
20
+ | "equal"
21
+ | "fail"
22
+ | "ifError"
23
+ | "match"
24
+ | "notDeepEqual"
25
+ | "notDeepStrictEqual"
26
+ | "notEqual"
27
+ | "notStrictEqual"
28
+ | "ok"
29
+ | "partialDeepStrictEqual"
30
+ | "rejects"
31
+ | "strictEqual"
32
+ | "throws";
14
33
  /**
15
34
  * Indicates the failure of an assertion. All errors thrown by the `node:assert` module will be instances of the `AssertionError` class.
16
35
  */
@@ -118,7 +118,6 @@ declare module "buffer" {
118
118
  * Resolves a `'blob:nodedata:...'` an associated `Blob` object registered using
119
119
  * a prior call to `URL.createObjectURL()`.
120
120
  * @since v16.7.0
121
- * @experimental
122
121
  * @param id A `'blob:nodedata:...` URL string returned by a prior call to `URL.createObjectURL()`.
123
122
  */
124
123
  export function resolveObjectURL(id: string): Blob | undefined;
@@ -140,7 +139,7 @@ declare module "buffer" {
140
139
  type?: string | undefined;
141
140
  }
142
141
  /**
143
- * A [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob) encapsulates immutable, raw data that can be safely shared across
142
+ * A `Blob` encapsulates immutable, raw data that can be safely shared across
144
143
  * multiple worker threads.
145
144
  * @since v15.7.0, v14.18.0
146
145
  */
@@ -1702,6 +1701,8 @@ declare module "buffer" {
1702
1701
  * @return A reference to `buf`.
1703
1702
  */
1704
1703
  fill(value: string | Uint8Array | number, offset?: number, end?: number, encoding?: BufferEncoding): this;
1704
+ fill(value: string | Uint8Array | number, offset: number, encoding: BufferEncoding): this;
1705
+ fill(value: string | Uint8Array | number, encoding: BufferEncoding): this;
1705
1706
  /**
1706
1707
  * If `value` is:
1707
1708
  *
@@ -1771,6 +1772,7 @@ declare module "buffer" {
1771
1772
  * @return The index of the first occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`.
1772
1773
  */
1773
1774
  indexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number;
1775
+ indexOf(value: string | number | Uint8Array, encoding: BufferEncoding): number;
1774
1776
  /**
1775
1777
  * Identical to `buf.indexOf()`, except the last occurrence of `value` is found
1776
1778
  * rather than the first occurrence.
@@ -1839,6 +1841,7 @@ declare module "buffer" {
1839
1841
  * @return The index of the last occurrence of `value` in `buf`, or `-1` if `buf` does not contain `value`.
1840
1842
  */
1841
1843
  lastIndexOf(value: string | number | Uint8Array, byteOffset?: number, encoding?: BufferEncoding): number;
1844
+ lastIndexOf(value: string | number | Uint8Array, encoding: BufferEncoding): number;
1842
1845
  /**
1843
1846
  * Equivalent to `buf.indexOf() !== -1`.
1844
1847
  *
@@ -1869,6 +1872,7 @@ declare module "buffer" {
1869
1872
  * @return `true` if `value` was found in `buf`, `false` otherwise.
1870
1873
  */
1871
1874
  includes(value: string | number | Buffer, byteOffset?: number, encoding?: BufferEncoding): boolean;
1875
+ includes(value: string | number | Buffer, encoding: BufferEncoding): boolean;
1872
1876
  }
1873
1877
  var Buffer: BufferConstructor;
1874
1878
  /**
@@ -24,7 +24,7 @@
24
24
  * the parent Node.js process and the spawned subprocess. These pipes have
25
25
  * limited (and platform-specific) capacity. If the subprocess writes to
26
26
  * stdout in excess of that limit without the output being captured, the
27
- * subprocess blocks waiting for the pipe buffer to accept more data. This is
27
+ * subprocess blocks, waiting for the pipe buffer to accept more data. This is
28
28
  * identical to the behavior of pipes in the shell. Use the `{ stdio: 'ignore' }` option if the output will not be consumed.
29
29
  *
30
30
  * The command lookup is performed using the `options.env.PATH` environment
@@ -66,7 +66,6 @@
66
66
  * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/child_process.js)
67
67
  */
68
68
  declare module "child_process" {
69
- import { ObjectEncodingOptions } from "node:fs";
70
69
  import { Abortable, EventEmitter } from "node:events";
71
70
  import * as dgram from "node:dgram";
72
71
  import * as net from "node:net";
@@ -887,12 +886,13 @@ declare module "child_process" {
887
886
  signal?: AbortSignal | undefined;
888
887
  maxBuffer?: number | undefined;
889
888
  killSignal?: NodeJS.Signals | number | undefined;
889
+ encoding?: string | null | undefined;
890
890
  }
891
891
  interface ExecOptionsWithStringEncoding extends ExecOptions {
892
- encoding: BufferEncoding;
892
+ encoding?: BufferEncoding | undefined;
893
893
  }
894
894
  interface ExecOptionsWithBufferEncoding extends ExecOptions {
895
- encoding: BufferEncoding | null; // specify `null`.
895
+ encoding: "buffer" | null; // specify `null`.
896
896
  }
897
897
  interface ExecException extends Error {
898
898
  cmd?: string | undefined;
@@ -995,38 +995,19 @@ declare module "child_process" {
995
995
  // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.
996
996
  function exec(
997
997
  command: string,
998
- options: {
999
- encoding: "buffer" | null;
1000
- } & ExecOptions,
998
+ options: ExecOptionsWithBufferEncoding,
1001
999
  callback?: (error: ExecException | null, stdout: Buffer, stderr: Buffer) => void,
1002
1000
  ): ChildProcess;
1003
- // `options` with well known `encoding` means stdout/stderr are definitely `string`.
1004
- function exec(
1005
- command: string,
1006
- options: {
1007
- encoding: BufferEncoding;
1008
- } & ExecOptions,
1009
- callback?: (error: ExecException | null, stdout: string, stderr: string) => void,
1010
- ): ChildProcess;
1011
- // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`.
1012
- // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`.
1013
- function exec(
1014
- command: string,
1015
- options: {
1016
- encoding: BufferEncoding;
1017
- } & ExecOptions,
1018
- callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
1019
- ): ChildProcess;
1020
- // `options` without an `encoding` means stdout/stderr are definitely `string`.
1001
+ // `options` with well-known or absent `encoding` means stdout/stderr are definitely `string`.
1021
1002
  function exec(
1022
1003
  command: string,
1023
- options: ExecOptions,
1004
+ options: ExecOptionsWithStringEncoding,
1024
1005
  callback?: (error: ExecException | null, stdout: string, stderr: string) => void,
1025
1006
  ): ChildProcess;
1026
1007
  // fallback if nothing else matches. Worst case is always `string | Buffer`.
1027
1008
  function exec(
1028
1009
  command: string,
1029
- options: (ObjectEncodingOptions & ExecOptions) | undefined | null,
1010
+ options: ExecOptions | undefined | null,
1030
1011
  callback?: (error: ExecException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
1031
1012
  ): ChildProcess;
1032
1013
  interface PromiseWithChild<T> extends Promise<T> {
@@ -1039,32 +1020,21 @@ declare module "child_process" {
1039
1020
  }>;
1040
1021
  function __promisify__(
1041
1022
  command: string,
1042
- options: {
1043
- encoding: "buffer" | null;
1044
- } & ExecOptions,
1023
+ options: ExecOptionsWithBufferEncoding,
1045
1024
  ): PromiseWithChild<{
1046
1025
  stdout: Buffer;
1047
1026
  stderr: Buffer;
1048
1027
  }>;
1049
1028
  function __promisify__(
1050
1029
  command: string,
1051
- options: {
1052
- encoding: BufferEncoding;
1053
- } & ExecOptions,
1030
+ options: ExecOptionsWithStringEncoding,
1054
1031
  ): PromiseWithChild<{
1055
1032
  stdout: string;
1056
1033
  stderr: string;
1057
1034
  }>;
1058
1035
  function __promisify__(
1059
1036
  command: string,
1060
- options: ExecOptions,
1061
- ): PromiseWithChild<{
1062
- stdout: string;
1063
- stderr: string;
1064
- }>;
1065
- function __promisify__(
1066
- command: string,
1067
- options?: (ObjectEncodingOptions & ExecOptions) | null,
1037
+ options: ExecOptions | undefined | null,
1068
1038
  ): PromiseWithChild<{
1069
1039
  stdout: string | Buffer;
1070
1040
  stderr: string | Buffer;
@@ -1076,16 +1046,16 @@ declare module "child_process" {
1076
1046
  windowsVerbatimArguments?: boolean | undefined;
1077
1047
  shell?: boolean | string | undefined;
1078
1048
  signal?: AbortSignal | undefined;
1049
+ encoding?: string | null | undefined;
1079
1050
  }
1080
1051
  interface ExecFileOptionsWithStringEncoding extends ExecFileOptions {
1081
- encoding: BufferEncoding;
1052
+ encoding?: BufferEncoding | undefined;
1082
1053
  }
1083
1054
  interface ExecFileOptionsWithBufferEncoding extends ExecFileOptions {
1084
1055
  encoding: "buffer" | null;
1085
1056
  }
1086
- interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions {
1087
- encoding: BufferEncoding;
1088
- }
1057
+ /** @deprecated Use `ExecFileOptions` instead. */
1058
+ interface ExecFileOptionsWithOtherEncoding extends ExecFileOptions {}
1089
1059
  type ExecFileException =
1090
1060
  & Omit<ExecException, "code">
1091
1061
  & Omit<NodeJS.ErrnoException, "code">
@@ -1154,80 +1124,44 @@ declare module "child_process" {
1154
1124
  * @param args List of string arguments.
1155
1125
  * @param callback Called with the output when process terminates.
1156
1126
  */
1157
- function execFile(file: string): ChildProcess;
1158
- function execFile(
1159
- file: string,
1160
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
1161
- ): ChildProcess;
1162
- function execFile(file: string, args?: readonly string[] | null): ChildProcess;
1163
- function execFile(
1164
- file: string,
1165
- args: readonly string[] | undefined | null,
1166
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
1167
- ): ChildProcess;
1168
1127
  // no `options` definitely means stdout/stderr are `string`.
1169
1128
  function execFile(
1170
1129
  file: string,
1171
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1130
+ callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1172
1131
  ): ChildProcess;
1173
1132
  function execFile(
1174
1133
  file: string,
1175
1134
  args: readonly string[] | undefined | null,
1176
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1135
+ callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1177
1136
  ): ChildProcess;
1178
1137
  // `options` with `"buffer"` or `null` for `encoding` means stdout/stderr are definitely `Buffer`.
1179
1138
  function execFile(
1180
1139
  file: string,
1181
1140
  options: ExecFileOptionsWithBufferEncoding,
1182
- callback: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void,
1141
+ callback?: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void,
1183
1142
  ): ChildProcess;
1184
1143
  function execFile(
1185
1144
  file: string,
1186
1145
  args: readonly string[] | undefined | null,
1187
1146
  options: ExecFileOptionsWithBufferEncoding,
1188
- callback: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void,
1147
+ callback?: (error: ExecFileException | null, stdout: Buffer, stderr: Buffer) => void,
1189
1148
  ): ChildProcess;
1190
- // `options` with well known `encoding` means stdout/stderr are definitely `string`.
1149
+ // `options` with well-known or absent `encoding` means stdout/stderr are definitely `string`.
1191
1150
  function execFile(
1192
1151
  file: string,
1193
1152
  options: ExecFileOptionsWithStringEncoding,
1194
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1153
+ callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1195
1154
  ): ChildProcess;
1196
1155
  function execFile(
1197
1156
  file: string,
1198
1157
  args: readonly string[] | undefined | null,
1199
1158
  options: ExecFileOptionsWithStringEncoding,
1200
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1201
- ): ChildProcess;
1202
- // `options` with an `encoding` whose type is `string` means stdout/stderr could either be `Buffer` or `string`.
1203
- // There is no guarantee the `encoding` is unknown as `string` is a superset of `BufferEncoding`.
1204
- function execFile(
1205
- file: string,
1206
- options: ExecFileOptionsWithOtherEncoding,
1207
- callback: (error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
1208
- ): ChildProcess;
1209
- function execFile(
1210
- file: string,
1211
- args: readonly string[] | undefined | null,
1212
- options: ExecFileOptionsWithOtherEncoding,
1213
- callback: (error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void,
1214
- ): ChildProcess;
1215
- // `options` without an `encoding` means stdout/stderr are definitely `string`.
1216
- function execFile(
1217
- file: string,
1218
- options: ExecFileOptions,
1219
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1220
- ): ChildProcess;
1221
- function execFile(
1222
- file: string,
1223
- args: readonly string[] | undefined | null,
1224
- options: ExecFileOptions,
1225
- callback: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1159
+ callback?: (error: ExecFileException | null, stdout: string, stderr: string) => void,
1226
1160
  ): ChildProcess;
1227
1161
  // fallback if nothing else matches. Worst case is always `string | Buffer`.
1228
1162
  function execFile(
1229
1163
  file: string,
1230
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
1164
+ options: ExecFileOptions | undefined | null,
1231
1165
  callback:
1232
1166
  | ((error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void)
1233
1167
  | undefined
@@ -1236,7 +1170,7 @@ declare module "child_process" {
1236
1170
  function execFile(
1237
1171
  file: string,
1238
1172
  args: readonly string[] | undefined | null,
1239
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
1173
+ options: ExecFileOptions | undefined | null,
1240
1174
  callback:
1241
1175
  | ((error: ExecFileException | null, stdout: string | Buffer, stderr: string | Buffer) => void)
1242
1176
  | undefined
@@ -1286,37 +1220,7 @@ declare module "child_process" {
1286
1220
  }>;
1287
1221
  function __promisify__(
1288
1222
  file: string,
1289
- options: ExecFileOptionsWithOtherEncoding,
1290
- ): PromiseWithChild<{
1291
- stdout: string | Buffer;
1292
- stderr: string | Buffer;
1293
- }>;
1294
- function __promisify__(
1295
- file: string,
1296
- args: readonly string[] | undefined | null,
1297
- options: ExecFileOptionsWithOtherEncoding,
1298
- ): PromiseWithChild<{
1299
- stdout: string | Buffer;
1300
- stderr: string | Buffer;
1301
- }>;
1302
- function __promisify__(
1303
- file: string,
1304
- options: ExecFileOptions,
1305
- ): PromiseWithChild<{
1306
- stdout: string;
1307
- stderr: string;
1308
- }>;
1309
- function __promisify__(
1310
- file: string,
1311
- args: readonly string[] | undefined | null,
1312
- options: ExecFileOptions,
1313
- ): PromiseWithChild<{
1314
- stdout: string;
1315
- stderr: string;
1316
- }>;
1317
- function __promisify__(
1318
- file: string,
1319
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
1223
+ options: ExecFileOptions | undefined | null,
1320
1224
  ): PromiseWithChild<{
1321
1225
  stdout: string | Buffer;
1322
1226
  stderr: string | Buffer;
@@ -1324,7 +1228,7 @@ declare module "child_process" {
1324
1228
  function __promisify__(
1325
1229
  file: string,
1326
1230
  args: readonly string[] | undefined | null,
1327
- options: (ObjectEncodingOptions & ExecFileOptions) | undefined | null,
1231
+ options: ExecFileOptions | undefined | null,
1328
1232
  ): PromiseWithChild<{
1329
1233
  stdout: string | Buffer;
1330
1234
  stderr: string | Buffer;
@@ -3764,7 +3764,23 @@ declare module "crypto" {
3764
3764
  */
3765
3765
  checkIP(ip: string): string | undefined;
3766
3766
  /**
3767
- * Checks whether this certificate was issued by the given `otherCert`.
3767
+ * Checks whether this certificate was potentially issued by the given `otherCert`
3768
+ * by comparing the certificate metadata.
3769
+ *
3770
+ * This is useful for pruning a list of possible issuer certificates which have been
3771
+ * selected using a more rudimentary filtering routine, i.e. just based on subject
3772
+ * and issuer names.
3773
+ *
3774
+ * Finally, to verify that this certificate's signature was produced by a private key
3775
+ * corresponding to `otherCert`'s public key use `x509.verify(publicKey)`
3776
+ * with `otherCert`'s public key represented as a `KeyObject`
3777
+ * like so
3778
+ *
3779
+ * ```js
3780
+ * if (!x509.verify(otherCert.publicKey)) {
3781
+ * throw new Error('otherCert did not issue x509');
3782
+ * }
3783
+ * ```
3768
3784
  * @since v15.6.0
3769
3785
  */
3770
3786
  checkIssued(otherCert: X509Certificate): boolean;
@@ -127,24 +127,25 @@ declare module "dns/promises" {
127
127
  * @param [rrtype='A'] Resource record type.
128
128
  */
129
129
  function resolve(hostname: string): Promise<string[]>;
130
- function resolve(hostname: string, rrtype: "A"): Promise<string[]>;
131
- function resolve(hostname: string, rrtype: "AAAA"): Promise<string[]>;
130
+ function resolve(hostname: string, rrtype: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise<string[]>;
132
131
  function resolve(hostname: string, rrtype: "ANY"): Promise<AnyRecord[]>;
133
132
  function resolve(hostname: string, rrtype: "CAA"): Promise<CaaRecord[]>;
134
- function resolve(hostname: string, rrtype: "CNAME"): Promise<string[]>;
135
133
  function resolve(hostname: string, rrtype: "MX"): Promise<MxRecord[]>;
136
134
  function resolve(hostname: string, rrtype: "NAPTR"): Promise<NaptrRecord[]>;
137
- function resolve(hostname: string, rrtype: "NS"): Promise<string[]>;
138
- function resolve(hostname: string, rrtype: "PTR"): Promise<string[]>;
139
135
  function resolve(hostname: string, rrtype: "SOA"): Promise<SoaRecord>;
140
136
  function resolve(hostname: string, rrtype: "SRV"): Promise<SrvRecord[]>;
141
137
  function resolve(hostname: string, rrtype: "TLSA"): Promise<TlsaRecord[]>;
142
138
  function resolve(hostname: string, rrtype: "TXT"): Promise<string[][]>;
143
- function resolve(
144
- hostname: string,
145
- rrtype: string,
146
- ): Promise<
147
- string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | TlsaRecord[] | string[][] | AnyRecord[]
139
+ function resolve(hostname: string, rrtype: string): Promise<
140
+ | string[]
141
+ | CaaRecord[]
142
+ | MxRecord[]
143
+ | NaptrRecord[]
144
+ | SoaRecord
145
+ | SrvRecord[]
146
+ | TlsaRecord[]
147
+ | string[][]
148
+ | AnyRecord[]
148
149
  >;
149
150
  /**
150
151
  * Uses the DNS protocol to resolve IPv4 addresses (`A` records) for the `hostname`. On success, the `Promise` is resolved with an array of IPv4
@@ -250,6 +250,9 @@ declare module "dns" {
250
250
  contactemail?: string | undefined;
251
251
  contactphone?: string | undefined;
252
252
  }
253
+ export interface AnyCaaRecord extends CaaRecord {
254
+ type: "CAA";
255
+ }
253
256
  export interface MxRecord {
254
257
  priority: number;
255
258
  exchange: string;
@@ -317,6 +320,7 @@ declare module "dns" {
317
320
  export type AnyRecord =
318
321
  | AnyARecord
319
322
  | AnyAaaaRecord
323
+ | AnyCaaRecord
320
324
  | AnyCnameRecord
321
325
  | AnyMxRecord
322
326
  | AnyNaptrRecord
@@ -345,12 +349,7 @@ declare module "dns" {
345
349
  ): void;
346
350
  export function resolve(
347
351
  hostname: string,
348
- rrtype: "A",
349
- callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
350
- ): void;
351
- export function resolve(
352
- hostname: string,
353
- rrtype: "AAAA",
352
+ rrtype: "A" | "AAAA" | "CNAME" | "NS" | "PTR",
354
353
  callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
355
354
  ): void;
356
355
  export function resolve(
@@ -360,8 +359,8 @@ declare module "dns" {
360
359
  ): void;
361
360
  export function resolve(
362
361
  hostname: string,
363
- rrtype: "CNAME",
364
- callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
362
+ rrtype: "CAA",
363
+ callback: (err: NodeJS.ErrnoException | null, address: CaaRecord[]) => void,
365
364
  ): void;
366
365
  export function resolve(
367
366
  hostname: string,
@@ -373,16 +372,6 @@ declare module "dns" {
373
372
  rrtype: "NAPTR",
374
373
  callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void,
375
374
  ): void;
376
- export function resolve(
377
- hostname: string,
378
- rrtype: "NS",
379
- callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
380
- ): void;
381
- export function resolve(
382
- hostname: string,
383
- rrtype: "PTR",
384
- callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
385
- ): void;
386
375
  export function resolve(
387
376
  hostname: string,
388
377
  rrtype: "SOA",
@@ -410,6 +399,7 @@ declare module "dns" {
410
399
  err: NodeJS.ErrnoException | null,
411
400
  addresses:
412
401
  | string[]
402
+ | CaaRecord[]
413
403
  | MxRecord[]
414
404
  | NaptrRecord[]
415
405
  | SoaRecord
@@ -422,6 +412,7 @@ declare module "dns" {
422
412
  export namespace resolve {
423
413
  function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise<string[]>;
424
414
  function __promisify__(hostname: string, rrtype: "ANY"): Promise<AnyRecord[]>;
415
+ function __promisify__(hostname: string, rrtype: "CAA"): Promise<CaaRecord[]>;
425
416
  function __promisify__(hostname: string, rrtype: "MX"): Promise<MxRecord[]>;
426
417
  function __promisify__(hostname: string, rrtype: "NAPTR"): Promise<NaptrRecord[]>;
427
418
  function __promisify__(hostname: string, rrtype: "SOA"): Promise<SoaRecord>;
@@ -432,7 +423,15 @@ declare module "dns" {
432
423
  hostname: string,
433
424
  rrtype: string,
434
425
  ): Promise<
435
- string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | TlsaRecord[] | string[][] | AnyRecord[]
426
+ | string[]
427
+ | CaaRecord[]
428
+ | MxRecord[]
429
+ | NaptrRecord[]
430
+ | SoaRecord
431
+ | SrvRecord[]
432
+ | TlsaRecord[]
433
+ | string[][]
434
+ | AnyRecord[]
436
435
  >;
437
436
  }
438
437
  /**
@@ -36,39 +36,6 @@
36
36
  */
37
37
  declare module "events" {
38
38
  import { AsyncResource, AsyncResourceOptions } from "node:async_hooks";
39
- // NOTE: This class is in the docs but is **not actually exported** by Node.
40
- // If https://github.com/nodejs/node/issues/39903 gets resolved and Node
41
- // actually starts exporting the class, uncomment below.
42
- // import { EventListener, EventListenerObject } from '__dom-events';
43
- // /** The NodeEventTarget is a Node.js-specific extension to EventTarget that emulates a subset of the EventEmitter API. */
44
- // interface NodeEventTarget extends EventTarget {
45
- // /**
46
- // * Node.js-specific extension to the `EventTarget` class that emulates the equivalent `EventEmitter` API.
47
- // * The only difference between `addListener()` and `addEventListener()` is that addListener() will return a reference to the EventTarget.
48
- // */
49
- // addListener(type: string, listener: EventListener | EventListenerObject, options?: { once: boolean }): this;
50
- // /** Node.js-specific extension to the `EventTarget` class that returns an array of event `type` names for which event listeners are registered. */
51
- // eventNames(): string[];
52
- // /** Node.js-specific extension to the `EventTarget` class that returns the number of event listeners registered for the `type`. */
53
- // listenerCount(type: string): number;
54
- // /** Node.js-specific alias for `eventTarget.removeListener()`. */
55
- // off(type: string, listener: EventListener | EventListenerObject): this;
56
- // /** Node.js-specific alias for `eventTarget.addListener()`. */
57
- // on(type: string, listener: EventListener | EventListenerObject, options?: { once: boolean }): this;
58
- // /** Node.js-specific extension to the `EventTarget` class that adds a `once` listener for the given event `type`. This is equivalent to calling `on` with the `once` option set to `true`. */
59
- // once(type: string, listener: EventListener | EventListenerObject): this;
60
- // /**
61
- // * Node.js-specific extension to the `EventTarget` class.
62
- // * If `type` is specified, removes all registered listeners for `type`,
63
- // * otherwise removes all registered listeners.
64
- // */
65
- // removeAllListeners(type: string): this;
66
- // /**
67
- // * Node.js-specific extension to the `EventTarget` class that removes the listener for the given `type`.
68
- // * The only difference between `removeListener()` and `removeEventListener()` is that `removeListener()` will return a reference to the `EventTarget`.
69
- // */
70
- // removeListener(type: string, listener: EventListener | EventListenerObject): this;
71
- // }
72
39
  interface EventEmitterOptions {
73
40
  /**
74
41
  * Enables automatic capturing of promise rejection.
@@ -431,7 +398,6 @@ declare module "events" {
431
398
  * }
432
399
  * ```
433
400
  * @since v20.5.0
434
- * @experimental
435
401
  * @return Disposable that removes the `abort` listener.
436
402
  */
437
403
  static addAbortListener(signal: AbortSignal, resource: (event: Event) => void): Disposable;
@@ -585,6 +551,85 @@ declare module "events" {
585
551
  */
586
552
  readonly asyncResource: EventEmitterReferencingAsyncResource;
587
553
  }
554
+ /**
555
+ * The `NodeEventTarget` is a Node.js-specific extension to `EventTarget`
556
+ * that emulates a subset of the `EventEmitter` API.
557
+ * @since v14.5.0
558
+ */
559
+ export interface NodeEventTarget extends EventTarget {
560
+ /**
561
+ * Node.js-specific extension to the `EventTarget` class that emulates the
562
+ * equivalent `EventEmitter` API. The only difference between `addListener()` and
563
+ * `addEventListener()` is that `addListener()` will return a reference to the
564
+ * `EventTarget`.
565
+ * @since v14.5.0
566
+ */
567
+ addListener(type: string, listener: (arg: any) => void): this;
568
+ /**
569
+ * Node.js-specific extension to the `EventTarget` class that dispatches the
570
+ * `arg` to the list of handlers for `type`.
571
+ * @since v15.2.0
572
+ * @returns `true` if event listeners registered for the `type` exist,
573
+ * otherwise `false`.
574
+ */
575
+ emit(type: string, arg: any): boolean;
576
+ /**
577
+ * Node.js-specific extension to the `EventTarget` class that returns an array
578
+ * of event `type` names for which event listeners are registered.
579
+ * @since 14.5.0
580
+ */
581
+ eventNames(): string[];
582
+ /**
583
+ * Node.js-specific extension to the `EventTarget` class that returns the number
584
+ * of event listeners registered for the `type`.
585
+ * @since v14.5.0
586
+ */
587
+ listenerCount(type: string): number;
588
+ /**
589
+ * Node.js-specific extension to the `EventTarget` class that sets the number
590
+ * of max event listeners as `n`.
591
+ * @since v14.5.0
592
+ */
593
+ setMaxListeners(n: number): void;
594
+ /**
595
+ * Node.js-specific extension to the `EventTarget` class that returns the number
596
+ * of max event listeners.
597
+ * @since v14.5.0
598
+ */
599
+ getMaxListeners(): number;
600
+ /**
601
+ * Node.js-specific alias for `eventTarget.removeEventListener()`.
602
+ * @since v14.5.0
603
+ */
604
+ off(type: string, listener: (arg: any) => void, options?: EventListenerOptions): this;
605
+ /**
606
+ * Node.js-specific alias for `eventTarget.addEventListener()`.
607
+ * @since v14.5.0
608
+ */
609
+ on(type: string, listener: (arg: any) => void): this;
610
+ /**
611
+ * Node.js-specific extension to the `EventTarget` class that adds a `once`
612
+ * listener for the given event `type`. This is equivalent to calling `on`
613
+ * with the `once` option set to `true`.
614
+ * @since v14.5.0
615
+ */
616
+ once(type: string, listener: (arg: any) => void): this;
617
+ /**
618
+ * Node.js-specific extension to the `EventTarget` class. If `type` is specified,
619
+ * removes all registered listeners for `type`, otherwise removes all registered
620
+ * listeners.
621
+ * @since v14.5.0
622
+ */
623
+ removeAllListeners(type?: string): this;
624
+ /**
625
+ * Node.js-specific extension to the `EventTarget` class that removes the
626
+ * `listener` for the given `type`. The only difference between `removeListener()`
627
+ * and `removeEventListener()` is that `removeListener()` will return a reference
628
+ * to the `EventTarget`.
629
+ * @since v14.5.0
630
+ */
631
+ removeListener(type: string, listener: (arg: any) => void, options?: EventListenerOptions): this;
632
+ }
588
633
  }
589
634
  global {
590
635
  namespace NodeJS {