@ice/mf-runtime 0.0.11-beta.4 → 1.0.0
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/RemoteModule.js +5 -0
- package/es2017/runtime-plugin.js +3 -5
- package/esm/RemoteModule.js +5 -0
- package/esm/runtime-plugin.js +40 -56
- package/package.json +1 -1
package/es2017/RemoteModule.js
CHANGED
|
@@ -88,6 +88,11 @@ const RemoteModuleInner = ({ module, scope, runtime, publicPath, LoadingComponen
|
|
|
88
88
|
const ErrorFallback = ({ error })=>ErrorComponent || /*#__PURE__*/ React.createElement("div", null, "远程模块加载失败: ", error.message);
|
|
89
89
|
if (!Component) return Loading;
|
|
90
90
|
return /*#__PURE__*/ React.createElement(ErrorBoundary, {
|
|
91
|
+
resetKeys: [
|
|
92
|
+
module,
|
|
93
|
+
scope,
|
|
94
|
+
publicPath
|
|
95
|
+
],
|
|
91
96
|
FallbackComponent: ErrorFallback,
|
|
92
97
|
onError: onError
|
|
93
98
|
}, /*#__PURE__*/ React.createElement(React.Suspense, {
|
package/es2017/runtime-plugin.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { getExtraInfo, getRemoteInfoFromStore, hasConflict } from './mf-global-store';
|
|
3
|
+
import { FallBack } from './FallBack';
|
|
3
4
|
const loadRemotePackagedReactAndRender = async (args)=>{
|
|
4
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;
|
|
5
6
|
const hostVersion = ((_args_origin_options = args.origin.options) === null || _args_origin_options === void 0 ? void 0 : (_args_origin_options_shared = _args_origin_options.shared) === null || _args_origin_options_shared === void 0 ? void 0 : (_args_origin_options_shared_reactdom = _args_origin_options_shared['react-dom']) === null || _args_origin_options_shared_reactdom === void 0 ? void 0 : (_args_origin_options_shared_reactdom_ = _args_origin_options_shared_reactdom[0]) === null || _args_origin_options_shared_reactdom_ === void 0 ? void 0 : _args_origin_options_shared_reactdom_.version) || React.version;
|
|
@@ -18,9 +19,8 @@ const loadRemotePackagedReactAndRender = async (args)=>{
|
|
|
18
19
|
if (!remoteReact || !remoteReactDOM) {
|
|
19
20
|
return null;
|
|
20
21
|
}
|
|
21
|
-
const res = (await import('./FallBack')).FallBack;
|
|
22
22
|
// 返回一个接受 mountNode 和 containerClassName 参数的函数,并添加标记
|
|
23
|
-
const wrappedRender = (mountNode, containerClassName)=>
|
|
23
|
+
const wrappedRender = (mountNode, containerClassName)=>FallBack({
|
|
24
24
|
Original: args.exposeModule.default,
|
|
25
25
|
remoteVersion: ()=>remoteVersion,
|
|
26
26
|
hostVersion: ()=>hostVersion,
|
|
@@ -65,10 +65,8 @@ export const runtimePlugin = ()=>({
|
|
|
65
65
|
console.log('[runtime Plugin onLoad] use same external react');
|
|
66
66
|
return args;
|
|
67
67
|
}
|
|
68
|
-
// 当 external 版本不一致,走降级渲染
|
|
69
|
-
const res = (await import('./FallBack')).FallBack;
|
|
70
68
|
// 返回一个接受 mountNode 和 containerClassName 参数的函数,并添加标记
|
|
71
|
-
const wrappedRender = (mountNode, containerClassName)=>
|
|
69
|
+
const wrappedRender = (mountNode, containerClassName)=>FallBack({
|
|
72
70
|
Original: args.exposeModule.default,
|
|
73
71
|
remoteReactDOM: remoteReactDOM,
|
|
74
72
|
remoteReact: remoteReact,
|
package/esm/RemoteModule.js
CHANGED
|
@@ -121,6 +121,11 @@ var RemoteModuleInner = function(param, ref) {
|
|
|
121
121
|
};
|
|
122
122
|
if (!Component) return Loading;
|
|
123
123
|
return /*#__PURE__*/ React.createElement(ErrorBoundary, {
|
|
124
|
+
resetKeys: [
|
|
125
|
+
module,
|
|
126
|
+
scope,
|
|
127
|
+
publicPath
|
|
128
|
+
],
|
|
124
129
|
FallbackComponent: ErrorFallback,
|
|
125
130
|
onError: onError
|
|
126
131
|
}, /*#__PURE__*/ React.createElement(React.Suspense, {
|
package/esm/runtime-plugin.js
CHANGED
|
@@ -2,9 +2,10 @@ 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
4
|
import { getExtraInfo, getRemoteInfoFromStore, hasConflict } from "./mf-global-store";
|
|
5
|
+
import { FallBack } from "./FallBack";
|
|
5
6
|
var loadRemotePackagedReactAndRender = function() {
|
|
6
7
|
var _ref = _async_to_generator(function(args) {
|
|
7
|
-
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, hostVersion, remoteInstance, remoteVersion, _sharedOptions_find, remoteReactDOM, _sharedOptions_find1, remoteReact,
|
|
8
|
+
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, hostVersion, remoteInstance, remoteVersion, _sharedOptions_find, remoteReactDOM, _sharedOptions_find1, remoteReact, wrappedRender;
|
|
8
9
|
return _ts_generator(this, function(_state) {
|
|
9
10
|
switch(_state.label){
|
|
10
11
|
case 0:
|
|
@@ -16,7 +17,7 @@ var loadRemotePackagedReactAndRender = function() {
|
|
|
16
17
|
remoteVersion = remoteInstance ? (_remoteInstance_options = remoteInstance.options) === null || _remoteInstance_options === void 0 ? void 0 : (_remoteInstance_options_shared = _remoteInstance_options.shared) === null || _remoteInstance_options_shared === void 0 ? void 0 : (_remoteInstance_options_shared_reactdom = _remoteInstance_options_shared["react-dom"]) === null || _remoteInstance_options_shared_reactdom === void 0 ? void 0 : (_remoteInstance_options_shared_reactdom_ = _remoteInstance_options_shared_reactdom[0]) === null || _remoteInstance_options_shared_reactdom_ === void 0 ? void 0 : _remoteInstance_options_shared_reactdom_.version : false;
|
|
17
18
|
if (!(remoteVersion && hostVersion)) return [
|
|
18
19
|
3,
|
|
19
|
-
|
|
20
|
+
3
|
|
20
21
|
];
|
|
21
22
|
return [
|
|
22
23
|
4,
|
|
@@ -48,14 +49,8 @@ var loadRemotePackagedReactAndRender = function() {
|
|
|
48
49
|
null
|
|
49
50
|
];
|
|
50
51
|
}
|
|
51
|
-
return [
|
|
52
|
-
4,
|
|
53
|
-
import("./FallBack")
|
|
54
|
-
];
|
|
55
|
-
case 3:
|
|
56
|
-
res = _state.sent().FallBack;
|
|
57
52
|
wrappedRender = function(mountNode, containerClassName) {
|
|
58
|
-
return
|
|
53
|
+
return FallBack({
|
|
59
54
|
Original: args.exposeModule.default,
|
|
60
55
|
remoteVersion: function() {
|
|
61
56
|
return remoteVersion;
|
|
@@ -75,7 +70,7 @@ var loadRemotePackagedReactAndRender = function() {
|
|
|
75
70
|
2,
|
|
76
71
|
wrappedRender
|
|
77
72
|
];
|
|
78
|
-
case
|
|
73
|
+
case 3:
|
|
79
74
|
return [
|
|
80
75
|
2,
|
|
81
76
|
null
|
|
@@ -104,7 +99,7 @@ export var runtimePlugin = function() {
|
|
|
104
99
|
},
|
|
105
100
|
onLoad: function onLoad(args) {
|
|
106
101
|
return _async_to_generator(function() {
|
|
107
|
-
var _args_origin_options_shared_reactdom_, _args_origin_options_shared_reactdom, _args_origin_options_shared, _args_origin_options, _extraInfo, hostName, remoteName, hostVersion, extraInfo, externalReact, externalReactDOM, remoteReact, remoteReactDOM,
|
|
102
|
+
var _args_origin_options_shared_reactdom_, _args_origin_options_shared_reactdom, _args_origin_options_shared, _args_origin_options, _extraInfo, hostName, remoteName, hostVersion, extraInfo, externalReact, externalReactDOM, remoteReact, remoteReactDOM, wrappedRender, fallBackRender;
|
|
108
103
|
return _ts_generator(this, function(_state) {
|
|
109
104
|
switch(_state.label){
|
|
110
105
|
case 0:
|
|
@@ -112,56 +107,45 @@ export var runtimePlugin = function() {
|
|
|
112
107
|
remoteName = args.remote.name;
|
|
113
108
|
hostVersion = ((_args_origin_options = args.origin.options) === null || _args_origin_options === void 0 ? void 0 : (_args_origin_options_shared = _args_origin_options.shared) === null || _args_origin_options_shared === void 0 ? void 0 : (_args_origin_options_shared_reactdom = _args_origin_options_shared["react-dom"]) === null || _args_origin_options_shared_reactdom === void 0 ? void 0 : (_args_origin_options_shared_reactdom_ = _args_origin_options_shared_reactdom[0]) === null || _args_origin_options_shared_reactdom_ === void 0 ? void 0 : _args_origin_options_shared_reactdom_.version) || React.version;
|
|
114
109
|
extraInfo = getExtraInfo(hostName, remoteName);
|
|
115
|
-
if (
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
110
|
+
if ((_extraInfo = extraInfo) === null || _extraInfo === void 0 ? void 0 : _extraInfo.external) {
|
|
111
|
+
externalReact = extraInfo.external["react"];
|
|
112
|
+
externalReactDOM = extraInfo.external["react-dom"];
|
|
113
|
+
if (externalReact && externalReactDOM) {
|
|
114
|
+
remoteReact = function() {
|
|
115
|
+
return window[externalReact];
|
|
116
|
+
};
|
|
117
|
+
remoteReactDOM = function() {
|
|
118
|
+
return window[externalReactDOM];
|
|
119
|
+
};
|
|
120
|
+
if (remoteReactDOM().version === hostVersion) {
|
|
121
|
+
console.log("[runtime Plugin onLoad] use same external react");
|
|
122
|
+
return [
|
|
123
|
+
2,
|
|
124
|
+
args
|
|
125
|
+
];
|
|
126
|
+
}
|
|
127
|
+
wrappedRender = function(mountNode, containerClassName) {
|
|
128
|
+
return FallBack({
|
|
129
|
+
Original: args.exposeModule.default,
|
|
130
|
+
remoteReactDOM: remoteReactDOM,
|
|
131
|
+
remoteReact: remoteReact,
|
|
132
|
+
mountNode: mountNode,
|
|
133
|
+
containerClassName: containerClassName
|
|
134
|
+
});
|
|
135
|
+
};
|
|
136
|
+
// 添加标记,用于在 RemoteModule 中识别
|
|
137
|
+
wrappedRender.__ICE_MF_RUNTIME_WRAPPER__ = true;
|
|
138
|
+
return [
|
|
139
|
+
2,
|
|
140
|
+
wrappedRender
|
|
141
|
+
];
|
|
142
|
+
}
|
|
137
143
|
}
|
|
138
|
-
return [
|
|
139
|
-
4,
|
|
140
|
-
import("./FallBack")
|
|
141
|
-
];
|
|
142
|
-
case 1:
|
|
143
|
-
res = _state.sent().FallBack;
|
|
144
|
-
wrappedRender = function(mountNode, containerClassName) {
|
|
145
|
-
return res({
|
|
146
|
-
Original: args.exposeModule.default,
|
|
147
|
-
remoteReactDOM: remoteReactDOM,
|
|
148
|
-
remoteReact: remoteReact,
|
|
149
|
-
mountNode: mountNode,
|
|
150
|
-
containerClassName: containerClassName
|
|
151
|
-
});
|
|
152
|
-
};
|
|
153
|
-
// 添加标记,用于在 RemoteModule 中识别
|
|
154
|
-
wrappedRender.__ICE_MF_RUNTIME_WRAPPER__ = true;
|
|
155
|
-
return [
|
|
156
|
-
2,
|
|
157
|
-
wrappedRender
|
|
158
|
-
];
|
|
159
|
-
case 2:
|
|
160
144
|
return [
|
|
161
145
|
4,
|
|
162
146
|
loadRemotePackagedReactAndRender(args)
|
|
163
147
|
];
|
|
164
|
-
case
|
|
148
|
+
case 1:
|
|
165
149
|
fallBackRender = _state.sent();
|
|
166
150
|
if (fallBackRender) {
|
|
167
151
|
return [
|