Skip to content

src: clean up experimental flag variables#62759

Merged
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
aduh95:clean-up-experimental-flag-vars
Apr 17, 2026
Merged

src: clean up experimental flag variables#62759
nodejs-github-bot merged 1 commit into
nodejs:mainfrom
aduh95:clean-up-experimental-flag-vars

Conversation

@aduh95
Copy link
Copy Markdown
Contributor

@aduh95 aduh95 commented Apr 15, 2026

  • fetch is no longer disable by a CLI flag
  • node:sqlite requires SQLite, obviously

@nodejs-github-bot
Copy link
Copy Markdown
Collaborator

Review requested:

  • @nodejs/config

@nodejs-github-bot nodejs-github-bot added c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run. labels Apr 15, 2026
- `fetch` is no longer disable by a CLI flag
- `node:sqlite` requires SQLite, obviously

Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
@aduh95 aduh95 force-pushed the clean-up-experimental-flag-vars branch from 02275ec to d55d5fb Compare April 15, 2026 16:05
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 89.69%. Comparing base (3f52482) to head (d55d5fb).
⚠️ Report is 20 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #62759      +/-   ##
==========================================
- Coverage   91.55%   89.69%   -1.87%     
==========================================
  Files         356      706     +350     
  Lines      149601   218122   +68521     
  Branches    23395    41738   +18343     
==========================================
+ Hits       136967   195634   +58667     
- Misses      12371    14406    +2035     
- Partials      263     8082    +7819     
Files with missing lines Coverage Δ
src/api/environment.cc 79.25% <100.00%> (ø)
src/node_options.cc 76.61% <ø> (ø)
src/node_options.h 98.00% <100.00%> (ø)

... and 469 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@aduh95 aduh95 added author ready PRs that have at least one approval, no pending requests for changes, and a CI started. request-ci Add this label to start a Jenkins CI on a PR. labels Apr 15, 2026
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. label Apr 16, 2026
@nodejs-github-bot
Copy link
Copy Markdown
Collaborator

@aduh95 aduh95 added the commit-queue Add this label to land a pull request using GitHub Actions. label Apr 16, 2026
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Apr 17, 2026
@nodejs-github-bot nodejs-github-bot merged commit 59072b8 into nodejs:main Apr 17, 2026
81 of 82 checks passed
@nodejs-github-bot
Copy link
Copy Markdown
Collaborator

Landed in 59072b8

@aduh95 aduh95 deleted the clean-up-experimental-flag-vars branch April 17, 2026 16:56
aduh95 added a commit that referenced this pull request May 5, 2026
- `fetch` is no longer disable by a CLI flag
- `node:sqlite` requires SQLite, obviously

Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #62759
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
aduh95 added a commit that referenced this pull request May 7, 2026
- `fetch` is no longer disable by a CLI flag
- `node:sqlite` requires SQLite, obviously

Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: #62759
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
araujogui pushed a commit to araujogui/node that referenced this pull request May 26, 2026
- `fetch` is no longer disable by a CLI flag
- `node:sqlite` requires SQLite, obviously

Signed-off-by: Antoine du Hamel <duhamelantoine1995@gmail.com>
PR-URL: nodejs#62759
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Xuguang Mei <meixuguang@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
jkleinsc added a commit to electron/electron that referenced this pull request Jun 2, 2026
Upstream removed the experimental_fetch field from EnvironmentOptions,
but Electron's patch still registers --experimental-fetch as a CLI
option bound to that field. Re-add the member so the option compiles.

Ref: nodejs/node#62759

Co-Authored-By: Claude <noreply@anthropic.com>
jkleinsc added a commit to electron/electron that referenced this pull request Jun 2, 2026
Upstream removed the experimental_fetch field from EnvironmentOptions,
but Electron's patch still registers --experimental-fetch as a CLI
option bound to that field. Re-add the member so the option compiles.

Ref: nodejs/node#62759

Co-Authored-By: Claude <noreply@anthropic.com>
jkleinsc added a commit to electron/electron that referenced this pull request Jun 2, 2026
Upstream removed the experimental_fetch field from EnvironmentOptions,
but Electron's patch still registers --experimental-fetch as a CLI
option bound to that field. Re-add the member so the option compiles.

Ref: nodejs/node#62759

Co-Authored-By: Claude <noreply@anthropic.com>
(cherry picked from commit 6fd9370)
jkleinsc added a commit to electron/electron that referenced this pull request Jun 2, 2026
Upstream removed the experimental_fetch field from EnvironmentOptions,
but Electron's patch still registers --experimental-fetch as a CLI
option bound to that field. Re-add the member so the option compiles.

Ref: nodejs/node#62759

Co-Authored-By: Claude <noreply@anthropic.com>
(cherry picked from commit 6fd9370)
ckerr pushed a commit to electron/electron that referenced this pull request Jun 3, 2026
* chore: bump node in DEPS to v24.16.0

* fix(patch): adapt GetIsolate removal for network_agent.cc refactor

Upstream moved the static Object* helpers out of network_agent.cc into
the new src/inspector/inspector_object_utils.{h,cc} and converted the
existing methods to NetworkAgent member functions. Update the patch so
the deprecated v8::Context::GetIsolate() removal applies to the new
member methods that obtain the isolate via env_->isolate().

