@encharm/cws 4.4.1 → 4.5.2

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 (606) hide show
  1. package/binding.gyp +1 -1
  2. package/dist/bindings/cws_darwin_arm64_node115.node +0 -0
  3. package/dist/bindings/cws_darwin_arm64_node127.node +0 -0
  4. package/dist/bindings/cws_darwin_arm64_node137.node +0 -0
  5. package/dist/bindings/cws_linux_arm64_node115.node +0 -0
  6. package/dist/bindings/cws_linux_arm64_node127.node +0 -0
  7. package/dist/bindings/cws_linux_x64_node115.node +0 -0
  8. package/dist/bindings/cws_linux_x64_node127.node +0 -0
  9. package/dist/bindings/cws_linux_x64_node137.node +0 -0
  10. package/dist/bindings/cws_win32_x64_node108.node +0 -0
  11. package/dist/bindings/cws_win32_x64_node115.node +0 -0
  12. package/dist/bindings/cws_win32_x64_node127.node +0 -0
  13. package/dist/bindings/cws_win32_x64_node83.node +0 -0
  14. package/dist/bindings/cws_win32_x64_node93.node +0 -0
  15. package/package.json +1 -1
  16. package/src/Addon.h +13 -23
  17. package/src/Socket.h +0 -1
  18. package/src/headers/22/acorn_version.h +6 -0
  19. package/src/headers/22/aliased_buffer-inl.h +243 -0
  20. package/src/headers/22/aliased_buffer.h +206 -0
  21. package/src/headers/{18 → 22}/async_wrap-inl.h +8 -6
  22. package/src/headers/{18 → 22}/async_wrap.h +65 -59
  23. package/src/headers/{18 → 22}/base_object-inl.h +57 -117
  24. package/src/headers/{18 → 22}/base_object.h +58 -30
  25. package/src/headers/22/base_object_types.h +74 -0
  26. package/src/headers/22/blob_serializer_deserializer-inl.h +385 -0
  27. package/src/headers/22/blob_serializer_deserializer.h +132 -0
  28. package/src/headers/{16 → 22}/callback_queue.h +1 -0
  29. package/src/headers/{16 → 22}/cares_wrap.h +27 -20
  30. package/src/headers/22/cjs_module_lexer_version.h +6 -0
  31. package/src/headers/22/cleanup_queue-inl.h +62 -0
  32. package/src/headers/22/cleanup_queue.h +85 -0
  33. package/src/headers/22/compile_cache.h +104 -0
  34. package/src/headers/{18 → 22}/crypto/crypto_clienthello.h +1 -1
  35. package/src/headers/{18 → 22}/crypto/crypto_context.h +31 -7
  36. package/src/headers/{18 → 22}/crypto/crypto_keys.h +118 -148
  37. package/src/headers/{18 → 22}/crypto/crypto_tls.h +20 -5
  38. package/src/headers/{18 → 22}/crypto/crypto_util.h +219 -263
  39. package/src/headers/22/crypto/ncrypto.h +752 -0
  40. package/src/headers/{16 → 22}/debug_utils-inl.h +15 -7
  41. package/src/headers/{18 → 22}/debug_utils.h +25 -19
  42. package/src/headers/22/encoding_binding.h +59 -0
  43. package/src/headers/{14 → 22}/env-inl.h +276 -409
  44. package/src/headers/22/env.h +1266 -0
  45. package/src/headers/22/env_properties.h +497 -0
  46. package/src/headers/{18 → 22}/handle_wrap.h +2 -0
  47. package/src/headers/{18 → 22}/histogram.h +88 -48
  48. package/src/headers/{16 → 22}/inspector_agent.h +17 -1
  49. package/src/headers/{16 → 22}/inspector_profiler.h +15 -13
  50. package/src/headers/22/js_native_api.h +619 -0
  51. package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
  52. package/src/headers/22/js_native_api_v8.h +485 -0
  53. package/src/headers/{18 → 22}/js_native_api_v8_internals.h +6 -0
  54. package/src/headers/22/json_parser.h +40 -0
  55. package/src/headers/{16 → 22}/json_utils.h +19 -8
  56. package/src/headers/{18 → 22}/memory_tracker-inl.h +16 -13
  57. package/src/headers/{14 → 22}/memory_tracker.h +13 -8
  58. package/src/headers/{16 → 22}/module_wrap.h +49 -19
  59. package/src/headers/22/ncrypto/ncrypto.h +752 -0
  60. package/src/headers/{18 → 22}/node.h +465 -68
  61. package/src/headers/{18 → 22}/node_api.h +66 -81
  62. package/src/headers/{18 → 22}/node_api_internals.h +8 -4
  63. package/src/headers/{18 → 22}/node_api_types.h +5 -0
  64. package/src/headers/22/node_binding.h +154 -0
  65. package/src/headers/{18 → 22}/node_blob.h +46 -78
  66. package/src/headers/{18 → 22}/node_bob-inl.h +1 -2
  67. package/src/headers/{18 → 22}/node_bob.h +2 -6
  68. package/src/headers/{18 → 22}/node_buffer.h +1 -1
  69. package/src/headers/22/node_builtins.h +220 -0
  70. package/src/headers/{18 → 22}/node_constants.h +3 -5
  71. package/src/headers/22/node_context_data.h +168 -0
  72. package/src/headers/22/node_contextify.h +199 -0
  73. package/src/headers/{16 → 22}/node_crypto.h +1 -2
  74. package/src/headers/22/node_dotenv.h +45 -0
  75. package/src/headers/{18 → 22}/node_errors.h +86 -27
  76. package/src/headers/22/node_exit_code.h +54 -0
  77. package/src/headers/22/node_external_reference.h +249 -0
  78. package/src/headers/{18 → 22}/node_file-inl.h +127 -30
  79. package/src/headers/{16 → 22}/node_file.h +122 -11
  80. package/src/headers/{18 → 22}/node_http2.h +28 -11
  81. package/src/headers/{16 → 22}/node_http2_state.h +34 -25
  82. package/src/headers/{18 → 22}/node_http_common-inl.h +2 -1
  83. package/src/headers/{18 → 22}/node_http_common.h +56 -55
  84. package/src/headers/{16 → 22}/node_i18n.h +5 -18
  85. package/src/headers/{18 → 22}/node_internals.h +121 -59
  86. package/src/headers/{18 → 22}/node_main_instance.h +4 -31
  87. package/src/headers/{18 → 22}/node_messaging.h +27 -10
  88. package/src/headers/{18 → 22}/node_metadata.h +23 -1
  89. package/src/headers/{18 → 22}/node_options-inl.h +24 -11
  90. package/src/headers/{18 → 22}/node_options.h +124 -39
  91. package/src/headers/{18 → 22}/node_perf.h +0 -2
  92. package/src/headers/{18 → 22}/node_perf_common.h +20 -9
  93. package/src/headers/{18 → 22}/node_platform.h +11 -5
  94. package/src/headers/{18 → 22}/node_process.h +26 -14
  95. package/src/headers/22/node_realm-inl.h +145 -0
  96. package/src/headers/22/node_realm.h +184 -0
  97. package/src/headers/{16 → 22}/node_report.h +13 -17
  98. package/src/headers/{16 → 22}/node_revert.h +3 -3
  99. package/src/headers/{16 → 22}/node_root_certs.h +902 -461
  100. package/src/headers/22/node_sea.h +64 -0
  101. package/src/headers/22/node_shadow_realm.h +46 -0
  102. package/src/headers/22/node_snapshot_builder.h +57 -0
  103. package/src/headers/22/node_snapshotable.h +174 -0
  104. package/src/headers/{18 → 22}/node_sockaddr.h +2 -2
  105. package/src/headers/{16 → 22}/node_stat_watcher.h +2 -1
  106. package/src/headers/22/node_threadsafe_cow-inl.h +54 -0
  107. package/src/headers/22/node_threadsafe_cow.h +105 -0
  108. package/src/headers/22/node_union_bytes.h +81 -0
  109. package/src/headers/22/node_url.h +96 -0
  110. package/src/headers/22/node_v8.h +77 -0
  111. package/src/headers/{14 → 22}/node_v8_platform-inl.h +17 -6
  112. package/src/headers/{16 → 22}/node_version.h +21 -9
  113. package/src/headers/22/node_wasi.h +185 -0
  114. package/src/headers/{14 → 22}/node_watchdog.h +2 -0
  115. package/src/headers/{18 → 22}/node_worker.h +7 -2
  116. package/src/headers/22/permission/child_process_permission.h +31 -0
  117. package/src/headers/22/permission/fs_permission.h +167 -0
  118. package/src/headers/22/permission/inspector_permission.h +31 -0
  119. package/src/headers/22/permission/permission.h +99 -0
  120. package/src/headers/22/permission/permission_base.h +60 -0
  121. package/src/headers/22/permission/wasi_permission.h +31 -0
  122. package/src/headers/22/permission/worker_permission.h +31 -0
  123. package/src/headers/{16 → 22}/req_wrap-inl.h +7 -6
  124. package/src/headers/{14 → 22}/spawn_sync.h +3 -3
  125. package/src/headers/{18 → 22}/stream_base-inl.h +0 -135
  126. package/src/headers/{18 → 22}/stream_base.h +35 -16
  127. package/src/headers/{18 → 22}/stream_pipe.h +3 -4
  128. package/src/headers/{16 → 22}/stream_wrap.h +2 -1
  129. package/src/headers/{18 → 22}/string_bytes.h +5 -14
  130. package/src/headers/{14 → 22}/string_decoder-inl.h +0 -6
  131. package/src/headers/{16 → 22}/string_decoder.h +0 -1
  132. package/src/headers/{18 → 22}/tcp_wrap.h +1 -1
  133. package/src/headers/{18 → 22}/threadpoolwork-inl.h +14 -1
  134. package/src/headers/22/timers.h +76 -0
  135. package/src/headers/{18 → 22}/tracing/trace_event.h +7 -5
  136. package/src/headers/{16 → 22}/udp_wrap.h +8 -5
  137. package/src/headers/22/undici_version.h +6 -0
  138. package/src/headers/{18 → 22}/util-inl.h +97 -127
  139. package/src/headers/{18 → 22}/util.h +293 -106
  140. package/src/headers/{18 → 22}/v8-fast-api-calls.h +103 -58
  141. package/src/headers/24/acorn_version.h +6 -0
  142. package/src/headers/24/addon_permission.h +31 -0
  143. package/src/headers/{16/tracing → 24}/agent.h +1 -1
  144. package/src/headers/24/aliased_buffer-inl.h +244 -0
  145. package/src/headers/24/aliased_buffer.h +206 -0
  146. package/src/headers/24/amaro_version.h +6 -0
  147. package/src/headers/24/application.h +165 -0
  148. package/src/headers/24/async_context_frame.h +33 -0
  149. package/src/headers/{14 → 24}/async_wrap-inl.h +8 -6
  150. package/src/headers/{16 → 24}/async_wrap.h +86 -88
  151. package/src/headers/{16 → 24}/base_object-inl.h +75 -119
  152. package/src/headers/{16 → 24}/base_object.h +84 -40
  153. package/src/headers/24/base_object_types.h +74 -0
  154. package/src/headers/24/bindingdata.h +272 -0
  155. package/src/headers/24/blob_serializer_deserializer-inl.h +385 -0
  156. package/src/headers/24/blob_serializer_deserializer.h +132 -0
  157. package/src/headers/{18 → 24}/callback_queue.h +1 -0
  158. package/src/headers/{18 → 24}/cares_wrap.h +68 -144
  159. package/src/headers/24/child_process_permission.h +31 -0
  160. package/src/headers/24/cid.h +127 -0
  161. package/src/headers/24/cjs_module_lexer_version.h +6 -0
  162. package/src/headers/24/cleanup_queue-inl.h +36 -0
  163. package/src/headers/24/cleanup_queue.h +79 -0
  164. package/src/headers/24/compile_cache.h +113 -0
  165. package/src/headers/24/cppgc_helpers-inl.h +65 -0
  166. package/src/headers/24/cppgc_helpers.h +162 -0
  167. package/src/headers/24/crypto/crypto_aes.h +97 -0
  168. package/src/headers/24/crypto/crypto_argon2.h +86 -0
  169. package/src/headers/{16 → 24}/crypto/crypto_bio.h +8 -9
  170. package/src/headers/24/crypto/crypto_chacha20_poly1305.h +64 -0
  171. package/src/headers/{18 → 24}/crypto/crypto_cipher.h +48 -58
  172. package/src/headers/{16 → 24}/crypto/crypto_clienthello-inl.h +2 -2
  173. package/src/headers/{16 → 24}/crypto/crypto_clienthello.h +1 -1
  174. package/src/headers/24/crypto/crypto_common.h +48 -0
  175. package/src/headers/{16 → 24}/crypto/crypto_context.h +46 -22
  176. package/src/headers/{18 → 24}/crypto/crypto_dh.h +27 -57
  177. package/src/headers/{18 → 24}/crypto/crypto_dsa.h +7 -34
  178. package/src/headers/{18 → 24}/crypto/crypto_ec.h +42 -49
  179. package/src/headers/{18 → 24}/crypto/crypto_hash.h +11 -11
  180. package/src/headers/{18 → 24}/crypto/crypto_hkdf.h +10 -14
  181. package/src/headers/{18 → 24}/crypto/crypto_hmac.h +11 -13
  182. package/src/headers/24/crypto/crypto_kem.h +113 -0
  183. package/src/headers/{18 → 24}/crypto/crypto_keygen.h +59 -74
  184. package/src/headers/{16 → 24}/crypto/crypto_keys.h +134 -154
  185. package/src/headers/24/crypto/crypto_ml_dsa.h +21 -0
  186. package/src/headers/{18 → 24}/crypto/crypto_pbkdf2.h +9 -11
  187. package/src/headers/{18 → 24}/crypto/crypto_random.h +28 -34
  188. package/src/headers/{18 → 24}/crypto/crypto_rsa.h +30 -35
  189. package/src/headers/{18 → 24}/crypto/crypto_scrypt.h +8 -10
  190. package/src/headers/{18 → 24}/crypto/crypto_sig.h +36 -48
  191. package/src/headers/{16 → 24}/crypto/crypto_tls.h +35 -18
  192. package/src/headers/{16 → 24}/crypto/crypto_util.h +183 -321
  193. package/src/headers/24/crypto/crypto_x509.h +140 -0
  194. package/src/headers/24/data.h +148 -0
  195. package/src/headers/{14 → 24}/debug_utils-inl.h +17 -8
  196. package/src/headers/{16 → 24}/debug_utils.h +31 -22
  197. package/src/headers/24/defs.h +254 -0
  198. package/src/headers/24/embedded_data.h +17 -0
  199. package/src/headers/24/encoding_binding.h +60 -0
  200. package/src/headers/24/endpoint.h +421 -0
  201. package/src/headers/{16 → 24}/env-inl.h +198 -540
  202. package/src/headers/24/env.h +1257 -0
  203. package/src/headers/24/env_properties.h +561 -0
  204. package/src/headers/24/fs_permission.h +167 -0
  205. package/src/headers/{16 → 24}/handle_wrap.h +4 -2
  206. package/src/headers/{16 → 24}/histogram-inl.h +34 -15
  207. package/src/headers/24/histogram.h +279 -0
  208. package/src/headers/24/http3.h +44 -0
  209. package/src/headers/{18 → 24}/inspector_agent.h +23 -2
  210. package/src/headers/24/inspector_permission.h +31 -0
  211. package/src/headers/{18 → 24}/inspector_profiler.h +15 -15
  212. package/src/headers/24/io_agent.h +30 -0
  213. package/src/headers/{18 → 24}/js_native_api.h +74 -30
  214. package/src/headers/{16 → 24}/js_native_api_types.h +61 -10
  215. package/src/headers/{18 → 24}/js_native_api_v8.h +205 -160
  216. package/src/headers/{16 → 24}/js_native_api_v8_internals.h +12 -6
  217. package/src/headers/24/json_parser.h +40 -0
  218. package/src/headers/{18 → 24}/json_utils.h +19 -8
  219. package/src/headers/24/logstream.h +81 -0
  220. package/src/headers/24/main_thread_interface.h +116 -0
  221. package/src/headers/{16 → 24}/memory_tracker-inl.h +115 -17
  222. package/src/headers/{16 → 24}/memory_tracker.h +58 -9
  223. package/src/headers/24/module_wrap.h +229 -0
  224. package/src/headers/24/ncrypto.h +1625 -0
  225. package/src/headers/24/network_agent.h +118 -0
  226. package/src/headers/24/network_inspector.h +45 -0
  227. package/src/headers/24/network_resource_manager.h +29 -0
  228. package/src/headers/{16 → 24}/node.h +560 -72
  229. package/src/headers/24/node_api.h +269 -0
  230. package/src/headers/24/node_api_internals.h +46 -0
  231. package/src/headers/{16 → 24}/node_api_types.h +13 -11
  232. package/src/headers/24/node_binding.h +163 -0
  233. package/src/headers/{16 → 24}/node_blob.h +46 -78
  234. package/src/headers/{16 → 24}/node_bob-inl.h +1 -2
  235. package/src/headers/{16 → 24}/node_bob.h +2 -6
  236. package/src/headers/{14 → 24}/node_buffer.h +1 -1
  237. package/src/headers/24/node_builtins.h +223 -0
  238. package/src/headers/24/node_config_file.h +65 -0
  239. package/src/headers/{14 → 24}/node_constants.h +3 -5
  240. package/src/headers/24/node_context_data.h +168 -0
  241. package/src/headers/24/node_contextify.h +261 -0
  242. package/src/headers/{18 → 24}/node_crypto.h +7 -2
  243. package/src/headers/24/node_debug.h +25 -0
  244. package/src/headers/24/node_dotenv.h +45 -0
  245. package/src/headers/{16 → 24}/node_errors.h +146 -32
  246. package/src/headers/24/node_exit_code.h +54 -0
  247. package/src/headers/{18 → 24}/node_external_reference.h +44 -22
  248. package/src/headers/{16 → 24}/node_file-inl.h +156 -50
  249. package/src/headers/{18 → 24}/node_file.h +129 -15
  250. package/src/headers/{16 → 24}/node_http2.h +53 -18
  251. package/src/headers/{14 → 24}/node_http2_state.h +35 -25
  252. package/src/headers/{16 → 24}/node_http_common-inl.h +8 -10
  253. package/src/headers/{16 → 24}/node_http_common.h +63 -59
  254. package/src/headers/{18 → 24}/node_i18n.h +5 -18
  255. package/src/headers/{16 → 24}/node_internals.h +131 -76
  256. package/src/headers/24/node_json.h +24 -0
  257. package/src/headers/24/node_large_page.h +34 -0
  258. package/src/headers/24/node_locks.h +180 -0
  259. package/src/headers/{14 → 24}/node_main_instance.h +15 -44
  260. package/src/headers/{16 → 24}/node_mem-inl.h +7 -7
  261. package/src/headers/{16 → 24}/node_messaging.h +27 -11
  262. package/src/headers/{16 → 24}/node_metadata.h +44 -2
  263. package/src/headers/24/node_modules.h +93 -0
  264. package/src/headers/{16 → 24}/node_options-inl.h +93 -46
  265. package/src/headers/{16 → 24}/node_options.h +251 -63
  266. package/src/headers/{16 → 24}/node_perf.h +6 -25
  267. package/src/headers/{16 → 24}/node_perf_common.h +23 -10
  268. package/src/headers/24/node_platform.h +286 -0
  269. package/src/headers/24/node_process.h +111 -0
  270. package/src/headers/24/node_realm-inl.h +153 -0
  271. package/src/headers/24/node_realm.h +236 -0
  272. package/src/headers/{18 → 24}/node_report.h +13 -17
  273. package/src/headers/{18 → 24}/node_revert.h +3 -3
  274. package/src/headers/{18 → 24}/node_root_certs.h +1010 -710
  275. package/src/headers/24/node_sea.h +74 -0
  276. package/src/headers/24/node_shadow_realm.h +46 -0
  277. package/src/headers/24/node_snapshot_builder.h +57 -0
  278. package/src/headers/24/node_snapshotable.h +174 -0
  279. package/src/headers/{16 → 24}/node_sockaddr-inl.h +11 -20
  280. package/src/headers/{16 → 24}/node_sockaddr.h +9 -20
  281. package/src/headers/24/node_sqlite.h +270 -0
  282. package/src/headers/{18 → 24}/node_stat_watcher.h +2 -1
  283. package/src/headers/24/node_string.h +101 -0
  284. package/src/headers/24/node_task_runner.h +92 -0
  285. package/src/headers/24/node_threadsafe_cow-inl.h +54 -0
  286. package/src/headers/24/node_threadsafe_cow.h +105 -0
  287. package/src/headers/24/node_union_bytes.h +81 -0
  288. package/src/headers/24/node_url.h +101 -0
  289. package/src/headers/24/node_url_pattern.h +118 -0
  290. package/src/headers/24/node_v8.h +77 -0
  291. package/src/headers/{18 → 24}/node_v8_platform-inl.h +22 -31
  292. package/src/headers/{18 → 24}/node_version.h +18 -6
  293. package/src/headers/24/node_wasi.h +185 -0
  294. package/src/headers/24/node_wasm_web_api.h +55 -0
  295. package/src/headers/{18 → 24}/node_watchdog.h +2 -0
  296. package/src/headers/24/node_webstorage.h +60 -0
  297. package/src/headers/{16 → 24}/node_worker.h +24 -10
  298. package/src/headers/24/packet.h +155 -0
  299. package/src/headers/24/path.h +33 -0
  300. package/src/headers/24/permission/addon_permission.h +31 -0
  301. package/src/headers/24/permission/child_process_permission.h +31 -0
  302. package/src/headers/24/permission/fs_permission.h +167 -0
  303. package/src/headers/24/permission/inspector_permission.h +31 -0
  304. package/src/headers/24/permission/permission.h +100 -0
  305. package/src/headers/24/permission/permission_base.h +65 -0
  306. package/src/headers/24/permission/wasi_permission.h +31 -0
  307. package/src/headers/24/permission/worker_permission.h +31 -0
  308. package/src/headers/24/permission.h +100 -0
  309. package/src/headers/24/permission_base.h +65 -0
  310. package/src/headers/24/preferredaddress.h +72 -0
  311. package/src/headers/24/protocol_helper.h +27 -0
  312. package/src/headers/24/queue.h +306 -0
  313. package/src/headers/{18 → 24}/req_wrap-inl.h +12 -6
  314. package/src/headers/{16 → 24}/req_wrap.h +3 -1
  315. package/src/headers/24/runtime_agent.h +41 -0
  316. package/src/headers/24/session.h +528 -0
  317. package/src/headers/24/sessionticket.h +108 -0
  318. package/src/headers/{18 → 24}/spawn_sync.h +9 -8
  319. package/src/headers/{16 → 24}/stream_base-inl.h +3 -133
  320. package/src/headers/{16 → 24}/stream_base.h +43 -19
  321. package/src/headers/{16 → 24}/stream_pipe.h +7 -4
  322. package/src/headers/{18 → 24}/stream_wrap.h +2 -3
  323. package/src/headers/24/streams.h +370 -0
  324. package/src/headers/{16 → 24}/string_bytes.h +8 -21
  325. package/src/headers/{18 → 24}/string_decoder-inl.h +0 -6
  326. package/src/headers/{18 → 24}/string_decoder.h +0 -1
  327. package/src/headers/24/target_agent.h +75 -0
  328. package/src/headers/{16 → 24}/tcp_wrap.h +3 -1
  329. package/src/headers/{14 → 24}/threadpoolwork-inl.h +14 -1
  330. package/src/headers/24/timer_wrap-inl.h +32 -0
  331. package/src/headers/{16 → 24}/timer_wrap.h +7 -4
  332. package/src/headers/24/timers.h +75 -0
  333. package/src/headers/24/tlscontext.h +228 -0
  334. package/src/headers/24/tokens.h +256 -0
  335. package/src/headers/{14/tracing → 24}/trace_event.h +7 -5
  336. package/src/headers/24/traced_value.h +129 -0
  337. package/src/headers/24/tracing_agent.h +43 -0
  338. package/src/headers/24/transportparams.h +166 -0
  339. package/src/headers/{16 → 24}/tty_wrap.h +0 -1
  340. package/src/headers/{18 → 24}/udp_wrap.h +8 -5
  341. package/src/headers/24/undici_version.h +6 -0
  342. package/src/headers/{16 → 24}/util-inl.h +267 -131
  343. package/src/headers/{16 → 24}/util.h +338 -146
  344. package/src/headers/24/v8-external-memory-accounter.h +60 -0
  345. package/src/headers/24/v8-fast-api-calls.h +819 -0
  346. package/src/headers/24/v8-inspector.h +426 -0
  347. package/src/headers/24/wasi_permission.h +31 -0
  348. package/src/headers/24/worker_agent.h +40 -0
  349. package/src/headers/24/worker_inspector.h +124 -0
  350. package/src/headers/24/worker_permission.h +31 -0
  351. package/src/headers/24/zlib_version.h +6 -0
  352. package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
  353. package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
  354. package/dist/bindings/cws_darwin_x64_node83.node +0 -0
  355. package/dist/bindings/cws_darwin_x64_node93.node +0 -0
  356. package/dist/bindings/cws_linux_arm64_node83.node +0 -0
  357. package/dist/bindings/cws_linux_arm64_node93.node +0 -0
  358. package/dist/bindings/cws_linux_x64_node83.node +0 -0
  359. package/dist/bindings/cws_linux_x64_node93.node +0 -0
  360. package/src/headers/14/aliased_buffer.h +0 -263
  361. package/src/headers/14/allocated_buffer-inl.h +0 -110
  362. package/src/headers/14/allocated_buffer.h +0 -73
  363. package/src/headers/14/async_wrap.h +0 -230
  364. package/src/headers/14/base64.h +0 -183
  365. package/src/headers/14/base_object-inl.h +0 -371
  366. package/src/headers/14/base_object.h +0 -281
  367. package/src/headers/14/callback_queue-inl.h +0 -97
  368. package/src/headers/14/callback_queue.h +0 -78
  369. package/src/headers/14/debug_utils.h +0 -181
  370. package/src/headers/14/env.h +0 -1388
  371. package/src/headers/14/handle_wrap.h +0 -117
  372. package/src/headers/14/histogram-inl.h +0 -83
  373. package/src/headers/14/histogram.h +0 -98
  374. package/src/headers/14/inspector_agent.h +0 -149
  375. package/src/headers/14/inspector_profiler.h +0 -137
  376. package/src/headers/14/js_native_api.h +0 -544
  377. package/src/headers/14/js_native_api_types.h +0 -143
  378. package/src/headers/14/js_native_api_v8.h +0 -301
  379. package/src/headers/14/js_native_api_v8_internals.h +0 -38
  380. package/src/headers/14/json_utils.h +0 -161
  381. package/src/headers/14/memory_tracker-inl.h +0 -355
  382. package/src/headers/14/module_wrap.h +0 -99
  383. package/src/headers/14/node.h +0 -1032
  384. package/src/headers/14/node_api.h +0 -255
  385. package/src/headers/14/node_api_types.h +0 -44
  386. package/src/headers/14/node_binding.h +0 -99
  387. package/src/headers/14/node_context_data.h +0 -44
  388. package/src/headers/14/node_contextify.h +0 -161
  389. package/src/headers/14/node_crypto.h +0 -865
  390. package/src/headers/14/node_crypto_bio.h +0 -195
  391. package/src/headers/14/node_crypto_clienthello-inl.h +0 -91
  392. package/src/headers/14/node_crypto_clienthello.h +0 -132
  393. package/src/headers/14/node_crypto_common.h +0 -138
  394. package/src/headers/14/node_crypto_groups.h +0 -415
  395. package/src/headers/14/node_dtrace.h +0 -86
  396. package/src/headers/14/node_errors.h +0 -214
  397. package/src/headers/14/node_file-inl.h +0 -306
  398. package/src/headers/14/node_file.h +0 -417
  399. package/src/headers/14/node_http2.h +0 -1191
  400. package/src/headers/14/node_http_common-inl.h +0 -194
  401. package/src/headers/14/node_http_common.h +0 -529
  402. package/src/headers/14/node_i18n.h +0 -144
  403. package/src/headers/14/node_internals.h +0 -405
  404. package/src/headers/14/node_mem.h +0 -45
  405. package/src/headers/14/node_messaging.h +0 -303
  406. package/src/headers/14/node_metadata.h +0 -109
  407. package/src/headers/14/node_mutex.h +0 -247
  408. package/src/headers/14/node_native_module.h +0 -101
  409. package/src/headers/14/node_native_module_env.h +0 -66
  410. package/src/headers/14/node_options-inl.h +0 -451
  411. package/src/headers/14/node_options.h +0 -481
  412. package/src/headers/14/node_perf.h +0 -181
  413. package/src/headers/14/node_perf_common.h +0 -97
  414. package/src/headers/14/node_platform.h +0 -189
  415. package/src/headers/14/node_process.h +0 -40
  416. package/src/headers/14/node_report.h +0 -47
  417. package/src/headers/14/node_revert.h +0 -72
  418. package/src/headers/14/node_root_certs.h +0 -3458
  419. package/src/headers/14/node_sockaddr-inl.h +0 -170
  420. package/src/headers/14/node_sockaddr.h +0 -123
  421. package/src/headers/14/node_stat_watcher.h +0 -70
  422. package/src/headers/14/node_union_bytes.h +0 -103
  423. package/src/headers/14/node_url.h +0 -188
  424. package/src/headers/14/node_version.h +0 -98
  425. package/src/headers/14/node_wasi.h +0 -108
  426. package/src/headers/14/node_win32_etw_provider-inl.h +0 -287
  427. package/src/headers/14/node_win32_etw_provider.h +0 -99
  428. package/src/headers/14/node_worker.h +0 -141
  429. package/src/headers/14/pipe_wrap.h +0 -78
  430. package/src/headers/14/req_wrap-inl.h +0 -170
  431. package/src/headers/14/req_wrap.h +0 -77
  432. package/src/headers/14/stream_base-inl.h +0 -275
  433. package/src/headers/14/stream_base.h +0 -434
  434. package/src/headers/14/stream_pipe.h +0 -73
  435. package/src/headers/14/stream_wrap.h +0 -130
  436. package/src/headers/14/string_bytes.h +0 -129
  437. package/src/headers/14/string_decoder.h +0 -50
  438. package/src/headers/14/string_search.h +0 -638
  439. package/src/headers/14/tcp_wrap.h +0 -101
  440. package/src/headers/14/tls_wrap.h +0 -222
  441. package/src/headers/14/tracing/agent.h +0 -195
  442. package/src/headers/14/tracing/traced_value.h +0 -70
  443. package/src/headers/14/tty_wrap.h +0 -64
  444. package/src/headers/14/udp_wrap.h +0 -227
  445. package/src/headers/14/util-inl.h +0 -566
  446. package/src/headers/14/util.h +0 -804
  447. package/src/headers/14/v8abbr.h +0 -124
  448. package/src/headers/16/aliased_buffer.h +0 -315
  449. package/src/headers/16/allocated_buffer-inl.h +0 -110
  450. package/src/headers/16/allocated_buffer.h +0 -73
  451. package/src/headers/16/async_wrap-inl.h +0 -94
  452. package/src/headers/16/base64-inl.h +0 -189
  453. package/src/headers/16/base64.h +0 -69
  454. package/src/headers/16/crypto/crypto_aes.h +0 -89
  455. package/src/headers/16/crypto/crypto_cipher.h +0 -286
  456. package/src/headers/16/crypto/crypto_common.h +0 -187
  457. package/src/headers/16/crypto/crypto_dh.h +0 -157
  458. package/src/headers/16/crypto/crypto_dsa.h +0 -76
  459. package/src/headers/16/crypto/crypto_ec.h +0 -169
  460. package/src/headers/16/crypto/crypto_groups.h +0 -415
  461. package/src/headers/16/crypto/crypto_hash.h +0 -89
  462. package/src/headers/16/crypto/crypto_hkdf.h +0 -66
  463. package/src/headers/16/crypto/crypto_hmac.h +0 -94
  464. package/src/headers/16/crypto/crypto_keygen.h +0 -301
  465. package/src/headers/16/crypto/crypto_pbkdf2.h +0 -76
  466. package/src/headers/16/crypto/crypto_random.h +0 -130
  467. package/src/headers/16/crypto/crypto_rsa.h +0 -141
  468. package/src/headers/16/crypto/crypto_scrypt.h +0 -87
  469. package/src/headers/16/crypto/crypto_sig.h +0 -167
  470. package/src/headers/16/crypto/crypto_spkac.h +0 -20
  471. package/src/headers/16/crypto/crypto_timing.h +0 -20
  472. package/src/headers/16/crypto/crypto_x509.h +0 -141
  473. package/src/headers/16/env.h +0 -1629
  474. package/src/headers/16/histogram.h +0 -216
  475. package/src/headers/16/js_native_api.h +0 -561
  476. package/src/headers/16/js_native_api_v8.h +0 -451
  477. package/src/headers/16/node.d +0 -315
  478. package/src/headers/16/node.stp +0 -146
  479. package/src/headers/16/node_api.h +0 -275
  480. package/src/headers/16/node_api_internals.h +0 -30
  481. package/src/headers/16/node_binding.h +0 -99
  482. package/src/headers/16/node_buffer.h +0 -92
  483. package/src/headers/16/node_constants.h +0 -84
  484. package/src/headers/16/node_context_data.h +0 -44
  485. package/src/headers/16/node_contextify.h +0 -196
  486. package/src/headers/16/node_dtrace.h +0 -86
  487. package/src/headers/16/node_external_reference.h +0 -129
  488. package/src/headers/16/node_main_instance.h +0 -103
  489. package/src/headers/16/node_native_module.h +0 -101
  490. package/src/headers/16/node_native_module_env.h +0 -68
  491. package/src/headers/16/node_platform.h +0 -192
  492. package/src/headers/16/node_process.h +0 -43
  493. package/src/headers/16/node_provider.d +0 -80
  494. package/src/headers/16/node_snapshotable.h +0 -137
  495. package/src/headers/16/node_union_bytes.h +0 -103
  496. package/src/headers/16/node_url.h +0 -205
  497. package/src/headers/16/node_v8.h +0 -41
  498. package/src/headers/16/node_v8_platform-inl.h +0 -194
  499. package/src/headers/16/node_wasi.h +0 -108
  500. package/src/headers/16/node_watchdog.h +0 -152
  501. package/src/headers/16/node_win32_etw_provider-inl.h +0 -288
  502. package/src/headers/16/node_win32_etw_provider.h +0 -99
  503. package/src/headers/16/spawn_sync.h +0 -242
  504. package/src/headers/16/string_decoder-inl.h +0 -37
  505. package/src/headers/16/string_search.h +0 -638
  506. package/src/headers/16/threadpoolwork-inl.h +0 -57
  507. package/src/headers/16/tracing/node_trace_buffer.h +0 -83
  508. package/src/headers/16/tracing/node_trace_writer.h +0 -75
  509. package/src/headers/16/tracing/trace_event.h +0 -720
  510. package/src/headers/16/tracing/traced_value.h +0 -70
  511. package/src/headers/16/v8abbr.h +0 -123
  512. package/src/headers/16/v8ustack.d +0 -695
  513. package/src/headers/18/aliased_buffer.h +0 -315
  514. package/src/headers/18/aliased_struct-inl.h +0 -54
  515. package/src/headers/18/aliased_struct.h +0 -63
  516. package/src/headers/18/base64-inl.h +0 -189
  517. package/src/headers/18/base64.h +0 -69
  518. package/src/headers/18/connect_wrap.h +0 -26
  519. package/src/headers/18/connection_wrap.h +0 -30
  520. package/src/headers/18/crypto/crypto_aes.h +0 -89
  521. package/src/headers/18/crypto/crypto_bio.h +0 -194
  522. package/src/headers/18/crypto/crypto_clienthello-inl.h +0 -90
  523. package/src/headers/18/crypto/crypto_common.h +0 -151
  524. package/src/headers/18/crypto/crypto_groups.h +0 -415
  525. package/src/headers/18/crypto/crypto_x509.h +0 -143
  526. package/src/headers/18/debug_utils-inl.h +0 -223
  527. package/src/headers/18/diagnosticfilename-inl.h +0 -33
  528. package/src/headers/18/env-inl.h +0 -1308
  529. package/src/headers/18/env.h +0 -1667
  530. package/src/headers/18/inspector_io.h +0 -78
  531. package/src/headers/18/inspector_socket.h +0 -60
  532. package/src/headers/18/inspector_socket_server.h +0 -110
  533. package/src/headers/18/js_stream.h +0 -52
  534. package/src/headers/18/memory_tracker.h +0 -284
  535. package/src/headers/18/module_wrap.h +0 -116
  536. package/src/headers/18/node_binding.h +0 -99
  537. package/src/headers/18/node_context_data.h +0 -44
  538. package/src/headers/18/node_contextify.h +0 -196
  539. package/src/headers/18/node_dir.h +0 -52
  540. package/src/headers/18/node_dtrace.h +0 -86
  541. package/src/headers/18/node_http2_state.h +0 -149
  542. package/src/headers/18/node_mem-inl.h +0 -112
  543. package/src/headers/18/node_native_module.h +0 -109
  544. package/src/headers/18/node_native_module_env.h +0 -71
  545. package/src/headers/18/node_object_wrap.h +0 -132
  546. package/src/headers/18/node_snapshot_builder.h +0 -43
  547. package/src/headers/18/node_snapshotable.h +0 -130
  548. package/src/headers/18/node_union_bytes.h +0 -103
  549. package/src/headers/18/node_url.h +0 -205
  550. package/src/headers/18/node_v8.h +0 -41
  551. package/src/headers/18/node_wasi.h +0 -108
  552. package/src/headers/18/node_win32_etw_provider-inl.h +0 -288
  553. package/src/headers/18/node_win32_etw_provider.h +0 -99
  554. package/src/headers/18/string_search.h +0 -638
  555. package/src/headers/18/tracing/node_trace_buffer.h +0 -83
  556. package/src/headers/18/tracing/node_trace_writer.h +0 -75
  557. package/src/headers/18/tracing/trace_event_common.h +0 -1109
  558. package/src/headers/18/tracing/traced_value.h +0 -70
  559. package/src/headers/18/v8abbr.h +0 -123
  560. /package/src/headers/{14 → 22}/aliased_struct-inl.h +0 -0
  561. /package/src/headers/{14 → 22}/aliased_struct.h +0 -0
  562. /package/src/headers/{16 → 22}/callback_queue-inl.h +0 -0
  563. /package/src/headers/{14 → 22}/connect_wrap.h +0 -0
  564. /package/src/headers/{14 → 22}/connection_wrap.h +0 -0
  565. /package/src/headers/{14 → 22}/diagnosticfilename-inl.h +0 -0
  566. /package/src/headers/{18 → 22}/histogram-inl.h +0 -0
  567. /package/src/headers/{14 → 22}/inspector_io.h +0 -0
  568. /package/src/headers/{14 → 22}/inspector_socket.h +0 -0
  569. /package/src/headers/{14 → 22}/inspector_socket_server.h +0 -0
  570. /package/src/headers/{14 → 22}/js_stream.h +0 -0
  571. /package/src/headers/{14 → 22}/node_dir.h +0 -0
  572. /package/src/headers/{14 → 22}/node_mem-inl.h +0 -0
  573. /package/src/headers/{16 → 22}/node_mem.h +0 -0
  574. /package/src/headers/{16 → 22}/node_mutex.h +0 -0
  575. /package/src/headers/{14 → 22}/node_object_wrap.h +0 -0
  576. /package/src/headers/{16 → 22}/node_process-inl.h +0 -0
  577. /package/src/headers/{18 → 22}/node_sockaddr-inl.h +0 -0
  578. /package/src/headers/{18 → 22}/node_wasm_web_api.h +0 -0
  579. /package/src/headers/{16 → 22}/pipe_wrap.h +0 -0
  580. /package/src/headers/{18 → 22}/req_wrap.h +0 -0
  581. /package/src/headers/{18 → 22}/timer_wrap-inl.h +0 -0
  582. /package/src/headers/{18 → 22}/timer_wrap.h +0 -0
  583. /package/src/headers/{18 → 22}/tracing/agent.h +0 -0
  584. /package/src/headers/{14 → 22}/tracing/trace_event_common.h +0 -0
  585. /package/src/headers/{18 → 22}/tty_wrap.h +0 -0
  586. /package/src/headers/{16 → 24}/aliased_struct-inl.h +0 -0
  587. /package/src/headers/{16 → 24}/aliased_struct.h +0 -0
  588. /package/src/headers/{18 → 24}/callback_queue-inl.h +0 -0
  589. /package/src/headers/{16 → 24}/connect_wrap.h +0 -0
  590. /package/src/headers/{16 → 24}/connection_wrap.h +0 -0
  591. /package/src/headers/{18 → 24}/crypto/crypto_spkac.h +0 -0
  592. /package/src/headers/{18 → 24}/crypto/crypto_timing.h +0 -0
  593. /package/src/headers/{16 → 24}/diagnosticfilename-inl.h +0 -0
  594. /package/src/headers/{16 → 24}/inspector_io.h +0 -0
  595. /package/src/headers/{16 → 24}/inspector_socket.h +0 -0
  596. /package/src/headers/{16 → 24}/inspector_socket_server.h +0 -0
  597. /package/src/headers/{16 → 24}/js_stream.h +0 -0
  598. /package/src/headers/{16 → 24}/node_dir.h +0 -0
  599. /package/src/headers/{18 → 24}/node_mem.h +0 -0
  600. /package/src/headers/{18 → 24}/node_mutex.h +0 -0
  601. /package/src/headers/{16 → 24}/node_object_wrap.h +0 -0
  602. /package/src/headers/{18 → 24}/node_process-inl.h +0 -0
  603. /package/src/headers/{14/tracing → 24}/node_trace_buffer.h +0 -0
  604. /package/src/headers/{14/tracing → 24}/node_trace_writer.h +0 -0
  605. /package/src/headers/{18 → 24}/pipe_wrap.h +0 -0
  606. /package/src/headers/{16/tracing → 24}/trace_event_common.h +0 -0
