Skip to content

Commit de350f3

Browse files
authored
fix(modern-js-plugin): adjust fetch type (#3825)
1 parent d7edf3d commit de350f3

File tree

3 files changed

+20
-6
lines changed

3 files changed

+20
-6
lines changed

.changeset/weak-spoons-begin.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@module-federation/modern-js': patch
3+
---
4+
5+
fix(modern-js-plugin): adjust fetch type

packages/modernjs/src/cli/mfRuntimePlugins/auto-fetch-data.ts

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -63,18 +63,26 @@ const autoFetchData: () => FederationRuntimePlugin = () => ({
6363
}
6464

6565
const dataFetchMap = getDataFetchMap();
66-
const downgradeType = remoteSnapshot.modules.find(
67-
(module) =>
68-
module.moduleName === `${dataFetchName}${DATA_FETCH_CLIENT_SUFFIX}`,
69-
)
66+
const hasSSRAsset = Boolean(remoteSnapshot.ssrRemoteEntry);
67+
const hasDataFetchClient = Boolean(
68+
remoteSnapshot.modules.find(
69+
(module) =>
70+
module.moduleName === `${dataFetchName}${DATA_FETCH_CLIENT_SUFFIX}`,
71+
),
72+
);
73+
const downgradeType = hasDataFetchClient
7074
? MF_DATA_FETCH_TYPE.FETCH_CLIENT
71-
: MF_DATA_FETCH_TYPE.FETCH_SERVER;
75+
: hasSSRAsset
76+
? MF_DATA_FETCH_TYPE.FETCH_SERVER
77+
: MF_DATA_FETCH_TYPE.FETCH_CLIENT;
7278
let finalDataFetchId = dataFetchId;
7379

7480
if (typeof window !== 'undefined') {
7581
finalDataFetchId =
7682
downgradeType === MF_DATA_FETCH_TYPE.FETCH_CLIENT
77-
? `${dataFetchId}${DATA_FETCH_CLIENT_SUFFIX}`
83+
? hasDataFetchClient
84+
? `${dataFetchId}${DATA_FETCH_CLIENT_SUFFIX}`
85+
: dataFetchId
7886
: dataFetchId;
7987
}
8088

packages/node/src/runtimePlugin.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ export const resolveUrl = (
176176
} catch {
177177
const entryUrl =
178178
returnFromCache(remoteName) || returnFromGlobalInstances(remoteName);
179+
179180
if (!entryUrl) return null;
180181

181182
const url = new URL(entryUrl);

0 commit comments

Comments
 (0)