From 543909edda6f94ca202243884fb20a0e06f8c89e Mon Sep 17 00:00:00 2001 From: Roger Urscheler Date: Fri, 20 Mar 2026 10:16:47 -0400 Subject: [PATCH] fix: define ngDevMode in dev builds to prevent ReferenceError In dev mode, `ngDevMode` was not defined at all in the esbuild `define` config. Angular's compiler emits bare `ngDevMode` references in signal/input/computed debug info. When these run at module load time, they throw `ReferenceError: ngDevMode is not defined`. This sets `ngDevMode` to `'true'` in dev builds (and keeps `'false'` for production), ensuring the global is always replaced by esbuild. Fixes #458 Fixes #897 Related to #552, #815 Co-Authored-By: Claude Opus 4.6 (1M context) --- libs/native-federation/src/utils/angular-esbuild-adapter.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/native-federation/src/utils/angular-esbuild-adapter.ts b/libs/native-federation/src/utils/angular-esbuild-adapter.ts index c87a26a1..2f6cba0b 100644 --- a/libs/native-federation/src/utils/angular-esbuild-adapter.ts +++ b/libs/native-federation/src/utils/angular-esbuild-adapter.ts @@ -314,7 +314,7 @@ async function runEsbuild( commonjsPlugin(), ], define: { - ...(!dev ? { ngDevMode: 'false' } : {}), + ngDevMode: dev ? 'true' : 'false', ngJitMode: 'false', }, ...(builderOptions.loader ? { loader: builderOptions.loader } : {}),