@types/node 22.15.29 → 24.0.0

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 (60) hide show
  1. node/README.md +1 -1
  2. node/assert.d.ts +5 -5
  3. node/async_hooks.d.ts +26 -6
  4. node/buffer.d.ts +1 -2
  5. node/child_process.d.ts +2 -2
  6. node/cluster.d.ts +15 -15
  7. node/console.d.ts +17 -17
  8. node/crypto.d.ts +35 -28
  9. node/dgram.d.ts +1 -1
  10. node/diagnostics_channel.d.ts +1 -1
  11. node/dns.d.ts +16 -16
  12. node/domain.d.ts +1 -1
  13. node/events.d.ts +1 -2
  14. node/fs/promises.d.ts +16 -9
  15. node/fs.d.ts +28 -19
  16. node/globals.d.ts +7 -6
  17. node/globals.typedarray.d.ts +1 -0
  18. node/http.d.ts +2 -2
  19. node/http2.d.ts +75 -4
  20. node/https.d.ts +1 -1
  21. node/index.d.ts +7 -5
  22. node/inspector.d.ts +3 -7
  23. node/module.d.ts +63 -29
  24. node/net.d.ts +2 -5
  25. node/os.d.ts +8 -7
  26. node/package.json +13 -3
  27. node/path.d.ts +1 -1
  28. node/perf_hooks.d.ts +8 -8
  29. node/process.d.ts +21 -11
  30. node/punycode.d.ts +1 -1
  31. node/querystring.d.ts +1 -1
  32. node/readline/promises.d.ts +0 -1
  33. node/readline.d.ts +13 -13
  34. node/repl.d.ts +14 -16
  35. node/sea.d.ts +1 -1
  36. node/sqlite.d.ts +182 -2
  37. node/stream.d.ts +8 -19
  38. node/string_decoder.d.ts +1 -1
  39. node/test.d.ts +53 -15
  40. node/timers/promises.d.ts +1 -1
  41. node/timers.d.ts +1 -1
  42. node/tls.d.ts +2 -48
  43. node/trace_events.d.ts +6 -6
  44. node/{compatibility → ts5.1/compatibility}/disposable.d.ts +0 -4
  45. node/ts5.1/index.d.ts +98 -0
  46. node/ts5.6/compatibility/float16array.d.ts +71 -0
  47. node/ts5.6/globals.typedarray.d.ts +1 -0
  48. node/ts5.6/index.d.ts +9 -5
  49. node/ts5.7/compatibility/float16array.d.ts +72 -0
  50. node/ts5.7/index.d.ts +96 -0
  51. node/tty.d.ts +1 -1
  52. node/url.d.ts +52 -19
  53. node/util.d.ts +17 -296
  54. node/v8.d.ts +29 -32
  55. node/vm.d.ts +17 -10
  56. node/wasi.d.ts +1 -1
  57. node/worker_threads.d.ts +34 -18
  58. node/zlib.d.ts +5 -7
  59. node/compatibility/index.d.ts +0 -9
  60. node/compatibility/indexable.d.ts +0 -23
node/README.md CHANGED
@@ -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.
9
9
 
10
10
  ### Additional Details
11
- * Last updated: Fri, 30 May 2025 18:40:02 GMT
11
+ * Last updated: Tue, 10 Jun 2025 02:18:06 GMT
12
12
  * Dependencies: [undici-types](https://npmjs.com/package/undici-types)
13
13
 
14
14
  # Credits
node/assert.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The `node:assert` module provides a set of assertion functions for verifying
3
3
  * invariants.
4
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/assert.js)
4
+ * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/assert.js)
5
5
  */
