Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/doc/api
diff options
context:
space:
mode:
authorfoxxyz <foxxyz@gmail.com>2021-07-05 06:39:17 +0300
committerAntoine du Hamel <duhamelantoine1995@gmail.com>2021-08-30 01:40:20 +0300
commit6fdd5827f0956ffc4e7ffe31babaf530e42f75b9 (patch)
tree1e0ccc64f99d288e3ed80119c53a1aac1c33348e /doc/api
parentb6b638bdd69e4bd07140497c026cdf0aba8dd544 (diff)
doc: anchor link parity between markdown and html-generated docs
Main changes: - Replace current HTML anchor generation to match header anchor generation in Github markdown. - Remove unnecessary double namespacing on generated anchors/links (E.G. `esm.md#loaders` instead of `esm.md#esm_loaders`). - Anchors/links are automatically prefixed with their respective modules when concatenated for usage in `all.html`. Benefits: - All anchor links within and between markdown API docs actually work. - Adding new anchor links no longer requires contributors to generate the HTML docs first to look up the correct anchors. - Anchors are much shorter. - All previous anchor links are preserved by generating hidden legacy anchors. PR-URL: https://github.com/nodejs/node/pull/39304 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Diffstat (limited to 'doc/api')
-rw-r--r--doc/api/addons.md9
-rw-r--r--doc/api/assert.md45
-rw-r--r--doc/api/async_context.md10
-rw-r--r--doc/api/async_hooks.md20
-rw-r--r--doc/api/buffer.md52
-rw-r--r--doc/api/child_process.md76
-rw-r--r--doc/api/cli.md54
-rw-r--r--doc/api/cluster.md30
-rw-r--r--doc/api/console.md26
-rw-r--r--doc/api/corepack.md8
-rw-r--r--doc/api/crypto.md110
-rw-r--r--doc/api/deprecations.md254
-rw-r--r--doc/api/dgram.md30
-rw-r--r--doc/api/diagnostics_channel.md6
-rw-r--r--doc/api/dns.md96
-rw-r--r--doc/api/documentation.md2
-rw-r--r--doc/api/domain.md12
-rw-r--r--doc/api/embedding.md2
-rw-r--r--doc/api/errors.md116
-rw-r--r--doc/api/esm.md40
-rw-r--r--doc/api/events.md26
-rw-r--r--doc/api/fs.md100
-rw-r--r--doc/api/globals.md46
-rw-r--r--doc/api/http.md145
-rw-r--r--doc/api/http2.md100
-rw-r--r--doc/api/https.md50
-rw-r--r--doc/api/inspector.md5
-rw-r--r--doc/api/intl.md14
-rw-r--r--doc/api/module.md10
-rw-r--r--doc/api/modules.md56
-rw-r--r--doc/api/n-api.md132
-rw-r--r--doc/api/net.md106
-rw-r--r--doc/api/os.md8
-rw-r--r--doc/api/packages.md48
-rw-r--r--doc/api/path.md10
-rw-r--r--doc/api/perf_hooks.md8
-rw-r--r--doc/api/process.md88
-rw-r--r--doc/api/punycode.md4
-rw-r--r--doc/api/readline.md24
-rw-r--r--doc/api/repl.md22
-rw-r--r--doc/api/stream.md140
-rw-r--r--doc/api/string_decoder.md2
-rw-r--r--doc/api/synopsis.md2
-rw-r--r--doc/api/timers.md24
-rw-r--r--doc/api/tls.md80
-rw-r--r--doc/api/tracing.md2
-rw-r--r--doc/api/tty.md8
-rw-r--r--doc/api/url.md40
-rw-r--r--doc/api/util.md44
-rw-r--r--doc/api/v8.md34
-rw-r--r--doc/api/vm.md24
-rw-r--r--doc/api/webcrypto.md2
-rw-r--r--doc/api/worker_threads.md90
-rw-r--r--doc/api/zlib.md36
54 files changed, 1269 insertions, 1259 deletions
diff --git a/doc/api/addons.md b/doc/api/addons.md
index b17e86febee..233fb332f49 100644
--- a/doc/api/addons.md
+++ b/doc/api/addons.md
@@ -456,7 +456,7 @@ in the Node-API are used.
Creating and maintaining an addon that benefits from the ABI stability
provided by Node-API carries with it certain
-[implementation considerations](n-api.md#n_api_implications_of_abi_stability).
+[implementation considerations][].
To use Node-API in the above "Hello world" example, replace the content of
`hello.cc` with the following. All other instructions remain the same.
@@ -1362,15 +1362,16 @@ console.log(result);
[Electron]: https://electronjs.org/
[Embedder's Guide]: https://github.com/v8/v8/wiki/Embedder's%20Guide
-[Linking to libraries included with Node.js]: #addons_linking_to_libraries_included_with_node_js
+[Linking to libraries included with Node.js]: #linking-to-libraries-included-with-nodejs
[Native Abstractions for Node.js]: https://github.com/nodejs/nan
[V8]: https://v8.dev/
-[`Worker`]: worker_threads.md#worker_threads_class_worker
+[`Worker`]: worker_threads.md#class-worker
[bindings]: https://github.com/TooTallNate/node-bindings
[download]: https://github.com/nodejs/node-addon-examples
[examples]: https://github.com/nodejs/nan/tree/HEAD/examples/
+[implementation considerations]: n-api.md#implications-of-abi-stability
[installation instructions]: https://github.com/nodejs/node-gyp#installation
[libuv]: https://github.com/libuv/libuv
[node-gyp]: https://github.com/nodejs/node-gyp
-[require]: modules.md#modules_require_id
+[require]: modules.md#requireid
[v8-docs]: https://v8docs.nodesource.com/
diff --git a/doc/api/assert.md b/doc/api/assert.md
index 439841f6f00..5215ea06816 100644
--- a/doc/api/assert.md
+++ b/doc/api/assert.md
@@ -99,7 +99,7 @@ assert.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]);
To deactivate the colors, use the `NO_COLOR` or `NODE_DISABLE_COLORS`
environment variables. This will also deactivate the colors in the REPL. For
more on color support in terminal environments, read the tty
-[getColorDepth()](tty.md#tty_writestream_getcolordepth_env) documentation.
+[`getColorDepth()`][] documentation.
## Legacy assertion mode
@@ -2420,34 +2420,35 @@ argument.
[Object.prototype.toString()]: https://tc39.github.io/ecma262/#sec-object.prototype.tostring
[SameValue Comparison]: https://tc39.github.io/ecma262/#sec-samevalue
[Strict Equality Comparison]: https://tc39.github.io/ecma262/#sec-strict-equality-comparison
-[`AssertionError`]: #assert_class_assert_assertionerror
-[`CallTracker`]: #assert_class_assert_calltracker
+[`AssertionError`]: #class-assertassertionerror
+[`CallTracker`]: #class-assertcalltracker
[`Class`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes
-[`ERR_INVALID_RETURN_VALUE`]: errors.md#errors_err_invalid_return_value
-[`Error.captureStackTrace`]: errors.md#errors_error_capturestacktrace_targetobject_constructoropt
-[`Error`]: errors.md#errors_class_error
+[`ERR_INVALID_RETURN_VALUE`]: errors.md#err_invalid_return_value
+[`Error.captureStackTrace`]: errors.md#errorcapturestacktracetargetobject-constructoropt
+[`Error`]: errors.md#class-error
[`Map`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
[`Object.is()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
[`RegExp`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
[`Set`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set
[`Symbol`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol
-[`TypeError`]: errors.md#errors_class_typeerror
+[`TypeError`]: errors.md#class-typeerror
[`WeakMap`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap
[`WeakSet`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet
-[`assert.deepEqual()`]: #assert_assert_deepequal_actual_expected_message
-[`assert.deepStrictEqual()`]: #assert_assert_deepstrictequal_actual_expected_message
-[`assert.doesNotThrow()`]: #assert_assert_doesnotthrow_fn_error_message
-[`assert.equal()`]: #assert_assert_equal_actual_expected_message
-[`assert.notDeepEqual()`]: #assert_assert_notdeepequal_actual_expected_message
-[`assert.notDeepStrictEqual()`]: #assert_assert_notdeepstrictequal_actual_expected_message
-[`assert.notEqual()`]: #assert_assert_notequal_actual_expected_message
-[`assert.notStrictEqual()`]: #assert_assert_notstrictequal_actual_expected_message
-[`assert.ok()`]: #assert_assert_ok_value_message
-[`assert.strictEqual()`]: #assert_assert_strictequal_actual_expected_message
-[`assert.throws()`]: #assert_assert_throws_fn_error_message
-[`process.on('exit')`]: process.md#process_event_exit
-[`tracker.calls()`]: #assert_tracker_calls_fn_exact
-[`tracker.verify()`]: #assert_tracker_verify
+[`assert.deepEqual()`]: #assertdeepequalactual-expected-message
+[`assert.deepStrictEqual()`]: #assertdeepstrictequalactual-expected-message
+[`assert.doesNotThrow()`]: #assertdoesnotthrowfn-error-message
+[`assert.equal()`]: #assertequalactual-expected-message
+[`assert.notDeepEqual()`]: #assertnotdeepequalactual-expected-message
+[`assert.notDeepStrictEqual()`]: #assertnotdeepstrictequalactual-expected-message
+[`assert.notEqual()`]: #assertnotequalactual-expected-message
+[`assert.notStrictEqual()`]: #assertnotstrictequalactual-expected-message
+[`assert.ok()`]: #assertokvalue-message
+[`assert.strictEqual()`]: #assertstrictequalactual-expected-message
+[`assert.throws()`]: #assertthrowsfn-error-message
+[`getColorDepth()`]: tty.md#writestreamgetcolordepthenv
+[`process.on('exit')`]: process.md#event-exit
+[`tracker.calls()`]: #trackercallsfn-exact
+[`tracker.verify()`]: #trackerverify
[enumerable "own" properties]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Enumerability_and_ownership_of_properties
[prototype-spec]: https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots
-[strict assertion mode]: #assert_strict_assertion_mode
+[strict assertion mode]: #strict-assertion-mode
diff --git a/doc/api/async_context.md b/doc/api/async_context.md
index 391ed4c5459..7c949f65857 100644
--- a/doc/api/async_context.md
+++ b/doc/api/async_context.md
@@ -786,8 +786,8 @@ const server = createServer((req, res) => {
}).listen(3000);
```
-[`AsyncResource`]: #async_context_class_asyncresource
-[`EventEmitter`]: events.md#events_class_eventemitter
-[`Stream`]: stream.md#stream_stream
-[`Worker`]: worker_threads.md#worker_threads_class_worker
-[`util.promisify()`]: util.md#util_util_promisify_original
+[`AsyncResource`]: #class-asyncresource
+[`EventEmitter`]: events.md#class-eventemitter
+[`Stream`]: stream.md#stream
+[`Worker`]: worker_threads.md#class-worker
+[`util.promisify()`]: util.md#utilpromisifyoriginal
diff --git a/doc/api/async_hooks.md b/doc/api/async_hooks.md
index 02bb9d3001b..7dfa0dc475a 100644
--- a/doc/api/async_hooks.md
+++ b/doc/api/async_hooks.md
@@ -841,14 +841,14 @@ The documentation for this class has moved [`AsyncResource`][].
The documentation for this class has moved [`AsyncLocalStorage`][].
-[Hook Callbacks]: #async_hooks_hook_callbacks
+[Hook Callbacks]: #hook-callbacks
[PromiseHooks]: https://docs.google.com/document/d/1rda3yKGHimKIhg5YeoAmCOtyURgsbTH_qaYR79FELlk/edit
-[`AsyncLocalStorage`]: async_context.md#async_context_class_asynclocalstorage
-[`AsyncResource`]: async_context.md#async_context_class_asyncresource
-[`Worker`]: worker_threads.md#worker_threads_class_worker
-[`after` callback]: #async_hooks_after_asyncid
-[`before` callback]: #async_hooks_before_asyncid
-[`destroy` callback]: #async_hooks_destroy_asyncid
-[`init` callback]: #async_hooks_init_asyncid_type_triggerasyncid_resource
-[`promiseResolve` callback]: #async_hooks_promiseresolve_asyncid
-[promise execution tracking]: #async_hooks_promise_execution_tracking
+[`AsyncLocalStorage`]: async_context.md#class-asynclocalstorage
+[`AsyncResource`]: async_context.md#class-asyncresource
+[`Worker`]: worker_threads.md#class-worker
+[`after` callback]: #afterasyncid
+[`before` callback]: #beforeasyncid
+[`destroy` callback]: #destroyasyncid
+[`init` callback]: #initasyncid-type-triggerasyncid-resource
+[`promiseResolve` callback]: #promiseresolveasyncid
+[promise execution tracking]: #promise-execution-tracking
diff --git a/doc/api/buffer.md b/doc/api/buffer.md
index 883b173b0fc..b3bcd97f305 100644
--- a/doc/api/buffer.md
+++ b/doc/api/buffer.md
@@ -5199,19 +5199,19 @@ introducing security vulnerabilities into an application.
[WHATWG Encoding Standard]: https://encoding.spec.whatwg.org/
[`ArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
[`Blob`]: https://developer.mozilla.org/en-US/docs/Web/API/Blob
-[`Buffer.alloc()`]: #buffer_static_method_buffer_alloc_size_fill_encoding
-[`Buffer.allocUnsafe()`]: #buffer_static_method_buffer_allocunsafe_size
-[`Buffer.allocUnsafeSlow()`]: #buffer_static_method_buffer_allocunsafeslow_size
-[`Buffer.concat()`]: #buffer_static_method_buffer_concat_list_totallength
-[`Buffer.from(array)`]: #buffer_static_method_buffer_from_array
-[`Buffer.from(arrayBuf)`]: #buffer_static_method_buffer_from_arraybuffer_byteoffset_length
-[`Buffer.from(buffer)`]: #buffer_static_method_buffer_from_buffer
-[`Buffer.from(string)`]: #buffer_static_method_buffer_from_string_encoding
-[`Buffer.poolSize`]: #buffer_class_property_buffer_poolsize
+[`Buffer.alloc()`]: #static-method-bufferallocsize-fill-encoding
+[`Buffer.allocUnsafe()`]: #static-method-bufferallocunsafesize
+[`Buffer.allocUnsafeSlow()`]: #static-method-bufferallocunsafeslowsize
+[`Buffer.concat()`]: #static-method-bufferconcatlist-totallength
+[`Buffer.from(array)`]: #static-method-bufferfromarray
+[`Buffer.from(arrayBuf)`]: #static-method-bufferfromarraybuffer-byteoffset-length
+[`Buffer.from(buffer)`]: #static-method-bufferfrombuffer
+[`Buffer.from(string)`]: #static-method-bufferfromstring-encoding
+[`Buffer.poolSize`]: #class-property-bufferpoolsize
[`DataView`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView
-[`ERR_INVALID_ARG_VALUE`]: errors.md#ERR_INVALID_ARG_VALUE
-[`ERR_INVALID_BUFFER_SIZE`]: errors.md#ERR_INVALID_BUFFER_SIZE
-[`ERR_OUT_OF_RANGE`]: errors.md#ERR_OUT_OF_RANGE
+[`ERR_INVALID_ARG_VALUE`]: errors.md#err_invalid_arg_value
+[`ERR_INVALID_BUFFER_SIZE`]: errors.md#err_invalid_buffer_size
+[`ERR_OUT_OF_RANGE`]: errors.md#err_out_of_range
[`JSON.stringify()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
[`SharedArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
[`String.prototype.indexOf()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
@@ -5223,20 +5223,20 @@ introducing security vulnerabilities into an application.
[`TypedArray.prototype.subarray()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray/subarray
[`TypedArray`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
[`Uint8Array`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array
-[`buf.buffer`]: #buffer_buf_buffer
-[`buf.compare()`]: #buffer_buf_compare_target_targetstart_targetend_sourcestart_sourceend
-[`buf.entries()`]: #buffer_buf_entries
-[`buf.fill()`]: #buffer_buf_fill_value_offset_end_encoding
-[`buf.indexOf()`]: #buffer_buf_indexof_value_byteoffset_encoding
-[`buf.keys()`]: #buffer_buf_keys
-[`buf.length`]: #buffer_buf_length
-[`buf.slice()`]: #buffer_buf_slice_start_end
-[`buf.toString()`]: #buffer_buf_tostring_encoding_start_end
-[`buf.values()`]: #buffer_buf_values
-[`buffer.constants.MAX_LENGTH`]: #buffer_buffer_constants_max_length
-[`buffer.constants.MAX_STRING_LENGTH`]: #buffer_buffer_constants_max_string_length
-[`buffer.kMaxLength`]: #buffer_buffer_kmaxlength
-[`util.inspect()`]: util.md#util_util_inspect_object_options
+[`buf.buffer`]: #bufbuffer
+[`buf.compare()`]: #bufcomparetarget-targetstart-targetend-sourcestart-sourceend
+[`buf.entries()`]: #bufentries
+[`buf.fill()`]: #buffillvalue-offset-end-encoding
+[`buf.indexOf()`]: #bufindexofvalue-byteoffset-encoding
+[`buf.keys()`]: #bufkeys
+[`buf.length`]: #buflength
+[`buf.slice()`]: #bufslicestart-end
+[`buf.toString()`]: #buftostringencoding-start-end
+[`buf.values()`]: #bufvalues
+[`buffer.constants.MAX_LENGTH`]: #bufferconstantsmax_length
+[`buffer.constants.MAX_STRING_LENGTH`]: #bufferconstantsmax_string_length
+[`buffer.kMaxLength`]: #bufferkmaxlength
+[`util.inspect()`]: util.md#utilinspectobject-options
[`v8::TypedArray::kMaxLength`]: https://v8.github.io/api/head/classv8_1_1TypedArray.html#a54a48f4373da0850663c4393d843b9b0
[base64url]: https://tools.ietf.org/html/rfc4648#section-5
[binary strings]: https://developer.mozilla.org/en-US/docs/Web/API/DOMString/Binary
diff --git a/doc/api/child_process.md b/doc/api/child_process.md
index 2d83042a645..3f67459effd 100644
--- a/doc/api/child_process.md
+++ b/doc/api/child_process.md
@@ -1780,42 +1780,42 @@ Therefore, this feature requires opting in by setting the
`serialization` option to `'advanced'` when calling [`child_process.spawn()`][]
or [`child_process.fork()`][].
-[Advanced serialization]: #child_process_advanced_serialization
-[Default Windows shell]: #child_process_default_windows_shell
+[Advanced serialization]: #advanced-serialization
+[Default Windows shell]: #default-windows-shell
[HTML structured clone algorithm]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
-[Shell requirements]: #child_process_shell_requirements
-[Signal Events]: process.md#process_signal_events
-[`'disconnect'`]: process.md#process_event_disconnect
-[`'error'`]: #child_process_event_error
-[`'exit'`]: #child_process_event_exit
-[`'message'`]: process.md#process_event_message
-[`ChildProcess`]: #child_process_class_childprocess
-[`Error`]: errors.md#errors_class_error
-[`EventEmitter`]: events.md#events_class_eventemitter
-[`child_process.exec()`]: #child_process_child_process_exec_command_options_callback
-[`child_process.execFile()`]: #child_process_child_process_execfile_file_args_options_callback
-[`child_process.execFileSync()`]: #child_process_child_process_execfilesync_file_args_options
-[`child_process.execSync()`]: #child_process_child_process_execsync_command_options
-[`child_process.fork()`]: #child_process_child_process_fork_modulepath_args_options
-[`child_process.spawn()`]: #child_process_child_process_spawn_command_args_options
-[`child_process.spawnSync()`]: #child_process_child_process_spawnsync_command_args_options
-[`maxBuffer` and Unicode]: #child_process_maxbuffer_and_unicode
-[`net.Server`]: net.md#net_class_net_server
-[`net.Socket`]: net.md#net_class_net_socket
-[`options.detached`]: #child_process_options_detached
-[`process.disconnect()`]: process.md#process_process_disconnect
-[`process.env`]: process.md#process_process_env
-[`process.execPath`]: process.md#process_process_execpath
-[`process.send()`]: process.md#process_process_send_message_sendhandle_options_callback
-[`stdio`]: #child_process_options_stdio
-[`subprocess.connected`]: #child_process_subprocess_connected
-[`subprocess.disconnect()`]: #child_process_subprocess_disconnect
-[`subprocess.kill()`]: #child_process_subprocess_kill_signal
-[`subprocess.send()`]: #child_process_subprocess_send_message_sendhandle_options_callback
-[`subprocess.stderr`]: #child_process_subprocess_stderr
-[`subprocess.stdin`]: #child_process_subprocess_stdin
-[`subprocess.stdio`]: #child_process_subprocess_stdio
-[`subprocess.stdout`]: #child_process_subprocess_stdout
-[`util.promisify()`]: util.md#util_util_promisify_original
-[synchronous counterparts]: #child_process_synchronous_process_creation
-[v8.serdes]: v8.md#v8_serialization_api
+[Shell requirements]: #shell-requirements
+[Signal Events]: process.md#signal-events
+[`'disconnect'`]: process.md#event-disconnect
+[`'error'`]: #event-error
+[`'exit'`]: #event-exit
+[`'message'`]: process.md#event-message
+[`ChildProcess`]: #class-childprocess
+[`Error`]: errors.md#class-error
+[`EventEmitter`]: events.md#class-eventemitter
+[`child_process.exec()`]: #child_processexeccommand-options-callback
+[`child_process.execFile()`]: #child_processexecfilefile-args-options-callback
+[`child_process.execFileSync()`]: #child_processexecfilesyncfile-args-options
+[`child_process.execSync()`]: #child_processexecsynccommand-options
+[`child_process.fork()`]: #child_processforkmodulepath-args-options
+[`child_process.spawn()`]: #child_processspawncommand-args-options
+[`child_process.spawnSync()`]: #child_processspawnsynccommand-args-options
+[`maxBuffer` and Unicode]: #maxbuffer-and-unicode
+[`net.Server`]: net.md#class-netserver
+[`net.Socket`]: net.md#class-netsocket
+[`options.detached`]: #optionsdetached
+[`process.disconnect()`]: process.md#processdisconnect
+[`process.env`]: process.md#processenv
+[`process.execPath`]: process.md#processexecpath
+[`process.send()`]: process.md#processsendmessage-sendhandle-options-callback
+[`stdio`]: #optionsstdio
+[`subprocess.connected`]: #subprocessconnected
+[`subprocess.disconnect()`]: #subprocessdisconnect
+[`subprocess.kill()`]: #subprocesskillsignal
+[`subprocess.send()`]: #subprocesssendmessage-sendhandle-options-callback
+[`subprocess.stderr`]: #subprocessstderr
+[`subprocess.stdin`]: #subprocessstdin
+[`subprocess.stdio`]: #subprocessstdio
+[`subprocess.stdout`]: #subprocessstdout
+[`util.promisify()`]: util.md#utilpromisifyoriginal
+[synchronous counterparts]: #synchronous-process-creation
+[v8.serdes]: v8.md#serialization-api
diff --git a/doc/api/cli.md b/doc/api/cli.md
index 2314886f79a..48bfd090f65 100644
--- a/doc/api/cli.md
+++ b/doc/api/cli.md
@@ -136,7 +136,7 @@ Specify the directory where the CPU profiles generated by `--cpu-prof` will
be placed.
The default value is controlled by the
-[--diagnostic-dir](#cli_diagnostic_dir_directory) command-line option.
+[`--diagnostic-dir`][] command-line option.
### `--cpu-prof-interval`
<!-- YAML
@@ -163,9 +163,9 @@ Set the directory to which all diagnostic output files are written.
Defaults to current working directory.
Affects the default output directory of:
-* [--cpu-prof-dir](#cli_cpu_prof_dir)
-* [--heap-prof-dir](#cli_heap_prof_dir)
-* [--redirect-warnings](#cli_redirect_warnings_file)
+* [`--cpu-prof-dir`][]
+* [`--heap-prof-dir`][]
+* [`--redirect-warnings`][]
### `--disable-proto=mode`
<!-- YAML
@@ -458,7 +458,7 @@ Specify the directory where the heap profiles generated by `--heap-prof` will
be placed.
The default value is controlled by the
-[--diagnostic-dir](#cli_diagnostic_dir_directory) command-line option.
+[`--diagnostic-dir`][] command-line option.
### `--heap-prof-interval`
<!-- YAML
@@ -514,7 +514,7 @@ Useful when activating the inspector by sending the `SIGUSR1` signal.
Default host is `127.0.0.1`.
-See the [security warning](#inspector_security) below regarding the `host`
+See the [security warning][] below regarding the `host`
parameter usage.
### `--inspect[=[host:]port]`
@@ -528,6 +528,7 @@ V8 inspector integration allows tools such as Chrome DevTools and IDEs to debug
and profile Node.js instances. The tools attach to Node.js instances via a
tcp port and communicate using the [Chrome DevTools Protocol][].
+<!-- Anchor to make sure old links find a target -->
<a id="inspector_security"></a>
#### Warning: binding inspector to a public IP:port combination is insecure
@@ -750,7 +751,7 @@ warning will be written to stderr instead.
The `file` name may be an absolute path. If it is not, the default directory it
will be written to is controlled by the
-[--diagnostic-dir](#cli_diagnostic_dir_directory) command-line option.
+[`--diagnostic-dir`]() command-line option.
### `--report-compact`
<!-- YAML
@@ -1767,35 +1768,40 @@ $ node --max-old-space-size=1536 index.js
```
[Chrome DevTools Protocol]: https://chromedevtools.github.io/devtools-protocol/
-[ECMAScript Module loader]: esm.md#esm_loaders
+[ECMAScript Module loader]: esm.md#loaders
[REPL]: repl.md
[ScriptCoverage]: https://chromedevtools.github.io/devtools-protocol/tot/Profiler#type-ScriptCoverage
[Source Map]: https://sourcemaps.info/spec.html
[Subresource Integrity]: https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity
[V8 JavaScript code coverage]: https://v8project.blogspot.com/2017/12/javascript-code-coverage.html
-[`--openssl-config`]: #cli_openssl_config_file
+[`--cpu-prof-dir`]: #--cpu-prof-dir
+[`--diagnostic-dir`]: #--diagnostic-dirdirectory
+[`--heap-prof-dir`]: #--heap-prof-dir
+[`--openssl-config`]: #--openssl-configfile
+[`--redirect-warnings`]: #--redirect-warningsfile
[`Atomics.wait()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Atomics/wait
-[`Buffer`]: buffer.md#buffer_class_buffer
+[`Buffer`]: buffer.md#class-buffer
[`CRYPTO_secure_malloc_init`]: https://www.openssl.org/docs/man1.1.0/man3/CRYPTO_secure_malloc_init.html
-[`NODE_OPTIONS`]: #cli_node_options_options
+[`NODE_OPTIONS`]: #node_optionsoptions
[`NO_COLOR`]: https://no-color.org
-[`SlowBuffer`]: buffer.md#buffer_class_slowbuffer
-[`dns.lookup()`]: dns.md#dns_dns_lookup_hostname_options_callback
-[`dns.setDefaultResultOrder()`]: dns.md#dns_dns_setdefaultresultorder_order
-[`dnsPromises.lookup()`]: dns.md#dns_dnspromises_lookup_hostname_options
-[`process.setUncaughtExceptionCaptureCallback()`]: process.md#process_process_setuncaughtexceptioncapturecallback_fn
-[`tls.DEFAULT_MAX_VERSION`]: tls.md#tls_tls_default_max_version
-[`tls.DEFAULT_MIN_VERSION`]: tls.md#tls_tls_default_min_version
-[`unhandledRejection`]: process.md#process_event_unhandledrejection
-[`worker_threads.threadId`]: worker_threads.md#worker_threads_worker_threadid
-[conditional exports]: packages.md#packages_conditional_exports
-[context-aware]: addons.md#addons_context_aware_addons
-[customizing ESM specifier resolution]: esm.md#esm_customizing_esm_specifier_resolution_algorithm
+[`SlowBuffer`]: buffer.md#class-slowbuffer
+[`dns.lookup()`]: dns.md#dnslookuphostname-options-callback
+[`dns.setDefaultResultOrder()`]: dns.md#dnssetdefaultresultorderorder
+[`dnsPromises.lookup()`]: dns.md#dnspromiseslookuphostname-options
+[`process.setUncaughtExceptionCaptureCallback()`]: process.md#processsetuncaughtexceptioncapturecallbackfn
+[`tls.DEFAULT_MAX_VERSION`]: tls.md#tlsdefault_max_version
+[`tls.DEFAULT_MIN_VERSION`]: tls.md#tlsdefault_min_version
+[`unhandledRejection`]: process.md#event-unhandledrejection
+[`worker_threads.threadId`]: worker_threads.md#workerthreadid
+[conditional exports]: packages.md#conditional-exports
+[context-aware]: addons.md#context-aware-addons
+[customizing ESM specifier resolution]: esm.md#customizing-esm-specifier-resolution-algorithm
[debugger]: debugger.md
[debugging security implications]: https://nodejs.org/en/docs/guides/debugging-getting-started/#security-implications
-[emit_warning]: process.md#process_process_emitwarning_warning_type_code_ctor
+[emit_warning]: process.md#processemitwarningwarning-options
[jitless]: https://v8.dev/blog/jitless
[libuv threadpool documentation]: https://docs.libuv.org/en/latest/threadpool.html
[remote code execution]: https://www.owasp.org/index.php/Code_Injection
+[security warning]: #warning-binding-inspector-to-a-public-ipport-combination-is-insecure
[timezone IDs]: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
[ways that `TZ` is handled in other environments]: https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html
diff --git a/doc/api/cluster.md b/doc/api/cluster.md
index 8675a510013..f3e7b9d535a 100644
--- a/doc/api/cluster.md
+++ b/doc/api/cluster.md
@@ -1074,18 +1074,18 @@ socket.on('data', (id) => {
});
```
-[Advanced serialization for `child_process`]: child_process.md#child_process_advanced_serialization
-[Child Process module]: child_process.md#child_process_child_process_fork_modulepath_args_options
-[`.fork()`]: #cluster_cluster_fork_env
-[`.setupPrimary()`]: #cluster_cluster_setupprimary_settings
-[`ChildProcess.send()`]: child_process.md#child_process_subprocess_send_message_sendhandle_options_callback
-[`child_process.fork()`]: child_process.md#child_process_child_process_fork_modulepath_args_options
-[`child_process` event: `'exit'`]: child_process.md#child_process_event_exit
-[`child_process` event: `'message'`]: child_process.md#child_process_event_message
-[`cluster.isPrimary`]: #cluster_cluster_isprimary
-[`cluster.settings`]: #cluster_cluster_settings
-[`disconnect()`]: child_process.md#child_process_subprocess_disconnect
-[`kill()`]: process.md#process_process_kill_pid_signal
-[`process` event: `'message'`]: process.md#process_event_message
-[`server.close()`]: net.md#net_event_close
-[`worker.exitedAfterDisconnect`]: #cluster_worker_exitedafterdisconnect
+[Advanced serialization for `child_process`]: child_process.md#advanced-serialization
+[Child Process module]: child_process.md#child_processforkmodulepath-args-options
+[`.fork()`]: #clusterforkenv
+[`.setupPrimary()`]: #clustersetupprimarysettings
+[`ChildProcess.send()`]: child_process.md#subprocesssendmessage-sendhandle-options-callback
+[`child_process.fork()`]: child_process.md#child_processforkmodulepath-args-options
+[`child_process` event: `'exit'`]: child_process.md#event-exit
+[`child_process` event: `'message'`]: child_process.md#event-message
+[`cluster.isPrimary`]: #clusterisprimary
+[`cluster.settings`]: #clustersettings
+[`disconnect()`]: child_process.md#subprocessdisconnect
+[`kill()`]: process.md#processkillpid-signal
+[`process` event: `'message'`]: process.md#event-message
+[`server.close()`]: net.md#event-close
+[`worker.exitedAfterDisconnect`]: #workerexitedafterdisconnect
diff --git a/doc/api/console.md b/doc/api/console.md
index 9f758171634..411366ab2f6 100644
--- a/doc/api/console.md
+++ b/doc/api/console.md
@@ -561,19 +561,19 @@ This method does not display anything unless used in the inspector. The
`console.timeStamp()` method adds an event with the label `'label'` to the
**Timeline** panel of the inspector.
-[`console.error()`]: #console_console_error_data_args
-[`console.group()`]: #console_console_group_label
-[`console.log()`]: #console_console_log_data_args
-[`console.profile()`]: #console_console_profile_label
-[`console.profileEnd()`]: #console_console_profileend_label
-[`console.time()`]: #console_console_time_label
-[`console.timeEnd()`]: #console_console_timeend_label
-[`process.stderr`]: process.md#process_process_stderr
-[`process.stdout`]: process.md#process_process_stdout
-[`util.format()`]: util.md#util_util_format_format_args
-[`util.inspect()`]: util.md#util_util_inspect_object_options
-[customizing `util.inspect()` colors]: util.md#util_customizing_util_inspect_colors
+[`console.error()`]: #consoleerrordata-args
+[`console.group()`]: #consolegrouplabel
+[`console.log()`]: #consolelogdata-args
+[`console.profile()`]: #consoleprofilelabel
+[`console.profileEnd()`]: #consoleprofileendlabel
+[`console.time()`]: #consoletimelabel
+[`console.timeEnd()`]: #consoletimeendlabel
+[`process.stderr`]: process.md#processstderr
+[`process.stdout`]: process.md#processstdout
+[`util.format()`]: util.md#utilformatformat-args
+[`util.inspect()`]: util.md#utilinspectobject-options
+[customizing `util.inspect()` colors]: util.md#customizing-utilinspect-colors
[falsy]: https://developer.mozilla.org/en-US/docs/Glossary/Falsy
[inspector]: debugger.md
-[note on process I/O]: process.md#process_a_note_on_process_i_o
+[note on process I/O]: process.md#a-note-on-process-io
[truthy]: https://developer.mozilla.org/en-US/docs/Glossary/Truthy
diff --git a/doc/api/corepack.md b/doc/api/corepack.md
index 1e30256b491..76de9e9fe98 100644
--- a/doc/api/corepack.md
+++ b/doc/api/corepack.md
@@ -108,12 +108,12 @@ that happen, run [`corepack enable`][] again to add them back).
[Corepack documentation]: https://github.com/nodejs/corepack#readme
[Corepack repository]: https://github.com/nodejs/corepack
[Yarn]: https://yarnpkg.com
-[`"packageManager"`]: packages.md#packages_packagemanager
+[`"packageManager"`]: packages.md#packagemanager
[`corepack disable`]: https://github.com/nodejs/corepack#corepack-disable--name
[`corepack enable`]: https://github.com/nodejs/corepack#corepack-enable--name
[`corepack prepare`]: https://github.com/nodejs/corepack#corepack-prepare--nameversion
-[`package.json`]: packages.md#packages_node_js_package_json_field_definitions
+[`package.json`]: packages.md#nodejs-packagejson-field-definitions
[pnpm]: https://pnpm.js.org
-[supported binaries]: #corepack_supported_package_managers
-[supported package manager]: #corepack_supported_package_managers
+[supported binaries]: #supported-package-managers
+[supported package manager]: #supported-package-managers
[various flags]: https://github.com/nodejs/corepack#utility-commands
diff --git a/doc/api/crypto.md b/doc/api/crypto.md
index b54ad3019cd..57ad8ccf7e6 100644
--- a/doc/api/crypto.md
+++ b/doc/api/crypto.md
@@ -5652,9 +5652,9 @@ See the [list of SSL OP Flags][] for details.
</table>
[AEAD algorithms]: https://en.wikipedia.org/wiki/Authenticated_encryption
-[CCM mode]: #crypto_ccm_mode
-[Caveats]: #crypto_support_for_weak_or_compromised_algorithms
-[Crypto constants]: #crypto_crypto_constants_1
+[CCM mode]: #ccm-mode
+[Caveats]: #support-for-weak-or-compromised-algorithms
+[Crypto constants]: #crypto-constants
[HTML 5.2]: https://www.w3.org/TR/html52/changes.html#features-removed
[HTML5's `keygen` element]: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen
[JWK]: https://tools.ietf.org/html/rfc7517
@@ -5674,62 +5674,62 @@ See the [list of SSL OP Flags][] for details.
[`BN_is_prime_ex`]: https://www.openssl.org/docs/man1.1.1/man3/BN_is_prime_ex.html
[`Buffer`]: buffer.md
[`EVP_BytesToKey`]: https://www.openssl.org/docs/man1.1.0/crypto/EVP_BytesToKey.html
-[`KeyObject`]: #crypto_class_keyobject
-[`Sign`]: #crypto_class_sign
+[`KeyObject`]: #class-keyobject
+[`Sign`]: #class-sign
[`String.prototype.normalize()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
-[`UV_THREADPOOL_SIZE`]: cli.md#cli_uv_threadpool_size_size
-[`Verify`]: #crypto_class_verify
-[`cipher.final()`]: #crypto_cipher_final_outputencoding
-[`cipher.update()`]: #crypto_cipher_update_data_inputencoding_outputencoding
-[`crypto.createCipher()`]: #crypto_crypto_createcipher_algorithm_password_options
-[`crypto.createCipheriv()`]: #crypto_crypto_createcipheriv_algorithm_key_iv_options
-[`crypto.createDecipher()`]: #crypto_crypto_createdecipher_algorithm_password_options
-[`crypto.createDecipheriv()`]: #crypto_crypto_createdecipheriv_algorithm_key_iv_options
-[`crypto.createDiffieHellman()`]: #crypto_crypto_creatediffiehellman_prime_primeencoding_generator_generatorencoding
-[`crypto.createECDH()`]: #crypto_crypto_createecdh_curvename
-[`crypto.createHash()`]: #crypto_crypto_createhash_algorithm_options
-[`crypto.createHmac()`]: #crypto_crypto_createhmac_algorithm_key_options
-[`crypto.createPrivateKey()`]: #crypto_crypto_createprivatekey_key
-[`crypto.createPublicKey()`]: #crypto_crypto_createpublickey_key
-[`crypto.createSecretKey()`]: #crypto_crypto_createsecretkey_key_encoding
-[`crypto.createSign()`]: #crypto_crypto_createsign_algorithm_options
-[`crypto.createVerify()`]: #crypto_crypto_createverify_algorithm_options
-[`crypto.getCurves()`]: #crypto_crypto_getcurves
-[`crypto.getDiffieHellman()`]: #crypto_crypto_getdiffiehellman_groupname
-[`crypto.getHashes()`]: #crypto_crypto_gethashes
-[`crypto.privateDecrypt()`]: #crypto_crypto_privatedecrypt_privatekey_buffer
-[`crypto.privateEncrypt()`]: #crypto_crypto_privateencrypt_privatekey_buffer
-[`crypto.publicDecrypt()`]: #crypto_crypto_publicdecrypt_key_buffer
-[`crypto.publicEncrypt()`]: #crypto_crypto_publicencrypt_key_buffer
-[`crypto.randomBytes()`]: #crypto_crypto_randombytes_size_callback
-[`crypto.randomFill()`]: #crypto_crypto_randomfill_buffer_offset_size_callback
-[`crypto.scrypt()`]: #crypto_crypto_scrypt_password_salt_keylen_options_callback
-[`decipher.final()`]: #crypto_decipher_final_outputencoding
-[`decipher.update()`]: #crypto_decipher_update_data_inputencoding_outputencoding
-[`diffieHellman.setPublicKey()`]: #crypto_diffiehellman_setpublickey_publickey_encoding
-[`ecdh.generateKeys()`]: #crypto_ecdh_generatekeys_encoding_format
-[`ecdh.setPrivateKey()`]: #crypto_ecdh_setprivatekey_privatekey_encoding
-[`ecdh.setPublicKey()`]: #crypto_ecdh_setpublickey_publickey_encoding
-[`hash.digest()`]: #crypto_hash_digest_encoding
-[`hash.update()`]: #crypto_hash_update_data_inputencoding
-[`hmac.digest()`]: #crypto_hmac_digest_encoding
-[`hmac.update()`]: #crypto_hmac_update_data_inputencoding
-[`keyObject.export()`]: #crypto_keyobject_export_options
-[`postMessage()`]: worker_threads.md#worker_threads_port_postmessage_value_transferlist
-[`sign.sign()`]: #crypto_sign_sign_privatekey_outputencoding
-[`sign.update()`]: #crypto_sign_update_data_inputencoding
-[`stream.Writable` options]: stream.md#stream_new_stream_writable_options
-[`stream.transform` options]: stream.md#stream_new_stream_transform_options
-[`util.promisify()`]: util.md#util_util_promisify_original
-[`verify.update()`]: #crypto_verify_update_data_inputencoding
-[`verify.verify()`]: #crypto_verify_verify_object_signature_signatureencoding
-[caveats when using strings as inputs to cryptographic APIs]: #crypto_using_strings_as_inputs_to_cryptographic_apis
-[certificate object]: tls.md#tls_certificate_object
-[encoding]: buffer.md#buffer_buffers_and_character_encodings
+[`UV_THREADPOOL_SIZE`]: cli.md#uv_threadpool_sizesize
+[`Verify`]: #class-verify
+[`cipher.final()`]: #cipherfinaloutputencoding
+[`cipher.update()`]: #cipherupdatedata-inputencoding-outputencoding
+[`crypto.createCipher()`]: #cryptocreatecipheralgorithm-password-options
+[`crypto.createCipheriv()`]: #cryptocreatecipherivalgorithm-key-iv-options
+[`crypto.createDecipher()`]: #cryptocreatedecipheralgorithm-password-options
+[`crypto.createDecipheriv()`]: #cryptocreatedecipherivalgorithm-key-iv-options
+[`crypto.createDiffieHellman()`]: #cryptocreatediffiehellmanprime-primeencoding-generator-generatorencoding
+[`crypto.createECDH()`]: #cryptocreateecdhcurvename
+[`crypto.createHash()`]: #cryptocreatehashalgorithm-options
+[`crypto.createHmac()`]: #cryptocreatehmacalgorithm-key-options
+[`crypto.createPrivateKey()`]: #cryptocreateprivatekeykey
+[`crypto.createPublicKey()`]: #cryptocreatepublickeykey
+[`crypto.createSecretKey()`]: #cryptocreatesecretkeykey-encoding
+[`crypto.createSign()`]: #cryptocreatesignalgorithm-options
+[`crypto.createVerify()`]: #cryptocreateverifyalgorithm-options
+[`crypto.getCurves()`]: #cryptogetcurves
+[`crypto.getDiffieHellman()`]: #cryptogetdiffiehellmangroupname
+[`crypto.getHashes()`]: #cryptogethashes
+[`crypto.privateDecrypt()`]: #cryptoprivatedecryptprivatekey-buffer
+[`crypto.privateEncrypt()`]: #cryptoprivateencryptprivatekey-buffer
+[`crypto.publicDecrypt()`]: #cryptopublicdecryptkey-buffer
+[`crypto.publicEncrypt()`]: #cryptopublicencryptkey-buffer
+[`crypto.randomBytes()`]: #cryptorandombytessize-callback
+[`crypto.randomFill()`]: #cryptorandomfillbuffer-offset-size-callback
+[`crypto.scrypt()`]: #cryptoscryptpassword-salt-keylen-options-callback
+[`decipher.final()`]: #decipherfinaloutputencoding
+[`decipher.update()`]: #decipherupdatedata-inputencoding-outputencoding
+[`diffieHellman.setPublicKey()`]: #diffiehellmansetpublickeypublickey-encoding
+[`ecdh.generateKeys()`]: #ecdhgeneratekeysencoding-format
+[`ecdh.setPrivateKey()`]: #ecdhsetprivatekeyprivatekey-encoding
+[`ecdh.setPublicKey()`]: #ecdhsetpublickeypublickey-encoding
+[`hash.digest()`]: #hashdigestencoding
+[`hash.update()`]: #hashupdatedata-inputencoding
+[`hmac.digest()`]: #hmacdigestencoding
+[`hmac.update()`]: #hmacupdatedata-inputencoding
+[`keyObject.export()`]: #keyobjectexportoptions
+[`postMessage()`]: worker_threads.md#portpostmessagevalue-transferlist
+[`sign.sign()`]: #signsignprivatekey-outputencoding
+[`sign.update()`]: #signupdatedata-inputencoding
+[`stream.Writable` options]: stream.md#new-streamwritableoptions
+[`stream.transform` options]: stream.md#new-streamtransformoptions
+[`util.promisify()`]: util.md#utilpromisifyoriginal
+[`verify.update()`]: #verifyupdatedata-inputencoding
+[`verify.verify()`]: #verifyverifyobject-signature-signatureencoding
+[caveats when using strings as inputs to cryptographic APIs]: #using-strings-as-inputs-to-cryptographic-apis
+[certificate object]: tls.md#certificate-object
+[encoding]: buffer.md#buffers-and-character-encodings
[initialization vector]: https://en.wikipedia.org/wiki/Initialization_vector
[list of SSL OP Flags]: https://wiki.openssl.org/index.php/List_of_SSL_OP_Flags#Table_of_Options
[modulo bias]: https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle#Modulo_bias
[safe integers]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isSafeInteger
[scrypt]: https://en.wikipedia.org/wiki/Scrypt
[stream]: stream.md
-[stream-writable-write]: stream.md#stream_writable_write_chunk_encoding_callback
+[stream-writable-write]: stream.md#writablewritechunk-encoding-callback
diff --git a/doc/api/deprecations.md b/doc/api/deprecations.md
index 634dc0f6e96..f2668f9411a 100644
--- a/doc/api/deprecations.md
+++ b/doc/api/deprecations.md
@@ -22,7 +22,7 @@ with [`--pending-deprecation`][] flag (or its alternative,
`NODE_PENDING_DEPRECATION=1` environment variable), similarly to Runtime
deprecations below. Documentation-only deprecations that support that flag
are explicitly labeled as such in the
-[list of Deprecated APIs](#deprecations_list_of_deprecated_apis).
+[list of Deprecated APIs](#list-of-deprecated-apis).
A Runtime deprecation will, by default, generate a process warning that will
be printed to `stderr` the first time the deprecated API is used. When the
@@ -2801,136 +2801,136 @@ non-number value for `hints` option, a non-nullish non-boolean value for `all`
option, or a non-nullish non-boolean value for `verbatim` option in
[`dns.lookup()`][] and [`dnsPromises.lookup()`][] is deprecated.
-[Legacy URL API]: url.md#url_legacy_url_api
+[Legacy URL API]: url.md#legacy-url-api
[NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf
[RFC 6066]: https://tools.ietf.org/html/rfc6066#section-3
-[WHATWG URL API]: url.md#url_the_whatwg_url_api
-[`"exports"` or `"main"` entry]: packages.md#packages_main_entry_point_export
-[`--pending-deprecation`]: cli.md#cli_pending_deprecation
-[`--throw-deprecation`]: cli.md#cli_throw_deprecation
-[`--unhandled-rejections`]: cli.md#cli_unhandled_rejections_mode
-[`Buffer.allocUnsafeSlow(size)`]: buffer.md#buffer_static_method_buffer_allocunsafeslow_size
-[`Buffer.from(array)`]: buffer.md#buffer_static_method_buffer_from_array
-[`Buffer.from(buffer)`]: buffer.md#buffer_static_method_buffer_from_buffer
-[`Buffer.isBuffer()`]: buffer.md#buffer_static_method_buffer_isbuffer_obj
-[`Cipher`]: crypto.md#crypto_class_cipher
-[`Decipher`]: crypto.md#crypto_class_decipher
-[`REPLServer.clearBufferedCommand()`]: repl.md#repl_replserver_clearbufferedcommand
-[`ReadStream.open()`]: fs.md#fs_class_fs_readstream
-[`Server.getConnections()`]: net.md#net_server_getconnections_callback
-[`Server.listen({fd: <number>})`]: net.md#net_server_listen_handle_backlog_callback
-[`SlowBuffer`]: buffer.md#buffer_class_slowbuffer
-[`WriteStream.open()`]: fs.md#fs_class_fs_writestream
+[WHATWG URL API]: url.md#the-whatwg-url-api
+[`"exports"` or `"main"` entry]: packages.md#main-entry-point-export
+[`--pending-deprecation`]: cli.md#--pending-deprecation
+[`--throw-deprecation`]: cli.md#--throw-deprecation
+[`--unhandled-rejections`]: cli.md#--unhandled-rejectionsmode
+[`Buffer.allocUnsafeSlow(size)`]: buffer.md#static-method-bufferallocunsafeslowsize
+[`Buffer.from(array)`]: buffer.md#static-method-bufferfromarray
+[`Buffer.from(buffer)`]: buffer.md#static-method-bufferfrombuffer
+[`Buffer.isBuffer()`]: buffer.md#static-method-bufferisbufferobj
+[`Cipher`]: crypto.md#class-cipher
+[`Decipher`]: crypto.md#class-decipher
+[`REPLServer.clearBufferedCommand()`]: repl.md#replserverclearbufferedcommand
+[`ReadStream.open()`]: fs.md#class-fsreadstream
+[`Server.getConnections()`]: net.md#servergetconnectionscallback
+[`Server.listen({fd: <number>})`]: net.md#serverlistenhandle-backlog-callback
+[`SlowBuffer`]: buffer.md#class-slowbuffer
+[`WriteStream.open()`]: fs.md#class-fswritestream
[`assert`]: assert.md
-[`asyncResource.runInAsyncScope()`]: async_context.md#async_context_asyncresource_runinasyncscope_fn_thisarg_args
+[`asyncResource.runInAsyncScope()`]: async_context.md#asyncresourceruninasyncscopefn-thisarg-args
[`child_process`]: child_process.md
-[`clearInterval()`]: timers.md#timers_clearinterval_timeout
-[`clearTimeout()`]: timers.md#timers_cleartimeout_timeout
-[`console.error()`]: console.md#console_console_error_data_args
-[`console.log()`]: console.md#console_console_log_data_args
-[`crypto.Certificate()` constructor]: crypto.md#crypto_legacy_api
-[`crypto.DEFAULT_ENCODING`]: crypto.md#crypto_crypto_default_encoding
-[`crypto.createCipher()`]: crypto.md#crypto_crypto_createcipher_algorithm_password_options
-[`crypto.createCipheriv()`]: crypto.md#crypto_crypto_createcipheriv_algorithm_key_iv_options
-[`crypto.createDecipher()`]: crypto.md#crypto_crypto_createdecipher_algorithm_password_options
-[`crypto.createDecipheriv()`]: crypto.md#crypto_crypto_createdecipheriv_algorithm_key_iv_options
-[`crypto.fips`]: crypto.md#crypto_crypto_fips
-[`crypto.pbkdf2()`]: crypto.md#crypto_crypto_pbkdf2_password_salt_iterations_keylen_digest_callback
-[`crypto.randomBytes()`]: crypto.md#crypto_crypto_randombytes_size_callback
-[`crypto.scrypt()`]: crypto.md#crypto_crypto_scrypt_password_salt_keylen_options_callback
-[`decipher.final()`]: crypto.md#crypto_decipher_final_outputencoding
-[`decipher.setAuthTag()`]: crypto.md#crypto_decipher_setauthtag_buffer_encoding
-[`dns.lookup()`]: domain.md#dns_dns_lookup_hostname_options_callback
-[`dnsPromises.lookup()`]: domain.md#dns_dnspromises_lookup_hostname_options
+[`clearInterval()`]: timers.md#clearintervaltimeout
+[`clearTimeout()`]: timers.md#cleartimeouttimeout
+[`console.error()`]: console.md#consoleerrordata-args
+[`console.log()`]: console.md#consolelogdata-args
+[`crypto.Certificate()` constructor]: crypto.md#legacy-api
+[`crypto.DEFAULT_ENCODING`]: crypto.md#cryptodefault_encoding
+[`crypto.createCipher()`]: crypto.md#cryptocreatecipheralgorithm-password-options
+[`crypto.createCipheriv()`]: crypto.md#cryptocreatecipherivalgorithm-key-iv-options
+[`crypto.createDecipher()`]: crypto.md#cryptocreatedecipheralgorithm-password-options
+[`crypto.createDecipheriv()`]: crypto.md#cryptocreatedecipherivalgorithm-key-iv-options
+[`crypto.fips`]: crypto.md#cryptofips
+[`crypto.pbkdf2()`]: crypto.md#cryptopbkdf2password-salt-iterations-keylen-digest-callback
+[`crypto.randomBytes()`]: crypto.md#cryptorandombytessize-callback
+[`crypto.scrypt()`]: crypto.md#cryptoscryptpassword-salt-keylen-options-callback
+[`decipher.final()`]: crypto.md#decipherfinaloutputencoding
+[`decipher.setAuthTag()`]: crypto.md#deciphersetauthtagbuffer-encoding
+[`dns.lookup()`]: dns.md#dnslookuphostname-options-callback
+[`dnsPromises.lookup()`]: dns.md#dnspromiseslookuphostname-options
[`domain`]: domain.md
-[`ecdh.setPublicKey()`]: crypto.md#crypto_ecdh_setpublickey_publickey_encoding
-[`emitter.listenerCount(eventName)`]: events.md#events_emitter_listenercount_eventname
-[`events.listenerCount(emitter, eventName)`]: events.md#events_events_listenercount_emitter_eventname
-[`fs.FileHandle`]: fs.md#fs_class_filehandle
-[`fs.access()`]: fs.md#fs_fs_access_path_mode_callback
-[`fs.createReadStream()`]: fs.md#fs_fs_createreadstream_path_options
-[`fs.createWriteStream()`]: fs.md#fs_fs_createwritestream_path_options
-[`fs.exists(path, callback)`]: fs.md#fs_fs_exists_path_callback
-[`fs.lchmod(path, mode, callback)`]: fs.md#fs_fs_lchmod_path_mode_callback
-[`fs.lchmodSync(path, mode)`]: fs.md#fs_fs_lchmodsync_path_mode
-[`fs.lchown(path, uid, gid, callback)`]: fs.md#fs_fs_lchown_path_uid_gid_callback
-[`fs.lchownSync(path, uid, gid)`]: fs.md#fs_fs_lchownsync_path_uid_gid
-[`fs.read()`]: fs.md#fs_fs_read_fd_buffer_offset_length_position_callback
-[`fs.readSync()`]: fs.md#fs_fs_readsync_fd_buffer_offset_length_position
-[`fs.stat()`]: fs.md#fs_fs_stat_path_options_callback
-[`http.get()`]: http.md#http_http_get_options_callback
-[`http.request()`]: http.md#http_http_request_options_callback
-[`https.get()`]: https.md#https_https_get_options_callback
-[`https.request()`]: https.md#https_https_request_options_callback
-[`message.connection`]: http.md#http_message_connection
-[`message.socket`]: http.md#http_message_socket
-[`module.createRequire()`]: module.md#module_module_createrequire_filename
-[`os.networkInterfaces()`]: os.md#os_os_networkinterfaces
-[`os.tmpdir()`]: os.md#os_os_tmpdir
-[`process.env`]: process.md#process_process_env
-[`process.mainModule`]: process.md#process_process_mainmodule
+[`ecdh.setPublicKey()`]: crypto.md#ecdhsetpublickeypublickey-encoding
+[`emitter.listenerCount(eventName)`]: events.md#emitterlistenercounteventname
+[`events.listenerCount(emitter, eventName)`]: events.md#eventslistenercountemitter-eventname
+[`fs.FileHandle`]: fs.md#class-filehandle
+[`fs.access()`]: fs.md#fsaccesspath-mode-callback
+[`fs.createReadStream()`]: fs.md#fscreatereadstreampath-options
+[`fs.createWriteStream()`]: fs.md#fscreatewritestreampath-options
+[`fs.exists(path, callback)`]: fs.md#fsexistspath-callback
+[`fs.lchmod(path, mode, callback)`]: fs.md#fslchmodpath-mode-callback
+[`fs.lchmodSync(path, mode)`]: fs.md#fslchmodsyncpath-mode
+[`fs.lchown(path, uid, gid, callback)`]: fs.md#fslchownpath-uid-gid-callback
+[`fs.lchownSync(path, uid, gid)`]: fs.md#fslchownsyncpath-uid-gid
+[`fs.read()`]: fs.md#fsreadfd-buffer-offset-length-position-callback
+[`fs.readSync()`]: fs.md#fsreadsyncfd-buffer-offset-length-position
+[`fs.stat()`]: fs.md#fsstatpath-options-callback
+[`http.get()`]: http.md#httpgetoptions-callback
+[`http.request()`]: http.md#httprequestoptions-callback
+[`https.get()`]: https.md#httpsgetoptions-callback
+[`https.request()`]: https.md#httpsrequestoptions-callback
+[`message.connection`]: http.md#messageconnection
+[`message.socket`]: http.md#messagesocket
+[`module.createRequire()`]: module.md#modulecreaterequirefilename
+[`os.networkInterfaces()`]: os.md#osnetworkinterfaces
+[`os.tmpdir()`]: os.md#ostmpdir
+[`process.env`]: process.md#processenv
+[`process.mainModule`]: process.md#processmainmodule
[`punycode`]: punycode.md
-[`request.abort()`]: http.md#http_request_abort
-[`request.connection`]: http.md#http_request_connection
-[`request.destroy()`]: http.md#http_request_destroy_error
-[`request.socket`]: http.md#http_request_socket
-[`require.extensions`]: modules.md#modules_require_extensions
-[`require.main`]: modules.md#modules_accessing_the_main_module
-[`response.connection`]: http.md#http_response_connection
-[`response.end()`]: http.md#http_response_end_data_encoding_callback
-[`response.finished`]: http.md#http_response_finished
-[`response.socket`]: http.md#http_response_socket
-[`response.writableEnded`]: http.md#http_response_writableended
-[`response.writableFinished`]: http.md#http_response_writablefinished
-[`script.createCachedData()`]: vm.md#vm_script_createcacheddata
-[`setInterval()`]: timers.md#timers_setinterval_callback_delay_args
-[`setTimeout()`]: timers.md#timers_settimeout_callback_delay_args
-[`socket.bufferSize`]: net.md#net_socket_buffersize
-[`timeout.ref()`]: timers.md#timers_timeout_ref
-[`timeout.refresh()`]: timers.md#timers_timeout_refresh
-[`timeout.unref()`]: timers.md#timers_timeout_unref
-[`tls.CryptoStream`]: tls.md#tls_class_tls_cryptostream
-[`tls.SecureContext`]: tls.md#tls_tls_createsecurecontext_options
-[`tls.SecurePair`]: tls.md#tls_class_tls_securepair
-[`tls.TLSSocket`]: tls.md#tls_class_tls_tlssocket
-[`tls.checkServerIdentity()`]: tls.md#tls_tls_checkserveridentity_hostname_cert
-[`tls.createSecureContext()`]: tls.md#tls_tls_createsecurecontext_options
-[`url.format()`]: url.md#url_url_format_urlobject
-[`url.parse()`]: url.md#url_url_parse_urlstring_parsequerystring_slashesdenotehost
-[`url.resolve()`]: url.md#url_url_resolve_from_to
-[`util._extend()`]: util.md#util_util_extend_target_source
-[`util.getSystemErrorName()`]: util.md#util_util_getsystemerrorname_err
-[`util.inspect()`]: util.md#util_util_inspect_object_options
-[`util.inspect.custom`]: util.md#util_util_inspect_custom
-[`util.isArray()`]: util.md#util_util_isarray_object
-[`util.isBoolean()`]: util.md#util_util_isboolean_object
-[`util.isBuffer()`]: util.md#util_util_isbuffer_object
-[`util.isDate()`]: util.md#util_util_isdate_object
-[`util.isError()`]: util.md#util_util_iserror_object
-[`util.isFunction()`]: util.md#util_util_isfunction_object
-[`util.isNull()`]: util.md#util_util_isnull_object
-[`util.isNullOrUndefined()`]: util.md#util_util_isnullorundefined_object
-[`util.isNumber()`]: util.md#util_util_isnumber_object
-[`util.isObject()`]: util.md#util_util_isobject_object
-[`util.isPrimitive()`]: util.md#util_util_isprimitive_object
-[`util.isRegExp()`]: util.md#util_util_isregexp_object
-[`util.isString()`]: util.md#util_util_isstring_object
-[`util.isSymbol()`]: util.md#util_util_issymbol_object
-[`util.isUndefined()`]: util.md#util_util_isundefined_object
-[`util.log()`]: util.md#util_util_log_string
-[`util.types`]: util.md#util_util_types
+[`request.abort()`]: http.md#requestabort
+[`request.connection`]: http.md#requestconnection
+[`request.destroy()`]: http.md#requestdestroyerror
+[`request.socket`]: http.md#requestsocket
+[`require.extensions`]: modules.md#requireextensions
+[`require.main`]: modules.md#accessing-the-main-module
+[`response.connection`]: http.md#responseconnection
+[`response.end()`]: http.md#responseenddata-encoding-callback
+[`response.finished`]: http.md#responsefinished
+[`response.socket`]: http.md#responsesocket
+[`response.writableEnded`]: http.md#responsewritableended
+[`response.writableFinished`]: http.md#responsewritablefinished
+[`script.createCachedData()`]: vm.md#scriptcreatecacheddata
+[`setInterval()`]: timers.md#setintervalcallback-delay-args
+[`setTimeout()`]: timers.md#settimeoutcallback-delay-args
+[`socket.bufferSize`]: net.md#socketbuffersize
+[`timeout.ref()`]: timers.md#timeoutref
+[`timeout.refresh()`]: timers.md#timeoutrefresh
+[`timeout.unref()`]: timers.md#timeoutunref
+[`tls.CryptoStream`]: tls.md#class-tlscryptostream
+[`tls.SecureContext`]: tls.md#tlscreatesecurecontextoptions
+[`tls.SecurePair`]: tls.md#class-tlssecurepair
+[`tls.TLSSocket`]: tls.md#class-tlstlssocket
+[`tls.checkServerIdentity()`]: tls.md#tlscheckserveridentityhostname-cert
+[`tls.createSecureContext()`]: tls.md#tlscreatesecurecontextoptions
+[`url.format()`]: url.md#urlformaturlobject
+[`url.parse()`]: url.md#urlparseurlstring-parsequerystring-slashesdenotehost
+[`url.resolve()`]: url.md#urlresolvefrom-to
+[`util._extend()`]: util.md#util_extendtarget-source
+[`util.getSystemErrorName()`]: util.md#utilgetsystemerrornameerr
+[`util.inspect()`]: util.md#utilinspectobject-options
+[`util.inspect.custom`]: util.md#utilinspectcustom
+[`util.isArray()`]: util.md#utilisarrayobject
+[`util.isBoolean()`]: util.md#utilisbooleanobject
+[`util.isBuffer()`]: util.md#utilisbufferobject
+[`util.isDate()`]: util.md#utilisdateobject
+[`util.isError()`]: util.md#utiliserrorobject
+[`util.isFunction()`]: util.md#utilisfunctionobject
+[`util.isNull()`]: util.md#utilisnullobject
+[`util.isNullOrUndefined()`]: util.md#utilisnullorundefinedobject
+[`util.isNumber()`]: util.md#utilisnumberobject
+[`util.isObject()`]: util.md#utilisobjectobject
+[`util.isPrimitive()`]: util.md#utilisprimitiveobject
+[`util.isRegExp()`]: util.md#utilisregexpobject
+[`util.isString()`]: util.md#utilisstringobject
+[`util.isSymbol()`]: util.md#utilissymbolobject
+[`util.isUndefined()`]: util.md#utilisundefinedobject
+[`util.log()`]: util.md#utillogstring
+[`util.types`]: util.md#utiltypes
[`util`]: util.md
-[`worker.exitedAfterDisconnect`]: cluster.md#cluster_worker_exitedafterdisconnect
-[`worker.terminate()`]: worker_threads.md#worker_threads_worker_terminate
-[`writable.writableLength`]: stream.md#stream_writable_writablelength
-[`zlib.bytesWritten`]: zlib.md#zlib_zlib_byteswritten
-[alloc]: buffer.md#buffer_static_method_buffer_alloc_size_fill_encoding
-[alloc_unsafe_size]: buffer.md#buffer_static_method_buffer_allocunsafe_size
-[from_arraybuffer]: buffer.md#buffer_static_method_buffer_from_arraybuffer_byteoffset_length
-[from_string_encoding]: buffer.md#buffer_static_method_buffer_from_string_encoding
-[legacy `urlObject`]: url.md#url_legacy_urlobject
-[static methods of `crypto.Certificate()`]: crypto.md#crypto_class_certificate
-[subpath exports]: packages.md#packages_subpath_exports
-[subpath folder mappings]: packages.md#packages_subpath_folder_mappings
-[subpath imports]: packages.md#packages_subpath_imports
-[subpath patterns]: packages.md#packages_subpath_patterns
+[`worker.exitedAfterDisconnect`]: cluster.md#workerexitedafterdisconnect
+[`worker.terminate()`]: worker_threads.md#workerterminate
+[`writable.writableLength`]: stream.md#writablewritablelength
+[`zlib.bytesWritten`]: zlib.md#zlibbyteswritten
+[alloc]: buffer.md#static-method-bufferallocsize-fill-encoding
+[alloc_unsafe_size]: buffer.md#static-method-bufferallocunsafesize
+[from_arraybuffer]: buffer.md#static-method-bufferfromarraybuffer-byteoffset-length
+[from_string_encoding]: buffer.md#static-method-bufferfromstring-encoding
+[legacy `urlObject`]: url.md#legacy-urlobject
+[static methods of `crypto.Certificate()`]: crypto.md#class-certificate
+[subpath exports]: packages.md#subpath-exports
+[subpath folder mappings]: packages.md#subpath-folder-mappings
+[subpath imports]: packages.md#subpath-imports
+[subpath patterns]: packages.md#subpath-patterns
diff --git a/doc/api/dgram.md b/doc/api/dgram.md
index 365c30c9ae6..da267926f37 100644
--- a/doc/api/dgram.md
+++ b/doc/api/dgram.md
@@ -912,19 +912,19 @@ and `udp6` sockets). The bound address and port can be retrieved using
[IPv6 Zone Indices]: https://en.wikipedia.org/wiki/IPv6_address#Scoped_literal_IPv6_addresses
[RFC 4007]: https://tools.ietf.org/html/rfc4007
-[`'close'`]: #dgram_event_close
-[`ERR_SOCKET_BAD_PORT`]: errors.md#errors_err_socket_bad_port
-[`ERR_SOCKET_BUFFER_SIZE`]: errors.md#errors_err_socket_buffer_size
-[`ERR_SOCKET_DGRAM_IS_CONNECTED`]: errors.md#errors_err_socket_dgram_is_connected
-[`ERR_SOCKET_DGRAM_NOT_CONNECTED`]: errors.md#errors_err_socket_dgram_not_connected
-[`Error`]: errors.md#errors_class_error
-[`System Error`]: errors.md#errors_class_systemerror
-[`close()`]: #dgram_socket_close_callback
+[`'close'`]: #event-close
+[`ERR_SOCKET_BAD_PORT`]: errors.md#err_socket_bad_port
+[`ERR_SOCKET_BUFFER_SIZE`]: errors.md#err_socket_buffer_size
+[`ERR_SOCKET_DGRAM_IS_CONNECTED`]: errors.md#err_socket_dgram_is_connected
+[`ERR_SOCKET_DGRAM_NOT_CONNECTED`]: errors.md#err_socket_dgram_not_connected
+[`Error`]: errors.md#class-error
+[`System Error`]: errors.md#class-systemerror
+[`close()`]: #socketclosecallback
[`cluster`]: cluster.md
-[`connect()`]: #dgram_socket_connect_port_address_callback
-[`dgram.createSocket()`]: #dgram_dgram_createsocket_options_callback
-[`dns.lookup()`]: dns.md#dns_dns_lookup_hostname_options_callback
-[`socket.address().address`]: #dgram_socket_address
-[`socket.address().port`]: #dgram_socket_address
-[`socket.bind()`]: #dgram_socket_bind_port_address_callback
-[byte length]: buffer.md#buffer_static_method_buffer_bytelength_string_encoding
+[`connect()`]: #socketconnectport-address-callback
+[`dgram.createSocket()`]: #dgramcreatesocketoptions-callback
+[`dns.lookup()`]: dns.md#dnslookuphostname-options-callback
+[`socket.address().address`]: #socketaddress
+[`socket.address().port`]: #socketaddress
+[`socket.bind()`]: #socketbindport-address-callback
+[byte length]: buffer.md#static-method-bufferbytelengthstring-encoding
diff --git a/doc/api/diagnostics_channel.md b/doc/api/diagnostics_channel.md
index 8a591da61f4..15ee98fd217 100644
--- a/doc/api/diagnostics_channel.md
+++ b/doc/api/diagnostics_channel.md
@@ -257,6 +257,6 @@ channel.subscribe(onMessage);
channel.unsubscribe(onMessage);
```
-[`'uncaughtException'`]: process.md#process_event_uncaughtexception
-[`channel.subscribe(onMessage)`]: #diagnostics_channel_channel_subscribe_onmessage
-[`diagnostics_channel.channel(name)`]: #diagnostics_channel_diagnostics_channel_channel_name
+[`'uncaughtException'`]: process.md#event-uncaughtexception
+[`channel.subscribe(onMessage)`]: #channelsubscribeonmessage
+[`diagnostics_channel.channel(name)`]: #diagnostics_channelchannelname
diff --git a/doc/api/dns.md b/doc/api/dns.md
index fad19e245a5..af9bb60967e 100644
--- a/doc/api/dns.md
+++ b/doc/api/dns.md
@@ -330,7 +330,7 @@ records. The type and structure of individual results varies based on `rrtype`:
| `'TXT'` | text records | {string[]} | [`dns.resolveTxt()`][] |
On error, `err` is an [`Error`][] object, where `err.code` is one of the
-[DNS error codes](#dns_error_codes).
+[DNS error codes]().
## `dns.resolve4(hostname[, options], callback)`
<!-- YAML
@@ -909,7 +909,7 @@ based on `rrtype`:
| `'TXT'` | text records | {string[]} | [`dnsPromises.resolveTxt()`][] |
On error, the `Promise` is rejected with an [`Error`][] object, where `err.code`
-is one of the [DNS error codes](#dns_error_codes).
+is one of the [DNS error codes]().
### `dnsPromises.resolve4(hostname[, options])`
<!-- YAML
@@ -1162,7 +1162,7 @@ Performs a reverse DNS query that resolves an IPv4 or IPv6 address to an
array of host names.
On error, the `Promise` is rejected with an [`Error`][] object, where `err.code`
-is one of the [DNS error codes](#dns_error_codes).
+is one of the [DNS error codes]().
### `dnsPromises.setDefaultResultOrder(order)`
<!-- YAML
@@ -1285,52 +1285,52 @@ processing that happens on libuv's threadpool that [`dns.lookup()`][] can have.
They do not use the same set of configuration files than what [`dns.lookup()`][]
uses. For instance, _they do not use the configuration from `/etc/hosts`_.
-[DNS error codes]: #dns_error_codes
+[DNS error codes]: #error-codes
[Domain Name System (DNS)]: https://en.wikipedia.org/wiki/Domain_Name_System
-[Implementation considerations section]: #dns_implementation_considerations
+[Implementation considerations section]: #implementation-considerations
[RFC 5952]: https://tools.ietf.org/html/rfc5952#section-6
[RFC 8482]: https://tools.ietf.org/html/rfc8482
-[`--dns-result-order`]: cli.md#cli_dns_result_order_order
-[`Error`]: errors.md#errors_class_error
-[`UV_THREADPOOL_SIZE`]: cli.md#cli_uv_threadpool_size_size
-[`dgram.createSocket()`]: dgram.md#dgram_dgram_createsocket_options_callback
-[`dns.getServers()`]: #dns_dns_getservers
-[`dns.lookup()`]: #dns_dns_lookup_hostname_options_callback
-[`dns.resolve()`]: #dns_dns_resolve_hostname_rrtype_callback
-[`dns.resolve4()`]: #dns_dns_resolve4_hostname_options_callback
-[`dns.resolve6()`]: #dns_dns_resolve6_hostname_options_callback
-[`dns.resolveAny()`]: #dns_dns_resolveany_hostname_callback
-[`dns.resolveCaa()`]: #dns_dns_resolvecaa_hostname_callback
-[`dns.resolveCname()`]: #dns_dns_resolvecname_hostname_callback
-[`dns.resolveMx()`]: #dns_dns_resolvemx_hostname_callback
-[`dns.resolveNaptr()`]: #dns_dns_resolvenaptr_hostname_callback
-[`dns.resolveNs()`]: #dns_dns_resolvens_hostname_callback
-[`dns.resolvePtr()`]: #dns_dns_resolveptr_hostname_callback
-[`dns.resolveSoa()`]: #dns_dns_resolvesoa_hostname_callback
-[`dns.resolveSrv()`]: #dns_dns_resolvesrv_hostname_callback
-[`dns.resolveTxt()`]: #dns_dns_resolvetxt_hostname_callback
-[`dns.reverse()`]: #dns_dns_reverse_ip_callback
-[`dns.setDefaultResultOrder()`]: #dns_dns_setdefaultresultorder_order
-[`dns.setServers()`]: #dns_dns_setservers_servers
-[`dnsPromises.getServers()`]: #dns_dnspromises_getservers
-[`dnsPromises.lookup()`]: #dns_dnspromises_lookup_hostname_options
-[`dnsPromises.resolve()`]: #dns_dnspromises_resolve_hostname_rrtype
-[`dnsPromises.resolve4()`]: #dns_dnspromises_resolve4_hostname_options
-[`dnsPromises.resolve6()`]: #dns_dnspromises_resolve6_hostname_options
-[`dnsPromises.resolveAny()`]: #dns_dnspromises_resolveany_hostname
-[`dnsPromises.resolveCaa()`]: #dns_dnspromises_resolvecaa_hostname
-[`dnsPromises.resolveCname()`]: #dns_dnspromises_resolvecname_hostname
-[`dnsPromises.resolveMx()`]: #dns_dnspromises_resolvemx_hostname
-[`dnsPromises.resolveNaptr()`]: #dns_dnspromises_resolvenaptr_hostname
-[`dnsPromises.resolveNs()`]: #dns_dnspromises_resolvens_hostname
-[`dnsPromises.resolvePtr()`]: #dns_dnspromises_resolveptr_hostname
-[`dnsPromises.resolveSoa()`]: #dns_dnspromises_resolvesoa_hostname
-[`dnsPromises.resolveSrv()`]: #dns_dnspromises_resolvesrv_hostname
-[`dnsPromises.resolveTxt()`]: #dns_dnspromises_resolvetxt_hostname
-[`dnsPromises.reverse()`]: #dns_dnspromises_reverse_ip
-[`dnsPromises.setDefaultResultOrder()`]: #dns_dnspromises_setdefaultresultorder_order
-[`dnsPromises.setServers()`]: #dns_dnspromises_setservers_servers
-[`socket.connect()`]: net.md#net_socket_connect_options_connectlistener
-[`util.promisify()`]: util.md#util_util_promisify_original
-[supported `getaddrinfo` flags]: #dns_supported_getaddrinfo_flags
+[`--dns-result-order`]: cli.md#--dns-result-orderorder
+[`Error`]: errors.md#class-error
+[`UV_THREADPOOL_SIZE`]: cli.md#uv_threadpool_sizesize
+[`dgram.createSocket()`]: dgram.md#dgramcreatesocketoptions-callback
+[`dns.getServers()`]: #dnsgetservers
+[`dns.lookup()`]: #dnslookuphostname-options-callback
+[`dns.resolve()`]: #dnsresolvehostname-rrtype-callback
+[`dns.resolve4()`]: #dnsresolve4hostname-options-callback
+[`dns.resolve6()`]: #dnsresolve6hostname-options-callback
+[`dns.resolveAny()`]: #dnsresolveanyhostname-callback
+[`dns.resolveCaa()`]: #dnsresolvecaahostname-callback
+[`dns.resolveCname()`]: #dnsresolvecnamehostname-callback
+[`dns.resolveMx()`]: #dnsresolvemxhostname-callback
+[`dns.resolveNaptr()`]: #dnsresolvenaptrhostname-callback
+[`dns.resolveNs()`]: #dnsresolvenshostname-callback
+[`dns.resolvePtr()`]: #dnsresolveptrhostname-callback
+[`dns.resolveSoa()`]: #dnsresolvesoahostname-callback
+[`dns.resolveSrv()`]: #dnsresolvesrvhostname-callback
+[`dns.resolveTxt()`]: #dnsresolvetxthostname-callback
+[`dns.reverse()`]: #dnsreverseip-callback
+[`dns.setDefaultResultOrder()`]: #dnssetdefaultresultorderorder
+[`dns.setServers()`]: #dnssetserversservers
+[`dnsPromises.getServers()`]: #dnspromisesgetservers
+[`dnsPromises.lookup()`]: #dnspromiseslookuphostname-options
+[`dnsPromises.resolve()`]: #dnspromisesresolvehostname-rrtype
+[`dnsPromises.resolve4()`]: #dnspromisesresolve4hostname-options
+[`dnsPromises.resolve6()`]: #dnspromisesresolve6hostname-options
+[`dnsPromises.resolveAny()`]: #dnspromisesresolveanyhostname
+[`dnsPromises.resolveCaa()`]: #dnspromisesresolvecaahostname
+[`dnsPromises.resolveCname()`]: #dnspromisesresolvecnamehostname
+[`dnsPromises.resolveMx()`]: #dnspromisesresolvemxhostname
+[`dnsPromises.resolveNaptr()`]: #dnspromisesresolvenaptrhostname
+[`dnsPromises.resolveNs()`]: #dnspromisesresolvenshostname
+[`dnsPromises.resolvePtr()`]: #dnspromisesresolveptrhostname
+[`dnsPromises.resolveSoa()`]: #dnspromisesresolvesoahostname
+[`dnsPromises.resolveSrv()`]: #dnspromisesresolvesrvhostname
+[`dnsPromises.resolveTxt()`]: #dnspromisesresolvetxthostname
+[`dnsPromises.reverse()`]: #dnspromisesreverseip
+[`dnsPromises.setDefaultResultOrder()`]: #dnspromisessetdefaultresultorderorder
+[`dnsPromises.setServers()`]: #dnspromisessetserversservers
+[`socket.connect()`]: net.md#socketconnectoptions-connectlistener
+[`util.promisify()`]: util.md#utilpromisifyoriginal
+[supported `getaddrinfo` flags]: #supported-getaddrinfo-flags
[worker threads]: worker_threads.md
diff --git a/doc/api/documentation.md b/doc/api/documentation.md
index 6277e3a869b..a7747d91c16 100644
--- a/doc/api/documentation.md
+++ b/doc/api/documentation.md
@@ -73,4 +73,4 @@ be unavoidable.
[V8 JavaScript engine]: https://v8.dev/
[the contributing guide]: https://github.com/nodejs/node/blob/HEAD/CONTRIBUTING.md
[the issue tracker]: https://github.com/nodejs/node/issues/new
-[warning]: process.md#process_event_warning
+[warning]: process.md#event-warning
diff --git a/doc/api/domain.md b/doc/api/domain.md
index fd75be9cd49..02833e36e7b 100644
--- a/doc/api/domain.md
+++ b/doc/api/domain.md
@@ -479,10 +479,10 @@ Domains will not interfere with the error handling mechanisms for
promises. In other words, no `'error'` event will be emitted for unhandled
`Promise` rejections.
-[`Error`]: errors.md#errors_class_error
-[`domain.add(emitter)`]: #domain_domain_add_emitter
-[`domain.bind(callback)`]: #domain_domain_bind_callback
-[`domain.exit()`]: #domain_domain_exit
-[`setInterval()`]: timers.md#timers_setinterval_callback_delay_args
-[`setTimeout()`]: timers.md#timers_settimeout_callback_delay_args
+[`Error`]: errors.md#class-error
+[`domain.add(emitter)`]: #domainaddemitter
+[`domain.bind(callback)`]: #domainbindcallback
+[`domain.exit()`]: #domainexit
+[`setInterval()`]: timers.md#setintervalcallback-delay-args
+[`setTimeout()`]: timers.md#settimeoutcallback-delay-args
[`throw`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/throw
diff --git a/doc/api/embedding.md b/doc/api/embedding.md
index 3c7cdd12f7c..b386772eb6c 100644
--- a/doc/api/embedding.md
+++ b/doc/api/embedding.md
@@ -159,7 +159,7 @@ int RunNodeInstance(MultiIsolatePlatform* platform,
```
[CLI options]: cli.md
-[`process.memoryUsage()`]: process.md#process_process_memoryusage
+[`process.memoryUsage()`]: process.md#processmemoryusage
[deprecation policy]: deprecations.md
[embedtest.cc]: https://github.com/nodejs/node/blob/HEAD/test/embedding/embedtest.cc
[src/node.h]: https://github.com/nodejs/node/blob/HEAD/src/node.h
diff --git a/doc/api/errors.md b/doc/api/errors.md
index a7674c55665..6ad85a2d150 100644
--- a/doc/api/errors.md
+++ b/doc/api/errors.md
@@ -2865,85 +2865,85 @@ removed: v15.0.0
The native call from `process.cpuUsage` could not be processed.
[ES Module]: esm.md
-[ICU]: intl.md#intl_internationalization_support
+[ICU]: intl.md#internationalization-support
[JSON Web Key Elliptic Curve Registry]: https://www.iana.org/assignments/jose/jose.xhtml#web-key-elliptic-curve
[JSON Web Key Types Registry]: https://www.iana.org/assignments/jose/jose.xhtml#web-key-types
[Node.js error codes]: #nodejs-error-codes
[RFC 7230 Section 3]: https://tools.ietf.org/html/rfc7230#section-3
[Subresource Integrity specification]: https://www.w3.org/TR/SRI/#the-integrity-attribute
[V8's stack trace API]: https://github.com/v8/v8/wiki/Stack-Trace-API
-[WHATWG Supported Encodings]: util.md#util_whatwg_supported_encodings
-[WHATWG URL API]: url.md#url_the_whatwg_url_api
-[`"exports"`]: packages.md#packages_exports
-[`"imports"`]: packages.md#packages_imports
-[`'uncaughtException'`]: process.md#process_event_uncaughtexception
-[`--disable-proto=throw`]: cli.md#cli_disable_proto_mode
-[`--force-fips`]: cli.md#cli_force_fips
-[`Class: assert.AssertionError`]: assert.md#assert_class_assert_assertionerror
-[`ERR_INVALID_ARG_TYPE`]: #ERR_INVALID_ARG_TYPE
-[`ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST`]: #ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST
-[`ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST`]: #ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST
-[`EventEmitter`]: events.md#events_class_eventemitter
-[`MessagePort`]: worker_threads.md#worker_threads_class_messageport
+[WHATWG Supported Encodings]: util.md#whatwg-supported-encodings
+[WHATWG URL API]: url.md#the-whatwg-url-api
+[`"exports"`]: packages.md#exports
+[`"imports"`]: packages.md#imports
+[`'uncaughtException'`]: process.md#event-uncaughtexception
+[`--disable-proto=throw`]: cli.md#--disable-protomode
+[`--force-fips`]: cli.md#--force-fips
+[`Class: assert.AssertionError`]: assert.md#class-assertassertionerror
+[`ERR_INVALID_ARG_TYPE`]: #err_invalid_arg_type
+[`ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST`]: #err_missing_message_port_in_transfer_list
+[`ERR_MISSING_TRANSFERABLE_IN_TRANSFER_LIST`]: #err_missing_transferable_in_transfer_list
+[`EventEmitter`]: events.md#class-eventemitter
+[`MessagePort`]: worker_threads.md#class-messageport
[`Object.getPrototypeOf`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getPrototypeOf
[`Object.setPrototypeOf`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/setPrototypeOf
[`REPL`]: repl.md
-[`Writable`]: stream.md#stream_class_stream_writable
+[`Writable`]: stream.md#class-streamwritable
[`child_process`]: child_process.md
-[`cipher.getAuthTag()`]: crypto.md#crypto_cipher_getauthtag
-[`crypto.getDiffieHellman()`]: crypto.md#crypto_crypto_getdiffiehellman_groupname
-[`crypto.scrypt()`]: crypto.md#crypto_crypto_scrypt_password_salt_keylen_options_callback
-[`crypto.scryptSync()`]: crypto.md#crypto_crypto_scryptsync_password_salt_keylen_options
-[`crypto.timingSafeEqual()`]: crypto.md#crypto_crypto_timingsafeequal_a_b
-[`dgram.connect()`]: dgram.md#dgram_socket_connect_port_address_callback
-[`dgram.createSocket()`]: dgram.md#dgram_dgram_createsocket_options_callback
-[`dgram.disconnect()`]: dgram.md#dgram_socket_disconnect
-[`dgram.remoteAddress()`]: dgram.md#dgram_socket_remoteaddress
+[`cipher.getAuthTag()`]: crypto.md#ciphergetauthtag
+[`crypto.getDiffieHellman()`]: crypto.md#cryptogetdiffiehellmangroupname
+[`crypto.scrypt()`]: crypto.md#cryptoscryptpassword-salt-keylen-options-callback
+[`crypto.scryptSync()`]: crypto.md#cryptoscryptsyncpassword-salt-keylen-options
+[`crypto.timingSafeEqual()`]: crypto.md#cryptotimingsafeequala-b
+[`dgram.connect()`]: dgram.md#socketconnectport-address-callback
+[`dgram.createSocket()`]: dgram.md#dgramcreatesocketoptions-callback
+[`dgram.disconnect()`]: dgram.md#socketdisconnect
+[`dgram.remoteAddress()`]: dgram.md#socketremoteaddress
[`errno`(3) man page]: https://man7.org/linux/man-pages/man3/errno.3.html
-[`fs.Dir`]: fs.md#fs_class_fs_dir
-[`fs.cp()`]: fs.md#fs_fs_cp_src_dest_options_callback
-[`fs.readFileSync`]: fs.md#fs_fs_readfilesync_path_options
-[`fs.readdir`]: fs.md#fs_fs_readdir_path_options_callback
-[`fs.symlink()`]: fs.md#fs_fs_symlink_target_path_type_callback
-[`fs.symlinkSync()`]: fs.md#fs_fs_symlinksync_target_path_type
-[`fs.unlink`]: fs.md#fs_fs_unlink_path_callback
+[`fs.Dir`]: fs.md#class-fsdir
+[`fs.cp()`]: fs.md#fscpsrc-dest-options-callback
+[`fs.readFileSync`]: fs.md#fsreadfilesyncpath-options
+[`fs.readdir`]: fs.md#fsreaddirpath-options-callback
+[`fs.symlink()`]: fs.md#fssymlinktarget-path-type-callback
+[`fs.symlinkSync()`]: fs.md#fssymlinksynctarget-path-type
+[`fs.unlink`]: fs.md#fsunlinkpath-callback
[`fs`]: fs.md
-[`hash.digest()`]: crypto.md#crypto_hash_digest_encoding
-[`hash.update()`]: crypto.md#crypto_hash_update_data_inputencoding
+[`hash.digest()`]: crypto.md#hashdigestencoding
+[`hash.update()`]: crypto.md#hashupdatedata-inputencoding
[`http`]: http.md
[`https`]: https.md
[`libuv Error handling`]: https://docs.libuv.org/en/v1.x/errors.html
[`net`]: net.md
-[`new URL(input)`]: url.md#url_new_url_input_base
-[`new URLSearchParams(iterable)`]: url.md#url_new_urlsearchparams_iterable
-[`package.json`]: packages.md#packages_node_js_package_json_field_definitions
-[`postMessage()`]: worker_threads.md#worker_threads_port_postmessage_value_transferlist
-[`process.on('exit')`]: process.md#process_event_exit
-[`process.send()`]: process.md#process_process_send_message_sendhandle_options_callback
-[`process.setUncaughtExceptionCaptureCallback()`]: process.md#process_process_setuncaughtexceptioncapturecallback_fn
-[`readable._read()`]: stream.md#stream_readable_read_size_1
-[`require('crypto').setEngine()`]: crypto.md#crypto_crypto_setengine_engine_flags
-[`require()`]: modules.md#modules_require_id
-[`server.close()`]: net.md#net_server_close_callback
-[`server.listen()`]: net.md#net_server_listen
-[`sign.sign()`]: crypto.md#crypto_sign_sign_privatekey_outputencoding
-[`stream.pipe()`]: stream.md#stream_readable_pipe_destination_options
-[`stream.push()`]: stream.md#stream_readable_push_chunk_encoding
-[`stream.unshift()`]: stream.md#stream_readable_unshift_chunk_encoding
-[`stream.write()`]: stream.md#stream_writable_write_chunk_encoding_callback
-[`subprocess.kill()`]: child_process.md#child_process_subprocess_kill_signal
-[`subprocess.send()`]: child_process.md#child_process_subprocess_send_message_sendhandle_options_callback
-[`url.parse()`]: url.md#url_url_parse_urlstring_parsequerystring_slashesdenotehost
-[`util.getSystemErrorName(error.errno)`]: util.md#util_util_getsystemerrorname_err
+[`new URL(input)`]: url.md#new-urlinput-base
+[`new URLSearchParams(iterable)`]: url.md#new-urlsearchparamsiterable
+[`package.json`]: packages.md#nodejs-packagejson-field-definitions
+[`postMessage()`]: worker_threads.md#portpostmessagevalue-transferlist
+[`process.on('exit')`]: process.md#event-exit
+[`process.send()`]: process.md#processsendmessage-sendhandle-options-callback
+[`process.setUncaughtExceptionCaptureCallback()`]: process.md#processsetuncaughtexceptioncapturecallbackfn
+[`readable._read()`]: stream.md#readable_readsize
+[`require('crypto').setEngine()`]: crypto.md#cryptosetengineengine-flags
+[`require()`]: modules.md#requireid
+[`server.close()`]: net.md#serverclosecallback
+[`server.listen()`]: net.md#serverlisten
+[`sign.sign()`]: crypto.md#signsignprivatekey-outputencoding
+[`stream.pipe()`]: stream.md#readablepipedestination-options
+[`stream.push()`]: stream.md#readablepushchunk-encoding
+[`stream.unshift()`]: stream.md#readableunshiftchunk-encoding
+[`stream.write()`]: stream.md#writablewritechunk-encoding-callback
+[`subprocess.kill()`]: child_process.md#subprocesskillsignal
+[`subprocess.send()`]: child_process.md#subprocesssendmessage-sendhandle-options-callback
+[`url.parse()`]: url.md#urlparseurlstring-parsequerystring-slashesdenotehost
+[`util.getSystemErrorName(error.errno)`]: util.md#utilgetsystemerrornameerr
[`zlib`]: zlib.md
-[crypto digest algorithm]: crypto.md#crypto_crypto_gethashes
+[crypto digest algorithm]: crypto.md#cryptogethashes
[debugger]: debugger.md
-[define a custom subpath]: packages.md#packages_subpath_exports
+[define a custom subpath]: packages.md#subpath-exports
[domains]: domain.md
-[event emitter-based]: events.md#events_class_eventemitter
+[event emitter-based]: events.md#class-eventemitter
[file descriptors]: https://en.wikipedia.org/wiki/File_descriptor
[policy]: policy.md
-[self-reference a package using its name]: packages.md#packages_self_referencing_a_package_using_its_name
+[self-reference a package using its name]: packages.md#self-referencing-a-package-using-its-name
[stream-based]: stream.md
[syscall]: https://man7.org/linux/man-pages/man2/syscalls.2.html
[try-catch]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch
diff --git a/doc/api/esm.md b/doc/api/esm.md
index dc93e659b01..c5e19b91b20 100644
--- a/doc/api/esm.md
+++ b/doc/api/esm.md
@@ -85,7 +85,7 @@ Node.js treats JavaScript code as CommonJS modules by default.
Authors can tell Node.js to treat JavaScript code as ECMAScript modules
via the `.mjs` file extension, the `package.json` [`"type"`][] field, or the
`--input-type` flag. See
-[Modules: Packages](packages.md#packages_determining_module_system) for more
+[Modules: Packages](packages.md#determining-module-system) for more
details.
<!-- Anchors to make sure old links find a target -->
@@ -329,7 +329,7 @@ An `import` statement can reference an ES module or a CommonJS module.
`import` statements are permitted only in ES modules, but dynamic [`import()`][]
expressions are supported in CommonJS for loading ES modules.
-When importing [CommonJS modules](#esm_commonjs_namespaces), the
+When importing [CommonJS modules](#commonjs-namespaces), the
`module.exports` object is provided as the default export. Named exports may be
available, provided by static analysis as a convenience for better ecosystem
compatibility.
@@ -1348,37 +1348,37 @@ success!
<!-- Note: The cjs-module-lexer link should be kept in-sync with the deps version -->
[6.1.7 Array Index]: https://tc39.es/ecma262/#integer-index
[CommonJS]: modules.md
-[Conditional exports]: packages.md#packages_conditional_exports
-[Core modules]: modules.md#modules_core_modules
+[Conditional exports]: packages.md#conditional-exports
+[Core modules]: modules.md#core-modules
[Dynamic `import()`]: https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import#Dynamic_Imports
[ECMAScript Top-Level `await` proposal]: https://github.com/tc39/proposal-top-level-await/
[ES Module Integration Proposal for Web Assembly]: https://github.com/webassembly/esm-integration
-[Node.js Module Resolution Algorithm]: #esm_resolver_algorithm_specification
-[Terminology]: #esm_terminology
+[Node.js Module Resolution Algorithm]: #resolver-algorithm-specification
+[Terminology]: #terminology
[URL]: https://url.spec.whatwg.org/
[WHATWG JSON modules specification]: https://html.spec.whatwg.org/#creating-a-json-module-script
-[`"exports"`]: packages.md#packages_exports
-[`"type"`]: packages.md#packages_type
+[`"exports"`]: packages.md#exports
+[`"type"`]: packages.md#type
[`ArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
[`SharedArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
[`TypedArray`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
[`Uint8Array`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array
[`data:` URLs]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
[`export`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export
-[`import()`]: #esm_import_expressions
-[`import.meta.resolve`]: #esm_import_meta_resolve_specifier_parent
-[`import.meta.url`]: #esm_import_meta_url
+[`import()`]: #import-expressions
+[`import.meta.resolve`]: #importmetaresolvespecifier-parent
+[`import.meta.url`]: #importmetaurl
[`import`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
-[`module.createRequire()`]: module.md#module_module_createrequire_filename
-[`module.syncBuiltinESMExports()`]: module.md#module_module_syncbuiltinesmexports
-[`package.json`]: packages.md#packages_node_js_package_json_field_definitions
-[`process.dlopen`]: process.md#process_process_dlopen_module_filename_flags
+[`module.createRequire()`]: module.md#modulecreaterequirefilename
+[`module.syncBuiltinESMExports()`]: module.md#modulesyncbuiltinesmexports
+[`package.json`]: packages.md#nodejs-packagejson-field-definitions
+[`process.dlopen`]: process.md#processdlopenmodule-filename-flags
[`string`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
-[`transformSource` hook]: #esm_transformsource_source_context_defaulttransformsource
-[`util.TextDecoder`]: util.md#util_class_util_textdecoder
+[`transformSource` hook]: #transformsourcesource-context-defaulttransformsource
+[`util.TextDecoder`]: util.md#class-utiltextdecoder
[cjs-module-lexer]: https://github.com/guybedford/cjs-module-lexer/tree/1.2.2
-[custom https loader]: #esm_https_loader
+[custom https loader]: #https-loader
[special scheme]: https://url.spec.whatwg.org/#special-scheme
[the official standard format]: https://tc39.github.io/ecma262/#sec-modules
-[transpiler loader example]: #esm_transpiler_loader
-[url.pathToFileURL]: url.md#url_url_pathtofileurl_path
+[transpiler loader example]: #transpiler-loader
+[url.pathToFileURL]: url.md#urlpathtofileurlpath
diff --git a/doc/api/events.md b/doc/api/events.md
index 4076991368d..5d34a311cf5 100644
--- a/doc/api/events.md
+++ b/doc/api/events.md
@@ -1625,20 +1625,20 @@ and `removeEventListener()` is that `removeListener()` will return a reference
to the `EventTarget`.
[WHATWG-EventTarget]: https://dom.spec.whatwg.org/#interface-eventtarget
-[`--trace-warnings`]: cli.md#cli_trace_warnings
+[`--trace-warnings`]: cli.md#--trace-warnings
[`EventTarget` Web API]: https://dom.spec.whatwg.org/#eventtarget
-[`EventTarget` error handling]: #events_eventtarget_error_handling
+[`EventTarget` error handling]: #eventtarget-error-handling
[`Event` Web API]: https://dom.spec.whatwg.org/#event
[`domain`]: domain.md
-[`emitter.listenerCount()`]: #events_emitter_listenercount_eventname
-[`emitter.removeListener()`]: #events_emitter_removelistener_eventname_listener
-[`emitter.setMaxListeners(n)`]: #events_emitter_setmaxlisteners_n
-[`events.defaultMaxListeners`]: #events_events_defaultmaxlisteners
-[`fs.ReadStream`]: fs.md#fs_class_fs_readstream
-[`net.Server`]: net.md#net_class_net_server
-[`process.on('warning')`]: process.md#process_event_warning
-[capturerejections]: #events_capture_rejections_of_promises
-[error]: #events_error_events
-[rejection]: #events_emitter_symbol_for_nodejs_rejection_err_eventname_args
-[rejectionsymbol]: #events_events_capturerejectionsymbol
+[`emitter.listenerCount()`]: #emitterlistenercounteventname
+[`emitter.removeListener()`]: #emitterremovelistenereventname-listener
+[`emitter.setMaxListeners(n)`]: #emittersetmaxlistenersn
+[`events.defaultMaxListeners`]: #eventsdefaultmaxlisteners
+[`fs.ReadStream`]: fs.md#class-fsreadstream
+[`net.Server`]: net.md#class-netserver
+[`process.on('warning')`]: process.md#event-warning
+[capturerejections]: #capture-rejections-of-promises
+[error]: #error-events
+[rejection]: #emittersymbolfornodejsrejectionerr-eventname-args
+[rejectionsymbol]: #eventscapturerejectionsymbol
[stream]: stream.md
diff --git a/doc/api/fs.md b/doc/api/fs.md
index cd47b687beb..687ece15f01 100644
--- a/doc/api/fs.md
+++ b/doc/api/fs.md
@@ -6886,68 +6886,68 @@ A call to `fs.ftruncate()` or `filehandle.truncate()` can be used to reset
the file contents.
[#25741]: https://github.com/nodejs/node/issues/25741
-[Common System Errors]: errors.md#errors_common_system_errors
-[File access constants]: #fs_file_access_constants
+[Common System Errors]: errors.md#common-system-errors
+[File access constants]: #file-access-constants
[MDN-Date]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
[MDN-Number]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures#Number_type
[MSDN-Rel-Path]: https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#fully-qualified-vs-relative-paths
[MSDN-Using-Streams]: https://docs.microsoft.com/en-us/windows/desktop/FileIO/using-streams
[Naming Files, Paths, and Namespaces]: https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file
-[Readable Stream]: stream.md#stream_class_stream_readable
-[Writable Stream]: stream.md#stream_class_stream_writable
+[Readable Stream]: stream.md#class-streamreadable
+[Writable Stream]: stream.md#class-streamwritable
[`AHAFS`]: https://developer.ibm.com/articles/au-aix_event_infrastructure/
-[`Buffer.byteLength`]: buffer.md#buffer_static_method_buffer_bytelength_string_encoding
+[`Buffer.byteLength`]: buffer.md#static-method-bufferbytelengthstring-encoding
[`FSEvents`]: https://developer.apple.com/documentation/coreservices/file_system_events
[`Number.MAX_SAFE_INTEGER`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER
[`ReadDirectoryChangesW`]: https://docs.microsoft.com/en-us/windows/desktop/api/winbase/nf-winbase-readdirectorychangesw
-[`UV_THREADPOOL_SIZE`]: cli.md#cli_uv_threadpool_size_size
+[`UV_THREADPOOL_SIZE`]: cli.md#uv_threadpool_sizesize
[`event ports`]: https://illumos.org/man/port_create
-[`filehandle.writeFile()`]: #fs_filehandle_writefile_data_options
-[`fs.access()`]: #fs_fs_access_path_mode_callback
-[`fs.chmod()`]: #fs_fs_chmod_path_mode_callback
-[`fs.chown()`]: #fs_fs_chown_path_uid_gid_callback
-[`fs.copyFile()`]: #fs_fs_copyfile_src_dest_mode_callback
-[`fs.createReadStream()`]: #fs_fs_createreadstream_path_options
-[`fs.createWriteStream()`]: #fs_fs_createwritestream_path_options
-[`fs.exists()`]: #fs_fs_exists_path_callback
-[`fs.fstat()`]: #fs_fs_fstat_fd_options_callback
-[`fs.ftruncate()`]: #fs_fs_ftruncate_fd_len_callback
-[`fs.futimes()`]: #fs_fs_futimes_fd_atime_mtime_callback
-[`fs.lstat()`]: #fs_fs_lstat_path_options_callback
-[`fs.lutimes()`]: #fs_fs_lutimes_path_atime_mtime_callback
-[`fs.mkdir()`]: #fs_fs_mkdir_path_options_callback
-[`fs.mkdtemp()`]: #fs_fs_mkdtemp_prefix_options_callback
-[`fs.open()`]: #fs_fs_open_path_flags_mode_callback
-[`fs.opendir()`]: #fs_fs_opendir_path_options_callback
-[`fs.opendirSync()`]: #fs_fs_opendirsync_path_options
-[`fs.read()`]: #fs_fs_read_fd_buffer_offset_length_position_callback
-[`fs.readFile()`]: #fs_fs_readfile_path_options_callback
-[`fs.readFileSync()`]: #fs_fs_readfilesync_path_options
-[`fs.readdir()`]: #fs_fs_readdir_path_options_callback
-[`fs.readdirSync()`]: #fs_fs_readdirsync_path_options
-[`fs.readv()`]: #fs_fs_readv_fd_buffers_position_callback
-[`fs.realpath()`]: #fs_fs_realpath_path_options_callback
-[`fs.rm()`]: #fs_fs_rm_path_options_callback
-[`fs.rmSync()`]: #fs_fs_rmsync_path_options
-[`fs.rmdir()`]: #fs_fs_rmdir_path_options_callback
-[`fs.stat()`]: #fs_fs_stat_path_options_callback
-[`fs.symlink()`]: #fs_fs_symlink_target_path_type_callback
-[`fs.utimes()`]: #fs_fs_utimes_path_atime_mtime_callback
-[`fs.watch()`]: #fs_fs_watch_filename_options_listener
-[`fs.write(fd, buffer...)`]: #fs_fs_write_fd_buffer_offset_length_position_callback
-[`fs.write(fd, string...)`]: #fs_fs_write_fd_string_position_encoding_callback
-[`fs.writeFile()`]: #fs_fs_writefile_file_data_options_callback
-[`fs.writev()`]: #fs_fs_writev_fd_buffers_position_callback
-[`fsPromises.open()`]: #fs_fspromises_open_path_flags_mode
-[`fsPromises.opendir()`]: #fs_fspromises_opendir_path_options
-[`fsPromises.rm()`]: #fs_fspromises_rm_path_options
-[`fsPromises.stat()`]: #fs_fspromises_stat_path_options
-[`fsPromises.utimes()`]: #fs_fspromises_utimes_path_atime_mtime
+[`filehandle.writeFile()`]: #filehandlewritefiledata-options
+[`fs.access()`]: #fsaccesspath-mode-callback
+[`fs.chmod()`]: #fschmodpath-mode-callback
+[`fs.chown()`]: #fschownpath-uid-gid-callback
+[`fs.copyFile()`]: #fscopyfilesrc-dest-mode-callback
+[`fs.createReadStream()`]: #fscreatereadstreampath-options
+[`fs.createWriteStream()`]: #fscreatewritestreampath-options
+[`fs.exists()`]: #fsexistspath-callback
+[`fs.fstat()`]: #fsfstatfd-options-callback
+[`fs.ftruncate()`]: #fsftruncatefd-len-callback
+[`fs.futimes()`]: #fsfutimesfd-atime-mtime-callback
+[`fs.lstat()`]: #fslstatpath-options-callback
+[`fs.lutimes()`]: #fslutimespath-atime-mtime-callback
+[`fs.mkdir()`]: #fsmkdirpath-options-callback
+[`fs.mkdtemp()`]: #fsmkdtempprefix-options-callback
+[`fs.open()`]: #fsopenpath-flags-mode-callback
+[`fs.opendir()`]: #fsopendirpath-options-callback
+[`fs.opendirSync()`]: #fsopendirsyncpath-options
+[`fs.read()`]: #fsreadfd-buffer-offset-length-position-callback
+[`fs.readFile()`]: #fsreadfilepath-options-callback
+[`fs.readFileSync()`]: #fsreadfilesyncpath-options
+[`fs.readdir()`]: #fsreaddirpath-options-callback
+[`fs.readdirSync()`]: #fsreaddirsyncpath-options
+[`fs.readv()`]: #fsreadvfd-buffers-position-callback
+[`fs.realpath()`]: #fsrealpathpath-options-callback
+[`fs.rm()`]: #fsrmpath-options-callback
+[`fs.rmSync()`]: #fsrmsyncpath-options
+[`fs.rmdir()`]: #fsrmdirpath-options-callback
+[`fs.stat()`]: #fsstatpath-options-callback
+[`fs.symlink()`]: #fssymlinktarget-path-type-callback
+[`fs.utimes()`]: #fsutimespath-atime-mtime-callback
+[`fs.watch()`]: #fswatchfilename-options-listener
+[`fs.write(fd, buffer...)`]: #fswritefd-buffer-offset-length-position-callback
+[`fs.write(fd, string...)`]: #fswritefd-string-position-encoding-callback
+[`fs.writeFile()`]: #fswritefilefile-data-options-callback
+[`fs.writev()`]: #fswritevfd-buffers-position-callback
+[`fsPromises.open()`]: #fspromisesopenpath-flags-mode
+[`fsPromises.opendir()`]: #fspromisesopendirpath-options
+[`fsPromises.rm()`]: #fspromisesrmpath-options
+[`fsPromises.stat()`]: #fspromisesstatpath-options
+[`fsPromises.utimes()`]: #fspromisesutimespath-atime-mtime
[`inotify(7)`]: https://man7.org/linux/man-pages/man7/inotify.7.html
[`kqueue(2)`]: https://www.freebsd.org/cgi/man.cgi?query=kqueue&sektion=2
-[`util.promisify()`]: util.md#util_util_promisify_original
+[`util.promisify()`]: util.md#utilpromisifyoriginal
[bigints]: https://tc39.github.io/proposal-bigint
-[caveats]: #fs_caveats
+[caveats]: #caveats
[chcp]: https://ss64.com/nt/chcp.html
[inode]: https://en.wikipedia.org/wiki/Inode
-[support of file system `flags`]: #fs_file_system_flags
+[support of file system `flags`]: #file-system-flags
diff --git a/doc/api/globals.md b/doc/api/globals.md
index a6ae338e7b5..79f0932b181 100644
--- a/doc/api/globals.md
+++ b/doc/api/globals.md
@@ -440,31 +440,31 @@ The object that acts as the namespace for all W3C
[`AbortController`]: https://developer.mozilla.org/en-US/docs/Web/API/AbortController
[`DOMException`]: https://developer.mozilla.org/en-US/docs/Web/API/DOMException
-[`EventTarget` and `Event` API]: events.md#event-target-and-event-api
-[`MessageChannel`]: worker_threads.md#worker_threads_class_messagechannel
+[`EventTarget` and `Event` API]: events.md#eventtarget-and-event-api
+[`MessageChannel`]: worker_threads.md#class-messagechannel
[`MessageEvent`]: https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent/MessageEvent
-[`MessagePort`]: worker_threads.md#worker_threads_class_messageport
-[`TextDecoder`]: util.md#util_class_util_textdecoder
-[`TextEncoder`]: util.md#util_class_util_textencoder
-[`URLSearchParams`]: url.md#url_class_urlsearchparams
-[`URL`]: url.md#url_class_url
-[`__dirname`]: modules.md#modules_dirname
-[`__filename`]: modules.md#modules_filename
-[`buffer.atob()`]: buffer.md#buffer_buffer_atob_data
-[`buffer.btoa()`]: buffer.md#buffer_buffer_btoa_data
-[`clearImmediate`]: timers.md#timers_clearimmediate_immediate
-[`clearInterval`]: timers.md#timers_clearinterval_timeout
-[`clearTimeout`]: timers.md#timers_cleartimeout_timeout
+[`MessagePort`]: worker_threads.md#class-messageport
+[`TextDecoder`]: util.md#class-utiltextdecoder
+[`TextEncoder`]: util.md#class-utiltextencoder
+[`URLSearchParams`]: url.md#class-urlsearchparams
+[`URL`]: url.md#class-url
+[`__dirname`]: modules.md#__dirname
+[`__filename`]: modules.md#__filename
+[`buffer.atob()`]: buffer.md#bufferatobdata
+[`buffer.btoa()`]: buffer.md#bufferbtoadata
+[`clearImmediate`]: timers.md#clearimmediateimmediate
+[`clearInterval`]: timers.md#clearintervaltimeout
+[`clearTimeout`]: timers.md#cleartimeouttimeout
[`console`]: console.md
-[`exports`]: modules.md#modules_exports
-[`module`]: modules.md#modules_module
-[`perf_hooks.performance`]: perf_hooks.md#perf_hooks_perf_hooks_performance
-[`process.nextTick()`]: process.md#process_process_nexttick_callback_args
-[`process` object]: process.md#process_process
-[`require()`]: modules.md#modules_require_id
-[`setImmediate`]: timers.md#timers_setimmediate_callback_args
-[`setInterval`]: timers.md#timers_setinterval_callback_delay_args
-[`setTimeout`]: timers.md#timers_settimeout_callback_delay_args
+[`exports`]: modules.md#exports
+[`module`]: modules.md#module
+[`perf_hooks.performance`]: perf_hooks.md#perf_hooksperformance
+[`process.nextTick()`]: process.md#processnexttickcallback-args
+[`process` object]: process.md#process
+[`require()`]: modules.md#requireid
+[`setImmediate`]: timers.md#setimmediatecallback-args
+[`setInterval`]: timers.md#setintervalcallback-delay-args
+[`setTimeout`]: timers.md#settimeoutcallback-delay-args
[buffer section]: buffer.md
[built-in objects]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects
[module system documentation]: modules.md
diff --git a/doc/api/http.md b/doc/api/http.md
index bc66d6163a3..f7484baac2e 100644
--- a/doc/api/http.md
+++ b/doc/api/http.md
@@ -60,7 +60,7 @@ for a given host and port, reusing a single socket connection for each
until the queue is empty, at which time the socket is either destroyed
or put into a pool where it is kept to be used again for requests to the
same host and port. Whether it is destroyed or pooled depends on the
-`keepAlive` [option](#http_new_agent_options).
+`keepAlive` [option](#new-agentoptions).
Pooled connections have TCP Keep-Alive enabled for them, but servers may
still close idle connections, in which case they will be removed from the
@@ -142,7 +142,7 @@ changes:
options are respectively set to `false` and `Infinity`, in which case
`Connection: close` will be used. **Default:** `false`.
* `keepAliveMsecs` {number} When using the `keepAlive` option, specifies
- the [initial delay](net.md#net_socket_setkeepalive_enable_initialdelay)
+ the [initial delay][]
for TCP Keep-Alive packets. Ignored when the
`keepAlive` option is `false` or `undefined`. **Default:** `1000`.
* `maxSockets` {number} Maximum number of sockets to allow per host.
@@ -3184,73 +3184,74 @@ try {
}
```
-[`'checkContinue'`]: #http_event_checkcontinue
-[`'finish'`]: #http_event_finish
-[`'request'`]: #http_event_request
-[`'response'`]: #http_event_response
-[`'upgrade'`]: #http_event_upgrade
-[`--insecure-http-parser`]: cli.md#cli_insecure_http_parser
-[`--max-http-header-size`]: cli.md#cli_max_http_header_size_size
-[`Agent`]: #http_class_http_agent
-[`Buffer.byteLength()`]: buffer.md#buffer_static_method_buffer_bytelength_string_encoding
-[`Duplex`]: stream.md#stream_class_stream_duplex
-[`HPE_HEADER_OVERFLOW`]: errors.md#errors_hpe_header_overflow
-[`TypeError`]: errors.md#errors_class_typeerror
-[`URL`]: url.md#url_the_whatwg_url_api
-[`agent.createConnection()`]: #http_agent_createconnection_options_callback
-[`agent.getName()`]: #http_agent_getname_options
-[`destroy()`]: #http_agent_destroy
-[`dns.lookup()`]: dns.md#dns_dns_lookup_hostname_options_callback
-[`dns.lookup()` hints]: dns.md#dns_supported_getaddrinfo_flags
-[`getHeader(name)`]: #http_request_getheader_name
-[`http.Agent`]: #http_class_http_agent
-[`http.ClientRequest`]: #http_class_http_clientrequest
-[`http.IncomingMessage`]: #http_class_http_incomingmessage
-[`http.ServerResponse`]: #http_class_http_serverresponse
-[`http.Server`]: #http_class_http_server
-[`http.get()`]: #http_http_get_options_callback
-[`http.globalAgent`]: #http_http_globalagent
-[`http.request()`]: #http_http_request_options_callback
-[`message.headers`]: #http_message_headers
-[`message.socket`]: #http_message_socket
-[`net.Server.close()`]: net.md#net_server_close_callback
-[`net.Server`]: net.md#net_class_net_server
-[`net.Socket`]: net.md#net_class_net_socket
-[`net.createConnection()`]: net.md#net_net_createconnection_options_connectlistener
-[`new URL()`]: url.md#url_new_url_input_base
-[`outgoingMessage.socket`]: #http_outgoingmessage_socket
-[`removeHeader(name)`]: #http_request_removeheader_name
-[`request.destroy()`]: #http_request_destroy_error
-[`request.end()`]: #http_request_end_data_encoding_callback
-[`request.flushHeaders()`]: #http_request_flushheaders
-[`request.getHeader()`]: #http_request_getheader_name
-[`request.setHeader()`]: #http_request_setheader_name_value
-[`request.setTimeout()`]: #http_request_settimeout_timeout_callback
-[`request.socket.getPeerCertificate()`]: tls.md#tls_tlssocket_getpeercertificate_detailed
-[`request.socket`]: #http_request_socket
-[`request.writableEnded`]: #http_request_writableended
-[`request.writableFinished`]: #http_request_writablefinished
-[`request.write(data, encoding)`]: #http_request_write_chunk_encoding_callback
-[`response.end()`]: #http_response_end_data_encoding_callback
-[`response.getHeader()`]: #http_response_getheader_name
-[`response.setHeader()`]: #http_response_setheader_name_value
-[`response.socket`]: #http_response_socket
-[`response.writableEnded`]: #http_response_writableended
-[`response.writableFinished`]: #http_response_writablefinished
-[`response.write()`]: #http_response_write_chunk_encoding_callback
-[`response.write(data, encoding)`]: #http_response_write_chunk_encoding_callback
-[`response.writeContinue()`]: #http_response_writecontinue
-[`response.writeHead()`]: #http_response_writehead_statuscode_statusmessage_headers
-[`server.listen()`]: net.md#net_server_listen
-[`server.timeout`]: #http_server_timeout
-[`setHeader(name, value)`]: #http_request_setheader_name_value
-[`socket.connect()`]: net.md#net_socket_connect_options_connectlistener
-[`socket.setKeepAlive()`]: net.md#net_socket_setkeepalive_enable_initialdelay
-[`socket.setNoDelay()`]: net.md#net_socket_setnodelay_nodelay
-[`socket.setTimeout()`]: net.md#net_socket_settimeout_timeout_callback
-[`socket.unref()`]: net.md#net_socket_unref
-[`url.parse()`]: url.md#url_url_parse_urlstring_parsequerystring_slashesdenotehost
-[`writable.cork()`]: stream.md#stream_writable_cork
-[`writable.destroy()`]: stream.md#stream_writable_destroy_error
-[`writable.destroyed`]: stream.md#stream_writable_destroyed
-[`writable.uncork()`]: stream.md#stream_writable_uncork
+[`'checkContinue'`]: #event-checkcontinue
+[`'finish'`]: #event-finish
+[`'request'`]: #event-request
+[`'response'`]: #event-response
+[`'upgrade'`]: #event-upgrade
+[`--insecure-http-parser`]: cli.md#--insecure-http-parser
+[`--max-http-header-size`]: cli.md#--max-http-header-sizesize
+[`Agent`]: #class-httpagent
+[`Buffer.byteLength()`]: buffer.md#static-method-bufferbytelengthstring-encoding
+[`Duplex`]: stream.md#class-streamduplex
+[`HPE_HEADER_OVERFLOW`]: errors.md#hpe_header_overflow
+[`TypeError`]: errors.md#class-typeerror
+[`URL`]: url.md#the-whatwg-url-api
+[`agent.createConnection()`]: #agentcreateconnectionoptions-callback
+[`agent.getName()`]: #agentgetnameoptions
+[`destroy()`]: #agentdestroy
+[`dns.lookup()`]: dns.md#dnslookuphostname-options-callback
+[`dns.lookup()` hints]: dns.md#supported-getaddrinfo-flags
+[`getHeader(name)`]: #requestgetheadername
+[`http.Agent`]: #class-httpagent
+[`http.ClientRequest`]: #class-httpclientrequest
+[`http.IncomingMessage`]: #class-httpincomingmessage
+[`http.ServerResponse`]: #class-httpserverresponse
+[`http.Server`]: #class-httpserver
+[`http.get()`]: #httpgetoptions-callback
+[`http.globalAgent`]: #httpglobalagent
+[`http.request()`]: #httprequestoptions-callback
+[`message.headers`]: #messageheaders
+[`message.socket`]: #messagesocket
+[`net.Server.close()`]: net.md#serverclosecallback
+[`net.Server`]: net.md#class-netserver
+[`net.Socket`]: net.md#class-netsocket
+[`net.createConnection()`]: net.md#netcreateconnectionoptions-connectlistener
+[`new URL()`]: url.md#new-urlinput-base
+[`outgoingMessage.socket`]: #outgoingmessagesocket
+[`removeHeader(name)`]: #requestremoveheadername
+[`request.destroy()`]: #requestdestroyerror
+[`request.end()`]: #requestenddata-encoding-callback
+[`request.flushHeaders()`]: #requestflushheaders
+[`request.getHeader()`]: #requestgetheadername
+[`request.setHeader()`]: #requestsetheadername-value
+[`request.setTimeout()`]: #requestsettimeouttimeout-callback
+[`request.socket.getPeerCertificate()`]: tls.md#tlssocketgetpeercertificatedetailed
+[`request.socket`]: #requestsocket
+[`request.writableEnded`]: #requestwritableended
+[`request.writableFinished`]: #requestwritablefinished
+[`request.write(data, encoding)`]: #requestwritechunk-encoding-callback
+[`response.end()`]: #responseenddata-encoding-callback
+[`response.getHeader()`]: #responsegetheadername
+[`response.setHeader()`]: #responsesetheadername-value
+[`response.socket`]: #responsesocket
+[`response.writableEnded`]: #responsewritableended
+[`response.writableFinished`]: #responsewritablefinished
+[`response.write()`]: #responsewritechunk-encoding-callback
+[`response.write(data, encoding)`]: #responsewritechunk-encoding-callback
+[`response.writeContinue()`]: #responsewritecontinue
+[`response.writeHead()`]: #responsewriteheadstatuscode-statusmessage-headers
+[`server.listen()`]: net.md#serverlisten
+[`server.timeout`]: #servertimeout
+[`setHeader(name, value)`]: #requestsetheadername-value
+[`socket.connect()`]: net.md#socketconnectoptions-connectlistener
+[`socket.setKeepAlive()`]: net.md#socketsetkeepaliveenable-initialdelay
+[`socket.setNoDelay()`]: net.md#socketsetnodelaynodelay
+[`socket.setTimeout()`]: net.md#socketsettimeouttimeout-callback
+[`socket.unref()`]: net.md#socketunref
+[`url.parse()`]: url.md#urlparseurlstring-parsequerystring-slashesdenotehost
+[`writable.cork()`]: stream.md#writablecork
+[`writable.destroy()`]: stream.md#writabledestroyerror
+[`writable.destroyed`]: stream.md#writabledestroyed
+[`writable.uncork()`]: stream.md#writableuncork
+[initial delay]: net.md#socketsetkeepaliveenable-initialdelay
diff --git a/doc/api/http2.md b/doc/api/http2.md
index fdd82a90871..65e2442d589 100644
--- a/doc/api/http2.md
+++ b/doc/api/http2.md
@@ -3846,61 +3846,61 @@ if you don't use the compatibility API (or use `req.headers` directly),
you need to implement any fall-back behavior yourself.
[ALPN Protocol ID]: https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids
-[ALPN negotiation]: #http2_alpn_negotiation
-[Compatibility API]: #http2_compatibility_api
+[ALPN negotiation]: #alpn-negotiation
+[Compatibility API]: #compatibility-api
[HTTP/1]: http.md
[HTTP/2]: https://tools.ietf.org/html/rfc7540
-[HTTP/2 Headers Object]: #http2_headers_object
-[HTTP/2 Settings Object]: #http2_settings_object
+[HTTP/2 Headers Object]: #headers-object
+[HTTP/2 Settings Object]: #settings-object
[HTTP/2 Unencrypted]: https://http2.github.io/faq/#does-http2-require-encryption
[HTTPS]: https.md
[Performance Observer]: perf_hooks.md
[RFC 7838]: https://tools.ietf.org/html/rfc7838
[RFC 8336]: https://tools.ietf.org/html/rfc8336
[RFC 8441]: https://tools.ietf.org/html/rfc8441
-[Sensitive headers]: #http2_sensitive_headers
-[`'checkContinue'`]: #http2_event_checkcontinue
-[`'connect'`]: #http2_event_connect
-[`'request'`]: #http2_event_request
-[`'unknownProtocol'`]: #http2_event_unknownprotocol
-[`ClientHttp2Stream`]: #http2_class_clienthttp2stream
-[`Duplex`]: stream.md#stream_class_stream_duplex
-[`Http2ServerRequest`]: #http2_class_http2_http2serverrequest
-[`Http2ServerResponse`]: #http2_class_http2_http2serverresponse
-[`Http2Session` and Sockets]: #http2_http2session_and_sockets
-[`Http2Session`'s `'stream'` event]: #http2_event_stream
-[`Http2Stream`]: #http2_class_http2stream
-[`ServerHttp2Stream`]: #http2_class_serverhttp2stream
-[`TypeError`]: errors.md#errors_class_typeerror
-[`http.ClientRequest#maxHeadersCount`]: http.md#http_request_maxheaderscount
-[`http.Server#maxHeadersCount`]: http.md#http_server_maxheaderscount
-[`http2.SecureServer`]: #http2_class_http2secureserver
-[`http2.Server`]: #http2_class_http2server
-[`http2.createSecureServer()`]: #http2_http2_createsecureserver_options_onrequesthandler
-[`http2.createServer()`]: #http2_http2_createserver_options_onrequesthandler
-[`http2session.close()`]: #http2_http2session_close_callback
-[`http2stream.pushStream()`]: #http2_http2stream_pushstream_headers_options_callback
-[`net.Server.close()`]: net.md#net_server_close_callback
-[`net.Socket.bufferSize`]: net.md#net_socket_buffersize
-[`net.Socket.prototype.ref()`]: net.md#net_socket_ref
-[`net.Socket.prototype.unref()`]: net.md#net_socket_unref
-[`net.Socket`]: net.md#net_class_net_socket
-[`net.connect()`]: net.md#net_net_connect
-[`net.createServer()`]: net.md#net_net_createserver_options_connectionlistener
-[`request.authority`]: #http2_request_authority
-[`request.socket.getPeerCertificate()`]: tls.md#tls_tlssocket_getpeercertificate_detailed
-[`request.socket`]: #http2_request_socket
-[`response.end()`]: #http2_response_end_data_encoding_callback
-[`response.setHeader()`]: #http2_response_setheader_name_value
-[`response.socket`]: #http2_response_socket
-[`response.writableEnded`]: #http2_response_writableended
-[`response.write()`]: #http2_response_write_chunk_encoding_callback
-[`response.write(data, encoding)`]: http.md#http_response_write_chunk_encoding_callback
-[`response.writeContinue()`]: #http2_response_writecontinue
-[`response.writeHead()`]: #http2_response_writehead_statuscode_statusmessage_headers
-[`tls.Server.close()`]: tls.md#tls_server_close_callback
-[`tls.TLSSocket`]: tls.md#tls_class_tls_tlssocket
-[`tls.connect()`]: tls.md#tls_tls_connect_options_callback
-[`tls.createServer()`]: tls.md#tls_tls_createserver_options_secureconnectionlistener
-[`writable.writableFinished`]: stream.md#stream_writable_writablefinished
-[error code]: #http2_error_codes_for_rst_stream_and_goaway
+[Sensitive headers]: #sensitive-headers
+[`'checkContinue'`]: #event-checkcontinue
+[`'connect'`]: #event-connect
+[`'request'`]: #event-request
+[`'unknownProtocol'`]: #event-unknownprotocol
+[`ClientHttp2Stream`]: #class-clienthttp2stream
+[`Duplex`]: stream.md#class-streamduplex
+[`Http2ServerRequest`]: #class-http2http2serverrequest
+[`Http2ServerResponse`]: #class-http2http2serverresponse
+[`Http2Session` and Sockets]: #http2session-and-sockets
+[`Http2Session`'s `'stream'` event]: #event-stream
+[`Http2Stream`]: #class-http2stream
+[`ServerHttp2Stream`]: #class-serverhttp2stream
+[`TypeError`]: errors.md#class-typeerror
+[`http.ClientRequest#maxHeadersCount`]: http.md#requestmaxheaderscount
+[`http.Server#maxHeadersCount`]: http.md#servermaxheaderscount
+[`http2.SecureServer`]: #class-http2secureserver
+[`http2.Server`]: #class-http2server
+[`http2.createSecureServer()`]: #http2createsecureserveroptions-onrequesthandler
+[`http2.createServer()`]: #http2createserveroptions-onrequesthandler
+[`http2session.close()`]: #http2sessionclosecallback
+[`http2stream.pushStream()`]: #http2streampushstreamheaders-options-callback
+[`net.Server.close()`]: net.md#serverclosecallback
+[`net.Socket.bufferSize`]: net.md#socketbuffersize
+[`net.Socket.prototype.ref()`]: net.md#socketref
+[`net.Socket.prototype.unref()`]: net.md#socketunref
+[`net.Socket`]: net.md#class-netsocket
+[`net.connect()`]: net.md#netconnect
+[`net.createServer()`]: net.md#netcreateserveroptions-connectionlistener
+[`request.authority`]: #requestauthority
+[`request.socket.getPeerCertificate()`]: tls.md#tlssocketgetpeercertificatedetailed
+[`request.socket`]: #requestsocket
+[`response.end()`]: #responseenddata-encoding-callback
+[`response.setHeader()`]: #responsesetheadername-value
+[`response.socket`]: #responsesocket
+[`response.writableEnded`]: #responsewritableended
+[`response.write()`]: #responsewritechunk-encoding-callback
+[`response.write(data, encoding)`]: http.md#responsewritechunk-encoding-callback
+[`response.writeContinue()`]: #responsewritecontinue
+[`response.writeHead()`]: #responsewriteheadstatuscode-statusmessage-headers
+[`tls.Server.close()`]: tls.md#serverclosecallback
+[`tls.TLSSocket`]: tls.md#class-tlstlssocket
+[`tls.connect()`]: tls.md#tlsconnectoptions-callback
+[`tls.createServer()`]: tls.md#tlscreateserveroptions-secureconnectionlistener
+[`writable.writableFinished`]: stream.md#writablewritablefinished
+[error code]: #error-codes-for-rst_stream-and-goaway
diff --git a/doc/api/https.md b/doc/api/https.md
index ff057d23e5c..98a845994a7 100644
--- a/doc/api/https.md
+++ b/doc/api/https.md
@@ -462,29 +462,29 @@ statusCode: 200
headers: max-age=0; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; pin-sha256="RRM1dGqnDFsCJXBTHky16vi1obOlCgFFn/yOhI/y+ho="; pin-sha256="k2v657xBsOVe1PQRwOsHsw3bsGT2VzIqz5K+59sNQws="; pin-sha256="K87oWBWM9UZfyddvDfoxL+8lpNyoUB2ptGtn0fv6G2Q="; pin-sha256="IQBnNBEiFuhj+8x6X8XLgh01V9Ic5/V3IRQLNFFc7v4="; pin-sha256="iie1VXtL7HzAMF+/PVPR9xzT80kQxdZeJ+zduCB3uj0="; pin-sha256="LvRiGEjRqfzurezaWuj8Wie2gyHMrW5Q06LspMnox7A="; includeSubDomains
```
-[`Agent`]: #https_class_https_agent
-[`Session Resumption`]: tls.md#tls_session_resumption
-[`URL`]: url.md#url_the_whatwg_url_api
-[`http.Agent(options)`]: http.md#http_new_agent_options
-[`http.Agent`]: http.md#http_class_http_agent
-[`http.ClientRequest`]: http.md#http_class_http_clientrequest
-[`http.Server#headersTimeout`]: http.md#http_server_headerstimeout
-[`http.Server#keepAliveTimeout`]: http.md#http_server_keepalivetimeout
-[`http.Server#maxHeadersCount`]: http.md#http_server_maxheaderscount
-[`http.Server#requestTimeout`]: http.md#http_server_requesttimeout
-[`http.Server#setTimeout()`]: http.md#http_server_settimeout_msecs_callback
-[`http.Server#timeout`]: http.md#http_server_timeout
-[`http.Server`]: http.md#http_class_http_server
-[`http.close()`]: http.md#http_server_close_callback
-[`http.createServer()`]: http.md#http_http_createserver_options_requestlistener
-[`http.get()`]: http.md#http_http_get_options_callback
-[`http.request()`]: http.md#http_http_request_options_callback
-[`https.Agent`]: #https_class_https_agent
-[`https.request()`]: #https_https_request_options_callback
-[`net.Server`]: net.md#net_class_net_server
-[`new URL()`]: url.md#url_new_url_input_base
-[`server.listen()`]: net.md#net_server_listen
-[`tls.connect()`]: tls.md#tls_tls_connect_options_callback
-[`tls.createSecureContext()`]: tls.md#tls_tls_createsecurecontext_options
-[`tls.createServer()`]: tls.md#tls_tls_createserver_options_secureconnectionlistener
+[`Agent`]: #class-httpsagent
+[`Session Resumption`]: tls.md#session-resumption
+[`URL`]: url.md#the-whatwg-url-api
+[`http.Agent(options)`]: http.md#new-agentoptions
+[`http.Agent`]: http.md#class-httpagent
+[`http.ClientRequest`]: http.md#class-httpclientrequest
+[`http.Server#headersTimeout`]: http.md#serverheaderstimeout
+[`http.Server#keepAliveTimeout`]: http.md#serverkeepalivetimeout
+[`http.Server#maxHeadersCount`]: http.md#servermaxheaderscount
+[`http.Server#requestTimeout`]: http.md#serverrequesttimeout
+[`http.Server#setTimeout()`]: http.md#serversettimeoutmsecs-callback
+[`http.Server#timeout`]: http.md#servertimeout
+[`http.Server`]: http.md#class-httpserver
+[`http.close()`]: http.md#serverclosecallback
+[`http.createServer()`]: http.md#httpcreateserveroptions-requestlistener
+[`http.get()`]: http.md#httpgetoptions-callback
+[`http.request()`]: http.md#httprequestoptions-callback
+[`https.Agent`]: #class-httpsagent
+[`https.request()`]: #httpsrequestoptions-callback
+[`net.Server`]: net.md#class-netserver
+[`new URL()`]: url.md#new-urlinput-base
+[`server.listen()`]: net.md#serverlisten
+[`tls.connect()`]: tls.md#tlsconnectoptions-callback
+[`tls.createSecureContext()`]: tls.md#tlscreatesecurecontextoptions
+[`tls.createServer()`]: tls.md#tlscreateserveroptions-secureconnectionlistener
[sni wiki]: https://en.wikipedia.org/wiki/Server_Name_Indication
diff --git a/doc/api/inspector.md b/doc/api/inspector.md
index aa41556adc9..04b0283d8cc 100644
--- a/doc/api/inspector.md
+++ b/doc/api/inspector.md
@@ -45,7 +45,7 @@ started.
If wait is `true`, will block until a client has connected to the inspect port
and flow control has been passed to the debugger client.
-See the [security warning](cli.md#inspector_security) regarding the `host`
+See the [security warning][] regarding the `host`
parameter usage.
## `inspector.url()`
@@ -243,4 +243,5 @@ session.post('HeapProfiler.takeHeapSnapshot', null, (err, r) => {
[Chrome DevTools Protocol Viewer]: https://chromedevtools.github.io/devtools-protocol/v8/
[Heap Profiler]: https://chromedevtools.github.io/devtools-protocol/v8/HeapProfiler
[`'Debugger.paused'`]: https://chromedevtools.github.io/devtools-protocol/v8/Debugger#event-paused
-[`session.connect()`]: #inspector_session_connect
+[`session.connect()`]: #sessionconnect
+[security warning]: cli.md#warning-binding-inspector-to-a-public-ipport-combination-is-insecure
diff --git a/doc/api/intl.md b/doc/api/intl.md
index 7022675994c..87935289d39 100644
--- a/doc/api/intl.md
+++ b/doc/api/intl.md
@@ -195,23 +195,23 @@ to be helpful:
[ECMA-262]: https://tc39.github.io/ecma262/
[ECMA-402]: https://tc39.github.io/ecma402/
[ICU]: http://site.icu-project.org/
-[Legacy URL parser]: url.md#url_legacy_url_api
-[REPL]: repl.md#repl_repl
+[Legacy URL parser]: url.md#legacy-url-api
+[REPL]: repl.md#repl
[Test262]: https://github.com/tc39/test262/tree/HEAD/test/intl402
-[WHATWG URL parser]: url.md#url_the_whatwg_url_api
-[`--icu-data-dir`]: cli.md#cli_icu_data_dir_file
+[WHATWG URL parser]: url.md#the-whatwg-url-api
+[`--icu-data-dir`]: cli.md#--icu-data-dirfile
[`Date.prototype.toLocaleString()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleString
[`Intl.DateTimeFormat`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat
[`Intl`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl
-[`NODE_ICU_DATA`]: cli.md#cli_node_icu_data_file
+[`NODE_ICU_DATA`]: cli.md#node_icu_datafile
[`Number.prototype.toLocaleString()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
[`RegExp` Unicode Property Escapes]: https://github.com/tc39/proposal-regexp-unicode-property-escapes
[`String.prototype.localeCompare()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
[`String.prototype.normalize()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize
[`String.prototype.toLowerCase()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase
[`String.prototype.toUpperCase()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase
-[`require('buffer').transcode()`]: buffer.md#buffer_buffer_transcode_source_fromenc_toenc
-[`require('util').TextDecoder`]: util.md#util_class_util_textdecoder
+[`require('buffer').transcode()`]: buffer.md#buffertranscodesource-fromenc-toenc
+[`require('util').TextDecoder`]: util.md#class-utiltextdecoder
[btest402]: https://github.com/srl295/btest402
[full-icu]: https://www.npmjs.com/package/full-icu
[internationalized domain names]: https://en.wikipedia.org/wiki/Internationalized_domain_name
diff --git a/doc/api/module.md b/doc/api/module.md
index 307d08360c4..0079d726c3c 100644
--- a/doc/api/module.md
+++ b/doc/api/module.md
@@ -191,9 +191,9 @@ consists of the following keys:
[CommonJS]: modules.md
[ES Modules]: esm.md
[Source map v3 format]: https://sourcemaps.info/spec.html#h.mofvlxcwqzej
-[`--enable-source-maps`]: cli.md#cli_enable_source_maps
-[`NODE_V8_COVERAGE=dir`]: cli.md#cli_node_v8_coverage_dir
-[`SourceMap`]: #module_class_module_sourcemap
-[`module`]: modules.md#modules_the_module_object
-[module wrapper]: modules.md#modules_the_module_wrapper
+[`--enable-source-maps`]: cli.md#--enable-source-maps
+[`NODE_V8_COVERAGE=dir`]: cli.md#node_v8_coveragedir
+[`SourceMap`]: #class-modulesourcemap
+[`module`]: modules.md#the-module-object
+[module wrapper]: modules.md#the-module-wrapper
[source map include directives]: https://sourcemaps.info/spec.html#h.lmz475t4mvbx
diff --git a/doc/api/modules.md b/doc/api/modules.md
index 4920a364eb7..b3f62e078b4 100644
--- a/doc/api/modules.md
+++ b/doc/api/modules.md
@@ -32,7 +32,7 @@ The module `circle.js` has exported the functions `area()` and
by specifying additional properties on the special `exports` object.
Variables local to the module will be private, because the module is wrapped
-in a function by Node.js (see [module wrapper](#modules_the_module_wrapper)).
+in a function by Node.js (see [module wrapper](#the-module-wrapper)).
In this example, the variable `PI` is private to `circle.js`.
The `module.exports` property can be assigned a new value (such as a function
@@ -99,7 +99,7 @@ package may itself have dependencies, and in some cases, these may even collide
or form cyclic dependencies.
Because Node.js looks up the `realpath` of any modules it loads (that is, it
-resolves symlinks) and then [looks for their dependencies in `node_modules` folders](#modules_loading_from_node_modules_folders),
+resolves symlinks) and then [looks for their dependencies in `node_modules` folders](#loading-from-node_modules-folders),
this situation can be resolved with the following architecture:
* `/usr/lib/node/foo/1.2.3/`: Contents of the `foo` package, version 1.2.3.
@@ -437,7 +437,7 @@ Error: Cannot find module 'some-library'
<!--type=misc-->
If the module identifier passed to `require()` is not a
-[core](#modules_core_modules) module, and does not begin with `'/'`, `'../'`, or
+[core](#core-modules) module, and does not begin with `'/'`, `'../'`, or
`'./'`, then Node.js starts at the parent directory of the current module, and
adds `/node_modules`, and attempts to load the module from that location.
Node.js will not append `node_modules` to a path already ending in
@@ -703,7 +703,7 @@ added: v0.1.17
The `Module` object representing the entry script loaded when the Node.js
process launched.
-See ["Accessing the main module"](#modules_accessing_the_main_module).
+See ["Accessing the main module"](#accessing-the-main-module).
In `entry.js` script:
@@ -986,38 +986,38 @@ in order to be used.
## The `Module` object
This section was moved to
-[Modules: `module` core module](module.md#module_the_module_object).
+[Modules: `module` core module](module.md#the-module-object).
<!-- Anchors to make sure old links find a target -->
-* <a id="modules_module_builtinmodules" href="module.html#module_module_builtinmodules">`module.builtinModules`</a>
-* <a id="modules_module_createrequire_filename" href="module.html#module_module_createrequire_filename">`module.createRequire(filename)`</a>
-* <a id="modules_module_syncbuiltinesmexports" href="module.html#module_module_syncbuiltinesmexports">`module.syncBuiltinESMExports()`</a>
+* <a id="modules_module_builtinmodules" href="module.html#modulebuiltinmodules">`module.builtinModules`</a>
+* <a id="modules_module_createrequire_filename" href="module.html#modulecreaterequirefilename">`module.createRequire(filename)`</a>
+* <a id="modules_module_syncbuiltinesmexports" href="module.html#modulesyncbuiltinesmexports">`module.syncBuiltinESMExports()`</a>
## Source map v3 support
This section was moved to
-[Modules: `module` core module](module.md#module_source_map_v3_support).
+[Modules: `module` core module](module.md#source-map-v3-support).
<!-- Anchors to make sure old links find a target -->
-* <a id="modules_module_findsourcemap_path_error" href="module.html#module_module_findsourcemap_path">`module.findSourceMap(path)`</a>
-* <a id="modules_class_module_sourcemap" href="module.html#module_class_module_sourcemap">Class: `module.SourceMap`</a>
- * <a id="modules_new_sourcemap_payload" href="module.html#module_new_sourcemap_payload">`new SourceMap(payload)`</a>
- * <a id="modules_sourcemap_payload" href="module.html#module_sourcemap_payload">`sourceMap.payload`</a>
- * <a id="modules_sourcemap_findentry_linenumber_columnnumber" href="module.html#module_sourcemap_findentry_linenumber_columnnumber">`sourceMap.findEntry(lineNumber, columnNumber)`</a>
+* <a id="modules_module_findsourcemap_path_error" href="module.html#modulefindsourcemappath">`module.findSourceMap(path)`</a>
+* <a id="modules_class_module_sourcemap" href="module.html#class-modulesourcemap">Class: `module.SourceMap`</a>
+ * <a id="modules_new_sourcemap_payload" href="module.html#new-sourcemappayload">`new SourceMap(payload)`</a>
+ * <a id="modules_sourcemap_payload" href="module.html#sourcemappayload">`sourceMap.payload`</a>
+ * <a id="modules_sourcemap_findentry_linenumber_columnnumber" href="module.html#sourcemapfindentrylinenumber-columnnumber">`sourceMap.findEntry(lineNumber, columnNumber)`</a>
[ECMAScript Modules]: esm.md
-[GLOBAL_FOLDERS]: #modules_loading_from_the_global_folders
-[`"main"`]: packages.md#packages_main
-[`Error`]: errors.md#errors_class_error
-[`__dirname`]: #modules_dirname
-[`__filename`]: #modules_filename
-[`module.children`]: #modules_module_children
-[`module.id`]: #modules_module_id
-[`module` object]: #modules_the_module_object
-[`package.json`]: packages.md#packages_node_js_package_json_field_definitions
-[`path.dirname()`]: path.md#path_path_dirname_path
-[`require.main`]: #modules_require_main
-[an error]: errors.md#errors_err_require_esm
-[exports shortcut]: #modules_exports_shortcut
-[module resolution]: #modules_all_together
+[GLOBAL_FOLDERS]: #loading-from-the-global-folders
+[`"main"`]: packages.md#main
+[`Error`]: errors.md#class-error
+[`__dirname`]: #__dirname
+[`__filename`]: #__filename
+[`module.children`]: #modulechildren
+[`module.id`]: #moduleid
+[`module` object]: #the-module-object
+[`package.json`]: packages.md#nodejs-packagejson-field-definitions
+[`path.dirname()`]: path.md#pathdirnamepath
+[`require.main`]: #requiremain
+[an error]: errors.md#err_require_esm
+[exports shortcut]: #exports-shortcut
+[module resolution]: #all-together
[native addons]: addons.md
diff --git a/doc/api/n-api.md b/doc/api/n-api.md
index d06cbd1ba70..f9ce2bca436 100644
--- a/doc/api/n-api.md
+++ b/doc/api/n-api.md
@@ -6007,14 +6007,14 @@ the add-on's file name during loading.
[CMake]: https://cmake.org
[CMake.js]: https://github.com/cmake-js/cmake-js
[ECMAScript Language Specification]: https://tc39.github.io/ecma262/
-[Error handling]: #n_api_error_handling
+[Error handling]: #error-handling
[GCC]: https://gcc.gnu.org
[GYP]: https://gyp.gsrc.io
[GitHub releases]: https://help.github.com/en/github/administering-a-repository/about-releases
[LLVM]: https://llvm.org
[Native Abstractions for Node.js]: https://github.com/nodejs/nan
-[Object lifetime management]: #n_api_object_lifetime_management
-[Object wrap]: #n_api_object_wrap
+[Object lifetime management]: #object-lifetime-management
+[Object wrap]: #object-wrap
[Section 12.10.4]: https://tc39.github.io/ecma262/#sec-instanceofoperator
[Section 12.5.5]: https://tc39.github.io/ecma262/#sec-typeof-operator
[Section 19.2]: https://tc39.github.io/ecma262/#sec-function-objects
@@ -6044,79 +6044,79 @@ the add-on's file name during loading.
[Section 9.1.6]: https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots-defineownproperty-p-desc
[Travis CI]: https://travis-ci.org
[Visual Studio]: https://visualstudio.microsoft.com
-[Working with JavaScript properties]: #n_api_working_with_javascript_properties
+[Working with JavaScript properties]: #working-with-javascript-properties
[Xcode]: https://developer.apple.com/xcode/
[`Number.MAX_SAFE_INTEGER`]: https://tc39.github.io/ecma262/#sec-number.max_safe_integer
[`Number.MIN_SAFE_INTEGER`]: https://tc39.github.io/ecma262/#sec-number.min_safe_integer
-[`Worker`]: worker_threads.md#worker_threads_class_worker
-[`async_hooks.executionAsyncResource()`]: async_hooks.md#async_hooks_async_hooks_executionasyncresource
-[`global`]: globals.md#globals_global
-[`init` hooks]: async_hooks.md#async_hooks_init_asyncid_type_triggerasyncid_resource
-[`napi_add_async_cleanup_hook`]: #n_api_napi_add_async_cleanup_hook
-[`napi_add_env_cleanup_hook`]: #n_api_napi_add_env_cleanup_hook
-[`napi_add_finalizer`]: #n_api_napi_add_finalizer
-[`napi_async_cleanup_hook`]: #n_api_napi_async_cleanup_hook
-[`napi_async_complete_callback`]: #n_api_napi_async_complete_callback
-[`napi_async_destroy`]: #n_api_napi_async_destroy
-[`napi_async_init`]: #n_api_napi_async_init
-[`napi_callback`]: #n_api_napi_callback
-[`napi_cancel_async_work`]: #n_api_napi_cancel_async_work
-[`napi_close_callback_scope`]: #n_api_napi_close_callback_scope
-[`napi_close_escapable_handle_scope`]: #n_api_napi_close_escapable_handle_scope
-[`napi_close_handle_scope`]: #n_api_napi_close_handle_scope
-[`napi_create_async_work`]: #n_api_napi_create_async_work
-[`napi_create_error`]: #n_api_napi_create_error
-[`napi_create_external_arraybuffer`]: #n_api_napi_create_external_arraybuffer
-[`napi_create_range_error`]: #n_api_napi_create_range_error
-[`napi_create_reference`]: #n_api_napi_create_reference
-[`napi_create_type_error`]: #n_api_napi_create_type_error
-[`napi_define_class`]: #n_api_napi_define_class
-[`napi_delete_async_work`]: #n_api_napi_delete_async_work
-[`napi_delete_reference`]: #n_api_napi_delete_reference
-[`napi_escape_handle`]: #n_api_napi_escape_handle
-[`napi_finalize`]: #n_api_napi_finalize
-[`napi_get_and_clear_last_exception`]: #n_api_napi_get_and_clear_last_exception
-[`napi_get_array_length`]: #n_api_napi_get_array_length
-[`napi_get_element`]: #n_api_napi_get_element
-[`napi_get_last_error_info`]: #n_api_napi_get_last_error_info
-[`napi_get_property`]: #n_api_napi_get_property
-[`napi_get_reference_value`]: #n_api_napi_get_reference_value
-[`napi_get_value_external`]: #n_api_napi_get_value_external
-[`napi_has_property`]: #n_api_napi_has_property
-[`napi_instanceof`]: #n_api_napi_instanceof
-[`napi_is_error`]: #n_api_napi_is_error
-[`napi_is_exception_pending`]: #n_api_napi_is_exception_pending
-[`napi_make_callback`]: #n_api_napi_make_callback
-[`napi_open_callback_scope`]: #n_api_napi_open_callback_scope
-[`napi_open_escapable_handle_scope`]: #n_api_napi_open_escapable_handle_scope
-[`napi_open_handle_scope`]: #n_api_napi_open_handle_scope
-[`napi_property_attributes`]: #n_api_napi_property_attributes
-[`napi_property_descriptor`]: #n_api_napi_property_descriptor
-[`napi_queue_async_work`]: #n_api_napi_queue_async_work
-[`napi_reference_ref`]: #n_api_napi_reference_ref
-[`napi_reference_unref`]: #n_api_napi_reference_unref
-[`napi_remove_async_cleanup_hook`]: #n_api_napi_remove_async_cleanup_hook
-[`napi_remove_env_cleanup_hook`]: #n_api_napi_remove_env_cleanup_hook
-[`napi_set_instance_data`]: #n_api_napi_set_instance_data
-[`napi_set_property`]: #n_api_napi_set_property
-[`napi_threadsafe_function_call_js`]: #n_api_napi_threadsafe_function_call_js
-[`napi_throw_error`]: #n_api_napi_throw_error
-[`napi_throw_range_error`]: #n_api_napi_throw_range_error
-[`napi_throw_type_error`]: #n_api_napi_throw_type_error
-[`napi_throw`]: #n_api_napi_throw
-[`napi_unwrap`]: #n_api_napi_unwrap
-[`napi_wrap`]: #n_api_napi_wrap
+[`Worker`]: worker_threads.md#class-worker
+[`async_hooks.executionAsyncResource()`]: async_hooks.md#async_hooksexecutionasyncresource
+[`global`]: globals.md#global
+[`init` hooks]: async_hooks.md#initasyncid-type-triggerasyncid-resource
+[`napi_add_async_cleanup_hook`]: #napi_add_async_cleanup_hook
+[`napi_add_env_cleanup_hook`]: #napi_add_env_cleanup_hook
+[`napi_add_finalizer`]: #napi_add_finalizer
+[`napi_async_cleanup_hook`]: #napi_async_cleanup_hook
+[`napi_async_complete_callback`]: #napi_async_complete_callback
+[`napi_async_destroy`]: #napi_async_destroy
+[`napi_async_init`]: #napi_async_init
+[`napi_callback`]: #napi_callback
+[`napi_cancel_async_work`]: #napi_cancel_async_work
+[`napi_close_callback_scope`]: #napi_close_callback_scope
+[`napi_close_escapable_handle_scope`]: #napi_close_escapable_handle_scope
+[`napi_close_handle_scope`]: #napi_close_handle_scope
+[`napi_create_async_work`]: #napi_create_async_work
+[`napi_create_error`]: #napi_create_error
+[`napi_create_external_arraybuffer`]: #napi_create_external_arraybuffer
+[`napi_create_range_error`]: #napi_create_range_error
+[`napi_create_reference`]: #napi_create_reference
+[`napi_create_type_error`]: #napi_create_type_error
+[`napi_define_class`]: #napi_define_class
+[`napi_delete_async_work`]: #napi_delete_async_work
+[`napi_delete_reference`]: #napi_delete_reference
+[`napi_escape_handle`]: #napi_escape_handle
+[`napi_finalize`]: #napi_finalize
+[`napi_get_and_clear_last_exception`]: #napi_get_and_clear_last_exception
+[`napi_get_array_length`]: #napi_get_array_length
+[`napi_get_element`]: #napi_get_element
+[`napi_get_last_error_info`]: #napi_get_last_error_info
+[`napi_get_property`]: #napi_get_property
+[`napi_get_reference_value`]: #napi_get_reference_value
+[`napi_get_value_external`]: #napi_get_value_external
+[`napi_has_property`]: #napi_has_property
+[`napi_instanceof`]: #napi_instanceof
+[`napi_is_error`]: #napi_is_error
+[`napi_is_exception_pending`]: #napi_is_exception_pending
+[`napi_make_callback`]: #napi_make_callback
+[`napi_open_callback_scope`]: #napi_open_callback_scope
+[`napi_open_escapable_handle_scope`]: #napi_open_escapable_handle_scope
+[`napi_open_handle_scope`]: #napi_open_handle_scope
+[`napi_property_attributes`]: #napi_property_attributes
+[`napi_property_descriptor`]: #napi_property_descriptor
+[`napi_queue_async_work`]: #napi_queue_async_work
+[`napi_reference_ref`]: #napi_reference_ref
+[`napi_reference_unref`]: #napi_reference_unref
+[`napi_remove_async_cleanup_hook`]: #napi_remove_async_cleanup_hook
+[`napi_remove_env_cleanup_hook`]: #napi_remove_env_cleanup_hook
+[`napi_set_instance_data`]: #napi_set_instance_data
+[`napi_set_property`]: #napi_set_property
+[`napi_threadsafe_function_call_js`]: #napi_threadsafe_function_call_js
+[`napi_throw_error`]: #napi_throw_error
+[`napi_throw_range_error`]: #napi_throw_range_error
+[`napi_throw_type_error`]: #napi_throw_type_error
+[`napi_throw`]: #napi_throw
+[`napi_unwrap`]: #napi_unwrap
+[`napi_wrap`]: #napi_wrap
[`node-addon-api`]: https://github.com/nodejs/node-addon-api
[`node_api.h`]: https://github.com/nodejs/node/blob/HEAD/src/node_api.h
-[`process.release`]: process.md#process_process_release
+[`process.release`]: process.md#processrelease
[`uv_ref`]: https://docs.libuv.org/en/v1.x/handle.html#c.uv_ref
[`uv_unref`]: https://docs.libuv.org/en/v1.x/handle.html#c.uv_unref
-[async_hooks `type`]: async_hooks.md#async_hooks_type
-[context-aware addons]: addons.md#addons_context_aware_addons
+[async_hooks `type`]: async_hooks.md#type
+[context-aware addons]: addons.md#context-aware-addons
[docs]: https://github.com/nodejs/node-addon-api#api-documentation
[global scope]: globals.md
[gyp-next]: https://github.com/nodejs/gyp-next
-[module scope]: modules.md#modules_the_module_scope
+[module scope]: modules.md#the-module-scope
[node-gyp]: https://github.com/nodejs/node-gyp
[node-pre-gyp]: https://github.com/mapbox/node-pre-gyp
[prebuild]: https://github.com/prebuild/prebuild
diff --git a/doc/api/net.md b/doc/api/net.md
index 5066179046c..d06622f90b7 100644
--- a/doc/api/net.md
+++ b/doc/api/net.md
@@ -309,7 +309,7 @@ Possible signatures:
* [`server.listen(options[, callback])`][`server.listen(options)`]
* [`server.listen(path[, backlog][, callback])`][`server.listen(path)`]
for [IPC][] servers
-* <a href="#net_server_listen_port_host_backlog_callback">
+* <a href="#serverlistenport-host-backlog-callback">
<code>server.listen([port[, host[, backlog]]][, callback])</code></a>
for TCP servers
<!--lint enable no-undefined-references-->
@@ -400,7 +400,7 @@ changes:
<!--lint disable no-undefined-references-->
If `port` is specified, it behaves the same as
-<a href="#net_server_listen_port_host_backlog_callback">
+<a href="#serverlistenport-host-backlog-callback">
<code>server.listen([port[, host[, backlog]]][, callback])</code></a>.
Otherwise, if `path` is specified, it behaves the same as
[`server.listen(path[, backlog][, callback])`][`server.listen(path)`].
@@ -1410,58 +1410,58 @@ added: v0.3.0
Returns `true` if input is a version 6 IP address, otherwise returns `false`.
-[IPC]: #net_ipc_support
-[Identifying paths for IPC connections]: #net_identifying_paths_for_ipc_connections
-[Readable Stream]: stream.md#stream_class_stream_readable
-[`'close'`]: #net_event_close
-[`'connect'`]: #net_event_connect
-[`'connection'`]: #net_event_connection
-[`'data'`]: #net_event_data
-[`'drain'`]: #net_event_drain
-[`'end'`]: #net_event_end
-[`'error'`]: #net_event_error_1
-[`'listening'`]: #net_event_listening
-[`'timeout'`]: #net_event_timeout
-[`EventEmitter`]: events.md#events_class_eventemitter
-[`child_process.fork()`]: child_process.md#child_process_child_process_fork_modulepath_args_options
-[`dns.lookup()`]: dns.md#dns_dns_lookup_hostname_options_callback
-[`dns.lookup()` hints]: dns.md#dns_supported_getaddrinfo_flags
-[`net.Server`]: #net_class_net_server
-[`net.Socket`]: #net_class_net_socket
-[`net.connect()`]: #net_net_connect
-[`net.connect(options)`]: #net_net_connect_options_connectlistener
-[`net.connect(path)`]: #net_net_connect_path_connectlistener
-[`net.connect(port, host)`]: #net_net_connect_port_host_connectlistener
-[`net.createConnection()`]: #net_net_createconnection
-[`net.createConnection(options)`]: #net_net_createconnection_options_connectlistener
-[`net.createConnection(path)`]: #net_net_createconnection_path_connectlistener
-[`net.createConnection(port, host)`]: #net_net_createconnection_port_host_connectlistener
-[`net.createServer()`]: #net_net_createserver_options_connectionlistener
-[`new net.Socket(options)`]: #net_new_net_socket_options
-[`readable.setEncoding()`]: stream.md#stream_readable_setencoding_encoding
-[`server.close()`]: #net_server_close_callback
-[`server.listen()`]: #net_server_listen
-[`server.listen(handle)`]: #net_server_listen_handle_backlog_callback
-[`server.listen(options)`]: #net_server_listen_options_callback
-[`server.listen(path)`]: #net_server_listen_path_backlog_callback
+[IPC]: #ipc-support
+[Identifying paths for IPC connections]: #identifying-paths-for-ipc-connections
+[Readable Stream]: stream.md#class-streamreadable
+[`'close'`]: #event-close
+[`'connect'`]: #event-connect
+[`'connection'`]: #event-connection
+[`'data'`]: #event-data
+[`'drain'`]: #event-drain
+[`'end'`]: #event-end
+[`'error'`]: #event-error_1
+[`'listening'`]: #event-listening
+[`'timeout'`]: #event-timeout
+[`EventEmitter`]: events.md#class-eventemitter
+[`child_process.fork()`]: child_process.md#child_processforkmodulepath-args-options
+[`dns.lookup()`]: dns.md#dnslookuphostname-options-callback
+[`dns.lookup()` hints]: dns.md#supported-getaddrinfo-flags
+[`net.Server`]: #class-netserver
+[`net.Socket`]: #class-netsocket
+[`net.connect()`]: #netconnect
+[`net.connect(options)`]: #netconnectoptions-connectlistener
+[`net.connect(path)`]: #netconnectpath-connectlistener
+[`net.connect(port, host)`]: #netconnectport-host-connectlistener
+[`net.createConnection()`]: #netcreateconnection
+[`net.createConnection(options)`]: #netcreateconnectionoptions-connectlistener
+[`net.createConnection(path)`]: #netcreateconnectionpath-connectlistener
+[`net.createConnection(port, host)`]: #netcreateconnectionport-host-connectlistener
+[`net.createServer()`]: #netcreateserveroptions-connectionlistener
+[`new net.Socket(options)`]: #new-netsocketoptions
+[`readable.setEncoding()`]: stream.md#readablesetencodingencoding
+[`server.close()`]: #serverclosecallback
+[`server.listen()`]: #serverlisten
+[`server.listen(handle)`]: #serverlistenhandle-backlog-callback
+[`server.listen(options)`]: #serverlistenoptions-callback
+[`server.listen(path)`]: #serverlistenpath-backlog-callback
[`socket(7)`]: https://man7.org/linux/man-pages/man7/socket.7.html
-[`socket.connect()`]: #net_socket_connect
-[`socket.connect(options)`]: #net_socket_connect_options_connectlistener
-[`socket.connect(path)`]: #net_socket_connect_path_connectlistener
-[`socket.connect(port)`]: #net_socket_connect_port_host_connectlistener
-[`socket.connecting`]: #net_socket_connecting
-[`socket.destroy()`]: #net_socket_destroy_error
-[`socket.end()`]: #net_socket_end_data_encoding_callback
-[`socket.pause()`]: #net_socket_pause
-[`socket.resume()`]: #net_socket_resume
-[`socket.setEncoding()`]: #net_socket_setencoding_encoding
-[`socket.setTimeout()`]: #net_socket_settimeout_timeout_callback
-[`socket.setTimeout(timeout)`]: #net_socket_settimeout_timeout_callback
-[`writable.destroy()`]: stream.md#stream_writable_destroy_error
-[`writable.destroyed`]: stream.md#stream_writable_destroyed
-[`writable.end()`]: stream.md#stream_writable_end_chunk_encoding_callback
-[`writable.writableLength`]: stream.md#stream_writable_writablelength
+[`socket.connect()`]: #socketconnect
+[`socket.connect(options)`]: #socketconnectoptions-connectlistener
+[`socket.connect(path)`]: #socketconnectpath-connectlistener
+[`socket.connect(port)`]: #socketconnectport-host-connectlistener
+[`socket.connecting`]: #socketconnecting
+[`socket.destroy()`]: #socketdestroyerror
+[`socket.end()`]: #socketenddata-encoding-callback
+[`socket.pause()`]: #socketpause
+[`socket.resume()`]: #socketresume
+[`socket.setEncoding()`]: #socketsetencodingencoding
+[`socket.setTimeout()`]: #socketsettimeouttimeout-callback
+[`socket.setTimeout(timeout)`]: #socketsettimeouttimeout-callback
+[`writable.destroy()`]: stream.md#writabledestroyerror
+[`writable.destroyed`]: stream.md#writabledestroyed
+[`writable.end()`]: stream.md#writableendchunk-encoding-callback
+[`writable.writableLength`]: stream.md#writablewritablelength
[half-closed]: https://tools.ietf.org/html/rfc1122
-[stream_writable_write]: stream.md#stream_writable_write_chunk_encoding_callback
+[stream_writable_write]: stream.md#writablewritechunk-encoding-callback
[unspecified IPv4 address]: https://en.wikipedia.org/wiki/0.0.0.0
[unspecified IPv6 address]: https://en.wikipedia.org/wiki/IPv6_address#Unspecified_address
diff --git a/doc/api/os.md b/doc/api/os.md
index cde7d135494..85469a56293 100644
--- a/doc/api/os.md
+++ b/doc/api/os.md
@@ -47,7 +47,7 @@ added: v6.3.0
Contains commonly used operating system-specific constants for error codes,
process signals, and so on. The specific constants defined are described in
-[OS constants](#os_os_constants_1).
+[OS constants](#os-constants).
## `os.cpus()`
<!-- YAML
@@ -1283,7 +1283,7 @@ The following process scheduling constants are exported by
[Android building]: https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os
[EUID]: https://en.wikipedia.org/wiki/User_identifier#Effective_user_ID
-[`SystemError`]: errors.md#errors_class_systemerror
-[`process.arch`]: process.md#process_process_arch
-[`process.platform`]: process.md#process_process_platform
+[`SystemError`]: errors.md#class-systemerror
+[`process.arch`]: process.md#processarch
+[`process.platform`]: process.md#processplatform
[`uname(3)`]: https://linux.die.net/man/3/uname
diff --git a/doc/api/packages.md b/doc/api/packages.md
index 8817350b646..cc4964ea024 100644
--- a/doc/api/packages.md
+++ b/doc/api/packages.md
@@ -624,13 +624,12 @@ Any number of custom conditions can be set with repeat flags.
The `"import"`, `"require"`, `"node"` and `"default"` conditions are defined
and implemented in Node.js core,
-[as specified above](#packages_conditional_exports).
+[as specified above](#conditional-exports).
Other condition strings are unknown to Node.js and thus ignored by default.
Runtimes or tools other than Node.js can use them at their discretion.
-These user conditions can be enabled in Node.js via the [`--conditions`
-flag](#packages_resolving_user_conditions).
+These user conditions can be enabled in Node.js via the [`--conditions` flag][].
The following condition definitions are currently endorsed by Node.js:
@@ -642,8 +641,8 @@ The following condition definitions are currently endorsed by Node.js:
* `"production"` - can be used to define a production environment entry
point. _Must always be mutually exclusive with `"development"`._
-The above user conditions can be enabled in Node.js via the [`--conditions`
-flag](#packages_resolving_user_conditions).
+The above user conditions can be enabled in Node.js via the
+[`--conditions` flag][].
Platform specific conditions such as `"deno"`, `"electron"`, or `"react-native"`
may be used, but while there remain no implementation or integration intent
@@ -845,7 +844,7 @@ The preceding example uses explicit extensions `.mjs` and `.cjs`.
If your files use the `.js` extension, `"type": "module"` will cause such files
to be treated as ES modules, just as `"type": "commonjs"` would cause them
to be treated as CommonJS.
-See [Enabling](esm.md#esm_enabling).
+See [Enabling](esm.md#enabling).
```cjs
// ./node_modules/pkg/index.cjs
@@ -1073,7 +1072,7 @@ added: v0.4.0
```
The `"main"` field defines the script that is used when the [package directory
-is loaded via `require()`](modules.md#modules_folders_as_modules). Its value
+is loaded via `require()`](modules.md#folders-as-modules). Its value
is a path.
```cjs
@@ -1238,25 +1237,26 @@ This field defines [subpath imports][] for the current package.
[Babel]: https://babeljs.io/
[CommonJS]: modules.md
-[Conditional exports]: #packages_conditional_exports
+[Conditional exports]: #conditional-exports
[Corepack]: corepack.md
[ES module]: esm.md
[ES modules]: esm.md
[Node.js documentation for this section]: https://github.com/nodejs/node/blob/HEAD/doc/api/packages.md#conditions-definitions
-[`"exports"`]: #packages_exports
-[`"imports"`]: #packages_imports
-[`"main"`]: #packages_main
-[`"name"`]: #packages_name
-[`"packageManager"`]: #packages_packagemanager
-[`"type"`]: #packages_type
-[`ERR_PACKAGE_PATH_NOT_EXPORTED`]: errors.md#errors_err_package_path_not_exported
+[`"exports"`]: #exports
+[`"imports"`]: #imports
+[`"main"`]: #main
+[`"name"`]: #name
+[`"packageManager"`]: #packagemanager
+[`"type"`]: #type
+[`--conditions` flag]: #resolving-user-conditions
+[`ERR_PACKAGE_PATH_NOT_EXPORTED`]: errors.md#err_package_path_not_exported
[`esm`]: https://github.com/standard-things/esm#readme
-[`package.json`]: #packages_node_js_package_json_field_definitions
-[entry points]: #packages_package_entry_points
-[self-reference]: #packages_self_referencing_a_package_using_its_name
-[subpath exports]: #packages_subpath_exports
-[subpath imports]: #packages_subpath_imports
-[subpath patterns]: #packages_subpath_patterns
-[supported package managers]: corepack.md#corepack_supported_package_managers
-[the dual CommonJS/ES module packages section]: #packages_dual_commonjs_es_module_packages
-[the full specifier path]: esm.md#esm_mandatory_file_extensions
+[`package.json`]: #nodejs-packagejson-field-definitions
+[entry points]: #package-entry-points
+[self-reference]: #self-referencing-a-package-using-its-name
+[subpath exports]: #subpath-exports
+[subpath imports]: #subpath-imports
+[subpath patterns]: #subpath-patterns
+[supported package managers]: corepack.md#supported-package-managers
+[the dual CommonJS/ES module packages section]: #dual-commonjses-module-packages
+[the full specifier path]: esm.md#mandatory-file-extensions
diff --git a/doc/api/path.md b/doc/api/path.md
index 839c45da906..8dc3f4558a2 100644
--- a/doc/api/path.md
+++ b/doc/api/path.md
@@ -588,9 +588,9 @@ of the `path` methods.
The API is accessible via `require('path').win32` or `require('path/win32')`.
[MSDN-Rel-Path]: https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#fully-qualified-vs-relative-paths
-[`TypeError`]: errors.md#errors_class_typeerror
-[`path.parse()`]: #path_path_parse_path
-[`path.posix`]: #path_path_posix
-[`path.sep`]: #path_path_sep
-[`path.win32`]: #path_path_win32
+[`TypeError`]: errors.md#class-typeerror
+[`path.parse()`]: #pathparsepath
+[`path.posix`]: #pathposix
+[`path.sep`]: #pathsep
+[`path.win32`]: #pathwin32
[namespace-prefixed path]: https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#namespaces
diff --git a/doc/api/perf_hooks.md b/doc/api/perf_hooks.md
index 40d2d34178f..fcdce289dee 100644
--- a/doc/api/perf_hooks.md
+++ b/doc/api/perf_hooks.md
@@ -1036,10 +1036,10 @@ require('some-module');
[Performance Timeline]: https://w3c.github.io/performance-timeline/
[User Timing]: https://www.w3.org/TR/user-timing/
[Web Performance APIs]: https://w3c.github.io/perf-timing-primer/
-[Worker threads]: worker_threads.md#worker_threads_worker_threads
-[`'exit'`]: process.md#process_event_exit
-[`child_process.spawnSync()`]: child_process.md#child_process_child_process_spawnsync_command_args_options
-[`process.hrtime()`]: process.md#process_process_hrtime_time
+[Worker threads]: worker_threads.md#worker-threads
+[`'exit'`]: process.md#event-exit
+[`child_process.spawnSync()`]: child_process.md#child_processspawnsynccommand-args-options
+[`process.hrtime()`]: process.md#processhrtimetime
[`timeOrigin`]: https://w3c.github.io/hr-time/#dom-performance-timeorigin
[`window.performance.toJSON`]: https://developer.mozilla.org/en-US/docs/Web/API/Performance/toJSON
[`window.performance`]: https://developer.mozilla.org/en-US/docs/Web/API/Window/performance
diff --git a/doc/api/process.md b/doc/api/process.md
index bde8797aa97..eda27917c86 100644
--- a/doc/api/process.md
+++ b/doc/api/process.md
@@ -3679,63 +3679,63 @@ cases:
For example, signal `SIGABRT` has value `6`, so the expected exit
code will be `128` + `6`, or `134`.
-[Advanced serialization for `child_process`]: child_process.md#child_process_advanced_serialization
+[Advanced serialization for `child_process`]: child_process.md#advanced-serialization
[Android building]: https://github.com/nodejs/node/blob/HEAD/BUILDING.md#androidandroid-based-devices-eg-firefox-os
[Child Process]: child_process.md
[Cluster]: cluster.md
-[Duplex]: stream.md#stream_duplex_and_transform_streams
+[Duplex]: stream.md#duplex-and-transform-streams
[Event Loop]: https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#process-nexttick
[LTS]: https://github.com/nodejs/Release
-[Readable]: stream.md#stream_readable_streams
-[Signal Events]: #process_signal_events
+[Readable]: stream.md#readable-streams
+[Signal Events]: #signal-events
[Source Map]: https://sourcemaps.info/spec.html
-[Stream compatibility]: stream.md#stream_compatibility_with_older_node_js_versions
-[TTY]: tty.md#tty_tty
-[Writable]: stream.md#stream_writable_streams
-[`'exit'`]: #process_event_exit
-[`'message'`]: child_process.md#child_process_event_message
-[`'uncaughtException'`]: #process_event_uncaughtexception
-[`--unhandled-rejections`]: cli.md#cli_unhandled_rejections_mode
+[Stream compatibility]: stream.md#compatibility-with-older-nodejs-versions
+[TTY]: tty.md#tty
+[Writable]: stream.md#writable-streams
+[`'exit'`]: #event-exit
+[`'message'`]: child_process.md#event-message
+[`'uncaughtException'`]: #event-uncaughtexception
+[`--unhandled-rejections`]: cli.md#--unhandled-rejectionsmode
[`Buffer`]: buffer.md
-[`ChildProcess.disconnect()`]: child_process.md#child_process_subprocess_disconnect
-[`ChildProcess.send()`]: child_process.md#child_process_subprocess_send_message_sendhandle_options_callback
-[`ChildProcess`]: child_process.md#child_process_class_childprocess
-[`Error`]: errors.md#errors_class_error
-[`EventEmitter`]: events.md#events_class_eventemitter
-[`NODE_OPTIONS`]: cli.md#cli_node_options_options
+[`ChildProcess.disconnect()`]: child_process.md#subprocessdisconnect
+[`ChildProcess.send()`]: child_process.md#subprocesssendmessage-sendhandle-options-callback
+[`ChildProcess`]: child_process.md#class-childprocess
+[`Error`]: errors.md#class-error
+[`EventEmitter`]: events.md#class-eventemitter
+[`NODE_OPTIONS`]: cli.md#node_optionsoptions
[`Promise.race()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/race
-[`Worker`]: worker_threads.md#worker_threads_class_worker
-[`Worker` constructor]: worker_threads.md#worker_threads_new_worker_filename_options
-[`console.error()`]: console.md#console_console_error_data_args
-[`console.log()`]: console.md#console_console_log_data_args
+[`Worker`]: worker_threads.md#class-worker
+[`Worker` constructor]: worker_threads.md#new-workerfilename-options
+[`console.error()`]: console.md#consoleerrordata-args
+[`console.log()`]: console.md#consolelogdata-args
[`domain`]: domain.md
-[`net.Server`]: net.md#net_class_net_server
-[`net.Socket`]: net.md#net_class_net_socket
-[`os.constants.dlopen`]: os.md#os_dlopen_constants
-[`process.argv`]: #process_process_argv
-[`process.config`]: #process_process_config
-[`process.execPath`]: #process_process_execpath
-[`process.exit()`]: #process_process_exit_code
-[`process.exitCode`]: #process_process_exitcode
-[`process.hrtime()`]: #process_process_hrtime_time
-[`process.hrtime.bigint()`]: #process_process_hrtime_bigint
-[`process.kill()`]: #process_process_kill_pid_signal
-[`process.setUncaughtExceptionCaptureCallback()`]: #process_process_setuncaughtexceptioncapturecallback_fn
+[`net.Server`]: net.md#class-netserver
+[`net.Socket`]: net.md#class-netsocket
+[`os.constants.dlopen`]: os.md#dlopen-constants
+[`process.argv`]: #processargv
+[`process.config`]: #processconfig
+[`process.execPath`]: #processexecpath
+[`process.exit()`]: #processexitcode
+[`process.exitCode`]: #processexitcode
+[`process.hrtime()`]: #processhrtimetime
+[`process.hrtime.bigint()`]: #processhrtimebigint
+[`process.kill()`]: #processkillpid-signal
+[`process.setUncaughtExceptionCaptureCallback()`]: #processsetuncaughtexceptioncapturecallbackfn
[`promise.catch()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch
-[`queueMicrotask()`]: globals.md#globals_queuemicrotask_callback
-[`readable.read()`]: stream.md#stream_readable_read_size
-[`require()`]: globals.md#globals_require
-[`require.main`]: modules.md#modules_accessing_the_main_module
-[`subprocess.kill()`]: child_process.md#child_process_subprocess_kill_signal
-[`v8.setFlagsFromString()`]: v8.md#v8_v8_setflagsfromstring_flags
+[`queueMicrotask()`]: globals.md#queuemicrotaskcallback
+[`readable.read()`]: stream.md#readablereadsize
+[`require()`]: globals.md#require
+[`require.main`]: modules.md#accessing-the-main-module
+[`subprocess.kill()`]: child_process.md#subprocesskillsignal
+[`v8.setFlagsFromString()`]: v8.md#v8setflagsfromstringflags
[debugger]: debugger.md
[deprecation code]: deprecations.md
-[note on process I/O]: #process_a_note_on_process_i_o
-[process.cpuUsage]: #process_process_cpuusage_previousvalue
-[process_emit_warning]: #process_process_emitwarning_warning_type_code_ctor
-[process_warning]: #process_event_warning
+[note on process I/O]: #a-note-on-process-io
+[process.cpuUsage]: #processcpuusagepreviousvalue
+[process_emit_warning]: #processemitwarningwarning-type-code-ctor
+[process_warning]: #event-warning
[report documentation]: report.md
-[terminal raw mode]: tty.md#tty_readstream_setrawmode_mode
+[terminal raw mode]: tty.md#readstreamsetrawmodemode
[uv_rusage_t]: https://docs.libuv.org/en/v1.x/misc.html#c.uv_rusage_t
[wikipedia_major_fault]: https://en.wikipedia.org/wiki/Page_fault#Major
[wikipedia_minor_fault]: https://en.wikipedia.org/wiki/Page_fault#Minor
diff --git a/doc/api/punycode.md b/doc/api/punycode.md
index 7f4e5fcf003..b7183f6d396 100644
--- a/doc/api/punycode.md
+++ b/doc/api/punycode.md
@@ -152,5 +152,5 @@ Returns a string identifying the current [Punycode.js][] version number.
[Punycode]: https://tools.ietf.org/html/rfc3492
[Punycode.js]: https://github.com/bestiejs/punycode.js
-[WHATWG URL API]: url.md#url_the_whatwg_url_api
-[`url.domainToASCII`]: url.md#url_url_domaintoascii_domain
+[WHATWG URL API]: url.md#the-whatwg-url-api
+[`url.domainToASCII`]: url.md#urldomaintoasciidomain
diff --git a/doc/api/readline.md b/doc/api/readline.md
index a22939d869d..8f056c942e3 100644
--- a/doc/api/readline.md
+++ b/doc/api/readline.md
@@ -969,16 +969,16 @@ const { createInterface } = require('readline');
</tr>
</table>
-[Readable]: stream.md#stream_readable_streams
+[Readable]: stream.md#readable-streams
[TTY]: tty.md
-[TTY keybindings]: #readline_tty_keybindings
-[Writable]: stream.md#stream_writable_streams
-[`'SIGCONT'`]: #readline_event_sigcont
-[`'SIGTSTP'`]: #readline_event_sigtstp
-[`'line'`]: #readline_event_line
-[`fs.ReadStream`]: fs.md#fs_class_fs_readstream
-[`process.stdin`]: process.md#process_process_stdin
-[`process.stdout`]: process.md#process_process_stdout
-[`rl.close()`]: #readline_rl_close
-[`unref()`]: net.md#net_socket_unref
-[reading files]: #readline_example_read_file_stream_line_by_line
+[TTY keybindings]: #tty-keybindings
+[Writable]: stream.md#writable-streams
+[`'SIGCONT'`]: #event-sigcont
+[`'SIGTSTP'`]: #event-sigtstp
+[`'line'`]: #event-line
+[`fs.ReadStream`]: fs.md#class-fsreadstream
+[`process.stdin`]: process.md#processstdin
+[`process.stdout`]: process.md#processstdout
+[`rl.close()`]: #rlclose
+[`unref()`]: net.md#socketunref
+[reading files]: #example-read-file-stream-line-by-line
diff --git a/doc/api/repl.md b/doc/api/repl.md
index 998ab618006..409f70b2b39 100644
--- a/doc/api/repl.md
+++ b/doc/api/repl.md
@@ -762,18 +762,18 @@ a `net.Server` and `net.Socket` instance, see:
For an example of running a REPL instance over [`curl(1)`][], see:
<https://gist.github.com/TooTallNate/2053342>.
-[TTY keybindings]: readline.md#readline_tty_keybindings
+[TTY keybindings]: readline.md#tty-keybindings
[ZSH]: https://en.wikipedia.org/wiki/Z_shell
-[`'uncaughtException'`]: process.md#process_event_uncaughtexception
-[`--no-experimental-repl-await`]: cli.md#cli_no_experimental_repl_await
-[`ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE`]: errors.md#errors_err_domain_cannot_set_uncaught_exception_capture
-[`ERR_INVALID_REPL_INPUT`]: errors.md#errors_err_invalid_repl_input
+[`'uncaughtException'`]: process.md#event-uncaughtexception
+[`--no-experimental-repl-await`]: cli.md#--no-experimental-repl-await
+[`ERR_DOMAIN_CANNOT_SET_UNCAUGHT_EXCEPTION_CAPTURE`]: errors.md#err_domain_cannot_set_uncaught_exception_capture
+[`ERR_INVALID_REPL_INPUT`]: errors.md#err_invalid_repl_input
[`curl(1)`]: https://curl.haxx.se/docs/manpage.html
[`domain`]: domain.md
-[`process.setUncaughtExceptionCaptureCallback()`]: process.md#process_process_setuncaughtexceptioncapturecallback_fn
-[`readline.InterfaceCompleter`]: readline.md#readline_use_of_the_completer_function
-[`repl.ReplServer`]: #repl_class_replserver
-[`repl.start()`]: #repl_repl_start_options
-[`reverse-i-search`]: #repl_reverse_i_search
-[`util.inspect()`]: util.md#util_util_inspect_object_options
+[`process.setUncaughtExceptionCaptureCallback()`]: process.md#processsetuncaughtexceptioncapturecallbackfn
+[`readline.InterfaceCompleter`]: readline.md#use-of-the-completer-function
+[`repl.ReplServer`]: #class-replserver
+[`repl.start()`]: #replstartoptions
+[`reverse-i-search`]: #reverse-i-search
+[`util.inspect()`]: util.md#utilinspectobject-options
[stream]: stream.md
diff --git a/doc/api/stream.md b/doc/api/stream.md
index cd7577dbc98..a7a8bedd924 100644
--- a/doc/api/stream.md
+++ b/doc/api/stream.md
@@ -3594,76 +3594,76 @@ This is not a problem in common cases with `latin1` or `ascii`. But it is
advised to be mindful about this behavior when working with strings that could
contain multi-byte characters.
-[API for stream consumers]: #stream_api_for_stream_consumers
-[API for stream implementers]: #stream_api_for_stream_implementers
-[Compatibility]: #stream_compatibility_with_older_node_js_versions
-[HTTP requests, on the client]: http.md#http_class_http_clientrequest
-[HTTP responses, on the server]: http.md#http_class_http_serverresponse
-[TCP sockets]: net.md#net_class_net_socket
-[Three states]: #stream_three_states
-[`'data'`]: #stream_event_data
-[`'drain'`]: #stream_event_drain
-[`'end'`]: #stream_event_end
-[`'finish'`]: #stream_event_finish
-[`'readable'`]: #stream_event_readable
-[`Duplex`]: #stream_class_stream_duplex
-[`EventEmitter`]: events.md#events_class_eventemitter
-[`Readable`]: #stream_class_stream_readable
+[API for stream consumers]: #api-for-stream-consumers
+[API for stream implementers]: #api-for-stream-implementers
+[Compatibility]: #compatibility-with-older-nodejs-versions
+[HTTP requests, on the client]: http.md#class-httpclientrequest
+[HTTP responses, on the server]: http.md#class-httpserverresponse
+[TCP sockets]: net.md#class-netsocket
+[Three states]: #three-states
+[`'data'`]: #event-data
+[`'drain'`]: #event-drain
+[`'end'`]: #event-end
+[`'finish'`]: #event-finish
+[`'readable'`]: #event-readable
+[`Duplex`]: #class-streamduplex
+[`EventEmitter`]: events.md#class-eventemitter
+[`Readable`]: #class-streamreadable
[`Symbol.hasInstance`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/hasInstance
-[`Transform`]: #stream_class_stream_transform
-[`Writable`]: #stream_class_stream_writable
-[`fs.createReadStream()`]: fs.md#fs_fs_createreadstream_path_options
-[`fs.createWriteStream()`]: fs.md#fs_fs_createwritestream_path_options
-[`net.Socket`]: net.md#net_class_net_socket
-[`process.stderr`]: process.md#process_process_stderr
-[`process.stdin`]: process.md#process_process_stdin
-[`process.stdout`]: process.md#process_process_stdout
-[`readable._read()`]: #stream_readable_read_size_1
-[`readable.push('')`]: #stream_readable_push
-[`readable.setEncoding()`]: #stream_readable_setencoding_encoding
-[`stream.Readable.from()`]: #stream_stream_readable_from_iterable_options
-[`stream.addAbortSignal()`]: #stream_stream_addabortsignal_signal_stream
-[`stream.cork()`]: #stream_writable_cork
-[`stream.finished()`]: #stream_stream_finished_stream_options_callback
-[`stream.pipe()`]: #stream_readable_pipe_destination_options
-[`stream.pipeline()`]: #stream_stream_pipeline_source_transforms_destination_callback
-[`stream.uncork()`]: #stream_writable_uncork
-[`stream.unpipe()`]: #stream_readable_unpipe_destination
-[`stream.wrap()`]: #stream_readable_wrap_stream
-[`writable._final()`]: #stream_writable_final_callback
-[`writable._write()`]: #stream_writable_write_chunk_encoding_callback_1
-[`writable._writev()`]: #stream_writable_writev_chunks_callback
-[`writable.cork()`]: #stream_writable_cork
-[`writable.end()`]: #stream_writable_end_chunk_encoding_callback
-[`writable.uncork()`]: #stream_writable_uncork
-[`writable.writableFinished`]: #stream_writable_writablefinished
-[`zlib.createDeflate()`]: zlib.md#zlib_zlib_createdeflate_options
-[child process stdin]: child_process.md#child_process_subprocess_stdin
-[child process stdout and stderr]: child_process.md#child_process_subprocess_stdout
+[`Transform`]: #class-streamtransform
+[`Writable`]: #class-streamwritable
+[`fs.createReadStream()`]: fs.md#fscreatereadstreampath-options
+[`fs.createWriteStream()`]: fs.md#fscreatewritestreampath-options
+[`net.Socket`]: net.md#class-netsocket
+[`process.stderr`]: process.md#processstderr
+[`process.stdin`]: process.md#processstdin
+[`process.stdout`]: process.md#processstdout
+[`readable._read()`]: #readable_readsize
+[`readable.push('')`]: #readablepush
+[`readable.setEncoding()`]: #readablesetencodingencoding
+[`stream.Readable.from()`]: #streamreadablefromiterable-options
+[`stream.addAbortSignal()`]: #streamaddabortsignalsignal-stream
+[`stream.cork()`]: #writablecork
+[`stream.finished()`]: #streamfinishedstream-options-callback
+[`stream.pipe()`]: #readablepipedestination-options
+[`stream.pipeline()`]: #streampipelinesource-transforms-destination-callback
+[`stream.uncork()`]: #writableuncork
+[`stream.unpipe()`]: #readableunpipedestination
+[`stream.wrap()`]: #readablewrapstream
+[`writable._final()`]: #writable_finalcallback
+[`writable._write()`]: #writable_writechunk-encoding-callback
+[`writable._writev()`]: #writable_writevchunks-callback
+[`writable.cork()`]: #writablecork
+[`writable.end()`]: #writableendchunk-encoding-callback
+[`writable.uncork()`]: #writableuncork
+[`writable.writableFinished`]: #writablewritablefinished
+[`zlib.createDeflate()`]: zlib.md#zlibcreatedeflateoptions
+[child process stdin]: child_process.md#subprocessstdin
+[child process stdout and stderr]: child_process.md#subprocessstdout
[crypto]: crypto.md
-[fs read streams]: fs.md#fs_class_fs_readstream
-[fs write streams]: fs.md#fs_class_fs_writestream
-[http-incoming-message]: http.md#http_class_http_incomingmessage
-[hwm-gotcha]: #stream_highwatermark_discrepancy_after_calling_readable_setencoding
-[object-mode]: #stream_object_mode
-[readable-_construct]: #stream_readable_construct_callback
-[readable-_destroy]: #stream_readable_destroy_err_callback
-[readable-destroy]: #stream_readable_destroy_error
-[stream-_final]: #stream_writable_final_callback
-[stream-_flush]: #stream_transform_flush_callback
-[stream-_read]: #stream_readable_read_size_1
-[stream-_transform]: #stream_transform_transform_chunk_encoding_callback
-[stream-_write]: #stream_writable_write_chunk_encoding_callback_1
-[stream-_writev]: #stream_writable_writev_chunks_callback
-[stream-end]: #stream_writable_end_chunk_encoding_callback
-[stream-pause]: #stream_readable_pause
-[stream-push]: #stream_readable_push_chunk_encoding
-[stream-read]: #stream_readable_read_size
-[stream-resume]: #stream_readable_resume
-[stream-uncork]: #stream_writable_uncork
-[stream-write]: #stream_writable_write_chunk_encoding_callback
-[writable-_construct]: #stream_writable_construct_callback
-[writable-_destroy]: #stream_writable_destroy_err_callback
-[writable-destroy]: #stream_writable_destroy_error
-[writable-new]: #stream_new_stream_writable_options
+[fs read streams]: fs.md#class-fsreadstream
+[fs write streams]: fs.md#class-fswritestream
+[http-incoming-message]: http.md#class-httpincomingmessage
+[hwm-gotcha]: #highwatermark-discrepancy-after-calling-readablesetencoding
+[object-mode]: #object-mode
+[readable-_construct]: #readable_constructcallback
+[readable-_destroy]: #readable_destroyerr-callback
+[readable-destroy]: #readabledestroyerror
+[stream-_final]: #writable_finalcallback
+[stream-_flush]: #transform_flushcallback
+[stream-_read]: #readable_readsize
+[stream-_transform]: #transform_transformchunk-encoding-callback
+[stream-_write]: #writable_writechunk-encoding-callback
+[stream-_writev]: #writable_writevchunks-callback
+[stream-end]: #writableendchunk-encoding-callback
+[stream-pause]: #readablepause
+[stream-push]: #readablepushchunk-encoding
+[stream-read]: #readablereadsize
+[stream-resume]: #readableresume
+[stream-uncork]: #writableuncork
+[stream-write]: #writablewritechunk-encoding-callback
+[writable-_construct]: #writable_constructcallback
+[writable-_destroy]: #writable_destroyerr-callback
+[writable-destroy]: #writabledestroyerror
+[writable-new]: #new-streamwritableoptions
[zlib]: zlib.md
diff --git a/doc/api/string_decoder.md b/doc/api/string_decoder.md
index e0e1323cf33..42a288c7c83 100644
--- a/doc/api/string_decoder.md
+++ b/doc/api/string_decoder.md
@@ -92,4 +92,4 @@ Returns a decoded string, ensuring that any incomplete multibyte characters at
returned string and stored in an internal buffer for the next call to
`stringDecoder.write()` or `stringDecoder.end()`.
-[encoding]: buffer.md#buffer_buffers_and_character_encodings
+[encoding]: buffer.md#buffers-and-character-encodings
diff --git a/doc/api/synopsis.md b/doc/api/synopsis.md
index cb43312f358..2bbf53cdec4 100644
--- a/doc/api/synopsis.md
+++ b/doc/api/synopsis.md
@@ -86,6 +86,6 @@ Now, open any preferred web browser and visit `http://127.0.0.1:3000`.
If the browser displays the string `Hello, World!`, that indicates
the server is working.
-[Command-line options]: cli.md#cli_command_line_options
+[Command-line options]: cli.md#command-line-options
[Installing Node.js via package manager]: https://nodejs.org/en/download/package-manager/
[web server]: http.md
diff --git a/doc/api/timers.md b/doc/api/timers.md
index cfbc8f1ead4..2efd0864824 100644
--- a/doc/api/timers.md
+++ b/doc/api/timers.md
@@ -443,16 +443,16 @@ const interval = 100;
```
[Event Loop]: https://nodejs.org/en/docs/guides/event-loop-timers-and-nexttick/#setimmediate-vs-settimeout
-[`AbortController`]: globals.md#globals_class_abortcontroller
-[`TypeError`]: errors.md#errors_class_typeerror
-[`clearImmediate()`]: #timers_clearimmediate_immediate
-[`clearInterval()`]: #timers_clearinterval_timeout
-[`clearTimeout()`]: #timers_cleartimeout_timeout
-[`setImmediate()`]: #timers_setimmediate_callback_args
-[`setInterval()`]: #timers_setinterval_callback_delay_args
-[`setTimeout()`]: #timers_settimeout_callback_delay_args
-[`timersPromises.setImmediate()`]: #timers_timerspromises_setimmediate_value_options
-[`timersPromises.setInterval()`]: #timers_timerspromises_setinterval_delay_value_options
-[`timersPromises.setTimeout()`]: #timers_timerspromises_settimeout_delay_value_options
+[`AbortController`]: globals.md#class-abortcontroller
+[`TypeError`]: errors.md#class-typeerror
+[`clearImmediate()`]: #clearimmediateimmediate
+[`clearInterval()`]: #clearintervaltimeout
+[`clearTimeout()`]: #cleartimeouttimeout
+[`setImmediate()`]: #setimmediatecallback-args
+[`setInterval()`]: #setintervalcallback-delay-args
+[`setTimeout()`]: #settimeoutcallback-delay-args
+[`timersPromises.setImmediate()`]: #timerspromisessetimmediatevalue-options
+[`timersPromises.setInterval()`]: #timerspromisessetintervaldelay-value-options
+[`timersPromises.setTimeout()`]: #timerspromisessettimeoutdelay-value-options
[`worker_threads`]: worker_threads.md
-[primitive]: #timers_timeout_symbol_toprimitive
+[primitive]: #timeoutsymboltoprimitive
diff --git a/doc/api/tls.md b/doc/api/tls.md
index 2b4c6bf111f..34165f9f571 100644
--- a/doc/api/tls.md
+++ b/doc/api/tls.md
@@ -453,7 +453,7 @@ The `'secure'` event is emitted by the `SecurePair` object once a secure
connection has been established.
As with checking for the server
-[`'secureConnection'`](#tls_event_secureconnection)
+[`'secureConnection'`]()
event, `pair.cleartext.authorized` should be inspected to confirm whether the
certificate used is properly authorized.
@@ -2063,55 +2063,55 @@ added: v11.4.0
[ECDHE]: https://en.wikipedia.org/wiki/Elliptic_curve_Diffie%E2%80%93Hellman
[Mozilla's publicly trusted list of CAs]: https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt
[OCSP request]: https://en.wikipedia.org/wiki/OCSP_stapling
-[OpenSSL Options]: crypto.md#crypto_openssl_options
+[OpenSSL Options]: crypto.md#openssl-options
[RFC 2246]: https://www.ietf.org/rfc/rfc2246.txt
[RFC 4086]: https://tools.ietf.org/html/rfc4086
[RFC 4279]: https://tools.ietf.org/html/rfc4279
[RFC 5077]: https://tools.ietf.org/html/rfc5077
[RFC 5929]: https://tools.ietf.org/html/rfc5929
[SSL_METHODS]: https://www.openssl.org/docs/man1.1.1/man7/ssl.html#Dealing-with-Protocol-Methods
-[Session Resumption]: #tls_session_resumption
-[Stream]: stream.md#stream_stream
+[Session Resumption]: #session-resumption
+[Stream]: stream.md#stream
[TLS recommendations]: https://wiki.mozilla.org/Security/Server_Side_TLS
-[`'newSession'`]: #tls_event_newsession
-[`'resumeSession'`]: #tls_event_resumesession
-[`'secureConnect'`]: #tls_event_secureconnect
-[`'secureConnection'`]: #tls_event_secureconnection
-[`'session'`]: #tls_event_session
-[`--tls-cipher-list`]: cli.md#cli_tls_cipher_list_list
-[`Duplex`]: stream.md#stream_class_stream_duplex
-[`NODE_OPTIONS`]: cli.md#cli_node_options_options
+[`'newSession'`]: #event-newsession
+[`'resumeSession'`]: #event-resumesession
+[`'secureConnect'`]: #event-secureconnect
+[`'secureConnection'`]: #event-secureconnection
+[`'session'`]: #event-session
+[`--tls-cipher-list`]: cli.md#--tls-cipher-listlist
+[`Duplex`]: stream.md#class-streamduplex
+[`NODE_OPTIONS`]: cli.md#node_optionsoptions
[`SSL_export_keying_material`]: https://www.openssl.org/docs/man1.1.1/man3/SSL_export_keying_material.html
[`SSL_get_version`]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_version.html
-[`crypto.getCurves()`]: crypto.md#crypto_crypto_getcurves
-[`net.Server.address()`]: net.md#net_server_address
-[`net.Server`]: net.md#net_class_net_server
-[`net.Socket`]: net.md#net_class_net_socket
-[`net.createServer()`]: net.md#net_net_createserver_options_connectionlistener
-[`server.addContext()`]: #tls_server_addcontext_hostname_context
-[`server.getTicketKeys()`]: #tls_server_getticketkeys
-[`server.listen()`]: net.md#net_server_listen
-[`server.setTicketKeys()`]: #tls_server_setticketkeys_keys
-[`socket.connect()`]: net.md#net_socket_connect_options_connectlistener
-[`tls.DEFAULT_ECDH_CURVE`]: #tls_tls_default_ecdh_curve
-[`tls.DEFAULT_MAX_VERSION`]: #tls_tls_default_max_version
-[`tls.DEFAULT_MIN_VERSION`]: #tls_tls_default_min_version
-[`tls.Server`]: #tls_class_tls_server
-[`tls.TLSSocket.enableTrace()`]: #tls_tlssocket_enabletrace
-[`tls.TLSSocket.getPeerCertificate()`]: #tls_tlssocket_getpeercertificate_detailed
-[`tls.TLSSocket.getSession()`]: #tls_tlssocket_getsession
-[`tls.TLSSocket.getTLSTicket()`]: #tls_tlssocket_gettlsticket
-[`tls.TLSSocket`]: #tls_class_tls_tlssocket
-[`tls.connect()`]: #tls_tls_connect_options_callback
-[`tls.createSecureContext()`]: #tls_tls_createsecurecontext_options
-[`tls.createSecurePair()`]: #tls_tls_createsecurepair_context_isserver_requestcert_rejectunauthorized_options
-[`tls.createServer()`]: #tls_tls_createserver_options_secureconnectionlistener
-[`tls.getCiphers()`]: #tls_tls_getciphers
-[`tls.rootCertificates`]: #tls_tls_rootcertificates
+[`crypto.getCurves()`]: crypto.md#cryptogetcurves
+[`net.Server.address()`]: net.md#serveraddress
+[`net.Server`]: net.md#class-netserver
+[`net.Socket`]: net.md#class-netsocket
+[`net.createServer()`]: net.md#netcreateserveroptions-connectionlistener
+[`server.addContext()`]: #serveraddcontexthostname-context
+[`server.getTicketKeys()`]: #servergetticketkeys
+[`server.listen()`]: net.md#serverlisten
+[`server.setTicketKeys()`]: #serversetticketkeyskeys
+[`socket.connect()`]: net.md#socketconnectoptions-connectlistener
+[`tls.DEFAULT_ECDH_CURVE`]: #tlsdefault_ecdh_curve
+[`tls.DEFAULT_MAX_VERSION`]: #tlsdefault_max_version
+[`tls.DEFAULT_MIN_VERSION`]: #tlsdefault_min_version
+[`tls.Server`]: #class-tlsserver
+[`tls.TLSSocket.enableTrace()`]: #tlssocketenabletrace
+[`tls.TLSSocket.getPeerCertificate()`]: #tlssocketgetpeercertificatedetailed
+[`tls.TLSSocket.getSession()`]: #tlssocketgetsession
+[`tls.TLSSocket.getTLSTicket()`]: #tlssocketgettlsticket
+[`tls.TLSSocket`]: #class-tlstlssocket
+[`tls.connect()`]: #tlsconnectoptions-callback
+[`tls.createSecureContext()`]: #tlscreatesecurecontextoptions
+[`tls.createSecurePair()`]: #tlscreatesecurepaircontext-isserver-requestcert-rejectunauthorized-options
+[`tls.createServer()`]: #tlscreateserveroptions-secureconnectionlistener
+[`tls.getCiphers()`]: #tlsgetciphers
+[`tls.rootCertificates`]: #tlsrootcertificates
[asn1.js]: https://www.npmjs.com/package/asn1.js
-[certificate object]: #tls_certificate_object
+[certificate object]: #certificate-object
[cipher list format]: https://www.openssl.org/docs/man1.1.1/man1/ciphers.html#CIPHER-LIST-FORMAT
[forward secrecy]: https://en.wikipedia.org/wiki/Perfect_forward_secrecy
-[modifying the default cipher suite]: #tls_modifying_the_default_tls_cipher_suite
-[perfect forward secrecy]: #tls_perfect_forward_secrecy
+[modifying the default cipher suite]: #modifying-the-default-tls-cipher-suite
+[perfect forward secrecy]: #perfect-forward-secrecy
[specific attacks affecting larger AES key sizes]: https://www.schneier.com/blog/archives/2009/07/another_new_aes.html
diff --git a/doc/api/tracing.md b/doc/api/tracing.md
index 5c56360319a..4b7a9bd8ff1 100644
--- a/doc/api/tracing.md
+++ b/doc/api/tracing.md
@@ -209,5 +209,5 @@ console.log(trace_events.getEnabledCategories());
[Performance API]: perf_hooks.md
[V8]: v8.md
-[`Worker`]: worker_threads.md#worker_threads_class_worker
+[`Worker`]: worker_threads.md#class-worker
[`async_hooks`]: async_hooks.md
diff --git a/doc/api/tty.md b/doc/api/tty.md
index df050c8ae9e..45250c61b4b 100644
--- a/doc/api/tty.md
+++ b/doc/api/tty.md
@@ -293,7 +293,7 @@ The `tty.isatty()` method returns `true` if the given `fd` is associated with
a TTY and `false` if it is not, including whenever `fd` is not a non-negative
integer.
-[`process.stderr`]: process.md#process_process_stderr
-[`process.stdin`]: process.md#process_process_stdin
-[`process.stdout`]: process.md#process_process_stdout
-[`writeStream.getColorDepth()`]: #tty_writestream_getcolordepth_env
+[`process.stderr`]: process.md#processstderr
+[`process.stdin`]: process.md#processstdin
+[`process.stdout`]: process.md#processstdout
+[`writeStream.getColorDepth()`]: #writestreamgetcolordepthenv
diff --git a/doc/api/url.md b/doc/api/url.md
index 712e974d511..99224c7ff52 100644
--- a/doc/api/url.md
+++ b/doc/api/url.md
@@ -1653,32 +1653,32 @@ console.log(myURL.origin);
// Prints https://xn--1xa.example.com
```
-[ICU]: intl.md#intl_options_for_building_node_js
+[ICU]: intl.md#options-for-building-nodejs
[Punycode]: https://tools.ietf.org/html/rfc5891#section-4.4
-[WHATWG URL]: #url_the_whatwg_url_api
+[WHATWG URL]: #the-whatwg-url-api
[WHATWG URL Standard]: https://url.spec.whatwg.org/
-[`Error`]: errors.md#errors_class_error
+[`Error`]: errors.md#class-error
[`JSON.stringify()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
[`Map`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map
-[`TypeError`]: errors.md#errors_class_typeerror
-[`URLSearchParams`]: #url_class_urlsearchparams
+[`TypeError`]: errors.md#class-typeerror
+[`URLSearchParams`]: #class-urlsearchparams
[`array.toString()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/toString
-[`http.request()`]: http.md#http_http_request_options_callback
-[`https.request()`]: https.md#https_https_request_options_callback
-[`new URL()`]: #url_new_url_input_base
+[`http.request()`]: http.md#httprequestoptions-callback
+[`https.request()`]: https.md#httpsrequestoptions-callback
+[`new URL()`]: #new-urlinput-base
[`querystring`]: querystring.md
-[`url.domainToASCII()`]: #url_url_domaintoascii_domain
-[`url.domainToUnicode()`]: #url_url_domaintounicode_domain
-[`url.format()`]: #url_url_format_urlobject
-[`url.href`]: #url_url_href
-[`url.parse()`]: #url_url_parse_urlstring_parsequerystring_slashesdenotehost
-[`url.search`]: #url_url_search
-[`url.toJSON()`]: #url_url_tojson
-[`url.toString()`]: #url_url_tostring
-[`urlSearchParams.entries()`]: #url_urlsearchparams_entries
-[`urlSearchParams@@iterator()`]: #url_urlsearchparams_symbol_iterator
+[`url.domainToASCII()`]: #urldomaintoasciidomain
+[`url.domainToUnicode()`]: #urldomaintounicodedomain
+[`url.format()`]: #urlformaturlobject
+[`url.href`]: #urlhref
+[`url.parse()`]: #urlparseurlstring-parsequerystring-slashesdenotehost
+[`url.search`]: #urlsearch
+[`url.toJSON()`]: #urltojson
+[`url.toString()`]: #urltostring
+[`urlSearchParams.entries()`]: #urlsearchparamsentries
+[`urlSearchParams@@iterator()`]: #urlsearchparamssymboliterator
[examples of parsed URLs]: https://url.spec.whatwg.org/#example-url-parsing
[host name spoofing]: https://hackerone.com/reports/678487
-[legacy `urlObject`]: #url_legacy_urlobject
-[percent-encoded]: #whatwg-percent-encoding
+[legacy `urlObject`]: #legacy-urlobject
+[percent-encoded]: #percent-encoding-in-urls
[stable sorting algorithm]: https://en.wikipedia.org/wiki/Sorting_algorithm#Stability
diff --git a/doc/api/util.md b/doc/api/util.md
index eeb0e1b2a90..ac768c38c7e 100644
--- a/doc/api/util.md
+++ b/doc/api/util.md
@@ -2503,22 +2503,22 @@ const util = require('util');
util.log('Timestamped message.');
```
-[Common System Errors]: errors.md#errors_common_system_errors
-[Custom inspection functions on objects]: #util_custom_inspection_functions_on_objects
-[Custom promisified functions]: #util_custom_promisified_functions
-[Customizing `util.inspect` colors]: #util_customizing_util_inspect_colors
+[Common System Errors]: errors.md#common-system-errors
+[Custom inspection functions on objects]: #custom-inspection-functions-on-objects
+[Custom promisified functions]: #custom-promisified-functions
+[Customizing `util.inspect` colors]: #customizing-utilinspect-colors
[Internationalization]: intl.md
[Module Namespace Object]: https://tc39.github.io/ecma262/#sec-module-namespace-exotic-objects
[WHATWG Encoding Standard]: https://encoding.spec.whatwg.org/
-[`'uncaughtException'`]: process.md#process_event_uncaughtexception
-[`'warning'`]: process.md#process_event_warning
+[`'uncaughtException'`]: process.md#event-uncaughtexception
+[`'warning'`]: process.md#event-warning
[`Array.isArray()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray
[`ArrayBuffer.isView()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/isView
[`ArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
-[`Buffer.isBuffer()`]: buffer.md#buffer_static_method_buffer_isbuffer_obj
+[`Buffer.isBuffer()`]: buffer.md#static-method-bufferisbufferobj
[`DataView`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView
[`Date`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date
-[`Error`]: errors.md#errors_class_error
+[`Error`]: errors.md#class-error
[`Float32Array`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float32Array
[`Float64Array`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Float64Array
[`Int16Array`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array
@@ -2539,24 +2539,24 @@ util.log('Timestamped message.');
[`WeakMap`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap
[`WeakSet`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakSet
[`WebAssembly.Module`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module
-[`assert.deepStrictEqual()`]: assert.md#assert_assert_deepstrictequal_actual_expected_message
-[`console.error()`]: console.md#console_console_error_data_args
-[`napi_create_external()`]: n-api.md#n_api_napi_create_external
+[`assert.deepStrictEqual()`]: assert.md#assertdeepstrictequalactual-expected-message
+[`console.error()`]: console.md#consoleerrordata-args
+[`napi_create_external()`]: n-api.md#napi_create_external
[`target` and `handler`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy#Terminology
-[`tty.hasColors()`]: tty.md#tty_writestream_hascolors_count_env
-[`util.format()`]: #util_util_format_format_args
-[`util.inspect()`]: #util_util_inspect_object_options
-[`util.promisify()`]: #util_util_promisify_original
-[`util.types.isAnyArrayBuffer()`]: #util_util_types_isanyarraybuffer_value
-[`util.types.isArrayBuffer()`]: #util_util_types_isarraybuffer_value
-[`util.types.isDate()`]: #util_util_types_isdate_value
-[`util.types.isNativeError()`]: #util_util_types_isnativeerror_value
-[`util.types.isSharedArrayBuffer()`]: #util_util_types_issharedarraybuffer_value
+[`tty.hasColors()`]: tty.md#writestreamhascolorscount-env
+[`util.format()`]: #utilformatformat-args
+[`util.inspect()`]: #utilinspectobject-options
+[`util.promisify()`]: #utilpromisifyoriginal
+[`util.types.isAnyArrayBuffer()`]: #utiltypesisanyarraybuffervalue
+[`util.types.isArrayBuffer()`]: #utiltypesisarraybuffervalue
+[`util.types.isDate()`]: #utiltypesisdatevalue
+[`util.types.isNativeError()`]: #utiltypesisnativeerrorvalue
+[`util.types.isSharedArrayBuffer()`]: #utiltypesissharedarraybuffervalue
[async function]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function
[compare function]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#Parameters
[constructor]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor
[default sort]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
[global symbol registry]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for
-[list of deprecated APIS]: deprecations.md#deprecations_list_of_deprecated_apis
+[list of deprecated APIS]: deprecations.md#list-of-deprecated-apis
[semantically incompatible]: https://github.com/nodejs/node/issues/4179
-[util.inspect.custom]: #util_util_inspect_custom
+[util.inspect.custom]: #utilinspectcustom
diff --git a/doc/api/v8.md b/doc/api/v8.md
index cdba51d8ddb..f94231451a5 100644
--- a/doc/api/v8.md
+++ b/doc/api/v8.md
@@ -545,22 +545,22 @@ A subclass of [`Deserializer`][] corresponding to the format written by
[HTML structured clone algorithm]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
[V8]: https://developers.google.com/v8/
[`Buffer`]: buffer.md
-[`DefaultDeserializer`]: #v8_class_v8_defaultdeserializer
-[`DefaultSerializer`]: #v8_class_v8_defaultserializer
-[`Deserializer`]: #v8_class_v8_deserializer
-[`Error`]: errors.md#errors_class_error
+[`DefaultDeserializer`]: #class-v8defaultdeserializer
+[`DefaultSerializer`]: #class-v8defaultserializer
+[`Deserializer`]: #class-v8deserializer
+[`Error`]: errors.md#class-error
[`GetHeapSpaceStatistics`]: https://v8docs.nodesource.com/node-13.2/d5/dda/classv8_1_1_isolate.html#ac673576f24fdc7a33378f8f57e1d13a4
-[`NODE_V8_COVERAGE`]: cli.md#cli_node_v8_coverage_dir
-[`Serializer`]: #v8_class_v8_serializer
-[`deserializer._readHostObject()`]: #v8_deserializer_readhostobject
-[`deserializer.transferArrayBuffer()`]: #v8_deserializer_transferarraybuffer_id_arraybuffer
-[`serialize()`]: #v8_v8_serialize_value
-[`serializer._getSharedArrayBufferId()`]: #v8_serializer_getsharedarraybufferid_sharedarraybuffer
-[`serializer._writeHostObject()`]: #v8_serializer_writehostobject_object
-[`serializer.releaseBuffer()`]: #v8_serializer_releasebuffer
-[`serializer.transferArrayBuffer()`]: #v8_serializer_transferarraybuffer_id_arraybuffer
-[`serializer.writeRawBytes()`]: #v8_serializer_writerawbytes_buffer
-[`v8.stopCoverage()`]: #v8_v8_stopcoverage
-[`v8.takeCoverage()`]: #v8_v8_takecoverage
-[`vm.Script`]: vm.md#vm_new_vm_script_code_options
+[`NODE_V8_COVERAGE`]: cli.md#node_v8_coveragedir
+[`Serializer`]: #class-v8serializer
+[`deserializer._readHostObject()`]: #deserializer_readhostobject
+[`deserializer.transferArrayBuffer()`]: #deserializertransferarraybufferid-arraybuffer
+[`serialize()`]: #v8serializevalue
+[`serializer._getSharedArrayBufferId()`]: #serializer_getsharedarraybufferidsharedarraybuffer
+[`serializer._writeHostObject()`]: #serializer_writehostobjectobject
+[`serializer.releaseBuffer()`]: #serializerreleasebuffer
+[`serializer.transferArrayBuffer()`]: #serializertransferarraybufferid-arraybuffer
+[`serializer.writeRawBytes()`]: #serializerwriterawbytesbuffer
+[`v8.stopCoverage()`]: #v8stopcoverage
+[`v8.takeCoverage()`]: #v8takecoverage
+[`vm.Script`]: vm.md#new-vmscriptcode-options
[worker threads]: worker_threads.md
diff --git a/doc/api/vm.md b/doc/api/vm.md
index 49297ada3c6..cff8c9b6e23 100644
--- a/doc/api/vm.md
+++ b/doc/api/vm.md
@@ -1438,7 +1438,7 @@ which are shared by all contexts. Therefore, callbacks passed to those functions
are not controllable through the timeout either.
[Cyclic Module Record]: https://tc39.es/ecma262/#sec-cyclic-module-records
-[ECMAScript Module Loader]: esm.md#esm_modules_ecmascript_modules
+[ECMAScript Module Loader]: esm.md#modules-ecmascript-modules
[Evaluate() concrete method]: https://tc39.es/ecma262/#sec-moduleevaluation
[GetModuleNamespace]: https://tc39.es/ecma262/#sec-getmodulenamespace
[HostResolveImportedModule]: https://tc39.es/ecma262/#sec-hostresolveimportedmodule
@@ -1447,18 +1447,18 @@ are not controllable through the timeout either.
[Source Text Module Record]: https://tc39.es/ecma262/#sec-source-text-module-records
[Synthetic Module Record]: https://heycam.github.io/webidl/#synthetic-module-records
[V8 Embedder's Guide]: https://v8.dev/docs/embed#contexts
-[`ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`]: errors.md#ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING
-[`ERR_VM_MODULE_STATUS`]: errors.md#ERR_VM_MODULE_STATUS
-[`Error`]: errors.md#errors_class_error
-[`URL`]: url.md#url_class_url
+[`ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING`]: errors.md#err_vm_dynamic_import_callback_missing
+[`ERR_VM_MODULE_STATUS`]: errors.md#err_vm_module_status
+[`Error`]: errors.md#class-error
+[`URL`]: url.md#class-url
[`eval()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/eval
-[`script.runInContext()`]: #vm_script_runincontext_contextifiedobject_options
-[`script.runInThisContext()`]: #vm_script_runinthiscontext_options
-[`url.origin`]: url.md#url_url_origin
-[`vm.createContext()`]: #vm_vm_createcontext_contextobject_options
-[`vm.runInContext()`]: #vm_vm_runincontext_code_contextifiedobject_options
-[`vm.runInThisContext()`]: #vm_vm_runinthiscontext_code_options
-[contextified]: #vm_what_does_it_mean_to_contextify_an_object
+[`script.runInContext()`]: #scriptrunincontextcontextifiedobject-options
+[`script.runInThisContext()`]: #scriptruninthiscontextoptions
+[`url.origin`]: url.md#urlorigin
+[`vm.createContext()`]: #vmcreatecontextcontextobject-options
+[`vm.runInContext()`]: #vmrunincontextcode-contextifiedobject-options
+[`vm.runInThisContext()`]: #vmruninthiscontextcode-options
+[contextified]: #what-does-it-mean-to-contextify-an-object
[global object]: https://es5.github.io/#x15.1
[indirect `eval()` call]: https://es5.github.io/#x10.4.2
[origin]: https://developer.mozilla.org/en-US/docs/Glossary/Origin
diff --git a/doc/api/webcrypto.md b/doc/api/webcrypto.md
index 38521e1b29c..2a2c4ea79fd 100644
--- a/doc/api/webcrypto.md
+++ b/doc/api/webcrypto.md
@@ -1780,6 +1780,6 @@ added: v15.0.0
* Type: {string|ArrayBuffer|Buffer|TypedArray|DataView}
[JSON Web Key]: https://tools.ietf.org/html/rfc7517
-[Key usages]: #webcrypto_cryptokey_usages
+[Key usages]: #cryptokeyusages
[RFC 4122]: https://www.rfc-editor.org/rfc/rfc4122.txt
[Web Crypto API]: https://www.w3.org/TR/WebCryptoAPI/
diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md
index 2277228f82e..33f2811a83c 100644
--- a/doc/api/worker_threads.md
+++ b/doc/api/worker_threads.md
@@ -1241,63 +1241,63 @@ from the running process and will preload the same preload scripts as the main
thread. If the preload script unconditionally launches a worker thread, every
thread spawned will spawn another until the application crashes.
-[Addons worker support]: addons.md#addons_worker_support
-[ECMAScript module loader]: esm.md#esm_data_imports
+[Addons worker support]: addons.md#worker-support
+[ECMAScript module loader]: esm.md#data-imports
[HTML structured clone algorithm]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm
-[Signals events]: process.md#process_signal_events
+[Signals events]: process.md#signal-events
[Web Workers]: https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API
-[`'close'` event]: #worker_threads_event_close
-[`'exit'` event]: #worker_threads_event_exit
-[`'online'` event]: #worker_threads_event_online
+[`'close'` event]: #event-close
+[`'exit'` event]: #event-exit
+[`'online'` event]: #event-online
[`ArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
-[`AsyncResource`]: async_hooks.md#async_hooks_class_asyncresource
-[`Buffer.allocUnsafe()`]: buffer.md#buffer_static_method_buffer_allocunsafe_size
+[`AsyncResource`]: async_hooks.md#class-asyncresource
+[`Buffer.allocUnsafe()`]: buffer.md#static-method-bufferallocunsafesize
[`Buffer`]: buffer.md
-[`ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST`]: errors.md#errors_err_missing_message_port_in_transfer_list
-[`ERR_WORKER_NOT_RUNNING`]: errors.md#ERR_WORKER_NOT_RUNNING
+[`ERR_MISSING_MESSAGE_PORT_IN_TRANSFER_LIST`]: errors.md#err_missing_message_port_in_transfer_list
+[`ERR_WORKER_NOT_RUNNING`]: errors.md#err_worker_not_running
[`EventTarget`]: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget
-[`FileHandle`]: fs.md#fs_class_filehandle
-[`MessagePort`]: #worker_threads_class_messageport
+[`FileHandle`]: fs.md#class-filehandle
+[`MessagePort`]: #class-messageport
[`SharedArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer
[`Uint8Array`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array
[`WebAssembly.Module`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module
-[`Worker constructor options`]: #worker_threads_new_worker_filename_options
-[`Worker`]: #worker_threads_class_worker
+[`Worker constructor options`]: #new-workerfilename-options
+[`Worker`]: #class-worker
[`cluster` module]: cluster.md
[`data:` URL]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
-[`fs.close()`]: fs.md#fs_fs_close_fd_callback
-[`fs.open()`]: fs.md#fs_fs_open_path_flags_mode_callback
-[`markAsUntransferable()`]: #worker_threads_worker_markasuntransferable_object
-[`perf_hooks.performance`]: perf_hooks.md#perf_hooks_perf_hooks_performance
-[`perf_hooks` `eventLoopUtilization()`]: perf_hooks.md#perf_hooks_performance_eventlooputilization_utilization1_utilization2
-[`port.on('message')`]: #worker_threads_event_message
+[`fs.close()`]: fs.md#fsclosefd-callback
+[`fs.open()`]: fs.md#fsopenpath-flags-mode-callback
+[`markAsUntransferable()`]: #workermarkasuntransferableobject
+[`perf_hooks.performance`]: perf_hooks.md#perf_hooksperformance
+[`perf_hooks` `eventLoopUtilization()`]: perf_hooks.md#performanceeventlooputilizationutilization1-utilization2
+[`port.on('message')`]: #event-message
[`port.onmessage()`]: https://developer.mozilla.org/en-US/docs/Web/API/MessagePort/onmessage
-[`port.postMessage()`]: #worker_threads_port_postmessage_value_transferlist
-[`process.abort()`]: process.md#process_process_abort
-[`process.chdir()`]: process.md#process_process_chdir_directory
-[`process.env`]: process.md#process_process_env
-[`process.execArgv`]: process.md#process_process_execargv
-[`process.exit()`]: process.md#process_process_exit_code
-[`process.stderr`]: process.md#process_process_stderr
-[`process.stdin`]: process.md#process_process_stdin
-[`process.stdout`]: process.md#process_process_stdout
-[`process.title`]: process.md#process_process_title
-[`require('worker_threads').isMainThread`]: #worker_threads_worker_ismainthread
-[`require('worker_threads').parentPort.on('message')`]: #worker_threads_event_message
-[`require('worker_threads').parentPort.postMessage()`]: #worker_threads_worker_postmessage_value_transferlist
-[`require('worker_threads').parentPort`]: #worker_threads_worker_parentport
-[`require('worker_threads').threadId`]: #worker_threads_worker_threadid
-[`require('worker_threads').workerData`]: #worker_threads_worker_workerdata
+[`port.postMessage()`]: #portpostmessagevalue-transferlist
+[`process.abort()`]: process.md#processabort
+[`process.chdir()`]: process.md#processchdirdirectory
+[`process.env`]: process.md#processenv
+[`process.execArgv`]: process.md#processexecargv
+[`process.exit()`]: process.md#processexitcode
+[`process.stderr`]: process.md#processstderr
+[`process.stdin`]: process.md#processstdin
+[`process.stdout`]: process.md#processstdout
+[`process.title`]: process.md#processtitle
+[`require('worker_threads').isMainThread`]: #workerismainthread
+[`require('worker_threads').parentPort.on('message')`]: #event-message
+[`require('worker_threads').parentPort.postMessage()`]: #workerpostmessagevalue-transferlist
+[`require('worker_threads').parentPort`]: #workerparentport
+[`require('worker_threads').threadId`]: #workerthreadid
+[`require('worker_threads').workerData`]: #workerworkerdata
[`trace_events`]: tracing.md
-[`v8.getHeapSnapshot()`]: v8.md#v8_v8_getheapsnapshot
+[`v8.getHeapSnapshot()`]: v8.md#v8getheapsnapshot
[`vm`]: vm.md
-[`worker.SHARE_ENV`]: #worker_threads_worker_share_env
-[`worker.on('message')`]: #worker_threads_event_message_1
-[`worker.postMessage()`]: #worker_threads_worker_postmessage_value_transferlist
-[`worker.terminate()`]: #worker_threads_worker_terminate
-[`worker.threadId`]: #worker_threads_worker_threadid_1
-[async-resource-worker-pool]: async_hooks.md#async-resource-worker-pool
+[`worker.SHARE_ENV`]: #workershare_env
+[`worker.on('message')`]: #event-message_1
+[`worker.postMessage()`]: #workerpostmessagevalue-transferlist
+[`worker.terminate()`]: #workerterminate
+[`worker.threadId`]: #workerthreadid_1
+[async-resource-worker-pool]: async_context.md#using-asyncresource-for-a-worker-thread-pool
[browser `MessagePort`]: https://developer.mozilla.org/en-US/docs/Web/API/MessagePort
[child processes]: child_process.md
-[contextified]: vm.md#vm_what_does_it_mean_to_contextify_an_object
-[v8.serdes]: v8.md#v8_serialization_api
+[contextified]: vm.md#what-does-it-mean-to-contextify-an-object
+[v8.serdes]: v8.md#serialization-api
diff --git a/doc/api/zlib.md b/doc/api/zlib.md
index 3187195a0e0..a2ce8fe682f 100644
--- a/doc/api/zlib.md
+++ b/doc/api/zlib.md
@@ -1171,30 +1171,30 @@ changes:
Decompress a chunk of data with [`Unzip`][].
-[Brotli parameters]: #zlib_brotli_constants
-[Memory usage tuning]: #zlib_memory_usage_tuning
+[Brotli parameters]: #brotli-constants
+[Memory usage tuning]: #memory-usage-tuning
[RFC 7932]: https://www.rfc-editor.org/rfc/rfc7932.txt
[Streams API]: stream.md
-[`.flush()`]: #zlib_zlib_flush_kind_callback
+[`.flush()`]: #zlibflushkind-callback
[`Accept-Encoding`]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.3
[`ArrayBuffer`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer
-[`BrotliCompress`]: #zlib_class_zlib_brotlicompress
-[`BrotliDecompress`]: #zlib_class_zlib_brotlidecompress
-[`Buffer`]: buffer.md#buffer_class_buffer
+[`BrotliCompress`]: #class-zlibbrotlicompress
+[`BrotliDecompress`]: #class-zlibbrotlidecompress
+[`Buffer`]: buffer.md#class-buffer
[`Content-Encoding`]: https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11
[`DataView`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView
-[`DeflateRaw`]: #zlib_class_zlib_deflateraw
-[`Deflate`]: #zlib_class_zlib_deflate
-[`Gunzip`]: #zlib_class_zlib_gunzip
-[`Gzip`]: #zlib_class_zlib_gzip
-[`InflateRaw`]: #zlib_class_zlib_inflateraw
-[`Inflate`]: #zlib_class_zlib_inflate
+[`DeflateRaw`]: #class-zlibdeflateraw
+[`Deflate`]: #class-zlibdeflate
+[`Gunzip`]: #class-zlibgunzip
+[`Gzip`]: #class-zlibgzip
+[`InflateRaw`]: #class-zlibinflateraw
+[`Inflate`]: #class-zlibinflate
[`TypedArray`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray
-[`Unzip`]: #zlib_class_zlib_unzip
-[`buffer.kMaxLength`]: buffer.md#buffer_buffer_kmaxlength
+[`Unzip`]: #class-zlibunzip
+[`buffer.kMaxLength`]: buffer.md#bufferkmaxlength
[`deflateInit2` and `inflateInit2`]: https://zlib.net/manual.html#Advanced
-[`stream.Transform`]: stream.md#stream_class_stream_transform
-[`zlib.bytesWritten`]: #zlib_zlib_byteswritten
-[convenience methods]: #zlib_convenience_methods
+[`stream.Transform`]: stream.md#class-streamtransform
+[`zlib.bytesWritten`]: #zlibbyteswritten
+[convenience methods]: #convenience-methods
[zlib documentation]: https://zlib.net/manual.html#Constants
-[zlib.createGzip example]: #zlib_zlib
+[zlib.createGzip example]: #zlib