@module-federation/node 2.1.8 → 2.2.0

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.
package/README.md CHANGED
@@ -35,6 +35,51 @@ yarn add @module-federation/node
35
35
  ## 🚀 Usage
36
36
 
37
37
  There are two approaches to using the plugins exported from this package, dependent on your use case.
38
+ ### Use as Runtime Plugin
39
+
40
+ `module-federation/enhanced` supports runtime plugins.
41
+
42
+ ```js
43
+ const { ModuleFederationPlugin } = require('@module-federation/enhanced');
44
+
45
+ const options = {
46
+ target: 'async-node',
47
+ output: {
48
+ chunkFilename: '[id]-[chunkhash].js' // important to hash chunks
49
+ },
50
+ plugins: [
51
+ new ModuleFederationPlugin({
52
+ name: 'app1',
53
+ exposes: {},
54
+ remotes: {
55
+ app2: 'app2@http://'
56
+ },
57
+ runtimePlugins: [
58
+ require.resolve('@module-federation/node/runtimePlugin')
59
+ ],
60
+ remoteType: 'script',
61
+ library: { type: 'commonjs-module', name: 'app1' }
62
+ })
63
+ ]
64
+ };
65
+
66
+ ```
67
+
68
+ or you can enable it with some presets via UniversalFederation
69
+
70
+ ```js
71
+ new UniversalFederationPlugin({
72
+ name: 'website2',
73
+ library: { type: 'commonjs-module' },
74
+ isServer: true, // or false
75
+ remotes: {},
76
+ filename: 'remoteEntry.js',
77
+ useRuntimePlugin: true, // uses the module-federation/enhanced runtime plugin api
78
+ exposes: {
79
+ './SharedComponent': './remoteServer/SharedComponent',
80
+ },
81
+ })
82
+ ```
38
83
 
39
84
  ### UniversalFederationPlugin
40
85
 
