From 3da68809d92125be83bb3913272c23dabfabbcf3 Mon Sep 17 00:00:00 2001 From: Aukevanoost Date: Thu, 18 Sep 2025 11:54:47 +0200 Subject: [PATCH 1/3] fix(nf): Bug where application could not be built in devmode --- libs/native-federation/src/builders/build/builder.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/libs/native-federation/src/builders/build/builder.ts b/libs/native-federation/src/builders/build/builder.ts index 23ee9496..3905eee3 100644 --- a/libs/native-federation/src/builders/build/builder.ts +++ b/libs/native-federation/src/builders/build/builder.ts @@ -126,7 +126,14 @@ export async function* runBuilder( ? await normalizeOptions(context, context.target.project, outerOptions) : null; - const runServer = nfOptions.dev && nfOptions.devServer !== false; + /** + * Explicitly defined as devServer or if the target contains "serve" + */ + const runServer = + typeof nfOptions.devServer !== 'undefined' + ? !!nfOptions.devServer + : target.target.includes('serve'); + const write = true; const watch = nfOptions.watch; From 110461eae971642cbf36a32a2fcd1b2fa964f077 Mon Sep 17 00:00:00 2001 From: Aukevanoost Date: Thu, 18 Sep 2025 13:28:54 +0200 Subject: [PATCH 2/3] fix(nf): Bug where vite could not be run with esbuild --- .../src/builders/build/builder.ts | 34 +++++++++++-------- 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/libs/native-federation/src/builders/build/builder.ts b/libs/native-federation/src/builders/build/builder.ts index 3905eee3..0dafe3e4 100644 --- a/libs/native-federation/src/builders/build/builder.ts +++ b/libs/native-federation/src/builders/build/builder.ts @@ -47,6 +47,7 @@ import { createSharedMappingsPlugin } from '../../utils/shared-mappings-plugin'; import { updateScriptTags } from '../../utils/updateIndexHtml'; import { federationBuildNotifier } from './federation-build-notifier'; import { NfBuilderSchema } from './schema'; +import { Schema as DevServerSchema } from '@angular-devkit/build-angular/src/builders/dev-server/schema'; const originalWrite = process.stderr.write.bind(process.stderr); @@ -89,7 +90,7 @@ export async function* runBuilder( ): AsyncIterable { let target = targetFromTargetString(nfOptions.target); - let _options = (await context.getTargetOptions( + let targetOptions = (await context.getTargetOptions( target )) as unknown as JsonObject & ApplicationBuilderOptions; @@ -117,15 +118,10 @@ export async function* runBuilder( } let options = (await context.validateOptions( - _options, + targetOptions, builder )) as JsonObject & ApplicationBuilderOptions; - const outerOptions = options as any; - const normOuterOptions = nfOptions.dev - ? await normalizeOptions(context, context.target.project, outerOptions) - : null; - /** * Explicitly defined as devServer or if the target contains "serve" */ @@ -134,18 +130,28 @@ export async function* runBuilder( ? !!nfOptions.devServer : target.target.includes('serve'); + let serverOptions = null; + const write = true; const watch = nfOptions.watch; - if (runServer) { - target = targetFromTargetString(outerOptions.buildTarget); - _options = (await context.getTargetOptions( + if (!!options['buildTarget']) { + serverOptions = await normalizeOptions( + context, + context.target.project, + options as unknown as DevServerSchema + ); + + target = targetFromTargetString(options['buildTarget'] as string); + targetOptions = (await context.getTargetOptions( target )) as unknown as JsonObject & ApplicationBuilderOptions; builder = await context.getBuilderNameForTarget(target); - options = (await context.validateOptions(_options, builder)) as JsonObject & - ApplicationBuilderOptions; + options = (await context.validateOptions( + targetOptions, + builder + )) as JsonObject & ApplicationBuilderOptions; } options.watch = watch; @@ -238,7 +244,7 @@ export async function* runBuilder( options.externalDependencies = externals; } - const isLocalDevelopment = runServer && nfOptions.dev; + const isLocalDevelopment = runServer || nfOptions.dev; // Initialize SSE reloader only for local development if (isLocalDevelopment && nfOptions.buildNotifications?.enable) { @@ -336,7 +342,7 @@ export async function* runBuilder( const builderRun = runServer ? serveWithVite( - normOuterOptions, + serverOptions, appBuilderName, _buildApplication, context, From bae7931e793e8818cbb80aaaf07ae6e50d232389 Mon Sep 17 00:00:00 2001 From: Aukevanoost Date: Thu, 18 Sep 2025 13:42:15 +0200 Subject: [PATCH 3/3] fix(nf): reverted back local development check --- libs/native-federation/src/builders/build/builder.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/native-federation/src/builders/build/builder.ts b/libs/native-federation/src/builders/build/builder.ts index 0dafe3e4..2b2f5c22 100644 --- a/libs/native-federation/src/builders/build/builder.ts +++ b/libs/native-federation/src/builders/build/builder.ts @@ -244,7 +244,7 @@ export async function* runBuilder( options.externalDependencies = externals; } - const isLocalDevelopment = runServer || nfOptions.dev; + const isLocalDevelopment = runServer && nfOptions.dev; // Initialize SSE reloader only for local development if (isLocalDevelopment && nfOptions.buildNotifications?.enable) {