@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.
@@ -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, {
@@ -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)=>res({
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)=>res({
69
+ const wrappedRender = (mountNode, containerClassName)=>FallBack({
72
70
  Original: args.exposeModule.default,
73
71
  remoteReactDOM: remoteReactDOM,
74
72
  remoteReact: remoteReact,
@@ -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, {
@@ -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, res, wrappedRender;
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
- 4
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 res({
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 4:
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, res, wrappedRender, fallBackRender;
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 (!((_extraInfo = extraInfo) === null || _extraInfo === void 0 ? void 0 : _extraInfo.external)) return [
116
- 3,
117
- 2
118
- ];
119
- externalReact = extraInfo.external["react"];
120
- externalReactDOM = extraInfo.external["react-dom"];
121
- if (!(externalReact && externalReactDOM)) return [
122
- 3,
123
- 2
124
- ];
125
- remoteReact = function() {
126
- return window[externalReact];
127
- };
128
- remoteReactDOM = function() {
129
- return window[externalReactDOM];
130
- };
131
- if (remoteReactDOM().version === hostVersion) {
132
- console.log("[runtime Plugin onLoad] use same external react");
133
- return [
134
- 2,
135
- args
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 3:
148
+ case 1:
165
149
  fallBackRender = _state.sent();
166
150
  if (fallBackRender) {
167
151
  return [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ice/mf-runtime",
3
- "version": "0.0.11-beta.4",
3
+ "version": "1.0.0",
4
4
  "description": "ice mf runtime",
5
5
  "files": [
6
6
  "esm",