@types/node 22.17.1 → 22.18.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 (73) hide show
  1. {node v22.17 → node v22.18}/README.md +1 -1
  2. {node v22.17 → node v22.18}/buffer.d.ts +1 -1
  3. {node v22.17 → node v22.18}/child_process.d.ts +26 -122
  4. {node v22.17 → node v22.18}/fs/promises.d.ts +19 -26
  5. {node v22.17 → node v22.18}/fs.d.ts +17 -34
  6. node v22.18/globals.d.ts +170 -0
  7. {node v22.17 → node v22.18}/http.d.ts +1 -1
  8. {node v22.17 → node v22.18}/index.d.ts +6 -1
  9. {node v22.17 → node v22.18}/inspector.d.ts +68 -12
  10. {node v22.17 → node v22.18}/module.d.ts +24 -0
  11. {node v22.17 → node v22.18}/package.json +2 -2
  12. {node v22.17 → node v22.18}/process.d.ts +3 -2
  13. {node v22.17 → node v22.18}/sqlite.d.ts +35 -0
  14. {node v22.17 → node v22.18}/ts5.6/index.d.ts +6 -1
  15. {node v22.17 → node v22.18}/url.d.ts +11 -0
  16. node v22.18/web-globals/abortcontroller.d.ts +34 -0
  17. node v22.18/web-globals/domexception.d.ts +68 -0
  18. node v22.17/dom-events.d.ts → node v22.18/web-globals/events.d.ts +47 -52
  19. node v22.18/web-globals/fetch.d.ts +46 -0
  20. node v22.18/web-globals/navigator.d.ts +22 -0
  21. node v22.18/web-globals/storage.d.ts +24 -0
  22. {node v22.17 → node v22.18}/worker_threads.d.ts +12 -0
  23. node v22.17/globals.d.ts +0 -364
  24. {node v22.17 → node v22.18}/LICENSE +0 -0
  25. {node v22.17 → node v22.18}/assert/strict.d.ts +0 -0
  26. {node v22.17 → node v22.18}/assert.d.ts +0 -0
  27. {node v22.17 → node v22.18}/async_hooks.d.ts +0 -0
  28. {node v22.17 → node v22.18}/buffer.buffer.d.ts +0 -0
  29. {node v22.17 → node v22.18}/cluster.d.ts +0 -0
  30. {node v22.17 → node v22.18}/compatibility/disposable.d.ts +0 -0
  31. {node v22.17 → node v22.18}/compatibility/index.d.ts +0 -0
  32. {node v22.17 → node v22.18}/compatibility/indexable.d.ts +0 -0
  33. {node v22.17 → node v22.18}/compatibility/iterators.d.ts +0 -0
  34. {node v22.17 → node v22.18}/console.d.ts +0 -0
  35. {node v22.17 → node v22.18}/constants.d.ts +0 -0
  36. {node v22.17 → node v22.18}/crypto.d.ts +0 -0
  37. {node v22.17 → node v22.18}/dgram.d.ts +0 -0
  38. {node v22.17 → node v22.18}/diagnostics_channel.d.ts +0 -0
  39. {node v22.17 → node v22.18}/dns/promises.d.ts +0 -0
  40. {node v22.17 → node v22.18}/dns.d.ts +0 -0
  41. {node v22.17 → node v22.18}/domain.d.ts +0 -0
  42. {node v22.17 → node v22.18}/events.d.ts +0 -0
  43. {node v22.17 → node v22.18}/globals.typedarray.d.ts +0 -0
  44. {node v22.17 → node v22.18}/http2.d.ts +0 -0
  45. {node v22.17 → node v22.18}/https.d.ts +0 -0
  46. {node v22.17 → node v22.18}/net.d.ts +0 -0
  47. {node v22.17 → node v22.18}/os.d.ts +0 -0
  48. {node v22.17 → node v22.18}/path.d.ts +0 -0
  49. {node v22.17 → node v22.18}/perf_hooks.d.ts +0 -0
  50. {node v22.17 → node v22.18}/punycode.d.ts +0 -0
  51. {node v22.17 → node v22.18}/querystring.d.ts +0 -0
  52. {node v22.17 → node v22.18}/readline/promises.d.ts +0 -0
  53. {node v22.17 → node v22.18}/readline.d.ts +0 -0
  54. {node v22.17 → node v22.18}/repl.d.ts +0 -0
  55. {node v22.17 → node v22.18}/sea.d.ts +0 -0
  56. {node v22.17 → node v22.18}/stream/consumers.d.ts +0 -0
  57. {node v22.17 → node v22.18}/stream/promises.d.ts +0 -0
  58. {node v22.17 → node v22.18}/stream/web.d.ts +0 -0
  59. {node v22.17 → node v22.18}/stream.d.ts +0 -0
  60. {node v22.17 → node v22.18}/string_decoder.d.ts +0 -0
  61. {node v22.17 → node v22.18}/test.d.ts +0 -0
  62. {node v22.17 → node v22.18}/timers/promises.d.ts +0 -0
  63. {node v22.17 → node v22.18}/timers.d.ts +0 -0
  64. {node v22.17 → node v22.18}/tls.d.ts +0 -0
  65. {node v22.17 → node v22.18}/trace_events.d.ts +0 -0
  66. {node v22.17 → node v22.18}/ts5.6/buffer.buffer.d.ts +0 -0
  67. {node v22.17 → node v22.18}/ts5.6/globals.typedarray.d.ts +0 -0
  68. {node v22.17 → node v22.18}/tty.d.ts +0 -0
  69. {node v22.17 → node v22.18}/util.d.ts +0 -0
  70. {node v22.17 → node v22.18}/v8.d.ts +0 -0
  71. {node v22.17 → node v22.18}/vm.d.ts +0 -0
  72. {node v22.17 → node v22.18}/wasi.d.ts +0 -0
  73. {node v22.17 → node v22.18}/zlib.d.ts +0 -0
