From 053467253dddc7aed19c4c19e40ba698714a0e4d Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Sat, 5 Jul 2025 03:10:38 +0200 Subject: [PATCH] bootstrap: initialize http proxy after user module loader setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The externalized undici relies on the user module loader, so in the externalized build, initialization of http proxy which relies on undici needs to be deferred until after the user module loader is initialized. PR-URL: https://github.com/nodejs/node/pull/58938 Refs: https://github.com/nodejs/node/issues/58865 Refs: https://github.com/nodejs/node/issues/57872 Reviewed-By: Juan José Arboleda Reviewed-By: Michaël Zasso Reviewed-By: Richard Lau Reviewed-By: Chemi Atlow Reviewed-By: Chengzhong Wu Reviewed-By: Luigi Pinca --- lib/internal/process/pre_execution.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/internal/process/pre_execution.js b/lib/internal/process/pre_execution.js index db8e79b7e1..c8465facbf 100644 --- a/lib/internal/process/pre_execution.js +++ b/lib/internal/process/pre_execution.js @@ -126,7 +126,6 @@ function prepareExecution(options) { initializeConfigFileSupport(); require('internal/dns/utils').initializeDns(); - setupHttpProxy(); if (isMainThread) { assert(internalBinding('worker').isMainThread); @@ -159,6 +158,10 @@ function prepareExecution(options) { setupUserModules(forceDefaultLoader); } + // This has to be done after the user module loader is initialized, + // in case undici is externalized. + setupHttpProxy(); + return mainEntry; }