node-bin-darwin-arm64 26.3.1 → 26.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/CHANGELOG.md +351 -0
  2. package/README.md +5 -2
  3. package/bin/node +0 -0
  4. package/include/node/common.gypi +2 -1
  5. package/include/node/config.gypi +17 -1
  6. package/include/node/node.h +1 -9
  7. package/include/node/node_object_wrap.h +13 -2
  8. package/include/node/node_version.h +2 -2
  9. package/include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h +7 -2
  10. package/include/node/openssl/archs/BSD-x86/asm/include/openssl/configuration.h +3 -12
  11. package/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h +7 -2
  12. package/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/configuration.h +3 -12
  13. package/include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h +8 -3
  14. package/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/configuration.h +3 -12
  15. package/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h +7 -3
  16. package/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/configuration.h +3 -12
  17. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h +8 -3
  18. package/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/configuration.h +3 -12
  19. package/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h +7 -2
  20. package/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/configuration.h +3 -12
  21. package/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h +1 -1
  22. package/include/node/openssl/archs/VC-WIN32/asm/include/openssl/configuration.h +3 -12
  23. package/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h +1 -1
  24. package/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/configuration.h +3 -12
  25. package/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h +1 -1
  26. package/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/configuration.h +3 -12
  27. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h +1 -1
  28. package/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/configuration.h +3 -12
  29. package/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h +1 -1
  30. package/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/configuration.h +3 -12
  31. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h +1 -1
  32. package/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/configuration.h +3 -12
  33. package/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h +1 -1
  34. package/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/configuration.h +3 -12
  35. package/include/node/openssl/archs/aix64-gcc-as/asm/crypto/buildinf.h +7 -2
  36. package/include/node/openssl/archs/aix64-gcc-as/asm/include/openssl/configuration.h +3 -12
  37. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h +7 -3
  38. package/include/node/openssl/archs/aix64-gcc-as/asm_avx2/include/openssl/configuration.h +3 -12
  39. package/include/node/openssl/archs/aix64-gcc-as/no-asm/crypto/buildinf.h +7 -2
  40. package/include/node/openssl/archs/aix64-gcc-as/no-asm/include/openssl/configuration.h +3 -12
  41. package/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h +8 -3
  42. package/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/configuration.h +3 -12
  43. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h +8 -3
  44. package/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/configuration.h +3 -12
  45. package/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h +7 -2
  46. package/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/configuration.h +3 -12
  47. package/include/node/openssl/archs/darwin64-arm64-cc/asm/crypto/buildinf.h +8 -3
  48. package/include/node/openssl/archs/darwin64-arm64-cc/asm/include/openssl/configuration.h +3 -12
  49. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h +7 -2
  50. package/include/node/openssl/archs/darwin64-arm64-cc/asm_avx2/include/openssl/configuration.h +3 -12
  51. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h +7 -3
  52. package/include/node/openssl/archs/darwin64-arm64-cc/no-asm/include/openssl/configuration.h +3 -12
  53. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h +7 -2
  54. package/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/configuration.h +3 -12
  55. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h +7 -2
  56. package/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/configuration.h +3 -12
  57. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h +8 -3
  58. package/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/configuration.h +3 -12
  59. package/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h +7 -3
  60. package/include/node/openssl/archs/linux-aarch64/asm/include/openssl/configuration.h +3 -12
  61. package/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h +8 -3
  62. package/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/configuration.h +3 -12
  63. package/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h +7 -2
  64. package/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/configuration.h +3 -12
  65. package/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h +7 -3
  66. package/include/node/openssl/archs/linux-armv4/asm/include/openssl/configuration.h +3 -12
  67. package/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h +8 -3
  68. package/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/configuration.h +3 -12
  69. package/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h +7 -2
  70. package/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/configuration.h +3 -12
  71. package/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h +7 -3
  72. package/include/node/openssl/archs/linux-elf/asm/include/openssl/configuration.h +3 -12
  73. package/include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h +8 -3
  74. package/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/configuration.h +3 -12
  75. package/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h +7 -2
  76. package/include/node/openssl/archs/linux-elf/no-asm/include/openssl/configuration.h +3 -12
  77. package/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h +7 -3
  78. package/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/configuration.h +3 -12
  79. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h +8 -3
  80. package/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/configuration.h +3 -12
  81. package/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h +7 -2
  82. package/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/configuration.h +3 -12
  83. package/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h +7 -3
  84. package/include/node/openssl/archs/linux-x86_64/asm/include/openssl/configuration.h +3 -12
  85. package/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h +8 -3
  86. package/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/configuration.h +3 -12
  87. package/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h +7 -2
  88. package/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/configuration.h +3 -12
  89. package/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h +7 -2
  90. package/include/node/openssl/archs/linux32-s390x/asm/include/openssl/configuration.h +3 -12
  91. package/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h +7 -2
  92. package/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/configuration.h +3 -12
  93. package/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h +7 -2
  94. package/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/configuration.h +3 -12
  95. package/include/node/openssl/archs/linux64-loongarch64/no-asm/crypto/buildinf.h +7 -2
  96. package/include/node/openssl/archs/linux64-loongarch64/no-asm/include/openssl/configuration.h +3 -12
  97. package/include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h +7 -3
  98. package/include/node/openssl/archs/linux64-mips64/asm/include/openssl/configuration.h +3 -12
  99. package/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h +8 -3
  100. package/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/configuration.h +3 -12
  101. package/include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h +7 -2
  102. package/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/configuration.h +3 -12
  103. package/include/node/openssl/archs/linux64-riscv64/no-asm/crypto/buildinf.h +7 -2
  104. package/include/node/openssl/archs/linux64-riscv64/no-asm/include/openssl/configuration.h +3 -12
  105. package/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h +7 -3
  106. package/include/node/openssl/archs/linux64-s390x/asm/include/openssl/configuration.h +3 -12
  107. package/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h +8 -3
  108. package/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/configuration.h +3 -12
  109. package/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h +7 -2
  110. package/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/configuration.h +3 -12
  111. package/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h +7 -2
  112. package/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/configuration.h +3 -12
  113. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h +7 -2
  114. package/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/configuration.h +3 -12
  115. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h +7 -2
  116. package/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/configuration.h +3 -12
  117. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h +7 -2
  118. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/configuration.h +3 -12
  119. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h +7 -2
  120. package/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/configuration.h +3 -12
  121. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h +7 -2
  122. package/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/configuration.h +3 -12
  123. package/include/node/v8-array-buffer.h +21 -0
  124. package/include/node/v8-promise.h +2 -2
  125. package/include/node/zconf.h +26 -18
  126. package/include/node/zlib.h +215 -96
  127. package/package.json +1 -1
  128. package/share/man/man1/node.1 +139 -94
