Skip to content

Commit e494f1a

Browse files
authored
fix: fix expose collect assets do not filter entry point cause load extra file (#2647)
1 parent 0ea7b6c commit e494f1a

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

.changeset/young-books-carry.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: fix expose collect assets do not filter entry point cause load extra file

packages/manifest/src/StatsManager.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,9 @@ class StatsManager {
155155
const { chunks } = compilation;
156156
const { exposeFileNameImportMap } = this._containerManager;
157157
const assets: Record<string, StatsAssets> = {};
158+
const entryPointNames = [...compilation.entrypoints.values()]
159+
.map((e) => e.name)
160+
.filter((v) => !!v) as Array<string>;
158161

159162
chunks.forEach((chunk) => {
160163
if (
@@ -163,13 +166,15 @@ class StatsManager {
163166
) {
164167
// TODO: support multiple import
165168
const exposeKey = exposeFileNameImportMap[chunk.name][0];
166-
assets[getFileNameWithOutExt(exposeKey)] = getAssetsByChunk(chunk);
169+
assets[getFileNameWithOutExt(exposeKey)] = getAssetsByChunk(
170+
chunk,
171+
entryPointNames,
172+
);
167173
}
168174
});
169175

170176
return assets;
171177
}
172-
173178
private _getProvideSharedAssets(
174179
compilation: Compilation,
175180
stats: StatsCompilation,

packages/manifest/src/utils.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,10 @@ export function getSharedModules(
147147
return effectiveSharedModules;
148148
}
149149

150-
export function getAssetsByChunk(chunk: Chunk): StatsAssets {
150+
export function getAssetsByChunk(
151+
chunk: Chunk,
152+
entryPointNames: Array<string>,
153+
): StatsAssets {
151154
const assesSet = {
152155
js: {
153156
sync: new Set() as Set<string>,
@@ -164,11 +167,13 @@ export function getAssetsByChunk(chunk: Chunk): StatsAssets {
164167
type: 'sync' | 'async',
165168
): void => {
166169
[...targetChunk.groupsIterable].forEach((chunkGroup) => {
167-
collectAssets(
168-
chunkGroup.getFiles(),
169-
assesSet.js[type],
170-
assesSet.css[type],
171-
);
170+
if (chunkGroup.name && !entryPointNames.includes(chunkGroup.name)) {
171+
collectAssets(
172+
chunkGroup.getFiles(),
173+
assesSet.js[type],
174+
assesSet.css[type],
175+
);
176+
}
172177
});
173178
};
174179
collectChunkFiles(chunk, 'sync');

0 commit comments

Comments
 (0)