From a8a01026518f48b68c63c0a58f54516a772a4284 Mon Sep 17 00:00:00 2001 From: zhn Date: Mon, 25 Nov 2024 19:06:16 +0800 Subject: [PATCH] fix: manage implementation option + fix circular import issue (#191) --- README.md | 6 +++++ src/index.ts | 2 +- src/plugins/pluginAddEntry.ts | 1 + src/plugins/pluginProxyRemoteEntry.ts | 24 +++++++++++++++++++ .../normalizeModuleFederationOption.test.ts | 2 +- src/utils/normalizeModuleFederationOptions.ts | 6 ++--- src/virtualModules/virtualRemoteEntry.ts | 19 ++++++++++++--- 7 files changed, 52 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index ab48b2a..73847ea 100644 --- a/README.md +++ b/README.md @@ -67,6 +67,9 @@ export default defineConfig({ shared: ["vue"], }), ], + server: { + origin: "http://localhost:{Your port}" + }, // Do you need to support build targets lower than chrome89? // You can use 'vite-plugin-top-level-await' plugin for that. build: { @@ -106,6 +109,9 @@ export default defineConfig({ shared: ["vue"], }), ], + server: { + origin: "http://localhost:{Your port}" + }, // Do you need to support build targets lower than chrome89? // You can use 'vite-plugin-top-level-await' plugin for that. build: { diff --git a/src/index.ts b/src/index.ts index 60780a8..815bd4f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -68,7 +68,7 @@ function federation(mfUserOptions: ModuleFederationOptions): Plugin[] { // TODO: singleton (config.resolve as any).alias.push({ find: '@module-federation/runtime', - replacement: require.resolve('@module-federation/runtime'), + replacement: options.implementation, }); config.optimizeDeps?.include?.push('@module-federation/runtime'); diff --git a/src/plugins/pluginAddEntry.ts b/src/plugins/pluginAddEntry.ts index d7d35ad..5cd4465 100644 --- a/src/plugins/pluginAddEntry.ts +++ b/src/plugins/pluginAddEntry.ts @@ -55,6 +55,7 @@ const addEntry = ({ }); }, transformIndexHtml(c) { + if (inject !== 'html') return; return c.replace( '', `