@@ -1,28 +1,11 @@
1
1
  .\"
2
- .\" This manpage is written in mdoc(7).
2
+ .\" This file was generated automatically by the @node-core/doc-kit tool.
3
+ .\" Please do not edit this file manually. Make any updates to cli.md
4
+ .\" and regenerate the file afterward.
3
5
  .\"
4
- .\" * Language reference:
5
- .\" https://man.openbsd.org/mdoc.7
6
- .\"
7
- .\" * Linting changes:
8
- .\" mandoc -Wall -Tlint /path/to/this.file # BSD
9
- .\" groff -w all -z /path/to/this.file # GNU/Linux, macOS
10
- .\"
11
- .\"
12
- .\" Before making changes, please note the following:
13
- .\"
14
- .\" * In Roff, each new sentence should begin on a new line. This gives
15
- .\" the Roff formatter better control over text-spacing, line-wrapping,
16
- .\" and paragraph justification.
17
- .\"
18
- .\" * Do not leave blank lines in the markup. If whitespace is desired
19
- .\" for readability, put a dot in the first column to indicate a null/empty
20
- .\" command. Comments and horizontal whitespace may optionally follow: each
21
- .\" of these lines are an example of a null command immediately followed by
22
- .\" a comment.
6
+ .\" To regenerate this file, run `make doc/node.1`.
23
7
  .\"
