@module-federation/bridge-react 0.0.0-perf-devtools-20260107043700 → 0.0.0-perf-website-code-usage-20260914033703

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 (161) hide show
  1. package/dist/base.cjs.js +4 -4
  2. package/dist/base.d.ts +8 -311
  3. package/dist/base.es.js +11 -11
  4. package/dist/{bridge-base-CPSTBjEp.mjs → bridge-base-CHnL6Q9P.mjs} +63 -103
  5. package/dist/{bridge-base-RStDxH71.js → bridge-base-DSYKAGGD.js} +63 -102
  6. package/dist/{createHelpers-Ui5pt7je.mjs → createHelpers-D3Sg5lKp.mjs} +32 -17
  7. package/dist/{createHelpers-B_L612IN.js → createHelpers-D6thyyLv.js} +30 -15
  8. package/dist/data-fetch-server-middleware.cjs.js +4 -4
  9. package/dist/data-fetch-server-middleware.d.ts +1 -15
  10. package/dist/data-fetch-server-middleware.es.js +2 -2
  11. package/dist/data-fetch-utils.cjs.js +2 -2
  12. package/dist/data-fetch-utils.d.ts +1 -81
  13. package/dist/data-fetch-utils.es.js +7 -7
  14. package/dist/data-fetch.cjs.js +22 -0
  15. package/dist/data-fetch.d.ts +4 -0
  16. package/dist/data-fetch.es.js +22 -0
  17. package/dist/error-boundary.d.ts +17 -0
  18. package/dist/error-boundary.spec.d.ts +1 -0
  19. package/dist/{index-DyQNwY2M.mjs → index-Bs2NxD2z.mjs} +1 -1
  20. package/dist/{index-DRSBaSu3.js → index-DbjGCKOr.js} +2 -2
  21. package/dist/index.cjs.js +27 -6
  22. package/dist/index.d.ts +12 -299
  23. package/dist/index.es.js +34 -13
  24. package/dist/lazy/AwaitDataFetch.d.ts +24 -0
  25. package/dist/lazy/HydratedStylesheetAssets.d.ts +4 -0
  26. package/dist/lazy/constant.d.ts +26 -0
  27. package/dist/lazy/createLazyComponent.d.ts +28 -0
  28. package/dist/lazy/data-fetch/cache.d.ts +34 -0
  29. package/dist/lazy/data-fetch/cache.spec.d.ts +1 -0
  30. package/dist/lazy/data-fetch/call-data-fetch.d.ts +1 -0
  31. package/dist/lazy/data-fetch/data-fetch-server-middleware.d.ts +3 -0
  32. package/{src/lazy/data-fetch/index.ts → dist/lazy/data-fetch/index.d.ts} +1 -11
  33. package/dist/lazy/data-fetch/inject-data-fetch.d.ts +4 -0
  34. package/dist/lazy/data-fetch/prefetch.d.ts +9 -0
  35. package/dist/lazy/data-fetch/runtime-plugin.d.ts +3 -0
  36. package/dist/lazy/index.d.ts +9 -0
  37. package/dist/lazy/logger.d.ts +2 -0
  38. package/dist/lazy/types.d.ts +60 -0
  39. package/dist/lazy/utils.d.ts +48 -0
  40. package/dist/lazy/wrapNoSSR.d.ts +9 -0
  41. package/dist/{lazy-load-component-plugin-Dr5VV1mu.js → lazy-load-component-plugin-DSURjnZ0.js} +170 -44
  42. package/dist/{lazy-load-component-plugin-CNyT62wB.mjs → lazy-load-component-plugin-NZphPG7_.mjs} +174 -48
  43. package/dist/lazy-load-component-plugin.cjs.js +2 -2
  44. package/dist/lazy-load-component-plugin.d.ts +2 -16
  45. package/dist/lazy-load-component-plugin.es.js +2 -2
  46. package/dist/lazy-utils.cjs.js +2 -2
  47. package/dist/lazy-utils.d.ts +1 -149
  48. package/dist/lazy-utils.es.js +19 -19
  49. package/dist/logger-DwWkXsWl.mjs +139 -0
  50. package/dist/logger-Dxblx6P-.js +138 -0
  51. package/dist/plugin.d.ts +2 -22
  52. package/dist/plugins/lazy-load-component-plugin.d.ts +12 -0
  53. package/dist/plugins/lazy-load-component-plugin.spec.d.ts +1 -0
  54. package/dist/prefetch-Bxf6DSx_.js +1477 -0
  55. package/dist/prefetch-TKq_EK_q.mjs +1478 -0
  56. package/dist/provider/context.d.ts +3 -0
  57. package/dist/provider/plugin.d.ts +7 -0
  58. package/dist/provider/versions/bridge-base.d.ts +5 -0
  59. package/dist/provider/versions/legacy.d.ts +26 -0
  60. package/dist/provider/versions/v18.d.ts +19 -0
  61. package/dist/provider/versions/v19.d.ts +21 -0
  62. package/dist/remote/RemoteAppWrapper.d.ts +7 -0
  63. package/dist/remote/base-component/create.d.ts +9 -0
  64. package/dist/remote/base-component/index.d.ts +5 -0
  65. package/dist/remote/createHelpers.d.ts +17 -0
  66. package/dist/remote/router-component/component.d.ts +8 -0
  67. package/dist/remote/router-component/create.d.ts +9 -0
  68. package/dist/remote/router-component/index.d.ts +5 -0
  69. package/dist/router/default.d.ts +7 -0
  70. package/dist/router/v5.d.ts +4 -0
  71. package/dist/router/v6.d.ts +7 -0
  72. package/dist/router/v7.d.ts +6 -0
  73. package/dist/router-v5.cjs.js +5 -3
  74. package/dist/router-v5.d.ts +1 -18
  75. package/dist/router-v5.es.js +5 -3
  76. package/dist/router-v6.cjs.js +1 -1
  77. package/dist/router-v6.d.ts +1 -20
  78. package/dist/router-v6.es.js +1 -1
  79. package/dist/router-v7.cjs.js +5 -3
  80. package/dist/router-v7.d.ts +1 -20
  81. package/dist/router-v7.es.js +5 -3
  82. package/dist/router.cjs.js +1 -1
  83. package/dist/router.d.ts +1 -20
  84. package/dist/router.es.js +1 -1
  85. package/dist/shared/size-limited-cache.d.ts +29 -0
  86. package/dist/shared/size-limited-cache.spec.d.ts +1 -0
  87. package/dist/size-limited-cache.cjs.js +82 -0
  88. package/dist/size-limited-cache.d.ts +1 -0
  89. package/dist/size-limited-cache.es.js +82 -0
  90. package/dist/types.d.ts +137 -0
  91. package/dist/utils/index.d.ts +4 -0
  92. package/dist/utils-5dGErM3C.js +588 -0
  93. package/dist/utils-BBP3hEeV.mjs +589 -0
  94. package/dist/v18.cjs.js +1 -1
  95. package/dist/v18.d.ts +3 -114
  96. package/dist/v18.es.js +1 -1
  97. package/dist/v19.cjs.js +1 -1
  98. package/dist/v19.d.ts +3 -115
  99. package/dist/v19.es.js +1 -1
  100. package/package.json +35 -14
  101. package/CHANGELOG.md +0 -735
  102. package/__tests__/bridge.spec.tsx +0 -160
  103. package/__tests__/createLazyComponent.spec.tsx +0 -209
  104. package/__tests__/prefetch.spec.ts +0 -156
  105. package/__tests__/router.spec.tsx +0 -82
  106. package/__tests__/setupTests.ts +0 -8
  107. package/__tests__/util.ts +0 -36
  108. package/dist/index.esm-BWaKho-8.js +0 -491
  109. package/dist/index.esm-CPwSeCvw.mjs +0 -492
  110. package/dist/prefetch-J3x-_5zT.js +0 -1272
  111. package/dist/prefetch-lrSPKiuu.mjs +0 -1273
  112. package/dist/utils-dUgb9Jkm.mjs +0 -2016
  113. package/dist/utils-tM9yE73c.js +0 -2015
  114. package/jest.config.ts +0 -21
  115. package/project.json +0 -23
  116. package/src/base.ts +0 -50
  117. package/src/index.ts +0 -50
  118. package/src/lazy/AwaitDataFetch.tsx +0 -215
  119. package/src/lazy/constant.ts +0 -30
  120. package/src/lazy/createLazyComponent.tsx +0 -411
  121. package/src/lazy/data-fetch/cache.ts +0 -291
  122. package/src/lazy/data-fetch/call-data-fetch.ts +0 -13
  123. package/src/lazy/data-fetch/data-fetch-server-middleware.ts +0 -196
  124. package/src/lazy/data-fetch/inject-data-fetch.ts +0 -109
  125. package/src/lazy/data-fetch/prefetch.ts +0 -112
  126. package/src/lazy/data-fetch/runtime-plugin.ts +0 -115
  127. package/src/lazy/index.ts +0 -35
  128. package/src/lazy/logger.ts +0 -6
  129. package/src/lazy/types.ts +0 -75
  130. package/src/lazy/utils.ts +0 -372
  131. package/src/lazy/wrapNoSSR.tsx +0 -10
  132. package/src/modern-app-env.d.ts +0 -2
  133. package/src/plugins/lazy-load-component-plugin.spec.ts +0 -21
  134. package/src/plugins/lazy-load-component-plugin.ts +0 -57
  135. package/src/provider/context.tsx +0 -4
  136. package/src/provider/plugin.ts +0 -22
  137. package/src/provider/versions/bridge-base.tsx +0 -150
  138. package/src/provider/versions/legacy.ts +0 -87
  139. package/src/provider/versions/v18.ts +0 -47
  140. package/src/provider/versions/v19.ts +0 -48
  141. package/src/remote/RemoteAppWrapper.tsx +0 -108
  142. package/src/remote/base-component/create.tsx +0 -23
  143. package/src/remote/base-component/index.tsx +0 -10
  144. package/src/remote/createHelpers.tsx +0 -130
  145. package/src/remote/router-component/component.tsx +0 -104
  146. package/src/remote/router-component/create.tsx +0 -23
  147. package/src/remote/router-component/index.tsx +0 -10
  148. package/src/router/default.tsx +0 -73
  149. package/src/router/v5.tsx +0 -43
  150. package/src/router/v6.tsx +0 -74
  151. package/src/router/v7.tsx +0 -75
  152. package/src/types.ts +0 -147
  153. package/src/utils/index.ts +0 -44
  154. package/src/v18.ts +0 -9
  155. package/src/v19.ts +0 -9
  156. package/tsconfig.json +0 -42
  157. package/tsconfig.node.json +0 -11
  158. package/tsconfig.spec.json +0 -26
  159. package/vite.config.ts +0 -112
  160. package/vitest.config.ts +0 -27
  161. /package/{src/remote/base-component/component.tsx → dist/remote/base-component/component.d.ts} +0 -0
