@chainlink/external-adapter-framework 2.6.0 → 2.7.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 (160) hide show
  1. package/README.md +1 -1
  2. package/adapter/types.d.ts +1 -1
  3. package/config/index.d.ts +4 -0
  4. package/config/index.js +4 -0
  5. package/config/index.js.map +1 -1
  6. package/debug/router.js +7 -36
  7. package/debug/router.js.map +1 -1
  8. package/debug/settings-page.d.ts +1 -7
  9. package/debug/settings-page.js +0 -22
  10. package/debug/settings-page.js.map +1 -1
  11. package/generator-adapter/generators/app/index.js +11 -5
  12. package/generator-adapter/node_modules/.yarn-integrity +14 -13
  13. package/generator-adapter/node_modules/@types/node/README.md +3 -3
  14. package/generator-adapter/node_modules/@types/node/async_hooks.d.ts +65 -1
  15. package/generator-adapter/node_modules/@types/node/buffer.buffer.d.ts +2 -0
  16. package/generator-adapter/node_modules/@types/node/buffer.d.ts +8 -4
  17. package/generator-adapter/node_modules/@types/node/child_process.d.ts +26 -122
  18. package/generator-adapter/node_modules/@types/node/cluster.d.ts +1 -1
  19. package/generator-adapter/node_modules/@types/node/compatibility/disposable.d.ts +0 -2
  20. package/generator-adapter/node_modules/@types/node/compatibility/indexable.d.ts +0 -3
  21. package/generator-adapter/node_modules/@types/node/compatibility/iterators.d.ts +0 -1
  22. package/generator-adapter/node_modules/@types/node/crypto.d.ts +17 -1
  23. package/generator-adapter/node_modules/@types/node/diagnostics_channel.d.ts +37 -13
  24. package/generator-adapter/node_modules/@types/node/dns/promises.d.ts +36 -9
  25. package/generator-adapter/node_modules/@types/node/dns.d.ts +73 -20
  26. package/generator-adapter/node_modules/@types/node/events.d.ts +0 -1
  27. package/generator-adapter/node_modules/@types/node/fs/promises.d.ts +62 -54
  28. package/generator-adapter/node_modules/@types/node/fs.d.ts +149 -54
  29. package/generator-adapter/node_modules/@types/node/globals.d.ts +137 -478
  30. package/generator-adapter/node_modules/@types/node/http.d.ts +93 -6
  31. package/generator-adapter/node_modules/@types/node/http2.d.ts +81 -2
  32. package/generator-adapter/node_modules/@types/node/https.d.ts +5 -0
  33. package/generator-adapter/node_modules/@types/node/index.d.ts +7 -3
  34. package/generator-adapter/node_modules/@types/node/{inspector.d.ts → inspector.generated.d.ts} +219 -10
  35. package/generator-adapter/node_modules/@types/node/module.d.ts +136 -17
  36. package/generator-adapter/node_modules/@types/node/net.d.ts +15 -9
  37. package/generator-adapter/node_modules/@types/node/package.json +3 -83
  38. package/generator-adapter/node_modules/@types/node/perf_hooks.d.ts +2 -2
  39. package/generator-adapter/node_modules/@types/node/process.d.ts +3 -4
  40. package/generator-adapter/node_modules/@types/node/querystring.d.ts +2 -3
  41. package/generator-adapter/node_modules/@types/node/readline/promises.d.ts +0 -1
  42. package/generator-adapter/node_modules/@types/node/repl.d.ts +3 -5
  43. package/generator-adapter/node_modules/@types/node/sqlite.d.ts +207 -0
  44. package/generator-adapter/node_modules/@types/node/stream/web.d.ts +11 -3
  45. package/generator-adapter/node_modules/@types/node/stream.d.ts +5 -10
  46. package/generator-adapter/node_modules/@types/node/test.d.ts +1873 -1970
  47. package/generator-adapter/node_modules/@types/node/tls.d.ts +1 -1
  48. package/generator-adapter/node_modules/@types/node/ts5.6/buffer.buffer.d.ts +2 -0
  49. package/generator-adapter/node_modules/@types/node/ts5.6/index.d.ts +7 -3
  50. package/generator-adapter/node_modules/@types/node/url.d.ts +12 -3
  51. package/generator-adapter/node_modules/@types/node/util.d.ts +33 -5
  52. package/generator-adapter/node_modules/@types/node/v8.d.ts +60 -30
  53. package/generator-adapter/node_modules/@types/node/vm.d.ts +61 -8
  54. package/generator-adapter/node_modules/@types/node/web-globals/abortcontroller.d.ts +34 -0
  55. package/generator-adapter/node_modules/@types/node/web-globals/domexception.d.ts +68 -0
  56. package/generator-adapter/node_modules/@types/node/web-globals/events.d.ts +94 -0
  57. package/generator-adapter/node_modules/@types/node/web-globals/fetch.d.ts +46 -0
  58. package/generator-adapter/node_modules/@types/node/web-globals/navigator.d.ts +22 -0
  59. package/generator-adapter/node_modules/@types/node/web-globals/storage.d.ts +24 -0
  60. package/generator-adapter/node_modules/@types/node/worker_threads.d.ts +87 -28
  61. package/generator-adapter/node_modules/@types/node/zlib.d.ts +8 -2
  62. package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.d.ts +3 -0
  63. package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js +12 -2
  64. package/generator-adapter/node_modules/@yeoman/adapter/dist/adapter.js.map +1 -1
  65. package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.d.ts +3 -0
  66. package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.js +12 -2
  67. package/generator-adapter/node_modules/@yeoman/adapter/dist/queued-adapter.js.map +1 -1
  68. package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.d.ts +3 -0
  69. package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.js +12 -2
  70. package/generator-adapter/node_modules/@yeoman/adapter/dist/testing/test-adapter.js.map +1 -1
  71. package/generator-adapter/node_modules/@yeoman/adapter/package.json +4 -4
  72. package/generator-adapter/node_modules/@yeoman/adapter/types/adapter.d.ts +12 -1
  73. package/generator-adapter/node_modules/@yeoman/types/package.json +3 -3
  74. package/generator-adapter/node_modules/@yeoman/types/types/environment/environment.d.ts +4 -1
  75. package/generator-adapter/node_modules/@yeoman/types/types/environment/methods-options.d.ts +7 -3
  76. package/generator-adapter/node_modules/@yeoman/types/types/generator/generator.d.ts +8 -5
  77. package/generator-adapter/node_modules/@yeoman/types/types/generator/utils.d.ts +1 -0
  78. package/generator-adapter/node_modules/ansi-regex/index.d.ts +9 -13
  79. package/generator-adapter/node_modules/ansi-regex/index.js +6 -6
  80. package/generator-adapter/node_modules/ansi-regex/license +1 -1
  81. package/generator-adapter/node_modules/ansi-regex/package.json +12 -6
  82. package/generator-adapter/node_modules/ansi-regex/readme.md +4 -22
  83. package/generator-adapter/node_modules/cli-spinners/index.d.ts +122 -111
  84. package/generator-adapter/node_modules/cli-spinners/index.js +7 -11
  85. package/generator-adapter/node_modules/cli-spinners/package.json +15 -9
  86. package/generator-adapter/node_modules/cli-spinners/readme.md +23 -3
  87. package/generator-adapter/node_modules/cli-spinners/spinners.json +44 -1
  88. package/generator-adapter/node_modules/emoji-regex/README.md +14 -48
  89. package/generator-adapter/node_modules/emoji-regex/index.d.ts +21 -1
  90. package/generator-adapter/node_modules/emoji-regex/index.js +5 -3
  91. package/generator-adapter/node_modules/emoji-regex/package.json +12 -7
  92. package/generator-adapter/node_modules/get-east-asian-width/index.js +2 -3
  93. package/generator-adapter/node_modules/get-east-asian-width/lookup.js +11 -11
  94. package/generator-adapter/node_modules/get-east-asian-width/package.json +1 -1
  95. package/generator-adapter/node_modules/ora/index.d.ts +3 -3
  96. package/generator-adapter/node_modules/ora/index.js +67 -48
  97. package/generator-adapter/node_modules/ora/node_modules/chalk/package.json +83 -0
  98. package/generator-adapter/node_modules/ora/node_modules/chalk/readme.md +297 -0
  99. package/generator-adapter/node_modules/ora/node_modules/chalk/source/index.d.ts +325 -0
  100. package/generator-adapter/node_modules/ora/node_modules/chalk/source/index.js +225 -0
  101. package/generator-adapter/node_modules/ora/node_modules/chalk/source/utilities.js +33 -0
  102. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/ansi-styles/index.d.ts +236 -0
  103. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/ansi-styles/index.js +223 -0
  104. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/browser.d.ts +1 -0
  105. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/browser.js +34 -0
  106. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/index.d.ts +55 -0
  107. package/generator-adapter/node_modules/ora/node_modules/chalk/source/vendor/supports-color/index.js +190 -0
  108. package/generator-adapter/node_modules/ora/node_modules/log-symbols/browser-symbols.js +4 -0
  109. package/generator-adapter/node_modules/ora/node_modules/log-symbols/browser.js +1 -8
  110. package/generator-adapter/node_modules/ora/node_modules/log-symbols/index.js +1 -20
  111. package/generator-adapter/node_modules/ora/node_modules/log-symbols/package.json +10 -7
  112. package/generator-adapter/node_modules/ora/node_modules/log-symbols/symbols.js +14 -0
  113. package/generator-adapter/node_modules/ora/node_modules/strip-ansi/package.json +3 -1
  114. package/generator-adapter/node_modules/ora/node_modules/strip-ansi/readme.md +5 -9
  115. package/generator-adapter/node_modules/ora/package.json +13 -13
  116. package/generator-adapter/node_modules/ora/readme.md +49 -3
  117. package/generator-adapter/node_modules/string-width/index.js +52 -45
  118. package/generator-adapter/node_modules/string-width/package.json +8 -7
  119. package/generator-adapter/node_modules/{string-width → strip-ansi}/node_modules/ansi-regex/index.d.ts +13 -9
  120. package/generator-adapter/node_modules/strip-ansi/node_modules/ansi-regex/index.js +10 -0
  121. package/generator-adapter/node_modules/{ora/node_modules/log-symbols/node_modules/is-unicode-supported → strip-ansi/node_modules/ansi-regex}/license +1 -1
  122. package/generator-adapter/node_modules/{string-width → strip-ansi}/node_modules/ansi-regex/package.json +6 -12
  123. package/generator-adapter/node_modules/{ora → strip-ansi}/node_modules/ansi-regex/readme.md +22 -4
  124. package/generator-adapter/package.json +3 -3
  125. package/index.js +3 -0
  126. package/index.js.map +1 -1
  127. package/package.json +19 -19
  128. package/status/router.d.ts +49 -0
  129. package/status/router.js +55 -0
  130. package/status/router.js.map +1 -0
  131. package/transports/http.d.ts +1 -2
  132. package/transports/sse.d.ts +2 -2
  133. package/transports/sse.js +2 -5
  134. package/transports/sse.js.map +1 -1
  135. package/transports/websocket.js +53 -17
  136. package/transports/websocket.js.map +1 -1
  137. package/util/settings.d.ts +11 -0
  138. package/util/settings.js +29 -0
  139. package/util/settings.js.map +1 -0
  140. package/generator-adapter/node_modules/@types/node/dom-events.d.ts +0 -124
  141. package/generator-adapter/node_modules/emoji-regex/index.mjs +0 -4
  142. package/generator-adapter/node_modules/ora/node_modules/ansi-regex/index.d.ts +0 -33
  143. package/generator-adapter/node_modules/ora/node_modules/ansi-regex/index.js +0 -10
  144. package/generator-adapter/node_modules/ora/node_modules/ansi-regex/package.json +0 -61
  145. package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/index.d.ts +0 -12
  146. package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/index.js +0 -17
  147. package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/package.json +0 -43
  148. package/generator-adapter/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/readme.md +0 -35
  149. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/index.js +0 -10
  150. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/license +0 -9
  151. package/generator-adapter/node_modules/string-width/node_modules/ansi-regex/readme.md +0 -60
  152. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/LICENSE-MIT.txt +0 -20
  153. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/README.md +0 -73
  154. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/index.d.ts +0 -23
  155. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/index.js +0 -6
  156. package/generator-adapter/node_modules/wrap-ansi/node_modules/emoji-regex/package.json +0 -50
  157. /package/generator-adapter/node_modules/{wrap-ansi/node_modules/emoji-regex → emoji-regex}/es2015/index.js +0 -0
  158. /package/generator-adapter/node_modules/{wrap-ansi/node_modules/emoji-regex → emoji-regex}/es2015/text.js +0 -0
  159. /package/generator-adapter/node_modules/{wrap-ansi/node_modules/emoji-regex → emoji-regex}/text.js +0 -0
  160. /package/generator-adapter/node_modules/ora/node_modules/{ansi-regex → chalk}/license +0 -0
