@types/node 17.0.44 → 18.0.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.
node/net.d.ts CHANGED
@@ -10,7 +10,7 @@
10
10
  * ```js
11
11
  * const net = require('net');
12
12
  * ```
13
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/net.js)
13
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/net.js)
14
14
  */
15
15
  declare module 'net' {
16
16
  import * as stream from 'node:stream';
@@ -650,7 +650,7 @@ declare module 'net' {
650
650
  *
651
651
  * The server can be a TCP server or an `IPC` server, depending on what it `listen()` to.
652
652
  *
653
- * Here is an example of an TCP echo server which listens for connections
653
+ * Here is an example of a TCP echo server which listens for connections
654
654
  * on port 8124:
655
655
  *
656
656
  * ```js
@@ -729,19 +729,39 @@ declare module 'net' {
729
729
  function createConnection(port: number, host?: string, connectionListener?: () => void): Socket;
730
730
  function createConnection(path: string, connectionListener?: () => void): Socket;
731
731
  /**
732
- * Tests if input is an IP address. Returns `0` for invalid strings,
733
- * returns `4` for IP version 4 addresses, and returns `6` for IP version 6
734
- * addresses.
732
+ * Returns `6` if `input` is an IPv6 address. Returns `4` if `input` is an IPv4
733
+ * address in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation) with no leading zeroes. Otherwise, returns`0`.
734
+ *
735
+ * ```js
736
+ * net.isIP('::1'); // returns 6
737
+ * net.isIP('127.0.0.1'); // returns 4
738
+ * net.isIP('127.000.000.001'); // returns 0
739
+ * net.isIP('127.0.0.1/24'); // returns 0
740
+ * net.isIP('fhqwhgads'); // returns 0
741
+ * ```
735
742
  * @since v0.3.0
736
743
  */
737
744
  function isIP(input: string): number;
738
745
  /**
739
- * Returns `true` if input is a version 4 IP address, otherwise returns `false`.
746
+ * Returns `true` if `input` is an IPv4 address in [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation) with no
747
+ * leading zeroes. Otherwise, returns `false`.
748
+ *
749
+ * ```js
750
+ * net.isIPv4('127.0.0.1'); // returns true
751
+ * net.isIPv4('127.000.000.001'); // returns false
752
+ * net.isIPv4('127.0.0.1/24'); // returns false
753
+ * net.isIPv4('fhqwhgads'); // returns false
754
+ * ```
740
755
  * @since v0.3.0
741
756
  */
742
757
  function isIPv4(input: string): boolean;
743
758
  /**
744
- * Returns `true` if input is a version 6 IP address, otherwise returns `false`.
759
+ * Returns `true` if `input` is an IPv6 address. Otherwise, returns `false`.
760
+ *
761
+ * ```js
762
+ * net.isIPv6('::1'); // returns true
763
+ * net.isIPv6('fhqwhgads'); // returns false
764
+ * ```
745
765
  * @since v0.3.0
746
766
  */
747
767
  function isIPv6(input: string): boolean;
node/os.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * ```js
6
6
  * const os = require('os');
7
7
  * ```
8
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/os.js)
8
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/os.js)
9
9
  */
10
10
  declare module 'os' {
11
11
  interface CpuInfo {
@@ -387,7 +387,7 @@ declare module 'os' {
387
387
  const EOL: string;
388
388
  /**
389
389
  * Returns the operating system CPU architecture for which the Node.js binary was
390
- * compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,`'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, `'x32'`, and `'x64'`.
390
+ * compiled. Possible values are `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,`'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, and `'x64'`.
391
391
  *
392
392
  * The return value is equivalent to `process.arch`.
393
393
  * @since v0.5.0
@@ -402,8 +402,9 @@ declare module 'os' {
402
402
  */
403
403
  function version(): string;
404
404
  /**
405
- * Returns a string identifying the operating system platform. The value is set
406
- * at compile time. Possible values are `'aix'`, `'darwin'`, `'freebsd'`,`'linux'`, `'openbsd'`, `'sunos'`, and `'win32'`.
405
+ * Returns a string identifying the operating system platform for which
406
+ * the Node.js binary was compiled. The value is set at compile time.
407
+ * Possible values are `'aix'`, `'darwin'`, `'freebsd'`,`'linux'`,`'openbsd'`, `'sunos'`, and `'win32'`.
407
408
  *
408
409
  * The return value is equivalent to `process.platform`.
409
410
  *
node/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@types/node",
3
- "version": "17.0.44",
3
+ "version": "18.0.1",
4
4
  "description": "TypeScript definitions for Node.js",
5
5
  "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
6
6
  "license": "MIT",
@@ -220,6 +220,6 @@
220
220
  },
221
221
  "scripts": {},
222
222
  "dependencies": {},
223
- "typesPublisherContentHash": "e6ce63cbca091d75f6b46351e25b597e89ee10c6da8e57b36751665d74739c29",
223
+ "typesPublisherContentHash": "54636f01c874a366065f9b55b2a2d8bac9b0b654b04e244404745c7e0506e5f7",
224
224
  "typeScriptVersion": "4.0"
225
225
  }
node/path.d.ts CHANGED
@@ -13,7 +13,7 @@ declare module 'path/win32' {
13
13
  * ```js
14
14
  * const path = require('path');
15
15
  * ```
16
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/path.js)
16
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/path.js)
17
17
  */
18
18
  declare module 'path' {
19
19
  namespace path {
node/perf_hooks.d.ts CHANGED
@@ -26,7 +26,7 @@
26
26
  * performance.measure('A to B', 'A', 'B');
27
27
  * });
28
28
  * ```
29
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/perf_hooks.js)
29
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/perf_hooks.js)
30
30
  */
31
31
  declare module 'perf_hooks' {
32
32
  import { AsyncResource } from 'node:async_hooks';
@@ -270,6 +270,9 @@ declare module 'perf_hooks' {
270
270
  * * }
271
271
  * * ]
272
272
  *
273
+ *
274
+ * performance.clearMarks();
275
+ * performance.clearMeasures();
273
276
  * observer.disconnect();
274
277
  * });
275
278
  * obs.observe({ type: 'mark' });
@@ -317,6 +320,9 @@ declare module 'perf_hooks' {
317
320
  * * ]
318
321
  *
319
322
  * console.log(perfObserverList.getEntriesByName('test', 'measure')); // []
323
+ *
324
+ * performance.clearMarks();
325
+ * performance.clearMeasures();
320
326
  * observer.disconnect();
321
327
  * });
322
328
  * obs.observe({ entryTypes: ['mark', 'measure'] });
@@ -355,6 +361,8 @@ declare module 'perf_hooks' {
355
361
  * * }
356
362
  * * ]
357
363
  *
364
+ * performance.clearMarks();
365
+ * performance.clearMeasures();
358
366
  * observer.disconnect();
359
367
  * });
360
368
  * obs.observe({ type: 'mark' });
@@ -384,7 +392,7 @@ declare module 'perf_hooks' {
384
392
  * } = require('perf_hooks');
385
393
  *
386
394
  * const obs = new PerformanceObserver((list, observer) => {
387
- * // Called three times synchronously. `list` contains one item.
395
+ * // Called once asynchronously. `list` contains three items.
388
396
  * });
389
397
  * obs.observe({ type: 'mark' });
390
398
  *
node/process.d.ts CHANGED
@@ -1041,7 +1041,7 @@ declare module 'process' {
1041
1041
  title: string;
1042
1042
  /**
1043
1043
  * The operating system CPU architecture for which the Node.js binary was compiled.
1044
- * Possible values are: `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,`'mipsel'`, `'ppc'`,`'ppc64'`, `'s390'`, `'s390x'`, `'x32'`, and `'x64'`.
1044
+ * Possible values are: `'arm'`, `'arm64'`, `'ia32'`, `'mips'`,`'mipsel'`, `'ppc'`,`'ppc64'`, `'s390'`, `'s390x'`, and `'x64'`.
1045
1045
  *
1046
1046
  * ```js
1047
1047
  * import { arch } from 'process';
@@ -1053,7 +1053,7 @@ declare module 'process' {
1053
1053
  readonly arch: Architecture;
1054
1054
  /**
1055
1055
  * The `process.platform` property returns a string identifying the operating
1056
- * system platform on which the Node.js process is running.
1056
+ * system platform for which the Node.js binary was compiled.
1057
1057
  *
1058
1058
  * Currently possible values are:
1059
1059
  *
node/punycode.d.ts CHANGED
@@ -24,7 +24,7 @@
24
24
  * made available to developers as a convenience. Fixes or other modifications to
25
25
  * the module must be directed to the [Punycode.js](https://github.com/bestiejs/punycode.js) project.
26
26
  * @deprecated Since v7.0.0 - Deprecated
27
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/punycode.js)
27
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/punycode.js)
28
28
  */
29
29
  declare module 'punycode' {
30
30
  /**
node/querystring.d.ts CHANGED
@@ -9,7 +9,7 @@
9
9
  * The `querystring` API is considered Legacy. While it is still maintained,
10
10
  * new code should use the `URLSearchParams` API instead.
11
11
  * @deprecated Legacy
12
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/querystring.js)
12
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/querystring.js)
13
13
  */
14
14
  declare module 'querystring' {
15
15
  interface StringifyOptions {
node/readline.d.ts CHANGED
@@ -17,7 +17,7 @@
17
17
  *
18
18
  * ```js
19
19
  * import * as readline from 'node:readline/promises';
20
- * import { stdin as input, stdout as output } from 'process';
20
+ * import { stdin as input, stdout as output } from 'node:process';
21
21
  *
22
22
  * const rl = readline.createInterface({ input, output });
23
23
  *
@@ -30,7 +30,7 @@
30
30
  *
31
31
  * Once this code is invoked, the Node.js application will not terminate until the`readline.Interface` is closed because the interface waits for data to be
32
32
  * received on the `input` stream.
33
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/readline.js)
33
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/readline.js)
34
34
  */
35
35
  declare module 'readline' {
36
36
  import { Abortable, EventEmitter } from 'node:events';
node/repl.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  * ```js
7
7
  * const repl = require('repl');
8
8
  * ```
9
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/repl.js)
9
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/repl.js)
10
10
  */
