From 80176cb94cf7a60ab238d13cdecc7dc53f2b48d0 Mon Sep 17 00:00:00 2001 From: Alan Agius <17563226+alan-agius4@users.noreply.github.com> Date: Wed, 21 May 2025 13:21:11 +0000 Subject: [PATCH] refactor(@angular/build): check that AOT is enabled in HMR logic This commit refactors the HMR logic within `@angular/build` to explicitly check for AOT. --- .../angular/build/src/builders/dev-server/vite-server.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/angular/build/src/builders/dev-server/vite-server.ts b/packages/angular/build/src/builders/dev-server/vite-server.ts index b09775c4a312..7dbafe80f8f4 100644 --- a/packages/angular/build/src/builders/dev-server/vite-server.ts +++ b/packages/angular/build/src/builders/dev-server/vite-server.ts @@ -158,14 +158,15 @@ export async function* serveWithVite( process.setSourceMapsEnabled(true); } + const componentsHmrCanBeUsed = + browserOptions.aot && serverOptions.liveReload && serverOptions.hmr; + // Enable to support link-based component style hot reloading (`NG_HMR_CSTYLES=1` can be used to enable) - browserOptions.externalRuntimeStyles = - serverOptions.liveReload && serverOptions.hmr && useComponentStyleHmr; + browserOptions.externalRuntimeStyles = componentsHmrCanBeUsed && useComponentStyleHmr; // Enable to support component template hot replacement (`NG_HMR_TEMPLATE=0` can be used to disable selectively) // This will also replace file-based/inline styles as code if external runtime styles are not enabled. - browserOptions.templateUpdates = - serverOptions.liveReload && serverOptions.hmr && useComponentTemplateHmr; + browserOptions.templateUpdates = componentsHmrCanBeUsed && useComponentTemplateHmr; browserOptions.incrementalResults = true; // Setup the prebundling transformer that will be shared across Vite prebundling requests