@module-federation/bridge-react 0.0.0-next-20240731082143 → 0.0.0-next-20240731105745

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/dist/index.es.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
- import React__default, { createContext, Component, createElement, isValidElement, useContext, useState, useEffect, useRef, forwardRef } from "react";
3
- import { p as pathJoin, L as LoggerInstance, f, a as atLeastReact18, R as RouterContext } from "./context-Bw2PEwa6.js";
2
+ import React__default, { createContext, Component, createElement, isValidElement, forwardRef, useRef, useEffect, useContext, useState } from "react";
3
+ import { L as LoggerInstance, p as pathJoin, f, a as atLeastReact18, R as RouterContext } from "./context-Bw2PEwa6.js";
4
4
  import * as ReactRouterDOM from "react-router-dom";
5
5
  import ReactDOM from "react-dom";
6
6
  const ErrorBoundaryContext = createContext(null);
@@ -98,55 +98,79 @@ function hasArrayChanged() {
98
98
  let b = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
99
99
  return a.length !== b.length || a.some((item, index) => !Object.is(item, b[index]));
100
100
  }
101
- const RemoteApp = ({
102
- name,
103
- memoryRoute,
104
- basename,
105
- providerInfo,
106
- ...resProps
107
- }) => {
108
- const rootRef = useRef(null);
109
- const renderDom = useRef(null);
110
- const providerInfoRef = useRef(null);
111
- useEffect(() => {
112
- const renderTimeout = setTimeout(() => {
113
- const providerReturn = providerInfo();
114
- providerInfoRef.current = providerReturn;
115
- const renderProps = {
116
- name,
117
- dom: rootRef.current,
118
- basename,
119
- memoryRoute,
120
- ...resProps
121
- };
122
- renderDom.current = rootRef.current;
123
- LoggerInstance.log(
124
- `createRemoteComponent LazyComponent render >>>`,
125
- renderProps
126
- );
127
- providerReturn.render(renderProps);
128
- });
129
- return () => {
130
- clearTimeout(renderTimeout);
131
- setTimeout(() => {
132
- var _a, _b;
133
- if ((_a = providerInfoRef.current) == null ? void 0 : _a.destroy) {
134
- LoggerInstance.log(
135
- `createRemoteComponent LazyComponent destroy >>>`,
136
- { name, basename, dom: renderDom.current }
137
- );
138
- (_b = providerInfoRef.current) == null ? void 0 : _b.destroy({
139
- dom: renderDom.current
140
- });
101
+ const RemoteAppWrapper = forwardRef(function(props, ref) {
102
+ const RemoteApp2 = () => {
103
+ const {
104
+ name,
105
+ memoryRoute,
106
+ basename,
107
+ providerInfo,
108
+ dom,
109
+ className,
110
+ style,
111
+ ...resProps
112
+ } = props;
113
+ const rootRef = ref && "current" in ref ? ref : useRef(null);
114
+ const renderDom = useRef(null);
115
+ const providerInfoRef = useRef(null);
116
+ useEffect(() => {
117
+ const renderTimeout = setTimeout(() => {
118
+ const providerReturn = providerInfo();
119
+ providerInfoRef.current = providerReturn;
120
+ let domElement = null;
121
+ if (dom) {
122
+ domElement = document.querySelector(dom);
123
+ if (!domElement || !(domElement instanceof HTMLElement)) {
124
+ throw new Error(`Invalid dom: ${dom}`);
125
+ }
126
+ rootRef.current = domElement;
127
+ } else {
128
+ domElement = rootRef.current;
141
129
  }
130
+ const renderProps = {
131
+ name,
132
+ dom: domElement,
133
+ basename,
134
+ memoryRoute,
135
+ ...resProps
136
+ };
137
+ renderDom.current = rootRef.current;
138
+ LoggerInstance.log(
139
+ `createRemoteComponent LazyComponent render >>>`,
140
+ renderProps
141
+ );
142
+ providerReturn.render(renderProps);
142
143
  });
143
- };
144
- }, []);
145
- return /* @__PURE__ */ React__default.createElement("div", { ref: rootRef });
146
- };
147
- RemoteApp["__APP_VERSION__"] = "0.3.3";
144
+ return () => {
145
+ clearTimeout(renderTimeout);
146
+ setTimeout(() => {
147
+ var _a, _b;
148
+ if ((_a = providerInfoRef.current) == null ? void 0 : _a.destroy) {
149
+ LoggerInstance.log(
150
+ `createRemoteComponent LazyComponent destroy >>>`,
151
+ { name, basename, dom: renderDom.current }
152
+ );
153
+ (_b = providerInfoRef.current) == null ? void 0 : _b.destroy({
154
+ dom: renderDom.current
155
+ });
156
+ }
157
+ });
158
+ };
159
+ }, []);
160
+ return dom ? null : /* @__PURE__ */ React__default.createElement(
161
+ "div",
162
+ {
163
+ className: props == null ? void 0 : props.className,
164
+ style: props == null ? void 0 : props.style,
165
+ ref: rootRef
166
+ }
167
+ );
168
+ };
169
+ RemoteApp2["__APP_VERSION__"] = "0.3.3";
170
+ return /* @__PURE__ */ React__default.createElement(RemoteApp2, null);
171
+ });
148
172
  function withRouterData(WrappedComponent) {
149
- return (props) => {
173
+ const Component2 = forwardRef(function(props, ref) {
150
174
  var _a;
151
175
  let enableDispathPopstate = false;
152
176
  let routerContextVal;
@@ -204,10 +228,13 @@ function withRouterData(WrappedComponent) {
204
228
  setPathname(location.pathname);
205
229
  }, [location]);
206
230
  }
207
- return /* @__PURE__ */ React__default.createElement(WrappedComponent, { ...props, basename });
208
- };
231
+ return /* @__PURE__ */ React__default.createElement(WrappedComponent, { ...props, basename, ref });
232
+ });
233
+ return forwardRef(function(props, ref) {
234
+ return /* @__PURE__ */ React__default.createElement(Component2, { ...props, ref });
235
+ });
209
236
  }
210
- const RemoteApp$1 = withRouterData(RemoteApp);
237
+ const RemoteApp = withRouterData(RemoteAppWrapper);
211
238
  function createLazyRemoteComponent(info) {
212
239
  const exportName = (info == null ? void 0 : info.export) || "default";
213
240
  return React__default.lazy(async () => {
@@ -224,13 +251,14 @@ function createLazyRemoteComponent(info) {
224
251
  );
225
252
  const exportFn = m2[exportName];
226
253
  if (exportName in m2 && typeof exportFn === "function") {
227
- const RemoteAppComponent = forwardRef((props, _ref) => {
254
+ const RemoteAppComponent = forwardRef((props, ref) => {
228
255
  return /* @__PURE__ */ React__default.createElement(
229
- RemoteApp$1,
256
+ RemoteApp,
230
257
  {
231
258
  name: moduleName,
232
259
  providerInfo: exportFn,
233
260
  exportName: info.export || "default",
261
+ ref,
234
262
  ...props
235
263
  }
236
264
  );
@@ -255,10 +283,10 @@ function createLazyRemoteComponent(info) {
255
283
  });
256
284
  }
257
285
  function createRemoteComponent(info) {
258
- const LazyComponent = createLazyRemoteComponent(info);
259
- return (props) => {
260
- return /* @__PURE__ */ React__default.createElement(ErrorBoundary, { FallbackComponent: info.fallback }, /* @__PURE__ */ React__default.createElement(React__default.Suspense, { fallback: info.loading }, /* @__PURE__ */ React__default.createElement(LazyComponent, { ...props })));
261
- };
286
+ return forwardRef(function(props, ref) {
287
+ const LazyComponent = createLazyRemoteComponent(info);
288
+ return /* @__PURE__ */ React__default.createElement(ErrorBoundary, { FallbackComponent: info.fallback }, /* @__PURE__ */ React__default.createElement(React__default.Suspense, { fallback: info.loading }, /* @__PURE__ */ React__default.createElement(LazyComponent, { ...props, dom: info == null ? void 0 : info.dom, ref })));
289
+ });
262
290
  }
263
291
  var client = {};
264
292
  var m = ReactDOM;
@@ -288,32 +316,59 @@ function createBridgeComponent(bridgeInfo) {
288
316
  return () => {
289
317
  const rootMap = /* @__PURE__ */ new Map();
290
318
  const RawComponent = (info) => {
291
- const { appInfo, propsInfo } = info;
319
+ const { appInfo, propsInfo, ...restProps } = info;
292
320
  const { name, memoryRoute, basename = "/" } = appInfo;
293
- return /* @__PURE__ */ React.createElement(RouterContext.Provider, { value: { name, basename, memoryRoute } }, /* @__PURE__ */ React.createElement(bridgeInfo.rootComponent, { ...propsInfo, basename }));
321
+ return /* @__PURE__ */ React.createElement(RouterContext.Provider, { value: { name, basename, memoryRoute } }, /* @__PURE__ */ React.createElement(
322
+ bridgeInfo.rootComponent,
323
+ {
324
+ ...propsInfo,
325
+ basename,
326
+ ...restProps
327
+ }
328
+ ));
294
329
  };
295
330
  return {
296
- render(info) {
331
+ async render(info) {
297
332
  LoggerInstance.log(`createBridgeComponent render Info`, info);
298
333
  const { name, basename, memoryRoute, ...propsInfo } = info;
299
334
  if (atLeastReact18(React)) {
300
- const root = client.createRoot(info.dom);
301
- rootMap.set(info.dom, root);
302
- root.render(
303
- /* @__PURE__ */ React.createElement(
304
- RawComponent,
305
- {
306
- propsInfo,
307
- appInfo: {
308
- name,
309
- basename,
310
- memoryRoute
335
+ if (bridgeInfo == null ? void 0 : bridgeInfo.render) {
336
+ Promise.resolve(
337
+ bridgeInfo == null ? void 0 : bridgeInfo.render(
338
+ /* @__PURE__ */ React.createElement(
339
+ RawComponent,
340
+ {
341
+ propsInfo,
342
+ appInfo: {
343
+ name,
344
+ basename,
345
+ memoryRoute
346
+ }
347
+ }
348
+ ),
349
+ info.dom
350
+ )
351
+ ).then((root) => rootMap.set(info.dom, root));
352
+ } else {
353
+ const root = client.createRoot(info.dom);
354
+ root.render(
355
+ /* @__PURE__ */ React.createElement(
356
+ RawComponent,
357
+ {
358
+ propsInfo,
359
+ appInfo: {
360
+ name,
361
+ basename,
362
+ memoryRoute
363
+ }
311
364
  }
312
- }
313
- )
314
- );
365
+ )
366
+ );
367
+ rootMap.set(info.dom, root);
368
+ }
315
369
  } else {
316
- ReactDOM.render(
370
+ const renderFunc = (bridgeInfo == null ? void 0 : bridgeInfo.render) || ReactDOM.render;
371
+ renderFunc(
317
372
  /* @__PURE__ */ React.createElement(
318
373
  RawComponent,
319
374
  {
@@ -329,7 +384,7 @@ function createBridgeComponent(bridgeInfo) {
329
384
  );
330
385
  }
331
386
  },
332
- destroy(info) {
387
+ async destroy(info) {
333
388
  LoggerInstance.log(`createBridgeComponent destroy Info`, {
334
389
  dom: info.dom
335
390
  });
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const ReactRouterDom = require("react-router-dom/index.js");
5
+ const context = require("./context--mtFt3tp.cjs");
6
+ function _interopNamespaceDefault(e) {
7
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
+ if (e) {
9
+ for (const k in e) {
10
+ if (k !== "default") {
11
+ const d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: () => e[k]
15
+ });
16
+ }
17
+ }
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+ const ReactRouterDom__namespace = /* @__PURE__ */ _interopNamespaceDefault(ReactRouterDom);
23
+ function WraperRouter(props) {
24
+ const { basename, ...propsRes } = props;
25
+ const routerContextProps = React.useContext(context.RouterContext) || {};
26
+ context.LoggerInstance.log(`WraperRouter info >>>`, {
27
+ ...routerContextProps,
28
+ routerContextProps,
29
+ WraperRouterProps: props
30
+ });
31
+ if (!routerContextProps)
32
+ return /* @__PURE__ */ React.createElement(ReactRouterDom__namespace.BrowserRouter, { ...props });
33
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
34
+ return /* @__PURE__ */ React.createElement(
35
+ ReactRouterDom__namespace.MemoryRouter,
36
+ {
37
+ ...props,
38
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
39
+ }
40
+ );
41
+ }
42
+ return /* @__PURE__ */ React.createElement(
43
+ ReactRouterDom__namespace.BrowserRouter,
44
+ {
45
+ ...propsRes,
46
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
47
+ }
48
+ );
49
+ }
50
+ function WraperRouterProvider(props) {
51
+ const { router, ...propsRes } = props;
52
+ const routerContextProps = React.useContext(context.RouterContext) || {};
53
+ const routers = router.routes;
54
+ context.LoggerInstance.log(`WraperRouterProvider info >>>`, {
55
+ ...routerContextProps,
56
+ routerContextProps,
57
+ WraperRouterProviderProps: props,
58
+ router
59
+ });
60
+ const RouterProvider = ReactRouterDom__namespace["RouterProvider"];
61
+ const createMemoryRouter = ReactRouterDom__namespace["createMemoryRouter"];
62
+ const createBrowserRouter = ReactRouterDom__namespace["createBrowserRouter"];
63
+ if (!routerContextProps)
64
+ return /* @__PURE__ */ React.createElement(RouterProvider, { ...props });
65
+ if (routerContextProps.memoryRoute) {
66
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
67
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
68
+ });
69
+ return /* @__PURE__ */ React.createElement(RouterProvider, { router: MemeoryRouterInstance });
70
+ } else {
71
+ const BrowserRouterInstance = createBrowserRouter(routers, {
72
+ basename: routerContextProps.basename,
73
+ future: router.future,
74
+ window: router.window
75
+ });
76
+ return /* @__PURE__ */ React.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
77
+ }
78
+ }
79
+ exports.BrowserRouter = WraperRouter;
80
+ exports.RouterProvider = WraperRouterProvider;
@@ -0,0 +1,8 @@
1
+ import { default as default_2 } from 'react';
2
+ import * as ReactRouterDom from 'react-router-dom/index.js';
3
+
4
+ export declare function BrowserRouter(props: Parameters<typeof ReactRouterDom.BrowserRouter>[0] | Parameters<typeof ReactRouterDom.MemoryRouter>[0]): default_2.JSX.Element;
5
+
6
+ export declare function RouterProvider(props: Parameters<typeof ReactRouterDom.RouterProvider>[0]): default_2.JSX.Element;
7
+
8
+ export { }
@@ -0,0 +1,63 @@
1
+ import React__default, { useContext } from "react";
2
+ import * as ReactRouterDom from "react-router-dom/index.js";
3
+ import { R as RouterContext, L as LoggerInstance } from "./context-Bw2PEwa6.js";
4
+ function WraperRouter(props) {
5
+ const { basename, ...propsRes } = props;
6
+ const routerContextProps = useContext(RouterContext) || {};
7
+ LoggerInstance.log(`WraperRouter info >>>`, {
8
+ ...routerContextProps,
9
+ routerContextProps,
10
+ WraperRouterProps: props
11
+ });
12
+ if (!routerContextProps)
13
+ return /* @__PURE__ */ React__default.createElement(ReactRouterDom.BrowserRouter, { ...props });
14
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
15
+ return /* @__PURE__ */ React__default.createElement(
16
+ ReactRouterDom.MemoryRouter,
17
+ {
18
+ ...props,
19
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
20
+ }
21
+ );
22
+ }
23
+ return /* @__PURE__ */ React__default.createElement(
24
+ ReactRouterDom.BrowserRouter,
25
+ {
26
+ ...propsRes,
27
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
28
+ }
29
+ );
30
+ }
31
+ function WraperRouterProvider(props) {
32
+ const { router, ...propsRes } = props;
33
+ const routerContextProps = useContext(RouterContext) || {};
34
+ const routers = router.routes;
35
+ LoggerInstance.log(`WraperRouterProvider info >>>`, {
36
+ ...routerContextProps,
37
+ routerContextProps,
38
+ WraperRouterProviderProps: props,
39
+ router
40
+ });
41
+ const RouterProvider = ReactRouterDom["RouterProvider"];
42
+ const createMemoryRouter = ReactRouterDom["createMemoryRouter"];
43
+ const createBrowserRouter = ReactRouterDom["createBrowserRouter"];
44
+ if (!routerContextProps)
45
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { ...props });
46
+ if (routerContextProps.memoryRoute) {
47
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
48
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
49
+ });
50
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { router: MemeoryRouterInstance });
51
+ } else {
52
+ const BrowserRouterInstance = createBrowserRouter(routers, {
53
+ basename: routerContextProps.basename,
54
+ future: router.future,
55
+ window: router.window
56
+ });
57
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
58
+ }
59
+ }
60
+ export {
61
+ WraperRouter as BrowserRouter,
62
+ WraperRouterProvider as RouterProvider
63
+ };
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const ReactRouterDom = require("react-router-dom/dist/index.js");
5
+ const context = require("./context--mtFt3tp.cjs");
6
+ function _interopNamespaceDefault(e) {
7
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
8
+ if (e) {
9
+ for (const k in e) {
10
+ if (k !== "default") {
11
+ const d = Object.getOwnPropertyDescriptor(e, k);
12
+ Object.defineProperty(n, k, d.get ? d : {
13
+ enumerable: true,
14
+ get: () => e[k]
15
+ });
16
+ }
17
+ }
18
+ }
19
+ n.default = e;
20
+ return Object.freeze(n);
21
+ }
22
+ const ReactRouterDom__namespace = /* @__PURE__ */ _interopNamespaceDefault(ReactRouterDom);
23
+ function WraperRouter(props) {
24
+ const { basename, ...propsRes } = props;
25
+ const routerContextProps = React.useContext(context.RouterContext) || {};
26
+ context.LoggerInstance.log(`WraperRouter info >>>`, {
27
+ ...routerContextProps,
28
+ routerContextProps,
29
+ WraperRouterProps: props
30
+ });
31
+ if (!routerContextProps)
32
+ return /* @__PURE__ */ React.createElement(ReactRouterDom__namespace.BrowserRouter, { ...props });
33
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
34
+ return /* @__PURE__ */ React.createElement(
35
+ ReactRouterDom__namespace.MemoryRouter,
36
+ {
37
+ ...props,
38
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
39
+ }
40
+ );
41
+ }
42
+ return /* @__PURE__ */ React.createElement(
43
+ ReactRouterDom__namespace.BrowserRouter,
44
+ {
45
+ ...propsRes,
46
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
47
+ }
48
+ );
49
+ }
50
+ function WraperRouterProvider(props) {
51
+ const { router, ...propsRes } = props;
52
+ const routerContextProps = React.useContext(context.RouterContext) || {};
53
+ const routers = router.routes;
54
+ context.LoggerInstance.log(`WraperRouterProvider info >>>`, {
55
+ ...routerContextProps,
56
+ routerContextProps,
57
+ WraperRouterProviderProps: props,
58
+ router
59
+ });
60
+ const RouterProvider = ReactRouterDom__namespace["RouterProvider"];
61
+ const createMemoryRouter = ReactRouterDom__namespace["createMemoryRouter"];
62
+ const createBrowserRouter = ReactRouterDom__namespace["createBrowserRouter"];
63
+ if (!routerContextProps)
64
+ return /* @__PURE__ */ React.createElement(RouterProvider, { ...props });
65
+ if (routerContextProps.memoryRoute) {
66
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
67
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
68
+ });
69
+ return /* @__PURE__ */ React.createElement(RouterProvider, { router: MemeoryRouterInstance });
70
+ } else {
71
+ const BrowserRouterInstance = createBrowserRouter(routers, {
72
+ basename: routerContextProps.basename,
73
+ future: router.future,
74
+ window: router.window
75
+ });
76
+ return /* @__PURE__ */ React.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
77
+ }
78
+ }
79
+ exports.BrowserRouter = WraperRouter;
80
+ exports.RouterProvider = WraperRouterProvider;
81
+ Object.keys(ReactRouterDom).forEach((k) => {
82
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k))
83
+ Object.defineProperty(exports, k, {
84
+ enumerable: true,
85
+ get: () => ReactRouterDom[k]
86
+ });
87
+ });
@@ -0,0 +1,11 @@
1
+ import { default as default_2 } from 'react';
2
+ import * as ReactRouterDom from 'react-router-dom/dist/index.js';
3
+
4
+ export declare function BrowserRouter(props: Parameters<typeof ReactRouterDom.BrowserRouter>[0] | Parameters<typeof ReactRouterDom.MemoryRouter>[0]): default_2.JSX.Element;
5
+
6
+ export declare function RouterProvider(props: Parameters<typeof ReactRouterDom.RouterProvider>[0]): default_2.JSX.Element;
7
+
8
+
9
+ export * from "react-router-dom/dist/index.js";
10
+
11
+ export { }
@@ -0,0 +1,64 @@
1
+ import React__default, { useContext } from "react";
2
+ import * as ReactRouterDom from "react-router-dom/dist/index.js";
3
+ export * from "react-router-dom/dist/index.js";
4
+ import { R as RouterContext, L as LoggerInstance } from "./context-Bw2PEwa6.js";
5
+ function WraperRouter(props) {
6
+ const { basename, ...propsRes } = props;
7
+ const routerContextProps = useContext(RouterContext) || {};
8
+ LoggerInstance.log(`WraperRouter info >>>`, {
9
+ ...routerContextProps,
10
+ routerContextProps,
11
+ WraperRouterProps: props
12
+ });
13
+ if (!routerContextProps)
14
+ return /* @__PURE__ */ React__default.createElement(ReactRouterDom.BrowserRouter, { ...props });
15
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
16
+ return /* @__PURE__ */ React__default.createElement(
17
+ ReactRouterDom.MemoryRouter,
18
+ {
19
+ ...props,
20
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
21
+ }
22
+ );
23
+ }
24
+ return /* @__PURE__ */ React__default.createElement(
25
+ ReactRouterDom.BrowserRouter,
26
+ {
27
+ ...propsRes,
28
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
29
+ }
30
+ );
31
+ }
32
+ function WraperRouterProvider(props) {
33
+ const { router, ...propsRes } = props;
34
+ const routerContextProps = useContext(RouterContext) || {};
35
+ const routers = router.routes;
36
+ LoggerInstance.log(`WraperRouterProvider info >>>`, {
37
+ ...routerContextProps,
38
+ routerContextProps,
39
+ WraperRouterProviderProps: props,
40
+ router
41
+ });
42
+ const RouterProvider = ReactRouterDom["RouterProvider"];
43
+ const createMemoryRouter = ReactRouterDom["createMemoryRouter"];
44
+ const createBrowserRouter = ReactRouterDom["createBrowserRouter"];
45
+ if (!routerContextProps)
46
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { ...props });
47
+ if (routerContextProps.memoryRoute) {
48
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
49
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
50
+ });
51
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { router: MemeoryRouterInstance });
52
+ } else {
53
+ const BrowserRouterInstance = createBrowserRouter(routers, {
54
+ basename: routerContextProps.basename,
55
+ future: router.future,
56
+ window: router.window
57
+ });
58
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
59
+ }
60
+ }
61
+ export {
62
+ WraperRouter as BrowserRouter,
63
+ WraperRouterProvider as RouterProvider
64
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/bridge-react",
3
- "version": "0.0.0-next-20240731082143",
3
+ "version": "0.0.0-next-20240731105745",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -20,12 +20,22 @@
20
20
  "import": "./dist/router.es.js",
21
21
  "require": "./dist/router.cjs.js"
22
22
  },
23
+ "./router-v5": {
24
+ "types": "./dist/router-v5.d.ts",
25
+ "import": "./dist/router-v5.es.js",
26
+ "require": "./dist/router-v5.cjs.js"
27
+ },
28
+ "./router-v6": {
29
+ "types": "./dist/router-v6.d.ts",
30
+ "import": "./dist/router-v6.es.js",
31
+ "require": "./dist/router-v6.cjs.js"
32
+ },
23
33
  "./*": "./*"
24
34
  },
25
35
  "dependencies": {
26
36
  "@loadable/component": "^5.16.4",
27
37
  "react-error-boundary": "^4.0.13",
28
- "@module-federation/bridge-shared": "0.0.0-next-20240731082143"
38
+ "@module-federation/bridge-shared": "0.0.0-next-20240731105745"
29
39
  },
30
40
  "peerDependencies": {
31
41
  "react": ">=16.9.0",