@@ -290,13 +290,23 @@ const moduleFederationPlugin = new ModuleFederationPlugin({
290
290
name: ' host' ,
291
291
filename: ' host.[contenthash].js' ,
292
292
shared: [
293
- {' @openshift/dynamic-plugin-sdk' : { singleton: true , requiredVersion: ' *' } },
294
- { ' @scalprum/react-core' : { singleton: true , requiredVersion: ' *' } },
293
+ {
294
+ ' @openshift/dynamic-plugin-sdk' : {
295
+ singleton: true ,
296
+ requiredVersion: ' *' ,
297
+ },
298
+ },
299
+ {
300
+ ' @scalprum/react-core' : {
301
+ singleton: true ,
302
+ requiredVersion: ' *' ,
303
+ },
304
+ },
295
305
{ react: { singleton: true , requiredVersion: ' *' } },
296
- { ' react-dom' : { singleton: true , requiredVersion: ' *' } },
306
+ { ' react-dom' : { singleton: true , requiredVersion: ' *' } },
297
307
// any other packages you wish to share
298
- ]
299
- })
308
+ ],
309
+ });
300
310
```
301
311
302
312
Note that for demo purposes, the ` requiredVersion ` for dependencies in this example is set to ` * ` , but you can update this to a version that suits your requirements.
@@ -329,23 +339,24 @@ This is a known issue that is being actively worked on.
329
339
const { DynamicRemotePlugin } = require (' @openshift/dynamic-plugin-sdk-webpack' );
330
340
331
341
const sharedModules = {
332
- ' @openshift/dynamic-plugin-sdk' : ( singleton: true },
333
- ' @scalprum/react-core' : ( singleton: true },
334
- react: { singleton: true ),
335
- ' react-dom' : ( singleton: true },
342
+ ' @openshift/dynamic-plugin-sdk' : { singleton: true },
343
+ ' @scalprum/react-core' : { singleton: true },
344
+ react: { singleton: true },
345
+ ' react-dom' : { singleton: true },
346
+ };
336
347
337
348
const dynamicPlugin = new DynamicRemotePlugin ({
349
+ extensions: [],
350
+ sharedModules,
351
+ entryScriptfilename: ' remoteModule.[contenthash].js' ,
352
+ pluginMetadata: {
353
+ name: ' remoteModule' ,
354
+ version: ' 1.0.0' ,
355
+ exposedModules: {
356
+ RemoteModuleComponent: ' ./remoteModule/src/RemoteModuleComponent.tsx' ,
357
+ },
338
358
extensions: [],
339
- sharedModules,
340
- entryScriptfilename: ' remoteModule.(contenthash].js' ,
341
- pluginMetadata: {
342
- name: " remoteModule" ,
343
- version: " 1.0.0" ,
344
- exposedModules: {
345
- RemoteModuleComponent" : " ./ remoteModule/ src/ RemoteModuleComponent .tsx "
346
- },
347
- extensions: []
348
- }
359
+ },
349
360
});
350
361
351
362
```
@@ -441,10 +452,10 @@ const moduleFederationPlugin = new ModuleFederationPlugin({
441
452
filename: 'host.[contenthash].js',
442
453
shared: [{
443
454
// These packages has to be shared and has to be marked as singleton!
444
- { '@openshift/dynamic-plugin-sdk', { singleton: true, eager: true }}
445
- { '@scalprum/react-core': { singleton: true, eager: true } },
446
- { react: { singleton: true, eager: true } },
447
- { 'react-dom': { singleton: true, eager: true } },
455
+ { '@openshift/dynamic-plugin-sdk', { singleton: true, }}
456
+ { '@scalprum/react-core': { singleton: true, } },
457
+ { react: { singleton: true, } },
458
+ { 'react-dom': { singleton: true } },
448
459
// any other packages you wish to share
449
460
}]
450
461
})
0 commit comments