24
8
  .\"======================================================================
25
- .
26
9
  .Dd $Mdocdate$
27
10
  .Dt NODE 1
28
11
  .
@@ -38,7 +21,7 @@
38
21
  .Op Ar arguments ...
39
22
  .
40
23
  .Nm node
41
- .Cm inspect
24
+ .Cm inspect,
42
25
  .Op Ar <program-entry-point> | Fl e Ar string | Ar <host>:<port>
43
26
  .Ar ...
44
27
  .
@@ -136,12 +119,11 @@ flags are propagated via the \fBNODE_OPTIONS\fR environment variable rather than
136
119
  directly through the process arguments.
137
120
  .
138
121
  .It Fl -allow-ffi
139
- When using the Permission Model, the process will not be able to use
140
- \fBnode:ffi\fR by default.
141
- Attempts to use FFI APIs will throw an \fBERR_ACCESS_DENIED\fR exception unless
142
- the user explicitly passes the \fB--allow-ffi\fR flag when starting Node.js.
143
- The \fBnode:ffi\fR module also requires the \fB--experimental-ffi\fR flag and
144
- is only available in builds with FFI support.
122
+ When using the Permission Model, the process will not be able to use FFI
123
+ APIs by default. Attempts to use FFI APIs will throw an \fBERR_ACCESS_DENIED\fR
124
+ exception unless the user explicitly passes the \fB--allow-ffi\fR flag when
125
+ starting Node.js. The \fBnode:ffi\fR module also requires the
126
+ \fB--experimental-ffi\fR flag and is only available in builds with FFI support.
145
127
  Example:
146
128
  .Bd -literal
147
129
  const { DynamicLibrary } = require('node:ffi');
@@ -165,7 +147,7 @@ The valid arguments for the \fB--allow-fs-read\fR flag are:
165
147
  \fB*\fR - To allow all \fBFileSystemRead\fR operations.
166
148
  .It
167
149
  Multiple paths can be allowed using multiple \fB--allow-fs-read\fR flags.
168
- Example \fB--allow-fs-read=/folder1/ --allow-fs-read=/folder1/\fR
150
+ Example \fB--allow-fs-read=/folder1/ --allow-fs-read=/folder2/\fR
169
151
  .El
170
152
  Examples can be found in the File System Permissions documentation.
171
153
  The initializer module and custom \fB--require\fR modules has a implicit
@@ -179,9 +161,9 @@ The \fBcustom-require.js\fR, \fBcustom-require-2.js\fR, and \fBindex.js\fR will
179
161
  by default in the allowed read list.
180
162
  .El
181
163
  .Bd -literal
182
- process.has('fs.read', 'index.js'); // true
183
- process.has('fs.read', 'custom-require.js'); // true
184
- process.has('fs.read', 'custom-require-2.js'); // true
164
+ process.permission.has('fs.read', 'index.js'); // true
165
+ process.permission.has('fs.read', 'custom-require.js'); // true
166
+ process.permission.has('fs.read', 'custom-require-2.js'); // true
185
167
  .Ed
186
168
  .
187
169
  .It Fl -allow-fs-write
@@ -193,7 +175,7 @@ The valid arguments for the \fB--allow-fs-write\fR flag are:
193
175
  \fB*\fR - To allow all \fBFileSystemWrite\fR operations.
194
176
  .It
195
177
  Multiple paths can be allowed using multiple \fB--allow-fs-write\fR flags.
