From 21c6e4e8a0a6878b2e89b2fca22abcce04ff7b80 Mon Sep 17 00:00:00 2001 From: "electron-roller[bot]" <84116207+electron-roller[bot]@users.noreply.github.com> Date: Tue, 10 Feb 2026 15:29:51 +0100 Subject: [PATCH] chore: bump node to v24.13.0 (40-x-y) (#49188) * chore: bump node in DEPS to v24.12.0 * chore: bump node in DEPS to v24.13.0 * src: use CP_UTF8 for wide file names on win32 https://github.com/nodejs/node/pull/60575 * test,crypto: handle a few more BoringSSL tests https://github.com/nodejs/node/pull/59030 * chore: re-add accidentally removed sslv23 test * test: make buffer sizes 32bit-aware in test-internal-util-construct-sab https://github.com/nodejs/node/pull/61026 * chore: fixup patch indices * chore: fixup crypto patch rebase (cherry picked from commit 0b3baf01672ff6e1b955559136711059b848600f) * chore: fixup sandboxed pointers patch (cherry picked from commit f52fbdbe51f1fcf23aaae2a2010b8d4bb701550c) * build: try removing zero-fill sandbox patch component (#49452) (cherry picked from commit 73377af79e21e754e4c8487271e78f99239cce52) * tls: route callback exceptions through error handlers https://github.com/nodejs-private/node-private/pull/782 (cherry picked from commit 87bc8ebd34a4581859fab1cae1c776568b7d191e) * src: add internal binding for constructing SharedArrayBuffers https://github.com/nodejs/node/pull/60497 (cherry picked from commit ae9007626713f59841a8b24ffecddc93c20832ed) * chore: fixup after rebase --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr Co-authored-by: John Kleinschmidt --- DEPS | 2 +- patches/node/.patches | 3 +- ...lete_deprecated_fields_on_v8_isolate.patch | 4 +- ...v8_context_and_v8_object_api_methods.patch | 4 +- .../api_remove_deprecated_getisolate.patch | 86 ++--- patches/node/build_enable_perfetto.patch | 4 +- ...compilation_fails_if_not_using_a_new.patch | 4 +- ...e_clang_as_default_compiler_on_macos.patch | 2 +- ...tore_macos_deployment_target_to_12_0.patch | 2 +- ...de_entrypoint_to_be_a_builtin_module.patch | 2 +- ...deprecation_ftbfs_in_simdjson_header.patch | 12 +- ...e_expose_importmoduledynamically_and.patch | 20 +- .../expose_get_builtin_module_function.patch | 4 +- ..._values_for_variables_in_common_gypi.patch | 2 +- ...tch_in_renderer_and_worker_processes.patch | 14 +- ...g_fileexists_fn_to_legacymainresolve.patch | 10 +- ...eak_on_invalid_tls_protocol_versions.patch | 4 +- .../fix_crypto_tests_to_run_with_bssl.patch | 259 ++------------- ..._do_not_resolve_electron_entrypoints.patch | 6 +- ...separent_bails_on_resource_path_exit.patch | 2 +- ...se_readfilesync_override_for_modules.patch | 6 +- ...n_electron_module_via_the_esm_loader.patch | 16 +- ...ingssl_and_openssl_incompatibilities.patch | 14 +- ...in_esm_loaders_to_apply_asar_patches.patch | 4 +- ...ix_remove_deprecated_errno_constants.patch | 8 +- ...buffer_existence_in_fast-utf8-stream.patch | 46 --- .../pass_all_globals_through_require.patch | 2 +- ...dder_overriding_of_internal_fs_calls.patch | 2 +- ...ch_cppgc_heap_on_v8_isolate_creation.patch | 14 +- ...ding_errors_from_system_certificates.patch | 2 +- ...cp_utf8_for_wide_file_names_on_win32.patch | 308 ------------------ .../node/support_v8_sandboxed_pointers.patch | 172 +--------- ...st_formally_mark_some_tests_as_flaky.patch | 2 +- ...est_make_buffer_sizes_32bit-aware_in.patch | 38 +++ patches/v8/.patches | 1 - patches/v8/cherry-pick-4508b5dfb26e.patch | 63 ---- script/node-disabled-tests.json | 2 + 37 files changed, 216 insertions(+), 930 deletions(-) delete mode 100644 patches/node/lib_check_sharedarraybuffer_existence_in_fast-utf8-stream.patch delete mode 100644 patches/node/src_use_cp_utf8_for_wide_file_names_on_win32.patch create mode 100644 patches/node/test_make_buffer_sizes_32bit-aware_in.patch delete mode 100644 patches/v8/cherry-pick-4508b5dfb26e.patch diff --git a/DEPS b/DEPS index 477252c785..9624303b9f 100644 --- a/DEPS +++ b/DEPS @@ -4,7 +4,7 @@ vars = { 'chromium_version': '144.0.7559.134', 'node_version': - 'v24.11.1', + 'v24.13.0', 'nan_version': '675cefebca42410733da8a454c8d9391fcebfbc2', 'squirrel.mac_version': diff --git a/patches/node/.patches b/patches/node/.patches index 65d59b1f24..adb12237f3 100644 --- a/patches/node/.patches +++ b/patches/node/.patches @@ -36,11 +36,10 @@ fix_redefined_macos_sdk_header_symbols.patch fix_allow_disabling_fetch_in_renderer_and_worker_processes.patch feat_disable_js_source_phase_imports_by_default.patch fix_avoid_external_memory_leak_on_invalid_tls_protocol_versions.patch -lib_check_sharedarraybuffer_existence_in_fast-utf8-stream.patch api_delete_deprecated_fields_on_v8_isolate.patch api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch -src_use_cp_utf8_for_wide_file_names_on_win32.patch fix_ensure_traverseparent_bails_on_resource_path_exit.patch reland_temporal_unflag_temporal.patch src_handle_der_decoding_errors_from_system_certificates.patch build_restore_macos_deployment_target_to_12_0.patch +test_make_buffer_sizes_32bit-aware_in.patch diff --git a/patches/node/api_delete_deprecated_fields_on_v8_isolate.patch b/patches/node/api_delete_deprecated_fields_on_v8_isolate.patch index 319a9c6a6c..5fe58e7904 100644 --- a/patches/node/api_delete_deprecated_fields_on_v8_isolate.patch +++ b/patches/node/api_delete_deprecated_fields_on_v8_isolate.patch @@ -6,10 +6,10 @@ Subject: Delete deprecated fields on v8::Isolate https://chromium-review.googlesource.com/c/v8/v8/+/7081397 diff --git a/src/api/environment.cc b/src/api/environment.cc -index ea3e9374c30be92ba5668e33773ffbb2aef55b30..44ba3c42c7a980eee19e1aadcbe7999eefeda989 100644 +index cfc9b3157d08d62f43e2e5bb01229fe663f3ca61..cce0e1cdc37aa324aa2c52ba134fc1a9a55b10ba 100644 --- a/src/api/environment.cc +++ b/src/api/environment.cc -@@ -231,8 +231,6 @@ void SetIsolateCreateParamsForNode(Isolate::CreateParams* params) { +@@ -218,8 +218,6 @@ void SetIsolateCreateParamsForNode(Isolate::CreateParams* params) { // heap based on the actual physical memory. params->constraints.ConfigureDefaults(total_memory, 0); } diff --git a/patches/node/api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch b/patches/node/api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch index f66e6a8038..dfa4403289 100644 --- a/patches/node/api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch +++ b/patches/node/api_promote_deprecation_of_v8_context_and_v8_object_api_methods.patch @@ -44,10 +44,10 @@ index 37d83e41b618a07aca98118260abe9618f11256d..26d5c1bd3c8191fce1d22b969996b6bf template diff --git a/src/env-inl.h b/src/env-inl.h -index 5dfbd564d5bbd22ebf3b529a07b73e85cbe51986..b0c3c52cab63c6ae67079aa752bd58dd4f162451 100644 +index 97c43afb487b58c0c77bd59b4a6b6d7a13690053..23a4d7b651935a4029249fb2f1dd3ed46ea3b26f 100644 --- a/src/env-inl.h +++ b/src/env-inl.h -@@ -199,7 +199,8 @@ inline Environment* Environment::GetCurrent(v8::Local context) { +@@ -189,7 +189,8 @@ inline Environment* Environment::GetCurrent(v8::Local context) { } return static_cast( context->GetAlignedPointerFromEmbedderData( diff --git a/patches/node/api_remove_deprecated_getisolate.patch b/patches/node/api_remove_deprecated_getisolate.patch index e45baea807..2e330678d6 100644 --- a/patches/node/api_remove_deprecated_getisolate.patch +++ b/patches/node/api_remove_deprecated_getisolate.patch @@ -6,10 +6,10 @@ Subject: Remove deprecated `GetIsolate` https://chromium-review.googlesource.com/c/v8/v8/+/6905244 diff --git a/src/api/environment.cc b/src/api/environment.cc -index 451796ffc4ec93b6e317dd49d92070c61aca04e5..ea3e9374c30be92ba5668e33773ffbb2aef55b30 100644 +index d753ad6c6b49b26b86920124f7ac90c1e052638e..cfc9b3157d08d62f43e2e5bb01229fe663f3ca61 100644 --- a/src/api/environment.cc +++ b/src/api/environment.cc -@@ -687,7 +687,7 @@ std::unique_ptr MultiIsolatePlatform::Create( +@@ -668,7 +668,7 @@ std::unique_ptr MultiIsolatePlatform::Create( MaybeLocal GetPerContextExports(Local context, IsolateData* isolate_data) { @@ -18,7 +18,7 @@ index 451796ffc4ec93b6e317dd49d92070c61aca04e5..ea3e9374c30be92ba5668e33773ffbb2 EscapableHandleScope handle_scope(isolate); Local global = context->Global(); -@@ -733,7 +733,7 @@ void ProtoThrower(const FunctionCallbackInfo& info) { +@@ -714,7 +714,7 @@ void ProtoThrower(const FunctionCallbackInfo& info) { // This runs at runtime, regardless of whether the context // is created from a snapshot. Maybe InitializeContextRuntime(Local context) { @@ -27,7 +27,7 @@ index 451796ffc4ec93b6e317dd49d92070c61aca04e5..ea3e9374c30be92ba5668e33773ffbb2 HandleScope handle_scope(isolate); // When `IsCodeGenerationFromStringsAllowed` is true, V8 takes the fast path -@@ -812,7 +812,7 @@ Maybe InitializeContextRuntime(Local context) { +@@ -793,7 +793,7 @@ Maybe InitializeContextRuntime(Local context) { } Maybe InitializeBaseContextForSnapshot(Local context) { @@ -36,7 +36,7 @@ index 451796ffc4ec93b6e317dd49d92070c61aca04e5..ea3e9374c30be92ba5668e33773ffbb2 HandleScope handle_scope(isolate); // Delete `Intl.v8BreakIterator` -@@ -837,7 +837,7 @@ Maybe InitializeBaseContextForSnapshot(Local context) { +@@ -818,7 +818,7 @@ Maybe InitializeBaseContextForSnapshot(Local context) { } Maybe InitializeMainContextForSnapshot(Local context) { @@ -45,7 +45,7 @@ index 451796ffc4ec93b6e317dd49d92070c61aca04e5..ea3e9374c30be92ba5668e33773ffbb2 HandleScope handle_scope(isolate); // Initialize the default values. -@@ -855,7 +855,7 @@ Maybe InitializeMainContextForSnapshot(Local context) { +@@ -836,7 +836,7 @@ Maybe InitializeMainContextForSnapshot(Local context) { MaybeLocal InitializePrivateSymbols(Local context, IsolateData* isolate_data) { CHECK(isolate_data); @@ -54,7 +54,7 @@ index 451796ffc4ec93b6e317dd49d92070c61aca04e5..ea3e9374c30be92ba5668e33773ffbb2 EscapableHandleScope scope(isolate); Context::Scope context_scope(context); -@@ -879,7 +879,7 @@ MaybeLocal InitializePrivateSymbols(Local context, +@@ -860,7 +860,7 @@ MaybeLocal InitializePrivateSymbols(Local context, MaybeLocal InitializePerIsolateSymbols(Local context, IsolateData* isolate_data) { CHECK(isolate_data); @@ -63,7 +63,7 @@ index 451796ffc4ec93b6e317dd49d92070c61aca04e5..ea3e9374c30be92ba5668e33773ffbb2 EscapableHandleScope scope(isolate); Context::Scope context_scope(context); -@@ -905,7 +905,7 @@ MaybeLocal InitializePerIsolateSymbols(Local context, +@@ -886,7 +886,7 @@ MaybeLocal InitializePerIsolateSymbols(Local context, Maybe InitializePrimordials(Local context, IsolateData* isolate_data) { // Run per-context JS files. @@ -85,7 +85,7 @@ index cc60ddddb037e0279615bbe24821eb20fd8da677..37d83e41b618a07aca98118260abe961 return handle; diff --git a/src/crypto/crypto_context.cc b/src/crypto/crypto_context.cc -index 20d3c1d9d17fde18fc09b6ee219137831eb08a45..8fbf4f25a91b953f3d2868889c7ee06932ee3c5f 100644 +index f3631d538a38dc3a93a47707ea8dab0462fa2140..12ad6e6ddbda2cc679e733f7a9c6b9e4cf9623dd 100644 --- a/src/crypto/crypto_context.cc +++ b/src/crypto/crypto_context.cc @@ -1022,7 +1022,7 @@ bool ArrayOfStringsToX509s(Local context, @@ -133,10 +133,10 @@ index 266f640fb1c6503a424e77cc41fc15bc658bb6a5..877ae8a18f6b8f2c7e3474dfba060d99 // Recreate the buffer in the constructor. InternalFieldInfo* casted_info = static_cast(info); diff --git a/src/env.cc b/src/env.cc -index a78817467518245c4a190e870e0eb30658eafcdb..13dcf0e9c2c86486d1e43763033f43ac4e6b6feb 100644 +index b5cf58cc953590493beb52abf249e33e486ffc46..347ec5c42e098186ff489dff199ac5989961f6e3 100644 --- a/src/env.cc +++ b/src/env.cc -@@ -1753,10 +1753,10 @@ void AsyncHooks::Deserialize(Local context) { +@@ -1765,10 +1765,10 @@ void AsyncHooks::Deserialize(Local context) { context->GetDataFromSnapshotOnce( info_->js_execution_async_resources).ToLocalChecked(); } else { @@ -149,7 +149,7 @@ index a78817467518245c4a190e870e0eb30658eafcdb..13dcf0e9c2c86486d1e43763033f43ac // The native_execution_async_resources_ field requires v8::Local<> instances // for async calls whose resources were on the stack as JS objects when they -@@ -1796,7 +1796,7 @@ AsyncHooks::SerializeInfo AsyncHooks::Serialize(Local context, +@@ -1808,7 +1808,7 @@ AsyncHooks::SerializeInfo AsyncHooks::Serialize(Local context, info.async_id_fields = async_id_fields_.Serialize(context, creator); if (!js_execution_async_resources_.IsEmpty()) { info.js_execution_async_resources = creator->AddData( @@ -295,7 +295,7 @@ index 27aeac589b19cd681923fb848ce5f36c66fc05e2..5f2900869763f40cac54e3cb3fe2e24e module_api_version(module_api_version) { napi_clear_last_error(this); diff --git a/src/module_wrap.cc b/src/module_wrap.cc -index fa2f28989be19e8ea8f53b990ae96be92ef3c3a3..c26d1301d7b81a6c281d5465bfb29a5786b09dc2 100644 +index 52483740bb377a2bc2a16af701615d9a4e448eae..84d17a46efe146c1794a43963c41a4461eacfca2 100644 --- a/src/module_wrap.cc +++ b/src/module_wrap.cc @@ -99,7 +99,7 @@ ModuleCacheKey ModuleCacheKey::From(Local context, @@ -307,7 +307,7 @@ index fa2f28989be19e8ea8f53b990ae96be92ef3c3a3..c26d1301d7b81a6c281d5465bfb29a57 std::size_t h1 = specifier->GetIdentityHash(); size_t num_attributes = import_attributes->Length() / elements_per_attribute; ImportAttributeVector attributes; -@@ -1023,7 +1023,7 @@ MaybeLocal ModuleWrap::ResolveModuleCallback( +@@ -1022,7 +1022,7 @@ MaybeLocal ModuleWrap::ResolveModuleCallback( return {}; } DCHECK_NOT_NULL(resolved_module); @@ -316,16 +316,16 @@ index fa2f28989be19e8ea8f53b990ae96be92ef3c3a3..c26d1301d7b81a6c281d5465bfb29a57 } // static -@@ -1047,7 +1047,7 @@ MaybeLocal ModuleWrap::ResolveSourceCallback( - Local url = resolved_module->object() - ->GetInternalField(ModuleWrap::kURLSlot) - .As(); -- THROW_ERR_SOURCE_PHASE_NOT_DEFINED(context->GetIsolate(), url); -+ THROW_ERR_SOURCE_PHASE_NOT_DEFINED(Isolate::GetCurrent(), url); +@@ -1043,7 +1043,7 @@ MaybeLocal ModuleWrap::ResolveSourceCallback( + ->GetInternalField(ModuleWrap::kModuleSourceObjectSlot) + .As(); + if (module_source_object->IsUndefined()) { +- THROW_ERR_SOURCE_PHASE_NOT_DEFINED(context->GetIsolate(), ++ THROW_ERR_SOURCE_PHASE_NOT_DEFINED(Isolate::GetCurrent(), + resolved_module->url_); return {}; } - CHECK(module_source_object->IsObject()); -@@ -1060,7 +1060,7 @@ Maybe ModuleWrap::ResolveModule( +@@ -1057,7 +1057,7 @@ Maybe ModuleWrap::ResolveModule( Local specifier, Local import_attributes, Local referrer) { @@ -334,7 +334,7 @@ index fa2f28989be19e8ea8f53b990ae96be92ef3c3a3..c26d1301d7b81a6c281d5465bfb29a57 Environment* env = Environment::GetCurrent(context); if (env == nullptr) { THROW_ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE(isolate); -@@ -1105,7 +1105,7 @@ MaybeLocal ImportModuleDynamicallyWithPhase( +@@ -1106,7 +1106,7 @@ MaybeLocal ImportModuleDynamicallyWithPhase( Local specifier, ModuleImportPhase phase, Local import_attributes) { @@ -343,7 +343,7 @@ index fa2f28989be19e8ea8f53b990ae96be92ef3c3a3..c26d1301d7b81a6c281d5465bfb29a57 Environment* env = Environment::GetCurrent(context); if (env == nullptr) { THROW_ERR_EXECUTION_ENVIRONMENT_NOT_AVAILABLE(isolate); -@@ -1347,7 +1347,7 @@ MaybeLocal LinkRequireFacadeWithOriginal( +@@ -1348,7 +1348,7 @@ MaybeLocal LinkRequireFacadeWithOriginal( Local import_attributes, Local referrer) { Environment* env = Environment::GetCurrent(context); @@ -353,10 +353,10 @@ index fa2f28989be19e8ea8f53b990ae96be92ef3c3a3..c26d1301d7b81a6c281d5465bfb29a57 CHECK(!env->temporary_required_module_facade_original.IsEmpty()); return env->temporary_required_module_facade_original.Get(isolate); diff --git a/src/node.h b/src/node.h -index 84c121f13caa1472cef67113fbc7b7213e7af7e1..6a6f6f057f89ae72c680d19f4d478d421dede613 100644 +index 154fb15e6c8fe985e92378cc8471aa6a9d579b07..6252c41a14f4bd092cb424858be58d525b235625 100644 --- a/src/node.h +++ b/src/node.h -@@ -1064,7 +1064,7 @@ NODE_DEPRECATED("Use v8::Date::ValueOf() directly", +@@ -1063,7 +1063,7 @@ NODE_DEPRECATED("Use v8::Date::ValueOf() directly", #define NODE_DEFINE_CONSTANT(target, constant) \ do { \ @@ -365,7 +365,7 @@ index 84c121f13caa1472cef67113fbc7b7213e7af7e1..6a6f6f057f89ae72c680d19f4d478d42 v8::Local context = isolate->GetCurrentContext(); \ v8::Local constant_name = v8::String::NewFromUtf8Literal( \ isolate, #constant, v8::NewStringType::kInternalized); \ -@@ -1080,7 +1080,7 @@ NODE_DEPRECATED("Use v8::Date::ValueOf() directly", +@@ -1079,7 +1079,7 @@ NODE_DEPRECATED("Use v8::Date::ValueOf() directly", #define NODE_DEFINE_HIDDEN_CONSTANT(target, constant) \ do { \ @@ -502,10 +502,10 @@ index 6aad252eb5681bb9ab9890812602b43c418e7a7f..5f7ef8cc58f589ba30a44abaaaaaf151 Local keys; if (!entries->GetOwnPropertyNames(context).ToLocal(&keys)) diff --git a/src/node_errors.cc b/src/node_errors.cc -index 15d78e3eca9693dc518ccb28fc7c02fa1372f34b..9286d20c19a1e06001ca4b60981291d320858064 100644 +index 55a0c986c5b6989ee9ce277bb6a9778abb2ad2ee..809d88f21e5572807e38132d40ee75870ab8de07 100644 --- a/src/node_errors.cc +++ b/src/node_errors.cc -@@ -633,7 +633,7 @@ v8::ModifyCodeGenerationFromStringsResult ModifyCodeGenerationFromStrings( +@@ -631,7 +631,7 @@ v8::ModifyCodeGenerationFromStringsResult ModifyCodeGenerationFromStrings( v8::Local context, v8::Local source, bool is_code_like) { @@ -514,7 +514,7 @@ index 15d78e3eca9693dc518ccb28fc7c02fa1372f34b..9286d20c19a1e06001ca4b60981291d3 if (context->GetNumberOfEmbedderDataFields() <= ContextEmbedderIndex::kAllowCodeGenerationFromStrings) { -@@ -1000,7 +1000,7 @@ const char* errno_string(int errorno) { +@@ -1037,7 +1037,7 @@ const char* errno_string(int errorno) { } void PerIsolateMessageListener(Local message, Local error) { @@ -523,7 +523,7 @@ index 15d78e3eca9693dc518ccb28fc7c02fa1372f34b..9286d20c19a1e06001ca4b60981291d3 switch (message->ErrorLevel()) { case Isolate::MessageErrorLevel::kMessageWarning: { Environment* env = Environment::GetCurrent(isolate); -@@ -1160,7 +1160,7 @@ void Initialize(Local target, +@@ -1197,7 +1197,7 @@ void Initialize(Local target, SetMethod( context, target, "getErrorSourcePositions", GetErrorSourcePositions); @@ -533,10 +533,10 @@ index 15d78e3eca9693dc518ccb28fc7c02fa1372f34b..9286d20c19a1e06001ca4b60981291d3 READONLY_PROPERTY(target, "exitCodes", exit_codes); diff --git a/src/node_file.cc b/src/node_file.cc -index d73dac2ee3f1cf1cac6845fae0f702c9fba8fcef..969e7d08086f8442bed476feaf15599b8c79db7c 100644 +index 7dfb7a486040e0188eb53ee7a65f91a99e713a3a..c364f2a4f6dd6ec066b00f364108383154be12ec 100644 --- a/src/node_file.cc +++ b/src/node_file.cc -@@ -3874,7 +3874,7 @@ void BindingData::Deserialize(Local context, +@@ -3834,7 +3834,7 @@ void BindingData::Deserialize(Local context, int index, InternalFieldInfoBase* info) { DCHECK_IS_SNAPSHOT_SLOT(index); @@ -586,7 +586,7 @@ index 57e068ae249d618c2658638f9f3b03e1fedb6524..8c51ae4e0a435971c6d0288af8781087 data_.Reset(); return ret; diff --git a/src/node_modules.cc b/src/node_modules.cc -index 6b1a9e257b0ce52820838f88c44ec546068fe419..5355f2f96e9c9f6548ae43fd38b0d89a825e6b60 100644 +index d3907c3d063c7757cdd7ef99ed09bea1eb58a3fd..df9925404e77ec61900f89a5241c86a599e548c5 100644 --- a/src/node_modules.cc +++ b/src/node_modules.cc @@ -70,7 +70,7 @@ void BindingData::Deserialize(v8::Local context, @@ -634,7 +634,7 @@ index 2a5fe9fe501d1fd9356eeb7d044a872fa5a55f38..39f6f142044c42904d234da20a266315 env->AssignToContext(context, this, ContextInfo("")); // The environment can also purge empty wrappers in the check callback, diff --git a/src/node_report.cc b/src/node_report.cc -index 139e2ae3f2de1f1e28876bdc5332f68ea392484e..d479ada5bf0776fac52cd43c952a7f418ebc0679 100644 +index ba2dd7e676bfdfe7da66a4a79db3c791a505c9a8..28e6cfac682e301b605c00c4ef2eaf01431f04e4 100644 --- a/src/node_report.cc +++ b/src/node_report.cc @@ -400,7 +400,7 @@ static void PrintJavaScriptErrorProperties(JSONWriter* writer, @@ -660,10 +660,10 @@ index c2e24b4645e7903e08c80aead1c18c7bcff1bd89..e34d24d51d5c090b560d06f727043f20 // Recreate the buffer in the constructor. InternalFieldInfo* casted_info = static_cast(info); diff --git a/src/node_sqlite.cc b/src/node_sqlite.cc -index 8b0bd18e6d9434aba4dd1a02beb0d8a2347c851c..1cab6dde9df945eb82ae59908711cfb75bd8993f 100644 +index 955b76cbc71d0cd3a1cc01c3c0dea0536a792dc0..0b111ce1fb1d59cad019ba13bbfc513f157d3f06 100644 --- a/src/node_sqlite.cc +++ b/src/node_sqlite.cc -@@ -2018,7 +2018,7 @@ bool StatementSync::BindParams(const FunctionCallbackInfo& args) { +@@ -2061,7 +2061,7 @@ bool StatementSync::BindParams(const FunctionCallbackInfo& args) { if (args[0]->IsObject() && !args[0]->IsArrayBufferView()) { Local obj = args[0].As(); @@ -699,10 +699,10 @@ index 9d1e8ec05161570db11f7b662395509774668d78..9b91f83d879ea02fd3d61913c8dfd35b BindingData* binding = realm->AddBindingData(holder); CHECK_NOT_NULL(binding); diff --git a/src/node_v8.cc b/src/node_v8.cc -index 5cf30e8094b0014e12fa26d95d19a2d0e6f0ff56..13a4cbb11ad59e761f686c67f7a550d002b8e45c 100644 +index 8dd32dad262679444c10878299eb6bb8fb04e120..935ea2cf5157c3a2fbdf142fc7024ec6b6d5de26 100644 --- a/src/node_v8.cc +++ b/src/node_v8.cc -@@ -158,7 +158,7 @@ void BindingData::Deserialize(Local context, +@@ -163,7 +163,7 @@ void BindingData::Deserialize(Local context, int index, InternalFieldInfoBase* info) { DCHECK_IS_SNAPSHOT_SLOT(index); @@ -784,7 +784,7 @@ index da4206187f7c7d2becb8a101c1ff5346a10e13f4..03f0910926f3d403121e227cee32a546 // Recreate the buffer in the constructor. BindingData* binding = realm->AddBindingData(holder); diff --git a/src/util-inl.h b/src/util-inl.h -index 5699d76fdfee4b260aa23929f1fb678389ad99e7..d07bceb425f00882db116975a92f4835d7c2cf3b 100644 +index aae5956742f195279ab6af04029d76dee6af2e84..6898e8ea794675e903e13e2b45524d572a3f68bb 100644 --- a/src/util-inl.h +++ b/src/util-inl.h @@ -336,14 +336,14 @@ v8::Maybe FromV8Array(v8::Local context, @@ -876,7 +876,7 @@ index 5699d76fdfee4b260aa23929f1fb678389ad99e7..d07bceb425f00882db116975a92f4835 v8::EscapableHandleScope handle_scope(isolate); v8::LocalVector elements(isolate); -@@ -751,7 +751,7 @@ inline v8::MaybeLocal NewDictionaryInstanceNullProto( +@@ -803,7 +803,7 @@ inline v8::MaybeLocal NewDictionaryInstanceNullProto( if (value.IsEmpty()) return v8::MaybeLocal(); } v8::Local obj = tmpl->NewInstance(context, property_values); @@ -935,10 +935,10 @@ index 660cfff6b8a0c583be843e555e7a06cd09e0d279..c4b39450c5b7f91c46f7027db367c30d context, that, OneByteString(isolate, name), tmpl, flag); } diff --git a/src/util.h b/src/util.h -index 63479eb3f12685702a06c27db52183a585de0da9..1db426df35e4976427b578a2974041ec9e92cf4c 100644 +index 81d08c27fb7037d16e12843dc03c3d8f9caee723..52e6a149d6760640d93c56ce91a759ae9207a8c7 100644 --- a/src/util.h +++ b/src/util.h -@@ -751,7 +751,7 @@ inline v8::MaybeLocal ToV8Value( +@@ -753,7 +753,7 @@ inline v8::MaybeLocal ToV8Value( // Variation on NODE_DEFINE_CONSTANT that sets a String value. #define NODE_DEFINE_STRING_CONSTANT(target, name, constant) \ do { \ diff --git a/patches/node/build_enable_perfetto.patch b/patches/node/build_enable_perfetto.patch index 8cabd3a129..56b7a7fdcc 100644 --- a/patches/node/build_enable_perfetto.patch +++ b/patches/node/build_enable_perfetto.patch @@ -33,7 +33,7 @@ index 8d7204f6cb48f783adc4d1c1eb2de0c83b7fffe2..a154559a56bf383d3c26af523c9bb07b // Non-alphabetic chars. diff --git a/lib/internal/http.js b/lib/internal/http.js -index 9bf929f7f3360f13058d3f446c18a36cd15bea58..abf9a06d891488288bccd98c437746c1ce48bf83 100644 +index e664663348adc7bb31f7c9ec78481bbeb71401d9..62b659beb766b8256b214447af376f438278b058 100644 --- a/lib/internal/http.js +++ b/lib/internal/http.js @@ -11,8 +11,8 @@ const { @@ -64,7 +64,7 @@ index 9bf929f7f3360f13058d3f446c18a36cd15bea58..abf9a06d891488288bccd98c437746c1 function ipToInt(ip) { diff --git a/node.gyp b/node.gyp -index a598de39f13e7069e75484463fb096b771fa45fb..975f3897dd1ce1074626925b9fbf22f15632a0b1 100644 +index c3917f805464669c709bef83b9982ef95d0fbaa1..56e11cde31897260bf41db3f32f5c6d6fbd6d5bf 100644 --- a/node.gyp +++ b/node.gyp @@ -176,7 +176,6 @@ diff --git a/patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch b/patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch index f266372ce4..1020e9f6aa 100644 --- a/patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch +++ b/patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch @@ -7,7 +7,7 @@ Subject: build: ensure native module compilation fails if not using a new This should not be upstreamed, it is a quality-of-life patch for downstream module builders. diff --git a/common.gypi b/common.gypi -index 088e7ebbfe07d273691c86c7ab2dce00fcb475c8..a3f7415dba63828bec94ac8503420f14e3fea14c 100644 +index 8280cff0d93d42a95875b78de84221aa1bcae092..76a03b9a5458f4afc0ab5768c8a2e90633749fe9 100644 --- a/common.gypi +++ b/common.gypi @@ -89,6 +89,8 @@ @@ -54,7 +54,7 @@ index e063f9131d4d547d231811dafea03c8c52b611e6..a5c764d9e7fb0ffa219202015ec67ed6 o['variables']['v8_enable_javascript_promise_hooks'] = 1 o['variables']['v8_enable_lite_mode'] = 1 if options.v8_lite_mode else 0 diff --git a/src/node.h b/src/node.h -index 27f5bb1571920c963e05644a5fc5858aa4b88288..9c624e4ef26c1b06a6c4bca7def245935189ce07 100644 +index be22ad370217a13aef2479d478a6373feaf6f208..19c34a430d095c06ccf5a988db91311d420a485a 100644 --- a/src/node.h +++ b/src/node.h @@ -22,6 +22,12 @@ diff --git a/patches/node/build_restore_clang_as_default_compiler_on_macos.patch b/patches/node/build_restore_clang_as_default_compiler_on_macos.patch index 013c4508da..d5c1291a62 100644 --- a/patches/node/build_restore_clang_as_default_compiler_on_macos.patch +++ b/patches/node/build_restore_clang_as_default_compiler_on_macos.patch @@ -11,7 +11,7 @@ node-gyp will use the result of `process.config` that reflects the environment in which the binary got built. diff --git a/common.gypi b/common.gypi -index a3f7415dba63828bec94ac8503420f14e3fea14c..c08f65b0448806c613b27eb91f9dd512adab938c 100644 +index 76a03b9a5458f4afc0ab5768c8a2e90633749fe9..bdadbdaa607b2f668749fc484271de8d126bbd17 100644 --- a/common.gypi +++ b/common.gypi @@ -128,6 +128,7 @@ diff --git a/patches/node/build_restore_macos_deployment_target_to_12_0.patch b/patches/node/build_restore_macos_deployment_target_to_12_0.patch index c6867efc2e..4cfa72e7f8 100644 --- a/patches/node/build_restore_macos_deployment_target_to_12_0.patch +++ b/patches/node/build_restore_macos_deployment_target_to_12_0.patch @@ -10,7 +10,7 @@ M151, and so we should allow for building until then. This patch can be removed at the M151 branch point. diff --git a/common.gypi b/common.gypi -index c08f65b0448806c613b27eb91f9dd512adab938c..58ae004bc3e9cc6fa36330bb7bfd67bb8e46336c 100644 +index bdadbdaa607b2f668749fc484271de8d126bbd17..8df2802191b7fe6ae14edbd85cb3a5d16eb5a76a 100644 --- a/common.gypi +++ b/common.gypi @@ -677,7 +677,7 @@ diff --git a/patches/node/chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch b/patches/node/chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch index 1973d46f32..15ed9010f8 100644 --- a/patches/node/chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch +++ b/patches/node/chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch @@ -8,7 +8,7 @@ they use themselves as the entry point. We should try to upstream some form of this. diff --git a/lib/internal/process/pre_execution.js b/lib/internal/process/pre_execution.js -index 6585c52e4bd997b20d5a297c536844dea1b8fdc8..fd0a81f5216d8bcf662c7e8bb972ed789eda8645 100644 +index 8ed8802adcda308166d700e463c8d6cbcb26d94a..9a99ff6d44320c0e28f4a787d24ea98ae1c96196 100644 --- a/lib/internal/process/pre_execution.js +++ b/lib/internal/process/pre_execution.js @@ -276,12 +276,14 @@ function patchProcessObject(expandArgv1) { diff --git a/patches/node/chore_disable_deprecation_ftbfs_in_simdjson_header.patch b/patches/node/chore_disable_deprecation_ftbfs_in_simdjson_header.patch index 12f77104a8..f49f9814d0 100644 --- a/patches/node/chore_disable_deprecation_ftbfs_in_simdjson_header.patch +++ b/patches/node/chore_disable_deprecation_ftbfs_in_simdjson_header.patch @@ -14,10 +14,10 @@ and This patch can be removed once this is fixed upstream in simdjson. diff --git a/deps/simdjson/simdjson.h b/deps/simdjson/simdjson.h -index a8bd86b28acc16cb04c193a1afbeb8171b314107..e200835e3ae6042f5af62f7ea3e082c677a9d0cf 100644 +index 35ff2626f26735495e308381782e5f1d9b8a629e..b4aa4bce33d62c579beee745712d24d9ebd5e0c2 100644 --- a/deps/simdjson/simdjson.h +++ b/deps/simdjson/simdjson.h -@@ -4160,12 +4160,17 @@ inline std::ostream& operator<<(std::ostream& out, simdjson_result padded_string::load(std::string_view filen +@@ -4636,6 +4641,9 @@ inline simdjson_result padded_string::load(std::string_view filen } // namespace simdjson @@ -45,7 +45,7 @@ index a8bd86b28acc16cb04c193a1afbeb8171b314107..e200835e3ae6042f5af62f7ea3e082c6 inline simdjson::padded_string operator ""_padded(const char *str, size_t len) { return simdjson::padded_string(str, len); } -@@ -4625,6 +4633,8 @@ inline simdjson::padded_string operator ""_padded(const char8_t *str, size_t len +@@ -4644,6 +4652,8 @@ inline simdjson::padded_string operator ""_padded(const char8_t *str, size_t len return simdjson::padded_string(reinterpret_cast(str), len); } #endif @@ -54,7 +54,7 @@ index a8bd86b28acc16cb04c193a1afbeb8171b314107..e200835e3ae6042f5af62f7ea3e082c6 #endif // SIMDJSON_PADDED_STRING_INL_H /* end file simdjson/padded_string-inl.h */ /* skipped duplicate #include "simdjson/padded_string_view.h" */ -@@ -43655,12 +43665,16 @@ simdjson_inline simdjson_warn_unused std::unique_ptr& parser:: +@@ -43674,12 +43684,16 @@ simdjson_inline simdjson_warn_unused std::unique_ptr& parser:: return parser_instance; } @@ -71,7 +71,7 @@ index a8bd86b28acc16cb04c193a1afbeb8171b314107..e200835e3ae6042f5af62f7ea3e082c6 } // namespace ondemand } // namespace arm64 -@@ -56961,12 +56975,16 @@ simdjson_inline simdjson_warn_unused std::unique_ptr& parser:: +@@ -57923,12 +57937,16 @@ simdjson_inline simdjson_warn_unused std::unique_ptr& parser:: return parser_instance; } diff --git a/patches/node/chore_expose_importmoduledynamically_and.patch b/patches/node/chore_expose_importmoduledynamically_and.patch index 53cc5334b6..d3ceb31fde 100644 --- a/patches/node/chore_expose_importmoduledynamically_and.patch +++ b/patches/node/chore_expose_importmoduledynamically_and.patch @@ -11,10 +11,10 @@ its own blended handler between Node and Blink. Not upstreamable. diff --git a/lib/internal/modules/esm/utils.js b/lib/internal/modules/esm/utils.js -index a9076a7ae941284d4585829292e2ece25c2b90e4..7335fe20f34fdd822276575686379dd954f1c8e1 100644 +index 0af25ebbf6c3f2b790238e32f01addfb648e4e52..bd726088f7480853b8507c39668cc4716c4ce61f 100644 --- a/lib/internal/modules/esm/utils.js +++ b/lib/internal/modules/esm/utils.js -@@ -34,7 +34,7 @@ const { +@@ -35,7 +35,7 @@ const { ERR_VM_DYNAMIC_IMPORT_CALLBACK_MISSING, ERR_INVALID_ARG_VALUE, } = require('internal/errors').codes; @@ -23,7 +23,7 @@ index a9076a7ae941284d4585829292e2ece25c2b90e4..7335fe20f34fdd822276575686379dd9 const { emitExperimentalWarning, kEmptyObject, -@@ -285,12 +285,13 @@ let _shouldSpawnLoaderHookWorker = true; +@@ -286,12 +286,13 @@ let _shouldSpawnLoaderHookWorker = true; * should be spawned later. */ function initializeESM(shouldSpawnLoaderHookWorker = true) { @@ -40,10 +40,10 @@ index a9076a7ae941284d4585829292e2ece25c2b90e4..7335fe20f34fdd822276575686379dd9 /** diff --git a/src/module_wrap.cc b/src/module_wrap.cc -index 26e6bcfa30be8b22b20e66ffe2f8d0b7d60fc6cc..fa2f28989be19e8ea8f53b990ae96be92ef3c3a3 100644 +index 5703590b5ee2a91a504cf8491716773fc4a302bd..52483740bb377a2bc2a16af701615d9a4e448eae 100644 --- a/src/module_wrap.cc +++ b/src/module_wrap.cc -@@ -1098,7 +1098,7 @@ Maybe ModuleWrap::ResolveModule( +@@ -1099,7 +1099,7 @@ Maybe ModuleWrap::ResolveModule( return Just(module_wrap); } @@ -52,7 +52,7 @@ index 26e6bcfa30be8b22b20e66ffe2f8d0b7d60fc6cc..fa2f28989be19e8ea8f53b990ae96be9 Local context, Local host_defined_options, Local resource_name, -@@ -1186,14 +1186,16 @@ void ModuleWrap::SetImportModuleDynamicallyCallback( +@@ -1187,14 +1187,16 @@ void ModuleWrap::SetImportModuleDynamicallyCallback( Realm* realm = Realm::GetCurrent(args); HandleScope handle_scope(isolate); @@ -72,7 +72,7 @@ index 26e6bcfa30be8b22b20e66ffe2f8d0b7d60fc6cc..fa2f28989be19e8ea8f53b990ae96be9 } void ModuleWrap::HostInitializeImportMetaObjectCallback( -@@ -1235,13 +1237,14 @@ void ModuleWrap::SetInitializeImportMetaObjectCallback( +@@ -1236,13 +1238,14 @@ void ModuleWrap::SetInitializeImportMetaObjectCallback( Realm* realm = Realm::GetCurrent(args); Isolate* isolate = realm->isolate(); @@ -91,7 +91,7 @@ index 26e6bcfa30be8b22b20e66ffe2f8d0b7d60fc6cc..fa2f28989be19e8ea8f53b990ae96be9 MaybeLocal ModuleWrap::SyntheticModuleEvaluationStepsCallback( diff --git a/src/module_wrap.h b/src/module_wrap.h -index 03cf8d0e91d795aad6db9b11956d296ff4999f7e..45264c2ad58e37a73fd62addac7fb671eed6d502 100644 +index d81facabf8d80e967c5bff2bbd3a1ce9dd79cc76..93d47c7573da7e5824e9bc391dd1c2f5f2588822 100644 --- a/src/module_wrap.h +++ b/src/module_wrap.h @@ -8,6 +8,7 @@ @@ -119,7 +119,7 @@ index 03cf8d0e91d795aad6db9b11956d296ff4999f7e..45264c2ad58e37a73fd62addac7fb671 using ResolveCache = std::unordered_map; -@@ -157,6 +166,8 @@ class ModuleWrap : public BaseObject { +@@ -156,6 +165,8 @@ class ModuleWrap : public BaseObject { static void CreateRequiredModuleFacade( const v8::FunctionCallbackInfo& args); @@ -128,7 +128,7 @@ index 03cf8d0e91d795aad6db9b11956d296ff4999f7e..45264c2ad58e37a73fd62addac7fb671 private: ModuleWrap(Realm* realm, v8::Local object, -@@ -205,7 +216,6 @@ class ModuleWrap : public BaseObject { +@@ -204,7 +215,6 @@ class ModuleWrap : public BaseObject { v8::Local specifier, v8::Local import_attributes, v8::Local referrer); diff --git a/patches/node/expose_get_builtin_module_function.patch b/patches/node/expose_get_builtin_module_function.patch index eb7db1059f..c5c4d3694f 100644 --- a/patches/node/expose_get_builtin_module_function.patch +++ b/patches/node/expose_get_builtin_module_function.patch @@ -24,10 +24,10 @@ index 5bd07e5253ae64b02ae1874226ab70c1972cf9e0..768d81a63a42d9016a42b7cdce7b6be8 Environment* env = Environment::GetCurrent(args); diff --git a/src/node_binding.h b/src/node_binding.h -index 813204dc473960e63896b6d3609a882b52ac59fa..2fe91a28460973b543f5dde7a78fdedb05ac98b3 100644 +index a55a9c6a5787983c0477cb268ef1355162e72911..3455eb3d223a49cd73d80c72c209c26d49b769dc 100644 --- a/src/node_binding.h +++ b/src/node_binding.h -@@ -155,6 +155,8 @@ void GetInternalBinding(const v8::FunctionCallbackInfo& args); +@@ -154,6 +154,8 @@ void GetInternalBinding(const v8::FunctionCallbackInfo& args); void GetLinkedBinding(const v8::FunctionCallbackInfo& args); void DLOpen(const v8::FunctionCallbackInfo& args); diff --git a/patches/node/fix_add_default_values_for_variables_in_common_gypi.patch b/patches/node/fix_add_default_values_for_variables_in_common_gypi.patch index 57f917d104..e526d855c7 100644 --- a/patches/node/fix_add_default_values_for_variables_in_common_gypi.patch +++ b/patches/node/fix_add_default_values_for_variables_in_common_gypi.patch @@ -7,7 +7,7 @@ common.gypi is a file that's included in the node header bundle, despite the fact that we do not build node with gyp. diff --git a/common.gypi b/common.gypi -index 60585d136f7ee103ac49ce0271e24561a2685a0a..088e7ebbfe07d273691c86c7ab2dce00fcb475c8 100644 +index db1625378697d9e6d7685d57acbdc212e8f25ec0..8280cff0d93d42a95875b78de84221aa1bcae092 100644 --- a/common.gypi +++ b/common.gypi @@ -91,6 +91,23 @@ diff --git a/patches/node/fix_allow_disabling_fetch_in_renderer_and_worker_processes.patch b/patches/node/fix_allow_disabling_fetch_in_renderer_and_worker_processes.patch index 97d036c07c..0dec5dbc9d 100644 --- a/patches/node/fix_allow_disabling_fetch_in_renderer_and_worker_processes.patch +++ b/patches/node/fix_allow_disabling_fetch_in_renderer_and_worker_processes.patch @@ -9,10 +9,10 @@ conflict with Blink's in renderer and worker processes. We should try to upstream some version of this. diff --git a/doc/api/cli.md b/doc/api/cli.md -index 38c66ec426205c07925e4d634e877a8cbb47b255..9b9a5455b9d597bb4009074c922d2c7c5aa975f1 100644 +index 667603438cc41701820d6aaa734d21ac35bcc8d1..6611face009797f9d540be4478df80d05888893a 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md -@@ -1770,6 +1770,14 @@ changes: +@@ -1798,6 +1798,14 @@ changes: Disable using [syntax detection][] to determine module type. @@ -27,7 +27,7 @@ index 38c66ec426205c07925e4d634e877a8cbb47b255..9b9a5455b9d597bb4009074c922d2c7c ### `--no-experimental-global-navigator`