Skip to content

Commit b02b9c5

Browse files
feat: support Rspack ModuleFederationPluginV1
1 parent d982b65 commit b02b9c5

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

src/plugin.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@ import {
3131
let isCompiledOnce = false;
3232
const isDownloadedOnce = false;
3333

34-
const DEFAULT_MODULE_FEDERATION_PLUGIN_NAME = 'ModuleFederationPlugin';
35-
3634
export class ModuleFederationTypesPlugin implements WebpackPluginInstance {
3735
constructor(public options?: ModuleFederationTypesPluginOptions) {}
3836

@@ -64,21 +62,23 @@ export class ModuleFederationTypesPlugin implements WebpackPluginInstance {
6462
return;
6563
}
6664

67-
// Allow for other module federation plugins such as this "NextFederationPlugin"
68-
const moduleFederationPluginName = this.options?.moduleFederationPluginName
69-
?? DEFAULT_MODULE_FEDERATION_PLUGIN_NAME;
65+
const moduleFederationPluginNames = [
66+
this.options?.moduleFederationPluginName, // Custom module federation plugin, such as NextFederationPlugin
67+
'ModuleFederationPlugin',
68+
'ModuleFederationPluginV1', // WMF v1.0 in Rspack
69+
];
7070

7171
// Get ModuleFederationPlugin config
7272
const federationOptions = compiler.options.plugins.find(
73-
plugin => plugin!.constructor.name === moduleFederationPluginName,
73+
plugin => plugin!.constructor.name && moduleFederationPluginNames.includes(plugin!.constructor.name),
7474
);
7575

7676
// eslint-disable-next-line no-underscore-dangle
7777
const federationPluginOptions: ModuleFederationPluginOptions = (federationOptions as any)?._options;
7878

7979
if (!federationPluginOptions?.name) {
8080
logger.warn(
81-
`Plugin disabled as ${moduleFederationPluginName} is not configured properly. The 'name' option is missing.`,
81+
'Plugin disabled as ModuleFederationPlugin is not configured properly. The "name" option is missing.',
8282
);
8383
return;
8484
}

0 commit comments

Comments
 (0)