@@ -10,6 +10,11 @@ import { BundlingPaths } from './paths';
1010import { transforms } from './transforms' ;
1111import { DynamicPluginOptions } from './types' ;
1212
13+ const singletonAnyVersion = {
14+ singleton : true ,
15+ requiredVersion : '*' ,
16+ } ;
17+
1318/**
1419 * TODO: Create a config API to configure and optimize dependency sharing
1520 * https://medium.com/@marvusm.mmi/webpack-module-federation-think-twice-before-sharing-a-dependency-18b3b0e352cb
@@ -18,81 +23,36 @@ export const sharedModules = {
1823 /**
1924 * Mandatory singleton packages for sharing
2025 */
21- react : {
22- singleton : true ,
23- requiredVersion : '*' ,
24- } ,
25- 'react-dom' : {
26- singleton : true ,
27- requiredVersion : '*' ,
28- } ,
29- 'react-router-dom' : {
30- singleton : true ,
31- requiredVersion : '*' ,
32- } ,
33- 'react-router' : {
34- singleton : true ,
35- requiredVersion : '*' ,
36- } ,
37- '@backstage/version-bridge' : {
38- singleton : true ,
39- requiredVersion : '*' ,
40- } ,
41- '@backstage/core-app-api' : {
42- singleton : true ,
43- requiredVersion : '*' ,
44- } ,
45- '@backstage/core-plugin-api' : {
46- singleton : true ,
47- requiredVersion : '*' ,
48- } ,
49- '@backstage/frontend-plugin-api' : {
50- singleton : true ,
51- requiredVersion : '*' ,
52- } ,
53- '@scalprum/react-core' : {
54- singleton : true ,
55- requiredVersion : '*' ,
56- } ,
57- '@openshift/dynamic-plugin-sdk' : {
58- singleton : true ,
59- requiredVersion : '*' ,
60- } ,
26+ react : singletonAnyVersion ,
27+ 'react-dom' : singletonAnyVersion ,
28+
29+ 'react-router-dom' : singletonAnyVersion ,
30+ 'react-router' : singletonAnyVersion ,
31+
32+ '@backstage/core-app-api' : singletonAnyVersion ,
33+ '@backstage/core-plugin-api' : singletonAnyVersion ,
34+ '@backstage/frontend-plugin-api' : singletonAnyVersion ,
35+ '@backstage/version-bridge' : singletonAnyVersion ,
36+
37+ '@scalprum/react-core' : singletonAnyVersion ,
38+ '@openshift/dynamic-plugin-sdk' : singletonAnyVersion ,
39+
40+ /**
41+ * The following two packages are required to be shared as singletons to enable MUI v4 theming
42+ */
43+ '@material-ui/core/styles' : singletonAnyVersion ,
44+ '@material-ui/styles' : singletonAnyVersion ,
45+
6146 /**
62- * The following two packages are required to be shared as singletons to enable UI theming
47+ * And these for MUI v5 theming
6348 */
64- '@material-ui/core/styles' : {
65- singleton : true ,
66- requiredVersion : '*' ,
67- } ,
68- '@material-ui/styles' : {
69- singleton : true ,
70- requiredVersion : '*' ,
71- } ,
72- '@mui/material' : {
73- singleton : true ,
74- requiredVersion : '*' ,
75- } ,
76- '@mui/system' : {
77- singleton : true ,
78- requiredVersion : '*' ,
79- } ,
80- '@mui/private-theming' : {
81- singleton : true ,
82- requiredVersion : '*' ,
83- } ,
84- '@mui/styled-engine' : {
85- singleton : true ,
86- requiredVersion : '*' ,
87- } ,
88- '@emotion/cache' : {
89- singleton : true ,
90- requiredVersion : '*' ,
91- } ,
92- '@emotion/react' : {
93- singleton : true ,
94- requiredVersion : '*' ,
95- } ,
49+ '@mui/material' : singletonAnyVersion ,
50+ '@mui/system' : singletonAnyVersion ,
51+ '@mui/private-theming' : singletonAnyVersion ,
52+ '@mui/styled-engine' : singletonAnyVersion ,
53+ '@mui/utils' : singletonAnyVersion ,
54+ '@emotion/cache' : singletonAnyVersion ,
55+ '@emotion/react' : singletonAnyVersion ,
9656} ;
9757
9858export async function createScalprumConfig (
0 commit comments