@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
@@ -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