6
6
  declare module "assert" {
7
7
  /**
@@ -796,7 +796,7 @@ declare module "assert" {
796
796
  * check that the promise is rejected.
797
797
  *
798
798
  * If `asyncFn` is a function and it throws an error synchronously, `assert.rejects()` will return a rejected `Promise` with that error. If the
799
- * function does not return a promise, `assert.rejects()` will return a rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v22.x/api/errors.html#err_invalid_return_value)
799
+ * function does not return a promise, `assert.rejects()` will return a rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v24.x/api/errors.html#err_invalid_return_value)
800
800
  * error. In both cases the error handler is skipped.
801
801
  *
802
802
  * Besides the async nature to await the completion behaves identically to {@link throws}.
@@ -866,7 +866,7 @@ declare module "assert" {
866
866
  *
867
867
  * If `asyncFn` is a function and it throws an error synchronously, `assert.doesNotReject()` will return a rejected `Promise` with that error. If
868
868
  * the function does not return a promise, `assert.doesNotReject()` will return a
869
- * rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v22.x/api/errors.html#err_invalid_return_value) error. In both cases
869
+ * rejected `Promise` with an [ERR_INVALID_RETURN_VALUE](https://nodejs.org/docs/latest-v24.x/api/errors.html#err_invalid_return_value) error. In both cases
870
870
  * the error handler is skipped.
871
871
  *
872
872
  * Using `assert.doesNotReject()` is actually not useful because there is little
@@ -929,7 +929,7 @@ declare module "assert" {
929
929
  * If the values do not match, or if the `string` argument is of another type than `string`, an `{@link AssertionError}` is thrown with a `message` property set equal
930
930
  * to the value of the `message` parameter. If the `message` parameter is
931
931
  * undefined, a default error message is assigned. If the `message` parameter is an
932
- * instance of an [Error](https://nodejs.org/docs/latest-v22.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`.
932
+ * instance of an [Error](https://nodejs.org/docs/latest-v24.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`.
933
933
  * @since v13.6.0, v12.16.0
934
934
  */
935
935
  function match(value: string, regExp: RegExp, message?: string | Error): void;
@@ -952,7 +952,7 @@ declare module "assert" {
952
952
  * If the values do match, or if the `string` argument is of another type than `string`, an `{@link AssertionError}` is thrown with a `message` property set equal
953
953
  * to the value of the `message` parameter. If the `message` parameter is
954
954
  * undefined, a default error message is assigned. If the `message` parameter is an
955
- * instance of an [Error](https://nodejs.org/docs/latest-v22.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`.
955
+ * instance of an [Error](https://nodejs.org/docs/latest-v24.x/api/errors.html#class-error) then it will be thrown instead of the `{@link AssertionError}`.
956
956
  * @since v13.6.0, v12.16.0
957
957
  */
958
958
  function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void;
node/async_hooks.d.ts CHANGED
@@ -2,8 +2,8 @@
2
2
  * We strongly discourage the use of the `async_hooks` API.
3
3
  * Other APIs that can cover most of its use cases include:
4
4
  *
5
- * * [`AsyncLocalStorage`](https://nodejs.org/docs/latest-v22.x/api/async_context.html#class-asynclocalstorage) tracks async context
6
- * * [`process.getActiveResourcesInfo()`](https://nodejs.org/docs/latest-v22.x/api/process.html#processgetactiveresourcesinfo) tracks active resources
5
+ * * [`AsyncLocalStorage`](https://nodejs.org/docs/latest-v24.x/api/async_context.html#class-asynclocalstorage) tracks async context
6
+ * * [`process.getActiveResourcesInfo()`](https://nodejs.org/docs/latest-v24.x/api/process.html#processgetactiveresourcesinfo) tracks active resources
7
7
  *
8
8
  * The `node:async_hooks` module provides an API to track asynchronous resources.
9
9
  * It can be accessed using:
@@ -12,7 +12,7 @@
12
12
  * import async_hooks from 'node:async_hooks';
13
13
  * ```
14
14
  * @experimental
15
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/async_hooks.js)
15
+ * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/async_hooks.js)
16
16
  */
17
17
  declare module "async_hooks" {
18
18
  /**
@@ -44,7 +44,7 @@ declare module "async_hooks" {
44
44
  * ```
45
45
  *
46
46
  * Promise contexts may not get precise `executionAsyncIds` by default.
47
- * See the section on [promise execution tracking](https://nodejs.org/docs/latest-v22.x/api/async_hooks.html#promise-execution-tracking).
47
+ * See the section on [promise execution tracking](https://nodejs.org/docs/latest-v24.x/api/async_hooks.html#promise-execution-tracking).
48
48
  * @since v8.1.0
49
49
  * @return The `asyncId` of the current execution context. Useful to track when something calls.
50
50
  */
@@ -117,7 +117,7 @@ declare module "async_hooks" {
117
117
  * ```
118
118
  *
119
119
  * Promise contexts may not get valid `triggerAsyncId`s by default. See
120
- * the section on [promise execution tracking](https://nodejs.org/docs/latest-v22.x/api/async_hooks.html#promise-execution-tracking).
120
+ * the section on [promise execution tracking](https://nodejs.org/docs/latest-v24.x/api/async_hooks.html#promise-execution-tracking).
121
121
  * @return The ID of the resource responsible for calling the callback that is currently being executed.
122
122
  */
123
123
  function triggerAsyncId(): number;
@@ -320,6 +320,16 @@ declare module "async_hooks" {
320
320
  */
321
321
  triggerAsyncId(): number;
322
322
  }
323
+ interface AsyncLocalStorageOptions {
324
+ /**
325
+ * The default value to be used when no store is provided.
326
+ */
327
+ defaultValue?: any;
328
+ /**
329
+ * A name for the `AsyncLocalStorage` value.
330
+ */
331
+ name?: string | undefined;
332
+ }
323
333
  /**
324
334
  * This class creates stores that stay coherent through asynchronous operations.
325
335
  *
@@ -358,8 +368,8 @@ declare module "async_hooks" {
358
368
  * http.get('http://localhost:8080');
359
369
  * // Prints:
360
370
  * // 0: start
361
- * // 1: start
362
371
  * // 0: finish
372
+ * // 1: start
363
373
  * // 1: finish
364
374
  * ```
365
375
  *
@@ -369,6 +379,11 @@ declare module "async_hooks" {
369
379
  * @since v13.10.0, v12.17.0
370
380
  */
371
381
  class AsyncLocalStorage<T> {
382
+ /**
383
+ * Creates a new instance of `AsyncLocalStorage`. Store is only provided within a
384
+ * `run()` call or after an `enterWith()` call.
385
+ */
386
+ constructor(options?: AsyncLocalStorageOptions);
372
387
  /**
373
388
  * Binds the given function to the current execution context.
374
389
  * @since v19.8.0
@@ -430,6 +445,11 @@ declare module "async_hooks" {
430
445
  * @since v13.10.0, v12.17.0
431
446
  */
432
447
  getStore(): T | undefined;
448
+ /**
449
+ * The name of the `AsyncLocalStorage` instance if provided.
450
+ * @since v24.0.0
451
+ */
452
+ readonly name: string;
433
453
  /**
434
454
  * Runs a function synchronously within a context and returns its
435
455
  * return value. The store is not accessible outside of the callback function.
node/buffer.d.ts CHANGED
@@ -46,7 +46,7 @@ type _File = typeof globalThis extends { onmessage: any; File: any } ? {} : impo
46
46
  * // Creates a Buffer containing the Latin-1 bytes [0x74, 0xe9, 0x73, 0x74].
47
47
  * const buf7 = Buffer.from('tést', 'latin1');
48
48
  * ```
49
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/buffer.js)
49
+ * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/buffer.js)
50
50
  */
51
51
  declare module "buffer" {
52
52
  import { BinaryLike } from "node:crypto";
@@ -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;
node/child_process.d.ts CHANGED
@@ -63,7 +63,7 @@
63
63
  * For certain use cases, such as automating shell scripts, the `synchronous counterparts` may be more convenient. In many cases, however,
64
64
  * the synchronous methods can have significant impact on performance due to
65
65
  * stalling the event loop while spawned processes complete.
66
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/child_process.js)
66
+ * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/child_process.js)
67
67
  */
68
68
  declare module "child_process" {
69
69
  import { ObjectEncodingOptions } from "node:fs";
@@ -458,7 +458,7 @@ declare module "child_process" {
458
458
  * as the connection may have been closed during the time it takes to send the
459
459
  * connection to the child.
460
460
  * @since v0.5.9
461
- * @param sendHandle `undefined`, or a [`net.Socket`](https://nodejs.org/docs/latest-v22.x/api/net.html#class-netsocket), [`net.Server`](https://nodejs.org/docs/latest-v22.x/api/net.html#class-netserver), or [`dgram.Socket`](https://nodejs.org/docs/latest-v22.x/api/dgram.html#class-dgramsocket) object.
461
+ * @param sendHandle `undefined`, or a [`net.Socket`](https://nodejs.org/docs/latest-v24.x/api/net.html#class-netsocket), [`net.Server`](https://nodejs.org/docs/latest-v24.x/api/net.html#class-netserver), or [`dgram.Socket`](https://nodejs.org/docs/latest-v24.x/api/dgram.html#class-dgramsocket) object.
462
462
  * @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles. `options` supports the following properties:
463
463
  */
464
464
  send(message: Serializable, callback?: (error: Error | null) => void): boolean;
node/cluster.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Clusters of Node.js processes can be used to run multiple instances of Node.js
3
3
  * that can distribute workloads among their application threads. When process isolation
4
- * is not needed, use the [`worker_threads`](https://nodejs.org/docs/latest-v22.x/api/worker_threads.html)
4
+ * is not needed, use the [`worker_threads`](https://nodejs.org/docs/latest-v24.x/api/worker_threads.html)
5
5
  * module instead, which allows running multiple application threads within a single Node.js instance.
6
6
  *
7
7
  * The cluster module allows easy creation of child processes that all share
@@ -50,7 +50,7 @@
50
50
  * ```
51
51
  *
52
52
  * On Windows, it is not yet possible to set up a named pipe server in a worker.
53
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/cluster.js)
53
+ * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/cluster.js)
54
54
  */
55
55
  declare module "cluster" {
56
56
  import * as child from "node:child_process";
@@ -80,8 +80,8 @@ declare module "cluster" {
80
80
  silent?: boolean | undefined;
81
81
  /**
82
82
  * Configures the stdio of forked processes. Because the cluster module relies on IPC to function, this configuration must
83
- * contain an `'ipc'` entry. When this option is provided, it overrides `silent`. See [`child_prcess.spawn()`](https://nodejs.org/docs/latest-v22.x/api/child_process.html#child_processspawncommand-args-options)'s
84
- * [`stdio`](https://nodejs.org/docs/latest-v22.x/api/child_process.html#optionsstdio).
83
+ * contain an `'ipc'` entry. When this option is provided, it overrides `silent`. See [`child_prcess.spawn()`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#child_processspawncommand-args-options)'s
84
+ * [`stdio`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#optionsstdio).
85
85
  */
86
86
  stdio?: any[] | undefined;
87
87
  /**
@@ -99,7 +99,7 @@ declare module "cluster" {
99
99
  inspectPort?: number | (() => number) | undefined;
100
100
  /**
101
101
  * Specify the kind of serialization used for sending messages between processes. Possible values are `'json'` and `'advanced'`.
102
- * See [Advanced serialization for `child_process`](https://nodejs.org/docs/latest-v22.x/api/child_process.html#advanced-serialization) for more details.
102
+ * See [Advanced serialization for `child_process`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#advanced-serialization) for more details.
103
103
  * @default false
104
104
  */
105
105
  serialization?: SerializationType | undefined;
@@ -142,10 +142,10 @@ declare module "cluster" {
142
142
  */
143
143
  id: number;
144
144
  /**
145
- * All workers are created using [`child_process.fork()`](https://nodejs.org/docs/latest-v22.x/api/child_process.html#child_processforkmodulepath-args-options), the returned object
145
+ * All workers are created using [`child_process.fork()`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#child_processforkmodulepath-args-options), the returned object
146
146
  * from this function is stored as `.process`. In a worker, the global `process` is stored.
147
147
  *
148
- * See: [Child Process module](https://nodejs.org/docs/latest-v22.x/api/child_process.html#child_processforkmodulepath-args-options).
148
+ * See: [Child Process module](https://nodejs.org/docs/latest-v24.x/api/child_process.html#child_processforkmodulepath-args-options).
149
149
  *
150
150
  * Workers will call `process.exit(0)` if the `'disconnect'` event occurs
151
151
  * on `process` and `.exitedAfterDisconnect` is not `true`. This protects against
@@ -156,7 +156,7 @@ declare module "cluster" {
156
156
  /**
157
157
  * Send a message to a worker or primary, optionally with a handle.
158
158
  *
159
- * In the primary, this sends a message to a specific worker. It is identical to [`ChildProcess.send()`](https://nodejs.org/docs/latest-v22.x/api/child_process.html#subprocesssendmessage-sendhandle-options-callback).
159
+ * In the primary, this sends a message to a specific worker. It is identical to [`ChildProcess.send()`](https://nodejs.org/docs/latest-v24.x/api/child_process.html#subprocesssendmessage-sendhandle-options-callback).
160
160
  *
161
161
  * In a worker, this sends a message to the primary. It is identical to `process.send()`.
162
162
  *
@@ -198,7 +198,7 @@ declare module "cluster" {
198
198
  * This method is aliased as `worker.destroy()` for backwards compatibility.
199
199
  *
200
200
  * In a worker, `process.kill()` exists, but it is not this function;
201
- * it is [`kill()`](https://nodejs.org/docs/latest-v22.x/api/process.html#processkillpid-signal).
201
+ * it is [`kill()`](https://nodejs.org/docs/latest-v24.x/api/process.html#processkillpid-signal).
202
202
  * @since v0.9.12
203
203
  * @param [signal='SIGTERM'] Name of the kill signal to send to the worker process.
204
204
  */
@@ -412,7 +412,7 @@ declare module "cluster" {
412
412
  readonly isWorker: boolean;
413
413
  /**
414
414
  * The scheduling policy, either `cluster.SCHED_RR` for round-robin or `cluster.SCHED_NONE` to leave it to the operating system. This is a
415
- * global setting and effectively frozen once either the first worker is spawned, or [`.setupPrimary()`](https://nodejs.org/docs/latest-v22.x/api/cluster.html#clustersetupprimarysettings)
415
+ * global setting and effectively frozen once either the first worker is spawned, or [`.setupPrimary()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clustersetupprimarysettings)
416
416
  * is called, whichever comes first.
417
417
  *
418
418
  * `SCHED_RR` is the default on all operating systems except Windows. Windows will change to `SCHED_RR` once libuv is able to effectively distribute
@@ -423,24 +423,24 @@ declare module "cluster" {
423
423
  */
424
424
  schedulingPolicy: number;
425
425
  /**
426
- * After calling [`.setupPrimary()`](https://nodejs.org/docs/latest-v22.x/api/cluster.html#clustersetupprimarysettings)
427
- * (or [`.fork()`](https://nodejs.org/docs/latest-v22.x/api/cluster.html#clusterforkenv)) this settings object will contain
426
+ * After calling [`.setupPrimary()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clustersetupprimarysettings)
427
+ * (or [`.fork()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clusterforkenv)) this settings object will contain
428
428
  * the settings, including the default values.
429
429
  *
430
430
  * This object is not intended to be changed or set manually.
431
431
  * @since v0.7.1
432
432
  */
433
433
  readonly settings: ClusterSettings;
434
- /** @deprecated since v16.0.0 - use [`.setupPrimary()`](https://nodejs.org/docs/latest-v22.x/api/cluster.html#clustersetupprimarysettings) instead. */
434
+ /** @deprecated since v16.0.0 - use [`.setupPrimary()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clustersetupprimarysettings) instead. */
435
435
  setupMaster(settings?: ClusterSettings): void;
436
436
  /**
437
437
  * `setupPrimary` is used to change the default 'fork' behavior. Once called, the settings will be present in `cluster.settings`.
438
438
  *
439
- * Any settings changes only affect future calls to [`.fork()`](https://nodejs.org/docs/latest-v22.x/api/cluster.html#clusterforkenv)
439
+ * Any settings changes only affect future calls to [`.fork()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clusterforkenv)
440
440
  * and have no effect on workers that are already running.
441
441
  *
442
442
  * The only attribute of a worker that cannot be set via `.setupPrimary()` is the `env` passed to
443
- * [`.fork()`](https://nodejs.org/docs/latest-v22.x/api/cluster.html#clusterforkenv).
443
+ * [`.fork()`](https://nodejs.org/docs/latest-v24.x/api/cluster.html#clusterforkenv).
444
444
  *
445
445
  * The defaults above apply to the first call only; the defaults for later calls are the current values at the time of
446
446
  * `cluster.setupPrimary()` is called.
node/console.d.ts CHANGED
@@ -5,12 +5,12 @@
5
5
  * The module exports two specific components:
6
6
  *
7
7
  * * A `Console` class with methods such as `console.log()`, `console.error()`, and `console.warn()` that can be used to write to any Node.js stream.
8
- * * A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v22.x/api/process.html#processstdout) and
9
- * [`process.stderr`](https://nodejs.org/docs/latest-v22.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.
8
+ * * A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v24.x/api/process.html#processstdout) and
9
+ * [`process.stderr`](https://nodejs.org/docs/latest-v24.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.
10
10
  *
11
11
  * _**Warning**_: The global console object's methods are neither consistently
12
12
  * synchronous like the browser APIs they resemble, nor are they consistently
13
- * asynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v22.x/api/process.html#a-note-on-process-io) for
13
+ * asynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v24.x/api/process.html#a-note-on-process-io) for
14
14
  * more information.
15
15
  *
16
16
  * Example using the global `console`:
@@ -54,7 +54,7 @@
54
54
  * myConsole.warn(`Danger ${name}! Danger!`);
55
55
  * // Prints: Danger Will Robinson! Danger!, to err
56
56
  * ```
57
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/console.js)
57
+ * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/console.js)
58
58
  */
59
59
  declare module "console" {
60
60
  import console = require("node:console");
@@ -70,7 +70,7 @@ declare module "node:console" {
70
70
  * `console.assert()` writes a message if `value` is [falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy) or omitted. It only
71
71
  * writes a message and does not otherwise affect execution. The output always
72
72
  * starts with `"Assertion failed"`. If provided, `message` is formatted using
73
- * [`util.format()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args).
73
+ * [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args).
74
74
  *
75
75
  * If `value` is [truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy), nothing happens.
76
76
  *
@@ -152,7 +152,7 @@ declare module "node:console" {
152
152
  */
153
153
  debug(message?: any, ...optionalParams: any[]): void;
154
154
  /**
155
- * Uses [`util.inspect()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilinspectobject-options) on `obj` and prints the resulting string to `stdout`.
155
+ * Uses [`util.inspect()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilinspectobject-options) on `obj` and prints the resulting string to `stdout`.
156
156
  * This function bypasses any custom `inspect()` function defined on `obj`.
157
157
  * @since v0.1.101
158
158
  */
@@ -167,7 +167,7 @@ declare module "node:console" {
167
167
  * Prints to `stderr` with newline. Multiple arguments can be passed, with the
168
168
  * first used as the primary message and all additional used as substitution
169
169
  * values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html)
170
- * (the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args)).
170
+ * (the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args)).
171
171
  *
172
172
  * ```js
173
173
  * const code = 5;
@@ -178,8 +178,8 @@ declare module "node:console" {
178
178
  * ```
179
179
  *
180
180
  * If formatting elements (e.g. `%d`) are not found in the first string then
181
- * [`util.inspect()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilinspectobject-options) is called on each argument and the
182
- * resulting string values are concatenated. See [`util.format()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args)
181
+ * [`util.inspect()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilinspectobject-options) is called on each argument and the
182
+ * resulting string values are concatenated. See [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args)
183
183
  * for more information.
184
184
  * @since v0.1.100
185
185
  */
@@ -211,7 +211,7 @@ declare module "node:console" {
211
211
  * Prints to `stdout` with newline. Multiple arguments can be passed, with the
212
212
  * first used as the primary message and all additional used as substitution
213
213
  * values similar to [`printf(3)`](http://man7.org/linux/man-pages/man3/printf.3.html)
214
- * (the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args)).
214
+ * (the arguments are all passed to [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args)).
215
215
  *
216
216
  * ```js
217
217
  * const count = 5;
@@ -221,7 +221,7 @@ declare module "node:console" {
221
221
  * // Prints: count: 5, to stdout
222
222
  * ```
223
223
  *
224
- * See [`util.format()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args) for more information.
224
+ * See [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args) for more information.
225
225
  * @since v0.1.100
226
226
  */
227
227
  log(message?: any, ...optionalParams: any[]): void;
@@ -297,7 +297,7 @@ declare module "node:console" {
297
297
  */
298
298
  timeLog(label?: string, ...data: any[]): void;
299
299
  /**
300
- * Prints to `stderr` the string `'Trace: '`, followed by the [`util.format()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilformatformat-args)
300
+ * Prints to `stderr` the string `'Trace: '`, followed by the [`util.format()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilformatformat-args)
301
301
  * formatted message and stack trace to the current position in the code.
302
302
  *
303
303
  * ```js
@@ -361,12 +361,12 @@ declare module "node:console" {
361
361
  * The module exports two specific components:
362
362
  *
363
363
  * * A `Console` class with methods such as `console.log()`, `console.error()` and `console.warn()` that can be used to write to any Node.js stream.
364
- * * A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v22.x/api/process.html#processstdout) and
365
- * [`process.stderr`](https://nodejs.org/docs/latest-v22.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.
364
+ * * A global `console` instance configured to write to [`process.stdout`](https://nodejs.org/docs/latest-v24.x/api/process.html#processstdout) and
365
+ * [`process.stderr`](https://nodejs.org/docs/latest-v24.x/api/process.html#processstderr). The global `console` can be used without importing the `node:console` module.
366
366
  *
367
367
  * _**Warning**_: The global console object's methods are neither consistently
368
368
  * synchronous like the browser APIs they resemble, nor are they consistently
369
- * asynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v22.x/api/process.html#a-note-on-process-io) for
369
+ * asynchronous like all other Node.js streams. See the [`note on process I/O`](https://nodejs.org/docs/latest-v24.x/api/process.html#a-note-on-process-io) for
370
370
  * more information.
371
371
  *
372
372
  * Example using the global `console`:
@@ -410,7 +410,7 @@ declare module "node:console" {
410
410
  * myConsole.warn(`Danger ${name}! Danger!`);
411
411
  * // Prints: Danger Will Robinson! Danger!, to err
412
412
  * ```
413
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/console.js)
413
+ * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/console.js)
414
414
  */
415
415
  namespace console {
416
416
  interface ConsoleConstructorOptions {
@@ -431,7 +431,7 @@ declare module "node:console" {
431
431
  colorMode?: boolean | "auto" | undefined;
432
432
  /**
433
433
  * Specifies options that are passed along to
434
- * [`util.inspect()`](https://nodejs.org/docs/latest-v22.x/api/util.html#utilinspectobject-options).
434
+ * [`util.inspect()`](https://nodejs.org/docs/latest-v24.x/api/util.html#utilinspectobject-options).
435
435
  */
436
436
  inspectOptions?: InspectOptions | undefined;
437
437
  /**
node/crypto.d.ts CHANGED
@@ -14,7 +14,7 @@
14
14
  * // Prints:
15
15
  * // c0fa1bc00531bd78ef38c628449c5102aeabd49b5dc3a2a516ea6ea959d6658e
16
16
  * ```
17
- * @see [source](https://github.com/nodejs/node/blob/v22.x/lib/crypto.js)
17
+ * @see [source](https://github.com/nodejs/node/blob/v24.x/lib/crypto.js)
18
18
  */
19
19
  declare module "crypto" {
20
20
  import * as stream from "node:stream";
@@ -96,7 +96,7 @@ declare module "crypto" {
96
96
  verifySpkac(spkac: NodeJS.ArrayBufferView): boolean;
97
97
  }
98
98
  namespace constants {
99
- // https://nodejs.org/dist/latest-v22.x/docs/api/crypto.html#crypto-constants
99
+ // https://nodejs.org/dist/latest-v24.x/docs/api/crypto.html#crypto-constants
100
100
  const OPENSSL_VERSION_NUMBER: number;
101
101
  /** Applies multiple bug workarounds within OpenSSL. See https://www.openssl.org/docs/man1.0.2/ssl/SSL_CTX_set_options.html for detail. */
102
102
  const SSL_OP_ALL: number;
@@ -760,9 +760,9 @@ declare module "crypto" {
760
760
  key: CipherKey,
761
761
  iv: BinaryLike | null,
762
762
  options?: stream.TransformOptions,
763
- ): Cipher;
763
+ ): Cipheriv;
764
764
  /**
765
- * Instances of the `Cipher` class are used to encrypt data. The class can be
765
+ * Instances of the `Cipheriv` class are used to encrypt data. The class can be
766
766
  * used in one of two ways:
767
767
  *
768
768
  * * As a `stream` that is both readable and writable, where plain unencrypted
@@ -771,10 +771,10 @@ declare module "crypto" {
771
771
  * the encrypted data.
772
772
  *
773
773
  * The {@link createCipheriv} method is
774
- * used to create `Cipher` instances. `Cipher` objects are not to be created
774
+ * used to create `Cipheriv` instances. `Cipheriv` objects are not to be created
775
775
  * directly using the `new` keyword.
776
776
  *
777
- * Example: Using `Cipher` objects as streams:
777
+ * Example: Using `Cipheriv` objects as streams:
778
778
  *
779
779
  * ```js
780
780
  * const {
@@ -809,7 +809,7 @@ declare module "crypto" {
809
809
  * });
810
810
  * ```
811
811
  *
812
- * Example: Using `Cipher` and piped streams:
812
+ * Example: Using `Cipheriv` and piped streams:
813
813
  *
814
814
  * ```js
815
815
  * import {
@@ -880,7 +880,7 @@ declare module "crypto" {
880
880
  * ```
881
881
  * @since v0.1.94
882
882
  */
883
- class Cipher extends stream.Transform {
883
+ class Cipheriv extends stream.Transform {
884
884
  private constructor();
885
885
  /**
886
886
  * Updates the cipher with `data`. If the `inputEncoding` argument is given,
@@ -901,7 +901,7 @@ declare module "crypto" {
901
901
  update(data: NodeJS.ArrayBufferView, inputEncoding: undefined, outputEncoding: Encoding): string;
902
902
  update(data: string, inputEncoding: Encoding | undefined, outputEncoding: Encoding): string;
903
903
  /**
904
- * Once the `cipher.final()` method has been called, the `Cipher` object can no
904
+ * Once the `cipher.final()` method has been called, the `Cipheriv` object can no
905
905
  * longer be used to encrypt data. Attempts to call `cipher.final()` more than
906
906
  * once will result in an error being thrown.
907
907
  * @since v0.1.94
@@ -911,7 +911,7 @@ declare module "crypto" {
911
911
  final(): Buffer;
912
912
  final(outputEncoding: BufferEncoding): string;
913
913
  /**
914
- * When using block encryption algorithms, the `Cipher` class will automatically
914
+ * When using block encryption algorithms, the `Cipheriv` class will automatically
915
915
  * add padding to the input data to the appropriate block size. To disable the
916
916
  * default padding call `cipher.setAutoPadding(false)`.
917
917
  *
@@ -927,7 +927,7 @@ declare module "crypto" {
927
927
  */
928
928
  setAutoPadding(autoPadding?: boolean): this;
929
929
  }
930
- interface CipherCCM extends Cipher {
930
+ interface CipherCCM extends Cipheriv {
931
931
  setAAD(
932
932
  buffer: NodeJS.ArrayBufferView,
933
933
  options: {
@@ -936,7 +936,7 @@ declare module "crypto" {
936
936
  ): this;
937
937
  getAuthTag(): Buffer;
938
938
  }
939
- interface CipherGCM extends Cipher {
939
+ interface CipherGCM extends Cipheriv {
940
940
  setAAD(
941
941
  buffer: NodeJS.ArrayBufferView,
942
942
  options?: {
@@ -945,7 +945,7 @@ declare module "crypto" {
945
945
  ): this;
946
946
  getAuthTag(): Buffer;
947
947
  }
948
- interface CipherOCB extends Cipher {
948
+ interface CipherOCB extends Cipheriv {
949
949
  setAAD(
950
950
  buffer: NodeJS.ArrayBufferView,
951
951
  options?: {
@@ -954,7 +954,7 @@ declare module "crypto" {
954
954
  ): this;
955
955
  getAuthTag(): Buffer;
956
956
  }
957
- interface CipherChaCha20Poly1305 extends Cipher {
957
+ interface CipherChaCha20Poly1305 extends Cipheriv {
958
958
  setAAD(
959
959
  buffer: NodeJS.ArrayBufferView,
960
960
  options: {
@@ -964,7 +964,7 @@ declare module "crypto" {
964
964
  getAuthTag(): Buffer;
965
965
  }
966
966
  /**
967
- * Creates and returns a `Decipher` object that uses the given `algorithm`, `key` and initialization vector (`iv`).
967
+ * Creates and returns a `Decipheriv` object that uses the given `algorithm`, `key` and initialization vector (`iv`).
968
968
  *
969
969
  * The `options` argument controls stream behavior and is optional except when a
970
970
  * cipher in CCM or OCB mode (e.g. `'aes-128-ccm'`) is used. In that case, the `authTagLength` option is required and specifies the length of the
@@ -1021,9 +1021,9 @@ declare module "crypto" {
1021
1021
  key: CipherKey,
1022
1022
  iv: BinaryLike | null,
1023
1023
  options?: stream.TransformOptions,
1024
- ): Decipher;
1024
+ ): Decipheriv;
1025
1025
  /**
1026
- * Instances of the `Decipher` class are used to decrypt data. The class can be
1026
+ * Instances of the `Decipheriv` class are used to decrypt data. The class can be
1027
1027
  * used in one of two ways:
1028
1028
  *
1029
1029
  * * As a `stream` that is both readable and writable, where plain encrypted
@@ -1032,10 +1032,10 @@ declare module "crypto" {
1032
1032
  * produce the unencrypted data.
1033
1033
  *
1034
1034
  * The {@link createDecipheriv} method is
1035
- * used to create `Decipher` instances. `Decipher` objects are not to be created
1035
+ * used to create `Decipheriv` instances. `Decipheriv` objects are not to be created
1036
1036
  * directly using the `new` keyword.
1037
1037
  *
1038
- * Example: Using `Decipher` objects as streams:
1038
+ * Example: Using `Decipheriv` objects as streams:
1039
1039
  *
1040
1040
  * ```js
1041
1041
  * import { Buffer } from 'node:buffer';
@@ -1074,7 +1074,7 @@ declare module "crypto" {
1074
1074
  * decipher.end();
1075
1075
  * ```
1076
1076
  *
1077
- * Example: Using `Decipher` and piped streams:
1077
+ * Example: Using `Decipheriv` and piped streams:
1078
1078
  *
1079
1079
  * ```js
1080
1080
  * import {
@@ -1130,7 +1130,7 @@ declare module "crypto" {
1130
1130
  * ```
1131
1131
  * @since v0.1.94
1132
1132
  */
1133
- class Decipher extends stream.Transform {
1133
+ class Decipheriv extends stream.Transform {
1134
1134
  private constructor();
1135
1135
  /**
1136
1136
  * Updates the decipher with `data`. If the `inputEncoding` argument is given,
@@ -1151,7 +1151,7 @@ declare module "crypto" {
1151
1151
  update(data: NodeJS.ArrayBufferView, inputEncoding: undefined, outputEncoding: Encoding): string;
1152
1152
  update(data: string, inputEncoding: Encoding | undefined, outputEncoding: Encoding): string;
1153
1153
  /**
1154
- * Once the `decipher.final()` method has been called, the `Decipher` object can
1154
+ * Once the `decipher.final()` method has been called, the `Decipheriv` object can
1155
1155
  * no longer be used to decrypt data. Attempts to call `decipher.final()` more
1156
1156
  * than once will result in an error being thrown.
1157
1157
  * @since v0.1.94
@@ -1174,7 +1174,7 @@ declare module "crypto" {
1174
1174
  */
1175
1175
  setAutoPadding(auto_padding?: boolean): this;
1176
1176
  }
1177
- interface DecipherCCM extends Decipher {
1177
+ interface DecipherCCM extends Decipheriv {
1178
1178
  setAuthTag(buffer: NodeJS.ArrayBufferView): this;
1179
1179
  setAAD(
1180
1180
  buffer: NodeJS.ArrayBufferView,
@@ -1183,7 +1183,7 @@ declare module "crypto" {
1183
1183
  },
1184
1184
  ): this;
1185
1185
  }
1186
- interface DecipherGCM extends Decipher {
1186
+ interface DecipherGCM extends Decipheriv {
1187
1187
  setAuthTag(buffer: NodeJS.ArrayBufferView): this;
1188
1188
  setAAD(
1189
1189
  buffer: NodeJS.ArrayBufferView,
@@ -1192,7 +1192,7 @@ declare module "crypto" {
1192
1192
  },
1193
1193
  ): this;
1194
1194
  }
1195
- interface DecipherOCB extends Decipher {
1195
+ interface DecipherOCB extends Decipheriv {
1196
1196
  setAuthTag(buffer: NodeJS.ArrayBufferView): this;
1197
1197
  setAAD(
1198
1198
  buffer: NodeJS.ArrayBufferView,
@@ -1201,7 +1201,7 @@ declare module "crypto" {
1201
1201
  },
1202
1202
  ): this;
1203
1203
  }
1204
- interface DecipherChaCha20Poly1305 extends Decipher {
1204
+ interface DecipherChaCha20Poly1305 extends Decipheriv {
1205
1205
  setAuthTag(buffer: NodeJS.ArrayBufferView): this;
1206
1206
  setAAD(
1207
1207
  buffer: NodeJS.ArrayBufferView,
@@ -3352,10 +3352,17 @@ declare module "crypto" {
3352
3352
  ): void;
3353
3353
  /**
3354
3354
  * Computes the Diffie-Hellman secret based on a `privateKey` and a `publicKey`.
3355
- * Both keys must have the same `asymmetricKeyType`, which must be one of `'dh'` (for Diffie-Hellman), `'ec'` (for ECDH), `'x448'`, or `'x25519'` (for ECDH-ES).
3355
+ * Both keys must have the same `asymmetricKeyType`, which must be one of `'dh'`
3356
+ * (for Diffie-Hellman), `'ec'`, `'x448'`, or `'x25519'` (for ECDH).
3357
+ *
3358
+ * If the `callback` function is provided this function uses libuv's threadpool.
3356
3359
  * @since v13.9.0, v12.17.0
3357
3360
  */
3358
3361
  function diffieHellman(options: { privateKey: KeyObject; publicKey: KeyObject }): Buffer;
3362
+ function diffieHellman(
3363
+ options: { privateKey: KeyObject; publicKey: KeyObject },
3364
+ callback: (err: Error | null, secret: Buffer) => void,
3365
+ ): void;
3359
3366
  /**
3360
3367
  * A utility for creating one-shot hash digests of data. It can be faster than the object-based `crypto.createHash()` when hashing a smaller amount of data
3361
3368
  * (<= 5MB) that's readily available. If the data can be big or if it is streamed, it's still recommended to use `crypto.createHash()` instead. The `algorithm`
@@ -3382,7 +3389,7 @@ declare module "crypto" {
3382
3389
  * @since v21.7.0, v20.12.0
3383
3390
  * @param data When `data` is a string, it will be encoded as UTF-8 before being hashed. If a different input encoding is desired for a string input, user
3384
3391
  * could encode the string into a `TypedArray` using either `TextEncoder` or `Buffer.from()` and passing the encoded `TypedArray` into this API instead.
3385
- * @param [outputEncoding='hex'] [Encoding](https://nodejs.org/docs/latest-v22.x/api/buffer.html#buffers-and-character-encodings) used to encode the returned digest.
3392
+ * @param [outputEncoding='hex'] [Encoding](https://nodejs.org/docs/latest-v24.x/api/buffer.html#buffers-and-character-encodings) used to encode the returned digest.
3386
3393
  */
3387
3394
  function hash(algorithm: string, data: BinaryLike, outputEncoding?: BinaryToTextEncoding): string;
3388
3395
  function hash(algorithm: string, data: BinaryLike, outputEncoding: "buffer"): Buffer;