@@ -11,6 +11,10 @@
11
11
  #include "node_mutex.h"
12
12
  #include "util.h"
13
13
 
14
+ #if HAVE_OPENSSL
15
+ #include "openssl/opensslv.h"
16
+ #endif
17
+
14
18
  namespace node {
15
19
 
16
20
  class HostPort {
@@ -24,29 +28,26 @@ class HostPort {
24
28
 
25
29
  void set_host(const std::string& host) { host_name_ = host; }
26
30
 
27
- void set_port(int port) { port_ = port; }
31
+ void set_port(uint16_t port) { port_ = port; }
28
32
 
29
33
  const std::string& host() const { return host_name_; }
30
34
 
31
- int port() const {
32
- // TODO(joyeecheung): make port a uint16_t
33
- CHECK_GE(port_, 0);
34
- return port_;
35
- }
35
+ uint16_t port() const { return port_; }
36
36
 
37
37
  void Update(const HostPort& other) {
38
38
  if (!other.host_name_.empty()) host_name_ = other.host_name_;
39
- if (other.port_ >= 0) port_ = other.port_;
39
+ port_ = other.port_;
40
40
  }
41
41
 
42
42
  private:
43
43
  std::string host_name_;
44
- int port_;
44
+ uint16_t port_;
45
45
  };
46
46
 
47
47
  class Options {
48
48
  public:
49
- virtual void CheckOptions(std::vector<std::string>* errors) {}
49
+ virtual void CheckOptions(std::vector<std::string>* errors,
50
+ std::vector<std::string>* argv) {}
50
51
  virtual ~Options() = default;
51
52
  };
52
53
 
@@ -67,8 +68,11 @@ class DebugOptions : public Options {
67
68
  DebugOptions(DebugOptions&&) = default;
68
69
  DebugOptions& operator=(DebugOptions&&) = default;
69
70
 
71
+ bool allow_attaching_debugger = true;
70
72
  // --inspect
71
73
  bool inspector_enabled = false;
74
+ // --inspect-wait
75
+ bool inspect_wait = false;
72
76
  // --debug
73
77
  bool deprecated_debug = false;
74
78
  // --inspect-brk
@@ -90,40 +94,72 @@ class DebugOptions : public Options {
90
94
  break_first_line = true;
91
95
  }
92
96
 
97
+ void DisableWaitOrBreakFirstLine() {
98
+ inspect_wait = false;
99
+ break_first_line = false;
100
+ }
101
+
93
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 {
94
107
  return break_first_line || break_node_first_line;
95
108
  }
96
109
 
97
- void CheckOptions(std::vector<std::string>* errors) override;
110
+ void CheckOptions(std::vector<std::string>* errors,
111
+ std::vector<std::string>* argv) override;
98
112
  };
99
113
 
100
114
  class EnvironmentOptions : public Options {
101
115
  public:
102
116
  bool abort_on_uncaught_exception = false;
103
117
  std::vector<std::string> conditions;
118
+ bool detect_module = true;
119
+ bool disable_sigusr1 = false;
120
+ bool print_required_tla = false;
121
+ bool require_module = true;
104
122
  std::string dns_result_order;
105
123
  bool enable_source_maps = false;
106
- bool experimental_json_modules = false;
107
- bool experimental_modules = false;
108
- std::string experimental_specifier_resolution;
109
- bool experimental_wasm_modules = false;
124
+ bool experimental_addon_modules = false;
125
+ bool experimental_eventsource = false;
126
+ bool experimental_fetch = true;
127
+ bool experimental_websocket = true;
128
+ bool experimental_sqlite = true;
129
+ bool experimental_webstorage = false;
130
+ #ifdef NODE_OPENSSL_HAS_QUIC
131
+ bool experimental_quic = false;
132
+ #endif
133
+ std::string localstorage_file;
134
+ bool experimental_global_navigator = true;
135
+ bool experimental_global_web_crypto = true;
110
136
  bool experimental_import_meta_resolve = false;
111
- std::string module_type;
112
- std::string experimental_policy;
113
- std::string experimental_policy_integrity;
114
- bool has_policy_integrity_string;
137
+ std::string input_type; // Value of --input-type
138
+ bool entry_is_url = false;
139
+ bool permission = false;
140
+ std::vector<std::string> allow_fs_read;
141
+ std::vector<std::string> allow_fs_write;
142
+ bool allow_addons = false;
143
+ bool allow_child_process = false;
144
+ bool allow_wasi = false;
145
+ bool allow_worker_threads = false;
115
146
  bool experimental_repl_await = true;
116
147
  bool experimental_vm_modules = false;
148
+ bool async_context_frame = true;
117
149
  bool expose_internals = false;
150
+ bool force_node_api_uncaught_exceptions_policy = false;
118
151
  bool frozen_intrinsics = false;
119
152
  int64_t heap_snapshot_near_heap_limit = 0;
120
153
  std::string heap_snapshot_signal;
154
+ bool network_family_autoselection = true;
155
+ uint64_t network_family_autoselection_attempt_timeout = 250;
121
156
  uint64_t max_http_header_size = 16 * 1024;
122
157
  bool deprecation = true;
123
158
  bool force_async_hooks_checks = true;
124
159
  bool allow_native_addons = true;
125
160
  bool global_search_paths = true;
126
161
  bool warnings = true;
162
+ std::vector<std::string> disable_warnings;
127
163
  bool force_context_aware = false;
128
164
  bool pending_deprecation = false;
129
165
  bool preserve_symlinks = false;
@@ -135,6 +171,9 @@ class EnvironmentOptions : public Options {
135
171
  uint64_t cpu_prof_interval = kDefaultCpuProfInterval;
136
172
  std::string cpu_prof_name;
137
173
  bool cpu_prof = false;
174
+ bool experimental_network_inspection = false;
175
+ bool experimental_worker_inspection = false;
176
+ bool experimental_inspector_network_resource = false;
138
177
  std::string heap_prof_dir;
139
178
  std::string heap_prof_name;
140
179
  static const uint64_t kDefaultHeapProfInterval = 512 * 1024;
@@ -143,17 +182,46 @@ class EnvironmentOptions : public Options {
143
182
  #endif // HAVE_INSPECTOR
144
183
  std::string redirect_warnings;
145
184
  std::string diagnostic_dir;
185
+ std::string env_file;
186
+ std::string optional_env_file;
187
+ bool has_env_file_string = false;
188
+ bool test_runner = false;
189
+ uint64_t test_runner_concurrency = 0;
190
+ uint64_t test_runner_timeout = 0;
191
+ bool test_runner_coverage = false;
192
+ bool test_runner_force_exit = false;
193
+ uint64_t test_coverage_branches = 0;
194
+ uint64_t test_coverage_functions = 0;
195
+ uint64_t test_coverage_lines = 0;
196
+ bool test_runner_module_mocks = false;
197
+ bool test_runner_update_snapshots = false;
198
+ std::vector<std::string> test_name_pattern;
199
+ std::vector<std::string> test_reporter;
200
+ std::string test_rerun_failures_path;
201
+ std::vector<std::string> test_reporter_destination;
202
+ std::string test_global_setup_path;
203
+ bool test_only = false;
146
204
  bool test_udp_no_try_send = false;
205
+ std::string test_isolation = "process";
206
+ std::string test_shard;
207
+ std::vector<std::string> test_skip_pattern;
208
+ std::vector<std::string> coverage_include_pattern;
209
+ std::vector<std::string> coverage_exclude_pattern;
147
210
  bool throw_deprecation = false;
148
- bool trace_atomics_wait = false;
149
211
  bool trace_deprecation = false;
150
212
  bool trace_exit = false;
151
213
  bool trace_sync_io = false;
152
214
  bool trace_tls = false;
153
215
  bool trace_uncaught = false;
154
216
  bool trace_warnings = false;
217
+ bool trace_promises = false;
218
+ bool trace_env = false;
219
+ bool trace_env_js_stack = false;
220
+ bool trace_env_native_stack = false;
221
+ std::string trace_require_module;
222
+ bool extra_info_on_fatal_exception = true;
155
223
  std::string unhandled_rejections;
156
- std::string userland_loader;
224
+ std::vector<std::string> userland_loaders;
157
225
  bool verify_base_objects =
158
226
  #ifdef DEBUG
159
227
  true;
@@ -161,14 +229,20 @@ class EnvironmentOptions : public Options {
161
229
  false;
162
230
  #endif // DEBUG
163
231
 
232
+ bool watch_mode = false;
233
+ bool watch_mode_report_to_parent = false;
234
+ bool watch_mode_preserve_output = false;
235
+ std::string watch_mode_kill_signal = "SIGTERM";
236
+ std::vector<std::string> watch_mode_paths;
237
+
164
238
  bool syntax_check_only = false;
165
239
  bool has_eval_string = false;
166
- bool experimental_wasi = false;
167
240
  std::string eval_string;
168
241
  bool print_eval = false;
169
242
  bool force_repl = false;
170
243
 
171
244
  bool insecure_http_parser = false;
245
+ bool use_env_proxy = false;
172
246
 
173
247
  bool tls_min_v1_0 = false;
174
248
  bool tls_min_v1_1 = false;
@@ -178,14 +252,25 @@ class EnvironmentOptions : public Options {
178
252
  bool tls_max_v1_3 = false;
179
253
  std::string tls_keylog;
180
254
 
181
- std::vector<std::string> preload_modules;
255
+ std::vector<std::string> preload_cjs_modules;
256
+
257
+ std::vector<std::string> preload_esm_modules;
258
+
259
+ bool experimental_strip_types = true;
260
+ bool experimental_transform_types = false;
182
261
 
183
262
  std::vector<std::string> user_argv;
184
263
 
264
+ bool report_exclude_env = false;
265
+ bool report_exclude_network = false;
266
+ std::string experimental_config_file_path;
267
+ bool experimental_default_config_file = false;
268
+
185
269
  inline DebugOptions* get_debug_options() { return &debug_options_; }
186
270
  inline const DebugOptions& debug_options() const { return debug_options_; }
187
271
 
188
- void CheckOptions(std::vector<std::string>* errors) override;
272
+ void CheckOptions(std::vector<std::string>* errors,
273
+ std::vector<std::string>* argv) override;
189
274
 
190
275
  private:
191
276
  DebugOptions debug_options_;
@@ -193,15 +278,30 @@ class EnvironmentOptions : public Options {
193
278
 
194
279
  class PerIsolateOptions : public Options {
195
280
  public:
281
+ PerIsolateOptions() = default;
282
+ PerIsolateOptions(PerIsolateOptions&&) = default;
283
+
196
284
  std::shared_ptr<EnvironmentOptions> per_env { new EnvironmentOptions() };
197
285
  bool track_heap_objects = false;
198
- bool node_snapshot = true;
199
286
  bool report_uncaught_exception = false;
200
287
  bool report_on_signal = false;
201
- bool experimental_top_level_await = true;
288
+ bool experimental_shadow_realm = false;
289
+ std::string max_old_space_size_percentage;
290
+ std::string max_old_space_size;
291
+ int64_t stack_trace_limit = 10;
202
292
  std::string report_signal = "SIGUSR2";
293
+ bool build_snapshot = false;
294
+ std::string build_snapshot_config;
203
295
  inline EnvironmentOptions* get_per_env_options();
204
- void CheckOptions(std::vector<std::string>* errors) override;
296
+ void CheckOptions(std::vector<std::string>* errors,
297
+ std::vector<std::string>* argv) override;
298
+ void HandleMaxOldSpaceSizePercentage(std::vector<std::string>* errors,
299
+ std::string* max_old_space_size);
300
+
301
+ inline std::shared_ptr<PerIsolateOptions> Clone() const;
302
+
303
+ private:
304
+ PerIsolateOptions(const PerIsolateOptions&) = default;
205
305
  };
206
306
 
207
307
  class PerProcessOptions : public Options {
@@ -223,12 +323,19 @@ class PerProcessOptions : public Options {
223
323
  bool zero_fill_all_buffers = false;
224
324
  bool debug_arraybuffer_allocations = false;
225
325
  std::string disable_proto;
326
+ // We enable the shared read-only heap which currently requires that the
327
+ // snapshot used in different isolates in the same process to be the same.
328
+ // Therefore --node-snapshot is a per-process option.
329
+ bool node_snapshot = true;
330
+ std::string snapshot_blob;
226
331
 
227
332
  std::vector<std::string> security_reverts;
228
333
  bool print_bash_completion = false;
229
334
  bool print_help = false;
230
335
  bool print_v8_help = false;
231
336
  bool print_version = false;
337
+ std::string experimental_sea_config;
338
+ std::string run;
232
339
 
233
340
  #ifdef NODE_HAVE_I18N_SUPPORT
234
341
  std::string icu_data_dir;
@@ -247,10 +354,17 @@ class PerProcessOptions : public Options {
247
354
  bool ssl_openssl_cert_store = false;
248
355
  #endif
249
356
  bool use_openssl_ca = false;
357
+ bool use_system_ca = false;
250
358
  bool use_bundled_ca = false;
251
359
  bool enable_fips_crypto = false;
252
360
  bool force_fips_crypto = false;
253
361
  #endif
362
+ #if OPENSSL_VERSION_MAJOR >= 3
363
+ bool openssl_legacy_provider = false;
364
+ bool openssl_shared_config = false;
365
+ #endif
366
+
367
+ bool disable_wasm_trap_handler = false;
254
368
 
255
369
  // Per-process because reports can be triggered outside a known V8 context.
256
370
  bool report_on_fatalerror = false;
@@ -264,7 +378,8 @@ class PerProcessOptions : public Options {
264
378
  std::vector<std::string> cmdline;
265
379
 
266
380
  inline PerIsolateOptions* get_per_isolate_options();
267
- void CheckOptions(std::vector<std::string>* errors) override;
381
+ void CheckOptions(std::vector<std::string>* errors,
382
+ std::vector<std::string>* argv) override;
268
383
  };
269
384
 
270
385
  // The actual options parser, as opposed to the structs containing them:
@@ -272,7 +387,7 @@ class PerProcessOptions : public Options {
272
387
  namespace options_parser {
273
388
 
274
389
  HostPort SplitHostPort(const std::string& arg,
275
- std::vector<std::string>* errors);
390
+ std::vector<std::string>* errors);
276
391
  void GetOptions(const v8::FunctionCallbackInfo<v8::Value>& args);
277
392
  std::string GetBashCompletion();
278
393
 
@@ -286,6 +401,44 @@ enum OptionType {
286
401
  kHostPort,
287
402
  kStringList,
288
403
  };
404
+ std::unordered_map<std::string, OptionType> MapEnvOptionsFlagInputType();
405
+ std::unordered_map<std::string, OptionType> MapOptionsByNamespace(
406
+ std::string namespace_name);
407
+ std::unordered_map<std::string,
408
+ std::unordered_map<std::string, options_parser::OptionType>>
409
+ MapNamespaceOptionsAssociations();
410
+ std::vector<std::string> MapAvailableNamespaces();
411
+
412
+ // Define all namespace entries
413
+ #define OPTION_NAMESPACE_LIST(V) \
414
+ V(kNoNamespace, "") \
415
+ V(kTestRunnerNamespace, "testRunner")
416
+
417
+ enum class OptionNamespaces {
418
+ #define V(name, _) name,
419
+ OPTION_NAMESPACE_LIST(V)
420
+ #undef V
421
+ };
422
+
423
+ inline const std::string NamespaceEnumToString(OptionNamespaces ns) {
424
+ switch (ns) {
425
+ #define V(name, string_value) \
426
+ case OptionNamespaces::name: \
427
+ return string_value;
428
+ OPTION_NAMESPACE_LIST(V)
429
+ #undef V
430
+ default:
431
+ return "";
432
+ }
433
+ }
434
+
435
+ inline constexpr auto AllNamespaces() {
436
+ return std::array{
437
+ #define V(name, _) OptionNamespaces::name,
438
+ OPTION_NAMESPACE_LIST(V)
439
+ #undef V
440
+ };
441
+ }
289
442
 
290
443
  template <typename Options>
291
444
  class OptionsParser {
@@ -300,39 +453,59 @@ class OptionsParser {
300
453
  // These methods add a single option to the parser. Optionally, it can be
301
454
  // specified whether the option should be allowed from environment variable
302
455
  // sources (i.e. NODE_OPTIONS).
303
- void AddOption(const char* name,
304
- const char* help_text,
305
- bool Options::* field,
306
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment,
307
- bool default_is_true = false);
308
- void AddOption(const char* name,
309
- const char* help_text,
310
- uint64_t Options::* field,
311
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
312
- void AddOption(const char* name,
313
- const char* help_text,
314
- int64_t Options::* field,
315
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
316
- void AddOption(const char* name,
317
- const char* help_text,
318
- std::string Options::* field,
319
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
320
- void AddOption(const char* name,
321
- const char* help_text,
322
- std::vector<std::string> Options::* field,
323
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
324
- void AddOption(const char* name,
325
- const char* help_text,
326
- HostPort Options::* field,
327
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
328
- void AddOption(const char* name,
329
- const char* help_text,
330
- NoOp no_op_tag,
331
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
332
- void AddOption(const char* name,
333
- const char* help_text,
334
- V8Option v8_option_tag,
335
- OptionEnvvarSettings env_setting = kDisallowedInEnvironment);
456
+
457
+ // default_is_true is only a hint in printing help text, it does not
458
+ // affect the default value of the option. Set the default value in the
459
+ // Options struct instead.
460
+ void AddOption(
461
+ const char* name,
462
+ const char* help_text,
463
+ bool Options::*field,
464
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar,
465
+ bool default_is_true = false,
466
+ OptionNamespaces namespace_id = OptionNamespaces::kNoNamespace);
467
+ void AddOption(
468
+ const char* name,
469
+ const char* help_text,
470
+ uint64_t Options::*field,
471
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar,
472
+ OptionNamespaces namespace_id = OptionNamespaces::kNoNamespace);
473
+ void AddOption(
474
+ const char* name,
475
+ const char* help_text,
476
+ int64_t Options::*field,
477
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar,
478
+ OptionNamespaces namespace_id = OptionNamespaces::kNoNamespace);
479
+ void AddOption(
480
+ const char* name,
481
+ const char* help_text,
482
+ std::string Options::*field,
483
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar,
484
+ OptionNamespaces namespace_id = OptionNamespaces::kNoNamespace);
485
+ void AddOption(
486
+ const char* name,
487
+ const char* help_text,
488
+ std::vector<std::string> Options::*field,
489
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar,
490
+ OptionNamespaces namespace_id = OptionNamespaces::kNoNamespace);
491
+ void AddOption(
492
+ const char* name,
493
+ const char* help_text,
494
+ HostPort Options::*field,
495
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar,
496
+ OptionNamespaces namespace_id = OptionNamespaces::kNoNamespace);
497
+ void AddOption(
498
+ const char* name,
499
+ const char* help_text,
500
+ NoOp no_op_tag,
501
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar,
502
+ OptionNamespaces namespace_id = OptionNamespaces::kNoNamespace);
503
+ void AddOption(
504
+ const char* name,
505
+ const char* help_text,
506
+ V8Option v8_option_tag,
507
+ OptionEnvvarSettings env_setting = kDisallowedInEnvvar,
508
+ OptionNamespaces namespace_id = OptionNamespaces::kNoNamespace);
336
509
 
337
510
  // Adds aliases. An alias can be of the form "--option-a" -> "--option-b",
338
511
  // or have a more complex group expansion, like
@@ -422,12 +595,15 @@ class OptionsParser {
422
595
  // - A type.
423
596
  // - A way to store/access the property value.
424
597
  // - The information of whether it may occur in an env var or not.
598
+ // - A default value (if applicable).
599
+ // - A namespace ID (optional) to allow for namespacing of options.
425
600
  struct OptionInfo {
426
601
  OptionType type;
427
602
  std::shared_ptr<BaseOptionField> field;
428
603
  OptionEnvvarSettings env_setting;
429
604
  std::string help_text;
430
605
  bool default_is_true = false;
606
+ std::string namespace_id;
431
607
  };
432
608
 
433
609
  // An implied option is composed of the information on where to store a
@@ -461,8 +637,20 @@ class OptionsParser {
461
637
  template <typename OtherOptions>
462
638
  friend class OptionsParser;
463
639
 
464
- friend void GetOptions(const v8::FunctionCallbackInfo<v8::Value>& args);
640
+ friend void GetCLIOptionsValues(
641
+ const v8::FunctionCallbackInfo<v8::Value>& args);
642
+ friend void GetCLIOptionsInfo(
643
+ const v8::FunctionCallbackInfo<v8::Value>& args);
465
644
  friend std::string GetBashCompletion();
645
+ friend std::unordered_map<std::string, OptionType>
646
+ MapEnvOptionsFlagInputType();
647
+ friend std::unordered_map<std::string, OptionType> MapOptionsByNamespace(
648
+ std::string namespace_name);
649
+ friend std::vector<std::string> MapAvailableNamespaces();
650
+ friend void GetEnvOptionsInputType(
651
+ const v8::FunctionCallbackInfo<v8::Value>& args);
652
+ friend void GetOptionsAsFlags(
653
+ const v8::FunctionCallbackInfo<v8::Value>& args);
466
654
  };
467
655
 
468
656
  using StringVector = std::vector<std::string>;
@@ -477,7 +665,7 @@ void Parse(
477
665
  namespace per_process {
478
666
 
479
667
  extern Mutex cli_options_mutex;
480
- extern std::shared_ptr<PerProcessOptions> cli_options;
668
+ extern NODE_EXTERN_PRIVATE std::shared_ptr<PerProcessOptions> cli_options;
481
669
 
482
670
  } // namespace per_process
483
671
 
@@ -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) {
@@ -126,12 +124,12 @@ struct PerformanceEntry {
126
124
  }
127
125
 
128
126
  v8::Local<v8::Value> argv[] = {
129
- OneByteString(env->isolate(), name.c_str()),
130
- OneByteString(env->isolate(), GetPerformanceEntryTypeName(Traits::kType)),
131
- v8::Number::New(env->isolate(), start_time),
132
- v8::Number::New(env->isolate(), duration),
133
- detail
134
- };
127
+ OneByteString(env->isolate(), name),
128
+ OneByteString(env->isolate(),
129
+ GetPerformanceEntryTypeName(Traits::kType)),
130
+ v8::Number::New(env->isolate(), start_time),
131
+ v8::Number::New(env->isolate(), duration),
132
+ detail};
135
133
 
136
134
  node::MakeSyncCallback(
137
135
  env->isolate(),
@@ -160,23 +158,6 @@ struct GCPerformanceEntryTraits {
160
158
 
161
159
  using GCPerformanceEntry = PerformanceEntry<GCPerformanceEntryTraits>;
162
160
 
163
- class ELDHistogram : public IntervalHistogram {
164
- public:
165
- static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
166
- static void Initialize(Environment* env, v8::Local<v8::Object> target);
167
- static void New(const v8::FunctionCallbackInfo<v8::Value>& args);
168
-
169
- ELDHistogram(
170
- Environment* env,
171
- v8::Local<v8::Object> wrap,
172
- int64_t interval);
173
-
174
- void OnInterval() override;
175
-
176
- SET_MEMORY_INFO_NAME(ELDHistogram)
177
- SET_SELF_SIZE(ELDHistogram)
178
- };
179
-
180
161
  } // namespace performance
181
162
  } // namespace node
182
163
 
@@ -20,21 +20,26 @@ 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") \
37
- V(HTTP2, "http2")
40
+ V(HTTP2, "http2") \
41
+ V(NET, "net") \
42
+ V(DNS, "dns")
38
43
 
39
44
  enum PerformanceMilestone {
40
45
  #define V(name, _) NODE_PERFORMANCE_MILESTONE_##name,
@@ -58,10 +63,15 @@ class PerformanceState {
58
63
  AliasedBufferIndex observers;
59
64
  };
60
65
 
61
- 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);
62
70
  SerializeInfo Serialize(v8::Local<v8::Context> context,
63
71
  v8::SnapshotCreator* creator);
64
- 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);
65
75
  friend std::ostream& operator<<(std::ostream& o, const SerializeInfo& i);
66
76
 
67
77
  AliasedUint8Array root;
@@ -69,11 +79,14 @@ class PerformanceState {
69
79
  AliasedUint32Array observers;
70
80
 
71
81
  uint64_t performance_last_gc_start_mark = 0;
82
+ uint16_t current_gc_type = 0;
72
83
 
73
84
  void Mark(enum PerformanceMilestone milestone,
74
85
  uint64_t ts = PERFORMANCE_NOW());
75
86
 
76
87
  private:
88
+ void Initialize(uint64_t time_origin, double time_origin_timestamp);
89
+ void ResetMilestones();
77
90
  struct performance_state_internal {
78
91
  // doubles first so that they are always sizeof(double)-aligned
79
92
  double milestones[NODE_PERFORMANCE_MILESTONE_INVALID];