package/jest.config.ts DELETED
@@ -1,21 +0,0 @@
1
- export default {
2
- displayName: 'bridge-react',
3
- preset: '../../../jest.preset.js',
4
- transform: {
5
- '^.+\\.[tj]sx?$': [
6
- 'ts-jest',
7
- {
8
- tsconfig: '<rootDir>/tsconfig.spec.json',
9
- isolatedModules: true,
10
- },
11
- ],
12
- },
13
- moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx'],
14
- coverageDirectory: '../../../coverage/packages/bridge/bridge-react',
15
- testEnvironment: 'jsdom',
16
- setupFilesAfterEnv: ['<rootDir>/__tests__/setupTests.ts'],
17
- testMatch: [
18
- '<rootDir>/__tests__/**/*.spec.ts',
19
- '<rootDir>/__tests__/**/*.spec.tsx',
20
- ],
21
- };
package/project.json DELETED
@@ -1,23 +0,0 @@
1
- {
2
- "name": "bridge-react",
3
- "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
- "sourceRoot": "packages/bridge/bridge-react/src",
5
- "projectType": "library",
6
- "tags": ["type:pkg"],
7
- "targets": {
8
- "build": {
9
- "executor": "nx:run-commands",
10
- "options": {
11
- "commands": ["npm run build --prefix packages/bridge/bridge-react"]
12
- }
13
- },
14
- "test": {
15
- "executor": "@nx/jest:jest",
16
- "outputs": ["{workspaceRoot}/coverage/{projectRoot}"],
17
- "options": {
18
- "jestConfig": "packages/bridge/bridge-react/jest.config.ts",
19
- "passWithNoTests": true
20
- }
21
- }
22
- }
23
- }
package/src/base.ts DELETED
@@ -1,50 +0,0 @@
1
- export { createBridgeComponent } from './provider/versions/legacy';
2
-
3
- // Export router-free versions of remote component creators
4
- export {
5
- createRemoteComponent,
6
- createRemoteAppComponent,
7
- } from './remote/base-component';
8
- export type { LazyRemoteComponentInfo } from './remote/base-component';
9
-
10
- // Export all lazy loading and data fetching utilities (no router dependencies)
11
- export {
12
- ERROR_TYPE,
13
- createLazyComponent,
14
- collectSSRAssets,
15
- callDataFetch,
16
- setSSREnv,
17
- autoFetchDataPlugin,
18
- CacheSize,
19
- CacheTime,
20
- configureCache,
21
- generateKey,
22
- cache,
23
- revalidateTag,
24
- clearStore,
25
- prefetch,
26
- } from './lazy';
27
-
28
- export { lazyLoadComponentPlugin } from './plugins/lazy-load-component-plugin';
29
-
30
- // Export all types
31
- export type { CreateRootOptions, Root } from './provider/versions/legacy';
32
- export type {
33
- ProviderParams,
34
- ProviderFnParams,
35
- RootType,
36
- DestroyParams,
37
- RenderParams,
38
- RemoteComponentParams,
39
- RenderFnParams,
40
- RemoteComponentProps,
41
- RemoteModule,
42
- } from './types';
43
- export type {
44
- DataFetchParams,
45
- NoSSRRemoteInfo,
46
- CollectSSRAssetsOptions,
47
- CreateLazyComponentOptions,
48
- CacheStatus,
49
- CacheStatsInfo,
50
- } from './lazy';
package/src/index.ts DELETED
@@ -1,50 +0,0 @@
1
- /**
2
- * Entry point for React 16/17 (legacy) specific bridge components
3
- * This file provides support for React 16 and 17 versions, using the traditional ReactDOM.render API
4
- */
5
- export { createBridgeComponent } from './provider/versions/legacy';
6
- export {
7
- createRemoteComponent,
8
- createRemoteAppComponent,
9
- } from './remote/router-component';
10
- export type { LazyRemoteComponentInfo } from './remote/router-component';
11
- export {
12
- ERROR_TYPE,
13
- createLazyComponent,
14
- collectSSRAssets,
15
- // wrapNoSSR,
16
- callDataFetch,
17
- setSSREnv,
18
- autoFetchDataPlugin,
19
- CacheSize,
20
- CacheTime,
21
- configureCache,
22
- generateKey,
23
- cache,
24
- revalidateTag,
25
- clearStore,
26
- prefetch,
27
- } from './lazy';
28
-
29
- export { lazyLoadComponentPlugin } from './plugins/lazy-load-component-plugin';
30
-
31
- export type { CreateRootOptions, Root } from './provider/versions/legacy';
32
- export type {
33
- ProviderParams,
34
- ProviderFnParams,
35
- RootType,
36
- DestroyParams,
37
- RenderParams,
38
- RemoteComponentParams,
39
- RenderFnParams,
40
- RemoteComponentProps,
41
- RemoteModule,
42
- } from './types';
43
- export type {
44
- DataFetchParams,
45
- NoSSRRemoteInfo,
46
- CollectSSRAssetsOptions,
47
- CreateLazyComponentOptions,
48
- CacheStatus,
49
- CacheStatsInfo,
50
- } from './lazy';
@@ -1,215 +0,0 @@
1
- import React, {
2
- MutableRefObject,
3
- ReactNode,
4
- Suspense,
5
- useRef,
6
- useState,
7
- } from 'react';
8
- import logger from './logger';
9
- import {
10
- DATA_FETCH_ERROR_PREFIX,
11
- LOAD_REMOTE_ERROR_PREFIX,
12
- ERROR_TYPE,
13
- DATA_FETCH_FUNCTION,
14
- } from './constant';
15
-
16
- import { getDataFetchIdWithErrorMsgs, wrapDataFetchId } from './utils';
17
- import type { DataFetchParams } from './types';
18
-
19
- function isPromise<T>(obj: any): obj is PromiseLike<T> {
20
- return (
21
- !!obj &&
22
- (typeof obj === 'object' || typeof obj === 'function') &&
23
- typeof obj.then === 'function'
24
- );
25
- }
26
- const AWAIT_ERROR_PREFIX =
27
- '<Await /> caught the following error during render: ';
28
-
29
- export type ErrorInfo = {
30
- error: Error;
31
- errorType: number;
32
- dataFetchMapKey?: string;
33
- };
34
-
35
- export const transformError = (err: string | Error): ErrorInfo => {
36
- const errMsg = err instanceof Error ? err.message : err;
37
- const originalMsg = errMsg.replace(AWAIT_ERROR_PREFIX, '');
38
- const dataFetchMapKey = getDataFetchIdWithErrorMsgs(originalMsg);
39
- if (originalMsg.indexOf(DATA_FETCH_ERROR_PREFIX) === 0) {
40
- return {
41
- error: new Error(
42
- originalMsg
43
- .replace(DATA_FETCH_ERROR_PREFIX, '')
44
- .replace(wrapDataFetchId(dataFetchMapKey), ''),
45
- ),
46
- errorType: ERROR_TYPE.DATA_FETCH,
47
- dataFetchMapKey,
48
- };
49
- }
50
- if (originalMsg.indexOf(LOAD_REMOTE_ERROR_PREFIX) === 0) {
51
- return {
52
- error: new Error(
53
- originalMsg
54
- .replace(LOAD_REMOTE_ERROR_PREFIX, '')
55
- .replace(wrapDataFetchId(dataFetchMapKey), ''),
56
- ),
57
- errorType: ERROR_TYPE.LOAD_REMOTE,
58
- dataFetchMapKey,
59
- };
60
- }
61
-
62
- return {
63
- error: new Error(originalMsg.replace(wrapDataFetchId(dataFetchMapKey), '')),
64
- errorType: ERROR_TYPE.UNKNOWN,
65
- dataFetchMapKey,
66
- };
67
- };
68
-
69
- export interface AwaitProps<T> {
70
- resolve: T | Promise<T>;
71
- loading?: ReactNode;
72
- delayLoading?: number;
73
- errorElement?: ReactNode | ((errorInfo: ErrorInfo) => ReactNode);
74
- children: (data: T) => ReactNode;
75
- params?: DataFetchParams;
76
- }
77
-
78
- export interface AwaitErrorHandlerProps<T = any>
79
- extends Omit<AwaitProps<T>, 'resolve'> {
80
- resolve: () => T | string;
81
- }
82
-
83
- const DefaultLoading = <></>;
84
- const DefaultErrorElement = (_data: any) => <div>Error</div>;
85
-
86
- export function AwaitDataFetch<T>({
87
- resolve,
88
- loading = DefaultLoading,
89
- errorElement = DefaultErrorElement,
90
- children,
91
- params,
92
- delayLoading,
93
- }: AwaitProps<T>) {
94
- const dataRef = useRef<T>();
95
- const data = dataRef.current || resolve;
96
- const getData = isPromise(data) ? fetchData(data, dataRef) : () => data;
97
-
98
- return (
99
- <AwaitSuspense
100
- params={params}
101
- loading={loading}
102
- errorElement={errorElement}
103
- delayLoading={delayLoading}
104
- // @ts-expect-error
105
- resolve={getData}
106
- >
107
- {children}
108
- </AwaitSuspense>
109
- );
110
- }
111
-
112
- export const DelayedLoading = ({
113
- delayLoading,
114
- children,
115
- }: {
116
- delayLoading?: number;
117
- children: ReactNode;
118
- }) => {
119
- const [show, setShow] = useState(false);
120
- const timerSet = useRef(false);
121
-
122
- if (!delayLoading) {
123
- return children;
124
- }
125
-
126
- if (typeof window !== 'undefined' && !show && !timerSet.current) {
127
- timerSet.current = true;
128
- setTimeout(() => {
129
- setShow(true);
130
- }, delayLoading);
131
- }
132
-
133
- return show ? children : null;
134
- };
135
-
136
- function AwaitSuspense<T>({
137
- resolve,
138
- children,
139
- loading = DefaultLoading,
140
- errorElement = DefaultErrorElement,
141
- delayLoading,
142
- }: AwaitErrorHandlerProps<T>) {
143
- return (
144
- <Suspense
145
- fallback={
146
- <DelayedLoading delayLoading={delayLoading}>{loading}</DelayedLoading>
147
- }
148
- >
149
- <ResolveAwait resolve={resolve} errorElement={errorElement}>
150
- {children}
151
- </ResolveAwait>
152
- </Suspense>
153
- );
154
- }
155
-
156
- function ResolveAwait<T>({
157
- children,
158
- resolve,
159
- errorElement,
160
- params,
161
- }: AwaitErrorHandlerProps<T>) {
162
- const data = resolve();
163
- logger.debug('resolve data: ', data);
164
- if (typeof data === 'string' && data.indexOf(AWAIT_ERROR_PREFIX) === 0) {
165
- const transformedError = transformError(data);
166
- return (
167
- <>
168
- {typeof errorElement === 'function' ? (
169
- <>
170
- {globalThis.FEDERATION_SSR && (
171
- <script
172
- suppressHydrationWarning
173
- // eslint-disable-next-line react/no-danger
174
- dangerouslySetInnerHTML={{
175
- __html: String.raw`
176
- globalThis['${DATA_FETCH_FUNCTION}'] = globalThis['${DATA_FETCH_FUNCTION}'] || []
177
- globalThis['${DATA_FETCH_FUNCTION}'].push([${transformedError.dataFetchMapKey ? `'${transformedError.dataFetchMapKey}'` : ''},${params ? JSON.stringify(params) : null},true]);`,
178
- }}
179
- ></script>
180
- )}
181
- {errorElement(transformedError)}
182
- </>
183
- ) : (
184
- errorElement
185
- )}
186
- </>
187
- );
188
- }
189
- const toRender =
190
- typeof children === 'function' ? children(data as T) : children;
191
- return <>{toRender}</>;
192
- }
193
-
194
- // return string when promise is rejected
195
- const fetchData = <T,>(promise: Promise<T>, ref: MutableRefObject<T>) => {
196
- let data: T | string;
197
- let status: 'pending' | 'success' = 'pending';
198
- const suspender = promise
199
- .then((res) => {
200
- status = 'success';
201
- data = res;
202
- ref.current = res;
203
- })
204
- .catch((e) => {
205
- status = 'success';
206
- console.warn(e);
207
- data = AWAIT_ERROR_PREFIX + e;
208
- });
209
- return () => {
210
- if (status === 'pending') {
211
- throw suspender;
212
- }
213
- return data;
214
- };
215
- };
@@ -1,30 +0,0 @@
1
- export const PLUGIN_IDENTIFIER = '[ Module Federation React ]';
2
- export const DOWNGRADE_KEY = '_mfSSRDowngrade';
3
- export const DATA_FETCH_MAP_KEY = '__MF_DATA_FETCH_MAP__';
4
- export const DATA_FETCH_FUNCTION = '_mfDataFetch';
5
- export const FS_HREF = '_mfFSHref';
6
- export const ERROR_TYPE = {
7
- DATA_FETCH: 1,
8
- LOAD_REMOTE: 2,
9
- UNKNOWN: 3,
10
- };
11
- export const WRAP_DATA_FETCH_ID_IDENTIFIER = 'wrap_dfip_identifier';
12
- export const enum MF_DATA_FETCH_TYPE {
13
- FETCH_SERVER = 1,
14
- FETCH_CLIENT = 2,
15
- }
16
-
17
- export const enum MF_DATA_FETCH_STATUS {
18
- LOADED = 1,
19
- LOADING = 2,
20
- AWAIT = 0,
21
- ERROR = 3,
22
- }
23
-
24
- export const DATA_FETCH_IDENTIFIER = 'data';
25
- export const DATA_FETCH_CLIENT_SUFFIX = '.client';
26
- export const DATA_FETCH_QUERY = 'x-mf-data-fetch';
27
- export const DATA_FETCH_ERROR_PREFIX =
28
- 'caught the following error during dataFetch: ';
29
- export const LOAD_REMOTE_ERROR_PREFIX =
30
- 'caught the following error during loadRemote: ';