@ice/mf-runtime 1.0.4 → 1.0.5
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/es2017/runtime-plugin.js +19 -1
- package/esm/runtime-plugin.js +20 -2
- package/package.json +1 -1
package/es2017/runtime-plugin.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { getExtraInfo, getRemoteInfoFromStore, hasConflict } from './mf-global-store';
|
|
2
|
+
import { getExtraInfo, getMicroMod, getRemoteInfoFromStore, hasConflict } from './mf-global-store';
|
|
3
3
|
import { FallBack } from './FallBack';
|
|
4
4
|
const loadRemotePackagedReactAndRender = async (args)=>{
|
|
5
5
|
var _args_origin_options_shared_reactdom_, _args_origin_options_shared_reactdom, _args_origin_options_shared, _args_origin_options, _remoteInstance_options_shared_reactdom_, _remoteInstance_options_shared_reactdom, _remoteInstance_options_shared, _remoteInstance_options;
|
|
@@ -87,6 +87,24 @@ export const runtimePlugin = ()=>({
|
|
|
87
87
|
async beforeRequest (args) {
|
|
88
88
|
const remoteName = args.id.split('/')[0];
|
|
89
89
|
const hostName = args.options.name;
|
|
90
|
+
try {
|
|
91
|
+
// 清除 window 上带版本号的模块(如果存在)
|
|
92
|
+
if (args.id.includes('/')) {
|
|
93
|
+
var _microMod;
|
|
94
|
+
const moduleNameWithDash = remoteName; // 如 guanghe-workspace
|
|
95
|
+
const microMod = getMicroMod(moduleNameWithDash);
|
|
96
|
+
if ((_microMod = microMod) === null || _microMod === void 0 ? void 0 : _microMod.moduleFederatedName) {
|
|
97
|
+
const versionedModuleName = microMod.moduleFederatedName;
|
|
98
|
+
if (window[versionedModuleName]) {
|
|
99
|
+
console.log(`[beforeRequest] Clearing versioned module from window: ${versionedModuleName}`);
|
|
100
|
+
// @ts-expect-error for global module
|
|
101
|
+
window[versionedModuleName] = null;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
} catch (error) {
|
|
106
|
+
console.error('[beforeRequest] error', error);
|
|
107
|
+
}
|
|
90
108
|
if (!hasConflict(hostName, remoteName)) {
|
|
91
109
|
return args;
|
|
92
110
|
}
|
package/esm/runtime-plugin.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { _ as _async_to_generator } from "@swc/helpers/_/_async_to_generator";
|
|
2
2
|
import { _ as _ts_generator } from "@swc/helpers/_/_ts_generator";
|
|
3
3
|
import * as React from "react";
|
|
4
|
-
import { getExtraInfo, getRemoteInfoFromStore, hasConflict } from "./mf-global-store";
|
|
4
|
+
import { getExtraInfo, getMicroMod, getRemoteInfoFromStore, hasConflict } from "./mf-global-store";
|
|
5
5
|
import { FallBack } from "./FallBack";
|
|
6
6
|
var loadRemotePackagedReactAndRender = function() {
|
|
7
7
|
var _ref = _async_to_generator(function(args) {
|
|
@@ -163,10 +163,28 @@ export var runtimePlugin = function() {
|
|
|
163
163
|
},
|
|
164
164
|
beforeRequest: function beforeRequest(args) {
|
|
165
165
|
return _async_to_generator(function() {
|
|
166
|
-
var remoteName, hostName, newRemoteInfo, requestRemote, hostInstance;
|
|
166
|
+
var remoteName, hostName, _microMod, moduleNameWithDash, microMod, versionedModuleName, newRemoteInfo, requestRemote, hostInstance;
|
|
167
167
|
return _ts_generator(this, function(_state) {
|
|
168
168
|
remoteName = args.id.split("/")[0];
|
|
169
169
|
hostName = args.options.name;
|
|
170
|
+
try {
|
|
171
|
+
// 清除 window 上带版本号的模块(如果存在)
|
|
172
|
+
if (args.id.includes("/")) {
|
|
173
|
+
;
|
|
174
|
+
moduleNameWithDash = remoteName; // 如 guanghe-workspace
|
|
175
|
+
microMod = getMicroMod(moduleNameWithDash);
|
|
176
|
+
if ((_microMod = microMod) === null || _microMod === void 0 ? void 0 : _microMod.moduleFederatedName) {
|
|
177
|
+
versionedModuleName = microMod.moduleFederatedName;
|
|
178
|
+
if (window[versionedModuleName]) {
|
|
179
|
+
console.log("[beforeRequest] Clearing versioned module from window: ".concat(versionedModuleName));
|
|
180
|
+
// @ts-expect-error for global module
|
|
181
|
+
window[versionedModuleName] = null;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
} catch (error) {
|
|
186
|
+
console.error("[beforeRequest] error", error);
|
|
187
|
+
}
|
|
170
188
|
if (!hasConflict(hostName, remoteName)) {
|
|
171
189
|
return [
|
|
172
190
|
2,
|