From b6282eccd33ee30306aca102bef0c6bd15c12cd6 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Wed, 23 Oct 2024 07:54:27 +0000 Subject: [PATCH] fix(@angular/build): Address build issue in Node.js LTS versions with prerendering or SSR In Node.js 20, changes to ESM loader hooks result in the `--import` execArgv being passed from the parent to child workers. This commit resolves the issue by setting an empty `execArgv` in the JavaScript transformer, preventing unintended propagation. Closes #28683 --- .../angular/build/src/tools/esbuild/javascript-transformer.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/angular/build/src/tools/esbuild/javascript-transformer.ts b/packages/angular/build/src/tools/esbuild/javascript-transformer.ts index 2e323bd26f6e..026163bca642 100644 --- a/packages/angular/build/src/tools/esbuild/javascript-transformer.ts +++ b/packages/angular/build/src/tools/esbuild/javascript-transformer.ts @@ -58,6 +58,8 @@ export class JavaScriptTransformer { this.#workerPool ??= new WorkerPool({ filename: require.resolve('./javascript-transformer-worker'), maxThreads: this.maxThreads, + // Prevent passing `--import` (loader-hooks) from parent to child worker. + execArgv: [], }); return this.#workerPool;