196
- Example \fB--allow-fs-write=/folder1/ --allow-fs-write=/folder1/\fR
178
+ Example \fB--allow-fs-write=/folder1/ --allow-fs-write=/folder2/\fR
197
179
  .El
198
180
  Paths delimited by comma (\fB,\fR) are no longer allowed.
199
181
  When passing a single flag with a comma a warning will be displayed.
@@ -326,7 +308,7 @@ $ node --snapshot-blob snapshot.blob
326
308
  I am from the snapshot
327
309
  .Ed
328
310
  For more information, check out the \fBv8.startupSnapshot\fR API documentation.
329
- The snapshot currently only supports loding a single entrypoint during the
311
+ The snapshot currently only supports loading a single entrypoint during the
330
312
  snapshot building process, which can load built-in modules, but not additional user-land modules.
331
313
  Users can bundle their applications into a single script with their bundler
332
314
  of choice before building a snapshot.
@@ -479,36 +461,26 @@ vm.measureMemory();
479
461
  .Ed
480
462
  .
481
463
  .It Fl -disable-wasm-trap-handler
482
- By default, Node.js enables trap-handler-based WebAssembly bound
483
- checks. As a result, V8 does not need to insert inline bound checks
484
- in the code compiled from WebAssembly which may speed up WebAssembly
485
- execution significantly, but this optimization requires allocating
486
- a big virtual memory cage (currently 10GB). If the Node.js process
487
- does not have access to a large enough virtual memory address space
488
- due to system configurations or hardware limitations, users won't
489
- be able to run any WebAssembly that involves allocation in this
490
- virtual memory cage and will see an out-of-memory error.
491
- .Bd -literal
492
- $ ulimit -v 5000000
493
- $ node -p "new WebAssembly.Memory({ initial: 10, maximum: 100 });"
494
- [eval]:1
495
- new WebAssembly.Memory({ initial: 10, maximum: 100 });
496
- ^
497
-
498
- RangeError: WebAssembly.Memory(): could not allocate memory
499
- at [eval]:1:1
500
- at runScriptInThisContext (node:internal/vm:209:10)
501
- at node:internal/process/execution:118:14
502
- at [eval]-wrapper:6:24
503
- at runScript (node:internal/process/execution:101:62)
504
- at evalScript (node:internal/process/execution:136:3)
505
- at node:internal/main/eval_string:49:3
506
-
507
- .Ed
508
- \fB--disable-wasm-trap-handler\fR disables this optimization so that
509
- users can at least run WebAssembly (with less optimal performance)
510
- when the virtual memory address space available to their Node.js
511
- process is lower than what the V8 WebAssembly memory cage needs.
464
+ Node.js enables V8's trap-handler-based WebAssembly bound checks on 64-bit platforms,
465
+ which significantly improves WebAssembly performance by eliminating the need for
466
+ inline bound checks. This optimization requires allocating a large virtual memory
467
+ cage per WebAssembly memory instance (currently typically 8GB for 32-bit WebAssembly memory,
468
+ 16GB for 64-bit WebAssembly memory) to trap out-of-bound accesses. On most 64-bit
469
+ platforms, the virtual memory address space is usually large enough (around 128TB)
470
+ to accommodate typical WebAssembly usages, but if the machine has manual limits
471
+ on virtual memory (e.g. through \fBulimit -v\fR), WebAssembly memory allocation is
472
+ more likely to fail with \fBWebAssembly.Memory(): could not allocate memory\fR.
473
+ At startup, Node.js automatically checks whether there is enough virtual memory
474
+ available to allocate at least one cage, and if not, the trap-handler optimization
475
+ is automatically disabled so that WebAssembly can still run using inline
476
+ bound checks (with less optimal performance). But if the application needs to create
477
+ many WebAssembly memory instances and the machine still configures a relatively high
478
+ limit on virtual memory, allocation of WebAssembly memory instances may still fail
479
+ more quickly than expected due to the raised virtual memory usage.
480
+ \fB--disable-wasm-trap-handler\fR fully disables this optimization so that WebAssembly memory
481
+ instances always use inline bound checks instead of reserving large virtual memory cages.
482
+ This allows more instances to be created when the virtual memory address space available
483
+ to the Node.js process is limited.
512
484
  .
