Skip to content

Commit c5f4a6c

Browse files
chore: bump node to v20.18.3 (33-x-y) (#45299)
* chore: bump node in DEPS to v20.18.2 * chore: bump node in DEPS to v20.18.3 * src: fix outdated js2c.cc references nodejs/node#56133 * lib: remove startsWith/endsWith primordials for char checks nodejs/node#55407 * test,crypto: make crypto tests work with BoringSSL nodejs/node#55491 * fix: potential WIN32_LEAN_AND_MEAN redefinition c-ares/c-ares#869 * deps: update c-ares to v1.34.1 nodejs/node#55369 * chore fixup patch indices * chore: fix bssl test conditiojnal --------- Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
1 parent cea9ebb commit c5f4a6c

21 files changed

+114
-267
lines changed

DEPS

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ vars = {
44
'chromium_version':
55
'130.0.6723.191',
66
'node_version':
7-
'v20.18.1',
7+
'v20.18.3',
88
'nan_version':
99
'e14bdcd1f72d62bca1d541b66da43130384ec213',
1010
'squirrel.mac_version':

patches/node/.patches

-1
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ test_update_v8-stats_test_for_v8_12_6.patch
4848
src_do_not_use_soon-to-be-deprecated_v8_api.patch
4949
fix_add_property_query_interceptors.patch
5050
src_stop_using_deprecated_fields_of_fastapicallbackoptions.patch
51-
build_don_t_redefine_win32_lean_and_mean.patch
5251
src_use_supported_api_to_get_stalled_tla_messages.patch
5352
build_compile_with_c_20_support.patch
5453
add_v8_taskpirority_to_foreground_task_runner_signature.patch

patches/node/build_add_gn_build_files.patch

+57-57
Original file line numberDiff line numberDiff line change
@@ -537,17 +537,21 @@ index 0e69d7383762f6b81c5b57698aa9d121d5a9c401..35bbeb37acc7ccb14b4b8a644ec3d4c7
537537
cflags_c = [
538538
"-mavx512vl",
539539
diff --git a/deps/cares/BUILD.gn b/deps/cares/BUILD.gn
540-
index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..7f4885631a85a25692e8969991951be02e5d73f1 100644
540+
index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..ef745c19f2b1cd433cc43c834a18db7eaa8e5162 100644
541541
--- a/deps/cares/BUILD.gn
542542
+++ b/deps/cares/BUILD.gn
543-
@@ -1,14 +1,175 @@
543+
@@ -1,14 +1,188 @@
544544
-##############################################################################
545545
-# #
546546
-# DO NOT EDIT THIS FILE! #
547547
-# #
548548
-##############################################################################
549549
+config("cares_config") {
550-
+ include_dirs = [ "include", "src/lib" ]
550+
+ include_dirs = [
551+
+ "include",
552+
+ "src/lib",
553+
+ "src/lib/include",
554+
+ ]
551555
+}
552556
+static_library("cares") {
553557
+ defines = [ "CARES_STATICLIB" ]
@@ -563,20 +567,19 @@ index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..7f4885631a85a25692e8969991951be0
563567
+
564568
+ sources = [
565569
+ "include/ares.h",
570+
+ "include/ares_build.h",
566571
+ "include/ares_dns.h",
567572
+ "include/ares_dns_record.h",
568573
+ "include/ares_nameser.h",
569574
+ "include/ares_version.h",
570-
+ "src/lib/ares__addrinfo2hostent.c",
571-
+ "src/lib/ares__addrinfo_localhost.c",
572-
+ "src/lib/ares__close_sockets.c",
573-
+ "src/lib/ares__hosts_file.c",
574-
+ "src/lib/ares__parse_into_addrinfo.c",
575-
+ "src/lib/ares__socket.c",
576-
+ "src/lib/ares__sortaddrinfo.c",
575+
+ "src/lib/ares_addrinfo2hostent.c",
576+
+ "src/lib/ares_addrinfo_localhost.c",
577577
+ "src/lib/ares_android.c",
578578
+ "src/lib/ares_android.h",
579579
+ "src/lib/ares_cancel.c",
580+
+ "src/lib/ares_close_sockets.c",
581+
+ "src/lib/ares_conn.c",
582+
+ "src/lib/ares_conn.h",
580583
+ "src/lib/ares_cookie.c",
581584
+ "src/lib/ares_data.c",
582585
+ "src/lib/ares_data.h",
@@ -590,43 +593,43 @@ index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..7f4885631a85a25692e8969991951be0
590593
+ "src/lib/ares_gethostbyaddr.c",
591594
+ "src/lib/ares_gethostbyname.c",
592595
+ "src/lib/ares_getnameinfo.c",
596+
+ "src/lib/ares_hosts_file.c",
593597
+ "src/lib/ares_inet_net_pton.h",
594598
+ "src/lib/ares_init.c",
595599
+ "src/lib/ares_ipv6.h",
596600
+ "src/lib/ares_library_init.c",
597601
+ "src/lib/ares_metrics.c",
598602
+ "src/lib/ares_options.c",
599-
+ "src/lib/ares_platform.c",
600-
+ "src/lib/ares_platform.h",
603+
+ "src/lib/ares_parse_into_addrinfo.c",
601604
+ "src/lib/ares_private.h",
602605
+ "src/lib/ares_process.c",
603606
+ "src/lib/ares_qcache.c",
604607
+ "src/lib/ares_query.c",
605608
+ "src/lib/ares_search.c",
606609
+ "src/lib/ares_send.c",
610+
+ "src/lib/ares_set_socket_functions.c",
607611
+ "src/lib/ares_setup.h",
612+
+ "src/lib/ares_socket.c",
613+
+ "src/lib/ares_socket.h",
614+
+ "src/lib/ares_sortaddrinfo.c",
608615
+ "src/lib/ares_strerror.c",
609616
+ "src/lib/ares_sysconfig.c",
610617
+ "src/lib/ares_sysconfig_files.c",
611618
+ "src/lib/ares_timeout.c",
612619
+ "src/lib/ares_update_servers.c",
613620
+ "src/lib/ares_version.c",
614-
+ "src/lib/dsa/ares__array.c",
615-
+ "src/lib/dsa/ares__array.h",
616-
+ "src/lib/dsa/ares__htable.c",
617-
+ "src/lib/dsa/ares__htable.h",
618-
+ "src/lib/dsa/ares__htable_asvp.c",
619-
+ "src/lib/dsa/ares__htable_asvp.h",
620-
+ "src/lib/dsa/ares__htable_strvp.c",
621-
+ "src/lib/dsa/ares__htable_strvp.h",
622-
+ "src/lib/dsa/ares__htable_szvp.c",
623-
+ "src/lib/dsa/ares__htable_szvp.h",
624-
+ "src/lib/dsa/ares__htable_vpvp.c",
625-
+ "src/lib/dsa/ares__htable_vpvp.h",
626-
+ "src/lib/dsa/ares__llist.c",
627-
+ "src/lib/dsa/ares__llist.h",
628-
+ "src/lib/dsa/ares__slist.c",
629-
+ "src/lib/dsa/ares__slist.h",
621+
+ "src/lib/dsa/ares_array.c",
622+
+ "src/lib/dsa/ares_htable.c",
623+
+ "src/lib/dsa/ares_htable.h",
624+
+ "src/lib/dsa/ares_htable_asvp.c",
625+
+ "src/lib/dsa/ares_htable_dict.c",
626+
+ "src/lib/dsa/ares_htable_strvp.c",
627+
+ "src/lib/dsa/ares_htable_szvp.c",
628+
+ "src/lib/dsa/ares_htable_vpstr.c",
629+
+ "src/lib/dsa/ares_htable_vpvp.c",
630+
+ "src/lib/dsa/ares_llist.c",
631+
+ "src/lib/dsa/ares_slist.c",
632+
+ "src/lib/dsa/ares_slist.h",
630633
+ "src/lib/event/ares_event.h",
631634
+ "src/lib/event/ares_event_configchg.c",
632635
+ "src/lib/event/ares_event_epoll.c",
@@ -637,6 +640,17 @@ index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..7f4885631a85a25692e8969991951be0
637640
+ "src/lib/event/ares_event_wake_pipe.c",
638641
+ "src/lib/event/ares_event_win32.c",
639642
+ "src/lib/event/ares_event_win32.h",
643+
+ "src/lib/include/ares_array.h",
644+
+ "src/lib/include/ares_buf.h",
645+
+ "src/lib/include/ares_htable_asvp.h",
646+
+ "src/lib/include/ares_htable_dict.h",
647+
+ "src/lib/include/ares_htable_strvp.h",
648+
+ "src/lib/include/ares_htable_szvp.h",
649+
+ "src/lib/include/ares_htable_vpstr.h",
650+
+ "src/lib/include/ares_htable_vpvp.h",
651+
+ "src/lib/include/ares_llist.h",
652+
+ "src/lib/include/ares_mem.h",
653+
+ "src/lib/include/ares_str.h",
640654
+ "src/lib/inet_net_pton.c",
641655
+ "src/lib/inet_ntop.c",
642656
+ "src/lib/legacy/ares_create_query.c",
@@ -663,23 +677,22 @@ index ac19ac73ed1e24c61cb679f3851685b79cfc8b39..7f4885631a85a25692e8969991951be0
663677
+ "src/lib/record/ares_dns_private.h",
664678
+ "src/lib/record/ares_dns_record.c",
665679
+ "src/lib/record/ares_dns_write.c",
666-
+ "src/lib/str/ares__buf.c",
667-
+ "src/lib/str/ares__buf.h",
680+
+ "src/lib/str/ares_buf.c",
668681
+ "src/lib/str/ares_str.c",
669-
+ "src/lib/str/ares_str.h",
670-
+ "src/lib/str/ares_strcasecmp.c",
671-
+ "src/lib/str/ares_strcasecmp.h",
672682
+ "src/lib/str/ares_strsplit.c",
673683
+ "src/lib/str/ares_strsplit.h",
674-
+ "src/lib/util/ares__iface_ips.c",
675-
+ "src/lib/util/ares__iface_ips.h",
676-
+ "src/lib/util/ares__threads.c",
677-
+ "src/lib/util/ares__threads.h",
678-
+ "src/lib/util/ares__timeval.c",
684+
+ "src/lib/util/ares_iface_ips.c",
685+
+ "src/lib/util/ares_iface_ips.h",
679686
+ "src/lib/util/ares_math.c",
687+
+ "src/lib/util/ares_math.h",
680688
+ "src/lib/util/ares_rand.c",
681-
+ "src/tools/ares_getopt.c",
682-
+ "src/tools/ares_getopt.h",
689+
+ "src/lib/util/ares_rand.h",
690+
+ "src/lib/util/ares_threads.c",
691+
+ "src/lib/util/ares_threads.h",
692+
+ "src/lib/util/ares_time.h",
693+
+ "src/lib/util/ares_timeval.c",
694+
+ "src/lib/util/ares_uri.c",
695+
+ "src/lib/util/ares_uri.h",
683696
+ ]
684697
+
685698
+ if (!is_win) {
@@ -2247,19 +2260,6 @@ index 706ea4f5cb90525c8ea56f794320a733c45a193f..c7ae7759595bfc7fdc31dab174a7514d
22472260
}
22482261

22492262
} // namespace builtins
2250-
diff --git a/src/node_builtins.h b/src/node_builtins.h
2251-
index 1cb85b9058d06555382e565dc32192a9fa48ed9f..cec9be01abd107e8612f70daf19b4834e118ffcf 100644
2252-
--- a/src/node_builtins.h
2253-
+++ b/src/node_builtins.h
2254-
@@ -74,6 +74,8 @@ using BuiltinCodeCacheMap =
2255-
// Generated by tools/js2c.py as node_javascript.cc
2256-
void RegisterExternalReferencesForInternalizedBuiltinCode(
2257-
ExternalReferenceRegistry* registry);
2258-
+void EmbedderRegisterExternalReferencesForInternalizedBuiltinCode(
2259-
+ ExternalReferenceRegistry* registry);
2260-
2261-
// Handles compilation and caching of built-in JavaScript modules and
2262-
// bootstrap scripts, whose source are bundled into the binary as static data.
22632263
diff --git a/tools/generate_gn_filenames_json.py b/tools/generate_gn_filenames_json.py
22642264
new file mode 100755
22652265
index 0000000000000000000000000000000000000000..37c16859003e61636fe2f1a4040b1e904c472d0b
@@ -2409,18 +2409,18 @@ index 0000000000000000000000000000000000000000..9be3ac447f9a4dde23fefc26e0b922b4
24092409
+ transformed_f.write(transformed_contents)
24102410
+
24112411
diff --git a/tools/install.py b/tools/install.py
2412-
index b132c7bf26c02886a7ab341a1973bf449744ba0f..757e3e60a7be01fac55c5fbb010dbbae00b1bfca 100755
2412+
index 2dceb5c39ea4a11034ce93899fa26dc406e0b5d0..a425de8ad7833f4d39c842fd896539c1f77468bc 100755
24132413
--- a/tools/install.py
24142414
+++ b/tools/install.py
2415-
@@ -264,6 +264,7 @@ def headers(options, action):
2415+
@@ -270,6 +270,7 @@ def headers(options, action):
24162416
'include/v8-forward.h',
24172417
'include/v8-function-callback.h',
24182418
'include/v8-function.h',
24192419
+ 'include/v8-handle-base.h',
24202420
'include/v8-initialization.h',
24212421
'include/v8-internal.h',
24222422
'include/v8-isolate.h',
2423-
@@ -284,6 +285,8 @@ def headers(options, action):
2423+
@@ -290,6 +291,8 @@ def headers(options, action):
24242424
'include/v8-promise.h',
24252425
'include/v8-proxy.h',
24262426
'include/v8-regexp.h',
@@ -2429,7 +2429,7 @@ index b132c7bf26c02886a7ab341a1973bf449744ba0f..757e3e60a7be01fac55c5fbb010dbbae
24292429
'include/v8-script.h',
24302430
'include/v8-snapshot.h',
24312431
'include/v8-statistics.h',
2432-
@@ -390,7 +393,7 @@ def parse_options(args):
2432+
@@ -396,7 +399,7 @@ def parse_options(args):
24332433
parser.add_argument('--build-dir', help='the location of built binaries',
24342434
default='out/Release')
24352435
parser.add_argument('--v8-dir', help='the location of V8',

patches/node/build_compile_with_c_20_support.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ V8 requires C++20 support as of https://chromium-review.googlesource.com/c/v8/v8
1010
This can be removed when Electron upgrades to a version of Node.js containing the required V8 version.
1111

1212
diff --git a/common.gypi b/common.gypi
13-
index bdf1a1f33f3ea09d933757c7fee87c563cc833ab..2eb62610db2f0ebf68fa9a55ffba98291ecfe451 100644
13+
index 690068f093f12b6831f8ccce41289d02d7047a7a..5a3df388773ad288553bf036be42dc1a0ba75c09 100644
1414
--- a/common.gypi
1515
+++ b/common.gypi
1616
@@ -305,7 +305,7 @@

patches/node/build_don_t_redefine_win32_lean_and_mean.patch

-36
This file was deleted.

patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch

+4-4
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Subject: build: ensure native module compilation fails if not using a new
77
This should not be upstreamed, it is a quality-of-life patch for downstream module builders.
88

99
diff --git a/common.gypi b/common.gypi
10-
index 697b8bba6a55358924d6986f2eb347a99ff73889..bdf1a1f33f3ea09d933757c7fee87c563cc833ab 100644
10+
index 776a6dcf3a729a65b367fb5b4c5685f841089eea..690068f093f12b6831f8ccce41289d02d7047a7a 100644
1111
--- a/common.gypi
1212
+++ b/common.gypi
1313
@@ -86,6 +86,8 @@
@@ -40,10 +40,10 @@ index 697b8bba6a55358924d6986f2eb347a99ff73889..bdf1a1f33f3ea09d933757c7fee87c56
4040
# list in v8/BUILD.gn.
4141
['v8_enable_v8_checks == 1', {
4242
diff --git a/configure.py b/configure.py
43-
index 0d089c35d1720e05c4c61d0226a2ebc276b65d6e..cf19b9d092698e1697508e8891926947bc2f7b12 100755
43+
index 0df90b176e9b5403efdb1393c0f2f37bb53dc6b2..ece665915ad4d6e02762ec3165cf7b987a87949d 100755
4444
--- a/configure.py
4545
+++ b/configure.py
46-
@@ -1585,6 +1585,7 @@ def configure_library(lib, output, pkgname=None):
46+
@@ -1595,6 +1595,7 @@ def configure_library(lib, output, pkgname=None):
4747

4848

4949
def configure_v8(o):
@@ -52,7 +52,7 @@ index 0d089c35d1720e05c4c61d0226a2ebc276b65d6e..cf19b9d092698e1697508e8891926947
5252
o['variables']['v8_enable_javascript_promise_hooks'] = 1
5353
o['variables']['v8_enable_lite_mode'] = 1 if options.v8_lite_mode else 0
5454
diff --git a/src/node.h b/src/node.h
55-
index 4f2eb9d0aab88b70c86339e750799080e980d7da..df3fb3372d6357b5d77b4f683e309b8483998128 100644
55+
index 7d9d9afd049237646f82c3e22f5e7a8af7314a84..a941d9987abcbb0f9db3072b8c896a5f328dd027 100644
5656
--- a/src/node.h
5757
+++ b/src/node.h
5858
@@ -22,6 +22,12 @@

patches/node/build_modify_js2c_py_to_allow_injection_of_original-fs_and_custom_embedder_js.patch

+12-3
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,21 @@ index c7ae7759595bfc7fdc31dab174a7514ddd8345e7..4bf80aa6cc6385dc376fd0a3538efc27
4646
AddExternalizedBuiltin(
4747
"internal/deps/cjs-module-lexer/lexer",
4848
diff --git a/src/node_builtins.h b/src/node_builtins.h
49-
index cec9be01abd107e8612f70daf19b4834e118ffcf..3d9c6b962423555257bad4ebaad9ebd821d00042 100644
49+
index a73de23a1debfdac66873e0baccf882e383bfc36..c3c987d535285be84026ad0c633650bd2067d22d 100644
5050
--- a/src/node_builtins.h
5151
+++ b/src/node_builtins.h
52-
@@ -138,6 +138,7 @@ class NODE_EXTERN_PRIVATE BuiltinLoader {
52+
@@ -74,6 +74,8 @@ using BuiltinCodeCacheMap =
53+
// Generated by tools/js2c.cc as node_javascript.cc
54+
void RegisterExternalReferencesForInternalizedBuiltinCode(
55+
ExternalReferenceRegistry* registry);
56+
+void EmbedderRegisterExternalReferencesForInternalizedBuiltinCode(
57+
+ ExternalReferenceRegistry* registry);
5358

54-
// Generated by tools/js2c.py as node_javascript.cc
59+
// Handles compilation and caching of built-in JavaScript modules and
60+
// bootstrap scripts, whose source are bundled into the binary as static data.
61+
@@ -136,6 +138,7 @@ class NODE_EXTERN_PRIVATE BuiltinLoader {
62+
63+
// Generated by tools/js2c.cc as node_javascript.cc
5564
void LoadJavaScriptSource(); // Loads data into source_
5665
+ void LoadEmbedderJavaScriptSource(); // Loads embedder data into source_
5766
UnionBytes GetConfig(); // Return data for config.gypi

patches/node/build_restore_clang_as_default_compiler_on_macos.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ node-gyp will use the result of `process.config` that reflects the environment
1111
in which the binary got built.
1212

1313
diff --git a/common.gypi b/common.gypi
14-
index 2eb62610db2f0ebf68fa9a55ffba98291ecfe451..3ec08ee144b586d05c4e49c2251416734cbc02c5 100644
14+
index 5a3df388773ad288553bf036be42dc1a0ba75c09..9bbf1b277eb17d78ca385643c3177638fd75866a 100644
1515
--- a/common.gypi
1616
+++ b/common.gypi
1717
@@ -125,6 +125,7 @@

patches/node/chore_allow_the_node_entrypoint_to_be_a_builtin_module.patch

+4-4
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,12 @@ index 364469160af5e348f8890417de16a63c0d1dca67..75d5f58fe02fa8cfa7716ffaf761d567
2626
try {
2727
resolvedArgv = Module._resolveFilename(process.argv[1], null, false);
2828
diff --git a/lib/internal/process/pre_execution.js b/lib/internal/process/pre_execution.js
29-
index a05d2846050c2f505eac16320f645e79182a27f6..348bb80ef7fae1e0e5f529b1313093eeadad9276 100644
29+
index 0bbabb80c26a1208860f6d32447c0ae53316f501..ba18bfa3cd17c2b8e977f53651ce2744b17a829f 100644
3030
--- a/lib/internal/process/pre_execution.js
3131
+++ b/lib/internal/process/pre_execution.js
32-
@@ -247,12 +247,14 @@ function patchProcessObject(expandArgv1) {
33-
if (expandArgv1 && process.argv[1] &&
34-
!StringPrototypeStartsWith(process.argv[1], '-')) {
32+
@@ -245,12 +245,14 @@ function patchProcessObject(expandArgv1) {
33+
// the entry point.
34+
if (expandArgv1 && process.argv[1] && process.argv[1][0] !== '-') {
3535
// Expand process.argv[1] into a full path.
3636
- const path = require('path');
3737
- try {

patches/node/fix_add_default_values_for_variables_in_common_gypi.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ common.gypi is a file that's included in the node header bundle, despite
77
the fact that we do not build node with gyp.
88

99
diff --git a/common.gypi b/common.gypi
10-
index 1ece4f5e494533ea0fa25e0d35143fe424dbf70b..697b8bba6a55358924d6986f2eb347a99ff73889 100644
10+
index 04852d81103ef83c5213464f543839dea6f0b181..776a6dcf3a729a65b367fb5b4c5685f841089eea 100644
1111
--- a/common.gypi
1212
+++ b/common.gypi
1313
@@ -88,6 +88,23 @@

patches/node/fix_assert_module_in_the_renderer_process.patch

+2-2
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ index b9098d102b40adad7fafcc331ac62870617019b9..cb9269a31e073caf86164aa39c064037
5858
}
5959

6060
diff --git a/src/node_options.cc b/src/node_options.cc
61-
index efbe48e10b8408642a6b5010b1a7a3749068188a..9b5f49ebb478a21acf8f0d6ed012ed6829a8a320 100644
61+
index b7ef44b018c7aec59d8311642a811d1280247689..e19b9d88a908154dbcfd0b0e3efbc7510609f810 100644
6262
--- a/src/node_options.cc
6363
+++ b/src/node_options.cc
64-
@@ -1405,14 +1405,16 @@ void GetEmbedderOptions(const FunctionCallbackInfo<Value>& args) {
64+
@@ -1409,14 +1409,16 @@ void GetEmbedderOptions(const FunctionCallbackInfo<Value>& args) {
6565
}
6666
Isolate* isolate = args.GetIsolate();
6767

0 commit comments

Comments
 (0)