@module-federation/bridge-react 0.0.0-feat-support-bridge-react-router-v7-20251015102312

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.
Files changed (100) hide show
  1. package/CHANGELOG.md +670 -0
  2. package/LICENSE +21 -0
  3. package/README.md +131 -0
  4. package/__tests__/bridge.spec.tsx +160 -0
  5. package/__tests__/createLazyComponent.spec.tsx +209 -0
  6. package/__tests__/prefetch.spec.ts +156 -0
  7. package/__tests__/router.spec.tsx +82 -0
  8. package/__tests__/setupTests.ts +8 -0
  9. package/__tests__/util.ts +36 -0
  10. package/dist/bridge-base-29j7dZKh.mjs +201 -0
  11. package/dist/bridge-base-CTNdBioh.js +216 -0
  12. package/dist/data-fetch-server-middleware.cjs.js +163 -0
  13. package/dist/data-fetch-server-middleware.d.ts +15 -0
  14. package/dist/data-fetch-server-middleware.es.js +164 -0
  15. package/dist/data-fetch-utils.cjs.js +24 -0
  16. package/dist/data-fetch-utils.d.ts +81 -0
  17. package/dist/data-fetch-utils.es.js +26 -0
  18. package/dist/index-Dm-M9ouh.mjs +46 -0
  19. package/dist/index-DqCpgmgH.js +45 -0
  20. package/dist/index.cjs.js +293 -0
  21. package/dist/index.d.ts +274 -0
  22. package/dist/index.es.js +276 -0
  23. package/dist/index.esm-CzoIcLts.js +459 -0
  24. package/dist/index.esm-JLwyxgUK.mjs +460 -0
  25. package/dist/lazy-load-component-plugin-B4fdMQTL.js +521 -0
  26. package/dist/lazy-load-component-plugin-ijw36GA0.mjs +522 -0
  27. package/dist/lazy-load-component-plugin.cjs.js +6 -0
  28. package/dist/lazy-load-component-plugin.d.ts +16 -0
  29. package/dist/lazy-load-component-plugin.es.js +6 -0
  30. package/dist/lazy-utils.cjs.js +24 -0
  31. package/dist/lazy-utils.d.ts +149 -0
  32. package/dist/lazy-utils.es.js +24 -0
  33. package/dist/plugin.cjs.js +14 -0
  34. package/dist/plugin.d.ts +22 -0
  35. package/dist/plugin.es.js +14 -0
  36. package/dist/prefetch-Bgm31z9s.js +1272 -0
  37. package/dist/prefetch-DjeoxOeZ.mjs +1273 -0
  38. package/dist/router-v5.cjs.js +55 -0
  39. package/dist/router-v5.d.ts +18 -0
  40. package/dist/router-v5.es.js +32 -0
  41. package/dist/router-v6.cjs.js +84 -0
  42. package/dist/router-v6.d.ts +20 -0
  43. package/dist/router-v6.es.js +61 -0
  44. package/dist/router-v7.cjs.js +83 -0
  45. package/dist/router-v7.d.ts +20 -0
  46. package/dist/router-v7.es.js +61 -0
  47. package/dist/router.cjs.js +82 -0
  48. package/dist/router.d.ts +20 -0
  49. package/dist/router.es.js +60 -0
  50. package/dist/utils-0HFFqmd4.js +2015 -0
  51. package/dist/utils-BTpxHmva.mjs +2016 -0
  52. package/dist/v18.cjs.js +15 -0
  53. package/dist/v18.d.ts +114 -0
  54. package/dist/v18.es.js +15 -0
  55. package/dist/v19.cjs.js +15 -0
  56. package/dist/v19.d.ts +115 -0
  57. package/dist/v19.es.js +15 -0
  58. package/jest.config.ts +21 -0
  59. package/package.json +144 -0
  60. package/project.json +23 -0
  61. package/src/index.ts +45 -0
  62. package/src/lazy/AwaitDataFetch.tsx +215 -0
  63. package/src/lazy/constant.ts +30 -0
  64. package/src/lazy/createLazyComponent.tsx +411 -0
  65. package/src/lazy/data-fetch/cache.ts +291 -0
  66. package/src/lazy/data-fetch/call-data-fetch.ts +13 -0
  67. package/src/lazy/data-fetch/data-fetch-server-middleware.ts +196 -0
  68. package/src/lazy/data-fetch/index.ts +16 -0
  69. package/src/lazy/data-fetch/inject-data-fetch.ts +109 -0
  70. package/src/lazy/data-fetch/prefetch.ts +112 -0
  71. package/src/lazy/data-fetch/runtime-plugin.ts +115 -0
  72. package/src/lazy/index.ts +35 -0
  73. package/src/lazy/logger.ts +6 -0
  74. package/src/lazy/types.ts +75 -0
  75. package/src/lazy/utils.ts +372 -0
  76. package/src/lazy/wrapNoSSR.tsx +10 -0
  77. package/src/modern-app-env.d.ts +2 -0
  78. package/src/plugins/lazy-load-component-plugin.spec.ts +21 -0
  79. package/src/plugins/lazy-load-component-plugin.ts +57 -0
  80. package/src/provider/context.tsx +4 -0
  81. package/src/provider/plugin.ts +22 -0
  82. package/src/provider/versions/bridge-base.tsx +127 -0
  83. package/src/provider/versions/legacy.ts +87 -0
  84. package/src/provider/versions/v18.ts +47 -0
  85. package/src/provider/versions/v19.ts +48 -0
  86. package/src/remote/component.tsx +211 -0
  87. package/src/remote/create.tsx +103 -0
  88. package/src/router/default.tsx +73 -0
  89. package/src/router/v5.tsx +43 -0
  90. package/src/router/v6.tsx +74 -0
  91. package/src/router/v7.tsx +75 -0
  92. package/src/types.ts +147 -0
  93. package/src/utils/index.ts +44 -0
  94. package/src/v18.ts +9 -0
  95. package/src/v19.ts +9 -0
  96. package/tsconfig.json +42 -0
  97. package/tsconfig.node.json +11 -0
  98. package/tsconfig.spec.json +26 -0
  99. package/vite.config.ts +106 -0
  100. package/vitest.config.ts +27 -0
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const ReactRouterDom$1 = require("react-router-dom/index.js");
5
+ const index = require("./index-DqCpgmgH.js");
6
+ const ReactRouterDom = require("react-router-dom/index.js");
7
+ function _interopNamespaceDefault(e) {
8
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
+ if (e) {
10
+ for (const k in e) {
11
+ if (k !== "default") {
12
+ const d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: () => e[k]
16
+ });
17
+ }
18
+ }
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+ const ReactRouterDom__namespace = /* @__PURE__ */ _interopNamespaceDefault(ReactRouterDom$1);
24
+ function WraperRouter(props) {
25
+ const { basename, ...propsRes } = props;
26
+ const routerContextProps = React.useContext(index.RouterContext) || {};
27
+ index.LoggerInstance.debug(`WraperRouter info >>>`, {
28
+ ...routerContextProps,
29
+ routerContextProps,
30
+ WraperRouterProps: props
31
+ });
32
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
33
+ return /* @__PURE__ */ React.createElement(
34
+ ReactRouterDom__namespace.MemoryRouter,
35
+ {
36
+ ...props,
37
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
38
+ }
39
+ );
40
+ }
41
+ return /* @__PURE__ */ React.createElement(
42
+ ReactRouterDom__namespace.BrowserRouter,
43
+ {
44
+ ...propsRes,
45
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
46
+ }
47
+ );
48
+ }
49
+ exports.BrowserRouter = WraperRouter;
50
+ Object.keys(ReactRouterDom).forEach((k) => {
51
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
52
+ enumerable: true,
53
+ get: () => ReactRouterDom[k]
54
+ });
55
+ });
@@ -0,0 +1,18 @@
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
+
7
+ export * from "react-router-dom/";
8
+
9
+ export { }
10
+
11
+
12
+ declare module '@module-federation/runtime-core' {
13
+ interface ModuleFederation {
14
+ createLazyComponent<T, E extends keyof T>(options: Omit<CreateLazyComponentOptions<T, E>, 'instance'>): ReturnType<typeof createLazyComponent<T, E>>;
15
+ prefetch(options: Omit<PrefetchOptions, 'instance'>): ReturnType<typeof prefetch>;
16
+ collectSSRAssets(options: Omit<Parameters<typeof collectSSRAssets>[0], 'instance'>): ReturnType<typeof collectSSRAssets>;
17
+ }
18
+ }
@@ -0,0 +1,32 @@
1
+ import React__default, { useContext } from "react";
2
+ import * as ReactRouterDom$1 from "react-router-dom/index.js";
3
+ import { R as RouterContext, L as LoggerInstance } from "./index-Dm-M9ouh.mjs";
4
+ export * from "react-router-dom/index.js";
5
+ function WraperRouter(props) {
6
+ const { basename, ...propsRes } = props;
7
+ const routerContextProps = useContext(RouterContext) || {};
8
+ LoggerInstance.debug(`WraperRouter info >>>`, {
9
+ ...routerContextProps,
10
+ routerContextProps,
11
+ WraperRouterProps: props
12
+ });
13
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
14
+ return /* @__PURE__ */ React__default.createElement(
15
+ ReactRouterDom$1.MemoryRouter,
16
+ {
17
+ ...props,
18
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
19
+ }
20
+ );
21
+ }
22
+ return /* @__PURE__ */ React__default.createElement(
23
+ ReactRouterDom$1.BrowserRouter,
24
+ {
25
+ ...propsRes,
26
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
27
+ }
28
+ );
29
+ }
30
+ export {
31
+ WraperRouter as BrowserRouter
32
+ };
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const ReactRouterDom$1 = require("react-router-dom/dist/index.js");
5
+ const index = require("./index-DqCpgmgH.js");
6
+ const ReactRouterDom = require("react-router-dom/dist/index.js");
7
+ function _interopNamespaceDefault(e) {
8
+ const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
9
+ if (e) {
10
+ for (const k in e) {
11
+ if (k !== "default") {
12
+ const d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: () => e[k]
16
+ });
17
+ }
18
+ }
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+ const ReactRouterDom__namespace = /* @__PURE__ */ _interopNamespaceDefault(ReactRouterDom$1);
24
+ function WraperRouter(props) {
25
+ const { basename, ...propsRes } = props;
26
+ const routerContextProps = React.useContext(index.RouterContext) || {};
27
+ index.LoggerInstance.debug(`WraperRouter info >>>`, {
28
+ ...routerContextProps,
29
+ routerContextProps,
30
+ WraperRouterProps: props
31
+ });
32
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
33
+ return /* @__PURE__ */ React.createElement(
34
+ ReactRouterDom__namespace.MemoryRouter,
35
+ {
36
+ ...props,
37
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
38
+ }
39
+ );
40
+ }
41
+ return /* @__PURE__ */ React.createElement(
42
+ ReactRouterDom__namespace.BrowserRouter,
43
+ {
44
+ ...propsRes,
45
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
46
+ }
47
+ );
48
+ }
49
+ function WraperRouterProvider(props) {
50
+ const { router, ...propsRes } = props;
51
+ const routerContextProps = React.useContext(index.RouterContext) || {};
52
+ const routers = router.routes;
53
+ index.LoggerInstance.debug(`WraperRouterProvider info >>>`, {
54
+ ...routerContextProps,
55
+ routerContextProps,
56
+ WraperRouterProviderProps: props,
57
+ router
58
+ });
59
+ const RouterProvider = ReactRouterDom__namespace["RouterProvider"];
60
+ const createMemoryRouter = ReactRouterDom__namespace["createMemoryRouter"];
61
+ const createBrowserRouter = ReactRouterDom__namespace["createBrowserRouter"];
62
+ if (routerContextProps.memoryRoute) {
63
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
64
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
65
+ });
66
+ return /* @__PURE__ */ React.createElement(RouterProvider, { router: MemeoryRouterInstance });
67
+ } else {
68
+ const BrowserRouterInstance = createBrowserRouter(routers, {
69
+ // In host app, the routerContextProps is {}, so we should use router.basename as fallback
70
+ basename: routerContextProps.basename || router.basename,
71
+ future: router.future,
72
+ window: router.window
73
+ });
74
+ return /* @__PURE__ */ React.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
75
+ }
76
+ }
77
+ exports.BrowserRouter = WraperRouter;
78
+ exports.RouterProvider = WraperRouterProvider;
79
+ Object.keys(ReactRouterDom).forEach((k) => {
80
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
81
+ enumerable: true,
82
+ get: () => ReactRouterDom[k]
83
+ });
84
+ });
@@ -0,0 +1,20 @@
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/";
10
+
11
+ export { }
12
+
13
+
14
+ declare module '@module-federation/runtime-core' {
15
+ interface ModuleFederation {
16
+ createLazyComponent<T, E extends keyof T>(options: Omit<CreateLazyComponentOptions<T, E>, 'instance'>): ReturnType<typeof createLazyComponent<T, E>>;
17
+ prefetch(options: Omit<PrefetchOptions, 'instance'>): ReturnType<typeof prefetch>;
18
+ collectSSRAssets(options: Omit<Parameters<typeof collectSSRAssets>[0], 'instance'>): ReturnType<typeof collectSSRAssets>;
19
+ }
20
+ }
@@ -0,0 +1,61 @@
1
+ import React__default, { useContext } from "react";
2
+ import * as ReactRouterDom$1 from "react-router-dom/dist/index.js";
3
+ import { R as RouterContext, L as LoggerInstance } from "./index-Dm-M9ouh.mjs";
4
+ export * from "react-router-dom/dist/index.js";
5
+ function WraperRouter(props) {
6
+ const { basename, ...propsRes } = props;
7
+ const routerContextProps = useContext(RouterContext) || {};
8
+ LoggerInstance.debug(`WraperRouter info >>>`, {
9
+ ...routerContextProps,
10
+ routerContextProps,
11
+ WraperRouterProps: props
12
+ });
13
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
14
+ return /* @__PURE__ */ React__default.createElement(
15
+ ReactRouterDom$1.MemoryRouter,
16
+ {
17
+ ...props,
18
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
19
+ }
20
+ );
21
+ }
22
+ return /* @__PURE__ */ React__default.createElement(
23
+ ReactRouterDom$1.BrowserRouter,
24
+ {
25
+ ...propsRes,
26
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
27
+ }
28
+ );
29
+ }
30
+ function WraperRouterProvider(props) {
31
+ const { router, ...propsRes } = props;
32
+ const routerContextProps = useContext(RouterContext) || {};
33
+ const routers = router.routes;
34
+ LoggerInstance.debug(`WraperRouterProvider info >>>`, {
35
+ ...routerContextProps,
36
+ routerContextProps,
37
+ WraperRouterProviderProps: props,
38
+ router
39
+ });
40
+ const RouterProvider = ReactRouterDom$1["RouterProvider"];
41
+ const createMemoryRouter = ReactRouterDom$1["createMemoryRouter"];
42
+ const createBrowserRouter = ReactRouterDom$1["createBrowserRouter"];
43
+ if (routerContextProps.memoryRoute) {
44
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
45
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
46
+ });
47
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { router: MemeoryRouterInstance });
48
+ } else {
49
+ const BrowserRouterInstance = createBrowserRouter(routers, {
50
+ // In host app, the routerContextProps is {}, so we should use router.basename as fallback
51
+ basename: routerContextProps.basename || router.basename,
52
+ future: router.future,
53
+ window: router.window
54
+ });
55
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
56
+ }
57
+ }
58
+ export {
59
+ WraperRouter as BrowserRouter,
60
+ WraperRouterProvider as RouterProvider
61
+ };
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const ReactRouterDom = require("react-router");
5
+ const index = require("./index-DqCpgmgH.js");
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(index.RouterContext) || {};
26
+ index.LoggerInstance.debug(`WraperRouter info >>>`, {
27
+ ...routerContextProps,
28
+ routerContextProps,
29
+ WraperRouterProps: props
30
+ });
31
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
32
+ return /* @__PURE__ */ React.createElement(
33
+ ReactRouterDom__namespace.MemoryRouter,
34
+ {
35
+ ...props,
36
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
37
+ }
38
+ );
39
+ }
40
+ return /* @__PURE__ */ React.createElement(
41
+ ReactRouterDom__namespace.BrowserRouter,
42
+ {
43
+ ...propsRes,
44
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
45
+ }
46
+ );
47
+ }
48
+ function WraperRouterProvider(props) {
49
+ const { router, ...propsRes } = props;
50
+ const routerContextProps = React.useContext(index.RouterContext) || {};
51
+ const routers = router.routes;
52
+ index.LoggerInstance.debug(`WraperRouterProvider info >>>`, {
53
+ ...routerContextProps,
54
+ routerContextProps,
55
+ WraperRouterProviderProps: props,
56
+ router
57
+ });
58
+ const RouterProvider = ReactRouterDom__namespace["RouterProvider"];
59
+ const createMemoryRouter = ReactRouterDom__namespace["createMemoryRouter"];
60
+ const createBrowserRouter = ReactRouterDom__namespace["createBrowserRouter"];
61
+ if (routerContextProps.memoryRoute) {
62
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
63
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
64
+ });
65
+ return /* @__PURE__ */ React.createElement(RouterProvider, { router: MemeoryRouterInstance });
66
+ } else {
67
+ const BrowserRouterInstance = createBrowserRouter(routers, {
68
+ // In host app, the routerContextProps is {}, so we should use router.basename as fallback
69
+ basename: routerContextProps.basename || router.basename,
70
+ future: router.future,
71
+ window: router.window
72
+ });
73
+ return /* @__PURE__ */ React.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
74
+ }
75
+ }
76
+ exports.BrowserRouter = WraperRouter;
77
+ exports.RouterProvider = WraperRouterProvider;
78
+ Object.keys(ReactRouterDom).forEach((k) => {
79
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
80
+ enumerable: true,
81
+ get: () => ReactRouterDom[k]
82
+ });
83
+ });
@@ -0,0 +1,20 @@
1
+ import { default as default_2 } from 'react';
2
+ import * as ReactRouterDom from 'react-router';
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";
10
+
11
+ export { }
12
+
13
+
14
+ declare module '@module-federation/runtime-core' {
15
+ interface ModuleFederation {
16
+ createLazyComponent<T, E extends keyof T>(options: Omit<CreateLazyComponentOptions<T, E>, 'instance'>): ReturnType<typeof createLazyComponent<T, E>>;
17
+ prefetch(options: Omit<PrefetchOptions, 'instance'>): ReturnType<typeof prefetch>;
18
+ collectSSRAssets(options: Omit<Parameters<typeof collectSSRAssets>[0], 'instance'>): ReturnType<typeof collectSSRAssets>;
19
+ }
20
+ }
@@ -0,0 +1,61 @@
1
+ import React__default, { useContext } from "react";
2
+ import * as ReactRouterDom from 'react-router/dist/development/index.js';
3
+ export * from 'react-router/dist/development/index.js';
4
+ import { R as RouterContext, L as LoggerInstance } from "./index-Dm-M9ouh.mjs";
5
+ function WraperRouter(props) {
6
+ const { basename, ...propsRes } = props;
7
+ const routerContextProps = useContext(RouterContext) || {};
8
+ LoggerInstance.debug(`WraperRouter info >>>`, {
9
+ ...routerContextProps,
10
+ routerContextProps,
11
+ WraperRouterProps: props
12
+ });
13
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
14
+ return /* @__PURE__ */ React__default.createElement(
15
+ ReactRouterDom.MemoryRouter,
16
+ {
17
+ ...props,
18
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
19
+ }
20
+ );
21
+ }
22
+ return /* @__PURE__ */ React__default.createElement(
23
+ ReactRouterDom.BrowserRouter,
24
+ {
25
+ ...propsRes,
26
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
27
+ }
28
+ );
29
+ }
30
+ function WraperRouterProvider(props) {
31
+ const { router, ...propsRes } = props;
32
+ const routerContextProps = useContext(RouterContext) || {};
33
+ const routers = router.routes;
34
+ LoggerInstance.debug(`WraperRouterProvider info >>>`, {
35
+ ...routerContextProps,
36
+ routerContextProps,
37
+ WraperRouterProviderProps: props,
38
+ router
39
+ });
40
+ const RouterProvider = ReactRouterDom["RouterProvider"];
41
+ const createMemoryRouter = ReactRouterDom["createMemoryRouter"];
42
+ const createBrowserRouter = ReactRouterDom["createBrowserRouter"];
43
+ if (routerContextProps.memoryRoute) {
44
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
45
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
46
+ });
47
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { router: MemeoryRouterInstance });
48
+ } else {
49
+ const BrowserRouterInstance = createBrowserRouter(routers, {
50
+ // In host app, the routerContextProps is {}, so we should use router.basename as fallback
51
+ basename: routerContextProps.basename || router.basename,
52
+ future: router.future,
53
+ window: router.window
54
+ });
55
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
56
+ }
57
+ }
58
+ export {
59
+ WraperRouter as BrowserRouter,
60
+ WraperRouterProvider as RouterProvider
61
+ };
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const React = require("react");
4
+ const ReactRouterDom = require("react-router-dom/");
5
+ const index = require("./index-DqCpgmgH.js");
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 WrapperRouter(props) {
24
+ const { basename, ...propsRes } = props;
25
+ const routerContextProps = React.useContext(index.RouterContext) || {};
26
+ index.LoggerInstance.debug(`WrapperRouter info >>>`, {
27
+ ...routerContextProps,
28
+ routerContextProps,
29
+ WrapperRouterProps: props
30
+ });
31
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
32
+ return /* @__PURE__ */ React.createElement(
33
+ ReactRouterDom__namespace.MemoryRouter,
34
+ {
35
+ ...props,
36
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
37
+ }
38
+ );
39
+ }
40
+ return /* @__PURE__ */ React.createElement(
41
+ ReactRouterDom__namespace.BrowserRouter,
42
+ {
43
+ ...propsRes,
44
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
45
+ }
46
+ );
47
+ }
48
+ function WrapperRouterProvider(props) {
49
+ const { router, ...propsRes } = props;
50
+ const routerContextProps = React.useContext(index.RouterContext) || {};
51
+ const routers = router.routes;
52
+ index.LoggerInstance.debug(`WrapperRouterProvider info >>>`, {
53
+ ...routerContextProps,
54
+ routerContextProps,
55
+ WrapperRouterProviderProps: props,
56
+ router
57
+ });
58
+ const RouterProvider = ReactRouterDom__namespace["RouterProvider"];
59
+ const createMemoryRouter = ReactRouterDom__namespace["createMemoryRouter"];
60
+ const createBrowserRouter = ReactRouterDom__namespace["createBrowserRouter"];
61
+ if (routerContextProps.memoryRoute) {
62
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
63
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
64
+ });
65
+ return /* @__PURE__ */ React.createElement(RouterProvider, { router: MemeoryRouterInstance });
66
+ } else {
67
+ const BrowserRouterInstance = createBrowserRouter(routers, {
68
+ basename: routerContextProps.basename || (router == null ? void 0 : router.basename),
69
+ future: router.future,
70
+ window: router.window
71
+ });
72
+ return /* @__PURE__ */ React.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
73
+ }
74
+ }
75
+ exports.BrowserRouter = WrapperRouter;
76
+ exports.RouterProvider = WrapperRouterProvider;
77
+ Object.keys(ReactRouterDom).forEach((k) => {
78
+ if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
79
+ enumerable: true,
80
+ get: () => ReactRouterDom[k]
81
+ });
82
+ });
@@ -0,0 +1,20 @@
1
+ import { default as default_2 } from 'react';
2
+ import * as ReactRouterDom from 'react-router-dom/';
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/";
10
+
11
+ export { }
12
+
13
+
14
+ declare module '@module-federation/runtime-core' {
15
+ interface ModuleFederation {
16
+ createLazyComponent<T, E extends keyof T>(options: Omit<CreateLazyComponentOptions<T, E>, 'instance'>): ReturnType<typeof createLazyComponent<T, E>>;
17
+ prefetch(options: Omit<PrefetchOptions, 'instance'>): ReturnType<typeof prefetch>;
18
+ collectSSRAssets(options: Omit<Parameters<typeof collectSSRAssets>[0], 'instance'>): ReturnType<typeof collectSSRAssets>;
19
+ }
20
+ }
@@ -0,0 +1,60 @@
1
+ import React__default, { useContext } from "react";
2
+ import * as ReactRouterDom from "react-router-dom/";
3
+ export * from "react-router-dom/";
4
+ import { R as RouterContext, L as LoggerInstance } from "./index-Dm-M9ouh.mjs";
5
+ function WrapperRouter(props) {
6
+ const { basename, ...propsRes } = props;
7
+ const routerContextProps = useContext(RouterContext) || {};
8
+ LoggerInstance.debug(`WrapperRouter info >>>`, {
9
+ ...routerContextProps,
10
+ routerContextProps,
11
+ WrapperRouterProps: props
12
+ });
13
+ if (routerContextProps == null ? void 0 : routerContextProps.memoryRoute) {
14
+ return /* @__PURE__ */ React__default.createElement(
15
+ ReactRouterDom.MemoryRouter,
16
+ {
17
+ ...props,
18
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
19
+ }
20
+ );
21
+ }
22
+ return /* @__PURE__ */ React__default.createElement(
23
+ ReactRouterDom.BrowserRouter,
24
+ {
25
+ ...propsRes,
26
+ basename: (routerContextProps == null ? void 0 : routerContextProps.basename) || basename
27
+ }
28
+ );
29
+ }
30
+ function WrapperRouterProvider(props) {
31
+ const { router, ...propsRes } = props;
32
+ const routerContextProps = useContext(RouterContext) || {};
33
+ const routers = router.routes;
34
+ LoggerInstance.debug(`WrapperRouterProvider info >>>`, {
35
+ ...routerContextProps,
36
+ routerContextProps,
37
+ WrapperRouterProviderProps: props,
38
+ router
39
+ });
40
+ const RouterProvider = ReactRouterDom["RouterProvider"];
41
+ const createMemoryRouter = ReactRouterDom["createMemoryRouter"];
42
+ const createBrowserRouter = ReactRouterDom["createBrowserRouter"];
43
+ if (routerContextProps.memoryRoute) {
44
+ const MemeoryRouterInstance = createMemoryRouter(routers, {
45
+ initialEntries: [routerContextProps == null ? void 0 : routerContextProps.memoryRoute.entryPath]
46
+ });
47
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { router: MemeoryRouterInstance });
48
+ } else {
49
+ const BrowserRouterInstance = createBrowserRouter(routers, {
50
+ basename: routerContextProps.basename || (router == null ? void 0 : router.basename),
51
+ future: router.future,
52
+ window: router.window
53
+ });
54
+ return /* @__PURE__ */ React__default.createElement(RouterProvider, { ...propsRes, router: BrowserRouterInstance });
55
+ }
56
+ }
57
+ export {
58
+ WrapperRouter as BrowserRouter,
59
+ WrapperRouterProvider as RouterProvider
60
+ };