diff --git a/docs/generated/packages/react.json b/docs/generated/packages/react.json index 0a7685a9dd..83b1d991b8 100644 --- a/docs/generated/packages/react.json +++ b/docs/generated/packages/react.json @@ -1385,6 +1385,11 @@ "items": { "type": "string" }, "description": "List of remote applications to run in development mode (i.e. using serve target)." }, + "skipRemotes": { + "type": "array", + "items": { "type": "string" }, + "description": "List of remote applications to not automatically serve, either statically or in development mode. This can be useful for multi-repository module federation setups where the host application uses a remote application from an external repository." + }, "buildTarget": { "type": "string", "description": "Target which builds the application." diff --git a/packages/react/src/executors/module-federation-dev-server/module-federation-dev-server.impl.ts b/packages/react/src/executors/module-federation-dev-server/module-federation-dev-server.impl.ts index 382996cadd..0b0bdb35fa 100644 --- a/packages/react/src/executors/module-federation-dev-server/module-federation-dev-server.impl.ts +++ b/packages/react/src/executors/module-federation-dev-server/module-federation-dev-server.impl.ts @@ -10,6 +10,7 @@ import { type ModuleFederationDevServerOptions = WebDevServerOptions & { devRemotes?: string | string[]; + skipRemotes?: string[]; }; export default async function* moduleFederationDevServer( @@ -35,7 +36,10 @@ export default async function* moduleFederationDevServer( ); } - const knownRemotes = moduleFederationConfig.remotes ?? []; + const remotesToSkip = new Set(options.skipRemotes ?? []); + const knownRemotes = (moduleFederationConfig.remotes ?? []).filter( + (r) => !remotesToSkip.has(r) + ); const devServeApps = !options.devRemotes ? [] diff --git a/packages/react/src/executors/module-federation-dev-server/schema.json b/packages/react/src/executors/module-federation-dev-server/schema.json index 42f31e9be5..49037d9597 100644 --- a/packages/react/src/executors/module-federation-dev-server/schema.json +++ b/packages/react/src/executors/module-federation-dev-server/schema.json @@ -13,6 +13,13 @@ }, "description": "List of remote applications to run in development mode (i.e. using serve target)." }, + "skipRemotes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of remote applications to not automatically serve, either statically or in development mode. This can be useful for multi-repository module federation setups where the host application uses a remote application from an external repository." + }, "buildTarget": { "type": "string", "description": "Target which builds the application."