Skip to content

Commit faf5f94

Browse files
committed
fix(nf): properly handle outputPath object
fix #446
1 parent 6ec4bad commit faf5f94

File tree

3 files changed

+888
-884
lines changed

3 files changed

+888
-884
lines changed

libs/native-federation/src/builders/build/builder.ts

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010

1111
import { 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

1515
import { serveWithVite } from '@angular-devkit/build-angular/src/builders/dev-server/vite-server';
1616
import { 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) {
@@ -241,7 +251,7 @@ export async function* runBuilder(
241251
}
242252

243253
if (first && runServer) {
244-
startServer(nfOptions, options.outputPath, memResults);
254+
startServer(nfOptions, fedOptions.outputPath, memResults);
245255
}
246256

247257
if (!first && runServer) {

0 commit comments

Comments
 (0)