From 38345dae3a14e3b51227b30da2902886d1ffe24c Mon Sep 17 00:00:00 2001 From: Colum Ferry Date: Mon, 9 May 2022 09:36:36 +0100 Subject: [PATCH] fix(angular): remote failing to serve should fail host serve (#10181) --- .../module-federation-dev-server.impl.ts | 13 +++++++------ .../src/executors/file-server/file-server.impl.ts | 6 +++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/angular/src/builders/module-federation-dev-server/module-federation-dev-server.impl.ts b/packages/angular/src/builders/module-federation-dev-server/module-federation-dev-server.impl.ts index 685d17c48f885..9b66f3b751090 100644 --- a/packages/angular/src/builders/module-federation-dev-server/module-federation-dev-server.impl.ts +++ b/packages/angular/src/builders/module-federation-dev-server/module-federation-dev-server.impl.ts @@ -40,15 +40,10 @@ export function moduleFederationDevServer( ? options.devRemotes : [options.devRemotes]; - const remotePorts: number[] = []; for (const remote of remotes) { const isDev = devServeRemotes.includes(remote); const target = isDev ? 'serve' : 'serve-static'; - remotePorts.push( - workspaceConfig.projects[remote]?.targets[target]?.options.port ?? 4200 - ); - scheduleTarget( context.workspaceRoot, { @@ -59,7 +54,13 @@ export function moduleFederationDevServer( executor: context.builder.builderName, }, options.verbose - ); + ).then((obs) => { + obs.toPromise().catch((err) => { + throw new Error( + `Remote '${remote}' failed to serve correctly due to the following: \r\n${err.toString()}` + ); + }); + }); } return webpackServer(options, context); diff --git a/packages/angular/src/executors/file-server/file-server.impl.ts b/packages/angular/src/executors/file-server/file-server.impl.ts index 695133717c7e3..f95681b81faf7 100644 --- a/packages/angular/src/executors/file-server/file-server.impl.ts +++ b/packages/angular/src/executors/file-server/file-server.impl.ts @@ -133,7 +133,11 @@ export default async function* fileServerExecutor( execFileSync(pmCmd, args, { stdio: [0, 1, 2], }); - } catch {} + } catch { + throw new Error( + "Project failed to build. Check the build's error output for more information." + ); + } running = false; } };