@@ -10,7 +10,7 @@ import {
1010
1111import { Schema } from '@angular-devkit/build-angular/src/builders/application/schema' ;
1212
13- import { buildApplication } from '@angular-devkit/build-angular/src/builders/application' ;
13+ import { buildApplication , ApplicationBuilderOptions } from '@angular-devkit/build-angular/src/builders/application' ;
1414
1515import { serveWithVite } from '@angular-devkit/build-angular/src/builders/dev-server/vite-server' ;
1616import { DevServerBuilderOptions } from '@angular-devkit/build-angular/src/builders/dev-server' ;
@@ -116,11 +116,21 @@ export async function* runBuilder(
116116
117117 setLogLevel ( options . verbose ? 'verbose' : 'info' ) ;
118118
119- const outputPath = path . join ( options . outputPath , 'browser' ) ;
119+ const outputPath = options . outputPath ;
120+
121+ const outputOptions : Required < Exclude < ApplicationBuilderOptions [ 'outputPath' ] , string > > = {
122+ browser : 'browser' ,
123+ server : 'server' ,
124+ media : 'media' ,
125+ ...( typeof outputPath === 'string' ? undefined : outputPath ) ,
126+ base : typeof outputPath === 'string' ? outputPath : outputPath . base
127+ }
128+
129+ const browserOutputPath = path . join ( outputOptions . base , outputOptions . browser ) ;
120130
121131 const fedOptions : FederationOptions = {
122132 workspaceRoot : context . workspaceRoot ,
123- outputPath : outputPath ,
133+ outputPath : browserOutputPath ,
124134 federationConfig : infereConfigPath ( options . tsConfig ) ,
125135 tsConfig : options . tsConfig ,
126136 verbose : options . verbose ,
@@ -176,12 +186,12 @@ export async function* runBuilder(
176186 let first = true ;
177187 let lastResult : { success : boolean } | undefined ;
178188
179- if ( existsSync ( outputPath ) ) {
180- rmSync ( outputPath , { recursive : true } ) ;
189+ if ( existsSync ( fedOptions . outputPath ) ) {
190+ rmSync ( fedOptions . outputPath , { recursive : true } ) ;
181191 }
182192
183- if ( ! existsSync ( outputPath ) ) {
184- mkdirSync ( outputPath , { recursive : true } ) ;
193+ if ( ! existsSync ( fedOptions . outputPath ) ) {
194+ mkdirSync ( fedOptions . outputPath , { recursive : true } ) ;
185195 }
186196
187197 if ( ! write ) {
@@ -243,7 +253,7 @@ export async function* runBuilder(
243253 }
244254
245255 if ( first && runServer ) {
246- startServer ( nfOptions , options . outputPath , memResults ) ;
256+ startServer ( nfOptions , fedOptions . outputPath , memResults ) ;
247257 }
248258
249259 if ( ! first && runServer ) {
0 commit comments