@@ -8,7 +8,7 @@ This package contains type definitions for node (https://nodejs.org/).
8
8
  Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node/v22.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Fri, 08 Aug 2025 16:38:49 GMT
11
+ * Last updated: Thu, 04 Sep 2025 10:02:38 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
@@ -139,7 +139,7 @@ declare module "buffer" {
139
139
  type?: string | undefined;
140
140
  }
141
141
  /**
142
- * 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
143
143
  * multiple worker threads.
144
144
  * @since v15.7.0, v14.18.0
145
145
  */
@@ -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;
@@ -40,7 +40,7 @@ declare module "fs/promises" {
40
40
  StatsFs,
41
41
  TimeLike,
42
42
  WatchEventType,
43
- WatchOptions,
43
+ WatchOptions as _WatchOptions,
44
44
  WriteStream,
45
45
  WriteVResult,
46
46
  } from "node:fs";
@@ -1182,6 +1182,16 @@ declare module "fs/promises" {
1182
1182
  * @return Fulfills with an {fs.Dir}.
1183
1183
  */
1184
1184
  function opendir(path: PathLike, options?: OpenDirOptions): Promise<Dir>;
1185
+ interface WatchOptions extends _WatchOptions {
1186
+ maxQueue?: number | undefined;
1187
+ overflow?: "ignore" | "throw" | undefined;
1188
+ }
1189
+ interface WatchOptionsWithBufferEncoding extends WatchOptions {
1190
+ encoding: "buffer";
1191
+ }
1192
+ interface WatchOptionsWithStringEncoding extends WatchOptions {
1193
+ encoding?: BufferEncoding | undefined;
1194
+ }
1185
1195
  /**
1186
1196
  * Returns an async iterator that watches for changes on `filename`, where `filename`is either a file or a directory.
1187
1197
  *
@@ -1214,33 +1224,16 @@ declare module "fs/promises" {
1214
1224
  */
1215
1225
  function watch(
1216
1226
  filename: PathLike,
1217
- options:
1218
- | (WatchOptions & {
1219
- encoding: "buffer";
1220
- })
1221
- | "buffer",
1222
- ): AsyncIterable<FileChangeInfo<Buffer>>;
1223
- /**
1224
- * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.
1225
- * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.
1226
- * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.
1227
- * If `encoding` is not supplied, the default of `'utf8'` is used.
1228
- * If `persistent` is not supplied, the default of `true` is used.
1229
- * If `recursive` is not supplied, the default of `false` is used.
1230
- */
1231
- function watch(filename: PathLike, options?: WatchOptions | BufferEncoding): AsyncIterable<FileChangeInfo<string>>;
1232
- /**
1233
- * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.
1234
- * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.
1235
- * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.
1236
- * If `encoding` is not supplied, the default of `'utf8'` is used.
1237
- * If `persistent` is not supplied, the default of `true` is used.
1238
- * If `recursive` is not supplied, the default of `false` is used.
1239
- */
1227
+ options?: WatchOptionsWithStringEncoding | BufferEncoding,
1228
+ ): NodeJS.AsyncIterator<FileChangeInfo<string>>;
1229
+ function watch(
1230
+ filename: PathLike,
1231
+ options: WatchOptionsWithBufferEncoding | "buffer",
1232
+ ): NodeJS.AsyncIterator<FileChangeInfo<Buffer>>;
1240
1233
  function watch(
1241
1234
  filename: PathLike,
1242
- options: WatchOptions | string,
1243
- ): AsyncIterable<FileChangeInfo<string>> | AsyncIterable<FileChangeInfo<Buffer>>;
1235
+ options: WatchOptions | BufferEncoding | "buffer",
1236
+ ): NodeJS.AsyncIterator<FileChangeInfo<string | Buffer>>;
1244
1237
  /**
1245
1238
  * Asynchronously copies the entire directory structure from `src` to `dest`,
1246
1239
  * including subdirectories and files.
@@ -329,14 +329,15 @@ declare module "fs" {
329
329
  */
