diff --git a/packages/rsbuild-plugin/src/cli/index.test.ts b/packages/rsbuild-plugin/src/cli/index.test.ts new file mode 100644 index 0000000000..3ec203cbc7 --- /dev/null +++ b/packages/rsbuild-plugin/src/cli/index.test.ts @@ -0,0 +1,29 @@ +import { pluginModuleFederation } from './index'; +import type { moduleFederationPlugin } from '@module-federation/sdk'; + +describe('pluginModuleFederation', () => { + const mockMFConfig: moduleFederationPlugin.ModuleFederationPluginOptions = { + name: 'test', + exposes: { + './Button': './src/Button', + }, + }; + + it('should work without rsbuildOptions parameter', () => { + const plugin = pluginModuleFederation(mockMFConfig); + expect(plugin).toBeDefined(); + expect(plugin.name).toBe('rsbuild:module-federation-enhanced'); + }); + + it('should work with rsbuildOptions parameter', () => { + const plugin = pluginModuleFederation(mockMFConfig, { ssr: true }); + expect(plugin).toBeDefined(); + expect(plugin.name).toBe('rsbuild:module-federation-enhanced'); + }); + + it('should work with empty rsbuildOptions', () => { + const plugin = pluginModuleFederation(mockMFConfig, {}); + expect(plugin).toBeDefined(); + expect(plugin.name).toBe('rsbuild:module-federation-enhanced'); + }); +}); diff --git a/packages/rsbuild-plugin/src/cli/index.ts b/packages/rsbuild-plugin/src/cli/index.ts index 71921b05a7..011ba0a4fb 100644 --- a/packages/rsbuild-plugin/src/cli/index.ts +++ b/packages/rsbuild-plugin/src/cli/index.ts @@ -98,7 +98,7 @@ const isRspressSSGConfig = (bundlerConfigName?: string) => { export const pluginModuleFederation = ( moduleFederationOptions: ModuleFederationOptions, - rsbuildOptions: RSBUILD_PLUGIN_OPTIONS, + rsbuildOptions?: RSBUILD_PLUGIN_OPTIONS, ): RsbuildPlugin => ({ name: RSBUILD_PLUGIN_MODULE_FEDERATION_NAME, setup: (api) => {