513
485
  .It Fl -disallow-code-generation-from-strings
514
486
  Make built-in language features like \fBeval\fR and \fBnew Function\fR that generate
@@ -614,6 +586,8 @@ can use the \fB--env-file-if-exists\fR flag instead.
614
586
  .It Fl e , Fl -eval Ar "script"
615
587
  Evaluate the following argument as JavaScript. The modules which are
616
588
  predefined in the REPL can also be used in \fBscript\fR.
589
+ If \fBscript\fR starts with \fB-\fR, pass it using \fB=\fR (for example,
590
+ \fBnode --print --eval=-42\fR) so it is parsed as the value of \fB--eval\fR.
617
591
  On Windows, using \fBcmd.exe\fR a single quote will not work correctly because it
618
592
  only recognizes double \fB"\fR for quoting. In Powershell or Git bash, both \fB'\fR
619
593
  and \fB"\fR are usable.
@@ -623,15 +597,18 @@ It is possible to run code containing inline types unless the
623
597
  .It Fl -experimental-addon-modules
624
598
  Enable experimental import support for \fB.node\fR addons.
625
599
  .
626
- .It Fl -experimental-config-file= Ns Ar config , Fl -experimental-config-file , Fl -experimental-default-config-file
600
+ .It Fl -experimental-config-file Ns = Ns Ar path , Fl -experimental-config-file
627
601
  If present, Node.js will look for a configuration file at the specified path.
628
602
  If the path is not specified, Node.js will look for a \fBnode.config.json\fR file
629
603
  in the current working directory.
630
- To specify a custom path, use the \fB--experimental-config-file=\fR\fBpath\fR form.
604
+ To specify a custom path, use the \fB--experimental-config-file=path\fR form.
631
605
  The space-separated \fB--experimental-config-file path\fR form is not supported.
606
+ The alias \fB--experimental-default-config-file\fR is equivalent to
607
+ \fB--experimental-config-file\fR without an argument.
632
608
  Node.js will read the configuration file and apply the settings. The
633
609
  configuration file should be a JSON file with the following structure. \fBvX.Y.Z\fR
634
- in the \fB$schema\fR must be replaced with the version of Node.js you are using.
610
+ in the \fB$schema\fR must be replaced with the version of Node.js you are using or
611
+ \fBlatest-vX.x\fR for the latest version of that major release line.
635
612
  .Bd -literal