@@ -61,6 +106,7 @@ const config = {
61
106
  isServer: true, // or false
62
107
  remotes: {},
63
108
  filename: 'remoteEntry.js',
109
+ useRuntimePlugin: true, // uses the module-federation/enhanced runtime plugins
64
110
  exposes: {
65
111
  './SharedComponent': './remoteServer/SharedComponent',
66
112
  },
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "@module-federation/node",
4
- "version": "2.1.8",
4
+ "version": "2.2.0",
5
5
  "type": "commonjs",
6
6
  "main": "./src/index.js",
7
7
  "exports": {
@@ -10,6 +10,7 @@
10
10
  "require": "./dist/src/index.js"
11
11
  },
12
12
  "./package.json": "./package.json",
13
+ "./runtimePlugin": "./dist/src/runtimePlugin.js",
13
14
  "./utils": {
14
15
  "import": "./dist/src/utils/index.js",
15
16
  "require": "./dist/src/utils/index.js"
@@ -46,7 +47,7 @@
46
47
  "@module-federation/utilities": "workspace:*",
47
48
  "@module-federation/webpack-bundler-runtime": "0.0.8",
48
49
  "@types/koa": "2.11.2",
49
- "@types/node-schedule": "1.3.2",
50
+ "@types/node-schedule": "2.1.7",
50
51
  "@types/ws": "8.5.3",
51
52
  "adm-zip": "0.5.10",
52
53
  "ansi-colors": "4.1.3",
@@ -60,7 +61,7 @@
60
61
  "lodash.clonedeepwith": "4.5.0",
61
62
  "log4js": "6.9.1",
62
63
  "node-fetch": "2.7.0",
63
- "node-schedule": "2.1.0",
64
+ "node-schedule": "2.1.1",
64
65
  "process": "0.11.10",
65
66
  "rambda": "7.5.0",
66
67
  "resolve": "1.22.8",
@@ -69,14 +70,13 @@
69
70
  "url": "0.11.3",
70
71
  "webpack-sources": "3.2.3",
71
72
  "ws": "8.5.0",
72
- "@module-federation/dts-plugin": "0.1.8",
73
- "@module-federation/managers": "0.1.8",
74
- "@module-federation/manifest": "0.1.8",
75
- "@module-federation/rspack": "0.1.8",
76
- "@module-federation/third-party-dts-extractor": "0.1.8"
73
+ "@module-federation/dts-plugin": "0.1.9",
74
+ "@module-federation/managers": "0.1.9",
75
+ "@module-federation/manifest": "0.1.9",
76
+ "@module-federation/rspack": "0.1.9",
77
+ "@module-federation/third-party-dts-extractor": "0.1.9"
77
78
  },
78
79
  "peerDependencies": {
79
- "next": "^12||^13",
80
80
  "react": "^16||^17||^18",
81
81
  "react-dom": "^16||^17||^18",
82
82
  "webpack": "^5.40.0"
@@ -9,6 +9,7 @@ import type { ModuleFederationPluginOptions } from '../types';
9
9
  interface NodeFederationOptions extends ModuleFederationPluginOptions {
10
10
  experiments?: Record<string, unknown>;
11
11
  debug?: boolean;
12
+ useRuntimePlugin?: boolean;
12
13
  }
13
14
  /**
14
15
  * Interface for Context
@@ -26,13 +27,14 @@ declare class NodeFederationPlugin {
26
27
  private _options;
27
28
  private context;
28
29
  private experiments;
30
+ private useRuntimePlugin?;
29
31
  /**
30
32
  * Create a NodeFederationPlugin.
31
33
  * @constructor
32
34
  * @param {NodeFederationOptions} options - The options for the NodeFederationPlugin
33
35
  * @param {Context} context - The context for the NodeFederationPlugin
34
36
  */
35
- constructor({ experiments, debug, ...options }: NodeFederationOptions, context: Context);
37
+ constructor({ experiments, debug, useRuntimePlugin, ...options }: NodeFederationOptions, context: Context);
36
38
  /**
37
39
  * Apply method for the NodeFederationPlugin class.
38
40
  * @method
@@ -15,10 +15,11 @@ class NodeFederationPlugin {
15
15
  * @param {NodeFederationOptions} options - The options for the NodeFederationPlugin
16
16
  * @param {Context} context - The context for the NodeFederationPlugin
17
17
  */
18
- constructor({ experiments, debug, ...options }, context) {
18
+ constructor({ experiments, debug, useRuntimePlugin, ...options }, context) {
19
19
  this._options = options || {};
20
20
  this.context = context || {};
21
21
  this.experiments = experiments || {};
22
+ this.useRuntimePlugin = useRuntimePlugin || false;
22
23
  }
23
24
  /**
24
25
  * Apply method for the NodeFederationPlugin class.
@@ -34,18 +35,19 @@ class NodeFederationPlugin {
34
35
  new EntryChunkTrackerPlugin_1.default({}).apply(compiler);
35
36
  }
36
37
  preparePluginOptions() {
38
+ this._options.runtimePlugins = [
39
+ ...(this.useRuntimePlugin ? [require.resolve('../runtimePlugin')] : []),
40
+ ...(this._options.runtimePlugins || []),
41
+ ];
37
42
  return {
38
43
  ...this._options,
39
44
  remotes: this._options.remotes || {},
45
+ runtimePlugins: this._options.runtimePlugins,
40
46
  // enable dts in browser by default
41
47
  dts: this._options.dts ?? false,
42
48
  };
43
49
  }
44
50
  updateCompilerOptions(compiler) {
45
- if (compiler.options && compiler.options.output) {
46
- //todo, need to change / remove
47
- compiler.options.output.importMetaName = 'remoteContainerRegistry';
48
- }
49
51
  const chunkFileName = compiler.options?.output?.chunkFilename;
50
52
  const uniqueName = compiler?.options?.output?.uniqueName || this._options.name;
51
53
  if (typeof chunkFileName === 'string' &&
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFederationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/NodeFederationPlugin.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;AAIb,wFAAgE;AAqBhE;;;GAGG;AACH,MAAM,oBAAoB;IAKxB;;;;;OAKG;IACH,YACE,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,OAAO,EAAyB,EACzD,OAAgB;QAEhB,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAK,EAAoC,CAAC;QACjE,IAAI,CAAC,OAAO,GAAG,OAAO,IAAK,EAAc,CAAC;QAC1C,IAAI,CAAC,WAAW,GAAG,WAAW,IAAI,EAAE,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,QAAkB;QACtB,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAC7B,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClD,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACrC,MAAM,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,CAC3D,QAAQ,EACR,OAAO,CACR,CAAC;QACF,IAAI,sBAAsB,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,iCAAuB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClD,CAAC;IAEO,oBAAoB;QAC1B,OAAO;YACL,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE;YACpC,mCAAmC;YACnC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,KAAK;SAChC,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAAC,QAAkB;QAC9C,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAChD,+BAA+B;YAC/B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,yBAAyB,CAAC;QACrE,CAAC;QACD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;QAC9D,MAAM,UAAU,GACd,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9D,IACE,OAAO,aAAa,KAAK,QAAQ;YACjC,UAAU;YACV,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EACnC,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC;YACjC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,OAAO,CAC3D,KAAK,EACL,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,QAAkB,EAAE,OAAY;QAChE,IAAI,sBAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,OAAO,OAAO,CAAC,6BAA6B,CAAC,CAAC,sBAAsB,CAAC;QACvE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CACX,2GAA2G,CAC5G,CAAC;YACF,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBACxC,sBAAsB,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC;YAC/D,CAAC;iBAAM,IACL,OAAO;gBACP,OAAO,CAAC,SAAS;gBACjB,OAAO,CAAC,SAAS,CAAC,sBAAsB,EACxC,CAAC;gBACD,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC;YACpE,CAAC;iBAAM,CAAC;gBACN,sBAAsB,GAAG,OAAO,CAAC,8CAA8C,CAAC,CAAC;YACnF,CAAC;YACD,OAAO,sBAAsB,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAED,kBAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"NodeFederationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/NodeFederationPlugin.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ interface NodeFederationOptions extends ModuleFederationPluginOptions {
10
10
  isServer: boolean;
11
11
  promiseBaseURI?: string;
12
12
  debug?: boolean;
13
+ useRuntimePlugin?: boolean;
13
14
  }
14
15
  /**
15
16
  * Interface for NodeFederationContext
@@ -31,6 +32,7 @@ declare class UniversalFederationPlugin {
31
32
  * @param {NodeFederationContext} context - The context for the plugin
32
33
  */
33
34
  constructor(options: NodeFederationOptions, context: NodeFederationContext);
35
+ private updateCompilerOptions;
34
36
  /**
35
37
  * Apply the plugin to the compiler
36
38
  * @param {Compiler} compiler - The webpack compiler
@@ -23,13 +23,37 @@ class UniversalFederationPlugin {
23
23
  this._options = options || {};
24
24
  this.context = context || {};
25
25
  this.name = 'ModuleFederationPlugin';
26
+ if (this._options.useRuntimePlugin && this._options.isServer) {
27
+ this._options.runtimePlugins = this._options.runtimePlugins
28
+ ? this._options.runtimePlugins.concat([
29
+ require.resolve('../runtimePlugin.js'),
30
+ ])
31
+ : [require.resolve('../runtimePlugin.js')];
32
+ }
33
+ }
34
+ updateCompilerOptions(compiler) {
35
+ compiler.options.output.chunkFormat = 'commonjs';
36
+ if (compiler.options.output.enabledLibraryTypes === undefined) {
37
+ compiler.options.output.enabledLibraryTypes = ['commonjs-module'];
38
+ }
39
+ else {
40
+ compiler.options.output.enabledLibraryTypes.push('commonjs-module');
41
+ }
42
+ const chunkFileName = compiler.options?.output?.chunkFilename;
43
+ const uniqueName = compiler?.options?.output?.uniqueName || this._options.name;
44
+ if (typeof chunkFileName === 'string' &&
45
+ uniqueName &&
46
+ !chunkFileName.includes(uniqueName)) {
47
+ const suffix = `-[chunkhash].js`;
48
+ compiler.options.output.chunkFilename = chunkFileName.replace('.js', suffix);
49
+ }
26
50
  }
27
51
  /**
28
52
  * Apply the plugin to the compiler
29
53
  * @param {Compiler} compiler - The webpack compiler
30
54
  */
31
55
  apply(compiler) {
32
- const { isServer, debug, ...options } = this._options;
56
+ const { isServer, debug, useRuntimePlugin, ...options } = this._options;
33
57
  const { webpack } = compiler;
34
58
  if (!process.env['FEDERATION_WEBPACK_PATH']) {
35
59
  process.env['FEDERATION_WEBPACK_PATH'] = (0, normalize_webpack_path_1.getWebpackPath)(compiler);
@@ -38,8 +62,16 @@ class UniversalFederationPlugin {
38
62
  compiler.options.name === 'server' ||
39
63
  compiler.options.target === 'node' ||
40
64
  compiler.options.target === 'async-node') {
41
- new NodeFederationPlugin_1.default(options, this.context).apply(compiler);
42
- new StreamingTargetPlugin_1.default({ ...options, debug }).apply(compiler);
65
+ if (useRuntimePlugin) {
66
+ this.updateCompilerOptions(compiler);
67
+ new webpack_1.ModuleFederationPlugin({
68
+ ...options,
69
+ }).apply(compiler);
70
+ }
71
+ else {
72
+ new NodeFederationPlugin_1.default(options, this.context).apply(compiler);
73
+ new StreamingTargetPlugin_1.default({ ...options, debug }).apply(compiler);
74
+ }
43
75
  }
44
76
  else {
45
77
  new webpack_1.ModuleFederationPlugin(options).apply(compiler);
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalFederationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/UniversalFederationPlugin.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,oFAA4D;AAC5D,kFAA0D;AAC1D,iEAA6E;AAG7E,0FAA+E;AAsB/E;;GAEG;AACH,MAAM,yBAAyB;IAK7B;;;;OAIG;IACH,YAAY,OAA8B,EAAE,OAA8B;QACxE,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAK,EAA4B,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAK,EAA4B,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAkB;QACtB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QACpE,CAAC;QACD,IACE,QAAQ;YACR,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;YAClC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM;YAClC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,EACxC,CAAC;YACD,IAAI,8BAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,+BAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,IAAI,gCAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,kBAAe,yBAAyB,CAAC"}
1
+ {"version":3,"file":"UniversalFederationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/UniversalFederationPlugin.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,oFAA4D;AAC5D,kFAA0D;AAC1D,iEAA6E;AAG7E,0FAA+E;AAuB/E;;GAEG;AACH,MAAM,yBAAyB;IAK7B;;;;OAIG;IACH,YAAY,OAA8B,EAAE,OAA8B;QACxE,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAK,EAA4B,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAK,EAA4B,CAAC;QACxD,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc;gBACzD,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC;oBAClC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC;iBACvC,CAAC;gBACJ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,QAAkB;QAC9C,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;QACjD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YAC9D,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACpE,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC;QAC9D,MAAM,UAAU,GACd,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC9D,IACE,OAAO,aAAa,KAAK,QAAQ;YACjC,UAAU;YACV,CAAC,aAAa,CAAC,QAAQ,CAAC,UAAU,CAAC,EACnC,CAAC;YACD,MAAM,MAAM,GAAG,iBAAiB,CAAC;YACjC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC,OAAO,CAC3D,KAAK,EACL,MAAM,CACP,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAkB;QACtB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;YAC5C,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,GAAG,IAAA,uCAAc,EAAC,QAAQ,CAAC,CAAC;QACpE,CAAC;QACD,IACE,QAAQ;YACR,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ;YAClC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM;YAClC,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,EACxC,CAAC;YACD,IAAI,gBAAgB,EAAE,CAAC;gBACrB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;gBACrC,IAAI,gCAAsB,CAAC;oBACzB,GAAG,OAAO;iBACX,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,8BAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAChE,IAAI,+BAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,gCAAsB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,kBAAe,yBAAyB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export default function (): {
2
+ name: string;
3
+ beforeInit: (args: any) => any;
4
+ };
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //@ts-nocheck
4
+ function default_1() {
5
+ return {
6
+ name: 'node-federation-plugin',
7
+ beforeInit: function (args) {
8
+ (() => {
9
+ function resolveFile(rootOutputDir, chunkId) {
10
+ var path = __non_webpack_require__('path');
11
+ var filename = path.join(__dirname, rootOutputDir + __webpack_require__.u(chunkId));
12
+ return filename;
13
+ }
14
+ function resolveUrl(remoteName, chunkName) {
15
+ var path = __non_webpack_require__('path');
16
+ try {
17
+ return new URL(chunkName, __webpack_require__.p);
18
+ }
19
+ catch (error) {
20
+ console.error('module-federation: failed to construct absolute chunk path of', remoteName, 'for', chunkName, 'for public path', __webpack_require__.p);
21
+ const entryUrl = returnFromCache(remoteName) ||
22
+ returnFromGlobalInstances(remoteName);
23
+ if (!entryUrl) {
24
+ return null;
25
+ }
26
+ const url = new URL(entryUrl);
27
+ const fileToReplace = path.basename(url.pathname);
28
+ url.pathname = url.pathname.replace(fileToReplace, chunkName);
29
+ return url;
30
+ }
31
+ }
32
+ function returnFromCache(remoteName) {
33
+ const globalThisVal = new Function('return globalThis')();
34
+ const federationInstances = globalThisVal['__FEDERATION__']['__INSTANCES__'];
35
+ let entryUrl = null; // Initialize entryUrl to null
36
+ // Using for...of for better readability and direct control
37
+ for (const instance of federationInstances) {
38
+ const moduleContainer = instance.moduleCache.get(remoteName);
39
+ if (moduleContainer && moduleContainer.remoteInfo) {
40
+ entryUrl = moduleContainer.remoteInfo.entry; // Assign the found entry URL
41
+ break; // Exit the loop as soon as a matching entry is found
42
+ }
43
+ }
44
+ return entryUrl; // Return the found entry URL or null if not found
45
+ }
46
+ function returnFromGlobalInstances(remoteName) {
47
+ const globalThisVal = new Function('return globalThis')();
48
+ const federationInstances = globalThisVal['__FEDERATION__']['__INSTANCES__'];
49
+ let entryUrl = null; // Declare a variable to store the entry URL when found
50
+ // Iterate over federation instances
51
+ for (const instance of federationInstances) {
52
+ // Manually iterate over the remotes for each instance
53
+ for (const remote of instance.options.remotes) {
54
+ if (remote.name === remoteName || remote.alias === remoteName) {
55
+ console.log('Backup remote entry found:', remote.entry);
56
+ entryUrl = remote.entry; // Set the entry URL
57
+ break; // Break from the inner loop
58
+ }
59
+ }
60
+ if (entryUrl)
61
+ break; // Break from the outer loop if the entry URL has been set
62
+ }
63
+ return entryUrl; // Return the found entry URL or null if not found
64
+ }
65
+ function fileSystemRunInContextStrategy(chunkId, rootOutputDir, callback) {
66
+ var fs = __non_webpack_require__('fs');
67
+ var path = __non_webpack_require__('path');
68
+ var vm = __non_webpack_require__('vm');
69
+ var filename = resolveFile(rootOutputDir, chunkId);
70
+ if (fs.existsSync(filename)) {
71
+ fs.readFile(filename, 'utf-8', function (err, content) {
72
+ if (err) {
73
+ callback(err, null);
74
+ return;
75
+ }
76
+ var chunk = {};
77
+ try {
78
+ vm.runInThisContext('(function(exports, require, __dirname, __filename) {' +
79
+ content +
80
+ '\n})', filename)(chunk, __non_webpack_require__, path.dirname(filename), filename);
81
+ callback(null, chunk);
82
+ }
83
+ catch (e) {
84
+ console.log("'runInThisContext threw'", e);
85
+ callback(e, null);
86
+ }
87
+ });
88
+ }
89
+ else {
90
+ var err = new Error('File ' + filename + ' does not exist');
91
+ callback(err, null);
92
+ }
93
+ }
94
+ function httpEvalStrategy(chunkName, remoteName, callback) {
95
+ var url = resolveUrl(remoteName, chunkName);
96
+ if (!url) {
97
+ var emptyChunk = {
98
+ modules: {}, // No modules
99
+ ids: [], // No chunk IDs
100
+ runtime: null, // No runtime function
101
+ };
102
+ return callback(null, emptyChunk);
103
+ }
104
+ fetch(url)
105
+ .then(function (res) {
106
+ return res.text();
107
+ })
108
+ .then(function (data) {
109
+ var chunk = {};
110
+ try {
111
+ var urlDirname = url.pathname.split('/').slice(0, -1).join('/');
112
+ eval('(function(exports, require, __dirname, __filename) {' +
113
+ data +
114
+ '\n})')(chunk, __non_webpack_require__, urlDirname, chunkName);
115
+ callback(null, chunk);
116
+ }
117
+ catch (e) {
118
+ callback(e, null);
119
+ }
120
+ });
121
+ }
122
+ function httpVmStrategy(chunkName, remoteName, callback) {
123
+ var http = __non_webpack_require__('http');
124
+ var https = __non_webpack_require__('https');
125
+ var vm = __non_webpack_require__('vm');
126
+ var url = resolveUrl(remoteName, chunkName);
127
+ if (!url) {
128
+ var emptyChunk = {
129
+ modules: {}, // No modules
130
+ ids: [], // No chunk IDs
131
+ runtime: null, // No runtime function
132
+ };
133
+ return callback(null, emptyChunk);
134
+ }
135
+ var protocol = url.protocol === 'https:' ? https : http;
136
+ protocol.get(url.href, function (res) {
137
+ var data = '';
138
+ res.on('data', function (chunk) {
139
+ data += chunk.toString();
140
+ });
141
+ res.on('end', function () {
142
+ var chunk = {};
143
+ var urlDirname = url.pathname.split('/').slice(0, -1).join('/');
144
+ vm.runInThisContext('(function(exports, require, __dirname, __filename) {' +
145
+ data +
146
+ '\n})', chunkName)(chunk, __non_webpack_require__, urlDirname, chunkName);
147
+ callback(null, chunk);
148
+ });
149
+ res.on('error', function (err) {
150
+ callback(err, null);
151
+ });
152
+ });
153
+ }
154
+ function loadChunkStrategy(strategyType, chunkId, rootOutputDir, remotes, callback) {
155
+ switch (strategyType) {
156
+ case 'filesystem':
157
+ return fileSystemRunInContextStrategy(chunkId, rootOutputDir, callback);
158
+ case 'http-eval':
159
+ return httpEvalStrategy(chunkId, rootOutputDir, callback);
160
+ case 'http-vm':
161
+ return httpVmStrategy(chunkId, rootOutputDir, callback);
162
+ default:
163
+ throw new Error('Invalid strategy type');
164
+ }
165
+ }
166
+ // no baseURI
167
+ // object to store loaded chunks
168
+ // "0" means "already loaded", Promise means loading
169
+ var installedChunks = {};
170
+ var installChunk = __webpack_require__.C
171
+ ? __webpack_require__.C
172
+ : (chunk) => {
173
+ var moreModules = chunk.modules, chunkIds = chunk.ids, runtime = chunk.runtime;
174
+ for (var moduleId in moreModules) {
175
+ if (__webpack_require__.o(moreModules, moduleId)) {
176
+ __webpack_require__.m[moduleId] = moreModules[moduleId];
177
+ }
178
+ }
179
+ if (runtime)
180
+ runtime(__webpack_require__);
181
+ for (var i = 0; i < chunkIds.length; i++) {
182
+ if (installedChunks[chunkIds[i]]) {
183
+ installedChunks[chunkIds[i]][0]();
184
+ }
185
+ installedChunks[chunkIds[i]] = 0;
186
+ }
187
+ };
188
+ // load script equivalent for server side
189
+ __webpack_require__.l = function (url, callback, chunkId) {
190
+ if (!chunkId) {
191
+ throw new Error('__webpack_require__.l name is required for ' + url);
192
+ }
193
+ __webpack_require__.federation.runtime
194
+ .loadScriptNode(url, { attrs: {} })
195
+ .then(function (res) {
196
+ var federation = __webpack_require__.federation;
197
+ var enhancedRemote = federation.instance.initRawContainer(chunkId, url, res);
198
+ // use normal global assignment
199
+ if (!usesInternalRef && !globalThisVal[chunkId]) {
200
+ globalThisVal[chunkId] = enhancedRemote;
201
+ }
202
+ console.log('adding remote', chunkId);
203
+ callback(enhancedRemote);
204
+ })
205
+ .catch(function (error) {
206
+ callback(error);
207
+ });
208
+ };
209
+ // Dynamic filesystem chunk loading for javascript
210
+ if (__webpack_require__.f) {
211
+ const handle = function (chunkId, promises) {
212
+ var installedChunkData = installedChunks[chunkId];
213
+ if (installedChunkData !== 0) {
214
+ // 0 means "already installed".
215
+ if (installedChunkData) {
216
+ promises.push(installedChunkData[2]);
217
+ }
218
+ else {
219
+ const matcher = __webpack_require__.federation.chunkMatcher
220
+ ? __webpack_require__.federation.chunkMatcher(chunkId)
221
+ : true;
222
+ if (matcher) {
223
+ // check if real chunk for handler
224
+ var promise = new Promise(function (resolve, reject) {
225
+ installedChunkData = installedChunks[chunkId] = [
226
+ resolve,
227
+ reject,
228
+ ];
229
+ function installChunkCallback(error, chunk) {
230
+ if (error)
231
+ return reject(error);
232
+ if (chunk)
233
+ installChunk(chunk);
234
+ resolve(chunk);
235
+ }
236
+ var fs = typeof process !== 'undefined'
237
+ ? __non_webpack_require__('fs')
238
+ : false;
239
+ var filename = typeof process !== 'undefined'
240
+ ? resolveFile(__webpack_require__.federation.rootOutputDir || '', chunkId)
241
+ : false;
242
+ if (fs && fs.existsSync(filename)) {
243
+ loadChunkStrategy('filesystem', chunkId, __webpack_require__.federation.rootOutputDir || '', undefined, installChunkCallback);
244
+ }
245
+ else {
246
+ var chunkName = __webpack_require__.u(chunkId);
247
+ const loadingStrategy = typeof process === 'undefined'
248
+ ? 'http-vm'
249
+ : 'http-eval';
250
+ loadChunkStrategy(loadingStrategy, chunkName, __webpack_require__.federation.initOptions.name, __webpack_require__.federation.initOptions.remotes, installChunkCallback);
251
+ }
252
+ });
253
+ promises.push((installedChunkData[2] = promise));
254
+ }
255
+ else {
256
+ installedChunks[chunkId] = 0;
257
+ }
258
+ }
259
+ }
260
+ };
261
+ if (__webpack_require__.f.require) {
262
+ console.warn('\x1b[33m%s\x1b[0m', 'CAUTION: build target is not set to "async-node", attempting to patch additional chunk handlers. This may not work');
263
+ __webpack_require__.f.require = handle;
264
+ }
265
+ if (__webpack_require__.f.readFileVm) {
266
+ __webpack_require__.f.readFileVm = handle;
267
+ }
268
+ }
269
+ })();
270
+ return args;
271
+ },
272
+ };
273
+ }
274
+ exports.default = default_1;
275
+ //# sourceMappingURL=runtimePlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtimePlugin.js","sourceRoot":"","sources":["../../src/runtimePlugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "@module-federation/node",
4
- "version": "2.1.8",
4
+ "version": "2.2.0",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/src/index.js",
7
7
  "exports": {
@@ -10,6 +10,7 @@
10
10
  "require": "./dist/src/index.js"
11
11
  },
12
12
  "./package.json": "./package.json",
13
+ "./runtimePlugin": "./dist/src/runtimePlugin.js",
13
14
  "./utils": {
14
15
  "import": "./dist/src/utils/index.js",
15
16
  "require": "./dist/src/utils/index.js"
@@ -41,13 +42,12 @@
41
42
  "dependencies": {
42
43
  "encoding": "^0.1.13",
43
44
  "node-fetch": "2.7.0",
44
- "@module-federation/enhanced": "0.1.8",
45
- "@module-federation/sdk": "0.1.8",
46
- "@module-federation/utilities": "3.0.13",
47
- "@module-federation/runtime": "0.1.8"
45
+ "@module-federation/enhanced": "0.1.9",
46
+ "@module-federation/sdk": "0.1.9",
47
+ "@module-federation/utilities": "3.0.14",
48
+ "@module-federation/runtime": "0.1.9"
48
49
  },
49
50
  "peerDependencies": {
50
- "next": "^12||^13",
51
51
  "react": "^16||^17||^18",
52
52
  "react-dom": "^16||^17||^18",
53
53
  "webpack": "^5.40.0"