330
330
  readSync(): Dirent | null;
331
331
  /**
332
- * Calls `dir.close()` and returns a promise that fulfills when the
333
- * dir is closed.
332
+ * Calls `dir.close()` if the directory handle is open, and returns a promise that
333
+ * fulfills when disposal is complete.
334
334
  * @since v22.17.0
335
335
  * @experimental
336
336
  */
337
337
  [Symbol.asyncDispose](): Promise<void>;
338
338
  /**
339
- * Calls `dir.closeSync()` and returns `undefined`.
339
+ * Calls `dir.closeSync()` if the directory handle is open, and returns
340
+ * `undefined`.
340
341
  * @since v22.17.0
341
342
  * @experimental
342
343
  */
@@ -3340,6 +3341,12 @@ declare module "fs" {
3340
3341
  persistent?: boolean | undefined;
3341
3342
  recursive?: boolean | undefined;
3342
3343
  }
3344
+ export interface WatchOptionsWithBufferEncoding extends WatchOptions {
3345
+ encoding: "buffer";
3346
+ }
3347
+ export interface WatchOptionsWithStringEncoding extends WatchOptions {
3348
+ encoding?: BufferEncoding | undefined;
3349
+ }
3343
3350
  export type WatchEventType = "rename" | "change";
3344
3351
  export type WatchListener<T> = (event: WatchEventType, filename: T | null) => void;
3345
3352
  export type StatsListener = (curr: Stats, prev: Stats) => void;