Ref: nodejs/node#61139

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: remove upstreamed patch

Node.js restored fs patchability in the ESM loader upstream, making
the fix_lazyload_fs_in_esm_loaders_to_apply_asar_patches.patch
obsolete (the patch's exact change is now in lib/internal/modules/
esm/{load,resolve,translators}.js).

Ref: nodejs/node#62835

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: update patches (trivial only)

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(patch): re-add experimental_fetch member after upstream cleanup

Upstream removed the experimental_fetch field from EnvironmentOptions,
but Electron's patch still registers --experimental-fetch as a CLI
option bound to that field. Re-add the member so the option compiles.

Ref: nodejs/node#62759

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(patch): cast const away when freeing uv_cpu_info_t.model

libuv 1.52.1 typed uv_cpu_info_t.model as const char*, but uv__free
takes void*. Electron builds with -Werror,-Wincompatible-pointer-types-
discards-qualifiers, so add a cast. The memory is allocated via strdup
so the cast is safe.

Ref: nodejs/node#61829

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(patch): silence sign-compare warning in sessionVarintGetSafe

Cast int nBuf to size_t when comparing with sizeof(aCopy) so the
bundled sqlite3 amalgamation compiles under -Werror,-Wsign-compare.

Ref: Unable to locate reference

Co-Authored-By: Claude <noreply@anthropic.com>

* test: move root package.json aside in node spec runner

third_party/electron_node lives under Chromium's src/, whose package.json
("type": "module") is always an ancestor of the Node.js test tree. Upstream
assumes no package.json sits above the tests, so that ancestor changes how
test files and fixtures resolve their module type: it disables module-syntax
detection (breaking test-compile-cache-typescript-esm) and emits
MODULE_TYPELESS_PACKAGE_JSON warnings that break tests asserting clean stderr
(test-esm-detect-ambiguous, test-esm-import-meta-main-eval,
test-output-coverage-with-mock).

Move src/package.json aside for the duration of the run so the environment
matches upstream exactly, then restore it. The original is kept in a sibling
backup file so an interrupted/killed run self-heals on the next invocation
rather than leaving src/package.json missing.

Ref: Unable to locate reference

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: regenerate filenames.auto.gni for v24.16.0 headers

New inspector/node headers added in Node.js v24.16.0 were missing from
the auto-generated source list.

Ref: Unable to locate reference

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(patch): mark test-macos-app-sandbox as flaky

The test copies the Electron binary into a standalone .app bundle and
code-signs it; under parallel suite runs this races with dyld resolving
the Electron Framework rpath and intermittently aborts (SIGABRT). It
passes reliably when run alone. Mark it flaky so flakes don't fail CI.

Ref: Unable to locate reference

Co-Authored-By: Claude <noreply@anthropic.com>

* test: disable test-tls-set-default-ca-certificates-extra-override

setDefaultCACertificates() round-trips the default CA set through
BoringSSL's X509_STORE, which dedups a duplicate-subject root (DigiCert
Global Root CA) that OpenSSL keeps. The set therefore loses one cert on
re-add (149 -> 148), so the test's assertEqualCerts round-trip check
fails under Electron's BoringSSL. The sibling -recovery test is disabled
for the same reason.

Ref: nodejs/node#58822

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(patch): mark test-runner watch tests as flaky

test-run-watch-repeatedly, test-run-watch-run-duration and
test-run-watch-without-file race under parallel suite load: the watcher
fires an extra re-run before the assertion, so the expected single-run
output ("tests 1") arrives with accumulated subtests. All three pass in
isolation.

Ref: nodejs/node#44898

Co-Authored-By: Claude <noreply@anthropic.com>

* chore: update patches

* chore(patches): update libuv const-cast patch management

Combine the Windows libuv cpu_info const-cast update into the existing
chore_cast_const_away_when_freeing_uv_cpu_info_t_model.patch and keep
a single patch-management commit for the final exported patch series.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: electron-roller[bot] <84116207+electron-roller[bot]@users.noreply.github.com>
Co-authored-by: John Kleinschmidt <kleinschmidtorama@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>
jkleinsc added a commit to electron/electron that referenced this pull request Jun 3, 2026
Upstream removed the experimental_fetch field from EnvironmentOptions,
but Electron's patch still registers --experimental-fetch as a CLI
option bound to that field. Re-add the member so the option compiles.

Ref: nodejs/node#62759

Co-Authored-By: Claude <noreply@anthropic.com>
(cherry picked from commit 6fd9370)
jkleinsc added a commit to electron/electron that referenced this pull request Jun 4, 2026
Upstream removed the experimental_fetch field from EnvironmentOptions,
but Electron's patch still registers --experimental-fetch as a CLI
option bound to that field. Re-add the member so the option compiles.

Ref: nodejs/node#62759

Co-Authored-By: Claude <noreply@anthropic.com>
(cherry picked from commit 6fd9370)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

author ready PRs that have at least one approval, no pending requests for changes, and a CI started. c++ Issues and PRs that require attention from people who are familiar with C++. lib / src Issues and PRs related to general changes in the lib or src directory. needs-ci PRs that need a full CI run.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants