@module-federation/nextjs-mf 8.1.3 → 8.1.4

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 (31) hide show
  1. package/README.md +7 -134
  2. package/dist/package.json +9 -2
  3. package/dist/src/internal.js +0 -19
  4. package/dist/src/internal.js.map +1 -1
  5. package/dist/src/loaders/fixImageLoader.js +15 -3
  6. package/dist/src/loaders/fixImageLoader.js.map +1 -1
  7. package/dist/src/plugins/NextFederationPlugin/apply-server-plugins.js +0 -5
  8. package/dist/src/plugins/NextFederationPlugin/apply-server-plugins.js.map +1 -1
  9. package/dist/src/plugins/NextFederationPlugin/index.d.ts +1 -4
  10. package/dist/src/plugins/NextFederationPlugin/index.js +13 -63
  11. package/dist/src/plugins/NextFederationPlugin/index.js.map +1 -1
  12. package/dist/src/plugins/NextFederationPlugin/next-fragments.d.ts +2 -23
  13. package/dist/src/plugins/NextFederationPlugin/next-fragments.js +2 -78
  14. package/dist/src/plugins/NextFederationPlugin/next-fragments.js.map +1 -1
  15. package/dist/src/plugins/NextFederationPlugin/regex-equal.d.ts +1 -1
  16. package/dist/src/plugins/container/EmbeddedContainerPlugin.d.ts +0 -29
  17. package/dist/src/plugins/container/EmbeddedContainerPlugin.js +3 -53
  18. package/dist/src/plugins/container/EmbeddedContainerPlugin.js.map +1 -1
  19. package/dist/src/plugins/container/InvertedContainerPlugin.d.ts +0 -22
  20. package/dist/src/plugins/container/InvertedContainerPlugin.js +5 -37
  21. package/dist/src/plugins/container/InvertedContainerPlugin.js.map +1 -1
  22. package/dist/src/plugins/container/InvertedContainerRuntimeModule.d.ts +2 -7
  23. package/dist/src/plugins/container/InvertedContainerRuntimeModule.js +28 -88
  24. package/dist/src/plugins/container/InvertedContainerRuntimeModule.js.map +1 -1
  25. package/dist/src/plugins/container/runtimePlugin.d.ts +2 -0
  26. package/dist/src/plugins/container/runtimePlugin.js +91 -0
  27. package/dist/src/plugins/container/runtimePlugin.js.map +1 -0
  28. package/package.json +5 -4
  29. package/dist/src/plugins/container/ModuleFederationPlugin.d.ts +0 -14
  30. package/dist/src/plugins/container/ModuleFederationPlugin.js +0 -96
  31. package/dist/src/plugins/container/ModuleFederationPlugin.js.map +0 -1
package/README.md CHANGED
@@ -257,145 +257,18 @@ const SampleComponent = lazy(() => import('next2/sampleComponent'));
257
257
 
258
258
  import Sample from 'next2/sampleComponent';