@@ -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;
@@ -289,6 +292,15 @@ declare module "dns" {
289
292
  export interface AnySrvRecord extends SrvRecord {
290
293
  type: "SRV";
291
294
  }
295
+ export interface TlsaRecord {
296
+ certUsage: number;
297
+ selector: number;
298
+ match: number;
299
+ data: ArrayBuffer;
300
+ }
301
+ export interface AnyTlsaRecord extends TlsaRecord {
302
+ type: "TLSA";
303
+ }
292
304
  export interface AnyTxtRecord {
293
305
  type: "TXT";
294
306
  entries: string[];
@@ -308,6 +320,7 @@ declare module "dns" {
308
320
  export type AnyRecord =
309
321
  | AnyARecord
310
322
  | AnyAaaaRecord
323
+ | AnyCaaRecord
311
324
  | AnyCnameRecord
312
325
  | AnyMxRecord
313
326
  | AnyNaptrRecord
@@ -315,6 +328,7 @@ declare module "dns" {
315
328
  | AnyPtrRecord
316
329
  | AnySoaRecord
317
330
  | AnySrvRecord
331
+ | AnyTlsaRecord
318
332
  | AnyTxtRecord;
319
333
  /**
320
334
  * Uses the DNS protocol to resolve a host name (e.g. `'nodejs.org'`) into an array
@@ -335,12 +349,7 @@ declare module "dns" {
335
349
  ): void;
336
350
  export function resolve(
337
351
  hostname: string,
338
- rrtype: "A",
339
- callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
340
- ): void;
341
- export function resolve(
342
- hostname: string,
343
- rrtype: "AAAA",
352
+ rrtype: "A" | "AAAA" | "CNAME" | "NS" | "PTR",
344
353
  callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
345
354
  ): void;
346
355
  export function resolve(
@@ -350,8 +359,8 @@ declare module "dns" {
350
359
  ): void;
351
360
  export function resolve(
352
361
  hostname: string,
353
- rrtype: "CNAME",
354
- callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
362
+ rrtype: "CAA",
363
+ callback: (err: NodeJS.ErrnoException | null, address: CaaRecord[]) => void,
355
364
  ): void;
356
365
  export function resolve(
357
366
  hostname: string,
@@ -363,16 +372,6 @@ declare module "dns" {
363
372
  rrtype: "NAPTR",
364
373
  callback: (err: NodeJS.ErrnoException | null, addresses: NaptrRecord[]) => void,
365
374
  ): void;
366
- export function resolve(
367
- hostname: string,
368
- rrtype: "NS",
369
- callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
370
- ): void;
371
- export function resolve(
372
- hostname: string,
373
- rrtype: "PTR",
374
- callback: (err: NodeJS.ErrnoException | null, addresses: string[]) => void,
375
- ): void;
376
375
  export function resolve(
377
376
  hostname: string,
378
377
  rrtype: "SOA",
@@ -383,6 +382,11 @@ declare module "dns" {
383
382
  rrtype: "SRV",
384
383
  callback: (err: NodeJS.ErrnoException | null, addresses: SrvRecord[]) => void,
385
384
  ): void;
385
+ export function resolve(
386
+ hostname: string,
387
+ rrtype: "TLSA",
388
+ callback: (err: NodeJS.ErrnoException | null, addresses: TlsaRecord[]) => void,
389
+ ): void;
386
390
  export function resolve(
387
391
  hostname: string,
388
392
  rrtype: "TXT",
@@ -393,21 +397,42 @@ declare module "dns" {
393
397
  rrtype: string,
394
398
  callback: (
395
399
  err: NodeJS.ErrnoException | null,
396
- addresses: string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[],
400
+ addresses:
401
+ | string[]
402
+ | CaaRecord[]
403
+ | MxRecord[]
404
+ | NaptrRecord[]
405
+ | SoaRecord
406
+ | SrvRecord[]
407
+ | TlsaRecord[]
408
+ | string[][]
409
+ | AnyRecord[],
397
410
  ) => void,
398
411
  ): void;
399
412
  export namespace resolve {
400
413
  function __promisify__(hostname: string, rrtype?: "A" | "AAAA" | "CNAME" | "NS" | "PTR"): Promise<string[]>;
401
414
  function __promisify__(hostname: string, rrtype: "ANY"): Promise<AnyRecord[]>;
415
+ function __promisify__(hostname: string, rrtype: "CAA"): Promise<CaaRecord[]>;
402
416
  function __promisify__(hostname: string, rrtype: "MX"): Promise<MxRecord[]>;
403
417
  function __promisify__(hostname: string, rrtype: "NAPTR"): Promise<NaptrRecord[]>;
404
418
  function __promisify__(hostname: string, rrtype: "SOA"): Promise<SoaRecord>;
405
419
  function __promisify__(hostname: string, rrtype: "SRV"): Promise<SrvRecord[]>;
420
+ function __promisify__(hostname: string, rrtype: "TLSA"): Promise<TlsaRecord[]>;
406
421
  function __promisify__(hostname: string, rrtype: "TXT"): Promise<string[][]>;
407
422
  function __promisify__(
408
423
  hostname: string,
409
424
  rrtype: string,
410
- ): Promise<string[] | MxRecord[] | NaptrRecord[] | SoaRecord | SrvRecord[] | string[][] | AnyRecord[]>;
425
+ ): Promise<
426
+ | string[]
427
+ | CaaRecord[]
428
+ | MxRecord[]
429
+ | NaptrRecord[]
430
+ | SoaRecord
431
+ | SrvRecord[]
432
+ | TlsaRecord[]
433
+ | string[][]
434
+ | AnyRecord[]
435
+ >;
411
436
  }
412
437
  /**
413
438
  * Uses the DNS protocol to resolve a IPv4 addresses (`A` records) for the `hostname`. The `addresses` argument passed to the `callback` function
@@ -609,6 +634,33 @@ declare module "dns" {
609
634
  export namespace resolveSrv {
610
635
  function __promisify__(hostname: string): Promise<SrvRecord[]>;
611
636
  }
637
+ /**
638
+ * Uses the DNS protocol to resolve certificate associations (`TLSA` records) for
639
+ * the `hostname`. The `records` argument passed to the `callback` function is an
640
+ * array of objects with these properties:
641
+ *
642
+ * * `certUsage`
643
+ * * `selector`
644
+ * * `match`
645
+ * * `data`
646
+ *
647
+ * ```js
648
+ * {
649
+ * certUsage: 3,
650
+ * selector: 1,
651
+ * match: 1,
652
+ * data: [ArrayBuffer]
653
+ * }
654
+ * ```
655
+ * @since v22.15.0
656
+ */
657
+ export function resolveTlsa(
658
+ hostname: string,
659
+ callback: (err: NodeJS.ErrnoException | null, addresses: TlsaRecord[]) => void,
660
+ ): void;
661
+ export namespace resolveTlsa {
662
+ function __promisify__(hostname: string): Promise<TlsaRecord[]>;
663
+ }
612
664
  /**
613
665
  * Uses the DNS protocol to resolve text queries (`TXT` records) for the `hostname`. The `records` argument passed to the `callback` function is a
614
666
  * two-dimensional array of the text records available for `hostname` (e.g.`[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ]`). Each sub-array contains TXT chunks of
@@ -838,6 +890,7 @@ declare module "dns" {
838
890
  resolvePtr: typeof resolvePtr;
839
891
  resolveSoa: typeof resolveSoa;
840
892
  resolveSrv: typeof resolveSrv;
893
+ resolveTlsa: typeof resolveTlsa;
841
894
  resolveTxt: typeof resolveTxt;
842
895
  reverse: typeof reverse;
843
896
  /**
@@ -431,7 +431,6 @@ declare module "events" {
431
431
  * }
432
432
  * ```
433
433
  * @since v20.5.0
434
- * @experimental
435
434
  * @return Disposable that removes the `abort` listener.
436
435
  */
437
436
  static addAbortListener(signal: AbortSignal, resource: (event: Event) => void): Disposable;
@@ -29,6 +29,7 @@ declare module "fs/promises" {
29
29
  OpenDirOptions,
30
30
  OpenMode,
31
31
  PathLike,
32
+ ReadPosition,
32
33
  ReadStream,
33
34
  ReadVResult,
34
35
  RmDirOptions,
@@ -39,7 +40,7 @@ declare module "fs/promises" {
39
40
  StatsFs,
40
41
  TimeLike,
41
42
  WatchEventType,
42
- WatchOptions,
43
+ WatchOptions as _WatchOptions,
43
44
  WriteStream,
44
45
  WriteVResult,
45
46
  } from "node:fs";
@@ -69,7 +70,7 @@ declare module "fs/promises" {
69
70
  * @default `buffer.byteLength`
70
71
  */
71
72
  length?: number | null;
72
- position?: number | null;
73
+ position?: ReadPosition | null;
73
74
  }
74
75
  interface CreateReadStreamOptions extends Abortable {
75
76
  encoding?: BufferEncoding | null | undefined;
@@ -87,6 +88,9 @@ declare module "fs/promises" {
87
88
  highWaterMark?: number | undefined;
88
89
  flush?: boolean | undefined;
89
90
  }
91
+ interface ReadableWebStreamOptions {
92
+ autoClose?: boolean | undefined;
93
+ }
90
94
  // TODO: Add `EventEmitter` close
91
95
  interface FileHandle {
92
96
  /**
@@ -229,7 +233,7 @@ declare module "fs/promises" {
229
233
  buffer: T,
230
234
  offset?: number | null,
231
235
  length?: number | null,
232
- position?: number | null,
236
+ position?: ReadPosition | null,
233
237
  ): Promise<FileReadResult<T>>;
234
238
  read<T extends NodeJS.ArrayBufferView = Buffer>(
235
239
  buffer: T,
@@ -259,9 +263,8 @@ declare module "fs/promises" {
259
263
  * While the `ReadableStream` will read the file to completion, it will not
260
264
  * close the `FileHandle` automatically. User code must still call the`fileHandle.close()` method.
261
265
  * @since v17.0.0
262
- * @experimental
263
266
  */
264
- readableWebStream(): ReadableStream;
267
+ readableWebStream(options?: ReadableWebStreamOptions): ReadableStream;
265
268
  /**
266
269
  * Asynchronously reads the entire contents of a file.
267
270
  *
@@ -277,36 +280,26 @@ declare module "fs/promises" {
277
280
  * data will be a string.
278
281
  */
279
282
  readFile(
280
- options?: {
281
- encoding?: null | undefined;
282
- flag?: OpenMode | undefined;
283
- } | null,
283
+ options?:
284
+ | ({ encoding?: null | undefined } & Abortable)
285
+ | null,
284
286
  ): Promise<Buffer>;
285
287
  /**
286
288
  * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically.
287
289
  * The `FileHandle` must have been opened for reading.
288
- * @param options An object that may contain an optional flag.
289
- * If a flag is not provided, it defaults to `'r'`.
290
290
  */
291
291
  readFile(
292
292
  options:
293
- | {
294
- encoding: BufferEncoding;
295
- flag?: OpenMode | undefined;
296
- }
293
+ | ({ encoding: BufferEncoding } & Abortable)
297
294
  | BufferEncoding,
298
295
  ): Promise<string>;
299
296
  /**
300
297
  * Asynchronously reads the entire contents of a file. The underlying file will _not_ be closed automatically.
301
298
  * The `FileHandle` must have been opened for reading.
302
- * @param options An object that may contain an optional flag.
303
- * If a flag is not provided, it defaults to `'r'`.
304
299
  */
305
300
  readFile(
306
301
  options?:
307
- | (ObjectEncodingOptions & {
308
- flag?: OpenMode | undefined;
309
- })
302
+ | (ObjectEncodingOptions & Abortable)
310
303
  | BufferEncoding
311
304
  | null,
312
305
  ): Promise<string | Buffer>;
@@ -484,7 +477,8 @@ declare module "fs/promises" {
484
477
  */
485
478
  close(): Promise<void>;
486
479
  /**
487
- * An alias for {@link FileHandle.close()}.
480
+ * Calls `filehandle.close()` and returns a promise that fulfills when the
481
+ * filehandle is closed.
488
482
  * @since v20.4.0
489
483
  */
490
484
  [Symbol.asyncDispose](): Promise<void>;
@@ -728,6 +722,19 @@ declare module "fs/promises" {
728
722
  recursive?: boolean | undefined;
729
723
  },
730
724
  ): Promise<Dirent[]>;
725
+ /**
726
+ * Asynchronous readdir(3) - read a directory.
727
+ * @param path A path to a directory. If a URL is provided, it must use the `file:` protocol.
728
+ * @param options Must include `withFileTypes: true` and `encoding: 'buffer'`.
729
+ */
730
+ function readdir(
731
+ path: PathLike,
732
+ options: {
733
+ encoding: "buffer";
734
+ withFileTypes: true;
735
+ recursive?: boolean | undefined;
736
+ },
737
+ ): Promise<Dirent<Buffer>[]>;
731
738
  /**
732
739
  * Reads the contents of the symbolic link referred to by `path`. See the POSIX [`readlink(2)`](http://man7.org/linux/man-pages/man2/readlink.2.html) documentation for more detail. The promise is
733
740
  * fulfilled with the`linkString` upon success.
@@ -1175,6 +1182,16 @@ declare module "fs/promises" {
1175
1182
  * @return Fulfills with an {fs.Dir}.
1176
1183
  */
1177
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
+ }
1178
1195
  /**
1179
1196
  * Returns an async iterator that watches for changes on `filename`, where `filename`is either a file or a directory.
1180
1197
  *
@@ -1207,33 +1224,16 @@ declare module "fs/promises" {
1207
1224
  */
1208
1225
  function watch(
1209
1226
  filename: PathLike,
1210
- options:
1211
- | (WatchOptions & {
1212
- encoding: "buffer";
1213
- })
1214
- | "buffer",
1215
- ): AsyncIterable<FileChangeInfo<Buffer>>;
1216
- /**
1217
- * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.
1218
- * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.
1219
- * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.
1220
- * If `encoding` is not supplied, the default of `'utf8'` is used.
1221
- * If `persistent` is not supplied, the default of `true` is used.
1222
- * If `recursive` is not supplied, the default of `false` is used.
1223
- */
1224
- function watch(filename: PathLike, options?: WatchOptions | BufferEncoding): AsyncIterable<FileChangeInfo<string>>;
1225
- /**
1226
- * Watch for changes on `filename`, where `filename` is either a file or a directory, returning an `FSWatcher`.
1227
- * @param filename A path to a file or directory. If a URL is provided, it must use the `file:` protocol.
1228
- * @param options Either the encoding for the filename provided to the listener, or an object optionally specifying encoding, persistent, and recursive options.
1229
- * If `encoding` is not supplied, the default of `'utf8'` is used.
1230
- * If `persistent` is not supplied, the default of `true` is used.
1231
- * If `recursive` is not supplied, the default of `false` is used.
1232
- */
1227
+ options?: WatchOptionsWithStringEncoding | BufferEncoding,
1228
+ ): NodeJS.AsyncIterator<FileChangeInfo<string>>;
1229
+ function watch(
1230
+ filename: PathLike,
1231
+ options: WatchOptionsWithBufferEncoding | "buffer",
1232
+ ): NodeJS.AsyncIterator<FileChangeInfo<Buffer>>;
1233
1233
  function watch(
1234
1234
  filename: PathLike,
1235
- options: WatchOptions | string,
1236
- ): AsyncIterable<FileChangeInfo<string>> | AsyncIterable<FileChangeInfo<Buffer>>;
1235
+ options: WatchOptions | BufferEncoding | "buffer",
1236
+ ): NodeJS.AsyncIterator<FileChangeInfo<string | Buffer>>;
1237
1237
  /**
1238
1238
  * Asynchronously copies the entire directory structure from `src` to `dest`,
1239
1239
  * including subdirectories and files.
@@ -1248,20 +1248,28 @@ declare module "fs/promises" {
1248
1248
  */
1249
1249
  function cp(source: string | URL, destination: string | URL, opts?: CopyOptions): Promise<void>;
1250
1250
  /**
1251
- * Retrieves the files matching the specified pattern.
1251
+ * ```js
1252
+ * import { glob } from 'node:fs/promises';
1253
+ *
1254
+ * for await (const entry of glob('*.js'))
1255
+ * console.log(entry);
1256
+ * ```
1257
+ * @since v22.0.0
1258
+ * @returns An AsyncIterator that yields the paths of files
1259
+ * that match the pattern.
1252
1260
  */
1253
- function glob(pattern: string | string[]): NodeJS.AsyncIterator<string>;
1261
+ function glob(pattern: string | readonly string[]): NodeJS.AsyncIterator<string>;
1254
1262
  function glob(
1255
- pattern: string | string[],
1256
- opt: GlobOptionsWithFileTypes,
1263
+ pattern: string | readonly string[],
1264
+ options: GlobOptionsWithFileTypes,
1257
1265
  ): NodeJS.AsyncIterator<Dirent>;
1258
1266
  function glob(
1259
- pattern: string | string[],
1260
- opt: GlobOptionsWithoutFileTypes,
1267
+ pattern: string | readonly string[],
1268
+ options: GlobOptionsWithoutFileTypes,
1261
1269
  ): NodeJS.AsyncIterator<string>;
1262
1270
  function glob(
1263
- pattern: string | string[],
1264
- opt: GlobOptions,
1271
+ pattern: string | readonly string[],
1272
+ options: GlobOptions,
1265
1273
  ): NodeJS.AsyncIterator<Dirent | string>;
1266
1274
  }
1267
1275
  declare module "node:fs/promises" {