Skip to content

Commit 03ac478

Browse files
committed
remove pre-preloading modules code
1 parent 5724025 commit 03ac478

File tree

4 files changed

+42
-42
lines changed

4 files changed

+42
-42
lines changed

src/AppRoutes.js

Lines changed: 33 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useMemo, Suspense } from 'react';
1+
import { Suspense, useMemo } from 'react';
22
import { Route } from 'react-router-dom';
33
import PropTypes from 'prop-types';
44

@@ -12,7 +12,6 @@ import { invokeEventHandlers } from './handlerService';
1212
import { packageName } from './constants';
1313
import { ModuleHierarchyProvider } from './components';
1414
import events from './events';
15-
import loadRemoteComponent from './loadRemoteComponent';
1615

1716
// Process and cache "app" type modules and render the routes
1817
const AppRoutes = ({ modules, stripes }) => {
@@ -24,13 +23,11 @@ const AppRoutes = ({ modules, stripes }) => {
2423
const perm = `module.${name}.enabled`;
2524
if (!stripes.hasPerm(perm)) return null;
2625

27-
const RemoteComponent = React.lazy(() => loadRemoteComponent(module.url, module.name));
2826
const connect = connectFor(module.module, stripes.epics, stripes.logger);
2927

3028
let ModuleComponent;
31-
3229
try {
33-
ModuleComponent = connect(RemoteComponent);
30+
ModuleComponent = connect(module.getModule());
3431
} catch (error) {
3532
console.error(error); // eslint-disable-line
3633
throw Error(error);
@@ -51,41 +48,39 @@ const AppRoutes = ({ modules, stripes }) => {
5148
}, [modules.app, stripes]);
5249

5350
return cachedModules.map(({ ModuleComponent, connect, module, name, moduleStripes, stripes: propsStripes, displayName }) => (
54-
<Suspense fallback={<LoadingView />}>
55-
<Route
56-
path={module.route}
57-
key={module.route}
58-
render={props => {
59-
const data = { displayName, name };
51+
<Route
52+
path={module.route}
53+
key={module.route}
54+
render={props => {
55+
const data = { displayName, name };
6056

61-
// allow SELECT_MODULE handlers to intervene
62-
const handlerComponents = invokeEventHandlers(events.SELECT_MODULE, moduleStripes, modules.handler, data);
63-
if (handlerComponents.length) {
64-
return handlerComponents.map(Handler => (<Handler stripes={propsStripes} data={data} />));
65-
}
57+
// allow SELECT_MODULE handlers to intervene
58+
const handlerComponents = invokeEventHandlers(events.SELECT_MODULE, moduleStripes, modules.handler, data);
59+
if (handlerComponents.length) {
60+
return handlerComponents.map(Handler => (<Handler stripes={propsStripes} data={data} />));
61+
}
6662

67-
return (
68-
<StripesContext.Provider value={moduleStripes}>
69-
<ModuleHierarchyProvider module={module.module}>
70-
<div id={`${name}-module-display`} data-module={module.module} data-version={module.version}>
71-
<RouteErrorBoundary
72-
escapeRoute={module.home ?? module.route}
73-
moduleName={displayName}
74-
stripes={moduleStripes}
75-
>
76-
<TitleManager page={displayName}>
77-
<Suspense fallback={<LoadingView />}>
78-
<ModuleComponent {...props} connect={connect} stripes={moduleStripes} actAs="app" />
79-
</Suspense>
80-
</TitleManager>
81-
</RouteErrorBoundary>
82-
</div>
83-
</ModuleHierarchyProvider>
84-
</StripesContext.Provider>
85-
);
86-
}}
87-
/>
88-
</Suspense>
63+
return (
64+
<StripesContext.Provider value={moduleStripes}>
65+
<ModuleHierarchyProvider module={module.module}>
66+
<div id={`${name}-module-display`} data-module={module.module} data-version={module.version}>
67+
<RouteErrorBoundary
68+
escapeRoute={module.home ?? module.route}
69+
moduleName={displayName}
70+
stripes={moduleStripes}
71+
>
72+
<TitleManager page={displayName}>
73+
<Suspense fallback={<LoadingView />}>
74+
<ModuleComponent {...props} connect={connect} stripes={moduleStripes} actAs="app" />
75+
</Suspense>
76+
</TitleManager>
77+
</RouteErrorBoundary>
78+
</div>
79+
</ModuleHierarchyProvider>
80+
</StripesContext.Provider>
81+
);
82+
}}
83+
/>
8984
));
9085
};
9186

src/RootWithIntl.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import {
1818
MainContainer,
1919
MainNav,
2020
ModuleContainer,
21+
ModuleTranslator,
2122
TitledRoute,
2223
Front,
2324
OIDCRedirect,
@@ -201,8 +202,8 @@ const RootWithIntl = ({ stripes, token = '', isAuthenticated = false, disableAut
201202
</TitleManager>
202203
</EntitlementLoader>
203204
</ModuleTranslator>
204-
</CalloutContext.Provider >
205-
</StripesContext.Provider >
205+
</CalloutContext.Provider>
206+
</StripesContext.Provider>
206207
);
207208
};
208209

src/components/EntitlementLoader.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import PropTypes from 'prop-types';
33
import { useStripes } from '../StripesContext';
44
import { ModulesContext, useModules, modulesInitialState } from '../ModulesContext';
55
import { loadEntitlement } from './loadEntitlement';
6+
import { registerRemotes, loadRemote } from '@module-federation/runtime';
67

78
/**
89
* preloadModules
@@ -195,6 +196,7 @@ const EntitlementLoader = ({ children }) => {
195196

196197
// if the signal is aborted, avoid all subsequent fetches, state updates...
197198
if (!signal.aborted) {
199+
fetchMFStats();
198200
try {
199201
// load module assets (translations, icons)...
200202
remotesWithLoadedAssets = await loadAllModuleAssets(stripes, remotes);
@@ -203,7 +205,7 @@ const EntitlementLoader = ({ children }) => {
203205
}
204206

205207
const remotesToRegister = remotes.map(remote => ({
206-
name: remote.name, entry: remote.entry
208+
name: remote.name, entry: remote.location
207209
}));
208210
registerRemotes(remotesToRegister);
209211

@@ -217,7 +219,7 @@ const EntitlementLoader = ({ children }) => {
217219
setRemoteModules(cachedModules);
218220
}
219221
};
220-
fetchMFStats();
222+
221223
fetchRegistry();
222224
}
223225
return () => {

src/components/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,10 @@ export { default as QueryStateUpdater } from './MainNav/QueryStateUpdater';
1313
export { AppOrderProvider } from './MainNav/AppOrderProvider';
1414
export { default as ModuleContainer } from './ModuleContainer';
1515
export { withModule, withModules } from './Modules';
16+
export { default as ModuleTranslator } from './ModuleTranslator';
1617
export { default as OrganizationLogo } from './OrganizationLogo';
1718
export { default as OverlayContainer } from './OverlayContainer';
19+
export { default as Root } from './Root';
1820
export { default as SSOLogin } from './SSOLogin';
1921
export { default as SystemSkeleton } from './SystemSkeleton';
2022
export { default as TitledRoute } from './TitledRoute';

0 commit comments

Comments
 (0)