636
613
  {
637
614
  "$schema": "https://nodejs.org/dist/vX.Y.Z/docs/node-config-schema.json",
@@ -657,6 +634,39 @@ The \fBnodeOptions\fR field contains CLI flags that are allowed in \fBNODE_OPTIO
657
634
  .It
658
635
  Namespace fields like \fBtest\fR, \fBwatch\fR, and \fBpermission\fR contain configuration specific to that subsystem.
659
636
  .El
637
+ The configuration file can target a specific Node.js major version with
638
+ \fBnodeVersion\fR:
639
+ .Bd -literal
640
+ {
641
+ "nodeVersion": 25,
642
+ "nodeOptions": {
643
+ "watch-path": "src"
644
+ }
645
+ }
646
+ .Ed
647
+ To keep multiple version-specific configurations in the same file, use the
648
+ \fBconfigs\fR array. Node.js will use the first entry whose \fBnodeVersion\fR matches
649
+ the current Node.js major version:
650
+ .Bd -literal
651
+ {
652
+ "$schema": "https://nodejs.org/dist/latest-v26.x/docs/node-config-schema.json",
653
+ "configs": [
654
+ {
655
+ "nodeVersion": 25,
656
+ "config": {
657
+ "$schema": "https://nodejs.org/dist/latest-v25.x/docs/node-config-schema.json",
658
+ "nodeOptions": {
659
+ "watch-path": "src"
660
+ }
661
+ }
662
+ }
663
+ ]
664
+ }
665
+ .Ed
666
+ When \fBconfigs\fR is used, the top level may only contain \fB$schema\fR and
667
+ \fBconfigs\fR. Each \fBconfigs\fR item must define an integer \fBnodeVersion\fR and an
668
+ object \fBconfig\fR. A single top-level config does not require \fBnodeVersion\fR, but
669
+ if present it must match the current Node.js major version.
660
670
  When a namespace is present in the
661
671
  configuration file, Node.js automatically enables the corresponding flag
662
672
  (e.g., \fB--test\fR, \fB--watch\fR, \fB--permission\fR). This allows you to configure
@@ -700,13 +710,13 @@ The priority in configuration is as follows:
700
710
  .It
701
711
  NODE_OPTIONS and command-line options
702
712
  .It
703
- Configuration file
704
- .It
705
713
  Dotenv NODE_OPTIONS
714
+ .It
715
+ Configuration file
706
716
  .El
707
717
  Values in the configuration file will not override the values in the environment
708
- variables and command-line options, but will override the values in the \fBNODE_OPTIONS\fR
709
- env file parsed by the \fB--env-file\fR flag.
718
+ variables, command-line options, or the \fBNODE_OPTIONS\fR env file parsed by the
719
+ \fB--env-file\fR flag.
710
720
  Keys cannot be duplicated within the same or different namespaces.
711
721
  The configuration parser will throw an error if the configuration file contains
712
722
  unknown keys or keys that cannot be used in a namespace.
@@ -731,6 +741,10 @@ Enable experimental \fBimport.meta.resolve()\fR parent URL support, which allows
731
741
  passing a second \fBparentURL\fR argument for contextual resolution.
732
742
  Previously gated the entire \fBimport.meta.resolve\fR feature.
733
743
  .
744
+ .It Fl -experimental-import-text
745
+ Enable experimental support for importing modules with
746
+ \fBwith { type: 'text' }\fR.
747
+ .
734
748
  .It Fl -experimental-inspector-network-resource
735
749
  Enable experimental support for inspector network resources.
736
750
  .
@@ -742,19 +756,24 @@ This feature requires \fB--allow-worker\fR if used with the Permission Model.
742
756
  .It Fl -experimental-network-inspection
743
757
  Enable experimental support for the network inspection with Chrome DevTools.
744
758
  .
759
+ .It Fl -experimental-package-map Ns = Ns Ar <path>
760
+ Enable experimental package map resolution. The \fBpath\fR argument specifies the
761
+ location of a JSON configuration file that defines package resolution mappings.
762
+ .Bd -literal
763
+ node --experimental-package-map=./package-map.json app.js
764
+ .Ed
765
+ When enabled, bare specifier resolution consults the package map for resolution.
766
+ This allows explicit control over which packages can import which dependencies.
767
+ See Package maps for details on the configuration file format and
768
+ resolution algorithm.
769
+ .
745
770
  .It Fl -experimental-print-required-tla
746
- If the ES module being \fBrequire()\fR'd contains top-level \fBawait\fR, this flag
747
- allows Node.js to evaluate the module, try to locate the
748
- top-level awaits, and print their location to help users find them.
771
+ If the ES module graph cannot be \fBrequire()\fR'd because it contains any top-level \fBawait\fR,
772
+ this flag allows Node.js to locate and print their locations.
749
773
  .
750
774
  .It Fl -experimental-quic
751
775
  Enable experimental support for the QUIC protocol.
752
776
  .
753
- .It Fl -experimental-stream-iter
754
- Enable the experimental
755
- .Sy node:stream/iter
756
- module.
757
- .
758
777
  .It Fl -experimental-sea-config
759
778
  Use this flag to generate a blob that can be injected into the Node.js
760
779
  binary to produce a single executable application. See the documentation
@@ -766,6 +785,9 @@ Use this flag to enable ShadowRealm support.
766
785
  .It Fl -experimental-storage-inspection
767
786
  Enable experimental support for storage inspection
768
787
  .
788
+ .It Fl -experimental-stream-iter
789
+ Enable the experimental \fBnode:stream/iter\fR module.
790
+ .
769
791
  .It Fl -experimental-test-coverage
770
792
  When used in conjunction with the \fBnode:test\fR module, a code coverage report is
771
793
  generated as part of the test runner output. If no tests are run, a coverage
@@ -776,9 +798,17 @@ collecting code coverage from tests for more details.
776
798
  Enable module mocking in the test runner.
777
799
  This feature requires \fB--allow-worker\fR if used with the Permission Model.
778
800
  .
779
- .It Fl -experimental-test-tag-filter Ar tag
780
- Run only tests whose tag set contains \fItag\fR. May be specified multiple
781
- times; tests must contain every filter to run.
801
+ .It Fl -experimental-test-tag-filter Ns = Ns Ar <tag>
802
+ Run only tests whose tag set contains \fB<tag>\fR. Tests declare tags via the
803
+ \fBtags\fR option on \fBtest()\fR, \fBit()\fR, \fBsuite()\fR, or \fBdescribe()\fR; tags
804
+ inherit from suites to nested tests by union. Filtering is
805
+ case-insensitive.
806
+ The flag may be specified more than once; tests must contain \fBevery\fR
807
+ filter value to run. See Test tags for details on declaring and
808
+ inheriting tags.
809
+ .
810
+ .It Fl -experimental-vfs
811
+ Enable the experimental \fBnode:vfs\fR module.
782
812
  .
783
813
  .It Fl -experimental-vm-modules
784
814
  Enable experimental ES Module support in the \fBnode:vm\fR module.
@@ -971,6 +1001,8 @@ Activate inspector on \fBhost:port\fR and break at start of user script.
971
1001
  Default \fBhost:port\fR is \fB127.0.0.1:9229\fR. If port \fB0\fR is specified,
972
1002
  a random available port will be used.
973
1003
  See V8 Inspector integration for Node.js for further explanation on Node.js debugger.
1004
+ See the security warning below regarding the \fBhost\fR
1005
+ parameter usage.
974
1006
  .
975
1007
  .It Fl -inspect-port Ns = Ns Ar [host:]port
976
1008
  Set the \fBhost:port\fR to be used when the inspector is activated.
@@ -991,6 +1023,8 @@ Activate inspector on \fBhost:port\fR and wait for debugger to be attached.
991
1023
  Default \fBhost:port\fR is \fB127.0.0.1:9229\fR. If port \fB0\fR is specified,
992
1024
  a random available port will be used.
993
1025
  See V8 Inspector integration for Node.js for further explanation on Node.js debugger.
1026
+ See the security warning below regarding the \fBhost\fR
1027
+ parameter usage.
994
1028
  .
995
1029
  .It Fl -inspect Ns = Ns Ar [[host:]port]
996
1030
  Activate inspector on \fBhost:port\fR. Default is \fB127.0.0.1:9229\fR. If port \fB0\fR is
@@ -1400,19 +1434,20 @@ Configures the test runner to only execute top level tests that have the \fBonly
1400
1434
  option set. This flag is not necessary when test isolation is disabled.
1401
1435
  .
1402
1436
  .It Fl -test-random-seed
1403
- Set the seed used to randomize test execution order.
1404
- This applies to both test file execution order and queued tests within each file.
1405
- Providing this flag enables randomization implicitly, even without
1406
- \fB--test-randomize\fR.
1407
- The value must be an integer between 0 and 4294967295.
1437
+ Set the seed used to randomize test execution order. This applies to both test
1438
+ file execution order and queued tests within each file. Providing this flag
1439
+ enables randomization implicitly, even without \fB--test-randomize\fR.
1440
+ The value must be an integer between \fB0\fR and \fB4294967295\fR.
1408
1441
  This flag cannot be used with \fB--watch\fR or \fB--test-rerun-failures\fR.
1409
1442
  .
1410
1443
  .It Fl -test-randomize
1411
- Randomize test execution order.
1412
- This applies to both test file execution order and queued tests within each file.
1413
- This can help detect tests that rely on shared state or execution order.
1444
+ Randomize test execution order. This applies to both test file execution order
1445
+ and queued tests within each file. This can help detect tests that rely on
1446
+ shared state or execution order.
1414
1447
  The seed used for randomization is printed in the test summary and can be
1415
1448
  reused with \fB--test-random-seed\fR.
1449
+ For detailed behavior and examples, see
1450
+ randomizing tests execution order.
1416
1451
  This flag cannot be used with \fB--watch\fR or \fB--test-rerun-failures\fR.
1417
1452
  .
1418
1453
  .It Fl -test-reporter
@@ -1920,12 +1955,16 @@ one is included in the list below.
1920
1955
  .It
1921
1956
  \fB--experimental-import-meta-resolve\fR
1922
1957
  .It
1958
+ \fB--experimental-import-text\fR
1959
+ .It
1923
1960
  \fB--experimental-json-modules\fR
1924
1961
  .It
1925
1962
  \fB--experimental-loader\fR
1926
1963
  .It
1927
1964
  \fB--experimental-modules\fR
1928
1965
  .It
1966
+ \fB--experimental-package-map\fR
1967
+ .It
1929
1968
  \fB--experimental-print-required-tla\fR
1930
1969
  .It
1931
1970
  \fB--experimental-quic\fR
@@ -1936,10 +1975,14 @@ one is included in the list below.
1936
1975
  .It
1937
1976
  \fB--experimental-specifier-resolution\fR
1938
1977
  .It
1978
+ \fB--experimental-stream-iter\fR
1979
+ .It
1939
1980
  \fB--experimental-test-isolation\fR
1940
1981
  .It
1941
1982
  \fB--experimental-top-level-await\fR
1942
1983
  .It
1984
+ \fB--experimental-vfs\fR
1985
+ .It
1943
1986
  \fB--experimental-vm-modules\fR
1944
1987
  .It
1945
1988
  \fB--experimental-wasi-unstable-preview1\fR
@@ -2036,10 +2079,10 @@ one is included in the list below.
2036
2079
  .It
2037
2080
  \fB--pending-deprecation\fR
2038
2081
  .It
2039
- \fB--permission\fR
2040
- .It
2041
2082
  \fB--permission-audit\fR
2042
2083
  .It
2084
+ \fB--permission\fR
2085
+ .It
2043
2086
  \fB--preserve-symlinks-main\fR
2044
2087
  .It
2045
2088
  \fB--preserve-symlinks\fR
@@ -2094,11 +2137,11 @@ one is included in the list below.
2094
2137
  .It
2095
2138
  \fB--test-only\fR
2096
2139
  .It
2097
- \fB--test-reporter-destination\fR
2140
+ \fB--test-random-seed\fR
2098
2141
  .It
2099
2142
  \fB--test-randomize\fR
2100
2143
  .It
2101
- \fB--test-random-seed\fR
2144
+ \fB--test-reporter-destination\fR
2102
2145
  .It
2103
2146
  \fB--test-reporter\fR
2104
2147
  .It
@@ -2197,6 +2240,8 @@ V8 options that are allowed are:
2197
2240
  .It
2198
2241
  \fB--jitless\fR
2199
2242
  .It
2243
+ \fB--max-heap-size\fR
2244
+ .It
2200
2245
  \fB--max-old-space-size\fR
2201
2246
  .It
2202
2247
  \fB--max-semi-space-size\fR