@module-federation/bridge-react 0.0.0-next-20241015060033 → 0.0.0-next-20241015065721
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/CHANGELOG.md +3 -3
- package/dist/index.cjs.js +14 -7
- package/dist/index.es.js +14 -7
- package/package.json +3 -3
- package/src/lifecycle.ts +4 -5
- package/src/provider.tsx +2 -3
- package/src/remote/index.tsx +17 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @module-federation/bridge-react
|
|
2
2
|
|
|
3
|
-
## 0.0.0-next-
|
|
3
|
+
## 0.0.0-next-20241015065721
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
- Updated dependencies [9e32644]
|
|
9
9
|
- Updated dependencies [9e32644]
|
|
10
10
|
- Updated dependencies [3082116]
|
|
11
|
-
- @module-federation/runtime@0.0.0-next-
|
|
12
|
-
- @module-federation/bridge-shared@0.0.0-next-
|
|
11
|
+
- @module-federation/runtime@0.0.0-next-20241015065721
|
|
12
|
+
- @module-federation/bridge-shared@0.0.0-next-20241015065721
|
|
13
13
|
|
|
14
14
|
## 0.6.6
|
|
15
15
|
|
package/dist/index.cjs.js
CHANGED
|
@@ -1114,7 +1114,9 @@ function registerBridgeLifeCycle() {
|
|
|
1114
1114
|
const host = runtime.getInstance();
|
|
1115
1115
|
const pluginSystem = new pluginHelper2.PluginSystem({
|
|
1116
1116
|
beforeBridgeRender: new pluginHelper2.SyncHook(),
|
|
1117
|
-
|
|
1117
|
+
afterBridgeRender: new pluginHelper2.SyncHook(),
|
|
1118
|
+
beforeBridgeDestroy: new pluginHelper2.SyncHook(),
|
|
1119
|
+
afterBridgeDestroy: new pluginHelper2.SyncHook()
|
|
1118
1120
|
});
|
|
1119
1121
|
if (host) {
|
|
1120
1122
|
registerPlugins2(
|
|
@@ -1147,7 +1149,7 @@ const RemoteAppWrapper = React.forwardRef(function(props, ref) {
|
|
|
1147
1149
|
var _a, _b;
|
|
1148
1150
|
const providerReturn = providerInfo();
|
|
1149
1151
|
providerInfoRef.current = providerReturn;
|
|
1150
|
-
|
|
1152
|
+
let renderProps = {
|
|
1151
1153
|
moduleName,
|
|
1152
1154
|
dom: rootRef.current,
|
|
1153
1155
|
basename,
|
|
@@ -1161,9 +1163,14 @@ const RemoteAppWrapper = React.forwardRef(function(props, ref) {
|
|
|
1161
1163
|
renderProps
|
|
1162
1164
|
);
|
|
1163
1165
|
if (bridgeHook && ((_a = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _a.beforeBridgeRender)) {
|
|
1164
|
-
(_b = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _b.beforeBridgeRender.emit({
|
|
1166
|
+
const beforeBridgeRenderRes = (_b = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _b.beforeBridgeRender.emit({
|
|
1165
1167
|
...renderProps
|
|
1166
1168
|
});
|
|
1169
|
+
const extraProps = beforeBridgeRenderRes && typeof beforeBridgeRenderRes === "object" && (beforeBridgeRenderRes == null ? void 0 : beforeBridgeRenderRes.extraProps) ? beforeBridgeRenderRes == null ? void 0 : beforeBridgeRenderRes.extraProps : {};
|
|
1170
|
+
renderProps = {
|
|
1171
|
+
...renderProps,
|
|
1172
|
+
...extraProps
|
|
1173
|
+
};
|
|
1167
1174
|
}
|
|
1168
1175
|
providerReturn.render(renderProps);
|
|
1169
1176
|
});
|
|
@@ -1176,8 +1183,8 @@ const RemoteAppWrapper = React.forwardRef(function(props, ref) {
|
|
|
1176
1183
|
`createRemoteComponent LazyComponent destroy >>>`,
|
|
1177
1184
|
{ moduleName, basename, dom: renderDom.current }
|
|
1178
1185
|
);
|
|
1179
|
-
if (bridgeHook && ((_b = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _b.
|
|
1180
|
-
(_c = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _c.
|
|
1186
|
+
if (bridgeHook && ((_b = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _b.afterBridgeDestroy)) {
|
|
1187
|
+
(_c = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _c.afterBridgeDestroy.emit({
|
|
1181
1188
|
moduleName,
|
|
1182
1189
|
dom: renderDom.current,
|
|
1183
1190
|
basename,
|
|
@@ -1380,7 +1387,7 @@ function createBridgeComponent(bridgeInfo) {
|
|
|
1380
1387
|
} = info;
|
|
1381
1388
|
const beforeBridgeRender = (bridgeInfo == null ? void 0 : bridgeInfo.hooks) && (bridgeInfo == null ? void 0 : bridgeInfo.hooks.beforeBridgeRender) || ((_a = params == null ? void 0 : params.hooks) == null ? void 0 : _a.beforeBridgeRender);
|
|
1382
1389
|
const beforeBridgeRenderRes = beforeBridgeRender && beforeBridgeRender(info);
|
|
1383
|
-
const
|
|
1390
|
+
const extraProps = beforeBridgeRenderRes && typeof beforeBridgeRenderRes === "object" && (beforeBridgeRenderRes == null ? void 0 : beforeBridgeRenderRes.extraProps) ? beforeBridgeRenderRes == null ? void 0 : beforeBridgeRenderRes.extraProps : {};
|
|
1384
1391
|
const rootComponentWithErrorBoundary = (
|
|
1385
1392
|
// set ErrorBoundary for RawComponent rendering error, usually caused by user app rendering error
|
|
1386
1393
|
/* @__PURE__ */ React__namespace.createElement(ErrorBoundary, { FallbackComponent: fallback }, /* @__PURE__ */ React__namespace.createElement(
|
|
@@ -1391,7 +1398,7 @@ function createBridgeComponent(bridgeInfo) {
|
|
|
1391
1398
|
basename,
|
|
1392
1399
|
memoryRoute
|
|
1393
1400
|
},
|
|
1394
|
-
propsInfo: { propsInfo, ...
|
|
1401
|
+
propsInfo: { ...propsInfo, ...extraProps }
|
|
1395
1402
|
}
|
|
1396
1403
|
))
|
|
1397
1404
|
);
|
package/dist/index.es.js
CHANGED
|
@@ -1095,7 +1095,9 @@ function registerBridgeLifeCycle() {
|
|
|
1095
1095
|
const host = getInstance();
|
|
1096
1096
|
const pluginSystem = new pluginHelper2.PluginSystem({
|
|
1097
1097
|
beforeBridgeRender: new pluginHelper2.SyncHook(),
|
|
1098
|
-
|
|
1098
|
+
afterBridgeRender: new pluginHelper2.SyncHook(),
|
|
1099
|
+
beforeBridgeDestroy: new pluginHelper2.SyncHook(),
|
|
1100
|
+
afterBridgeDestroy: new pluginHelper2.SyncHook()
|
|
1099
1101
|
});
|
|
1100
1102
|
if (host) {
|
|
1101
1103
|
registerPlugins2(
|
|
@@ -1128,7 +1130,7 @@ const RemoteAppWrapper = forwardRef(function(props, ref) {
|
|
|
1128
1130
|
var _a, _b;
|
|
1129
1131
|
const providerReturn = providerInfo();
|
|
1130
1132
|
providerInfoRef.current = providerReturn;
|
|
1131
|
-
|
|
1133
|
+
let renderProps = {
|
|
1132
1134
|
moduleName,
|
|
1133
1135
|
dom: rootRef.current,
|
|
1134
1136
|
basename,
|
|
@@ -1142,9 +1144,14 @@ const RemoteAppWrapper = forwardRef(function(props, ref) {
|
|
|
1142
1144
|
renderProps
|
|
1143
1145
|
);
|
|
1144
1146
|
if (bridgeHook && ((_a = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _a.beforeBridgeRender)) {
|
|
1145
|
-
(_b = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _b.beforeBridgeRender.emit({
|
|
1147
|
+
const beforeBridgeRenderRes = (_b = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _b.beforeBridgeRender.emit({
|
|
1146
1148
|
...renderProps
|
|
1147
1149
|
});
|
|
1150
|
+
const extraProps = beforeBridgeRenderRes && typeof beforeBridgeRenderRes === "object" && (beforeBridgeRenderRes == null ? void 0 : beforeBridgeRenderRes.extraProps) ? beforeBridgeRenderRes == null ? void 0 : beforeBridgeRenderRes.extraProps : {};
|
|
1151
|
+
renderProps = {
|
|
1152
|
+
...renderProps,
|
|
1153
|
+
...extraProps
|
|
1154
|
+
};
|
|
1148
1155
|
}
|
|
1149
1156
|
providerReturn.render(renderProps);
|
|
1150
1157
|
});
|
|
@@ -1157,8 +1164,8 @@ const RemoteAppWrapper = forwardRef(function(props, ref) {
|
|
|
1157
1164
|
`createRemoteComponent LazyComponent destroy >>>`,
|
|
1158
1165
|
{ moduleName, basename, dom: renderDom.current }
|
|
1159
1166
|
);
|
|
1160
|
-
if (bridgeHook && ((_b = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _b.
|
|
1161
|
-
(_c = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _c.
|
|
1167
|
+
if (bridgeHook && ((_b = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _b.afterBridgeDestroy)) {
|
|
1168
|
+
(_c = bridgeHook == null ? void 0 : bridgeHook.lifecycle) == null ? void 0 : _c.afterBridgeDestroy.emit({
|
|
1162
1169
|
moduleName,
|
|
1163
1170
|
dom: renderDom.current,
|
|
1164
1171
|
basename,
|
|
@@ -1361,7 +1368,7 @@ function createBridgeComponent(bridgeInfo) {
|
|
|
1361
1368
|
} = info;
|
|
1362
1369
|
const beforeBridgeRender = (bridgeInfo == null ? void 0 : bridgeInfo.hooks) && (bridgeInfo == null ? void 0 : bridgeInfo.hooks.beforeBridgeRender) || ((_a = params == null ? void 0 : params.hooks) == null ? void 0 : _a.beforeBridgeRender);
|
|
1363
1370
|
const beforeBridgeRenderRes = beforeBridgeRender && beforeBridgeRender(info);
|
|
1364
|
-
const
|
|
1371
|
+
const extraProps = beforeBridgeRenderRes && typeof beforeBridgeRenderRes === "object" && (beforeBridgeRenderRes == null ? void 0 : beforeBridgeRenderRes.extraProps) ? beforeBridgeRenderRes == null ? void 0 : beforeBridgeRenderRes.extraProps : {};
|
|
1365
1372
|
const rootComponentWithErrorBoundary = (
|
|
1366
1373
|
// set ErrorBoundary for RawComponent rendering error, usually caused by user app rendering error
|
|
1367
1374
|
/* @__PURE__ */ React.createElement(ErrorBoundary, { FallbackComponent: fallback }, /* @__PURE__ */ React.createElement(
|
|
@@ -1372,7 +1379,7 @@ function createBridgeComponent(bridgeInfo) {
|
|
|
1372
1379
|
basename,
|
|
1373
1380
|
memoryRoute
|
|
1374
1381
|
},
|
|
1375
|
-
propsInfo: { propsInfo, ...
|
|
1382
|
+
propsInfo: { ...propsInfo, ...extraProps }
|
|
1376
1383
|
}
|
|
1377
1384
|
))
|
|
1378
1385
|
);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@module-federation/bridge-react",
|
|
3
|
-
"version": "0.0.0-next-
|
|
3
|
+
"version": "0.0.0-next-20241015065721",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@loadable/component": "^5.16.4",
|
|
37
37
|
"react-error-boundary": "^4.0.13",
|
|
38
|
-
"@module-federation/bridge-shared": "0.0.0-next-
|
|
38
|
+
"@module-federation/bridge-shared": "0.0.0-next-20241015065721"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"react": ">=16.9.0",
|
|
42
42
|
"react-dom": ">=16.9.0",
|
|
43
43
|
"react-router-dom": ">=4",
|
|
44
|
-
"@module-federation/runtime": "0.0.0-next-
|
|
44
|
+
"@module-federation/runtime": "0.0.0-next-20241015065721"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@testing-library/react": "15.0.7",
|
package/src/lifecycle.ts
CHANGED
|
@@ -5,14 +5,13 @@ function registerBridgeLifeCycle() {
|
|
|
5
5
|
const { registerPlugins, pluginHelper } = helper.global;
|
|
6
6
|
const host = getInstance();
|
|
7
7
|
const pluginSystem = new pluginHelper.PluginSystem({
|
|
8
|
-
beforeBridgeRender: new pluginHelper.SyncHook<
|
|
9
|
-
|
|
10
|
-
void
|
|
11
|
-
>(),
|
|
8
|
+
beforeBridgeRender: new pluginHelper.SyncHook<[Record<string, any>], any>(),
|
|
9
|
+
afterBridgeRender: new pluginHelper.SyncHook<[Record<string, any>], any>(),
|
|
12
10
|
beforeBridgeDestroy: new pluginHelper.SyncHook<
|
|
13
11
|
[Record<string, any>],
|
|
14
|
-
|
|
12
|
+
any
|
|
15
13
|
>(),
|
|
14
|
+
afterBridgeDestroy: new pluginHelper.SyncHook<[Record<string, any>], any>(),
|
|
16
15
|
});
|
|
17
16
|
|
|
18
17
|
if (host) {
|
package/src/provider.tsx
CHANGED
|
@@ -67,7 +67,7 @@ export function createBridgeComponent<T>(bridgeInfo: ProviderFnParams<T>) {
|
|
|
67
67
|
// 可通过beforeBridgeRender返回一个props对象,用于传递额外的 props 参数
|
|
68
68
|
const beforeBridgeRenderRes =
|
|
69
69
|
beforeBridgeRender && beforeBridgeRender(info);
|
|
70
|
-
const
|
|
70
|
+
const extraProps =
|
|
71
71
|
beforeBridgeRenderRes &&
|
|
72
72
|
typeof beforeBridgeRenderRes === 'object' &&
|
|
73
73
|
beforeBridgeRenderRes?.extraProps
|
|
@@ -83,8 +83,7 @@ export function createBridgeComponent<T>(bridgeInfo: ProviderFnParams<T>) {
|
|
|
83
83
|
basename,
|
|
84
84
|
memoryRoute,
|
|
85
85
|
}}
|
|
86
|
-
|
|
87
|
-
propsInfo={{ propsInfo, ...componentProps } as T}
|
|
86
|
+
propsInfo={{ ...propsInfo, ...extraProps } as T}
|
|
88
87
|
/>
|
|
89
88
|
</ErrorBoundary>
|
|
90
89
|
);
|
package/src/remote/index.tsx
CHANGED
|
@@ -67,7 +67,7 @@ const RemoteAppWrapper = forwardRef(function (
|
|
|
67
67
|
const providerReturn = providerInfo();
|
|
68
68
|
providerInfoRef.current = providerReturn;
|
|
69
69
|
|
|
70
|
-
|
|
70
|
+
let renderProps = {
|
|
71
71
|
moduleName,
|
|
72
72
|
dom: rootRef.current,
|
|
73
73
|
basename,
|
|
@@ -82,11 +82,22 @@ const RemoteAppWrapper = forwardRef(function (
|
|
|
82
82
|
);
|
|
83
83
|
|
|
84
84
|
if (bridgeHook && bridgeHook?.lifecycle?.beforeBridgeRender) {
|
|
85
|
-
|
|
85
|
+
const beforeBridgeRenderRes =
|
|
86
|
+
bridgeHook?.lifecycle?.beforeBridgeRender.emit({
|
|
87
|
+
...renderProps,
|
|
88
|
+
});
|
|
89
|
+
const extraProps =
|
|
90
|
+
beforeBridgeRenderRes &&
|
|
91
|
+
typeof beforeBridgeRenderRes === 'object' &&
|
|
92
|
+
beforeBridgeRenderRes?.extraProps
|
|
93
|
+
? beforeBridgeRenderRes?.extraProps
|
|
94
|
+
: {};
|
|
95
|
+
|
|
96
|
+
renderProps = {
|
|
86
97
|
...renderProps,
|
|
87
|
-
|
|
98
|
+
...extraProps,
|
|
99
|
+
} as any;
|
|
88
100
|
}
|
|
89
|
-
|
|
90
101
|
providerReturn.render(renderProps);
|
|
91
102
|
});
|
|
92
103
|
|
|
@@ -98,8 +109,8 @@ const RemoteAppWrapper = forwardRef(function (
|
|
|
98
109
|
`createRemoteComponent LazyComponent destroy >>>`,
|
|
99
110
|
{ moduleName, basename, dom: renderDom.current },
|
|
100
111
|
);
|
|
101
|
-
if (bridgeHook && bridgeHook?.lifecycle?.
|
|
102
|
-
bridgeHook?.lifecycle?.
|
|
112
|
+
if (bridgeHook && bridgeHook?.lifecycle?.afterBridgeDestroy) {
|
|
113
|
+
bridgeHook?.lifecycle?.afterBridgeDestroy.emit({
|
|
103
114
|
moduleName,
|
|
104
115
|
dom: renderDom.current,
|
|
105
116
|
basename,
|