@encharm/cws 4.4.1 → 4.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/dist/bindings/cws_darwin_arm64_node115.node +0 -0
  2. package/dist/bindings/cws_darwin_arm64_node127.node +0 -0
  3. package/dist/bindings/cws_linux_arm64_node115.node +0 -0
  4. package/dist/bindings/cws_linux_arm64_node127.node +0 -0
  5. package/dist/bindings/cws_linux_x64_node115.node +0 -0
  6. package/dist/bindings/cws_linux_x64_node127.node +0 -0
  7. package/dist/bindings/cws_win32_x64_node108.node +0 -0
  8. package/dist/bindings/cws_win32_x64_node115.node +0 -0
  9. package/dist/bindings/cws_win32_x64_node127.node +0 -0
  10. package/dist/bindings/cws_win32_x64_node83.node +0 -0
  11. package/dist/bindings/cws_win32_x64_node93.node +0 -0
  12. package/package.json +1 -1
  13. package/src/Addon.h +8 -23
  14. package/src/Socket.h +0 -1
  15. package/src/headers/22/acorn_version.h +6 -0
  16. package/src/headers/22/aliased_buffer-inl.h +243 -0
  17. package/src/headers/22/aliased_buffer.h +206 -0
  18. package/src/headers/{18 → 22}/async_wrap-inl.h +8 -6
  19. package/src/headers/{18 → 22}/async_wrap.h +65 -59
  20. package/src/headers/{16 → 22}/base_object-inl.h +57 -117
  21. package/src/headers/{18 → 22}/base_object.h +58 -30
  22. package/src/headers/22/base_object_types.h +74 -0
  23. package/src/headers/22/blob_serializer_deserializer-inl.h +385 -0
  24. package/src/headers/22/blob_serializer_deserializer.h +132 -0
  25. package/src/headers/{16 → 22}/callback_queue.h +1 -0
  26. package/src/headers/{16 → 22}/cares_wrap.h +27 -20
  27. package/src/headers/22/cjs_module_lexer_version.h +6 -0
  28. package/src/headers/22/cleanup_queue-inl.h +62 -0
  29. package/src/headers/22/cleanup_queue.h +85 -0
  30. package/src/headers/22/compile_cache.h +104 -0
  31. package/src/headers/{18 → 22}/crypto/crypto_clienthello.h +1 -1
  32. package/src/headers/{18 → 22}/crypto/crypto_context.h +31 -7
  33. package/src/headers/{18 → 22}/crypto/crypto_keys.h +118 -148
  34. package/src/headers/{18 → 22}/crypto/crypto_tls.h +20 -5
  35. package/src/headers/{18 → 22}/crypto/crypto_util.h +219 -263
  36. package/src/headers/22/crypto/ncrypto.h +752 -0
  37. package/src/headers/{16 → 22}/debug_utils-inl.h +15 -7
  38. package/src/headers/{18 → 22}/debug_utils.h +25 -19
  39. package/src/headers/22/encoding_binding.h +59 -0
  40. package/src/headers/{14 → 22}/env-inl.h +276 -409
  41. package/src/headers/22/env.h +1266 -0
  42. package/src/headers/22/env_properties.h +497 -0
  43. package/src/headers/{18 → 22}/handle_wrap.h +2 -0
  44. package/src/headers/{18 → 22}/histogram.h +88 -48
  45. package/src/headers/{16 → 22}/inspector_agent.h +17 -1
  46. package/src/headers/{16 → 22}/inspector_profiler.h +15 -13
  47. package/src/headers/{18 → 22}/js_native_api.h +78 -30
  48. package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
  49. package/src/headers/{18 → 22}/js_native_api_v8.h +206 -161
  50. package/src/headers/{18 → 22}/js_native_api_v8_internals.h +6 -0
  51. package/src/headers/22/json_parser.h +40 -0
  52. package/src/headers/{16 → 22}/json_utils.h +19 -8
  53. package/src/headers/{18 → 22}/memory_tracker-inl.h +16 -13
  54. package/src/headers/{14 → 22}/memory_tracker.h +13 -8
  55. package/src/headers/{16 → 22}/module_wrap.h +49 -19
  56. package/src/headers/22/ncrypto/ncrypto.h +752 -0
  57. package/src/headers/{18 → 22}/node.h +465 -68
  58. package/src/headers/{18 → 22}/node_api.h +66 -81
  59. package/src/headers/{18 → 22}/node_api_internals.h +8 -4
  60. package/src/headers/{18 → 22}/node_api_types.h +5 -0
  61. package/src/headers/22/node_binding.h +154 -0
  62. package/src/headers/{18 → 22}/node_blob.h +46 -78
  63. package/src/headers/{18 → 22}/node_bob-inl.h +1 -2
  64. package/src/headers/{18 → 22}/node_bob.h +2 -6
  65. package/src/headers/{18 → 22}/node_buffer.h +1 -1
  66. package/src/headers/22/node_builtins.h +220 -0
  67. package/src/headers/{18 → 22}/node_constants.h +3 -5
  68. package/src/headers/22/node_context_data.h +168 -0
  69. package/src/headers/22/node_contextify.h +199 -0
  70. package/src/headers/{16 → 22}/node_crypto.h +1 -2
  71. package/src/headers/22/node_dotenv.h +45 -0
  72. package/src/headers/{18 → 22}/node_errors.h +86 -27
  73. package/src/headers/22/node_exit_code.h +54 -0
  74. package/src/headers/22/node_external_reference.h +249 -0
  75. package/src/headers/{18 → 22}/node_file-inl.h +127 -30
  76. package/src/headers/{16 → 22}/node_file.h +122 -11
  77. package/src/headers/{18 → 22}/node_http2.h +28 -11
  78. package/src/headers/{16 → 22}/node_http2_state.h +34 -25
  79. package/src/headers/{18 → 22}/node_http_common-inl.h +2 -1
  80. package/src/headers/{18 → 22}/node_http_common.h +56 -55
  81. package/src/headers/{16 → 22}/node_i18n.h +5 -18
  82. package/src/headers/{18 → 22}/node_internals.h +121 -59
  83. package/src/headers/{18 → 22}/node_main_instance.h +4 -31
  84. package/src/headers/{18 → 22}/node_messaging.h +27 -10
  85. package/src/headers/{18 → 22}/node_metadata.h +23 -1
  86. package/src/headers/{18 → 22}/node_options-inl.h +24 -11
  87. package/src/headers/{18 → 22}/node_options.h +124 -39
  88. package/src/headers/{18 → 22}/node_perf.h +0 -2
  89. package/src/headers/{18 → 22}/node_perf_common.h +20 -9
  90. package/src/headers/{18 → 22}/node_platform.h +11 -5
  91. package/src/headers/{18 → 22}/node_process.h +26 -14
  92. package/src/headers/22/node_realm-inl.h +145 -0
  93. package/src/headers/22/node_realm.h +184 -0
  94. package/src/headers/{16 → 22}/node_report.h +13 -17
  95. package/src/headers/{16 → 22}/node_revert.h +3 -3
  96. package/src/headers/{16 → 22}/node_root_certs.h +902 -461
  97. package/src/headers/22/node_sea.h +64 -0
  98. package/src/headers/22/node_shadow_realm.h +46 -0
  99. package/src/headers/22/node_snapshot_builder.h +57 -0
  100. package/src/headers/22/node_snapshotable.h +174 -0
  101. package/src/headers/{18 → 22}/node_sockaddr.h +2 -2
  102. package/src/headers/{16 → 22}/node_stat_watcher.h +2 -1
  103. package/src/headers/22/node_threadsafe_cow-inl.h +54 -0
  104. package/src/headers/22/node_threadsafe_cow.h +105 -0
  105. package/src/headers/22/node_union_bytes.h +81 -0
  106. package/src/headers/22/node_url.h +96 -0
  107. package/src/headers/22/node_v8.h +77 -0
  108. package/src/headers/{14 → 22}/node_v8_platform-inl.h +17 -6
  109. package/src/headers/{18 → 22}/node_version.h +20 -8
  110. package/src/headers/22/node_wasi.h +185 -0
  111. package/src/headers/{14 → 22}/node_watchdog.h +2 -0
  112. package/src/headers/{18 → 22}/node_worker.h +7 -2
  113. package/src/headers/22/permission/child_process_permission.h +31 -0
  114. package/src/headers/22/permission/fs_permission.h +167 -0
  115. package/src/headers/22/permission/inspector_permission.h +31 -0
  116. package/src/headers/22/permission/permission.h +99 -0
  117. package/src/headers/22/permission/permission_base.h +60 -0
  118. package/src/headers/22/permission/wasi_permission.h +31 -0
  119. package/src/headers/22/permission/worker_permission.h +31 -0
  120. package/src/headers/{16 → 22}/req_wrap-inl.h +7 -6
  121. package/src/headers/{14 → 22}/spawn_sync.h +3 -3
  122. package/src/headers/{18 → 22}/stream_base-inl.h +0 -135
  123. package/src/headers/{18 → 22}/stream_base.h +35 -16
  124. package/src/headers/{18 → 22}/stream_pipe.h +3 -4
  125. package/src/headers/{16 → 22}/stream_wrap.h +2 -1
  126. package/src/headers/{18 → 22}/string_bytes.h +5 -14
  127. package/src/headers/{14 → 22}/string_decoder-inl.h +0 -6
  128. package/src/headers/{16 → 22}/string_decoder.h +0 -1
  129. package/src/headers/{18 → 22}/tcp_wrap.h +1 -1
  130. package/src/headers/{18 → 22}/threadpoolwork-inl.h +14 -1
  131. package/src/headers/22/timers.h +76 -0
  132. package/src/headers/{18 → 22}/tracing/trace_event.h +7 -5
  133. package/src/headers/{16 → 22}/udp_wrap.h +8 -5
  134. package/src/headers/22/undici_version.h +6 -0
  135. package/src/headers/{18 → 22}/util-inl.h +97 -127
  136. package/src/headers/{18 → 22}/util.h +293 -106
  137. package/src/headers/{18 → 22}/v8-fast-api-calls.h +103 -58
  138. package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
  139. package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
  140. package/dist/bindings/cws_darwin_x64_node83.node +0 -0
  141. package/dist/bindings/cws_darwin_x64_node93.node +0 -0
  142. package/dist/bindings/cws_linux_arm64_node83.node +0 -0
  143. package/dist/bindings/cws_linux_arm64_node93.node +0 -0
  144. package/dist/bindings/cws_linux_x64_node83.node +0 -0
  145. package/dist/bindings/cws_linux_x64_node93.node +0 -0
  146. package/src/headers/14/aliased_buffer.h +0 -263
  147. package/src/headers/14/allocated_buffer-inl.h +0 -110
  148. package/src/headers/14/allocated_buffer.h +0 -73
  149. package/src/headers/14/async_wrap-inl.h +0 -94
  150. package/src/headers/14/async_wrap.h +0 -230
  151. package/src/headers/14/base64.h +0 -183
  152. package/src/headers/14/base_object-inl.h +0 -371
  153. package/src/headers/14/base_object.h +0 -281
  154. package/src/headers/14/callback_queue-inl.h +0 -97
  155. package/src/headers/14/callback_queue.h +0 -78
  156. package/src/headers/14/debug_utils-inl.h +0 -223
  157. package/src/headers/14/debug_utils.h +0 -181
  158. package/src/headers/14/env.h +0 -1388
  159. package/src/headers/14/handle_wrap.h +0 -117
  160. package/src/headers/14/histogram-inl.h +0 -83
  161. package/src/headers/14/histogram.h +0 -98
  162. package/src/headers/14/inspector_agent.h +0 -149
  163. package/src/headers/14/inspector_profiler.h +0 -137
  164. package/src/headers/14/js_native_api.h +0 -544
  165. package/src/headers/14/js_native_api_types.h +0 -143
  166. package/src/headers/14/js_native_api_v8.h +0 -301
  167. package/src/headers/14/js_native_api_v8_internals.h +0 -38
  168. package/src/headers/14/json_utils.h +0 -161
  169. package/src/headers/14/memory_tracker-inl.h +0 -355
  170. package/src/headers/14/module_wrap.h +0 -99
  171. package/src/headers/14/node.h +0 -1032
  172. package/src/headers/14/node_api.h +0 -255
  173. package/src/headers/14/node_api_types.h +0 -44
  174. package/src/headers/14/node_binding.h +0 -99
  175. package/src/headers/14/node_buffer.h +0 -92
  176. package/src/headers/14/node_constants.h +0 -84
  177. package/src/headers/14/node_context_data.h +0 -44
  178. package/src/headers/14/node_contextify.h +0 -161
  179. package/src/headers/14/node_crypto.h +0 -865
  180. package/src/headers/14/node_crypto_bio.h +0 -195
  181. package/src/headers/14/node_crypto_clienthello-inl.h +0 -91
  182. package/src/headers/14/node_crypto_clienthello.h +0 -132
  183. package/src/headers/14/node_crypto_common.h +0 -138
  184. package/src/headers/14/node_crypto_groups.h +0 -415
  185. package/src/headers/14/node_dtrace.h +0 -86
  186. package/src/headers/14/node_errors.h +0 -214
  187. package/src/headers/14/node_file-inl.h +0 -306
  188. package/src/headers/14/node_file.h +0 -417
  189. package/src/headers/14/node_http2.h +0 -1191
  190. package/src/headers/14/node_http2_state.h +0 -149
  191. package/src/headers/14/node_http_common-inl.h +0 -194
  192. package/src/headers/14/node_http_common.h +0 -529
  193. package/src/headers/14/node_i18n.h +0 -144
  194. package/src/headers/14/node_internals.h +0 -405
  195. package/src/headers/14/node_main_instance.h +0 -96
  196. package/src/headers/14/node_mem.h +0 -45
  197. package/src/headers/14/node_messaging.h +0 -303
  198. package/src/headers/14/node_metadata.h +0 -109
  199. package/src/headers/14/node_mutex.h +0 -247
  200. package/src/headers/14/node_native_module.h +0 -101
  201. package/src/headers/14/node_native_module_env.h +0 -66
  202. package/src/headers/14/node_options-inl.h +0 -451
  203. package/src/headers/14/node_options.h +0 -481
  204. package/src/headers/14/node_perf.h +0 -181
  205. package/src/headers/14/node_perf_common.h +0 -97
  206. package/src/headers/14/node_platform.h +0 -189
  207. package/src/headers/14/node_process.h +0 -40
  208. package/src/headers/14/node_report.h +0 -47
  209. package/src/headers/14/node_revert.h +0 -72
  210. package/src/headers/14/node_root_certs.h +0 -3458
  211. package/src/headers/14/node_sockaddr-inl.h +0 -170
  212. package/src/headers/14/node_sockaddr.h +0 -123
  213. package/src/headers/14/node_stat_watcher.h +0 -70
  214. package/src/headers/14/node_union_bytes.h +0 -103
  215. package/src/headers/14/node_url.h +0 -188
  216. package/src/headers/14/node_version.h +0 -98
  217. package/src/headers/14/node_wasi.h +0 -108
  218. package/src/headers/14/node_win32_etw_provider-inl.h +0 -287
  219. package/src/headers/14/node_win32_etw_provider.h +0 -99
  220. package/src/headers/14/node_worker.h +0 -141
  221. package/src/headers/14/pipe_wrap.h +0 -78
  222. package/src/headers/14/req_wrap-inl.h +0 -170
  223. package/src/headers/14/req_wrap.h +0 -77
  224. package/src/headers/14/stream_base-inl.h +0 -275
  225. package/src/headers/14/stream_base.h +0 -434
  226. package/src/headers/14/stream_pipe.h +0 -73
  227. package/src/headers/14/stream_wrap.h +0 -130
  228. package/src/headers/14/string_bytes.h +0 -129
  229. package/src/headers/14/string_decoder.h +0 -50
  230. package/src/headers/14/string_search.h +0 -638
  231. package/src/headers/14/tcp_wrap.h +0 -101
  232. package/src/headers/14/threadpoolwork-inl.h +0 -57
  233. package/src/headers/14/tls_wrap.h +0 -222
  234. package/src/headers/14/tracing/agent.h +0 -195
  235. package/src/headers/14/tracing/node_trace_buffer.h +0 -83
  236. package/src/headers/14/tracing/node_trace_writer.h +0 -75
  237. package/src/headers/14/tracing/trace_event.h +0 -720
  238. package/src/headers/14/tracing/traced_value.h +0 -70
  239. package/src/headers/14/tty_wrap.h +0 -64
  240. package/src/headers/14/udp_wrap.h +0 -227
  241. package/src/headers/14/util-inl.h +0 -566
  242. package/src/headers/14/util.h +0 -804
  243. package/src/headers/14/v8abbr.h +0 -124
  244. package/src/headers/16/aliased_buffer.h +0 -315
  245. package/src/headers/16/aliased_struct-inl.h +0 -54
  246. package/src/headers/16/aliased_struct.h +0 -63
  247. package/src/headers/16/allocated_buffer-inl.h +0 -110
  248. package/src/headers/16/allocated_buffer.h +0 -73
  249. package/src/headers/16/async_wrap-inl.h +0 -94
  250. package/src/headers/16/async_wrap.h +0 -246
  251. package/src/headers/16/base64-inl.h +0 -189
  252. package/src/headers/16/base64.h +0 -69
  253. package/src/headers/16/base_object.h +0 -294
  254. package/src/headers/16/connect_wrap.h +0 -26
  255. package/src/headers/16/connection_wrap.h +0 -30
  256. package/src/headers/16/crypto/crypto_aes.h +0 -89
  257. package/src/headers/16/crypto/crypto_bio.h +0 -194
  258. package/src/headers/16/crypto/crypto_cipher.h +0 -286
  259. package/src/headers/16/crypto/crypto_clienthello-inl.h +0 -90
  260. package/src/headers/16/crypto/crypto_clienthello.h +0 -131
  261. package/src/headers/16/crypto/crypto_common.h +0 -187
  262. package/src/headers/16/crypto/crypto_context.h +0 -147
  263. package/src/headers/16/crypto/crypto_dh.h +0 -157
  264. package/src/headers/16/crypto/crypto_dsa.h +0 -76
  265. package/src/headers/16/crypto/crypto_ec.h +0 -169
  266. package/src/headers/16/crypto/crypto_groups.h +0 -415
  267. package/src/headers/16/crypto/crypto_hash.h +0 -89
  268. package/src/headers/16/crypto/crypto_hkdf.h +0 -66
  269. package/src/headers/16/crypto/crypto_hmac.h +0 -94
  270. package/src/headers/16/crypto/crypto_keygen.h +0 -301
  271. package/src/headers/16/crypto/crypto_keys.h +0 -412
  272. package/src/headers/16/crypto/crypto_pbkdf2.h +0 -76
  273. package/src/headers/16/crypto/crypto_random.h +0 -130
  274. package/src/headers/16/crypto/crypto_rsa.h +0 -141
  275. package/src/headers/16/crypto/crypto_scrypt.h +0 -87
  276. package/src/headers/16/crypto/crypto_sig.h +0 -167
  277. package/src/headers/16/crypto/crypto_spkac.h +0 -20
  278. package/src/headers/16/crypto/crypto_timing.h +0 -20
  279. package/src/headers/16/crypto/crypto_tls.h +0 -292
  280. package/src/headers/16/crypto/crypto_util.h +0 -736
  281. package/src/headers/16/crypto/crypto_x509.h +0 -141
  282. package/src/headers/16/debug_utils.h +0 -184
  283. package/src/headers/16/diagnosticfilename-inl.h +0 -33
  284. package/src/headers/16/env-inl.h +0 -1277
  285. package/src/headers/16/env.h +0 -1629
  286. package/src/headers/16/handle_wrap.h +0 -121
  287. package/src/headers/16/histogram-inl.h +0 -88
  288. package/src/headers/16/histogram.h +0 -216
  289. package/src/headers/16/inspector_io.h +0 -78
  290. package/src/headers/16/inspector_socket.h +0 -60
  291. package/src/headers/16/inspector_socket_server.h +0 -110
  292. package/src/headers/16/js_native_api.h +0 -561
  293. package/src/headers/16/js_native_api_types.h +0 -160
  294. package/src/headers/16/js_native_api_v8.h +0 -451
  295. package/src/headers/16/js_native_api_v8_internals.h +0 -39
  296. package/src/headers/16/js_stream.h +0 -52
  297. package/src/headers/16/memory_tracker-inl.h +0 -356
  298. package/src/headers/16/memory_tracker.h +0 -284
  299. package/src/headers/16/node.d +0 -315
  300. package/src/headers/16/node.h +0 -1132
  301. package/src/headers/16/node.stp +0 -146
  302. package/src/headers/16/node_api.h +0 -275
  303. package/src/headers/16/node_api_internals.h +0 -30
  304. package/src/headers/16/node_api_types.h +0 -50
  305. package/src/headers/16/node_binding.h +0 -99
  306. package/src/headers/16/node_blob.h +0 -191
  307. package/src/headers/16/node_bob-inl.h +0 -37
  308. package/src/headers/16/node_bob.h +0 -111
  309. package/src/headers/16/node_buffer.h +0 -92
  310. package/src/headers/16/node_constants.h +0 -84
  311. package/src/headers/16/node_context_data.h +0 -44
  312. package/src/headers/16/node_contextify.h +0 -196
  313. package/src/headers/16/node_dir.h +0 -52
  314. package/src/headers/16/node_dtrace.h +0 -86
  315. package/src/headers/16/node_errors.h +0 -277
  316. package/src/headers/16/node_external_reference.h +0 -129
  317. package/src/headers/16/node_file-inl.h +0 -306
  318. package/src/headers/16/node_http2.h +0 -1140
  319. package/src/headers/16/node_http_common-inl.h +0 -200
  320. package/src/headers/16/node_http_common.h +0 -531
  321. package/src/headers/16/node_internals.h +0 -421
  322. package/src/headers/16/node_main_instance.h +0 -103
  323. package/src/headers/16/node_mem-inl.h +0 -112
  324. package/src/headers/16/node_messaging.h +0 -373
  325. package/src/headers/16/node_metadata.h +0 -122
  326. package/src/headers/16/node_native_module.h +0 -101
  327. package/src/headers/16/node_native_module_env.h +0 -68
  328. package/src/headers/16/node_object_wrap.h +0 -132
  329. package/src/headers/16/node_options-inl.h +0 -477
  330. package/src/headers/16/node_options.h +0 -494
  331. package/src/headers/16/node_perf.h +0 -185
  332. package/src/headers/16/node_perf_common.h +0 -89
  333. package/src/headers/16/node_platform.h +0 -192
  334. package/src/headers/16/node_process.h +0 -43
  335. package/src/headers/16/node_provider.d +0 -80
  336. package/src/headers/16/node_snapshotable.h +0 -137
  337. package/src/headers/16/node_sockaddr-inl.h +0 -266
  338. package/src/headers/16/node_sockaddr.h +0 -405
  339. package/src/headers/16/node_union_bytes.h +0 -103
  340. package/src/headers/16/node_url.h +0 -205
  341. package/src/headers/16/node_v8.h +0 -41
  342. package/src/headers/16/node_v8_platform-inl.h +0 -194
  343. package/src/headers/16/node_version.h +0 -98
  344. package/src/headers/16/node_wasi.h +0 -108
  345. package/src/headers/16/node_watchdog.h +0 -152
  346. package/src/headers/16/node_win32_etw_provider-inl.h +0 -288
  347. package/src/headers/16/node_win32_etw_provider.h +0 -99
  348. package/src/headers/16/node_worker.h +0 -145
  349. package/src/headers/16/req_wrap.h +0 -77
  350. package/src/headers/16/spawn_sync.h +0 -242
  351. package/src/headers/16/stream_base-inl.h +0 -303
  352. package/src/headers/16/stream_base.h +0 -454
  353. package/src/headers/16/stream_pipe.h +0 -73
  354. package/src/headers/16/string_bytes.h +0 -122
  355. package/src/headers/16/string_decoder-inl.h +0 -37
  356. package/src/headers/16/string_search.h +0 -638
  357. package/src/headers/16/tcp_wrap.h +0 -103
  358. package/src/headers/16/threadpoolwork-inl.h +0 -57
  359. package/src/headers/16/timer_wrap.h +0 -84
  360. package/src/headers/16/tracing/agent.h +0 -195
  361. package/src/headers/16/tracing/node_trace_buffer.h +0 -83
  362. package/src/headers/16/tracing/node_trace_writer.h +0 -75
  363. package/src/headers/16/tracing/trace_event.h +0 -720
  364. package/src/headers/16/tracing/trace_event_common.h +0 -1109
  365. package/src/headers/16/tracing/traced_value.h +0 -70
  366. package/src/headers/16/tty_wrap.h +0 -66
  367. package/src/headers/16/util-inl.h +0 -575
  368. package/src/headers/16/util.h +0 -824
  369. package/src/headers/16/v8abbr.h +0 -123
  370. package/src/headers/16/v8ustack.d +0 -695
  371. package/src/headers/18/aliased_buffer.h +0 -315
  372. package/src/headers/18/aliased_struct-inl.h +0 -54
  373. package/src/headers/18/aliased_struct.h +0 -63
  374. package/src/headers/18/base64-inl.h +0 -189
  375. package/src/headers/18/base64.h +0 -69
  376. package/src/headers/18/base_object-inl.h +0 -374
  377. package/src/headers/18/callback_queue-inl.h +0 -97
  378. package/src/headers/18/callback_queue.h +0 -78
  379. package/src/headers/18/cares_wrap.h +0 -523
  380. package/src/headers/18/connect_wrap.h +0 -26
  381. package/src/headers/18/connection_wrap.h +0 -30
  382. package/src/headers/18/crypto/crypto_aes.h +0 -89
  383. package/src/headers/18/crypto/crypto_bio.h +0 -194
  384. package/src/headers/18/crypto/crypto_cipher.h +0 -291
  385. package/src/headers/18/crypto/crypto_clienthello-inl.h +0 -90
  386. package/src/headers/18/crypto/crypto_common.h +0 -151
  387. package/src/headers/18/crypto/crypto_dh.h +0 -156
  388. package/src/headers/18/crypto/crypto_dsa.h +0 -77
  389. package/src/headers/18/crypto/crypto_ec.h +0 -170
  390. package/src/headers/18/crypto/crypto_groups.h +0 -415
  391. package/src/headers/18/crypto/crypto_hash.h +0 -89
  392. package/src/headers/18/crypto/crypto_hkdf.h +0 -65
  393. package/src/headers/18/crypto/crypto_hmac.h +0 -94
  394. package/src/headers/18/crypto/crypto_keygen.h +0 -305
  395. package/src/headers/18/crypto/crypto_pbkdf2.h +0 -76
  396. package/src/headers/18/crypto/crypto_random.h +0 -130
  397. package/src/headers/18/crypto/crypto_rsa.h +0 -141
  398. package/src/headers/18/crypto/crypto_scrypt.h +0 -87
  399. package/src/headers/18/crypto/crypto_sig.h +0 -168
  400. package/src/headers/18/crypto/crypto_spkac.h +0 -21
  401. package/src/headers/18/crypto/crypto_timing.h +0 -20
  402. package/src/headers/18/crypto/crypto_x509.h +0 -143
  403. package/src/headers/18/debug_utils-inl.h +0 -223
  404. package/src/headers/18/diagnosticfilename-inl.h +0 -33
  405. package/src/headers/18/env-inl.h +0 -1308
  406. package/src/headers/18/env.h +0 -1667
  407. package/src/headers/18/inspector_agent.h +0 -144
  408. package/src/headers/18/inspector_io.h +0 -78
  409. package/src/headers/18/inspector_profiler.h +0 -149
  410. package/src/headers/18/inspector_socket.h +0 -60
  411. package/src/headers/18/inspector_socket_server.h +0 -110
  412. package/src/headers/18/js_stream.h +0 -52
  413. package/src/headers/18/json_utils.h +0 -161
  414. package/src/headers/18/memory_tracker.h +0 -284
  415. package/src/headers/18/module_wrap.h +0 -116
  416. package/src/headers/18/node_binding.h +0 -99
  417. package/src/headers/18/node_context_data.h +0 -44
  418. package/src/headers/18/node_contextify.h +0 -196
  419. package/src/headers/18/node_crypto.h +0 -57
  420. package/src/headers/18/node_dir.h +0 -52
  421. package/src/headers/18/node_dtrace.h +0 -86
  422. package/src/headers/18/node_external_reference.h +0 -145
  423. package/src/headers/18/node_file.h +0 -426
  424. package/src/headers/18/node_http2_state.h +0 -149
  425. package/src/headers/18/node_i18n.h +0 -145
  426. package/src/headers/18/node_mem-inl.h +0 -112
  427. package/src/headers/18/node_mem.h +0 -45
  428. package/src/headers/18/node_mutex.h +0 -323
  429. package/src/headers/18/node_native_module.h +0 -109
  430. package/src/headers/18/node_native_module_env.h +0 -71
  431. package/src/headers/18/node_object_wrap.h +0 -132
  432. package/src/headers/18/node_process-inl.h +0 -26
  433. package/src/headers/18/node_report.h +0 -47
  434. package/src/headers/18/node_revert.h +0 -82
  435. package/src/headers/18/node_root_certs.h +0 -3246
  436. package/src/headers/18/node_snapshot_builder.h +0 -43
  437. package/src/headers/18/node_snapshotable.h +0 -130
  438. package/src/headers/18/node_stat_watcher.h +0 -72
  439. package/src/headers/18/node_union_bytes.h +0 -103
  440. package/src/headers/18/node_url.h +0 -205
  441. package/src/headers/18/node_v8.h +0 -41
  442. package/src/headers/18/node_v8_platform-inl.h +0 -194
  443. package/src/headers/18/node_wasi.h +0 -108
  444. package/src/headers/18/node_watchdog.h +0 -152
  445. package/src/headers/18/node_win32_etw_provider-inl.h +0 -288
  446. package/src/headers/18/node_win32_etw_provider.h +0 -99
  447. package/src/headers/18/pipe_wrap.h +0 -80
  448. package/src/headers/18/req_wrap-inl.h +0 -170
  449. package/src/headers/18/spawn_sync.h +0 -242
  450. package/src/headers/18/stream_wrap.h +0 -133
  451. package/src/headers/18/string_decoder-inl.h +0 -37
  452. package/src/headers/18/string_decoder.h +0 -50
  453. package/src/headers/18/string_search.h +0 -638
  454. package/src/headers/18/tracing/node_trace_buffer.h +0 -83
  455. package/src/headers/18/tracing/node_trace_writer.h +0 -75
  456. package/src/headers/18/tracing/trace_event_common.h +0 -1109
  457. package/src/headers/18/tracing/traced_value.h +0 -70
  458. package/src/headers/18/udp_wrap.h +0 -227
  459. package/src/headers/18/v8abbr.h +0 -123
  460. /package/src/headers/{14 → 22}/aliased_struct-inl.h +0 -0
  461. /package/src/headers/{14 → 22}/aliased_struct.h +0 -0
  462. /package/src/headers/{16 → 22}/callback_queue-inl.h +0 -0
  463. /package/src/headers/{14 → 22}/connect_wrap.h +0 -0
  464. /package/src/headers/{14 → 22}/connection_wrap.h +0 -0
  465. /package/src/headers/{14 → 22}/diagnosticfilename-inl.h +0 -0
  466. /package/src/headers/{18 → 22}/histogram-inl.h +0 -0
  467. /package/src/headers/{14 → 22}/inspector_io.h +0 -0
  468. /package/src/headers/{14 → 22}/inspector_socket.h +0 -0
  469. /package/src/headers/{14 → 22}/inspector_socket_server.h +0 -0
  470. /package/src/headers/{14 → 22}/js_stream.h +0 -0
  471. /package/src/headers/{14 → 22}/node_dir.h +0 -0
  472. /package/src/headers/{14 → 22}/node_mem-inl.h +0 -0
  473. /package/src/headers/{16 → 22}/node_mem.h +0 -0
  474. /package/src/headers/{16 → 22}/node_mutex.h +0 -0
  475. /package/src/headers/{14 → 22}/node_object_wrap.h +0 -0
  476. /package/src/headers/{16 → 22}/node_process-inl.h +0 -0
  477. /package/src/headers/{18 → 22}/node_sockaddr-inl.h +0 -0
  478. /package/src/headers/{18 → 22}/node_wasm_web_api.h +0 -0
  479. /package/src/headers/{16 → 22}/pipe_wrap.h +0 -0
  480. /package/src/headers/{18 → 22}/req_wrap.h +0 -0
  481. /package/src/headers/{18 → 22}/timer_wrap-inl.h +0 -0
  482. /package/src/headers/{18 → 22}/timer_wrap.h +0 -0
  483. /package/src/headers/{18 → 22}/tracing/agent.h +0 -0
  484. /package/src/headers/{14 → 22}/tracing/trace_event_common.h +0 -0
  485. /package/src/headers/{18 → 22}/tty_wrap.h +0 -0
