@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.
- package/binding.gyp +1 -1
- package/dist/bindings/cws_darwin_arm64_node115.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node127.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node137.node +0 -0
- package/dist/bindings/cws_linux_arm64_node115.node +0 -0
- package/dist/bindings/cws_linux_arm64_node127.node +0 -0
- package/dist/bindings/cws_linux_x64_node115.node +0 -0
- package/dist/bindings/cws_linux_x64_node127.node +0 -0
- package/dist/bindings/cws_linux_x64_node137.node +0 -0
- package/dist/bindings/cws_win32_x64_node108.node +0 -0
- package/dist/bindings/cws_win32_x64_node115.node +0 -0
- package/dist/bindings/cws_win32_x64_node127.node +0 -0
- package/dist/bindings/cws_win32_x64_node83.node +0 -0
- package/dist/bindings/cws_win32_x64_node93.node +0 -0
- package/package.json +1 -1
- package/src/Addon.h +13 -23
- package/src/Socket.h +0 -1
- package/src/headers/22/acorn_version.h +6 -0
- package/src/headers/22/aliased_buffer-inl.h +243 -0
- package/src/headers/22/aliased_buffer.h +206 -0
- package/src/headers/{18 → 22}/async_wrap-inl.h +8 -6
- package/src/headers/{18 → 22}/async_wrap.h +65 -59
- package/src/headers/{18 → 22}/base_object-inl.h +57 -117
- package/src/headers/{18 → 22}/base_object.h +58 -30
- package/src/headers/22/base_object_types.h +74 -0
- package/src/headers/22/blob_serializer_deserializer-inl.h +385 -0
- package/src/headers/22/blob_serializer_deserializer.h +132 -0
- package/src/headers/{16 → 22}/callback_queue.h +1 -0
- package/src/headers/{16 → 22}/cares_wrap.h +27 -20
- package/src/headers/22/cjs_module_lexer_version.h +6 -0
- package/src/headers/22/cleanup_queue-inl.h +62 -0
- package/src/headers/22/cleanup_queue.h +85 -0
- package/src/headers/22/compile_cache.h +104 -0
- package/src/headers/{18 → 22}/crypto/crypto_clienthello.h +1 -1
- package/src/headers/{18 → 22}/crypto/crypto_context.h +31 -7
- package/src/headers/{18 → 22}/crypto/crypto_keys.h +118 -148
- package/src/headers/{18 → 22}/crypto/crypto_tls.h +20 -5
- package/src/headers/{18 → 22}/crypto/crypto_util.h +219 -263
- package/src/headers/22/crypto/ncrypto.h +752 -0
- package/src/headers/{16 → 22}/debug_utils-inl.h +15 -7
- package/src/headers/{18 → 22}/debug_utils.h +25 -19
- package/src/headers/22/encoding_binding.h +59 -0
- package/src/headers/{14 → 22}/env-inl.h +276 -409
- package/src/headers/22/env.h +1266 -0
- package/src/headers/22/env_properties.h +497 -0
- package/src/headers/{18 → 22}/handle_wrap.h +2 -0
- package/src/headers/{18 → 22}/histogram.h +88 -48
- package/src/headers/{16 → 22}/inspector_agent.h +17 -1
- package/src/headers/{16 → 22}/inspector_profiler.h +15 -13
- package/src/headers/22/js_native_api.h +619 -0
- package/src/headers/{18 → 22}/js_native_api_types.h +46 -1
- package/src/headers/22/js_native_api_v8.h +485 -0
- package/src/headers/{18 → 22}/js_native_api_v8_internals.h +6 -0
- package/src/headers/22/json_parser.h +40 -0
- package/src/headers/{16 → 22}/json_utils.h +19 -8
- package/src/headers/{18 → 22}/memory_tracker-inl.h +16 -13
- package/src/headers/{14 → 22}/memory_tracker.h +13 -8
- package/src/headers/{16 → 22}/module_wrap.h +49 -19
- package/src/headers/22/ncrypto/ncrypto.h +752 -0
- package/src/headers/{18 → 22}/node.h +465 -68
- package/src/headers/{18 → 22}/node_api.h +66 -81
- package/src/headers/{18 → 22}/node_api_internals.h +8 -4
- package/src/headers/{18 → 22}/node_api_types.h +5 -0
- package/src/headers/22/node_binding.h +154 -0
- package/src/headers/{18 → 22}/node_blob.h +46 -78
- package/src/headers/{18 → 22}/node_bob-inl.h +1 -2
- package/src/headers/{18 → 22}/node_bob.h +2 -6
- package/src/headers/{18 → 22}/node_buffer.h +1 -1
- package/src/headers/22/node_builtins.h +220 -0
- package/src/headers/{18 → 22}/node_constants.h +3 -5
- package/src/headers/22/node_context_data.h +168 -0
- package/src/headers/22/node_contextify.h +199 -0
- package/src/headers/{16 → 22}/node_crypto.h +1 -2
- package/src/headers/22/node_dotenv.h +45 -0
- package/src/headers/{18 → 22}/node_errors.h +86 -27
- package/src/headers/22/node_exit_code.h +54 -0
- package/src/headers/22/node_external_reference.h +249 -0
- package/src/headers/{18 → 22}/node_file-inl.h +127 -30
- package/src/headers/{16 → 22}/node_file.h +122 -11
- package/src/headers/{18 → 22}/node_http2.h +28 -11
- package/src/headers/{16 → 22}/node_http2_state.h +34 -25
- package/src/headers/{18 → 22}/node_http_common-inl.h +2 -1
- package/src/headers/{18 → 22}/node_http_common.h +56 -55
- package/src/headers/{16 → 22}/node_i18n.h +5 -18
- package/src/headers/{18 → 22}/node_internals.h +121 -59
- package/src/headers/{18 → 22}/node_main_instance.h +4 -31
- package/src/headers/{18 → 22}/node_messaging.h +27 -10
- package/src/headers/{18 → 22}/node_metadata.h +23 -1
- package/src/headers/{18 → 22}/node_options-inl.h +24 -11
- package/src/headers/{18 → 22}/node_options.h +124 -39
- package/src/headers/{18 → 22}/node_perf.h +0 -2
- package/src/headers/{18 → 22}/node_perf_common.h +20 -9
- package/src/headers/{18 → 22}/node_platform.h +11 -5
- package/src/headers/{18 → 22}/node_process.h +26 -14
- package/src/headers/22/node_realm-inl.h +145 -0
- package/src/headers/22/node_realm.h +184 -0
- package/src/headers/{16 → 22}/node_report.h +13 -17
- package/src/headers/{16 → 22}/node_revert.h +3 -3
- package/src/headers/{16 → 22}/node_root_certs.h +902 -461
- package/src/headers/22/node_sea.h +64 -0
- package/src/headers/22/node_shadow_realm.h +46 -0
- package/src/headers/22/node_snapshot_builder.h +57 -0
- package/src/headers/22/node_snapshotable.h +174 -0
- package/src/headers/{18 → 22}/node_sockaddr.h +2 -2
- package/src/headers/{16 → 22}/node_stat_watcher.h +2 -1
- package/src/headers/22/node_threadsafe_cow-inl.h +54 -0
- package/src/headers/22/node_threadsafe_cow.h +105 -0
- package/src/headers/22/node_union_bytes.h +81 -0
- package/src/headers/22/node_url.h +96 -0
- package/src/headers/22/node_v8.h +77 -0
- package/src/headers/{14 → 22}/node_v8_platform-inl.h +17 -6
- package/src/headers/{16 → 22}/node_version.h +21 -9
- package/src/headers/22/node_wasi.h +185 -0
- package/src/headers/{14 → 22}/node_watchdog.h +2 -0
- package/src/headers/{18 → 22}/node_worker.h +7 -2
- package/src/headers/22/permission/child_process_permission.h +31 -0
- package/src/headers/22/permission/fs_permission.h +167 -0
- package/src/headers/22/permission/inspector_permission.h +31 -0
- package/src/headers/22/permission/permission.h +99 -0
- package/src/headers/22/permission/permission_base.h +60 -0
- package/src/headers/22/permission/wasi_permission.h +31 -0
- package/src/headers/22/permission/worker_permission.h +31 -0
- package/src/headers/{16 → 22}/req_wrap-inl.h +7 -6
- package/src/headers/{14 → 22}/spawn_sync.h +3 -3
- package/src/headers/{18 → 22}/stream_base-inl.h +0 -135
- package/src/headers/{18 → 22}/stream_base.h +35 -16
- package/src/headers/{18 → 22}/stream_pipe.h +3 -4
- package/src/headers/{16 → 22}/stream_wrap.h +2 -1
- package/src/headers/{18 → 22}/string_bytes.h +5 -14
- package/src/headers/{14 → 22}/string_decoder-inl.h +0 -6
- package/src/headers/{16 → 22}/string_decoder.h +0 -1
- package/src/headers/{18 → 22}/tcp_wrap.h +1 -1
- package/src/headers/{18 → 22}/threadpoolwork-inl.h +14 -1
- package/src/headers/22/timers.h +76 -0
- package/src/headers/{18 → 22}/tracing/trace_event.h +7 -5
- package/src/headers/{16 → 22}/udp_wrap.h +8 -5
- package/src/headers/22/undici_version.h +6 -0
- package/src/headers/{18 → 22}/util-inl.h +97 -127
- package/src/headers/{18 → 22}/util.h +293 -106
- package/src/headers/{18 → 22}/v8-fast-api-calls.h +103 -58
- package/src/headers/24/acorn_version.h +6 -0
- package/src/headers/24/addon_permission.h +31 -0
- package/src/headers/{16/tracing → 24}/agent.h +1 -1
- package/src/headers/24/aliased_buffer-inl.h +244 -0
- package/src/headers/24/aliased_buffer.h +206 -0
- package/src/headers/24/amaro_version.h +6 -0
- package/src/headers/24/application.h +165 -0
- package/src/headers/24/async_context_frame.h +33 -0
- package/src/headers/{14 → 24}/async_wrap-inl.h +8 -6
- package/src/headers/{16 → 24}/async_wrap.h +86 -88
- package/src/headers/{16 → 24}/base_object-inl.h +75 -119
- package/src/headers/{16 → 24}/base_object.h +84 -40
- package/src/headers/24/base_object_types.h +74 -0
- package/src/headers/24/bindingdata.h +272 -0
- package/src/headers/24/blob_serializer_deserializer-inl.h +385 -0
- package/src/headers/24/blob_serializer_deserializer.h +132 -0
- package/src/headers/{18 → 24}/callback_queue.h +1 -0
- package/src/headers/{18 → 24}/cares_wrap.h +68 -144
- package/src/headers/24/child_process_permission.h +31 -0
- package/src/headers/24/cid.h +127 -0
- package/src/headers/24/cjs_module_lexer_version.h +6 -0
- package/src/headers/24/cleanup_queue-inl.h +36 -0
- package/src/headers/24/cleanup_queue.h +79 -0
- package/src/headers/24/compile_cache.h +113 -0
- package/src/headers/24/cppgc_helpers-inl.h +65 -0
- package/src/headers/24/cppgc_helpers.h +162 -0
- package/src/headers/24/crypto/crypto_aes.h +97 -0
- package/src/headers/24/crypto/crypto_argon2.h +86 -0
- package/src/headers/{16 → 24}/crypto/crypto_bio.h +8 -9
- package/src/headers/24/crypto/crypto_chacha20_poly1305.h +64 -0
- package/src/headers/{18 → 24}/crypto/crypto_cipher.h +48 -58
- package/src/headers/{16 → 24}/crypto/crypto_clienthello-inl.h +2 -2
- package/src/headers/{16 → 24}/crypto/crypto_clienthello.h +1 -1
- package/src/headers/24/crypto/crypto_common.h +48 -0
- package/src/headers/{16 → 24}/crypto/crypto_context.h +46 -22
- package/src/headers/{18 → 24}/crypto/crypto_dh.h +27 -57
- package/src/headers/{18 → 24}/crypto/crypto_dsa.h +7 -34
- package/src/headers/{18 → 24}/crypto/crypto_ec.h +42 -49
- package/src/headers/{18 → 24}/crypto/crypto_hash.h +11 -11
- package/src/headers/{18 → 24}/crypto/crypto_hkdf.h +10 -14
- package/src/headers/{18 → 24}/crypto/crypto_hmac.h +11 -13
- package/src/headers/24/crypto/crypto_kem.h +113 -0
- package/src/headers/{18 → 24}/crypto/crypto_keygen.h +59 -74
- package/src/headers/{16 → 24}/crypto/crypto_keys.h +134 -154
- package/src/headers/24/crypto/crypto_ml_dsa.h +21 -0
- package/src/headers/{18 → 24}/crypto/crypto_pbkdf2.h +9 -11
- package/src/headers/{18 → 24}/crypto/crypto_random.h +28 -34
- package/src/headers/{18 → 24}/crypto/crypto_rsa.h +30 -35
- package/src/headers/{18 → 24}/crypto/crypto_scrypt.h +8 -10
- package/src/headers/{18 → 24}/crypto/crypto_sig.h +36 -48
- package/src/headers/{16 → 24}/crypto/crypto_tls.h +35 -18
- package/src/headers/{16 → 24}/crypto/crypto_util.h +183 -321
- package/src/headers/24/crypto/crypto_x509.h +140 -0
- package/src/headers/24/data.h +148 -0
- package/src/headers/{14 → 24}/debug_utils-inl.h +17 -8
- package/src/headers/{16 → 24}/debug_utils.h +31 -22
- package/src/headers/24/defs.h +254 -0
- package/src/headers/24/embedded_data.h +17 -0
- package/src/headers/24/encoding_binding.h +60 -0
- package/src/headers/24/endpoint.h +421 -0
- package/src/headers/{16 → 24}/env-inl.h +198 -540
- package/src/headers/24/env.h +1257 -0
- package/src/headers/24/env_properties.h +561 -0
- package/src/headers/24/fs_permission.h +167 -0
- package/src/headers/{16 → 24}/handle_wrap.h +4 -2
- package/src/headers/{16 → 24}/histogram-inl.h +34 -15
- package/src/headers/24/histogram.h +279 -0
- package/src/headers/24/http3.h +44 -0
- package/src/headers/{18 → 24}/inspector_agent.h +23 -2
- package/src/headers/24/inspector_permission.h +31 -0
- package/src/headers/{18 → 24}/inspector_profiler.h +15 -15
- package/src/headers/24/io_agent.h +30 -0
- package/src/headers/{18 → 24}/js_native_api.h +74 -30
- package/src/headers/{16 → 24}/js_native_api_types.h +61 -10
- package/src/headers/{18 → 24}/js_native_api_v8.h +205 -160
- package/src/headers/{16 → 24}/js_native_api_v8_internals.h +12 -6
- package/src/headers/24/json_parser.h +40 -0
- package/src/headers/{18 → 24}/json_utils.h +19 -8
- package/src/headers/24/logstream.h +81 -0
- package/src/headers/24/main_thread_interface.h +116 -0
- package/src/headers/{16 → 24}/memory_tracker-inl.h +115 -17
- package/src/headers/{16 → 24}/memory_tracker.h +58 -9
- package/src/headers/24/module_wrap.h +229 -0
- package/src/headers/24/ncrypto.h +1625 -0
- package/src/headers/24/network_agent.h +118 -0
- package/src/headers/24/network_inspector.h +45 -0
- package/src/headers/24/network_resource_manager.h +29 -0
- package/src/headers/{16 → 24}/node.h +560 -72
- package/src/headers/24/node_api.h +269 -0
- package/src/headers/24/node_api_internals.h +46 -0
- package/src/headers/{16 → 24}/node_api_types.h +13 -11
- package/src/headers/24/node_binding.h +163 -0
- package/src/headers/{16 → 24}/node_blob.h +46 -78
- package/src/headers/{16 → 24}/node_bob-inl.h +1 -2
- package/src/headers/{16 → 24}/node_bob.h +2 -6
- package/src/headers/{14 → 24}/node_buffer.h +1 -1
- package/src/headers/24/node_builtins.h +223 -0
- package/src/headers/24/node_config_file.h +65 -0
- package/src/headers/{14 → 24}/node_constants.h +3 -5
- package/src/headers/24/node_context_data.h +168 -0
- package/src/headers/24/node_contextify.h +261 -0
- package/src/headers/{18 → 24}/node_crypto.h +7 -2
- package/src/headers/24/node_debug.h +25 -0
- package/src/headers/24/node_dotenv.h +45 -0
- package/src/headers/{16 → 24}/node_errors.h +146 -32
- package/src/headers/24/node_exit_code.h +54 -0
- package/src/headers/{18 → 24}/node_external_reference.h +44 -22
- package/src/headers/{16 → 24}/node_file-inl.h +156 -50
- package/src/headers/{18 → 24}/node_file.h +129 -15
- package/src/headers/{16 → 24}/node_http2.h +53 -18
- package/src/headers/{14 → 24}/node_http2_state.h +35 -25
- package/src/headers/{16 → 24}/node_http_common-inl.h +8 -10
- package/src/headers/{16 → 24}/node_http_common.h +63 -59
- package/src/headers/{18 → 24}/node_i18n.h +5 -18
- package/src/headers/{16 → 24}/node_internals.h +131 -76
- package/src/headers/24/node_json.h +24 -0
- package/src/headers/24/node_large_page.h +34 -0
- package/src/headers/24/node_locks.h +180 -0
- package/src/headers/{14 → 24}/node_main_instance.h +15 -44
- package/src/headers/{16 → 24}/node_mem-inl.h +7 -7
- package/src/headers/{16 → 24}/node_messaging.h +27 -11
- package/src/headers/{16 → 24}/node_metadata.h +44 -2
- package/src/headers/24/node_modules.h +93 -0
- package/src/headers/{16 → 24}/node_options-inl.h +93 -46
- package/src/headers/{16 → 24}/node_options.h +251 -63
- package/src/headers/{16 → 24}/node_perf.h +6 -25
- package/src/headers/{16 → 24}/node_perf_common.h +23 -10
- package/src/headers/24/node_platform.h +286 -0
- package/src/headers/24/node_process.h +111 -0
- package/src/headers/24/node_realm-inl.h +153 -0
- package/src/headers/24/node_realm.h +236 -0
- package/src/headers/{18 → 24}/node_report.h +13 -17
- package/src/headers/{18 → 24}/node_revert.h +3 -3
- package/src/headers/{18 → 24}/node_root_certs.h +1010 -710
- package/src/headers/24/node_sea.h +74 -0
- package/src/headers/24/node_shadow_realm.h +46 -0
- package/src/headers/24/node_snapshot_builder.h +57 -0
- package/src/headers/24/node_snapshotable.h +174 -0
- package/src/headers/{16 → 24}/node_sockaddr-inl.h +11 -20
- package/src/headers/{16 → 24}/node_sockaddr.h +9 -20
- package/src/headers/24/node_sqlite.h +270 -0
- package/src/headers/{18 → 24}/node_stat_watcher.h +2 -1
- package/src/headers/24/node_string.h +101 -0
- package/src/headers/24/node_task_runner.h +92 -0
- package/src/headers/24/node_threadsafe_cow-inl.h +54 -0
- package/src/headers/24/node_threadsafe_cow.h +105 -0
- package/src/headers/24/node_union_bytes.h +81 -0
- package/src/headers/24/node_url.h +101 -0
- package/src/headers/24/node_url_pattern.h +118 -0
- package/src/headers/24/node_v8.h +77 -0
- package/src/headers/{18 → 24}/node_v8_platform-inl.h +22 -31
- package/src/headers/{18 → 24}/node_version.h +18 -6
- package/src/headers/24/node_wasi.h +185 -0
- package/src/headers/24/node_wasm_web_api.h +55 -0
- package/src/headers/{18 → 24}/node_watchdog.h +2 -0
- package/src/headers/24/node_webstorage.h +60 -0
- package/src/headers/{16 → 24}/node_worker.h +24 -10
- package/src/headers/24/packet.h +155 -0
- package/src/headers/24/path.h +33 -0
- package/src/headers/24/permission/addon_permission.h +31 -0
- package/src/headers/24/permission/child_process_permission.h +31 -0
- package/src/headers/24/permission/fs_permission.h +167 -0
- package/src/headers/24/permission/inspector_permission.h +31 -0
- package/src/headers/24/permission/permission.h +100 -0
- package/src/headers/24/permission/permission_base.h +65 -0
- package/src/headers/24/permission/wasi_permission.h +31 -0
- package/src/headers/24/permission/worker_permission.h +31 -0
- package/src/headers/24/permission.h +100 -0
- package/src/headers/24/permission_base.h +65 -0
- package/src/headers/24/preferredaddress.h +72 -0
- package/src/headers/24/protocol_helper.h +27 -0
- package/src/headers/24/queue.h +306 -0
- package/src/headers/{18 → 24}/req_wrap-inl.h +12 -6
- package/src/headers/{16 → 24}/req_wrap.h +3 -1
- package/src/headers/24/runtime_agent.h +41 -0
- package/src/headers/24/session.h +528 -0
- package/src/headers/24/sessionticket.h +108 -0
- package/src/headers/{18 → 24}/spawn_sync.h +9 -8
- package/src/headers/{16 → 24}/stream_base-inl.h +3 -133
- package/src/headers/{16 → 24}/stream_base.h +43 -19
- package/src/headers/{16 → 24}/stream_pipe.h +7 -4
- package/src/headers/{18 → 24}/stream_wrap.h +2 -3
- package/src/headers/24/streams.h +370 -0
- package/src/headers/{16 → 24}/string_bytes.h +8 -21
- package/src/headers/{18 → 24}/string_decoder-inl.h +0 -6
- package/src/headers/{18 → 24}/string_decoder.h +0 -1
- package/src/headers/24/target_agent.h +75 -0
- package/src/headers/{16 → 24}/tcp_wrap.h +3 -1
- package/src/headers/{14 → 24}/threadpoolwork-inl.h +14 -1
- package/src/headers/24/timer_wrap-inl.h +32 -0
- package/src/headers/{16 → 24}/timer_wrap.h +7 -4
- package/src/headers/24/timers.h +75 -0
- package/src/headers/24/tlscontext.h +228 -0
- package/src/headers/24/tokens.h +256 -0
- package/src/headers/{14/tracing → 24}/trace_event.h +7 -5
- package/src/headers/24/traced_value.h +129 -0
- package/src/headers/24/tracing_agent.h +43 -0
- package/src/headers/24/transportparams.h +166 -0
- package/src/headers/{16 → 24}/tty_wrap.h +0 -1
- package/src/headers/{18 → 24}/udp_wrap.h +8 -5
- package/src/headers/24/undici_version.h +6 -0
- package/src/headers/{16 → 24}/util-inl.h +267 -131
- package/src/headers/{16 → 24}/util.h +338 -146
- package/src/headers/24/v8-external-memory-accounter.h +60 -0
- package/src/headers/24/v8-fast-api-calls.h +819 -0
- package/src/headers/24/v8-inspector.h +426 -0
- package/src/headers/24/wasi_permission.h +31 -0
- package/src/headers/24/worker_agent.h +40 -0
- package/src/headers/24/worker_inspector.h +124 -0
- package/src/headers/24/worker_permission.h +31 -0
- package/src/headers/24/zlib_version.h +6 -0
- package/dist/bindings/cws_darwin_arm64_node83.node +0 -0
- package/dist/bindings/cws_darwin_arm64_node93.node +0 -0
- package/dist/bindings/cws_darwin_x64_node83.node +0 -0
- package/dist/bindings/cws_darwin_x64_node93.node +0 -0
- package/dist/bindings/cws_linux_arm64_node83.node +0 -0
- package/dist/bindings/cws_linux_arm64_node93.node +0 -0
- package/dist/bindings/cws_linux_x64_node83.node +0 -0
- package/dist/bindings/cws_linux_x64_node93.node +0 -0
- package/src/headers/14/aliased_buffer.h +0 -263
- package/src/headers/14/allocated_buffer-inl.h +0 -110
- package/src/headers/14/allocated_buffer.h +0 -73
- package/src/headers/14/async_wrap.h +0 -230
- package/src/headers/14/base64.h +0 -183
- package/src/headers/14/base_object-inl.h +0 -371
- package/src/headers/14/base_object.h +0 -281
- package/src/headers/14/callback_queue-inl.h +0 -97
- package/src/headers/14/callback_queue.h +0 -78
- package/src/headers/14/debug_utils.h +0 -181
- package/src/headers/14/env.h +0 -1388
- package/src/headers/14/handle_wrap.h +0 -117
- package/src/headers/14/histogram-inl.h +0 -83
- package/src/headers/14/histogram.h +0 -98
- package/src/headers/14/inspector_agent.h +0 -149
- package/src/headers/14/inspector_profiler.h +0 -137
- package/src/headers/14/js_native_api.h +0 -544
- package/src/headers/14/js_native_api_types.h +0 -143
- package/src/headers/14/js_native_api_v8.h +0 -301
- package/src/headers/14/js_native_api_v8_internals.h +0 -38
- package/src/headers/14/json_utils.h +0 -161
- package/src/headers/14/memory_tracker-inl.h +0 -355
- package/src/headers/14/module_wrap.h +0 -99
- package/src/headers/14/node.h +0 -1032
- package/src/headers/14/node_api.h +0 -255
- package/src/headers/14/node_api_types.h +0 -44
- package/src/headers/14/node_binding.h +0 -99
- package/src/headers/14/node_context_data.h +0 -44
- package/src/headers/14/node_contextify.h +0 -161
- package/src/headers/14/node_crypto.h +0 -865
- package/src/headers/14/node_crypto_bio.h +0 -195
- package/src/headers/14/node_crypto_clienthello-inl.h +0 -91
- package/src/headers/14/node_crypto_clienthello.h +0 -132
- package/src/headers/14/node_crypto_common.h +0 -138
- package/src/headers/14/node_crypto_groups.h +0 -415
- package/src/headers/14/node_dtrace.h +0 -86
- package/src/headers/14/node_errors.h +0 -214
- package/src/headers/14/node_file-inl.h +0 -306
- package/src/headers/14/node_file.h +0 -417
- package/src/headers/14/node_http2.h +0 -1191
- package/src/headers/14/node_http_common-inl.h +0 -194
- package/src/headers/14/node_http_common.h +0 -529
- package/src/headers/14/node_i18n.h +0 -144
- package/src/headers/14/node_internals.h +0 -405
- package/src/headers/14/node_mem.h +0 -45
- package/src/headers/14/node_messaging.h +0 -303
- package/src/headers/14/node_metadata.h +0 -109
- package/src/headers/14/node_mutex.h +0 -247
- package/src/headers/14/node_native_module.h +0 -101
- package/src/headers/14/node_native_module_env.h +0 -66
- package/src/headers/14/node_options-inl.h +0 -451
- package/src/headers/14/node_options.h +0 -481
- package/src/headers/14/node_perf.h +0 -181
- package/src/headers/14/node_perf_common.h +0 -97
- package/src/headers/14/node_platform.h +0 -189
- package/src/headers/14/node_process.h +0 -40
- package/src/headers/14/node_report.h +0 -47
- package/src/headers/14/node_revert.h +0 -72
- package/src/headers/14/node_root_certs.h +0 -3458
- package/src/headers/14/node_sockaddr-inl.h +0 -170
- package/src/headers/14/node_sockaddr.h +0 -123
- package/src/headers/14/node_stat_watcher.h +0 -70
- package/src/headers/14/node_union_bytes.h +0 -103
- package/src/headers/14/node_url.h +0 -188
- package/src/headers/14/node_version.h +0 -98
- package/src/headers/14/node_wasi.h +0 -108
- package/src/headers/14/node_win32_etw_provider-inl.h +0 -287
- package/src/headers/14/node_win32_etw_provider.h +0 -99
- package/src/headers/14/node_worker.h +0 -141
- package/src/headers/14/pipe_wrap.h +0 -78
- package/src/headers/14/req_wrap-inl.h +0 -170
- package/src/headers/14/req_wrap.h +0 -77
- package/src/headers/14/stream_base-inl.h +0 -275
- package/src/headers/14/stream_base.h +0 -434
- package/src/headers/14/stream_pipe.h +0 -73
- package/src/headers/14/stream_wrap.h +0 -130
- package/src/headers/14/string_bytes.h +0 -129
- package/src/headers/14/string_decoder.h +0 -50
- package/src/headers/14/string_search.h +0 -638
- package/src/headers/14/tcp_wrap.h +0 -101
- package/src/headers/14/tls_wrap.h +0 -222
- package/src/headers/14/tracing/agent.h +0 -195
- package/src/headers/14/tracing/traced_value.h +0 -70
- package/src/headers/14/tty_wrap.h +0 -64
- package/src/headers/14/udp_wrap.h +0 -227
- package/src/headers/14/util-inl.h +0 -566
- package/src/headers/14/util.h +0 -804
- package/src/headers/14/v8abbr.h +0 -124
- package/src/headers/16/aliased_buffer.h +0 -315
- package/src/headers/16/allocated_buffer-inl.h +0 -110
- package/src/headers/16/allocated_buffer.h +0 -73
- package/src/headers/16/async_wrap-inl.h +0 -94
- package/src/headers/16/base64-inl.h +0 -189
- package/src/headers/16/base64.h +0 -69
- package/src/headers/16/crypto/crypto_aes.h +0 -89
- package/src/headers/16/crypto/crypto_cipher.h +0 -286
- package/src/headers/16/crypto/crypto_common.h +0 -187
- package/src/headers/16/crypto/crypto_dh.h +0 -157
- package/src/headers/16/crypto/crypto_dsa.h +0 -76
- package/src/headers/16/crypto/crypto_ec.h +0 -169
- package/src/headers/16/crypto/crypto_groups.h +0 -415
- package/src/headers/16/crypto/crypto_hash.h +0 -89
- package/src/headers/16/crypto/crypto_hkdf.h +0 -66
- package/src/headers/16/crypto/crypto_hmac.h +0 -94
- package/src/headers/16/crypto/crypto_keygen.h +0 -301
- package/src/headers/16/crypto/crypto_pbkdf2.h +0 -76
- package/src/headers/16/crypto/crypto_random.h +0 -130
- package/src/headers/16/crypto/crypto_rsa.h +0 -141
- package/src/headers/16/crypto/crypto_scrypt.h +0 -87
- package/src/headers/16/crypto/crypto_sig.h +0 -167
- package/src/headers/16/crypto/crypto_spkac.h +0 -20
- package/src/headers/16/crypto/crypto_timing.h +0 -20
- package/src/headers/16/crypto/crypto_x509.h +0 -141
- package/src/headers/16/env.h +0 -1629
- package/src/headers/16/histogram.h +0 -216
- package/src/headers/16/js_native_api.h +0 -561
- package/src/headers/16/js_native_api_v8.h +0 -451
- package/src/headers/16/node.d +0 -315
- package/src/headers/16/node.stp +0 -146
- package/src/headers/16/node_api.h +0 -275
- package/src/headers/16/node_api_internals.h +0 -30
- package/src/headers/16/node_binding.h +0 -99
- package/src/headers/16/node_buffer.h +0 -92
- package/src/headers/16/node_constants.h +0 -84
- package/src/headers/16/node_context_data.h +0 -44
- package/src/headers/16/node_contextify.h +0 -196
- package/src/headers/16/node_dtrace.h +0 -86
- package/src/headers/16/node_external_reference.h +0 -129
- package/src/headers/16/node_main_instance.h +0 -103
- package/src/headers/16/node_native_module.h +0 -101
- package/src/headers/16/node_native_module_env.h +0 -68
- package/src/headers/16/node_platform.h +0 -192
- package/src/headers/16/node_process.h +0 -43
- package/src/headers/16/node_provider.d +0 -80
- package/src/headers/16/node_snapshotable.h +0 -137
- package/src/headers/16/node_union_bytes.h +0 -103
- package/src/headers/16/node_url.h +0 -205
- package/src/headers/16/node_v8.h +0 -41
- package/src/headers/16/node_v8_platform-inl.h +0 -194
- package/src/headers/16/node_wasi.h +0 -108
- package/src/headers/16/node_watchdog.h +0 -152
- package/src/headers/16/node_win32_etw_provider-inl.h +0 -288
- package/src/headers/16/node_win32_etw_provider.h +0 -99
- package/src/headers/16/spawn_sync.h +0 -242
- package/src/headers/16/string_decoder-inl.h +0 -37
- package/src/headers/16/string_search.h +0 -638
- package/src/headers/16/threadpoolwork-inl.h +0 -57
- package/src/headers/16/tracing/node_trace_buffer.h +0 -83
- package/src/headers/16/tracing/node_trace_writer.h +0 -75
- package/src/headers/16/tracing/trace_event.h +0 -720
- package/src/headers/16/tracing/traced_value.h +0 -70
- package/src/headers/16/v8abbr.h +0 -123
- package/src/headers/16/v8ustack.d +0 -695
- package/src/headers/18/aliased_buffer.h +0 -315
- package/src/headers/18/aliased_struct-inl.h +0 -54
- package/src/headers/18/aliased_struct.h +0 -63
- package/src/headers/18/base64-inl.h +0 -189
- package/src/headers/18/base64.h +0 -69
- package/src/headers/18/connect_wrap.h +0 -26
- package/src/headers/18/connection_wrap.h +0 -30
- package/src/headers/18/crypto/crypto_aes.h +0 -89
- package/src/headers/18/crypto/crypto_bio.h +0 -194
- package/src/headers/18/crypto/crypto_clienthello-inl.h +0 -90
- package/src/headers/18/crypto/crypto_common.h +0 -151
- package/src/headers/18/crypto/crypto_groups.h +0 -415
- package/src/headers/18/crypto/crypto_x509.h +0 -143
- package/src/headers/18/debug_utils-inl.h +0 -223
- package/src/headers/18/diagnosticfilename-inl.h +0 -33
- package/src/headers/18/env-inl.h +0 -1308
- package/src/headers/18/env.h +0 -1667
- package/src/headers/18/inspector_io.h +0 -78
- package/src/headers/18/inspector_socket.h +0 -60
- package/src/headers/18/inspector_socket_server.h +0 -110
- package/src/headers/18/js_stream.h +0 -52
- package/src/headers/18/memory_tracker.h +0 -284
- package/src/headers/18/module_wrap.h +0 -116
- package/src/headers/18/node_binding.h +0 -99
- package/src/headers/18/node_context_data.h +0 -44
- package/src/headers/18/node_contextify.h +0 -196
- package/src/headers/18/node_dir.h +0 -52
- package/src/headers/18/node_dtrace.h +0 -86
- package/src/headers/18/node_http2_state.h +0 -149
- package/src/headers/18/node_mem-inl.h +0 -112
- package/src/headers/18/node_native_module.h +0 -109
- package/src/headers/18/node_native_module_env.h +0 -71
- package/src/headers/18/node_object_wrap.h +0 -132
- package/src/headers/18/node_snapshot_builder.h +0 -43
- package/src/headers/18/node_snapshotable.h +0 -130
- package/src/headers/18/node_union_bytes.h +0 -103
- package/src/headers/18/node_url.h +0 -205
- package/src/headers/18/node_v8.h +0 -41
- package/src/headers/18/node_wasi.h +0 -108
- package/src/headers/18/node_win32_etw_provider-inl.h +0 -288
- package/src/headers/18/node_win32_etw_provider.h +0 -99
- package/src/headers/18/string_search.h +0 -638
- package/src/headers/18/tracing/node_trace_buffer.h +0 -83
- package/src/headers/18/tracing/node_trace_writer.h +0 -75
- package/src/headers/18/tracing/trace_event_common.h +0 -1109
- package/src/headers/18/tracing/traced_value.h +0 -70
- package/src/headers/18/v8abbr.h +0 -123
- /package/src/headers/{14 → 22}/aliased_struct-inl.h +0 -0
- /package/src/headers/{14 → 22}/aliased_struct.h +0 -0
- /package/src/headers/{16 → 22}/callback_queue-inl.h +0 -0
- /package/src/headers/{14 → 22}/connect_wrap.h +0 -0
- /package/src/headers/{14 → 22}/connection_wrap.h +0 -0
- /package/src/headers/{14 → 22}/diagnosticfilename-inl.h +0 -0
- /package/src/headers/{18 → 22}/histogram-inl.h +0 -0
- /package/src/headers/{14 → 22}/inspector_io.h +0 -0
- /package/src/headers/{14 → 22}/inspector_socket.h +0 -0
- /package/src/headers/{14 → 22}/inspector_socket_server.h +0 -0
- /package/src/headers/{14 → 22}/js_stream.h +0 -0
- /package/src/headers/{14 → 22}/node_dir.h +0 -0
- /package/src/headers/{14 → 22}/node_mem-inl.h +0 -0
- /package/src/headers/{16 → 22}/node_mem.h +0 -0
- /package/src/headers/{16 → 22}/node_mutex.h +0 -0
- /package/src/headers/{14 → 22}/node_object_wrap.h +0 -0
- /package/src/headers/{16 → 22}/node_process-inl.h +0 -0
- /package/src/headers/{18 → 22}/node_sockaddr-inl.h +0 -0
- /package/src/headers/{18 → 22}/node_wasm_web_api.h +0 -0
- /package/src/headers/{16 → 22}/pipe_wrap.h +0 -0
- /package/src/headers/{18 → 22}/req_wrap.h +0 -0
- /package/src/headers/{18 → 22}/timer_wrap-inl.h +0 -0
- /package/src/headers/{18 → 22}/timer_wrap.h +0 -0
- /package/src/headers/{18 → 22}/tracing/agent.h +0 -0
- /package/src/headers/{14 → 22}/tracing/trace_event_common.h +0 -0
- /package/src/headers/{18 → 22}/tty_wrap.h +0 -0
- /package/src/headers/{16 → 24}/aliased_struct-inl.h +0 -0
- /package/src/headers/{16 → 24}/aliased_struct.h +0 -0
- /package/src/headers/{18 → 24}/callback_queue-inl.h +0 -0
- /package/src/headers/{16 → 24}/connect_wrap.h +0 -0
- /package/src/headers/{16 → 24}/connection_wrap.h +0 -0
- /package/src/headers/{18 → 24}/crypto/crypto_spkac.h +0 -0
- /package/src/headers/{18 → 24}/crypto/crypto_timing.h +0 -0
- /package/src/headers/{16 → 24}/diagnosticfilename-inl.h +0 -0
- /package/src/headers/{16 → 24}/inspector_io.h +0 -0
- /package/src/headers/{16 → 24}/inspector_socket.h +0 -0
- /package/src/headers/{16 → 24}/inspector_socket_server.h +0 -0
- /package/src/headers/{16 → 24}/js_stream.h +0 -0
- /package/src/headers/{16 → 24}/node_dir.h +0 -0
- /package/src/headers/{18 → 24}/node_mem.h +0 -0
- /package/src/headers/{18 → 24}/node_mutex.h +0 -0
- /package/src/headers/{16 → 24}/node_object_wrap.h +0 -0
- /package/src/headers/{18 → 24}/node_process-inl.h +0 -0
- /package/src/headers/{14/tracing → 24}/node_trace_buffer.h +0 -0
- /package/src/headers/{14/tracing → 24}/node_trace_writer.h +0 -0
- /package/src/headers/{18 → 24}/pipe_wrap.h +0 -0
- /package/src/headers/{16/tracing → 24}/trace_event_common.h +0 -0
|
@@ -54,19 +54,19 @@ void* NgLibMemoryManager<Class, T>::ReallocImpl(void* ptr,
|
|
|
54
54
|
if (mem != nullptr) {
|
|
55
55
|
// Adjust the memory info counter.
|
|
56
56
|
// TODO(addaleax): Avoid the double bookkeeping we do with
|
|
57
|
-
// current_nghttp2_memory_ +
|
|
57
|
+
// current_nghttp2_memory_ + ExternalMemoryAccounter
|
|
58
58
|
// and provide versions of our memory allocation utilities that take an
|
|
59
59
|
// Environment*/Isolate* parameter and call the V8 method transparently.
|
|
60
60
|
const int64_t new_size = size - previous_size;
|
|
61
61
|
manager->IncreaseAllocatedSize(new_size);
|
|
62
|
-
manager->env()->
|
|
63
|
-
new_size);
|
|
62
|
+
manager->env()->external_memory_accounter()->Increase(
|
|
63
|
+
manager->env()->isolate(), new_size);
|
|
64
64
|
*reinterpret_cast<size_t*>(mem) = size;
|
|
65
65
|
mem += sizeof(size_t);
|
|
66
66
|
} else if (size == 0) {
|
|
67
67
|
manager->DecreaseAllocatedSize(previous_size);
|
|
68
|
-
manager->env()->
|
|
69
|
-
|
|
68
|
+
manager->env()->external_memory_accounter()->Decrease(
|
|
69
|
+
manager->env()->isolate(), previous_size);
|
|
70
70
|
}
|
|
71
71
|
return mem;
|
|
72
72
|
}
|
|
@@ -99,8 +99,8 @@ void NgLibMemoryManager<Class, T>::StopTrackingMemory(void* ptr) {
|
|
|
99
99
|
static_cast<char*>(ptr) - sizeof(size_t));
|
|
100
100
|
Class* manager = static_cast<Class*>(this);
|
|
101
101
|
manager->DecreaseAllocatedSize(*original_ptr);
|
|
102
|
-
manager->env()->
|
|
103
|
-
|
|
102
|
+
manager->env()->external_memory_accounter()->Decrease(
|
|
103
|
+
manager->env()->isolate(), *original_ptr);
|
|
104
104
|
*original_ptr = 0;
|
|
105
105
|
}
|
|
106
106
|
|
|
@@ -88,6 +88,9 @@ class Message : public MemoryRetainer {
|
|
|
88
88
|
// Internal method of Message that is called when a new WebAssembly.Module
|
|
89
89
|
// object is encountered in the incoming value's structure.
|
|
90
90
|
uint32_t AddWASMModule(v8::CompiledWasmModule&& mod);
|
|
91
|
+
// Internal method of Message that is called when a shared value is
|
|
92
|
+
// encountered for the first time in the incoming value's structure.
|
|
93
|
+
void AdoptSharedValueConveyor(v8::SharedValueConveyor&& conveyor);
|
|
91
94
|
|
|
92
95
|
// The host objects that will be transferred, as recorded by Serialize()
|
|
93
96
|
// (e.g. MessagePorts).
|
|
@@ -114,6 +117,7 @@ class Message : public MemoryRetainer {
|
|
|
114
117
|
std::vector<std::shared_ptr<v8::BackingStore>> shared_array_buffers_;
|
|
115
118
|
std::vector<std::unique_ptr<TransferData>> transferables_;
|
|
116
119
|
std::vector<v8::CompiledWasmModule> wasm_modules_;
|
|
120
|
+
std::optional<v8::SharedValueConveyor> shared_value_conveyor_;
|
|
117
121
|
|
|
118
122
|
friend class MessagePort;
|
|
119
123
|
};
|
|
@@ -257,7 +261,6 @@ class MessagePort : public HandleWrap {
|
|
|
257
261
|
static void PostMessage(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
258
262
|
static void Start(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
259
263
|
static void Stop(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
260
|
-
static void CheckType(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
261
264
|
static void Drain(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
262
265
|
static void ReceiveMessage(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
263
266
|
|
|
@@ -286,7 +289,7 @@ class MessagePort : public HandleWrap {
|
|
|
286
289
|
// NULL pointer to the C++ MessagePort object is also detached.
|
|
287
290
|
inline bool IsDetached() const;
|
|
288
291
|
|
|
289
|
-
TransferMode GetTransferMode() const override;
|
|
292
|
+
BaseObject::TransferMode GetTransferMode() const override;
|
|
290
293
|
std::unique_ptr<TransferData> TransferForMessaging() override;
|
|
291
294
|
|
|
292
295
|
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
@@ -315,20 +318,28 @@ class MessagePort : public HandleWrap {
|
|
|
315
318
|
friend class MessagePortData;
|
|
316
319
|
};
|
|
317
320
|
|
|
318
|
-
// Provide a
|
|
319
|
-
// cloneable by
|
|
321
|
+
// Provide a wrapper class created when a built-in JS classes that being
|
|
322
|
+
// transferable or cloneable by postMessage().
|
|
320
323
|
// See e.g. FileHandle in internal/fs/promises.js for an example.
|
|
321
324
|
class JSTransferable : public BaseObject {
|
|
322
325
|
public:
|
|
323
|
-
JSTransferable(Environment* env,
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
326
|
+
static BaseObjectPtr<JSTransferable> Wrap(Environment* env,
|
|
327
|
+
v8::Local<v8::Object> target);
|
|
328
|
+
static bool IsJSTransferable(Environment* env,
|
|
329
|
+
v8::Local<v8::Context> context,
|
|
330
|
+
v8::Local<v8::Object> object);
|
|
331
|
+
|
|
332
|
+
JSTransferable(Environment* env,
|
|
333
|
+
v8::Local<v8::Object> obj,
|
|
334
|
+
v8::Local<v8::Object> target);
|
|
335
|
+
~JSTransferable();
|
|
336
|
+
|
|
337
|
+
BaseObject::TransferMode GetTransferMode() const override;
|
|
327
338
|
std::unique_ptr<TransferData> TransferForMessaging() override;
|
|
328
339
|
std::unique_ptr<TransferData> CloneForMessaging() const override;
|
|
329
340
|
v8::Maybe<std::vector<BaseObjectPtr<BaseObject>>>
|
|
330
341
|
NestedTransferables() const override;
|
|
331
|
-
v8::Maybe<
|
|
342
|
+
v8::Maybe<void> FinalizeTransferRead(
|
|
332
343
|
v8::Local<v8::Context> context,
|
|
333
344
|
v8::ValueDeserializer* deserializer) override;
|
|
334
345
|
|
|
@@ -336,8 +347,13 @@ class JSTransferable : public BaseObject {
|
|
|
336
347
|
SET_MEMORY_INFO_NAME(JSTransferable)
|
|
337
348
|
SET_SELF_SIZE(JSTransferable)
|
|
338
349
|
|
|
350
|
+
v8::Local<v8::Object> target() const;
|
|
351
|
+
|
|
339
352
|
private:
|
|
340
|
-
|
|
353
|
+
template <TransferMode mode>
|
|
354
|
+
std::unique_ptr<TransferData> TransferOrClone() const;
|
|
355
|
+
|
|
356
|
+
v8::Global<v8::Object> target_;
|
|
341
357
|
|
|
342
358
|
class Data : public TransferData {
|
|
343
359
|
public:
|
|
@@ -362,7 +378,7 @@ class JSTransferable : public BaseObject {
|
|
|
362
378
|
};
|
|
363
379
|
|
|
364
380
|
v8::Local<v8::FunctionTemplate> GetMessagePortConstructorTemplate(
|
|
365
|
-
|
|
381
|
+
IsolateData* isolate_data);
|
|
366
382
|
|
|
367
383
|
} // namespace worker
|
|
368
384
|
} // namespace node
|
|
@@ -3,11 +3,16 @@
|
|
|
3
3
|
|
|
4
4
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
5
|
|
|
6
|
+
#include <array>
|
|
6
7
|
#include <string>
|
|
8
|
+
#include <utility>
|
|
7
9
|
#include "node_version.h"
|
|
8
10
|
|
|
9
11
|
#if HAVE_OPENSSL
|
|
10
12
|
#include <openssl/crypto.h>
|
|
13
|
+
#if NODE_OPENSSL_HAS_QUIC
|
|
14
|
+
#include <openssl/quic.h>
|
|
15
|
+
#endif
|
|
11
16
|
#endif // HAVE_OPENSSL
|
|
12
17
|
|
|
13
18
|
namespace node {
|
|
@@ -24,20 +29,42 @@ namespace node {
|
|
|
24
29
|
#define NODE_HAS_RELEASE_URLS
|
|
25
30
|
#endif
|
|
26
31
|
|
|
32
|
+
#if HAVE_AMARO && !defined(NODE_SHARED_BUILTIN_AMARO_DIST_INDEX_PATH)
|
|
33
|
+
#define NODE_VERSIONS_KEY_AMARO(V) V(amaro)
|
|
34
|
+
#else
|
|
35
|
+
#define NODE_VERSIONS_KEY_AMARO(V)
|
|
36
|
+
#endif
|
|
37
|
+
|
|
38
|
+
#ifndef NODE_SHARED_BUILTIN_UNDICI_UNDICI_PATH
|
|
39
|
+
#define NODE_VERSIONS_KEY_UNDICI(V) V(undici)
|
|
40
|
+
#else
|
|
41
|
+
#define NODE_VERSIONS_KEY_UNDICI(V)
|
|
42
|
+
#endif
|
|
43
|
+
|
|
27
44
|
#define NODE_VERSIONS_KEYS_BASE(V) \
|
|
28
45
|
V(node) \
|
|
29
46
|
V(v8) \
|
|
30
47
|
V(uv) \
|
|
31
48
|
V(zlib) \
|
|
32
49
|
V(brotli) \
|
|
50
|
+
V(zstd) \
|
|
33
51
|
V(ares) \
|
|
34
52
|
V(modules) \
|
|
35
53
|
V(nghttp2) \
|
|
36
54
|
V(napi) \
|
|
37
55
|
V(llhttp) \
|
|
56
|
+
V(uvwasi) \
|
|
57
|
+
V(acorn) \
|
|
58
|
+
V(simdjson) \
|
|
59
|
+
V(simdutf) \
|
|
60
|
+
V(ada) \
|
|
61
|
+
V(nbytes) \
|
|
62
|
+
NODE_VERSIONS_KEY_AMARO(V) \
|
|
63
|
+
NODE_VERSIONS_KEY_UNDICI(V) \
|
|
64
|
+
V(cjs_module_lexer)
|
|
38
65
|
|
|
39
66
|
#if HAVE_OPENSSL
|
|
40
|
-
#define NODE_VERSIONS_KEY_CRYPTO(V) V(openssl)
|
|
67
|
+
#define NODE_VERSIONS_KEY_CRYPTO(V) V(openssl) V(ncrypto)
|
|
41
68
|
#else
|
|
42
69
|
#define NODE_VERSIONS_KEY_CRYPTO(V)
|
|
43
70
|
#endif
|
|
@@ -60,11 +87,22 @@ namespace node {
|
|
|
60
87
|
#define NODE_VERSIONS_KEY_QUIC(V)
|
|
61
88
|
#endif
|
|
62
89
|
|
|
90
|
+
#if HAVE_SQLITE
|
|
91
|
+
#define NODE_VERSIONS_KEY_SQLITE(V) V(sqlite)
|
|
92
|
+
#else
|
|
93
|
+
#define NODE_VERSIONS_KEY_SQLITE(V)
|
|
94
|
+
#endif
|
|
95
|
+
|
|
63
96
|
#define NODE_VERSIONS_KEYS(V) \
|
|
64
97
|
NODE_VERSIONS_KEYS_BASE(V) \
|
|
65
98
|
NODE_VERSIONS_KEY_CRYPTO(V) \
|
|
66
99
|
NODE_VERSIONS_KEY_INTL(V) \
|
|
67
|
-
NODE_VERSIONS_KEY_QUIC(V)
|
|
100
|
+
NODE_VERSIONS_KEY_QUIC(V) \
|
|
101
|
+
NODE_VERSIONS_KEY_SQLITE(V)
|
|
102
|
+
|
|
103
|
+
#define V(key) +1
|
|
104
|
+
constexpr int NODE_VERSIONS_KEY_COUNT = NODE_VERSIONS_KEYS(V);
|
|
105
|
+
#undef V
|
|
68
106
|
|
|
69
107
|
class Metadata {
|
|
70
108
|
public:
|
|
@@ -86,6 +124,10 @@ class Metadata {
|
|
|
86
124
|
#define V(key) std::string key;
|
|
87
125
|
NODE_VERSIONS_KEYS(V)
|
|
88
126
|
#undef V
|
|
127
|
+
|
|
128
|
+
std::array<std::pair<std::string_view, std::string_view>,
|
|
129
|
+
NODE_VERSIONS_KEY_COUNT>
|
|
130
|
+
pairs() const;
|
|
89
131
|
};
|
|
90
132
|
|
|
91
133
|
struct Release {
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
#ifndef SRC_NODE_MODULES_H_
|
|
2
|
+
#define SRC_NODE_MODULES_H_
|
|
3
|
+
|
|
4
|
+
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
|
+
|
|
6
|
+
#include "node.h"
|
|
7
|
+
#include "node_snapshotable.h"
|
|
8
|
+
#include "simdjson.h"
|
|
9
|
+
#include "util.h"
|
|
10
|
+
#include "v8-fast-api-calls.h"
|
|
11
|
+
#include "v8.h"
|
|
12
|
+
|
|
13
|
+
#include <filesystem>
|
|
14
|
+
#include <optional>
|
|
15
|
+
#include <string>
|
|
16
|
+
#include <string_view>
|
|
17
|
+
#include <unordered_map>
|
|
18
|
+
|
|
19
|
+
namespace node {
|
|
20
|
+
class ExternalReferenceRegistry;
|
|
21
|
+
|
|
22
|
+
namespace modules {
|
|
23
|
+
|
|
24
|
+
class BindingData : public SnapshotableObject {
|
|
25
|
+
public:
|
|
26
|
+
using InternalFieldInfo = InternalFieldInfoBase;
|
|
27
|
+
|
|
28
|
+
struct PackageConfig {
|
|
29
|
+
std::string file_path;
|
|
30
|
+
std::optional<std::string> name;
|
|
31
|
+
std::optional<std::string> main;
|
|
32
|
+
std::string type = "none";
|
|
33
|
+
std::optional<std::string> exports;
|
|
34
|
+
std::optional<std::string> imports;
|
|
35
|
+
std::optional<std::string> scripts;
|
|
36
|
+
std::string raw_json;
|
|
37
|
+
|
|
38
|
+
v8::Local<v8::Array> Serialize(Realm* realm) const;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
struct ErrorContext {
|
|
42
|
+
std::optional<std::string> base;
|
|
43
|
+
std::string specifier;
|
|
44
|
+
bool is_esm;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
BindingData(Realm* realm,
|
|
48
|
+
v8::Local<v8::Object> obj,
|
|
49
|
+
InternalFieldInfo* info = nullptr);
|
|
50
|
+
SERIALIZABLE_OBJECT_METHODS()
|
|
51
|
+
SET_BINDING_ID(modules_binding_data)
|
|
52
|
+
|
|
53
|
+
void MemoryInfo(MemoryTracker* tracker) const override;
|
|
54
|
+
SET_SELF_SIZE(BindingData)
|
|
55
|
+
SET_MEMORY_INFO_NAME(BindingData)
|
|
56
|
+
|
|
57
|
+
static void ReadPackageJSON(const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
58
|
+
static void GetNearestParentPackageJSON(
|
|
59
|
+
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
60
|
+
static void GetNearestParentPackageJSONType(
|
|
61
|
+
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
62
|
+
template <bool return_only_type>
|
|
63
|
+
static void GetPackageScopeConfig(
|
|
64
|
+
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
65
|
+
static void GetPackageJSONScripts(
|
|
66
|
+
const v8::FunctionCallbackInfo<v8::Value>& args);
|
|
67
|
+
|
|
68
|
+
static void CreatePerIsolateProperties(IsolateData* isolate_data,
|
|
69
|
+
v8::Local<v8::ObjectTemplate> ctor);
|
|
70
|
+
static void CreatePerContextProperties(v8::Local<v8::Object> target,
|
|
71
|
+
v8::Local<v8::Value> unused,
|
|
72
|
+
v8::Local<v8::Context> context,
|
|
73
|
+
void* priv);
|
|
74
|
+
static void RegisterExternalReferences(ExternalReferenceRegistry* registry);
|
|
75
|
+
|
|
76
|
+
private:
|
|
77
|
+
std::unordered_map<std::string, PackageConfig> package_configs_;
|
|
78
|
+
simdjson::ondemand::parser json_parser;
|
|
79
|
+
// returns null on error
|
|
80
|
+
static const PackageConfig* GetPackageJSON(
|
|
81
|
+
Realm* realm,
|
|
82
|
+
std::string_view path,
|
|
83
|
+
ErrorContext* error_context = nullptr);
|
|
84
|
+
static const PackageConfig* TraverseParent(
|
|
85
|
+
Realm* realm, const std::filesystem::path& check_path);
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
} // namespace modules
|
|
89
|
+
} // namespace node
|
|
90
|
+
|
|
91
|
+
#endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
92
|
+
|
|
93
|
+
#endif // SRC_NODE_MODULES_H_
|
|
@@ -3,7 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
#if defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS
|
|
5
5
|
|
|
6
|
+
#include <algorithm>
|
|
6
7
|
#include <cstdlib>
|
|
8
|
+
#include <ranges>
|
|
7
9
|
#include "node_options.h"
|
|
8
10
|
#include "util.h"
|
|
9
11
|
|
|
@@ -17,103 +19,140 @@ EnvironmentOptions* PerIsolateOptions::get_per_env_options() {
|
|
|
17
19
|
return per_env.get();
|
|
18
20
|
}
|
|
19
21
|
|
|
22
|
+
std::shared_ptr<PerIsolateOptions> PerIsolateOptions::Clone() const {
|
|
23
|
+
auto options =
|
|
24
|
+
std::shared_ptr<PerIsolateOptions>(new PerIsolateOptions(*this));
|
|
25
|
+
options->per_env = std::make_shared<EnvironmentOptions>(*per_env);
|
|
26
|
+
return options;
|
|
27
|
+
}
|
|
28
|
+
|
|
20
29
|
namespace options_parser {
|
|
21
30
|
|
|
22
31
|
template <typename Options>
|
|
23
32
|
void OptionsParser<Options>::AddOption(const char* name,
|
|
24
33
|
const char* help_text,
|
|
25
|
-
bool Options::*
|
|
34
|
+
bool Options::*field,
|
|
26
35
|
OptionEnvvarSettings env_setting,
|
|
27
|
-
bool default_is_true
|
|
36
|
+
bool default_is_true,
|
|
37
|
+
OptionNamespaces namespace_id) {
|
|
28
38
|
options_.emplace(name,
|
|
29
39
|
OptionInfo{kBoolean,
|
|
30
40
|
std::make_shared<SimpleOptionField<bool>>(field),
|
|
31
41
|
env_setting,
|
|
32
42
|
help_text,
|
|
33
|
-
default_is_true
|
|
43
|
+
default_is_true,
|
|
44
|
+
NamespaceEnumToString(namespace_id)});
|
|
34
45
|
}
|
|
35
46
|
|
|
36
47
|
template <typename Options>
|
|
37
48
|
void OptionsParser<Options>::AddOption(const char* name,
|
|
38
49
|
const char* help_text,
|
|
39
|
-
uint64_t Options::*
|
|
40
|
-
OptionEnvvarSettings env_setting
|
|
50
|
+
uint64_t Options::*field,
|
|
51
|
+
OptionEnvvarSettings env_setting,
|
|
52
|
+
OptionNamespaces namespace_id) {
|
|
41
53
|
options_.emplace(
|
|
42
54
|
name,
|
|
43
55
|
OptionInfo{kUInteger,
|
|
44
56
|
std::make_shared<SimpleOptionField<uint64_t>>(field),
|
|
45
57
|
env_setting,
|
|
46
|
-
help_text
|
|
58
|
+
help_text,
|
|
59
|
+
false,
|
|
60
|
+
NamespaceEnumToString(namespace_id)});
|
|
47
61
|
}
|
|
48
62
|
|
|
49
63
|
template <typename Options>
|
|
50
64
|
void OptionsParser<Options>::AddOption(const char* name,
|
|
51
65
|
const char* help_text,
|
|
52
|
-
int64_t Options::*
|
|
53
|
-
OptionEnvvarSettings env_setting
|
|
66
|
+
int64_t Options::*field,
|
|
67
|
+
OptionEnvvarSettings env_setting,
|
|
68
|
+
OptionNamespaces namespace_id) {
|
|
54
69
|
options_.emplace(
|
|
55
70
|
name,
|
|
56
71
|
OptionInfo{kInteger,
|
|
57
72
|
std::make_shared<SimpleOptionField<int64_t>>(field),
|
|
58
73
|
env_setting,
|
|
59
|
-
help_text
|
|
74
|
+
help_text,
|
|
75
|
+
false,
|
|
76
|
+
NamespaceEnumToString(namespace_id)});
|
|
60
77
|
}
|
|
61
78
|
|
|
62
79
|
template <typename Options>
|
|
63
80
|
void OptionsParser<Options>::AddOption(const char* name,
|
|
64
81
|
const char* help_text,
|
|
65
|
-
std::string Options::*
|
|
66
|
-
OptionEnvvarSettings env_setting
|
|
82
|
+
std::string Options::*field,
|
|
83
|
+
OptionEnvvarSettings env_setting,
|
|
84
|
+
OptionNamespaces namespace_id) {
|
|
67
85
|
options_.emplace(
|
|
68
86
|
name,
|
|
69
87
|
OptionInfo{kString,
|
|
70
88
|
std::make_shared<SimpleOptionField<std::string>>(field),
|
|
71
89
|
env_setting,
|
|
72
|
-
help_text
|
|
90
|
+
help_text,
|
|
91
|
+
false,
|
|
92
|
+
NamespaceEnumToString(namespace_id)});
|
|
73
93
|
}
|
|
74
94
|
|
|
75
95
|
template <typename Options>
|
|
76
|
-
void OptionsParser<Options>::AddOption(
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
options_.emplace(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
96
|
+
void OptionsParser<Options>::AddOption(const char* name,
|
|
97
|
+
const char* help_text,
|
|
98
|
+
std::vector<std::string> Options::*field,
|
|
99
|
+
OptionEnvvarSettings env_setting,
|
|
100
|
+
OptionNamespaces namespace_id) {
|
|
101
|
+
options_.emplace(
|
|
102
|
+
name,
|
|
103
|
+
OptionInfo{
|
|
104
|
+
kStringList,
|
|
105
|
+
std::make_shared<SimpleOptionField<std::vector<std::string>>>(field),
|
|
106
|
+
env_setting,
|
|
107
|
+
help_text,
|
|
108
|
+
false,
|
|
109
|
+
NamespaceEnumToString(namespace_id)});
|
|
87
110
|
}
|
|
88
111
|
|
|
89
112
|
template <typename Options>
|
|
90
113
|
void OptionsParser<Options>::AddOption(const char* name,
|
|
91
114
|
const char* help_text,
|
|
92
|
-
HostPort Options::*
|
|
93
|
-
OptionEnvvarSettings env_setting
|
|
115
|
+
HostPort Options::*field,
|
|
116
|
+
OptionEnvvarSettings env_setting,
|
|
117
|
+
OptionNamespaces namespace_id) {
|
|
94
118
|
options_.emplace(
|
|
95
119
|
name,
|
|
96
120
|
OptionInfo{kHostPort,
|
|
97
121
|
std::make_shared<SimpleOptionField<HostPort>>(field),
|
|
98
122
|
env_setting,
|
|
99
|
-
help_text
|
|
123
|
+
help_text,
|
|
124
|
+
false,
|
|
125
|
+
NamespaceEnumToString(namespace_id)});
|
|
100
126
|
}
|
|
101
127
|
|
|
102
128
|
template <typename Options>
|
|
103
129
|
void OptionsParser<Options>::AddOption(const char* name,
|
|
104
130
|
const char* help_text,
|
|
105
131
|
NoOp no_op_tag,
|
|
106
|
-
OptionEnvvarSettings env_setting
|
|
107
|
-
|
|
132
|
+
OptionEnvvarSettings env_setting,
|
|
133
|
+
OptionNamespaces namespace_id) {
|
|
134
|
+
options_.emplace(name,
|
|
135
|
+
OptionInfo{kNoOp,
|
|
136
|
+
nullptr,
|
|
137
|
+
env_setting,
|
|
138
|
+
help_text,
|
|
139
|
+
false,
|
|
140
|
+
NamespaceEnumToString(namespace_id)});
|
|
108
141
|
}
|
|
109
142
|
|
|
110
143
|
template <typename Options>
|
|
111
144
|
void OptionsParser<Options>::AddOption(const char* name,
|
|
112
145
|
const char* help_text,
|
|
113
146
|
V8Option v8_option_tag,
|
|
114
|
-
OptionEnvvarSettings env_setting
|
|
147
|
+
OptionEnvvarSettings env_setting,
|
|
148
|
+
OptionNamespaces namespace_id) {
|
|
115
149
|
options_.emplace(name,
|
|
116
|
-
OptionInfo{kV8Option,
|
|
150
|
+
OptionInfo{kV8Option,
|
|
151
|
+
nullptr,
|
|
152
|
+
env_setting,
|
|
153
|
+
help_text,
|
|
154
|
+
false,
|
|
155
|
+
NamespaceEnumToString(namespace_id)});
|
|
117
156
|
}
|
|
118
157
|
|
|
119
158
|
template <typename Options>
|
|
@@ -189,7 +228,8 @@ auto OptionsParser<Options>::Convert(
|
|
|
189
228
|
Convert(original.field, get_child),
|
|
190
229
|
original.env_setting,
|
|
191
230
|
original.help_text,
|
|
192
|
-
original.default_is_true
|
|
231
|
+
original.default_is_true,
|
|
232
|
+
original.namespace_id};
|
|
193
233
|
}
|
|
194
234
|
|
|
195
235
|
template <typename Options>
|
|
@@ -302,7 +342,7 @@ void OptionsParser<Options>::Parse(
|
|
|
302
342
|
const std::string arg = args.pop_first();
|
|
303
343
|
|
|
304
344
|
if (arg == "--") {
|
|
305
|
-
if (required_env_settings ==
|
|
345
|
+
if (required_env_settings == kAllowedInEnvvar)
|
|
306
346
|
errors->push_back(NotAllowedInEnvErr("--"));
|
|
307
347
|
break;
|
|
308
348
|
}
|
|
@@ -374,8 +414,8 @@ void OptionsParser<Options>::Parse(
|
|
|
374
414
|
auto it = options_.find(name);
|
|
375
415
|
|
|
376
416
|
if ((it == options_.end() ||
|
|
377
|
-
it->second.env_setting ==
|
|
378
|
-
required_env_settings ==
|
|
417
|
+
it->second.env_setting == kDisallowedInEnvvar) &&
|
|
418
|
+
required_env_settings == kAllowedInEnvvar) {
|
|
379
419
|
errors->push_back(NotAllowedInEnvErr(original_name));
|
|
380
420
|
break;
|
|
381
421
|
}
|
|
@@ -386,15 +426,16 @@ void OptionsParser<Options>::Parse(
|
|
|
386
426
|
// Implications for negated options are defined with "--no-".
|
|
387
427
|
implied_name.insert(2, "no-");
|
|
388
428
|
}
|
|
389
|
-
auto
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
429
|
+
auto [f, l] = implications_.equal_range(implied_name);
|
|
430
|
+
std::ranges::for_each(std::ranges::subrange(f, l) | std::views::values,
|
|
431
|
+
[&](const auto& value) {
|
|
432
|
+
if (value.type == kV8Option) {
|
|
433
|
+
v8_args->push_back(value.name);
|
|
434
|
+
} else {
|
|
435
|
+
*value.target_field->template Lookup<bool>(
|
|
436
|
+
options) = value.target_value;
|
|
437
|
+
}
|
|
438
|
+
});
|
|
398
439
|
}
|
|
399
440
|
|
|
400
441
|
if (it == options_.end()) {
|
|
@@ -440,11 +481,17 @@ void OptionsParser<Options>::Parse(
|
|
|
440
481
|
case kBoolean:
|
|
441
482
|
*Lookup<bool>(info.field, options) = !is_negation;
|
|
442
483
|
break;
|
|
443
|
-
case kInteger:
|
|
484
|
+
case kInteger: {
|
|
485
|
+
// Special case to pass --stack-trace-limit down to V8.
|
|
486
|
+
if (name == "--stack-trace-limit") {
|
|
487
|
+
v8_args->push_back(arg);
|
|
488
|
+
}
|
|
444
489
|
*Lookup<int64_t>(info.field, options) = std::atoll(value.c_str());
|
|
445
490
|
break;
|
|
491
|
+
}
|
|
446
492
|
case kUInteger:
|
|
447
|
-
*Lookup<uint64_t>(info.field, options) =
|
|
493
|
+
*Lookup<uint64_t>(info.field, options) =
|
|
494
|
+
std::strtoull(value.c_str(), nullptr, 10);
|
|
448
495
|
break;
|
|
449
496
|
case kString:
|
|
450
497
|
*Lookup<std::string>(info.field, options) = value;
|
|
@@ -466,7 +513,7 @@ void OptionsParser<Options>::Parse(
|
|
|
466
513
|
UNREACHABLE();
|
|
467
514
|
}
|
|
468
515
|
}
|
|
469
|
-
options->CheckOptions(errors);
|
|
516
|
+
options->CheckOptions(errors, orig_args);
|
|
470
517
|
}
|
|
471
518
|
|
|
472
519
|
} // namespace options_parser
|