@@ -3366,44 +3373,20 @@ declare module "fs" {
3366
3373
  */
3367
3374
  export function watch(
3368
3375
  filename: PathLike,
3369
- options:
3370
- | (WatchOptions & {
3371
- encoding: "buffer";
3372
- })
3373
- | "buffer",
3374
- listener?: WatchListener<Buffer>,
3376
+ options?: WatchOptionsWithStringEncoding | BufferEncoding | null,
3377
+ listener?: WatchListener<string>,
3375
3378
  ): FSWatcher;
3376
- /**
3377
- * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.
3378
- * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.
3379
- * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.
3380
- * If `encoding` is not supplied, the default of `'utf8'` is used.
3381
- * If `persistent` is not supplied, the default of `true` is used.
3382
- * If `recursive` is not supplied, the default of `false` is used.
3383
- */
3384
3379
  export function watch(
3385
3380
  filename: PathLike,
3386
- options?: WatchOptions | BufferEncoding | null,
3387
- listener?: WatchListener<string>,
3381
+ options: WatchOptionsWithBufferEncoding | "buffer",
3382
+ listener: WatchListener<Buffer>,
3388
3383
  ): FSWatcher;
3389
- /**
3390
- * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.
3391
- * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.
3392
- * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.
3393
- * If `encoding` is not supplied, the default of `'utf8'` is used.
3394
- * If `persistent` is not supplied, the default of `true` is used.
3395
- * If `recursive` is not supplied, the default of `false` is used.
3396
- */
3397
3384
  export function watch(
3398
3385
  filename: PathLike,
3399
- options: WatchOptions | string,
3400
- listener?: WatchListener<string | Buffer>,
3386
+ options: WatchOptions | BufferEncoding | "buffer" | null,
3387
+ listener: WatchListener<string | Buffer>,
3401
3388
  ): FSWatcher;
3402
- /**
3403
- * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.
3404
- * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.
3405
- */
3406
- export function watch(filename: PathLike, listener?: WatchListener<string>): FSWatcher;
3389
+ export function watch(filename: PathLike, listener: WatchListener<string>): FSWatcher;
3407
3390
  /**
3408
3391
  * Test whether or not the given path exists by checking with the file system.
3409
3392
  * Then call the `callback` argument with either true or false:
@@ -0,0 +1,170 @@
1
+ declare var global: typeof globalThis;
2
+
3
+ declare var process: NodeJS.Process;
4
+ declare var console: Console;
5
+
6
+ interface ErrorConstructor {
7
+ /**
8
+ * Creates a `.stack` property on `targetObject`, which when accessed returns
9
+ * a string representing the location in the code at which
10
+ * `Error.captureStackTrace()` was called.
11
+ *
12
+ * ```js
13
+ * const myObject = {};
14
+ * Error.captureStackTrace(myObject);
15
+ * myObject.stack; // Similar to `new Error().stack`
16
+ * ```
17
+ *
18
+ * The first line of the trace will be prefixed with
19
+ * `${myObject.name}: ${myObject.message}`.
20
+ *
21
+ * The optional `constructorOpt` argument accepts a function. If given, all frames
22
+ * above `constructorOpt`, including `constructorOpt`, will be omitted from the
23
+ * generated stack trace.
24
+ *
25
+ * The `constructorOpt` argument is useful for hiding implementation
26
+ * details of error generation from the user. For instance:
27
+ *
28
+ * ```js
29
+ * function a() {
30
+ * b();
31
+ * }
32
+ *
33
+ * function b() {
34
+ * c();
35
+ * }
36
+ *
37
+ * function c() {
38
+ * // Create an error without stack trace to avoid calculating the stack trace twice.
39
+ * const { stackTraceLimit } = Error;
40
+ * Error.stackTraceLimit = 0;
41
+ * const error = new Error();
42
+ * Error.stackTraceLimit = stackTraceLimit;
43
+ *
44
+ * // Capture the stack trace above function b
45
+ * Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
46
+ * throw error;
47
+ * }
48
+ *
49
+ * a();
50
+ * ```
51
+ */
52
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
53
+ /**
54
+ * @see https://v8.dev/docs/stack-trace-api#customizing-stack-traces
55
+ */
56
+ prepareStackTrace(err: Error, stackTraces: NodeJS.CallSite[]): any;
57
+ /**
58
+ * The `Error.stackTraceLimit` property specifies the number of stack frames
59
+ * collected by a stack trace (whether generated by `new Error().stack` or
60
+ * `Error.captureStackTrace(obj)`).
61
+ *
62
+ * The default value is `10` but may be set to any valid JavaScript number. Changes
63
+ * will affect any stack trace captured _after_ the value has been changed.
64
+ *
65
+ * If set to a non-number value, or set to a negative number, stack traces will
66
+ * not capture any frames.
67
+ */
68
+ stackTraceLimit: number;
69
+ }
70
+
71
+ /**
72
+ * Enable this API with the `--expose-gc` CLI flag.
73
+ */
74
+ declare var gc: NodeJS.GCFunction | undefined;
75
+
76
+ declare namespace NodeJS {
77
+ interface CallSite {
78
+ getColumnNumber(): number | null;
79
+ getEnclosingColumnNumber(): number | null;
80
+ getEnclosingLineNumber(): number | null;
81
+ getEvalOrigin(): string | undefined;
82
+ getFileName(): string | null;
83
+ getFunction(): Function | undefined;
84
+ getFunctionName(): string | null;
85
+ getLineNumber(): number | null;
86
+ getMethodName(): string | null;
87
+ getPosition(): number;
88
+ getPromiseIndex(): number | null;
89
+ getScriptHash(): string;
90
+ getScriptNameOrSourceURL(): string | null;
91
+ getThis(): unknown;
92
+ getTypeName(): string | null;
93
+ isAsync(): boolean;
94
+ isConstructor(): boolean;
95
+ isEval(): boolean;
96
+ isNative(): boolean;
97
+ isPromiseAll(): boolean;
98
+ isToplevel(): boolean;
99
+ }
100
+
101
+ interface ErrnoException extends Error {
102
+ errno?: number | undefined;
103
+ code?: string | undefined;
104
+ path?: string | undefined;
105
+ syscall?: string | undefined;
106
+ }
107
+
108
+ interface ReadableStream extends EventEmitter {
109
+ readable: boolean;
110
+ read(size?: number): string | Buffer;
111
+ setEncoding(encoding: BufferEncoding): this;
112
+ pause(): this;
113
+ resume(): this;
114
+ isPaused(): boolean;
115
+ pipe<T extends WritableStream>(destination: T, options?: { end?: boolean | undefined }): T;
116
+ unpipe(destination?: WritableStream): this;
117
+ unshift(chunk: string | Uint8Array, encoding?: BufferEncoding): void;
118
+ wrap(oldStream: ReadableStream): this;
119
+ [Symbol.asyncIterator](): AsyncIterableIterator<string | Buffer>;
120
+ }
121
+
122
+ interface WritableStream extends EventEmitter {
123
+ writable: boolean;
124
+ write(buffer: Uint8Array | string, cb?: (err?: Error | null) => void): boolean;
125
+ write(str: string, encoding?: BufferEncoding, cb?: (err?: Error | null) => void): boolean;
126
+ end(cb?: () => void): this;
127
+ end(data: string | Uint8Array, cb?: () => void): this;
128
+ end(str: string, encoding?: BufferEncoding, cb?: () => void): this;
129
+ }
130
+
131
+ interface ReadWriteStream extends ReadableStream, WritableStream {}
132
+
133
+ interface RefCounted {
134
+ ref(): this;
135
+ unref(): this;
136
+ }
137
+
138
+ interface Dict<T> {
139
+ [key: string]: T | undefined;
140
+ }
141
+
142
+ interface ReadOnlyDict<T> {
143
+ readonly [key: string]: T | undefined;
144
+ }
145
+
146
+ interface GCFunction {
147
+ (minor?: boolean): void;
148
+ (options: NodeJS.GCOptions & { execution: "async" }): Promise<void>;
149
+ (options: NodeJS.GCOptions): void;
150
+ }
151
+
152
+ interface GCOptions {
153
+ execution?: "sync" | "async" | undefined;
154
+ flavor?: "regular" | "last-resort" | undefined;
155
+ type?: "major-snapshot" | "major" | "minor" | undefined;
156
+ filename?: string | undefined;
157
+ }
158
+
159
+ /** An iterable iterator returned by the Node.js API. */
160
+ // Default TReturn/TNext in v22 is `any`, for compatibility with the previously-used IterableIterator.
161
+ interface Iterator<T, TReturn = any, TNext = any> extends IteratorObject<T, TReturn, TNext> {
162
+ [Symbol.iterator](): NodeJS.Iterator<T, TReturn, TNext>;
163
+ }
164
+
165
+ /** An async iterable iterator returned by the Node.js API. */
166
+ // Default TReturn/TNext in v22 is `any`, for compatibility with the previously-used AsyncIterableIterator.
167
+ interface AsyncIterator<T, TReturn = any, TNext = any> extends AsyncIteratorObject<T, TReturn, TNext> {
168
+ [Symbol.asyncIterator](): NodeJS.AsyncIterator<T, TReturn, TNext>;
169
+ }
170
+ }
@@ -2028,7 +2028,7 @@ declare module "http" {
2028
2028
  */
2029
2029
  const maxHeaderSize: number;
2030
2030
  /**
2031
- * A browser-compatible implementation of [WebSocket](https://nodejs.org/docs/latest/api/http.html#websocket).
2031
+ * A browser-compatible implementation of `WebSocket`.
2032
2032
  * @since v22.5.0
2033
2033
  */
2034
2034
  const WebSocket: import("undici-types").WebSocket;
@@ -36,6 +36,12 @@
36
36
 
37
37
  // Definitions for Node.js modules that are not specific to any version of TypeScript:
38
38
  /// <reference path="globals.d.ts" />
39
+ /// <reference path="web-globals/abortcontroller.d.ts" />
40
+ /// <reference path="web-globals/domexception.d.ts" />
41
+ /// <reference path="web-globals/events.d.ts" />
42
+ /// <reference path="web-globals/fetch.d.ts" />
43
+ /// <reference path="web-globals/navigator.d.ts" />
44
+ /// <reference path="web-globals/storage.d.ts" />
39
45
  /// <reference path="assert.d.ts" />
40
46
  /// <reference path="assert/strict.d.ts" />
41
47
  /// <reference path="async_hooks.d.ts" />
@@ -51,7 +57,6 @@
51
57
  /// <reference path="dns/promises.d.ts" />
52
58
  /// <reference path="dns/promises.d.ts" />
53
59
  /// <reference path="domain.d.ts" />
54
- /// <reference path="dom-events.d.ts" />
55
60
  /// <reference path="events.d.ts" />
56
61
  /// <reference path="fs.d.ts" />
57
62
  /// <reference path="fs/promises.d.ts" />