11
11
  declare module 'repl' {
12
12
  import { Interface, Completer, AsyncCompleter } from 'node:readline';
@@ -277,7 +277,7 @@ declare module 'repl' {
277
277
  * Goodbye!
278
278
  * ```
279
279
  * @since v0.3.0
280
- * @param keyword The command keyword (*without* a leading `.` character).
280
+ * @param keyword The command keyword (_without_ a leading `.` character).
281
281
  * @param cmd The function to invoke when the command is processed.
282
282
  */
283
283
  defineCommand(keyword: string, cmd: REPLCommandAction | REPLCommand): void;
node/stream.d.ts CHANGED
@@ -14,7 +14,7 @@
14
14
  *
15
15
  * The `stream` module is useful for creating new types of stream instances. It is
16
16
  * usually not necessary to use the `stream` module to consume streams.
17
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/stream.js)
17
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/stream.js)
18
18
  */
19
19
  declare module 'stream' {
20
20
  import { EventEmitter, Abortable } from 'node:events';
@@ -123,16 +123,16 @@ declare module 'stream' {
123
123
  readonly readableObjectMode: boolean;
124
124
  /**
125
125
  * Is `true` after `readable.destroy()` has been called.
126
- * @since v8.0.0
126
+ * @since v18.0.0
127
127
  */
128
128
  destroyed: boolean;
129
129
  constructor(opts?: ReadableOptions);
130
130
  _construct?(callback: (error?: Error | null) => void): void;
131
131
  _read(size: number): void;
132
132
  /**
133
- * The `readable.read()` method pulls some data out of the internal buffer and
134
- * returns it. If no data available to be read, `null` is returned. By default,
135
- * the data will be returned as a `Buffer` object unless an encoding has been
133
+ * The `readable.read()` method reads data out of the internal buffer and
134
+ * returns it. If no data is available to be read, `null` is returned. By default,
135
+ * the data is returned as a `Buffer` object unless an encoding has been
136
136
  * specified using the `readable.setEncoding()` method or the stream is operating
137
137
  * in object mode.
138
138
  *
@@ -347,7 +347,7 @@ declare module 'stream' {
347
347
  * let chunk;
348
348
  * while (null !== (chunk = stream.read())) {
349
349
  * const str = decoder.write(chunk);
350
- * if (str.match(/\n\n/)) {
350
+ * if (str.includes('\n\n')) {
351
351
  * // Found the header boundary.
352
352
  * const split = str.split(/\n\n/);
353
353
  * header += split.shift();
@@ -360,10 +360,10 @@ declare module 'stream' {
360
360
  * stream.unshift(buf);
361
361
  * // Now the body of the message can be read from the stream.
362
362
  * callback(null, header, stream);
363
- * } else {
364
- * // Still reading the header.
365
- * header += str;
363
+ * return;
366
364
  * }
365
+ * // Still reading the header.
366
+ * header += str;
367
367
  * }
368
368
  * }
369
369
  * }
@@ -580,7 +580,7 @@ declare module 'stream' {
580
580
  * While a stream is not draining, calls to `write()` will buffer `chunk`, and
581
581
  * return false. Once all currently buffered chunks are drained (accepted for
582
582
  * delivery by the operating system), the `'drain'` event will be emitted.
583
- * It is recommended that once `write()` returns false, no more chunks be written
583
+ * Once `write()` returns false, do not write more chunks
584
584
  * until the `'drain'` event is emitted. While calling `write()` on a stream that
585
585
  * is not draining is allowed, Node.js will buffer all written chunks until
586
586
  * maximum memory usage occurs, at which point it will abort unconditionally.
@@ -674,8 +674,8 @@ declare module 'stream' {
674
674
  * The `writable.uncork()` method flushes all data buffered since {@link cork} was called.
675
675
  *
676
676
  * When using `writable.cork()` and `writable.uncork()` to manage the buffering
677
- * of writes to a stream, it is recommended that calls to `writable.uncork()` be
678
- * deferred using `process.nextTick()`. Doing so allows batching of all`writable.write()` calls that occur within a given Node.js event loop phase.
677
+ * of writes to a stream, defer calls to `writable.uncork()` using`process.nextTick()`. Doing so allows batching of all`writable.write()` calls that occur within a given Node.js event
678
+ * loop phase.
679
679
  *
680
680
  * ```js
681
681
  * stream.cork();
@@ -1119,7 +1119,7 @@ declare module 'stream' {
1119
1119
  * async function run() {
1120
1120
  * await pipeline(
1121
1121
  * fs.createReadStream('lowercase.txt'),
1122
- * async function* (source, signal) {
1122
+ * async function* (source, { signal }) {
1123
1123
  * source.setEncoding('utf8'); // Work with strings rather than `Buffer`s.
1124
1124
  * for await (const chunk of source) {
1125
1125
  * yield await processChunk(chunk, { signal });
@@ -1143,7 +1143,7 @@ declare module 'stream' {
1143
1143
  *
1144
1144
  * async function run() {
1145
1145
  * await pipeline(
1146
- * async function * (signal) {
1146
+ * async function* ({ signal }) {
1147
1147
  * await someLongRunningfn({ signal });
1148
1148
  * yield 'asd';
1149
1149
  * },
@@ -1162,7 +1162,31 @@ declare module 'stream' {
1162
1162
  *
1163
1163
  * `stream.pipeline()` leaves dangling event listeners on the streams
1164
1164
  * after the `callback` has been invoked. In the case of reuse of streams after
1165
- * failure, this can cause event listener leaks and swallowed errors.
1165
+ * failure, this can cause event listener leaks and swallowed errors. If the last
1166
+ * stream is readable, dangling event listeners will be removed so that the last
1167
+ * stream can be consumed later.
1168
+ *
1169
+ * `stream.pipeline()` closes all the streams when an error is raised.
1170
+ * The `IncomingRequest` usage with `pipeline` could lead to an unexpected behavior
1171
+ * once it would destroy the socket without sending the expected response.
1172
+ * See the example below:
1173
+ *
1174
+ * ```js
1175
+ * const fs = require('fs');
1176
+ * const http = require('http');
1177
+ * const { pipeline } = require('stream');
1178
+ *
1179
+ * const server = http.createServer((req, res) => {
1180
+ * const fileStream = fs.createReadStream('./fileNotExist.txt');
1181
+ * pipeline(fileStream, res, (err) => {
1182
+ * if (err) {
1183
+ * console.log(err); // No such file
1184
+ * // this message can't be sent once `pipeline` already destroyed the socket
1185
+ * return res.end('error!!!');
1186
+ * }
1187
+ * });
1188
+ * });
1189
+ * ```
1166
1190
  * @since v10.0.0
1167
1191
  * @param callback Called when the pipeline is fully done.
1168
1192
  */
node/string_decoder.d.ts CHANGED
@@ -36,7 +36,7 @@
36
36
  * decoder.write(Buffer.from([0x82]));
37
37
  * console.log(decoder.end(Buffer.from([0xAC])));
38
38
  * ```
39
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/string_decoder.js)
39
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/string_decoder.js)
40
40
  */
41
41
  declare module 'string_decoder' {
42
42
  class StringDecoder {
node/test.d.ts ADDED
@@ -0,0 +1,142 @@
1
+ /**
2
+ * The `node:test` module provides a standalone testing module.
3
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/test.js)
4
+ */
5
+ declare module 'node:test' {
6
+ /**
7
+ * The `test()` function is the value imported from the test module. Each invocation of this
8
+ * function results in the creation of a test point in the TAP output.
9
+ *
10
+ * The {@link TestContext} object passed to the fn argument can be used to perform actions
11
+ * related to the current test. Examples include skipping the test, adding additional TAP
12
+ * diagnostic information, or creating subtests.
13
+ *
14
+ * `test()` returns a {@link Promise} that resolves once the test completes. The return value
15
+ * can usually be discarded for top level tests. However, the return value from subtests should
16
+ * be used to prevent the parent test from finishing first and cancelling the subtest as shown
17
+ * in the following example.
18
+ *
19
+ * ```js
20
+ * test('top level test', async (t) => {
21
+ * // The setTimeout() in the following subtest would cause it to outlive its
22
+ * // parent test if 'await' is removed on the next line. Once the parent test
23
+ * // completes, it will cancel any outstanding subtests.
24
+ * await t.test('longer running subtest', async (t) => {
25
+ * return new Promise((resolve, reject) => {
26
+ * setTimeout(resolve, 1000);
27
+ * });
28
+ * });
29
+ * });
30
+ * ```
31
+ * @since v18.0.0
32
+ * @param name The name of the test, which is displayed when reporting test results.
33
+ * Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
34
+ * @param options Configuration options for the test
35
+ * @param fn The function under test. This first argument to this function is a
36
+ * {@link TestContext} object. If the test uses callbacks, the callback function is
37
+ * passed as the second argument. Default: A no-op function.
38
+ * @returns A {@link Promise} resolved with `undefined` once the test completes.
39
+ */
40
+ function test(name?: string, fn?: TestFn): Promise<void>;
41
+ function test(name?: string, options?: TestOptions, fn?: TestFn): Promise<void>;
42
+ function test(options?: TestOptions, fn?: TestFn): Promise<void>;
43
+ function test(fn?: TestFn): Promise<void>;
44
+
45
+ /**
46
+ * The type of a function under test. This first argument to this function is a
47
+ * {@link TestContext} object. If the test uses callbacks, the callback function is passed as
48
+ * the second argument.
49
+ */
50
+ type TestFn = ((t: TestContext, done: (result?: any) => void) => any);
51
+
52
+ /**
53
+ * An instance of `TestContext` is passed to each test function in order to interact with the
54
+ * test runner. However, the `TestContext` constructor is not exposed as part of the API.
55
+ * @since v18.0.0
56
+ */
57
+ interface TestContext {
58
+ /**
59
+ * This function is used to write TAP diagnostics to the output. Any diagnostic information is
60
+ * included at the end of the test's results. This function does not return a value.
61
+ * @param message Message to be displayed as a TAP diagnostic.
62
+ * @since v18.0.0
63
+ */
64
+ diagnostic(message: string): void;
65
+
66
+ /**
67
+ * If `shouldRunOnlyTests` is truthy, the test context will only run tests that have the `only`
68
+ * option set. Otherwise, all tests are run. If Node.js was not started with the `--test-only`
69
+ * command-line option, this function is a no-op.
70
+ * @param shouldRunOnlyTests Whether or not to run `only` tests.
71
+ * @since v18.0.0
72
+ */
73
+ runOnly(shouldRunOnlyTests: boolean): void;
74
+
75
+ /**
76
+ * This function causes the test's output to indicate the test as skipped. If `message` is
77
+ * provided, it is included in the TAP output. Calling `skip()` does not terminate execution of
78
+ * the test function. This function does not return a value.
79
+ * @param message Optional skip message to be displayed in TAP output.
80
+ * @since v18.0.0
81
+ */
82
+ skip(message?: string): void;
83
+
84
+ /**
85
+ * This function adds a `TODO` directive to the test's output. If `message` is provided, it is
86
+ * included in the TAP output. Calling `todo()` does not terminate execution of the test
87
+ * function. This function does not return a value.
88
+ * @param message Optional `TODO` message to be displayed in TAP output.
89
+ * @since v18.0.0
90
+ */
91
+ todo(message?: string): void;
92
+
93
+ /**
94
+ * This function is used to create subtests under the current test. This function behaves in
95
+ * the same fashion as the top level {@link test} function.
96
+ * @since v18.0.0
97
+ * @param name The name of the test, which is displayed when reporting test results.
98
+ * Default: The `name` property of fn, or `'<anonymous>'` if `fn` does not have a name.
99
+ * @param options Configuration options for the test
100
+ * @param fn The function under test. This first argument to this function is a
101
+ * {@link TestContext} object. If the test uses callbacks, the callback function is
102
+ * passed as the second argument. Default: A no-op function.
103
+ * @returns A {@link Promise} resolved with `undefined` once the test completes.
104
+ */
105
+ test: typeof test;
106
+ }
107
+
108
+ interface TestOptions {
109
+ /**
110
+ * The number of tests that can be run at the same time. If unspecified, subtests inherit this
111
+ * value from their parent.
112
+ * @default 1
113
+ */
114
+ concurrency?: number;
115
+
116
+ /**
117
+ * If truthy, and the test context is configured to run `only` tests, then this test will be
118
+ * run. Otherwise, the test is skipped.
119
+ * @default false
120
+ */
121
+ only?: boolean;
122
+
123
+ /**
124
+ * If truthy, the test is skipped. If a string is provided, that string is displayed in the
125
+ * test results as the reason for skipping the test.
126
+ * @default false
127
+ */
128
+ skip?: boolean | string;
129
+
130
+ /**
131
+ * If truthy, the test marked as `TODO`. If a string is provided, that string is displayed in
132
+ * the test results as the reason why the test is `TODO`.
133
+ * @default false
134
+ */
135
+ todo?: boolean | string;
136
+ }
137
+
138
+ export {
139
+ test as default,
140
+ test,
141
+ };
142
+ }
node/timers.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  * The timer functions within Node.js implement a similar API as the timers API
7
7
  * provided by Web Browsers but use a different internal implementation that is
8
8
  * built around the Node.js [Event Loop](https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#setimmediate-vs-settimeout).
9
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/timers.js)
9
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/timers.js)
10
10
  */
11
11
  declare module 'timers' {
12
12
  import { Abortable } from 'node:events';
node/tls.d.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  * ```js
7
7
  * const tls = require('tls');
8
8
  * ```
9
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/tls.js)
9
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/tls.js)
10
10
  */
11
11
  declare module 'tls' {
12
12
  import { X509Certificate } from 'node:crypto';
@@ -143,8 +143,8 @@ declare module 'tls' {
143
143
  */
144
144
  constructor(socket: net.Socket, options?: TLSSocketOptions);
145
145
  /**
146
- * Returns `true` if the peer certificate was signed by one of the CAs specified
147
- * when creating the `tls.TLSSocket` instance, otherwise `false`.
146
+ * This property is `true` if the peer certificate was signed by one of the CAs
147
+ * specified when creating the `tls.TLSSocket` instance, otherwise `false`.
148
148
  * @since v0.11.4
149
149
  */
150
150
  authorized: boolean;
@@ -343,9 +343,9 @@ declare module 'tls' {
343
343
  * When enabled, TLS packet trace information is written to `stderr`. This can be
344
344
  * used to debug TLS connection problems.
345
345
  *
346
- * Note: The format of the output is identical to the output of `openssl s_client -trace` or `openssl s_server -trace`. While it is produced by OpenSSL's`SSL_trace()` function, the format is
347
- * undocumented, can change without notice,
348
- * and should not be relied on.
346
+ * The format of the output is identical to the output of`openssl s_client -trace` or `openssl s_server -trace`. While it is produced by
347
+ * OpenSSL's `SSL_trace()` function, the format is undocumented, can change
348
+ * without notice, and should not be relied on.
349
349
  * @since v12.2.0
350
350
  */
351
351
  enableTrace(): void;
@@ -374,7 +374,7 @@ declare module 'tls' {
374
374
  * 128,
375
375
  * 'client finished');
376
376
  *
377
- *
377
+ * /*
378
378
  * Example return value of keyingMaterial:
379
379
  * <Buffer 76 26 af 99 c5 56 8e 42 09 91 ef 9f 93 cb ad 6c 7b 65 f8 53 f1 d8 d9
380
380
  * 12 5a 33 b8 b5 25 df 7b 37 9f e0 e2 4f b8 67 83 a3 2f cd 5d 41 42 4c 91
@@ -814,13 +814,19 @@ declare module 'tls' {
814
814
  * Returns [Error](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error) object, populating it with `reason`, `host`, and `cert` on
815
815
  * failure. On success, returns [undefined](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Undefined_type).
816
816
  *
817
- * This function can be overwritten by providing alternative function as part of
818
- * the `options.checkServerIdentity` option passed to `tls.connect()`. The
817
+ * This function is intended to be used in combination with the`checkServerIdentity` option that can be passed to {@link connect} and as
818
+ * such operates on a `certificate object`. For other purposes, consider using `x509.checkHost()` instead.
819
+ *
820
+ * This function can be overwritten by providing an alternative function as the`options.checkServerIdentity` option that is passed to `tls.connect()`. The
819
821
  * overwriting function can call `tls.checkServerIdentity()` of course, to augment
820
822
  * the checks done with additional verification.
821
823
  *
822
824
  * This function is only called if the certificate passed all other checks, such as
823
825
  * being issued by trusted CA (`options.ca`).
826
+ *
827
+ * Earlier versions of Node.js incorrectly accepted certificates for a given`hostname` if a matching `uniformResourceIdentifier` subject alternative name
828
+ * was present (see [CVE-2021-44531](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44531)). Applications that wish to accept`uniformResourceIdentifier` subject alternative names can use
829
+ * a custom`options.checkServerIdentity` function that implements the desired behavior.
824
830
  * @since v0.8.4
825
831
  * @param hostname The host name or IP address to verify the certificate against.
826
832
  * @param cert A `certificate object` representing the peer's certificate.
@@ -973,6 +979,8 @@ declare module 'tls' {
973
979
  * lower-case for historical reasons, but must be uppercased to be used in
974
980
  * the `ciphers` option of {@link createSecureContext}.
975
981
  *
982
+ * Not all supported ciphers are enabled by default. See `Modifying the default TLS cipher suite`.
983
+ *
976
984
  * Cipher names that start with `'tls_'` are for TLSv1.3, all the others are for
977
985
  * TLSv1.2 and below.
978
986
  *
node/trace_events.d.ts CHANGED
@@ -66,6 +66,16 @@
66
66
  * node --trace-event-categories v8 --trace-event-file-pattern '${pid}-${rotation}.log' server.js
67
67
  * ```
68
68
  *
69
+ * To guarantee that the log file is properly generated after signal events like`SIGINT`, `SIGTERM`, or `SIGBREAK`, make sure to have the appropriate handlers
70
+ * in your code, such as:
71
+ *
72
+ * ```js
73
+ * process.on('SIGINT', function onSigint() {
74
+ * console.info('Received SIGINT.');
75
+ * process.exit(130); // Or applicable exit code depending on OS and signal
76
+ * });
77
+ * ```
78
+ *
69
79
  * The tracing system uses the same time source
70
80
  * as the one used by `process.hrtime()`.
71
81
  * However the trace-event timestamps are expressed in microseconds,
@@ -73,7 +83,7 @@
73
83
  *
74
84
  * The features from this module are not available in `Worker` threads.
75
85
  * @experimental
76
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/trace_events.js)
86
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/trace_events.js)
77
87
  */
78
88
  declare module 'trace_events' {
79
89
  /**
node/tty.d.ts CHANGED
@@ -22,7 +22,7 @@
22
22
  *
23
23
  * In most cases, there should be little to no reason for an application to
24
24
  * manually create instances of the `tty.ReadStream` and `tty.WriteStream`classes.
25
- * @see [source](https://github.com/nodejs/node/blob/v17.0.0/lib/tty.js)
25
+ * @see [source](https://github.com/nodejs/node/blob/v18.0.0/lib/tty.js)
26
26
  */
27
27
  declare module 'tty' {
28
28
  import * as net from 'node:net';
@@ -52,7 +52,9 @@ declare module 'tty' {
52
52
  *
53
53
  * When in raw mode, input is always available character-by-character, not
54
54
  * including modifiers. Additionally, all special processing of characters by the
55
- * terminal is disabled, including echoing input characters.Ctrl+C will no longer cause a `SIGINT` when in this mode.
55
+ * terminal is disabled, including echoing input
56
+ * characters. Ctrl+C will no longer cause a `SIGINT` when
57
+ * in this mode.
56
58
  * @since v0.7.7
57
59
  * @param mode If `true`, configures the `tty.ReadStream` to operate as a raw device. If `false`, configures the `tty.ReadStream` to operate in its default mode. The `readStream.isRaw`
58
60
  * property will be set to the resulting mode.