Skip to content

Commit 730c38e

Browse files
electron-roller[bot]codebytere
authored andcommitted
chore: bump node to v18.13.0 (main) (electron#36818)
* chore: bump node in DEPS to v18.13.0 * child_process: validate arguments for null bytes nodejs/node#44782 * bootstrap: merge main thread and worker thread initializations nodejs/node#44869 * module: ensure relative requires work from deleted directories nodejs/node#42384 * src: add support for externally shared js builtins nodejs/node#44000 * lib: disambiguate `native module` to `binding` nodejs/node#45673 * test: convert test-debugger-pid to async/await nodejs/node#45179 * deps: upgrade to libuv 1.44.2 nodejs/node#42340 * src: fix cppgc incompatibility in v8 nodejs/node#43521 * src: use qualified `std::move` call in node_http2 nodejs/node#45555 * build: fix env.h for cpp20 nodejs/node#45516 * test: remove experimental-wasm-threads flag nodejs/node#45074 * src: iwyu in cleanup_queue.cc nodejs/node#44983 * src: add missing include for `std::all_of` nodejs/node#45541 * deps: update ICU to 72.1 nodejs/node#45068 * chore: fixup patch indices * chore: remove errant semicolons - nodejs/node#44179 - nodejs/node#44193 * src: add support for externally shared js builtins nodejs/node#44376 * chore: add missing GN filenames * deps: update nghttp2 to 1.51.0 nodejs/node#45537 * chore: disable more Node.js snapshot tests The Snapshot feature is currently disabled * chore: disable ICU timezone tests Node.js uses a different version of ICU than Electron so they will often be out of sync. * chore: disable threadpool event tracing test Event tracing is not enabled in embedded Node.js * chore: fixup patch indices * chore: comments from review 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 4586f02 commit 730c38e

File tree

54 files changed

+330
-2311
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+330
-2311
lines changed

DEPS

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ vars = {
44
'chromium_version':
55
'111.0.5518.0',
66
'node_version':
7-
'v18.12.1',
7+
'v18.13.0',
88
'nan_version':
99
'16fa32231e2ccd89d2804b3f765319128b20c4ac',
1010
'squirrel.mac_version':

patches/node/.patches

+2-19
Original file line numberDiff line numberDiff line change
@@ -16,40 +16,23 @@ repl_fix_crash_when_sharedarraybuffer_disabled.patch
1616
fix_readbarrier_undefined_symbol_error_on_woa_arm64.patch
1717
fix_suppress_clang_-wdeprecated-declarations_in_libuv.patch
1818
fix_serdes_test.patch
19-
darwin_bump_minimum_supported_version_to_10_15_3406.patch
20-
be_compatible_with_cppgc.patch
2119
feat_add_knostartdebugsignalhandler_to_environment_to_prevent.patch
22-
process_monitor_for_exit_with_kqueue_on_bsds_3441.patch
23-
process_bsd_handle_kevent_note_exit_failure_3451.patch
24-
reland_macos_use_posix_spawn_instead_of_fork_3257.patch
25-
process_reset_the_signal_mask_if_the_fork_fails_3537.patch
26-
process_only_use_f_dupfd_cloexec_if_it_is_defined_3512.patch
27-
unix_simplify_uv_cloexec_fcntl_3492.patch
28-
unix_remove_uv_cloexec_ioctl_3515.patch
29-
process_simplify_uv_write_int_calls_3519.patch
30-
macos_don_t_use_thread-unsafe_strtok_3524.patch
31-
process_fix_hang_after_note_exit_3521.patch
3220
feat_add_uv_loop_interrupt_on_io_change_option_to_uv_loop_configure.patch
33-
macos_avoid_posix_spawnp_cwd_bug_3597.patch
3421
json_parse_errors_made_user-friendly.patch
3522
support_v8_sandboxed_pointers.patch
3623
build_ensure_v8_pointer_compression_sandbox_is_enabled_on_64bit.patch
3724
build_ensure_native_module_compilation_fails_if_not_using_a_new.patch
3825
fix_override_createjob_in_node_platform.patch
3926
v8_api_advance_api_deprecation.patch
40-
enable_-wunqualified-std-cast-call.patch
4127
fixup_for_error_declaration_shadows_a_local_variable.patch
4228
fixup_for_wc_98-compat-extra-semi.patch
43-
drop_deserializerequest_move_constructor_for_c_20_compat.patch
4429
fix_parallel_test-v8-stats.patch
4530
fix_expose_the_built-in_electron_module_via_the_esm_loader.patch
4631
heap_remove_allocationspace_map_space_enum_constant.patch
47-
test_remove_experimental-wasm-threads_flag.patch
4832
api_pass_oomdetails_to_oomerrorcallback.patch
49-
src_iwyu_in_cleanup_queue_cc.patch
5033
fix_expose_lookupandcompile_with_parameters.patch
5134
fix_prevent_changing_functiontemplateinfo_after_publish.patch
52-
chore_add_missing_algorithm_include.patch
53-
fix_tolocalstring_unicode_mismatch.patch
5435
enable_crashpad_linux_node_processes.patch
5536
allow_embedder_to_control_codegenerationfromstringscallback.patch
37+
chore_remove_errant_semicolons.patch
38+
chore_remove_unreached_return.patch

patches/node/allow_embedder_to_control_codegenerationfromstringscallback.patch

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,10 @@ This is needed to blend Blink and Node's code generation policy.
88
This should be upstreamed.
99

1010
diff --git a/src/api/environment.cc b/src/api/environment.cc
11-
index b6981c37d5b286e22f24d11751eb05f72ca27619..c4a3a54753767e7686a0e32996bcda0c90f659a7 100644
11+
index c0c422e969543dcd570dabfd8ff0755abe37face..4f14b308d14f3653c8646345a5b375014a51851f 100644
1212
--- a/src/api/environment.cc
1313
+++ b/src/api/environment.cc
14-
@@ -259,11 +259,15 @@ void SetIsolateErrorHandlers(v8::Isolate* isolate, const IsolateSettings& s) {
14+
@@ -267,11 +267,15 @@ void SetIsolateErrorHandlers(v8::Isolate* isolate, const IsolateSettings& s) {
1515
void SetIsolateMiscHandlers(v8::Isolate* isolate, const IsolateSettings& s) {
1616
isolate->SetMicrotasksPolicy(s.policy);
1717

@@ -30,10 +30,10 @@ index b6981c37d5b286e22f24d11751eb05f72ca27619..c4a3a54753767e7686a0e32996bcda0c
3030
Mutex::ScopedLock lock(node::per_process::cli_options_mutex);
3131
if (per_process::cli_options->get_per_isolate_options()
3232
diff --git a/src/node.h b/src/node.h
33-
index bee494f9da8470530ee9ec58958f8f2c7ce6a302..387ce8e5edf6524db170e2d46ef501a1cd956d98 100644
33+
index 6ff7527d4fe4d126bda80615ffed75f77f700b86..5a849f047feca5d4d101c21c125e1c0500150077 100644
3434
--- a/src/node.h
3535
+++ b/src/node.h
36-
@@ -461,6 +461,8 @@ struct IsolateSettings {
36+
@@ -463,6 +463,8 @@ struct IsolateSettings {
3737
v8::PromiseRejectCallback promise_reject_callback = nullptr;
3838
v8::AllowWasmCodeGenerationCallback
3939
allow_wasm_code_generation_callback = nullptr;

patches/node/api_pass_oomdetails_to_oomerrorcallback.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ index 323fc7d4ff635ca287ee241cee234da0600340a2..36ab78f739f3faecab47eead99f9aa3c
2525
if (location) {
2626
FPrintF(stderr, "FATAL ERROR: %s %s\n", location, message);
2727
diff --git a/src/node_errors.h b/src/node_errors.h
28-
index 5587c2348626102febe33a20ff45748a6eec61ad..6dbba32858dc82bc04171da7ee2a33a0b4dee791 100644
28+
index 926f54286ec72fda98a9a477ac8e22feef522291..f926cc1c70dd6f883c0729c46f09e10972ce6385 100644
2929
--- a/src/node_errors.h
3030
+++ b/src/node_errors.h
3131
@@ -21,7 +21,7 @@ void AppendExceptionLine(Environment* env,

patches/node/be_compatible_with_cppgc.patch

-96
This file was deleted.

patches/node/build_add_gn_build_files.patch

+30-8
Original file line numberDiff line numberDiff line change
@@ -893,10 +893,10 @@ index 0000000000000000000000000000000000000000..fb000f8ee7647c375bc190d1729d67bb
893893
+}
894894
diff --git a/deps/nghttp2/BUILD.gn b/deps/nghttp2/BUILD.gn
895895
new file mode 100644
896-
index 0000000000000000000000000000000000000000..9abde472d88923db835b12982b7f2ccb1f260196
896+
index 0000000000000000000000000000000000000000..23eed033d31eced6a85c794eee550655af7a9a1d
897897
--- /dev/null
898898
+++ b/deps/nghttp2/BUILD.gn
899-
@@ -0,0 +1,47 @@
899+
@@ -0,0 +1,48 @@
900900
+config("nghttp2_config") {
901901
+ defines = [ "NGHTTP2_STATICLIB" ]
902902
+ include_dirs = [ "lib/includes" ]
@@ -923,6 +923,7 @@ index 0000000000000000000000000000000000000000..9abde472d88923db835b12982b7f2ccb
923923
+ "lib/nghttp2_buf.c",
924924
+ "lib/nghttp2_callbacks.c",
925925
+ "lib/nghttp2_debug.c",
926+
+ "lib/nghttp2_extpri.c",
926927
+ "lib/nghttp2_frame.c",
927928
+ "lib/nghttp2_hd.c",
928929
+ "lib/nghttp2_hd_huffman.c",
@@ -1192,10 +1193,10 @@ index 0000000000000000000000000000000000000000..2c9d2826c85bdd033f1df1d6188df636
11921193
+}
11931194
diff --git a/filenames.json b/filenames.json
11941195
new file mode 100644
1195-
index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9b477239e
1196+
index 0000000000000000000000000000000000000000..a991bef2b98766a1cfb248d2af97101af305de82
11961197
--- /dev/null
11971198
+++ b/filenames.json
1198-
@@ -0,0 +1,638 @@
1199+
@@ -0,0 +1,653 @@
11991200
+// This file is automatically generated by generate_gn_filenames_json.py
12001201
+// DO NOT EDIT
12011202
+{
@@ -1301,7 +1302,6 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
13011302
+ "dest_dir": "include/node//uv/",
13021303
+ "files": [
13031304
+ "deps/uv/include/uv/aix.h",
1304-
+ "deps/uv/include/uv/android-ifaddrs.h",
13051305
+ "deps/uv/include/uv/bsd.h",
13061306
+ "deps/uv/include/uv/darwin.h",
13071307
+ "deps/uv/include/uv/errno.h",
@@ -1414,6 +1414,7 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
14141414
+ "lib/internal/error_serdes.js",
14151415
+ "lib/internal/errors.js",
14161416
+ "lib/internal/event_target.js",
1417+
+ "lib/internal/file.js",
14171418
+ "lib/internal/fixed_queue.js",
14181419
+ "lib/internal/freelist.js",
14191420
+ "lib/internal/freeze_intrinsics.js",
@@ -1422,6 +1423,7 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
14221423
+ "lib/internal/fs/dir.js",
14231424
+ "lib/internal/fs/promises.js",
14241425
+ "lib/internal/fs/read_file_context.js",
1426+
+ "lib/internal/fs/recursive_watch.js",
14251427
+ "lib/internal/fs/rimraf.js",
14261428
+ "lib/internal/fs/streams.js",
14271429
+ "lib/internal/fs/sync_write_stream.js",
@@ -1451,6 +1453,7 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
14511453
+ "lib/internal/main/test_runner.js",
14521454
+ "lib/internal/main/watch_mode.js",
14531455
+ "lib/internal/main/worker_thread.js",
1456+
+ "lib/internal/mime.js",
14541457
+ "lib/internal/modules/cjs/helpers.js",
14551458
+ "lib/internal/modules/cjs/loader.js",
14561459
+ "lib/internal/modules/esm/assert.js",
@@ -1537,7 +1540,11 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
15371540
+ "lib/internal/test/binding.js",
15381541
+ "lib/internal/test/transfer.js",
15391542
+ "lib/internal/test_runner/harness.js",
1543+
+ "lib/internal/test_runner/mock.js",
15401544
+ "lib/internal/test_runner/runner.js",
1545+
+ "lib/internal/test_runner/tap_checker.js",
1546+
+ "lib/internal/test_runner/tap_lexer.js",
1547+
+ "lib/internal/test_runner/tap_parser.js",
15411548
+ "lib/internal/test_runner/tap_stream.js",
15421549
+ "lib/internal/test_runner/test.js",
15431550
+ "lib/internal/test_runner/utils.js",
@@ -1561,6 +1568,7 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
15611568
+ "lib/internal/v8_prof_polyfill.js",
15621569
+ "lib/internal/v8_prof_processor.js",
15631570
+ "lib/internal/validators.js",
1571+
+ "lib/internal/vm.js",
15641572
+ "lib/internal/vm/module.js",
15651573
+ "lib/internal/wasm_web_api.js",
15661574
+ "lib/internal/watch_mode/files_watcher.js",
@@ -1637,6 +1645,7 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
16371645
+ "src/api/hooks.cc",
16381646
+ "src/api/utils.cc",
16391647
+ "src/async_wrap.cc",
1648+
+ "src/base_object.cc",
16401649
+ "src/cares_wrap.cc",
16411650
+ "src/cleanup_queue.cc",
16421651
+ "src/connect_wrap.cc",
@@ -1685,10 +1694,12 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
16851694
+ "src/node_process_events.cc",
16861695
+ "src/node_process_methods.cc",
16871696
+ "src/node_process_object.cc",
1697+
+ "src/node_realm.cc",
16881698
+ "src/node_report.cc",
16891699
+ "src/node_report_module.cc",
16901700
+ "src/node_report_utils.cc",
16911701
+ "src/node_serdes.cc",
1702+
+ "src/node_shadow_realm.cc",
16921703
+ "src/node_snapshotable.cc",
16931704
+ "src/node_sockaddr.cc",
16941705
+ "src/node_stat_watcher.cc",
@@ -1743,6 +1754,7 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
17431754
+ "src/connection_wrap.h",
17441755
+ "src/debug_utils.h",
17451756
+ "src/debug_utils-inl.h",
1757+
+ "src/env_properties.h",
17461758
+ "src/env.h",
17471759
+ "src/env-inl.h",
17481760
+ "src/handle_wrap.h",
@@ -1790,16 +1802,20 @@ index 0000000000000000000000000000000000000000..b445ccdd7ba2f0b5661d4761f995a4c9
17901802
+ "src/node_platform.h",
17911803
+ "src/node_process.h",
17921804
+ "src/node_process-inl.h",
1805+
+ "src/node_realm.h",
1806+
+ "src/node_realm-inl.h",
17931807
+ "src/node_report.h",
17941808
+ "src/node_revert.h",
17951809
+ "src/node_root_certs.h",
1810+
+ "src/node_shadow_realm.h",
17961811
+ "src/node_snapshotable.h",
17971812
+ "src/node_snapshot_builder.h",
17981813
+ "src/node_sockaddr.h",
17991814
+ "src/node_sockaddr-inl.h",
18001815
+ "src/node_stat_watcher.h",
18011816
+ "src/node_union_bytes.h",
18021817
+ "src/node_url.h",
1818+
+ "src/node_util.h",
18031819
+ "src/node_version.h",
18041820
+ "src/node_v8.h",
18051821
+ "src/node_v8_platform-inl.h",
@@ -2075,7 +2091,7 @@ index 0000000000000000000000000000000000000000..d1d6b51e8c0c5bc6a5d09e217eb30483
20752091
+ args = rebase_path(inputs + outputs, root_build_dir)
20762092
+}
20772093
diff --git a/src/node_version.h b/src/node_version.h
2078-
index 68c7df653ebb84d9e0c5d34a1cfa4fa3bd4ce690..2762b9f8ae782518ecc9c21f09880c10025155aa 100644
2094+
index d6b2f18cf8599ed7994954c808379565b740ac83..cd73f646bb3e9dbc4d9f4a3f24ef5970ec33b3a5 100644
20792095
--- a/src/node_version.h
20802096
+++ b/src/node_version.h
20812097
@@ -89,7 +89,10 @@
@@ -2091,10 +2107,10 @@ index 68c7df653ebb84d9e0c5d34a1cfa4fa3bd4ce690..2762b9f8ae782518ecc9c21f09880c10
20912107
// which the Node binary being built supports.
20922108
diff --git a/tools/generate_gn_filenames_json.py b/tools/generate_gn_filenames_json.py
20932109
new file mode 100755
2094-
index 0000000000000000000000000000000000000000..87621ba1d7f1c80aadb81461824b0c2edab1de22
2110+
index 0000000000000000000000000000000000000000..616dc0c61ed4ea1bf2fb9e4768ba2ec566a83e42
20952111
--- /dev/null
20962112
+++ b/tools/generate_gn_filenames_json.py
2097-
@@ -0,0 +1,75 @@
2113+
@@ -0,0 +1,81 @@
20982114
+#!/usr/bin/env python3
20992115
+import json
21002116
+import os
@@ -2143,6 +2159,12 @@ index 0000000000000000000000000000000000000000..87621ba1d7f1c80aadb81461824b0c2e
21432159
+ def filter_v8_files(files):
21442160
+ if any(f.startswith('deps/v8/') for f in files):
21452161
+ files = [f.replace('deps/v8/', '//v8/', 1) for f in files]
2162+
+
2163+
+ if any(f == '<@(node_builtin_shareable_builtins)' for f in files):
2164+
+ files.remove('<@(node_builtin_shareable_builtins)')
2165+
+ shared_builtins = ['deps/cjs-module-lexer/lexer.js', 'deps/cjs-module-lexer/dist/lexer.js', 'deps/undici/undici.js']
2166+
+ files.extend(shared_builtins)
2167+
+
21462168
+ return files
21472169
+
21482170
+ lib_files = SearchFiles('lib', 'js')

patches/node/build_ensure_native_module_compilation_fails_if_not_using_a_new.patch

+5-5
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 3e73073fb3f0e3bed74ff00521fc1b98997d9540..ca089eee5eafef6e08960d2a96ef27d8cfa95180 100644
10+
index 6704d96142f806be9c0605f0b41206e77f492b96..f1404d27e14ce7143d3b2dbccde7af8269369cbf 100644
1111
--- a/common.gypi
1212
+++ b/common.gypi
1313
@@ -79,6 +79,8 @@
@@ -27,7 +27,7 @@ index 3e73073fb3f0e3bed74ff00521fc1b98997d9540..ca089eee5eafef6e08960d2a96ef27d8
2727
],
2828

2929
# Forcibly disable -Werror. We support a wide range of compilers, it's
30-
@@ -392,6 +395,11 @@
30+
@@ -388,6 +391,11 @@
3131
}],
3232
],
3333
}],
@@ -40,10 +40,10 @@ index 3e73073fb3f0e3bed74ff00521fc1b98997d9540..ca089eee5eafef6e08960d2a96ef27d8
4040
'defines': [
4141
'V8_COMPRESS_POINTERS',
4242
diff --git a/configure.py b/configure.py
43-
index 1b7a721585764aecfd855ee47c47a3bd235d2ef3..c152ea9f29478729ec3752132140e3ec44dbd366 100755
43+
index bae674fd264ff0bfbe025c286279182358872b23..1f3c398c034d2c0bf0eca51b892ca87c3fcf7ce1 100755
4444
--- a/configure.py
4545
+++ b/configure.py
46-
@@ -1464,6 +1464,7 @@ def configure_library(lib, output, pkgname=None):
46+
@@ -1511,6 +1511,7 @@ def configure_library(lib, output, pkgname=None):
4747

4848

4949
def configure_v8(o):
@@ -52,7 +52,7 @@ index 1b7a721585764aecfd855ee47c47a3bd235d2ef3..c152ea9f29478729ec3752132140e3ec
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 10061d4298368bc0ad53c0c8c3a3c964c13d4c3c..bee494f9da8470530ee9ec58958f8f2c7ce6a302 100644
55+
index 173e0bc669a2fd90e764da72e09003f4c7311fd7..6ff7527d4fe4d126bda80615ffed75f77f700b86 100644
5656
--- a/src/node.h
5757
+++ b/src/node.h
5858
@@ -22,6 +22,12 @@

0 commit comments

Comments
 (0)