Skip to content

Commit 35aead4

Browse files
authored
fix(dts-plugin): zipName should add prefix if remoteEntry has it (#2952)
1 parent 7b7b808 commit 35aead4

File tree

3 files changed

+30
-3
lines changed

3 files changed

+30
-3
lines changed

.changeset/kind-cups-stare.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
'@module-federation/dts-plugin': patch
3+
'@module-federation/manifest': patch
4+
---
5+
6+
fix(dts-plugin): zipName should add prefix if remoteEntry has it

packages/dts-plugin/src/core/lib/utils.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,18 @@ export const validateOptions = (options: HostOptions) => {
3333
};
3434

3535
export function retrieveTypesAssetsInfo(options: RemoteOptions) {
36+
const { moduleFederationConfig } = options;
3637
let apiTypesPath = '';
3738
let zipTypesPath = '';
39+
40+
let zipPrefix = '';
41+
3842
try {
3943
const { tsConfig, remoteOptions, mapComponentsToExpose } =
4044
retrieveRemoteConfig(options);
4145
if (!Object.keys(mapComponentsToExpose).length) {
4246
return {
47+
zipPrefix,
4348
apiTypesPath,
4449
zipTypesPath,
4550
zipName: '',
@@ -52,7 +57,22 @@ export function retrieveTypesAssetsInfo(options: RemoteOptions) {
5257
apiTypesPath = retrieveMfAPITypesPath(tsConfig, remoteOptions);
5358
}
5459

60+
if (
61+
typeof moduleFederationConfig.manifest === 'object' &&
62+
moduleFederationConfig.manifest.filePath
63+
) {
64+
zipPrefix = moduleFederationConfig.manifest.filePath;
65+
} else if (
66+
typeof moduleFederationConfig.manifest === 'object' &&
67+
moduleFederationConfig.manifest.fileName
68+
) {
69+
zipPrefix = path.dirname(moduleFederationConfig.manifest.fileName);
70+
} else if (moduleFederationConfig.filename) {
71+
zipPrefix = path.dirname(moduleFederationConfig.filename);
72+
}
73+
5574
return {
75+
zipPrefix,
5676
apiTypesPath,
5777
zipTypesPath,
5878
zipName: path.basename(zipTypesPath),
@@ -61,6 +81,7 @@ export function retrieveTypesAssetsInfo(options: RemoteOptions) {
6181
} catch (err) {
6282
console.error(ansiColors.red(`Unable to compile federated types, ${err}`));
6383
return {
84+
zipPrefix,
6485
apiTypesPath: '',
6586
zipTypesPath: '',
6687
zipName: '',

packages/manifest/src/utils.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@ export function getTypesMetaInfo(
297297
return defaultTypesMetaInfo;
298298
}
299299

300-
const { apiFileName, zipName } = retrieveTypesAssetsInfo({
300+
const { apiFileName, zipName, zipPrefix } = retrieveTypesAssetsInfo({
301301
...normalizedRemote,
302302
context,
303303
moduleFederationConfig: pluginOptions,
@@ -306,8 +306,8 @@ export function getTypesMetaInfo(
306306
return {
307307
path: '',
308308
name: '',
309-
zip: zipName,
310-
api: apiFileName,
309+
zip: path.join(zipPrefix, zipName),
310+
api: path.join(zipPrefix, apiFileName),
311311
};
312312
} catch (err) {
313313
console.warn(

0 commit comments

Comments
 (0)