259
259
  ```
260
-
261
- ## Delegate modules
262
-
263
- Delegated modules are now a standard feature in module federation, giving you the ability to manage the loading procedure of remote modules via an internally bundled file by webpack. This is facilitated by exporting a promise in the delegate file that resolves to a remote/container interface.
264
-
265
- A container interface represents the fundamental `{get, init}` API that remote entries present to a consuming app. Within the browser, a remote container could be `window.app1`, and in Node, it could be `globalThis.__remote_scope__.app1`.
266
-
267
- Implementing a method for script loading in the delegate file is necessary for the utilization of delegated modules. Although the built-in `__webpack_require__.l` method of webpack is a prevalent method, any method is suitable. This method is made available to the runtime and is identical to the method webpack employs internally to load remotes.
268
-
269
- Please note that using delegated modules demands a minimum version of `6.1.x` across all applications, given that consumers must be capable of handling the new container interface.
270
-
271
- Here's a sample usage of a delegated module with `__webpack_require__.l`:
272
-
273
- <details>
274
- <summary>See Example: (click) </summary>
275
- In this example, the delegated module exports a promise that loads the remote entry script located at "http://localhost:3000/_next/static/chunks/remoteEntry.js",
276
- based on the `__resourceQuery` variable set by webpack at runtime.
277
- If an error surfaces while loading the script, a unique error object is generated, and the promise is rejected with this error.
278
-
279
- ```js
280
- //next.config.js
281
- const { createDelegatedModule } = require('@module-federation/nextjs-mf/utilities');
282
- const remotes = {
283
- checkout: createDelegatedModule(require.resolve('./remote-delegate.js'), {
284
- remote: `checkout@http://localhost:3002/_next/static/${isServer ? 'ssr' : 'chunks'}/remoteEntry.js`,
285
- otherParam: 'testing',
286
- }),
287
- };
288
-
289
- //remote-delegate.js
290
- // Delegates must utilize module.exports, not export default - this is due to a webpack constraint
291
- // ALL imports MUST BE dynamic imports in here like import()
292
- module.exports = new Promise(async (resolve, reject) => {
293
- const { importDelegatedModule } = await import('@module-federation/nextjs-mf/importDelegatedModule');
294
- // eslint-disable-next-line no-undef
295
- const currentRequest = new URLSearchParams(__resourceQuery).get('remote');
296
- const [global, url] = currentRequest.split('@');
297
- importDelegatedModule({
298
- global,
299
- url: url + '?' + Date.now(),
300
- })
301
- .then((remote) => {
302
- resolve(remote);
303
- })
304
- .catch((err) => reject(err));
305
- });
306
- ```
307
-
308
- </details>
309
-
310
- In the `next.config.js` file, where remotes are configured in the module federation plugin,
311
- you can use the internal hint to tell webpack to use an internal file as the remote entry.
312
- This is done by replacing the typical global@url syntax with `internal ./path/to/module`.
313
-
314
- Webpack has several hint types:
315
-
316
- - `internal `
317
- - `promise `
318
- - `import `
319
- - `external `
320
- - `script `
321
-
322
- The `global@url` syntax is actually script hint: `script global@url`
323
-
324
- If you want to use the same file for handling all remote entries, you can pass information to the delegate module using query parameters.
325
- Webpack will pass the query parameters to the module as a string, this is known as `__resourceQuery`.
326
- It allows you to pass information to the delegate module, so it knows what webpack is currently asking for.
327
-
328
- You can use query parameters to pass data to a module, webpack will pass the query parameters to the module as a string.
329
-
330
- For more information on `__resourceQuery` visit: https://webpack.js.org/api/module-variables/#__resourcequery-webpack-specific.
331
-
332
- ```js
333
- // next.config.js
334
- // its advised you use {createDelegatedModule} from @module-federation/utilities (re-exported as @module-federation/nextjs-mf/utilities) instead of manually creating the delegate module
335
- const remotes = {
336
- // pass pointer to remote-delegate, pass delegate remote name as query param,
337
- // at runtime webpack will pass this as __resourceQuery
338
- shop: `internal ./remote-delegate.js?remote=shop@http://localhost:3001/_next/static/${isServer ? 'ssr' : 'chunks'}/remoteEntry.js`,
339
- checkout: `internal ./remote-delegate.js?remote=checkout@http://localhost:3002/_next/static/${isServer ? 'ssr' : 'chunks'}/remoteEntry.js`,
340
- };
341
- ```
342
-
343
- #### Expand below to see a full example:
344
-
345
- <details>
346
- <summary>See Full configuration with no helpers: (click) </summary>
260
+ ## RuntimePlugins
261
+ To provide extensibility and "middleware" for federation, you can refer to `@module-federation/runtime`
347
262
 
348
263
  ```js
349
264
  // next.config.js
