Skip to content

Commit 83c8620

Browse files
authored
fix(manifest): record all remotes which are declared in build config (#3082)
1 parent 131d36e commit 83c8620

File tree

5 files changed

+27
-9
lines changed

5 files changed

+27
-9
lines changed

.changeset/eleven-flowers-agree.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@module-federation/manifest': patch
3+
---
4+
5+
fix(manifest): record all remotes which are declared in build config

packages/managers/__tests__/__snapshots__/RemoteManager.spec.ts.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,22 @@ exports[`RemoteManager statsRemoteWithEmptyUsedIn 1`] = `
1515
"consumingFederationContainerName": "@module-federation/remote-managers-test",
1616
"entry": "http://localhost:3000/remoteEntry.js",
1717
"federationContainerName": "remote1",
18-
"moduleName": "remote1",
18+
"moduleName": "UNKNOWN",
1919
"usedIn": [],
2020
},
2121
{
2222
"alias": "remote-version",
2323
"consumingFederationContainerName": "@module-federation/remote-managers-test",
2424
"federationContainerName": "remote2",
25-
"moduleName": "remote2",
25+
"moduleName": "UNKNOWN",
2626
"usedIn": [],
2727
"version": "1.2.3",
2828
},
2929
{
3030
"alias": "remote-default",
3131
"consumingFederationContainerName": "@module-federation/remote-managers-test",
3232
"federationContainerName": "remote3",
33-
"moduleName": "remote3",
33+
"moduleName": "UNKNOWN",
3434
"usedIn": [],
3535
"version": "*",
3636
},

packages/managers/src/RemoteManager.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
moduleFederationPlugin,
88
} from '@module-federation/sdk';
99
import { BasicPluginOptionsManager } from './BasicPluginOptionsManager';
10+
import { UNKNOWN_MODULE_NAME } from './constant';
1011

1112
interface NormalizedRemote {
1213
[remoteName: string]: RemoteEntryInfo & {
@@ -50,15 +51,15 @@ class RemoteManager extends BasicPluginOptionsManager<moduleFederationPlugin.Mod
5051
curObj = {
5152
entry: normalizedOption.entry,
5253
alias: normalizedOption.alias,
53-
moduleName: normalizedOption.name,
54+
moduleName: UNKNOWN_MODULE_NAME,
5455
federationContainerName: normalizedOption.name,
5556
consumingFederationContainerName: name!,
5657
usedIn: [],
5758
};
5859
} else {
5960
curObj = {
6061
alias: normalizedOption.alias,
61-
moduleName: normalizedOption.name,
62+
moduleName: UNKNOWN_MODULE_NAME,
6263
version: normalizedOption.version,
6364
federationContainerName: normalizedOption.name,
6465
consumingFederationContainerName: name!,

packages/managers/src/constant.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
export const LOCAL_BUILD_VERSION = 'local';
2+
export const UNKNOWN_MODULE_NAME = 'UNKNOWN';

packages/manifest/src/StatsManager.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -364,10 +364,21 @@ class StatsManager {
364364

365365
await Promise.all([
366366
new Promise<void>((resolve) => {
367-
stats.remotes = remotes.map((remote) => ({
368-
...remote,
369-
usedIn: Array.from(remote.usedIn.values()),
370-
}));
367+
const remoteMemo: Set<string> = new Set();
368+
stats.remotes = remotes.map((remote) => {
369+
remoteMemo.add(remote.federationContainerName);
370+
return {
371+
...remote,
372+
usedIn: Array.from(remote.usedIn.values()),
373+
};
374+
});
375+
const statsRemoteWithEmptyUsedIn =
376+
this._remoteManager.statsRemoteWithEmptyUsedIn;
377+
statsRemoteWithEmptyUsedIn.forEach((remoteInfo) => {
378+
if (!remoteMemo.has(remoteInfo.federationContainerName)) {
379+
stats.remotes.push(remoteInfo);
380+
}
381+
});
371382
resolve();
372383
}),
373384
new Promise<void>((resolve) => {

0 commit comments

Comments
 (0)