@module-federation/vite 1.0.0-alpha-10e1f83 → 1.0.0-alpha-6cae9ab
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/lib/index.cjs +13 -5
- package/lib/index.esm.js +13 -5
- package/lib/index.modern.js +19 -5
- package/lib/index.umd.js +13 -5
- package/lib/virtualModules/virtualRemoteEntry.d.ts +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -56,6 +56,11 @@ export default defineConfig({
|
|
|
56
56
|
// If you set build.target: "chrome89", you can remove this plugin
|
|
57
57
|
// topLevelAwait(),
|
|
58
58
|
],
|
|
59
|
+
server: {
|
|
60
|
+
port: 5173,
|
|
61
|
+
// dev mode please set origin
|
|
62
|
+
origin: "http://localhost:5173"
|
|
63
|
+
},
|
|
59
64
|
build: {
|
|
60
65
|
target: 'chrome89',
|
|
61
66
|
},
|
|
@@ -72,6 +77,7 @@ export default defineConfig({
|
|
|
72
77
|
- feat: download remote d.ts
|
|
73
78
|
- feat: generate d.ts
|
|
74
79
|
- feat: support @vitejs/plugin-legacy
|
|
80
|
+
- feat: Another plugin, when only some remote modules are started, automatically completes HMR[(#54)](https://github.com/module-federation/vite/issues/54)
|
|
75
81
|
|
|
76
82
|
### So far so good 🎉
|
|
77
83
|
|
package/lib/index.cjs
CHANGED
|
@@ -149,10 +149,18 @@ function normalizeRemoteItem(key, remote) {
|
|
|
149
149
|
entryGlobalName: key
|
|
150
150
|
}, remote);
|
|
151
151
|
}
|
|
152
|
+
function removePathFromNpmPackage(packageString) {
|
|
153
|
+
// 匹配npm包名的正则表达式,忽略路径部分
|
|
154
|
+
var regex = /^(?:@[^/]+\/)?[^/]+/;
|
|
155
|
+
// 使用正则表达式匹配并提取包名
|
|
156
|
+
var match = packageString.match(regex);
|
|
157
|
+
// 返回匹配到的包名,如果没有匹配到则返回原字符串
|
|
158
|
+
return match ? match[0] : packageString;
|
|
159
|
+
}
|
|
152
160
|
function normalizeShareItem(key, shareItem) {
|
|
153
161
|
var version;
|
|
154
162
|
try {
|
|
155
|
-
version = require(path__namespace.join(key, 'package.json')).version;
|
|
163
|
+
version = require(path__namespace.join(removePathFromNpmPackage(key), 'package.json')).version;
|
|
156
164
|
} catch (e) {
|
|
157
165
|
console.log(e);
|
|
158
166
|
}
|
|
@@ -280,7 +288,7 @@ function npmPackageNameToFileName(packageName) {
|
|
|
280
288
|
}
|
|
281
289
|
|
|
282
290
|
var emptyPath = require.resolve('an-empty-js-file');
|
|
283
|
-
var REMOTE_ENTRY_ID =
|
|
291
|
+
var REMOTE_ENTRY_ID = 'REMOTE_ENTRY_ID';
|
|
284
292
|
function generateRemoteEntry(options) {
|
|
285
293
|
var pluginImportNames = options.runtimePlugins.map(function (p, i) {
|
|
286
294
|
return ["$runtimePlugin_" + i, "import $runtimePlugin_" + i + " from \"" + p + "\";"];
|
|
@@ -291,7 +299,7 @@ function generateRemoteEntry(options) {
|
|
|
291
299
|
return "\n " + JSON.stringify(key) + ": async () => {\n const importModule = await import(" + JSON.stringify(options.exposes[key]["import"]) + ")\n const exportModule = {}\n Object.assign(exportModule, importModule)\n Object.defineProperty(exportModule, \"__esModule\", {\n value: true,\n enumerable: false\n })\n return exportModule\n }\n ";
|
|
292
300
|
}).join(',') + "\n }\n import localSharedImportMap from \"" + getLocalSharedImportMapId() + "\"\n async function init(shared = {}) {\n const localShared = {\n " + Object.keys(options.shared).map(function (key) {
|
|
293
301
|
var shareItem = options.shared[key];
|
|
294
|
-
return "\n " + JSON.stringify(key) + ": {\n name: " + JSON.stringify(shareItem.name) + ",\n version: " + JSON.stringify(shareItem.version) + ",\n scope: [" + JSON.stringify(shareItem.scope) + "],\n loaded: false,\n from: " + JSON.stringify(options.name) + ",\n async get () {\n localShared[" + JSON.stringify(key) + "].loaded = true\n const {" + JSON.stringify(key) + ": pkgDynamicImport} = localSharedImportMap \n const res = await pkgDynamicImport()\n return function () {\n return
|
|
302
|
+
return "\n " + JSON.stringify(key) + ": {\n name: " + JSON.stringify(shareItem.name) + ",\n version: " + JSON.stringify(shareItem.version) + ",\n scope: [" + JSON.stringify(shareItem.scope) + "],\n loaded: false,\n from: " + JSON.stringify(options.name) + ",\n async get () {\n localShared[" + JSON.stringify(key) + "].loaded = true\n const {" + JSON.stringify(key) + ": pkgDynamicImport} = localSharedImportMap \n const res = await pkgDynamicImport()\n const exportModule = {...res}\n // All npm packages pre-built by vite will be converted to esm\n Object.defineProperty(exportModule, \"__esModule\", {\n value: true,\n enumerable: false\n })\n return function () {\n return exportModule\n }\n },\n shareConfig: {\n singleton: " + shareItem.shareConfig.singleton + ",\n requiredVersion: " + JSON.stringify(shareItem.shareConfig.requiredVersion) + "\n }\n }\n ";
|
|
295
303
|
}).join(',') + "\n }\n const initRes = runtimeInit({\n name: " + JSON.stringify(options.name) + ",\n remotes: [" + Object.keys(options.remotes).map(function (key) {
|
|
296
304
|
var remote = options.remotes[key];
|
|
297
305
|
return "\n {\n entryGlobalName: " + JSON.stringify(remote.entryGlobalName) + ",\n name: " + JSON.stringify(remote.name) + ",\n type: " + JSON.stringify(remote.type) + ",\n entry: " + JSON.stringify(remote.entry) + ",\n }\n ";
|
|
@@ -299,7 +307,7 @@ function generateRemoteEntry(options) {
|
|
|
299
307
|
return item[0] + "()";
|
|
300
308
|
}).join(', ') + "]\n });\n initRes.initShareScopeMap('" + options.shareScope + "', shared);\n return initRes\n }\n\n function getExposes(moduleName) {\n if (!(moduleName in exposesMap)) throw new Error(`Module ${moduleName} does not exist in container.`)\n return (exposesMap[moduleName])().then(res => () => res)\n }\n export {\n init,\n getExposes as get\n }\n ";
|
|
301
309
|
}
|
|
302
|
-
var WRAP_REMOTE_ENTRY_QUERY_STR =
|
|
310
|
+
var WRAP_REMOTE_ENTRY_QUERY_STR = '__mf__wrapRemoteEntry__';
|
|
303
311
|
var WRAP_REMOTE_ENTRY_PATH = emptyPath + '?' + WRAP_REMOTE_ENTRY_QUERY_STR;
|
|
304
312
|
function generateWrapRemoteEntry() {
|
|
305
313
|
return "\n import {init, get} from \"" + REMOTE_ENTRY_ID + "\"\n export {init, get}\n ";
|
|
@@ -308,7 +316,7 @@ function generateWrapRemoteEntry() {
|
|
|
308
316
|
* Inject entry file, automatically init when used as host,
|
|
309
317
|
* and will not inject remoteEntry
|
|
310
318
|
*/
|
|
311
|
-
var HOST_AUTO_INIT_QUERY_STR =
|
|
319
|
+
var HOST_AUTO_INIT_QUERY_STR = '__mf__isHostInit';
|
|
312
320
|
var HOST_AUTO_INIT_PATH = emptyPath + '?' + HOST_AUTO_INIT_QUERY_STR;
|
|
313
321
|
function generateWrapHostInit() {
|
|
314
322
|
return "\n import {init} from \"" + REMOTE_ENTRY_ID + "\"\n init()\n ";
|
package/lib/index.esm.js
CHANGED
|
@@ -127,10 +127,18 @@ function normalizeRemoteItem(key, remote) {
|
|
|
127
127
|
entryGlobalName: key
|
|
128
128
|
}, remote);
|
|
129
129
|
}
|
|
130
|
+
function removePathFromNpmPackage(packageString) {
|
|
131
|
+
// 匹配npm包名的正则表达式,忽略路径部分
|
|
132
|
+
var regex = /^(?:@[^/]+\/)?[^/]+/;
|
|
133
|
+
// 使用正则表达式匹配并提取包名
|
|
134
|
+
var match = packageString.match(regex);
|
|
135
|
+
// 返回匹配到的包名,如果没有匹配到则返回原字符串
|
|
136
|
+
return match ? match[0] : packageString;
|
|
137
|
+
}
|
|
130
138
|
function normalizeShareItem(key, shareItem) {
|
|
131
139
|
var version;
|
|
132
140
|
try {
|
|
133
|
-
version = require(path.join(key, 'package.json')).version;
|
|
141
|
+
version = require(path.join(removePathFromNpmPackage(key), 'package.json')).version;
|
|
134
142
|
} catch (e) {
|
|
135
143
|
console.log(e);
|
|
136
144
|
}
|
|
@@ -258,7 +266,7 @@ function npmPackageNameToFileName(packageName) {
|
|
|
258
266
|
}
|
|
259
267
|
|
|
260
268
|
var emptyPath = require.resolve('an-empty-js-file');
|
|
261
|
-
var REMOTE_ENTRY_ID =
|
|
269
|
+
var REMOTE_ENTRY_ID = 'REMOTE_ENTRY_ID';
|
|
262
270
|
function generateRemoteEntry(options) {
|
|
263
271
|
var pluginImportNames = options.runtimePlugins.map(function (p, i) {
|
|
264
272
|
return ["$runtimePlugin_" + i, "import $runtimePlugin_" + i + " from \"" + p + "\";"];
|
|
@@ -269,7 +277,7 @@ function generateRemoteEntry(options) {
|
|
|
269
277
|
return "\n " + JSON.stringify(key) + ": async () => {\n const importModule = await import(" + JSON.stringify(options.exposes[key]["import"]) + ")\n const exportModule = {}\n Object.assign(exportModule, importModule)\n Object.defineProperty(exportModule, \"__esModule\", {\n value: true,\n enumerable: false\n })\n return exportModule\n }\n ";
|
|
270
278
|
}).join(',') + "\n }\n import localSharedImportMap from \"" + getLocalSharedImportMapId() + "\"\n async function init(shared = {}) {\n const localShared = {\n " + Object.keys(options.shared).map(function (key) {
|
|
271
279
|
var shareItem = options.shared[key];
|
|
272
|
-
return "\n " + JSON.stringify(key) + ": {\n name: " + JSON.stringify(shareItem.name) + ",\n version: " + JSON.stringify(shareItem.version) + ",\n scope: [" + JSON.stringify(shareItem.scope) + "],\n loaded: false,\n from: " + JSON.stringify(options.name) + ",\n async get () {\n localShared[" + JSON.stringify(key) + "].loaded = true\n const {" + JSON.stringify(key) + ": pkgDynamicImport} = localSharedImportMap \n const res = await pkgDynamicImport()\n return function () {\n return
|
|
280
|
+
return "\n " + JSON.stringify(key) + ": {\n name: " + JSON.stringify(shareItem.name) + ",\n version: " + JSON.stringify(shareItem.version) + ",\n scope: [" + JSON.stringify(shareItem.scope) + "],\n loaded: false,\n from: " + JSON.stringify(options.name) + ",\n async get () {\n localShared[" + JSON.stringify(key) + "].loaded = true\n const {" + JSON.stringify(key) + ": pkgDynamicImport} = localSharedImportMap \n const res = await pkgDynamicImport()\n const exportModule = {...res}\n // All npm packages pre-built by vite will be converted to esm\n Object.defineProperty(exportModule, \"__esModule\", {\n value: true,\n enumerable: false\n })\n return function () {\n return exportModule\n }\n },\n shareConfig: {\n singleton: " + shareItem.shareConfig.singleton + ",\n requiredVersion: " + JSON.stringify(shareItem.shareConfig.requiredVersion) + "\n }\n }\n ";
|
|
273
281
|
}).join(',') + "\n }\n const initRes = runtimeInit({\n name: " + JSON.stringify(options.name) + ",\n remotes: [" + Object.keys(options.remotes).map(function (key) {
|
|
274
282
|
var remote = options.remotes[key];
|
|
275
283
|
return "\n {\n entryGlobalName: " + JSON.stringify(remote.entryGlobalName) + ",\n name: " + JSON.stringify(remote.name) + ",\n type: " + JSON.stringify(remote.type) + ",\n entry: " + JSON.stringify(remote.entry) + ",\n }\n ";
|
|
@@ -277,7 +285,7 @@ function generateRemoteEntry(options) {
|
|
|
277
285
|
return item[0] + "()";
|
|
278
286
|
}).join(', ') + "]\n });\n initRes.initShareScopeMap('" + options.shareScope + "', shared);\n return initRes\n }\n\n function getExposes(moduleName) {\n if (!(moduleName in exposesMap)) throw new Error(`Module ${moduleName} does not exist in container.`)\n return (exposesMap[moduleName])().then(res => () => res)\n }\n export {\n init,\n getExposes as get\n }\n ";
|
|
279
287
|
}
|
|
280
|
-
var WRAP_REMOTE_ENTRY_QUERY_STR =
|
|
288
|
+
var WRAP_REMOTE_ENTRY_QUERY_STR = '__mf__wrapRemoteEntry__';
|
|
281
289
|
var WRAP_REMOTE_ENTRY_PATH = emptyPath + '?' + WRAP_REMOTE_ENTRY_QUERY_STR;
|
|
282
290
|
function generateWrapRemoteEntry() {
|
|
283
291
|
return "\n import {init, get} from \"" + REMOTE_ENTRY_ID + "\"\n export {init, get}\n ";
|
|
@@ -286,7 +294,7 @@ function generateWrapRemoteEntry() {
|
|
|
286
294
|
* Inject entry file, automatically init when used as host,
|
|
287
295
|
* and will not inject remoteEntry
|
|
288
296
|
*/
|
|
289
|
-
var HOST_AUTO_INIT_QUERY_STR =
|
|
297
|
+
var HOST_AUTO_INIT_QUERY_STR = '__mf__isHostInit';
|
|
290
298
|
var HOST_AUTO_INIT_PATH = emptyPath + '?' + HOST_AUTO_INIT_QUERY_STR;
|
|
291
299
|
function generateWrapHostInit() {
|
|
292
300
|
return "\n import {init} from \"" + REMOTE_ENTRY_ID + "\"\n init()\n ";
|
package/lib/index.modern.js
CHANGED
|
@@ -134,10 +134,18 @@ function normalizeRemoteItem(key, remote) {
|
|
|
134
134
|
entryGlobalName: key
|
|
135
135
|
}, remote);
|
|
136
136
|
}
|
|
137
|
+
function removePathFromNpmPackage(packageString) {
|
|
138
|
+
// 匹配npm包名的正则表达式,忽略路径部分
|
|
139
|
+
const regex = /^(?:@[^/]+\/)?[^/]+/;
|
|
140
|
+
// 使用正则表达式匹配并提取包名
|
|
141
|
+
const match = packageString.match(regex);
|
|
142
|
+
// 返回匹配到的包名,如果没有匹配到则返回原字符串
|
|
143
|
+
return match ? match[0] : packageString;
|
|
144
|
+
}
|
|
137
145
|
function normalizeShareItem(key, shareItem) {
|
|
138
146
|
let version;
|
|
139
147
|
try {
|
|
140
|
-
version = require(path.join(key, 'package.json')).version;
|
|
148
|
+
version = require(path.join(removePathFromNpmPackage(key), 'package.json')).version;
|
|
141
149
|
} catch (e) {
|
|
142
150
|
console.log(e);
|
|
143
151
|
}
|
|
@@ -286,7 +294,7 @@ function npmPackageNameToFileName(packageName) {
|
|
|
286
294
|
}
|
|
287
295
|
|
|
288
296
|
const emptyPath = require.resolve('an-empty-js-file');
|
|
289
|
-
const REMOTE_ENTRY_ID =
|
|
297
|
+
const REMOTE_ENTRY_ID = 'REMOTE_ENTRY_ID';
|
|
290
298
|
function generateRemoteEntry(options) {
|
|
291
299
|
const pluginImportNames = options.runtimePlugins.map((p, i) => [`$runtimePlugin_${i}`, `import $runtimePlugin_${i} from "${p}";`]);
|
|
292
300
|
return `
|
|
@@ -326,8 +334,14 @@ function generateRemoteEntry(options) {
|
|
|
326
334
|
localShared[${JSON.stringify(key)}].loaded = true
|
|
327
335
|
const {${JSON.stringify(key)}: pkgDynamicImport} = localSharedImportMap
|
|
328
336
|
const res = await pkgDynamicImport()
|
|
337
|
+
const exportModule = {...res}
|
|
338
|
+
// All npm packages pre-built by vite will be converted to esm
|
|
339
|
+
Object.defineProperty(exportModule, "__esModule", {
|
|
340
|
+
value: true,
|
|
341
|
+
enumerable: false
|
|
342
|
+
})
|
|
329
343
|
return function () {
|
|
330
|
-
return
|
|
344
|
+
return exportModule
|
|
331
345
|
}
|
|
332
346
|
},
|
|
333
347
|
shareConfig: {
|
|
@@ -369,7 +383,7 @@ function generateRemoteEntry(options) {
|
|
|
369
383
|
}
|
|
370
384
|
`;
|
|
371
385
|
}
|
|
372
|
-
const WRAP_REMOTE_ENTRY_QUERY_STR =
|
|
386
|
+
const WRAP_REMOTE_ENTRY_QUERY_STR = '__mf__wrapRemoteEntry__';
|
|
373
387
|
const WRAP_REMOTE_ENTRY_PATH = emptyPath + '?' + WRAP_REMOTE_ENTRY_QUERY_STR;
|
|
374
388
|
function generateWrapRemoteEntry() {
|
|
375
389
|
return `
|
|
@@ -381,7 +395,7 @@ function generateWrapRemoteEntry() {
|
|
|
381
395
|
* Inject entry file, automatically init when used as host,
|
|
382
396
|
* and will not inject remoteEntry
|
|
383
397
|
*/
|
|
384
|
-
const HOST_AUTO_INIT_QUERY_STR =
|
|
398
|
+
const HOST_AUTO_INIT_QUERY_STR = '__mf__isHostInit';
|
|
385
399
|
const HOST_AUTO_INIT_PATH = emptyPath + '?' + HOST_AUTO_INIT_QUERY_STR;
|
|
386
400
|
function generateWrapHostInit() {
|
|
387
401
|
return `
|
package/lib/index.umd.js
CHANGED
|
@@ -148,10 +148,18 @@
|
|
|
148
148
|
entryGlobalName: key
|
|
149
149
|
}, remote);
|
|
150
150
|
}
|
|
151
|
+
function removePathFromNpmPackage(packageString) {
|
|
152
|
+
// 匹配npm包名的正则表达式,忽略路径部分
|
|
153
|
+
var regex = /^(?:@[^/]+\/)?[^/]+/;
|
|
154
|
+
// 使用正则表达式匹配并提取包名
|
|
155
|
+
var match = packageString.match(regex);
|
|
156
|
+
// 返回匹配到的包名,如果没有匹配到则返回原字符串
|
|
157
|
+
return match ? match[0] : packageString;
|
|
158
|
+
}
|
|
151
159
|
function normalizeShareItem(key, shareItem) {
|
|
152
160
|
var version;
|
|
153
161
|
try {
|
|
154
|
-
version = require(path__namespace.join(key, 'package.json')).version;
|
|
162
|
+
version = require(path__namespace.join(removePathFromNpmPackage(key), 'package.json')).version;
|
|
155
163
|
} catch (e) {
|
|
156
164
|
console.log(e);
|
|
157
165
|
}
|
|
@@ -279,7 +287,7 @@
|
|
|
279
287
|
}
|
|
280
288
|
|
|
281
289
|
var emptyPath = require.resolve('an-empty-js-file');
|
|
282
|
-
var REMOTE_ENTRY_ID =
|
|
290
|
+
var REMOTE_ENTRY_ID = 'REMOTE_ENTRY_ID';
|
|
283
291
|
function generateRemoteEntry(options) {
|
|
284
292
|
var pluginImportNames = options.runtimePlugins.map(function (p, i) {
|
|
285
293
|
return ["$runtimePlugin_" + i, "import $runtimePlugin_" + i + " from \"" + p + "\";"];
|
|
@@ -290,7 +298,7 @@
|
|
|
290
298
|
return "\n " + JSON.stringify(key) + ": async () => {\n const importModule = await import(" + JSON.stringify(options.exposes[key]["import"]) + ")\n const exportModule = {}\n Object.assign(exportModule, importModule)\n Object.defineProperty(exportModule, \"__esModule\", {\n value: true,\n enumerable: false\n })\n return exportModule\n }\n ";
|
|
291
299
|
}).join(',') + "\n }\n import localSharedImportMap from \"" + getLocalSharedImportMapId() + "\"\n async function init(shared = {}) {\n const localShared = {\n " + Object.keys(options.shared).map(function (key) {
|
|
292
300
|
var shareItem = options.shared[key];
|
|
293
|
-
return "\n " + JSON.stringify(key) + ": {\n name: " + JSON.stringify(shareItem.name) + ",\n version: " + JSON.stringify(shareItem.version) + ",\n scope: [" + JSON.stringify(shareItem.scope) + "],\n loaded: false,\n from: " + JSON.stringify(options.name) + ",\n async get () {\n localShared[" + JSON.stringify(key) + "].loaded = true\n const {" + JSON.stringify(key) + ": pkgDynamicImport} = localSharedImportMap \n const res = await pkgDynamicImport()\n return function () {\n return
|
|
301
|
+
return "\n " + JSON.stringify(key) + ": {\n name: " + JSON.stringify(shareItem.name) + ",\n version: " + JSON.stringify(shareItem.version) + ",\n scope: [" + JSON.stringify(shareItem.scope) + "],\n loaded: false,\n from: " + JSON.stringify(options.name) + ",\n async get () {\n localShared[" + JSON.stringify(key) + "].loaded = true\n const {" + JSON.stringify(key) + ": pkgDynamicImport} = localSharedImportMap \n const res = await pkgDynamicImport()\n const exportModule = {...res}\n // All npm packages pre-built by vite will be converted to esm\n Object.defineProperty(exportModule, \"__esModule\", {\n value: true,\n enumerable: false\n })\n return function () {\n return exportModule\n }\n },\n shareConfig: {\n singleton: " + shareItem.shareConfig.singleton + ",\n requiredVersion: " + JSON.stringify(shareItem.shareConfig.requiredVersion) + "\n }\n }\n ";
|
|
294
302
|
}).join(',') + "\n }\n const initRes = runtimeInit({\n name: " + JSON.stringify(options.name) + ",\n remotes: [" + Object.keys(options.remotes).map(function (key) {
|
|
295
303
|
var remote = options.remotes[key];
|
|
296
304
|
return "\n {\n entryGlobalName: " + JSON.stringify(remote.entryGlobalName) + ",\n name: " + JSON.stringify(remote.name) + ",\n type: " + JSON.stringify(remote.type) + ",\n entry: " + JSON.stringify(remote.entry) + ",\n }\n ";
|
|
@@ -298,7 +306,7 @@
|
|
|
298
306
|
return item[0] + "()";
|
|
299
307
|
}).join(', ') + "]\n });\n initRes.initShareScopeMap('" + options.shareScope + "', shared);\n return initRes\n }\n\n function getExposes(moduleName) {\n if (!(moduleName in exposesMap)) throw new Error(`Module ${moduleName} does not exist in container.`)\n return (exposesMap[moduleName])().then(res => () => res)\n }\n export {\n init,\n getExposes as get\n }\n ";
|
|
300
308
|
}
|
|
301
|
-
var WRAP_REMOTE_ENTRY_QUERY_STR =
|
|
309
|
+
var WRAP_REMOTE_ENTRY_QUERY_STR = '__mf__wrapRemoteEntry__';
|
|
302
310
|
var WRAP_REMOTE_ENTRY_PATH = emptyPath + '?' + WRAP_REMOTE_ENTRY_QUERY_STR;
|
|
303
311
|
function generateWrapRemoteEntry() {
|
|
304
312
|
return "\n import {init, get} from \"" + REMOTE_ENTRY_ID + "\"\n export {init, get}\n ";
|
|
@@ -307,7 +315,7 @@
|
|
|
307
315
|
* Inject entry file, automatically init when used as host,
|
|
308
316
|
* and will not inject remoteEntry
|
|
309
317
|
*/
|
|
310
|
-
var HOST_AUTO_INIT_QUERY_STR =
|
|
318
|
+
var HOST_AUTO_INIT_QUERY_STR = '__mf__isHostInit';
|
|
311
319
|
var HOST_AUTO_INIT_PATH = emptyPath + '?' + HOST_AUTO_INIT_QUERY_STR;
|
|
312
320
|
function generateWrapHostInit() {
|
|
313
321
|
return "\n import {init} from \"" + REMOTE_ENTRY_ID + "\"\n init()\n ";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NormalizedModuleFederationOptions } from
|
|
1
|
+
import { NormalizedModuleFederationOptions } from '../utils/normalizeModuleFederationOptions';
|
|
2
2
|
export declare const REMOTE_ENTRY_ID = "REMOTE_ENTRY_ID";
|
|
3
3
|
export declare function generateRemoteEntry(options: NormalizedModuleFederationOptions): string;
|
|
4
4
|
export declare const WRAP_REMOTE_ENTRY_QUERY_STR = "__mf__wrapRemoteEntry__";
|