350
-
351
- const remotes = {
352
- // pass pointer to remote-delegate, pass deletae remote name as query param,
353
- // at runtime webpack will pass this as __resourceQuery
354
- shop: `internal ./remote-delegate.js?remote=shop@http://localhost:3001/_next/static/${isServer ? 'ssr' : 'chunks'}/remoteEntry.js`,
355
- checkout: `internal ./remote-delegate.js?remote=checkout@http://localhost:3002/_next/static/${isServer ? 'ssr' : 'chunks'}/remoteEntry.js`,
356
- };
357
-
358
- // remote-delegate.js
359
- module.exports = new Promise((resolve, reject) => {
360
- // some node specific for NodeFederation
361
- if (!globalThis.__remote_scope__) {
362
- // create a global scope for container, similar to how remotes are set on window in the browser
363
- globalThis.__remote_scope__ = {
364
- _config: {},
365
- };
366
- }
367
- console.log('Delegate being called for', __resourceQuery);
368
- // get "remote" off resource query, returns url@global
369
- const currentRequest = new URLSearchParams(__resourceQuery).get('remote');
370
- // parse syntax
371
- const [containerGlobal, url] = currentRequest.split('@');
372
- // if node server, register the containers known origins
373
- if (typeof window === 'undefined') {
374
- globalThis.__remote_scope__._config[global] = url;
375
- }
376
- const __webpack_error__ = new Error();
377
- // if you use NodeFederationPlugin, ive build a server-side version of __webpack_require__.l, with the same api.
378
- // this is how module federation works on the server, i wrote server-side chunk loading.
379
- __webpack_require__.l(
380
- url,
381
- function (event) {
382
- // resolve promise with container, for browser env or node env.
383
- const container = typeof window === 'undefined' ? globalThis.__remote_scope__[containerGlobal] : window[containerGlobal];
384
- console.log('delegate resolving', container);
385
- if (typeof container !== 'undefined') return resolve(container);
386
- var realSrc = event && event.target && event.target.src;
387
- __webpack_error__.message = 'Loading script failed.\\n(' + event.message + ': ' + realSrc + ')';
388
- __webpack_error__.name = 'ScriptExternalLoadError';
389
- __webpack_error__.stack = event.stack;
390
- reject(__webpack_error__);
391
- },
392
- containerGlobal,
393
- );
394
- });
265
+ new NextFederationPlugin({
266
+ runtimePlugins: [
267
+ require.resolve('./path/to/myRuntimePlugin.js')
268
+ ]
269
+ })
395
270
  ```
396
271
 
397
- </details>
398
-
399
272
  ## Utilities
400
273
 
401
274
  Ive added a util for dynamic chunk loading, in the event you need to load remote containers dynamically.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/nextjs-mf",
3
- "version": "8.1.3",
3
+ "version": "8.1.4",
4
4
  "license": "MIT",
5
5
  "main": "./src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -40,6 +40,7 @@
40
40
  "dependencies": {
41
41
  "@module-federation/enhanced": "workspace:*",
42
42
  "@module-federation/node": "workspace:*",
43
+ "@module-federation/runtime": "workspace:*",
43
44
  "@module-federation/sdk": "workspace:*",
44
45
  "@module-federation/utilities": "workspace:*",
45
46
  "@module-federation/webpack-type": "workspace:*",
@@ -53,8 +54,14 @@
53
54
  "fast-glob": "^3.2.11",
54
55
  "node-fetch": "2.7.0",
55
56
  "schema-utils": "3.3.0",
57
+ "semver": "6.3.1",
56
58
  "tapable": "2.2.1",
57
- "webpack-sources": "^3.2.3"
59
+ "terser-webpack-plugin": "5.3.9",
60
+ "url": "0.11.3",
61
+ "util": "0.12.5",
62
+ "webpack-sources": "^3.2.3",
63
+ "@module-federation/runtime-tools": "0.0.8",
64
+ "@module-federation/webpack-bundler-runtime": "0.0.8"
58
65
  },
59
66
  "peerDependencies": {
60
67
  "next": "^12 || ^13 || ^14",
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.toDisplayErrors = exports.getDelegates = exports.parseRemotes = exports.DEFAULT_SHARE_SCOPE_BROWSER = exports.DEFAULT_SHARE_SCOPE = void 0;
4
- const utilities_1 = require("@module-federation/utilities");
5
4
  const enhanced_1 = require("@module-federation/enhanced");
6
5
  /**
7
6
  * @typedef SharedObject
@@ -145,24 +144,6 @@ const parseRemotes = (remotes) => {
145
144
  return { ...acc, [key]: value };
146
145
  }
147
146
  return { ...acc, [key]: value };
148
- if (isStandardRemoteSyntax(value)) {
149
- let resolvePath;
150
- try {
151
- resolvePath = require.resolve('./default-delegate.cjs');
152
- }
153
- catch (e) {
154
- resolvePath = require.resolve('./default-delegate');
155
- }
156
- // If the value is using the standard remote syntax, create a delegated module
157
- return {
158
- ...acc,
159
- [key]: (0, utilities_1.createDelegatedModule)(resolvePath, {
160
- remote: value,
161
- }),
162
- };
163
- }
164
- // If none of the above conditions are met, keep the original value
165
- return { ...acc, [key]: value };
166
147
  }, {});
167
148
  };
168
149
  exports.parseRemotes = parseRemotes;
@@ -1 +1 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/internal.ts"],"names":[],"mappings":"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"}
@@ -33,12 +33,24 @@ async function fixImageLoader(remaining) {
33
33
  const computedAssetPrefix = isServer
34
34
  ? `${Template.asString([
35
35
  'function getSSRImagePath(){',
36
+ //TODO: use auto public path plugin instead
37
+ `const pubpath = ${publicPath};`,
36
38
  Template.asString([
37
39
  'try {',
38
40
  Template.indent([
39
- 'const config = globalThis.__remote_scope__ &&',
40
- 'globalThis.__remote_scope__._config;',
41
- `const remoteEntry = config[__webpack_runtime_id__] || ${publicPath}`,
41
+ "const globalThisVal = new Function('return globalThis')();",
42
+ 'const name = __webpack_require__.federation.instance.name',
43
+ `const container = globalThisVal['__FEDERATION__']['__INSTANCES__'].find(
44
+ (instance) => {
45
+ if (!instance.moduleCache.has(name)) return;
46
+ const container = instance.moduleCache.get(name);
47
+ if (!container.remoteInfo) return;
48
+ return container.remoteInfo.entry;
49
+ },
50
+ );`,
51
+ 'const cache = container.moduleCache',
52
+ 'const remote = cache.get(name).remoteInfo',
53
+ `const remoteEntry = remote.entry;`,
42
54
  `if (remoteEntry) {`,
43
55
  Template.indent([
44
56
  `const splitted = remoteEntry.split('/_next')`,
@@ -1 +1 @@
1
- {"version":3,"file":"fixImageLoader.js","sourceRoot":"","sources":["../../../src/loaders/fixImageLoader.ts"],"names":[],"mappings":";;;;;;AACA,0FAAqF;AACrF,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAC1B,IAAA,6CAAoB,EAAC,SAAS,CAAC,CACJ,CAAC;AAC9B,gDAAwB;AAExB;;;;;;;;;;;;;;;GAeG;AACI,KAAK,UAAU,cAAc,CAElC,SAAiB;IAEjB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC;IAC3D,YAAY;IACZ,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC;IAE7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CACpC,GAAG,IAAI,CAAC,YAAY,+BAA+B,SAAS,EAAE,CAC/D,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAA2B,CAAC;IAErE,MAAM,mBAAmB,GAAG,QAAQ;QAClC,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnB,6BAA6B;YAC7B,QAAQ,CAAC,QAAQ,CAAC;gBAChB,OAAO;gBACP,QAAQ,CAAC,MAAM,CAAC;oBACd,+CAA+C;oBAC/C,sCAAsC;oBACtC,yDAAyD,UAAU,EAAE;oBACrE,oBAAoB;oBACpB,QAAQ,CAAC,MAAM,CAAC;wBACd,8CAA8C;wBAC9C,kDAAkD;qBACnD,CAAC;oBACF,GAAG;oBACH,YAAY;iBACb,CAAC;gBACF,eAAe;gBACf,QAAQ,CAAC,MAAM,CAAC;oBACd,uDAAuD;oBACvD,YAAY;iBACb,CAAC;gBACF,GAAG;aACJ,CAAC;YACF,KAAK;SACN,CAAC,EAAE;QACN,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnB,6BAA6B;YAC7B,QAAQ,CAAC,MAAM,CAAC;gBACd,OAAO;gBACP,QAAQ,CAAC,MAAM,CAAC;oBACd,qCAAqC;oBACrC,QAAQ,CAAC,MAAM,CACb,UAAU,UAAU,OAAO,UAAU,iCAAiC,UAAU,eAAe,CAChG;oBACD,kFAAkF,UAAU,WAAW;oBACvG,uCAAuC;oBACvC,kDAAkD;iBACnD,CAAC;gBACF,eAAe;gBACf,QAAQ,CAAC,MAAM,CAAC;oBACd,oEAAoE;oBACpE,6DAA6D;oBAC7D,YAAY;iBACb,CAAC;gBACF,GAAG;aACJ,CAAC;YACF,KAAK;SACN,CAAC,EAAE,CAAC;IAET,MAAM,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CACtD,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QACpB,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAClB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpC,KAAK,GAAG,cAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;YACD,GAAG,CAAC,IAAI,CACN,GAAG,GAAG,qCAAqC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACnE,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7C,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAAc,CACf,CAAC;IAEF,OAAO,QAAQ,CAAC,QAAQ,CAAC;QACvB,yCAAyC;QACzC,OAAO;QACP,QAAQ,CAAC,MAAM,CAAC,mCAAmC,mBAAmB,GAAG,CAAC;QAC1E,gBAAgB;QAChB,kBAAkB;QAClB,QAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,GAAG;KACJ,CAAC,CAAC;AACL,CAAC;AA5FD,wCA4FC;AAED;;GAEG;AACU,QAAA,KAAK,GAAG,cAAc,CAAC"}
1
+ {"version":3,"file":"fixImageLoader.js","sourceRoot":"","sources":["../../../src/loaders/fixImageLoader.ts"],"names":[],"mappings":"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"}
@@ -27,7 +27,6 @@ function applyServerPlugins(compiler, options) {
27
27
  const suffix = `-[chunkhash].js`;
28
28
  compiler.options.output.chunkFilename = chunkFileName.replace('.js', suffix);
29
29
  }
30
- new enhanced_2.ModuleInfoRuntimePlugin().apply(compiler);
31
30
  // Hoist container references into runtime chunks
32
31
  //@ts-ignore
33
32
  new enhanced_1.HoistContainerReferencesPlugin().apply(compiler);
@@ -139,10 +138,6 @@ function handleServerExternals(compiler, options) {
139
138
  // Otherwise, return (null) to treat the module as internalizable
140
139
  return;
141
140
  };
142
- // compiler.options.externals.push(crittersRegex)
143
- // compiler.options.externals.push(reactRegex)
144
- // compiler.options.externals.push(reactDomRegex)
145
- // compiler.options.externals.push(nextCompiledRegex)
146
141
  }
147
142
  }
148
143
  exports.handleServerExternals = handleServerExternals;
@@ -1 +1 @@
1
- {"version":3,"file":"apply-server-plugins.js","sourceRoot":"","sources":["../../../../src/plugins/NextFederationPlugin/apply-server-plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply-server-plugins.js","sourceRoot":"","sources":["../../../../src/plugins/NextFederationPlugin/apply-server-plugins.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import type { Compiler } from 'webpack';
6
6
  export declare class NextFederationPlugin {
7
7
  private _options;
8
8
  private _extraOptions;
9
+ name: string;
9
10
  /**
10
11
  * Constructs the NextFederationPlugin with the provided options.
11
12
  *
@@ -22,9 +23,5 @@ export declare class NextFederationPlugin {
22
23
  private applyConditionalPlugins;
23
24
  private getNormalFederationPluginOptions;
24
25
  private getNoopPath;
25
- private createEmbeddedOptions;
26
- private applyClientFederationPlugins;
27
- private applyServerFederationPlugins;
28
- private applyModuleFederationPlugins;
29
26
  }
30
27
  export default NextFederationPlugin;
@@ -17,8 +17,8 @@ const set_options_1 = require("./set-options");
17
17
  const validate_options_1 = require("./validate-options");
18
18
  const apply_server_plugins_1 = require("./apply-server-plugins");
19
19
  const apply_client_plugins_1 = require("./apply-client-plugins");
20
- const ModuleFederationPlugin_1 = __importDefault(require("../container/ModuleFederationPlugin"));
21
- const node_1 = require("@module-federation/node");
20
+ const enhanced_1 = require("@module-federation/enhanced");
21
+ const path_1 = __importDefault(require("path"));
22
22
  /**
23
23
  * NextFederationPlugin is a webpack plugin that handles Next.js application federation using Module Federation.
24
24
  */
@@ -32,21 +32,23 @@ class NextFederationPlugin {
32
32
  const { mainOptions, extraOptions } = (0, set_options_1.setOptions)(options);
33
33
  this._options = mainOptions;
34
34
  this._extraOptions = extraOptions;
35
+ this.name = 'ModuleFederationPlugin';
35
36
  }
36
37
  /**
37
38
  * The apply method is called by the webpack compiler and allows the plugin to hook into the webpack process.
38
39
  * @param compiler The webpack compiler object.
39
40
  */
40
41
  apply(compiler) {
41
- process.env['FEDERATION_WEBPACK_PATH'] = (0, normalize_webpack_path_1.getWebpackPath)(compiler);
42
+ process.env['FEDERATION_WEBPACK_PATH'] =
43
+ process.env['FEDERATION_WEBPACK_PATH'] ||
44
+ (0, normalize_webpack_path_1.getWebpackPath)(compiler, { framework: 'nextjs' });
42
45
  if (!this.validateOptions(compiler))
43
46
  return;
44
47
  const isServer = this.isServerCompiler(compiler);
45
- //@ts-ignore
46
48
  new CopyFederationPlugin_1.default(isServer).apply(compiler);
47
49
  this.applyConditionalPlugins(compiler, isServer);
48
50
  const normalFederationPluginOptions = this.getNormalFederationPluginOptions(compiler, isServer);
49
- this.applyModuleFederationPlugins(compiler, normalFederationPluginOptions, isServer);
51
+ new enhanced_1.ModuleFederationPlugin(normalFederationPluginOptions).apply(compiler);
50
52
  }
51
53
  validateOptions(compiler) {
52
54
  const compilerValid = (0, validate_options_1.validateCompilerOptions)(compiler);
@@ -73,19 +75,15 @@ class NextFederationPlugin {
73
75
  compiler.options.devtool = false;
74
76
  }
75
77
  if (isServer) {
76
- //@ts-ignore
77
78
  (0, apply_server_plugins_1.configureServerCompilerOptions)(compiler);
78
79
  (0, apply_server_plugins_1.configureServerLibraryAndFilename)(this._options);
79
- //@ts-ignore
80
80
  (0, apply_server_plugins_1.applyServerPlugins)(compiler, this._options);
81
- //@ts-ignore
82
81
  (0, apply_server_plugins_1.handleServerExternals)(compiler, {
83
82
  ...this._options,
84
83
  shared: { ...(0, next_fragments_1.retrieveDefaultShared)(isServer), ...this._options.shared },
85
84
  });
86
85
  }
87
86
  else {
88
- //@ts-ignore
89
87
  (0, apply_client_plugins_1.applyClientPlugins)(compiler, this._options, this._extraOptions);
90
88
  }
91
89
  }
@@ -96,6 +94,12 @@ class NextFederationPlugin {
96
94
  ...this._options,
97
95
  runtime: false,
98
96
  remoteType: 'script',
97
+ // @ts-ignore
98
+ runtimePlugins: [
99
+ //@ts-ignore
100
+ ...(this._options.runtimePlugins || []),
101
+ require.resolve(path_1.default.join(__dirname, '../container/runtimePlugin')),
102
+ ],
99
103
  exposes: {
100
104
  './noop': noop,
101
105
  './react': require.resolve('react'),
@@ -125,60 +129,6 @@ class NextFederationPlugin {
125
129
  }
126
130
  return noop;
127
131
  }
128
- createEmbeddedOptions(normalFederationPluginOptions, isServer) {
129
- return {
130
- ...normalFederationPluginOptions,
131
- name: 'host_inner_ctn',
132
- runtime: isServer ? 'webpack-runtime' : 'webpack',
133
- filename: `host_inner_ctn.js`,
134
- remoteType: 'script',
135
- library: {
136
- ...normalFederationPluginOptions.library,
137
- name: 'host_inner_ctn',
138
- },
139
- };
140
- }
141
- applyClientFederationPlugins(compiler, normalFederationPluginOptions) {
142
- const embeddedOptions = this.createEmbeddedOptions(normalFederationPluginOptions);
143
- new ModuleFederationPlugin_1.default(normalFederationPluginOptions,
144
- //@ts-ignore
145
- embeddedOptions).apply(compiler);
146
- }
147
- applyServerFederationPlugins(compiler, normalFederationPluginOptions) {
148
- const embeddedOptions = this.createEmbeddedOptions(normalFederationPluginOptions, true);
149
- //@ts-ignore
150
- const serverSharedOptions = Object.keys(
151
- //@ts-ignore
152
- normalFederationPluginOptions.shared).reduce((acc, key) => ({
153
- ...acc,
154
- //@ts-ignore
155
- [key]: { ...normalFederationPluginOptions.shared[key], eager: false },
156
- }), {});
157
- const mainOptions = {
158
- ...normalFederationPluginOptions,
159
- shared: serverSharedOptions,
160
- };
161
- //@ts-ignore
162
- const prepareRemote = (options) => {
163
- return {
164
- ...options,
165
- remotes: options.remotes
166
- ? (0, node_1.parseRemotes)(options.remotes)
167
- : {},
168
- };
169
- };
170
- //@ts-ignore
171
- new ModuleFederationPlugin_1.default(prepareRemote(mainOptions), prepareRemote(embeddedOptions)).apply(compiler);
172
- }
173
- applyModuleFederationPlugins(compiler, normalFederationPluginOptions, isServer) {
174
- const ModuleFederationPlugin = (0, next_fragments_1.getModuleFederationPluginConstructor)(isServer, compiler);
175
- if (!isServer) {
176
- this.applyClientFederationPlugins(compiler, normalFederationPluginOptions);
177
- }
178
- else {
179
- this.applyServerFederationPlugins(compiler, normalFederationPluginOptions);
180
- }
181
- }
182
132
  }
183
133
  exports.NextFederationPlugin = NextFederationPlugin;
184
134
  exports.default = NextFederationPlugin;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/NextFederationPlugin/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/NextFederationPlugin/index.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,11 @@
1
- import type { container, Compiler } from 'webpack';
2
- import type { ModuleFederationPluginOptions, SharedObject } from '@module-federation/utilities';
3
- type ConstructableModuleFederationPlugin = new (options: ModuleFederationPluginOptions) => container.ModuleFederationPlugin;
4
- /**
5
- * Gets the appropriate ModuleFederationPlugin based on the environment.
6
- * @param {boolean} isServer - A flag to indicate if the environment is server-side or not.
7
- * @param {Compiler} compiler - The Webpack compiler instance.
8
- * @returns {ModuleFederationPlugin | undefined} The ModuleFederationPlugin or undefined if not applicable.
9
- */
10
- export declare function getModuleFederationPluginConstructor(isServer: boolean, compiler: Compiler): ConstructableModuleFederationPlugin;
1
+ import type { Compiler } from 'webpack';
2
+ import type { SharedObject } from '@module-federation/utilities';
11
3
  /**
12
4
  * Set up default shared values based on the environment.
13
5
  * @param {boolean} isServer - Boolean indicating if the code is running on the server.
14
6
  * @returns {SharedObject} The default share scope based on the environment.
15
7
  */
16
8
  export declare const retrieveDefaultShared: (isServer: boolean) => SharedObject;
17
- /**
18
- * Apply remote delegates.
19
- *
20
- * This function adds the remote delegates feature by configuring and injecting the appropriate loader that will look
21
- * for internal delegate hoist or delegate hoist container and load it using a custom delegateLoader.
22
- * Once loaded, it will then look for the available delegates that will be used to configure the remote
23
- * that the hoisted module will be dependent upon.
24
- *
25
- * @param {ModuleFederationPluginOptions} options - The ModuleFederationPluginOptions instance.
26
- * @param {Compiler} compiler - The Webpack compiler instance.
27
- */
28
- export declare function applyRemoteDelegates(options: ModuleFederationPluginOptions, compiler: Compiler): void;
29
9
  /**
30
10
  * Apply path fixes.
31
11
  *
@@ -36,4 +16,3 @@ export declare function applyRemoteDelegates(options: ModuleFederationPluginOpti
36
16
  * @param {any} options - The ModuleFederationPluginOptions instance.
37
17
  */
38
18
  export declare const applyPathFixes: (compiler: Compiler, options: any) => void;
39
- export {};
@@ -1,23 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.applyPathFixes = exports.applyRemoteDelegates = exports.retrieveDefaultShared = exports.getModuleFederationPluginConstructor = void 0;
3
+ exports.applyPathFixes = exports.retrieveDefaultShared = void 0;
4
4
  const internal_1 = require("../../internal");
5
5
  const helpers_1 = require("../../loaders/helpers");
6
- const enhanced_1 = require("@module-federation/enhanced");
7
- /**
8
- * Gets the appropriate ModuleFederationPlugin based on the environment.
9
- * @param {boolean} isServer - A flag to indicate if the environment is server-side or not.
10
- * @param {Compiler} compiler - The Webpack compiler instance.
11
- * @returns {ModuleFederationPlugin | undefined} The ModuleFederationPlugin or undefined if not applicable.
12
- */
13
- function getModuleFederationPluginConstructor(isServer, compiler) {
14
- if (isServer) {
15
- return require('@module-federation/node')
16
- .NodeFederationPlugin;
17
- }
18
- return enhanced_1.ModuleFederationPlugin;
19
- }
20
- exports.getModuleFederationPluginConstructor = getModuleFederationPluginConstructor;
21
6
  /**
22
7
  * Set up default shared values based on the environment.
23
8
  * @param {boolean} isServer - Boolean indicating if the code is running on the server.
@@ -33,45 +18,6 @@ const retrieveDefaultShared = (isServer) => {
33
18
  return internal_1.DEFAULT_SHARE_SCOPE_BROWSER;
34
19
  };
35
20
  exports.retrieveDefaultShared = retrieveDefaultShared;
36
- /**
37
- * Apply remote delegates.
38
- *
39
- * This function adds the remote delegates feature by configuring and injecting the appropriate loader that will look
40
- * for internal delegate hoist or delegate hoist container and load it using a custom delegateLoader.
41
- * Once loaded, it will then look for the available delegates that will be used to configure the remote
42
- * that the hoisted module will be dependent upon.
43
- *
44
- * @param {ModuleFederationPluginOptions} options - The ModuleFederationPluginOptions instance.
45
- * @param {Compiler} compiler - The Webpack compiler instance.
46
- */
47
- function applyRemoteDelegates(options, compiler) {
48
- if (options.remotes) {
49
- // Get the available delegates
50
- const delegates = (0, internal_1.getDelegates)(options.remotes);
51
- compiler.options.module.rules.push({
52
- enforce: 'pre',
53
- test: [/_app/],
54
- loader: require.resolve('../../loaders/patchDefaultSharedLoader'),
55
- });
56
- // Add the delegate loader for hoist and container to the module rules
57
- compiler.options.module.rules.push({
58
- enforce: 'pre',
59
- test: [/internal-delegate-hoist/, /delegate-hoist-container/],
60
- include: [
61
- compiler.context,
62
- /internal-delegate-hoist/,
63
- /delegate-hoist-container/,
64
- //eslint-disable-next-line
65
- /next[\/]dist/,
66
- ],
67
- loader: require.resolve('../../loaders/delegateLoader'),
68
- options: {
69
- delegates,
70
- },
71
- });
72
- }
73
- }
74
- exports.applyRemoteDelegates = applyRemoteDelegates;
75
21
  /**
76
22
  * Apply path fixes.
77
23
  *
@@ -102,34 +48,12 @@ const applyPathFixes = (compiler, options) => {
102
48
  }
103
49
  //@ts-ignore
104
50
  if (rule?.oneOf) {
105
- //@ts-ignore
106
- const badLoader = rule.oneOf.find((oneOfRule) => {
107
- if ((0, helpers_1.hasLoader)(oneOfRule, 'react-refresh-utils')) {
108
- return true;
109
- }
110
- });
111
51
  //@ts-ignore
112
52
  rule.oneOf.forEach((oneOfRule) => {
113
53
  if ((0, helpers_1.hasLoader)(oneOfRule, 'react-refresh-utils')) {
114
- oneOfRule.exclude = [
115
- oneOfRule.exclude,
116
- /packages\/nextjs-mf/,
117
- /packages\/node\/dist/,
118
- /packages\/utilities\/dist/,
119
- ];
54
+ oneOfRule.exclude = [oneOfRule.exclude, /universe\/packages/];
120
55
  }
121
56
  });
122
- if (badLoader) {
123
- //@ts-ignore
124
- rule.oneOf.push({
125
- test: badLoader.test,
126
- exclude: [badLoader.exclude[0]],
127
- //@ts-ignore
128
- use: badLoader.use.filter((l) => {
129
- return (typeof l !== 'string' && l.loader && l.loader.includes('swc'));
130
- }),
131
- });
132
- }
133
57
  }
134
58
  });
135
59
  };