@@ -27,6 +27,18 @@ namespace node {
27
27
  #define NODE_HAS_RELEASE_URLS
28
28
  #endif
29
29
 
30
+ #if HAVE_AMARO && !defined(NODE_SHARED_BUILTIN_AMARO_DIST_INDEX_PATH)
31
+ #define NODE_VERSIONS_KEY_AMARO(V) V(amaro)
32
+ #else
33
+ #define NODE_VERSIONS_KEY_AMARO(V)
34
+ #endif
35
+
36
+ #ifndef NODE_SHARED_BUILTIN_UNDICI_UNDICI_PATH
37
+ #define NODE_VERSIONS_KEY_UNDICI(V) V(undici)
38
+ #else
39
+ #define NODE_VERSIONS_KEY_UNDICI(V)
40
+ #endif
41
+
30
42
  #define NODE_VERSIONS_KEYS_BASE(V) \
31
43
  V(node) \
32
44
  V(v8) \
@@ -38,9 +50,19 @@ namespace node {
38
50
  V(nghttp2) \
39
51
  V(napi) \
40
52
  V(llhttp) \
53
+ V(uvwasi) \
54
+ V(acorn) \
55
+ V(simdjson) \
56
+ V(simdutf) \
57
+ V(sqlite) \
58
+ V(ada) \
59
+ V(nbytes) \
60
+ NODE_VERSIONS_KEY_AMARO(V) \
61
+ NODE_VERSIONS_KEY_UNDICI(V) \
62
+ V(cjs_module_lexer)
41
63
 
42
64
  #if HAVE_OPENSSL
43
- #define NODE_VERSIONS_KEY_CRYPTO(V) V(openssl)
65
+ #define NODE_VERSIONS_KEY_CRYPTO(V) V(openssl) V(ncrypto)
44
66
  #else
45
67
  #define NODE_VERSIONS_KEY_CRYPTO(V)
46
68
  #endif
@@ -17,6 +17,13 @@ EnvironmentOptions* PerIsolateOptions::get_per_env_options() {
17
17
  return per_env.get();
18
18
  }
19
19
 
20
+ std::shared_ptr<PerIsolateOptions> PerIsolateOptions::Clone() const {
21
+ auto options =
22
+ std::shared_ptr<PerIsolateOptions>(new PerIsolateOptions(*this));
23
+ options->per_env = std::make_shared<EnvironmentOptions>(*per_env);
24
+ return options;
25
+ }
26
+
20
27
  namespace options_parser {
21
28
 
22
29
  template <typename Options>
@@ -302,7 +309,7 @@ void OptionsParser<Options>::Parse(
302
309
  const std::string arg = args.pop_first();
303
310
 
304
311
  if (arg == "--") {
305
- if (required_env_settings == kAllowedInEnvironment)
312
+ if (required_env_settings == kAllowedInEnvvar)
306
313
  errors->push_back(NotAllowedInEnvErr("--"));
307
314
  break;
308
315
  }
@@ -374,8 +381,8 @@ void OptionsParser<Options>::Parse(
374
381
  auto it = options_.find(name);
375
382
 
376
383
  if ((it == options_.end() ||
377
- it->second.env_setting == kDisallowedInEnvironment) &&
378
- required_env_settings == kAllowedInEnvironment) {
384
+ it->second.env_setting == kDisallowedInEnvvar) &&
385
+ required_env_settings == kAllowedInEnvvar) {
379
386
  errors->push_back(NotAllowedInEnvErr(original_name));
380
387
  break;
381
388
  }
@@ -387,12 +394,12 @@ void OptionsParser<Options>::Parse(
387
394
  implied_name.insert(2, "no-");
388
395
  }
389
396
  auto implications = implications_.equal_range(implied_name);
390
- for (auto it = implications.first; it != implications.second; ++it) {
391
- if (it->second.type == kV8Option) {
392
- v8_args->push_back(it->second.name);
397
+ for (auto imp = implications.first; imp != implications.second; ++imp) {
398
+ if (imp->second.type == kV8Option) {
399
+ v8_args->push_back(imp->second.name);
393
400
  } else {
394
- *it->second.target_field->template Lookup<bool>(options) =
395
- it->second.target_value;
401
+ *imp->second.target_field->template Lookup<bool>(options) =
402
+ imp->second.target_value;
396
403
  }
397
404
  }
398
405
  }
@@ -440,11 +447,17 @@ void OptionsParser<Options>::Parse(
440
447
  case kBoolean:
441
448
  *Lookup<bool>(info.field, options) = !is_negation;
442
449
  break;
443
- case kInteger:
450
+ case kInteger: {
451
+ // Special case to pass --stack-trace-limit down to V8.
452
+ if (name == "--stack-trace-limit") {
453
+ v8_args->push_back(arg);
454
+ }
444
455
  *Lookup<int64_t>(info.field, options) = std::atoll(value.c_str());
445
456
  break;
457
+ }
446
458
  case kUInteger:
447
- *Lookup<uint64_t>(info.field, options) = std::stoull(value);
459
+ *Lookup<uint64_t>(info.field, options) =
460
+ std::strtoull(value.c_str(), nullptr, 10);
448
461
  break;
449
462
  case kString:
450
463
  *Lookup<std::string>(info.field, options) = value;
@@ -466,7 +479,7 @@ void OptionsParser<Options>::Parse(
466
479
  UNREACHABLE();
467
480
  }
468
481
  }
469
- options->CheckOptions(errors);
482
+ options->CheckOptions(errors, orig_args);
470
483
  }
471
484
 
472
485
  } // namespace options_parser
@@ -28,29 +28,26 @@ class HostPort {
28
28
 
29
29
  void set_host(const std::string& host) { host_name_ = host; }
30
30
 
31
- void set_port(int port) { port_ = port; }
31
+ void set_port(uint16_t port) { port_ = port; }
32
32
 
33
33
  const std::string& host() const { return host_name_; }
34
34
 
35
- int port() const {
36
- // TODO(joyeecheung): make port a uint16_t
37
- CHECK_GE(port_, 0);
38
- return port_;
39
- }
35
+ uint16_t port() const { return port_; }
40
36
 
41
37
  void Update(const HostPort& other) {
42
38
  if (!other.host_name_.empty()) host_name_ = other.host_name_;
43
- if (other.port_ >= 0) port_ = other.port_;
39
+ port_ = other.port_;
44
40
  }
45
41
 
46
42
  private:
47
43
  std::string host_name_;
48
- int port_;
44
+ uint16_t port_;
49
45
  };
50
46
 
51
47
  class Options {
52
48
  public:
53
- virtual void CheckOptions(std::vector<std::string>* errors) {}
49
+ virtual void CheckOptions(std::vector<std::string>* errors,
50
+ std::vector<std::string>* argv) {}
54
51
  virtual ~Options() = default;
55
52
  };
56
53
 
@@ -71,8 +68,11 @@ class DebugOptions : public Options {
71
68
  DebugOptions(DebugOptions&&) = default;
72
69
  DebugOptions& operator=(DebugOptions&&) = default;
73
70
 
71
+ bool allow_attaching_debugger = true;
74
72
  // --inspect
75
73
  bool inspector_enabled = false;
74
+ // --inspect-wait
75
+ bool inspect_wait = false;
76
76
  // --debug
77
77
  bool deprecated_debug = false;
78
78
  // --inspect-brk
@@ -94,42 +94,70 @@ class DebugOptions : public Options {
94
94
  break_first_line = true;
95
95
  }
96
96
 
97
+ void DisableWaitOrBreakFirstLine() {
98
+ inspect_wait = false;
99
+ break_first_line = false;
100
+ }
101
+
97
102
  bool wait_for_connect() const {
103
+ return break_first_line || break_node_first_line || inspect_wait;
104
+ }
105
+
106
+ bool should_break_first_line() const {
98
107
  return break_first_line || break_node_first_line;
99
108
  }
100
109
 
101
- void CheckOptions(std::vector<std::string>* errors) override;
110
+ void CheckOptions(std::vector<std::string>* errors,
111
+ std::vector<std::string>* argv) override;
102
112
  };
103
113
 
104
114
  class EnvironmentOptions : public Options {
105
115
  public:
106
116
  bool abort_on_uncaught_exception = false;
107
117
  std::vector<std::string> conditions;
118
+ bool detect_module = true;
119
+ bool print_required_tla = false;
120
+ bool require_module = true;
108
121
  std::string dns_result_order;
109
122
  bool enable_source_maps = false;
123
+ bool experimental_eventsource = false;
110
124
  bool experimental_fetch = true;
111
- bool experimental_global_web_crypto = false;
112
- bool experimental_https_modules = false;
113
- std::string experimental_specifier_resolution;
125
+ bool experimental_websocket = true;
126
+ bool experimental_sqlite = false;
127
+ bool experimental_webstorage = false;
128
+ std::string localstorage_file;
129
+ bool experimental_global_customevent = true;
130
+ bool experimental_global_navigator = true;
131
+ bool experimental_global_web_crypto = true;
114
132
  bool experimental_wasm_modules = false;
115
133
  bool experimental_import_meta_resolve = false;
116
- std::string module_type;
117
- std::string experimental_policy;
118
- std::string experimental_policy_integrity;
119
- bool has_policy_integrity_string = false;
134
+ std::string input_type; // Value of --input-type
135
+ std::string type; // Value of --experimental-default-type
136
+ bool entry_is_url = false;
137
+ bool experimental_permission = false;
138
+ std::vector<std::string> allow_fs_read;
139
+ std::vector<std::string> allow_fs_write;
140
+ bool allow_addons = false;
141
+ bool allow_child_process = false;
142
+ bool allow_wasi = false;
143
+ bool allow_worker_threads = false;
120
144
  bool experimental_repl_await = true;
121
145
  bool experimental_vm_modules = false;
146
+ bool async_context_frame = false;
122
147
  bool expose_internals = false;
123
148
  bool force_node_api_uncaught_exceptions_policy = false;
124
149
  bool frozen_intrinsics = false;
125
150
  int64_t heap_snapshot_near_heap_limit = 0;
126
151
  std::string heap_snapshot_signal;
152
+ bool network_family_autoselection = true;
153
+ uint64_t network_family_autoselection_attempt_timeout = 250;
127
154
  uint64_t max_http_header_size = 16 * 1024;
128
155
  bool deprecation = true;
129
156
  bool force_async_hooks_checks = true;
130
157
  bool allow_native_addons = true;
131
158
  bool global_search_paths = true;
132
159
  bool warnings = true;
160
+ std::vector<std::string> disable_warnings;
133
161
  bool force_context_aware = false;
134
162
  bool pending_deprecation = false;
135
163
  bool preserve_symlinks = false;
@@ -141,6 +169,7 @@ class EnvironmentOptions : public Options {
141
169
  uint64_t cpu_prof_interval = kDefaultCpuProfInterval;
142
170
  std::string cpu_prof_name;
143
171
  bool cpu_prof = false;
172
+ bool experimental_network_inspection = false;
144
173
  std::string heap_prof_dir;
145
174
  std::string heap_prof_name;
146
175
  static const uint64_t kDefaultHeapProfInterval = 512 * 1024;
@@ -149,9 +178,30 @@ class EnvironmentOptions : public Options {
149
178
  #endif // HAVE_INSPECTOR
150
179
  std::string redirect_warnings;
151
180
  std::string diagnostic_dir;
181
+ std::string env_file;
182
+ std::string optional_env_file;
183
+ bool has_env_file_string = false;
152
184
  bool test_runner = false;
185
+ uint64_t test_runner_concurrency = 0;
186
+ uint64_t test_runner_timeout = 0;
187
+ bool test_runner_coverage = false;
188
+ bool test_runner_force_exit = false;
189
+ uint64_t test_coverage_branches = 0;
190
+ uint64_t test_coverage_functions = 0;
191
+ uint64_t test_coverage_lines = 0;
192
+ bool test_runner_module_mocks = false;
193
+ bool test_runner_snapshots = false;
194
+ bool test_runner_update_snapshots = false;
195
+ std::vector<std::string> test_name_pattern;
196
+ std::vector<std::string> test_reporter;
197
+ std::vector<std::string> test_reporter_destination;
153
198
  bool test_only = false;
154
199
  bool test_udp_no_try_send = false;
200
+ std::string test_isolation = "process";
201
+ std::string test_shard;
202
+ std::vector<std::string> test_skip_pattern;
203
+ std::vector<std::string> coverage_include_pattern;
204
+ std::vector<std::string> coverage_exclude_pattern;
155
205
  bool throw_deprecation = false;
156
206
  bool trace_atomics_wait = false;
157
207
  bool trace_deprecation = false;
@@ -160,9 +210,10 @@ class EnvironmentOptions : public Options {
160
210
  bool trace_tls = false;
161
211
  bool trace_uncaught = false;
162
212
  bool trace_warnings = false;
213
+ bool trace_promises = false;
163
214
  bool extra_info_on_fatal_exception = true;
164
215
  std::string unhandled_rejections;
165
- std::string userland_loader;
216
+ std::vector<std::string> userland_loaders;
166
217
  bool verify_base_objects =
167
218
  #ifdef DEBUG
168
219
  true;
@@ -170,9 +221,13 @@ class EnvironmentOptions : public Options {
170
221
  false;
171
222
  #endif // DEBUG
172
223
 
224
+ bool watch_mode = false;
225
+ bool watch_mode_report_to_parent = false;
226
+ bool watch_mode_preserve_output = false;
227
+ std::vector<std::string> watch_mode_paths;
228
+
173
229
  bool syntax_check_only = false;
174
230
  bool has_eval_string = false;
175
- bool experimental_wasi = false;
176
231
  std::string eval_string;
177
232
  bool print_eval = false;
178
233
  bool force_repl = false;
@@ -187,14 +242,22 @@ class EnvironmentOptions : public Options {
187
242
  bool tls_max_v1_3 = false;
188
243
  std::string tls_keylog;
189
244
 
190
- std::vector<std::string> preload_modules;
245
+ std::vector<std::string> preload_cjs_modules;
246
+
247
+ std::vector<std::string> preload_esm_modules;
248
+
249
+ bool experimental_strip_types = false;
250
+ bool experimental_transform_types = false;
191
251
 
192
252
  std::vector<std::string> user_argv;
193
253
 
254
+ bool report_exclude_network = false;
255
+
194
256
  inline DebugOptions* get_debug_options() { return &debug_options_; }
195
257
  inline const DebugOptions& debug_options() const { return debug_options_; }
196
258
 
197
- void CheckOptions(std::vector<std::string>* errors) override;
259
+ void CheckOptions(std::vector<std::string>* errors,
260
+ std::vector<std::string>* argv) override;
198
261
 
199
262
  private:
200
263
  DebugOptions debug_options_;
@@ -202,13 +265,26 @@ class EnvironmentOptions : public Options {
202
265
 
203
266
  class PerIsolateOptions : public Options {
204
267
  public:
268
+ PerIsolateOptions() = default;
269
+ PerIsolateOptions(PerIsolateOptions&&) = default;
270
+
205
271
  std::shared_ptr<EnvironmentOptions> per_env { new EnvironmentOptions() };
206
272
  bool track_heap_objects = false;
207
273
  bool report_uncaught_exception = false;
208
274
  bool report_on_signal = false;
275
+ bool experimental_shadow_realm = false;
276
+ int64_t stack_trace_limit = 10;
209
277
  std::string report_signal = "SIGUSR2";
278
+ bool build_snapshot = false;
279
+ std::string build_snapshot_config;
210
280
  inline EnvironmentOptions* get_per_env_options();
211
- void CheckOptions(std::vector<std::string>* errors) override;
281
+ void CheckOptions(std::vector<std::string>* errors,
282
+ std::vector<std::string>* argv) override;
283
+
284
+ inline std::shared_ptr<PerIsolateOptions> Clone() const;
285
+
286
+ private:
287
+ PerIsolateOptions(const PerIsolateOptions&) = default;
212
288
  };
213
289
 
214
290
  class PerProcessOptions : public Options {
@@ -230,17 +306,19 @@ class PerProcessOptions : public Options {
230
306
  bool zero_fill_all_buffers = false;
231
307
  bool debug_arraybuffer_allocations = false;
232
308
  std::string disable_proto;
233
- bool build_snapshot = false;
234
309
  // We enable the shared read-only heap which currently requires that the
235
310
  // snapshot used in different isolates in the same process to be the same.
236
311
  // Therefore --node-snapshot is a per-process option.
237
312
  bool node_snapshot = true;
313
+ std::string snapshot_blob;
238
314
 
239
315
  std::vector<std::string> security_reverts;
240
316
  bool print_bash_completion = false;
241
317
  bool print_help = false;
242
318
  bool print_v8_help = false;
243
319
  bool print_version = false;
320
+ std::string experimental_sea_config;
321
+ std::string run;
244
322
 
245
323
  #ifdef NODE_HAVE_I18N_SUPPORT
246
324
  std::string icu_data_dir;
@@ -265,8 +343,11 @@ class PerProcessOptions : public Options {
265
343
  #endif
266
344
  #if OPENSSL_VERSION_MAJOR >= 3
267
345
  bool openssl_legacy_provider = false;
346
+ bool openssl_shared_config = false;
268
347
  #endif
269
348
 
349
+ bool disable_wasm_trap_handler = false;
350
+
270
351
  // Per-process because reports can be triggered outside a known V8 context.
271
352
  bool report_on_fatalerror = false;
272
353
  bool report_compact = false;
@@ -279,7 +360,8 @@ class PerProcessOptions : public Options {
279
360
  std::vector<std::string> cmdline;
280
361
 
281
362
  inline PerIsolateOptions* get_per_isolate_options();
282
- void CheckOptions(std::vector<std::string>* errors) override;
363
+ void CheckOptions(std::vector<std::string>* errors,
364
+ std::vector<std::string>* argv) override;
283
365
  };
284
366
 
285
367
  // The actual options parser, as opposed to the structs containing them:
@@ -317,37 +399,37 @@ class OptionsParser {
317
399
  // sources (i.e. NODE_OPTIONS).
318
400
  void AddOption(const char* name,
319
401
  const char* help_text,
320
- bool Options::* field,
321
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment,
402
+ bool Options::*field,
403
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar,
322
404
  bool default_is_true = false);
323
405
  void AddOption(const char* name,
324
406
  const char* help_text,
325
- uint64_t Options::* field,
326
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
407
+ uint64_t Options::*field,
408
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar);
327
409
  void AddOption(const char* name,
328
410
  const char* help_text,
329
- int64_t Options::* field,
330
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
411
+ int64_t Options::*field,
412
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar);
331
413
  void AddOption(const char* name,
332
414
  const char* help_text,
333
- std::string Options::* field,
334
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
415
+ std::string Options::*field,
416
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar);
335
417
  void AddOption(const char* name,
336
418
  const char* help_text,
337
- std::vector<std::string> Options::* field,
338
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
419
+ std::vector<std::string> Options::*field,
420
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar);
339
421
  void AddOption(const char* name,
340
422
  const char* help_text,
341
- HostPort Options::* field,
342
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
423
+ HostPort Options::*field,
424
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar);
343
425
  void AddOption(const char* name,
344
426
  const char* help_text,
345
427
  NoOp no_op_tag,
346
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
428
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar);
347
429
  void AddOption(const char* name,
348
430
  const char* help_text,
349
431
  V8Option v8_option_tag,
350
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
432
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar);
351
433
 
352
434
  // Adds aliases. An alias can be of the form "--option-a" -> "--option-b",
353
435
  // or have a more complex group expansion, like
@@ -476,7 +558,10 @@ class OptionsParser {
476
558
  template <typename OtherOptions>
477
559
  friend class OptionsParser;
478
560
 
479
- friend void GetCLIOptions(const v8::FunctionCallbackInfo<v8::Value>& args);
561
+ friend void GetCLIOptionsValues(
562
+ const v8::FunctionCallbackInfo<v8::Value>& args);
563
+ friend void GetCLIOptionsInfo(
564
+ const v8::FunctionCallbackInfo<v8::Value>& args);
480
565
  friend std::string GetBashCompletion();
481
566
  };
482
567
 
@@ -21,8 +21,6 @@ class ExternalReferenceRegistry;
21
21
 
22
22
  namespace performance {
23
23
 
24
- extern const uint64_t timeOrigin;
25
-
26
24
  inline const char* GetPerformanceMilestoneName(
27
25
  PerformanceMilestone milestone) {
28
26
  switch (milestone) {
@@ -20,17 +20,20 @@ namespace performance {
20
20
 
21
21
  // These occur before the environment is created. Cache them
22
22
  // here and add them to the milestones when the env is init'd.
23
+ extern const uint64_t performance_process_start;
24
+ extern const double performance_process_start_timestamp;
23
25
  extern uint64_t performance_v8_start;
24
26
 
25
- #define NODE_PERFORMANCE_MILESTONES(V) \
26
- V(ENVIRONMENT, "environment") \
27
- V(NODE_START, "nodeStart") \
28
- V(V8_START, "v8Start") \
29
- V(LOOP_START, "loopStart") \
30
- V(LOOP_EXIT, "loopExit") \
27
+ #define NODE_PERFORMANCE_MILESTONES(V) \
28
+ V(TIME_ORIGIN_TIMESTAMP, "timeOriginTimestamp") \
29
+ V(TIME_ORIGIN, "timeOrigin") \
30
+ V(ENVIRONMENT, "environment") \
31
+ V(NODE_START, "nodeStart") \
32
+ V(V8_START, "v8Start") \
33
+ V(LOOP_START, "loopStart") \
34
+ V(LOOP_EXIT, "loopExit") \
31
35
  V(BOOTSTRAP_COMPLETE, "bootstrapComplete")
32
36
 
33
-
34
37
  #define NODE_PERFORMANCE_ENTRY_TYPES(V) \
35
38
  V(GC, "gc") \
36
39
  V(HTTP, "http") \
@@ -60,10 +63,15 @@ class PerformanceState {
60
63
  AliasedBufferIndex observers;
61
64
  };
62
65
 
63
- explicit PerformanceState(v8::Isolate* isolate, const SerializeInfo* info);
66
+ explicit PerformanceState(v8::Isolate* isolate,
67
+ uint64_t time_origin,
68
+ double time_origin_timestamp,
69
+ const SerializeInfo* info);
64
70
  SerializeInfo Serialize(v8::Local<v8::Context> context,
65
71
  v8::SnapshotCreator* creator);
66
- void Deserialize(v8::Local<v8::Context> context);
72
+ void Deserialize(v8::Local<v8::Context> context,
73
+ uint64_t time_origin,
74
+ double time_origin_timestamp);
67
75
  friend std::ostream& operator<<(std::ostream& o, const SerializeInfo& i);
68
76
 
69
77
  AliasedUint8Array root;
@@ -71,11 +79,14 @@ class PerformanceState {
71
79
  AliasedUint32Array observers;
72
80
 
73
81
  uint64_t performance_last_gc_start_mark = 0;
82
+ uint16_t current_gc_type = 0;
74
83
 
75
84
  void Mark(enum PerformanceMilestone milestone,
76
85
  uint64_t ts = PERFORMANCE_NOW());
77
86
 
78
87
  private:
88
+ void Initialize(uint64_t time_origin, double time_origin_timestamp);
89
+ void ResetMilestones();
79
90
  struct performance_state_internal {
80
91
  // doubles first so that they are always sizeof(double)-aligned
81
92
  double milestones[NODE_PERFORMANCE_MILESTONE_INVALID];
@@ -147,17 +147,23 @@ class NodePlatform : public MultiIsolatePlatform {
147
147
 
148
148
  // v8::Platform implementation.
149
149
  int NumberOfWorkerThreads() override;
150
- void CallOnWorkerThread(std::unique_ptr<v8::Task> task) override;
151
- void CallDelayedOnWorkerThread(std::unique_ptr<v8::Task> task,
152
- double delay_in_seconds) override;
150
+ void PostTaskOnWorkerThreadImpl(v8::TaskPriority priority,
151
+ std::unique_ptr<v8::Task> task,
152
+ const v8::SourceLocation& location) override;
153
+ void PostDelayedTaskOnWorkerThreadImpl(
154
+ v8::TaskPriority priority,
155
+ std::unique_ptr<v8::Task> task,
156
+ double delay_in_seconds,
157
+ const v8::SourceLocation& location) override;
153
158
  bool IdleTasksEnabled(v8::Isolate* isolate) override;
154
159
  double MonotonicallyIncreasingTime() override;
155
160
  double CurrentClockTimeMillis() override;
156
161
  v8::TracingController* GetTracingController() override;
157
162
  bool FlushForegroundTasks(v8::Isolate* isolate) override;
158
- std::unique_ptr<v8::JobHandle> PostJob(
163
+ std::unique_ptr<v8::JobHandle> CreateJobImpl(
159
164
  v8::TaskPriority priority,
160
- std::unique_ptr<v8::JobTask> job_task) override;
165
+ std::unique_ptr<v8::JobTask> job_task,
166
+ const v8::SourceLocation& location) override;
161
167
 
162
168
  void RegisterIsolate(v8::Isolate* isolate, uv_loop_t* loop) override;
163
169
  void RegisterIsolate(v8::Isolate* isolate,
@@ -10,11 +10,12 @@
10
10
  namespace node {
11
11
 
12
12
  class Environment;
13
+ class IsolateData;
13
14
  class MemoryTracker;
14
15
  class ExternalReferenceRegistry;
16
+ class Realm;
15
17
 
16
- v8::MaybeLocal<v8::Object> CreateEnvVarProxy(v8::Local<v8::Context> context,
17
- v8::Isolate* isolate);
18
+ void CreateEnvProxyTemplate(IsolateData* isolate_data);
18
19
 
19
20
  // Most of the time, it's best to use `console.error` to write
20
21
  // to the process.stderr stream. However, in some cases, such as
@@ -35,27 +36,34 @@ template <typename... Args>
35
36
  inline v8::Maybe<bool> ProcessEmitWarning(Environment* env,
36
37
  const char* fmt,
37
38
  Args&&... args);
39
+
40
+ v8::Maybe<bool> ProcessEmitWarningSync(Environment* env, const char* message);
38
41
  v8::Maybe<bool> ProcessEmitExperimentalWarning(Environment* env,
39
42
  const char* warning);
40
43
  v8::Maybe<bool> ProcessEmitDeprecationWarning(Environment* env,
41
44
  const char* warning,
42
45
  const char* deprecation_code);
43
46
 
44
- v8::MaybeLocal<v8::Object> CreateProcessObject(Environment* env);
47
+ v8::MaybeLocal<v8::Object> CreateProcessObject(Realm* env);
45
48
  void PatchProcessObject(const v8::FunctionCallbackInfo<v8::Value>& args);
46
49
 
47
50
  namespace process {
48
51
  class BindingData : public SnapshotableObject {
49
52
  public:
50
- void AddMethods();
53
+ struct InternalFieldInfo : public node::InternalFieldInfoBase {
54
+ AliasedBufferIndex hrtime_buffer;
55
+ };
56
+
57
+ static void AddMethods(v8::Isolate* isolate,
58
+ v8::Local<v8::ObjectTemplate> target);
51
59
  static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
52
60
 
53
61
  SERIALIZABLE_OBJECT_METHODS()
54
- static constexpr FastStringKey type_name{"node::process::BindingData"};
55
- static constexpr EmbedderObjectType type_int =
56
- EmbedderObjectType::k_process_binding_data;
62
+ SET_BINDING_ID(process_binding_data)
57
63
 
58
- BindingData(Environment* env, v8::Local<v8::Object> object);
64
+ BindingData(Realm* realm,
65
+ v8::Local<v8::Object> object,
66
+ InternalFieldInfo* info = nullptr);
59
67
 
60
68
  void MemoryInfo(MemoryTracker* tracker) const override;
61
69
  SET_MEMORY_INFO_NAME(BindingData)
@@ -64,7 +72,8 @@ class BindingData : public SnapshotableObject {
64
72
  static BindingData* FromV8Value(v8::Local<v8::Value> receiver);
65
73
  static void NumberImpl(BindingData* receiver);
66
74
 
67
- static void FastNumber(v8::Local<v8::Value> receiver) {
75
+ static void FastNumber(v8::Local<v8::Value> unused,
76
+ v8::Local<v8::Value> receiver) {
68
77
  NumberImpl(FromV8Value(receiver));
69
78
  }
70
79
 
@@ -72,17 +81,20 @@ class BindingData : public SnapshotableObject {
72
81
 
73
82
  static void BigIntImpl(BindingData* receiver);
74
83
 
75
- static void FastBigInt(v8::Local<v8::Value> receiver) {
84
+ static void FastBigInt(v8::Local<v8::Value> unused,
85
+ v8::Local<v8::Value> receiver) {
76
86
  BigIntImpl(FromV8Value(receiver));
77
87
  }
78
88
 
79
89
  static void SlowBigInt(const v8::FunctionCallbackInfo<v8::Value>& args);
80
90
 
91
+ static void LoadEnvFile(const v8::FunctionCallbackInfo<v8::Value>& args);
92
+
81
93
  private:
82
- static constexpr size_t kBufferSize =
83
- std::max(sizeof(uint64_t), sizeof(uint32_t) * 3);
84
- v8::Global<v8::ArrayBuffer> array_buffer_;
85
- std::shared_ptr<v8::BackingStore> backing_store_;
94
+ // Buffer length in uint32.
95
+ static constexpr size_t kHrTimeBufferLength = 3;
96
+ AliasedUint32Array hrtime_buffer_;
97
+ InternalFieldInfo* internal_field_info_ = nullptr;
86
98
 
87
99
  // These need to be static so that we have their addresses available to
88
100
  // register as external references in the snapshot at environment creation