@module-federation/node 0.0.0-feat-node-support-1702930274547 → 0.0.0-next-20231219093413

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 (99) hide show
  1. package/.babelrc +10 -0
  2. package/.eslintrc.json +47 -0
  3. package/CHANGELOG.md +1352 -0
  4. package/LICENSE +21 -0
  5. package/README.md +192 -0
  6. package/assets/banner.png +0 -0
  7. package/dist/jest.config.js +19 -0
  8. package/dist/jest.config.js.map +1 -0
  9. package/dist/package.json +62 -0
  10. package/dist/src/filesystem/stratagies.d.ts +11 -0
  11. package/{src → dist/src}/filesystem/stratagies.js +11 -31
  12. package/dist/src/filesystem/stratagies.js.map +1 -0
  13. package/{src → dist/src}/index.d.ts +2 -0
  14. package/{src → dist/src}/index.js +5 -1
  15. package/dist/src/index.js.map +1 -0
  16. package/dist/src/plugins/AutomaticPublicPathPlugin.js.map +1 -0
  17. package/dist/src/plugins/ChunkCorrelationPlugin.js +442 -0
  18. package/dist/src/plugins/ChunkCorrelationPlugin.js.map +1 -0
  19. package/dist/src/plugins/CommonJsChunkLoadingPlugin.js.map +1 -0
  20. package/{src → dist/src}/plugins/DynamicFilesystemChunkLoadingRuntimeModule.js +13 -0
  21. package/dist/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.js.map +1 -0
  22. package/dist/src/plugins/NodeContainerPlugin.d.ts +57 -0
  23. package/dist/src/plugins/NodeContainerPlugin.js +105 -0
  24. package/dist/src/plugins/NodeContainerPlugin.js.map +1 -0
  25. package/{src → dist/src}/plugins/NodeFederationPlugin.d.ts +20 -0
  26. package/dist/src/plugins/NodeFederationPlugin.js +127 -0
  27. package/dist/src/plugins/NodeFederationPlugin.js.map +1 -0
  28. package/dist/src/plugins/RemotePublicPathRuntimeModule.js.map +1 -0
  29. package/{src → dist/src}/plugins/StreamingTargetPlugin.js.map +1 -1
  30. package/{src → dist/src}/plugins/UniversalFederationPlugin.d.ts +0 -1
  31. package/{src → dist/src}/plugins/UniversalFederationPlugin.js +3 -3
  32. package/dist/src/plugins/UniversalFederationPlugin.js.map +1 -0
  33. package/{src → dist/src}/plugins/webpackChunkUtilities.js +5 -1
  34. package/dist/src/plugins/webpackChunkUtilities.js.map +1 -0
  35. package/dist/src/types/index.js.map +1 -0
  36. package/dist/src/utils/flush-chunks.js.map +1 -0
  37. package/dist/src/utils/hot-reload.js.map +1 -0
  38. package/dist/src/utils/index.js.map +1 -0
  39. package/global.d.ts +27 -0
  40. package/jest.config.js +14 -16
  41. package/package.json +17 -23
  42. package/project.json +58 -0
  43. package/src/filesystem/stratagies.ts +131 -0
  44. package/src/index.ts +7 -0
  45. package/src/plugins/AutomaticPublicPathPlugin.ts +48 -0
  46. package/src/plugins/ChunkCorrelationPlugin.js +474 -307
  47. package/src/plugins/CommonJsChunkLoadingPlugin.ts +168 -0
  48. package/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.ts +239 -0
  49. package/src/plugins/NodeContainerPlugin.ts +150 -0
  50. package/src/plugins/NodeFederationPlugin.ts +185 -0
  51. package/src/plugins/RemotePublicPathRuntimeModule.ts +137 -0
  52. package/src/plugins/StreamingTargetPlugin.md +88 -0
  53. package/src/plugins/StreamingTargetPlugin.ts +81 -0
  54. package/src/plugins/UniversalFederationPlugin.ts +81 -0
  55. package/src/plugins/webpackChunkUtilities.ts +383 -0
  56. package/src/types/index.ts +7 -0
  57. package/src/utils/flush-chunks.ts +182 -0
  58. package/src/utils/hot-reload.ts +169 -0
  59. package/src/utils/index.ts +2 -0
  60. package/tsconfig.json +28 -0
  61. package/tsconfig.lib.json +17 -0
  62. package/tsconfig.spec.json +9 -0
  63. package/jest.config.js.map +0 -1
  64. package/src/filesystem/stratagies.d.ts +0 -18
  65. package/src/filesystem/stratagies.js.map +0 -1
  66. package/src/index.js.map +0 -1
  67. package/src/plugins/AutomaticPublicPathPlugin.js.map +0 -1
  68. package/src/plugins/ChunkCorrelationPlugin.js.map +0 -1
  69. package/src/plugins/CommonJsChunkLoadingPlugin.js.map +0 -1
  70. package/src/plugins/DynamicFilesystemChunkLoadingRuntimeModule.js.map +0 -1
  71. package/src/plugins/NodeFederationPlugin.js +0 -76
  72. package/src/plugins/NodeFederationPlugin.js.map +0 -1
  73. package/src/plugins/RemotePublicPathRuntimeModule.js.map +0 -1
  74. package/src/plugins/UniversalFederationPlugin.js.map +0 -1
  75. package/src/plugins/webpackChunkUtilities.js.map +0 -1
  76. package/src/types/index.js.map +0 -1
  77. package/src/utils/flush-chunks.js.map +0 -1
  78. package/src/utils/hot-reload.js.map +0 -1
  79. package/src/utils/index.js.map +0 -1
  80. package/{jest.config.d.ts → dist/jest.config.d.ts} +0 -0
  81. package/{src → dist/src}/plugins/AutomaticPublicPathPlugin.d.ts +0 -0
  82. package/{src → dist/src}/plugins/AutomaticPublicPathPlugin.js +0 -0
  83. package/{src → dist/src}/plugins/ChunkCorrelationPlugin.d.ts +6 -6
  84. /package/{src → dist/src}/plugins/CommonJsChunkLoadingPlugin.d.ts +0 -0
  85. /package/{src → dist/src}/plugins/CommonJsChunkLoadingPlugin.js +0 -0
  86. /package/{src → dist/src}/plugins/DynamicFilesystemChunkLoadingRuntimeModule.d.ts +0 -0
  87. /package/{src → dist/src}/plugins/RemotePublicPathRuntimeModule.d.ts +0 -0
  88. /package/{src → dist/src}/plugins/RemotePublicPathRuntimeModule.js +0 -0
  89. /package/{src → dist/src}/plugins/StreamingTargetPlugin.d.ts +0 -0
  90. /package/{src → dist/src}/plugins/StreamingTargetPlugin.js +0 -0
  91. /package/{src → dist/src}/plugins/webpackChunkUtilities.d.ts +0 -0
  92. /package/{src → dist/src}/types/index.d.ts +0 -0
  93. /package/{src → dist/src}/types/index.js +0 -0
  94. /package/{src → dist/src}/utils/flush-chunks.d.ts +0 -0
  95. /package/{src → dist/src}/utils/flush-chunks.js +0 -0
  96. /package/{src → dist/src}/utils/hot-reload.d.ts +0 -0
  97. /package/{src → dist/src}/utils/hot-reload.js +0 -0
  98. /package/{src → dist/src}/utils/index.d.ts +0 -0
  99. /package/{src → dist/src}/utils/index.js +0 -0
@@ -0,0 +1,105 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseRemoteSyntax = exports.parseRemotes = void 0;
4
+ const utilities_1 = require("@module-federation/utilities");
5
+ // possible remote evaluators
6
+ // this depends on the chunk format selected.
7
+ // commonjs2 - it think, is lazily evaluated - beware
8
+ // const remote = eval(scriptContent + '\n try{' + moduleName + '}catch(e) { null; };');
9
+ // commonjs - fine to use but exports marker doesnt exist
10
+ // const remote = eval('let exports = {};' + scriptContent + 'exports');
11
+ // commonjs-module, ideal since it returns a commonjs module format
12
+ // const remote = eval(scriptContent + 'module.exports')
13
+ /**
14
+ * This function iterates over all remotes and checks if they
15
+ * are internal or not. If it's an internal remote then we add it to our new object
16
+ * with a key of the name of the remote and value as internal. If it's not an internal
17
+ * remote then we check if there is a '@' in that string which likely means it is a global @ url
18
+ *
19
+ * @param {Record<string, any>} remotes - The remotes to parse.
20
+ * @returns {Record<string, string>} - The parsed remotes.
21
+ * */
22
+ const parseRemotes = (remotes) => {
23
+ if (!remotes || typeof remotes !== 'object') {
24
+ throw new Error('remotes must be an object');
25
+ }
26
+ return Object.entries(remotes).reduce((acc, [key, value]) => {
27
+ const isInternal = value.startsWith('internal ');
28
+ const isGlobal = value.includes('@') &&
29
+ !['window.', 'global.', 'globalThis.', 'self.'].some((prefix) => value.startsWith(prefix));
30
+ acc[key] = isInternal || !isGlobal ? value : (0, exports.parseRemoteSyntax)(value);
31
+ return acc;
32
+ }, {});
33
+ };
34
+ exports.parseRemotes = parseRemotes;
35
+ /**
36
+ * Parses the remote syntax and returns a formatted string if the remote includes '@' and does not start with 'window', 'global', or 'globalThis'.
37
+ * Otherwise, it returns the original remote string.
38
+ *
39
+ * @param {string} remote - The remote string to parse.
40
+ * @returns {string} - The parsed remote string or the original remote string.
41
+ * @throws {Error} - Throws an error if the remote is not a string.
42
+ */
43
+ const parseRemoteSyntax = (remote) => {
44
+ if (typeof remote !== 'string') {
45
+ throw new Error('remote must be a string');
46
+ }
47
+ if (remote.includes('@')) {
48
+ const [url, global] = (0, utilities_1.extractUrlAndGlobal)(remote);
49
+ if (!['window.', 'global.', 'globalThis.'].some((prefix) => global.startsWith(prefix))) {
50
+ return `globalThis.__remote_scope__.${global}@${url}`;
51
+ }
52
+ }
53
+ return remote;
54
+ };
55
+ exports.parseRemoteSyntax = parseRemoteSyntax;
56
+ /**
57
+ * Class representing a NodeContainerPlugin.
58
+ * @class
59
+ */
60
+ class NodeContainerPlugin {
61
+ /**
62
+ * Create a NodeContainerPlugin.
63
+ * @constructor
64
+ * @param {NodeContainerOptions} options - The options for the NodeContainerPlugin
65
+ * @param {Context} context - The context for the NodeContainerPlugin
66
+ */
67
+ constructor({ experiments, debug, ...options }, context) {
68
+ this._options = options || {};
69
+ this.context = context || {};
70
+ this.experiments = experiments || {};
71
+ }
72
+ /**
73
+ * Apply method for the NodeContainerPlugin class.
74
+ * @method
75
+ * @param {Compiler} compiler - The webpack compiler.
76
+ */
77
+ apply(compiler) {
78
+ // When used with Next.js, context is needed to use Next.js webpack
79
+ const { webpack } = compiler;
80
+ const pluginOptions = {
81
+ name: this._options.name,
82
+ filename: this._options.filename,
83
+ exposes: this._options.exposes,
84
+ library: this._options.library,
85
+ runtime: this._options.runtime,
86
+ shareScope: this._options.shareScope,
87
+ };
88
+ // //TODO can use import meta mock object but need to update data structure of remote_scope
89
+ // if (compiler.options && compiler.options.output) {
90
+ // compiler.options.output.importMetaName = 'remoteContainerRegistry';
91
+ // }
92
+ // const chunkFileName = compiler.options?.output?.chunkFilename;
93
+ // const uniqueName =
94
+ // compiler?.options?.output?.uniqueName || this._options.name;
95
+ // if (typeof chunkFileName === 'string' && uniqueName && !chunkFileName.includes(uniqueName)) {
96
+ // const suffix = `-[chunkhash].js`;
97
+ // compiler.options.output.chunkFilename = chunkFileName.replace('.js', suffix);
98
+ // }
99
+ new (this.context.ContainerPlugin ||
100
+ (webpack && webpack.container.ContainerPlugin) ||
101
+ require('webpack/lib/container/ContainerPlugin'))(pluginOptions).apply(compiler);
102
+ }
103
+ }
104
+ exports.default = NodeContainerPlugin;
105
+ //# sourceMappingURL=NodeContainerPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeContainerPlugin.js","sourceRoot":"","sources":["../../../src/plugins/NodeContainerPlugin.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,25 @@ interface NodeFederationOptions extends ModuleFederationPluginOptions {
18
18
  interface Context {
19
19
  ModuleFederationPlugin?: typeof container.ModuleFederationPlugin;
20
20
  }
21
+ /**
22
+ * This function iterates over all remotes and checks if they
23
+ * are internal or not. If it's an internal remote then we add it to our new object
24
+ * with a key of the name of the remote and value as internal. If it's not an internal
25
+ * remote then we check if there is a '@' in that string which likely means it is a global @ url
26
+ *
27
+ * @param {Record<string, any>} remotes - The remotes to parse.
28
+ * @returns {Record<string, string>} - The parsed remotes.
29
+ * */
30
+ export declare const parseRemotes: (remotes: Record<string, any>) => Record<string, string>;
31
+ /**
32
+ * Parses the remote syntax and returns a formatted string if the remote includes '@' and does not start with 'window', 'global', or 'globalThis'.
33
+ * Otherwise, it returns the original remote string.
34
+ *
35
+ * @param {string} remote - The remote string to parse.
36
+ * @returns {string} - The parsed remote string or the original remote string.
37
+ * @throws {Error} - Throws an error if the remote is not a string.
38
+ */
39
+ export declare const parseRemoteSyntax: (remote: any) => string;
21
40
  /**
22
41
  * Class representing a NodeFederationPlugin.
23
42
  * @class
@@ -42,5 +61,6 @@ declare class NodeFederationPlugin {
42
61
  private preparePluginOptions;
43
62
  private updateCompilerOptions;
44
63
  private getModuleFederationPlugin;
64
+ private loadModuleFederationPlugin;
45
65
  }
46
66
  export default NodeFederationPlugin;
@@ -0,0 +1,127 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseRemoteSyntax = exports.parseRemotes = void 0;
4
+ const utilities_1 = require("@module-federation/utilities");
5
+ const enhanced_1 = require("@module-federation/enhanced");
6
+ /**
7
+ * This function iterates over all remotes and checks if they
8
+ * are internal or not. If it's an internal remote then we add it to our new object
9
+ * with a key of the name of the remote and value as internal. If it's not an internal
10
+ * remote then we check if there is a '@' in that string which likely means it is a global @ url
11
+ *
12
+ * @param {Record<string, any>} remotes - The remotes to parse.
13
+ * @returns {Record<string, string>} - The parsed remotes.
14
+ * */
15
+ const parseRemotes = (remotes) => {
16
+ if (!remotes || typeof remotes !== 'object') {
17
+ throw new Error('remotes must be an object');
18
+ }
19
+ return Object.entries(remotes).reduce((acc, [key, value]) => {
20
+ const isInternal = value.startsWith('internal ');
21
+ const isGlobal = value.includes('@') &&
22
+ !['window.', 'global.', 'globalThis.', 'self.'].some((prefix) => value.startsWith(prefix));
23
+ acc[key] = isInternal || !isGlobal ? value : (0, exports.parseRemoteSyntax)(value);
24
+ return acc;
25
+ }, {});
26
+ };
27
+ exports.parseRemotes = parseRemotes;
28
+ /**
29
+ * Parses the remote syntax and returns a formatted string if the remote includes '@' and does not start with 'window', 'global', or 'globalThis'.
30
+ * Otherwise, it returns the original remote string.
31
+ *
32
+ * @param {string} remote - The remote string to parse.
33
+ * @returns {string} - The parsed remote string or the original remote string.
34
+ * @throws {Error} - Throws an error if the remote is not a string.
35
+ */
36
+ const parseRemoteSyntax = (remote) => {
37
+ if (typeof remote !== 'string') {
38
+ throw new Error('remote must be a string');
39
+ }
40
+ if (remote.includes('@')) {
41
+ const [url, global] = (0, utilities_1.extractUrlAndGlobal)(remote);
42
+ if (!['window.', 'global.', 'globalThis.'].some((prefix) => global.startsWith(prefix))) {
43
+ return `globalThis.__remote_scope__.${global}@${url}`;
44
+ }
45
+ }
46
+ return remote;
47
+ };
48
+ exports.parseRemoteSyntax = parseRemoteSyntax;
49
+ /**
50
+ * Class representing a NodeFederationPlugin.
51
+ * @class
52
+ */
53
+ class NodeFederationPlugin {
54
+ /**
55
+ * Create a NodeFederationPlugin.
56
+ * @constructor
57
+ * @param {NodeFederationOptions} options - The options for the NodeFederationPlugin
58
+ * @param {Context} context - The context for the NodeFederationPlugin
59
+ */
60
+ constructor({ experiments, debug, ...options }, context) {
61
+ this._options = options || {};
62
+ this.context = context || {};
63
+ this.experiments = experiments || {};
64
+ }
65
+ /**
66
+ * Apply method for the NodeFederationPlugin class.
67
+ * @method
68
+ * @param {Compiler} compiler - The webpack compiler.
69
+ */
70
+ apply(compiler) {
71
+ const { webpack } = compiler;
72
+ new enhanced_1.ModuleInfoRuntimePlugin().apply(compiler);
73
+ const pluginOptions = this.preparePluginOptions();
74
+ this.updateCompilerOptions(compiler);
75
+ const ModuleFederationPlugin = this.getModuleFederationPlugin(compiler, webpack);
76
+ new ModuleFederationPlugin(pluginOptions).apply(compiler);
77
+ }
78
+ preparePluginOptions() {
79
+ return {
80
+ ...this._options,
81
+ remotes: this._options.remotes
82
+ ? (0, exports.parseRemotes)(this._options.remotes)
83
+ : {},
84
+ };
85
+ }
86
+ updateCompilerOptions(compiler) {
87
+ if (compiler.options && compiler.options.output) {
88
+ compiler.options.output.importMetaName = 'remoteContainerRegistry';
89
+ }
90
+ const chunkFileName = compiler.options?.output?.chunkFilename;
91
+ const uniqueName = compiler?.options?.output?.uniqueName || this._options.name;
92
+ if (typeof chunkFileName === 'string' &&
93
+ uniqueName &&
94
+ !chunkFileName.includes(uniqueName)) {
95
+ const suffix = `-[chunkhash].js`;
96
+ compiler.options.output.chunkFilename = chunkFileName.replace('.js', suffix);
97
+ }
98
+ }
99
+ getModuleFederationPlugin(compiler, webpack) {
100
+ let ModuleFederationPlugin;
101
+ if (this.context.ModuleFederationPlugin) {
102
+ ModuleFederationPlugin = this.context.ModuleFederationPlugin;
103
+ }
104
+ else if (webpack &&
105
+ webpack.container &&
106
+ webpack.container.ModuleFederationPlugin) {
107
+ ModuleFederationPlugin = webpack.container.ModuleFederationPlugin;
108
+ }
109
+ else {
110
+ ModuleFederationPlugin = this.loadModuleFederationPlugin();
111
+ }
112
+ return ModuleFederationPlugin;
113
+ }
114
+ loadModuleFederationPlugin() {
115
+ let ModuleFederationPlugin;
116
+ try {
117
+ ModuleFederationPlugin =
118
+ require('@module-federation/enhanced').ModuleFederationPlugin;
119
+ }
120
+ catch (e) {
121
+ ModuleFederationPlugin = require('webpack/lib/container/ModuleFederationPlugin');
122
+ }
123
+ return ModuleFederationPlugin;
124
+ }
125
+ }
126
+ exports.default = NodeFederationPlugin;
127
+ //# sourceMappingURL=NodeFederationPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeFederationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/NodeFederationPlugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RemotePublicPathRuntimeModule.js","sourceRoot":"","sources":["../../../src/plugins/RemotePublicPathRuntimeModule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StreamingTargetPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/StreamingTargetPlugin.ts"],"names":[],"mappings":";;;;;AAGA,8FAAsE;AAkBtE;;GAEG;AACH,MAAM,qBAAqB;IAGzB;;;OAGG;IACH,YAAY,OAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAkB;QACtB,mEAAmE;QACnE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAE7B,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;QACjD,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,KAAK,SAAS,EAAE;YAC7D,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,GAAG,CAAC,iBAAiB,CAAC,CAAC;SACnE;aAAM;YACL,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;SACrE;QAED,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QAEpD,yBAAyB;QACzB,oEAAoE;QACpE,4DAA4D;QAC5D,8EAA8E;QAC9E,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACtD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG;YACpC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;YACtC,aAAa,EAAE,IAAI;SACpB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB;YACvC,OAAO,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACnD,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB;SAC9D,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEnB,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB;YAClC,OAAO,CAAC,mCAAmC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,oCAA0B,CAAC;YAC7B,iBAAiB,EAAE,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAiC;YACvD,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU;YAC3C,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;SAC1B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;CACF;AAED,kBAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"StreamingTargetPlugin.js","sourceRoot":"","sources":["../../../src/plugins/StreamingTargetPlugin.ts"],"names":[],"mappings":";;;;;AAGA,8FAAsE;AAkBtE;;GAEG;AACH,MAAM,qBAAqB;IAGzB;;;OAGG;IACH,YAAY,OAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAkB;QACtB,mEAAmE;QACnE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAE7B,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,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QAEpD,yBAAyB;QACzB,oEAAoE;QACpE,4DAA4D;QAC5D,8EAA8E;QAC9E,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,wBAAwB,GAAG,EAAE,CAAC;QACtD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG;YACpC,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW;YACtC,aAAa,EAAE,IAAI;SACpB,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,qBAAqB;YACvC,OAAO,CAAC,wCAAwC,CAAC,CAAC,CAAC;YACnD,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB;SAC9D,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEnB,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB;YAClC,OAAO,CAAC,mCAAmC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,oCAA0B,CAAC;YAC7B,iBAAiB,EAAE,IAAI;YACvB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YACvB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAiC;YACvD,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU;YAC3C,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YAC3C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;SAC1B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;CACF;AAED,kBAAe,qBAAqB,CAAC"}
@@ -24,7 +24,6 @@ interface NodeFederationContext {
24
24
  declare class UniversalFederationPlugin {
25
25
  private _options;
26
26
  private context;
27
- private name;
28
27
  /**
29
28
  * Create a UniversalFederationPlugin
30
29
  * @param {NodeFederationOptions} options - The options for the plugin
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
8
8
  */
9
9
  const StreamingTargetPlugin_1 = __importDefault(require("./StreamingTargetPlugin"));
10
10
  const NodeFederationPlugin_1 = __importDefault(require("./NodeFederationPlugin"));
11
- const enhanced_1 = require("@module-federation/enhanced");
12
11
  const normalize_webpack_path_1 = require("@module-federation/sdk/normalize-webpack-path");
13
12
  /**
14
13
  * Class representing a UniversalFederationPlugin
@@ -22,7 +21,6 @@ class UniversalFederationPlugin {
22
21
  constructor(options, context) {
23
22
  this._options = options || {};
24
23
  this.context = context || {};
25
- this.name = 'ModuleFederationPlugin';
26
24
  }
27
25
  /**
28
26
  * Apply the plugin to the compiler
@@ -42,7 +40,9 @@ class UniversalFederationPlugin {
42
40
  new StreamingTargetPlugin_1.default({ ...options, debug }).apply(compiler);
43
41
  }
44
42
  else {
45
- new enhanced_1.ModuleFederationPlugin(options).apply(compiler);
43
+ new (this.context.ModuleFederationPlugin ||
44
+ (webpack && webpack.container.ModuleFederationPlugin) ||
45
+ require((0, normalize_webpack_path_1.normalizeWebpackPath)('webpack/lib/container/ModuleFederationPlugin')))(options).apply(compiler);
46
46
  }
47
47
  }
48
48
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UniversalFederationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/UniversalFederationPlugin.ts"],"names":[],"mappings":";;;;;AAAA;;GAEG;AACH,oFAA4D;AAC5D,kFAA0D;AAG1D,0FAGuD;AAsBvD;;GAEG;AACH,MAAM,yBAAyB;IAI7B;;;;OAIG;IACH,YAAY,OAA8B,EAAE,OAA8B;QACxE,IAAI,CAAC,QAAQ,GAAG,OAAO,IAAK,EAA4B,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAK,EAA4B,CAAC;IAC1D,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,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB;gBACtC,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBACrD,OAAO,CACL,IAAA,6CAAoB,EAAC,8CAA8C,CAAC,CACrE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,kBAAe,yBAAyB,CAAC"}
@@ -150,9 +150,13 @@ function generateLoadingCode(withLoading, fn, hasJsMatcher, rootOutputDir, remot
150
150
  acc[global] = url;
151
151
  return acc;
152
152
  }, {}))};`,
153
+ `var requestedRemote = globalThis.__remote_scope__[${JSON.stringify(name)}]`,
154
+ "if(typeof requestedRemote === 'function'){",
155
+ Template.indent('requestedRemote = await requestedRemote()'),
156
+ '}',
153
157
  `var chunkName = ${RuntimeGlobals.getChunkScriptFilename}(chunkId);`,
154
158
  "const loadingStrategy = typeof process !== 'undefined' ? 'http-vm' : 'http-eval';",
155
- `loadChunkStrategy(loadingStrategy, chunkName,${RuntimeGlobals.require}.federation.initOptions.name, ${RuntimeGlobals.require}.federation.initOptions.remotes, installChunkCallback);`,
159
+ `loadChunkStrategy(loadingStrategy, chunkName,${JSON.stringify(name)}, globalThis.__remote_scope__,installChunkCallback);`,
156
160
  ]),
157
161
  '}',
158
162
  ]),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webpackChunkUtilities.js","sourceRoot":"","sources":["../../../src/plugins/webpackChunkUtilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flush-chunks.js","sourceRoot":"","sources":["../../../src/utils/flush-chunks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hot-reload.js","sourceRoot":"","sources":["../../../src/utils/hot-reload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B"}
package/global.d.ts ADDED
@@ -0,0 +1,27 @@
1
+ /* eslint-disable @typescript-eslint/triple-slash-reference */
2
+
3
+ /// <reference path="../../node_modules/webpack/module.d.ts" />
4
+ /// <reference path="../../node_modules/webpack/types.d.ts" />
5
+
6
+ declare module 'webpack/lib/RuntimeGlobals';
7
+ declare module 'webpack/lib/Compilation';
8
+ declare module 'webpack/lib/Compiler';
9
+ declare module 'webpack/lib/runtime/StartupChunkDependenciesPlugin';
10
+ declare module 'webpack/lib/RuntimeModule';
11
+ declare module 'webpack/lib/Template';
12
+ declare module 'webpack/lib/util/compileBooleanMatcher';
13
+ declare module 'webpack/lib/util/identifier';
14
+
15
+ // globals.d.ts
16
+ declare module globalThis {
17
+ var usedChunks: Set<string>;
18
+ var flushChunks: () => Promise<Array<string>>;
19
+ var __remote_scope__: {
20
+ _config: Record<string, any>;
21
+ _medusa?: Record<string, any>;
22
+ [K: string]: {
23
+ fake?: boolean;
24
+ };
25
+ };
26
+ var webpackChunkLoad: () => any;
27
+ }
package/jest.config.js CHANGED
@@ -1,19 +1,17 @@
1
- "use strict";
2
1
  /* eslint-disable */
3
2
  module.exports = {
4
- displayName: 'node',
5
- preset: '../../jest.preset.js',
6
- globals: {},
7
- testEnvironment: 'node',
8
- transform: {
9
- '^.+\\.[tj]s$': [
10
- 'ts-jest',
11
- {
12
- tsconfig: '<rootDir>/tsconfig.spec.json',
13
- },
14
- ],
15
- },
16
- moduleFileExtensions: ['ts', 'js', 'html'],
17
- coverageDirectory: '../../coverage/packages/node',
3
+ displayName: 'node',
4
+ preset: '../../jest.preset.js',
5
+ globals: {},
6
+ testEnvironment: 'node',
7
+ transform: {
8
+ '^.+\\.[tj]s$': [
9
+ 'ts-jest',
10
+ {
11
+ tsconfig: '<rootDir>/tsconfig.spec.json',
12
+ },
13
+ ],
14
+ },
15
+ moduleFileExtensions: ['ts', 'js', 'html'],
16
+ coverageDirectory: '../../coverage/packages/node',
18
17
  };
19
- //# sourceMappingURL=jest.config.js.map
package/package.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "@module-federation/node",
4
- "version": "0.0.0-feat-node-support-1702930274547",
4
+ "version": "0.0.0-next-20231219093413",
5
5
  "type": "commonjs",
6
- "main": "./src/index.js",
6
+ "main": "./dist/src/index.js",
7
7
  "exports": {
8
8
  ".": {
9
- "import": "./src/index.js",
10
- "require": "./src/index.js"
9
+ "import": "./dist/src/index.js",
10
+ "require": "./dist/src/index.js"
11
11
  },
12
12
  "./package.json": "./package.json",
13
13
  "./utils": {
14
- "import": "./src/utils/index.js",
15
- "require": "./src/utils/index.js"
14
+ "import": "./dist//src/utils/index.js",
15
+ "require": "./dist/src/utils/index.js"
16
16
  },
17
- "./src/plugins/RemotePublicPathPlugin.js": "./src/plugins/RemotePublicPathPlugin.js",
18
- "./src/plugins/NodeFederationPlugin.js": "./src/plugins/NodeFederationPlugin.js",
19
- "./src/": "./src/"
17
+ "./src/plugins/RemotePublicPathPlugin.js": "./dist/src/plugins/RemotePublicPathPlugin.js",
18
+ "./src/plugins/NodeFederationPlugin.js": "./dist/src/plugins/NodeFederationPlugin.js",
19
+ "./src/": "./dist/src/"
20
20
  },
21
21
  "publishConfig": {
22
22
  "access": "public"
@@ -35,16 +35,10 @@
35
35
  "author": "Zack Jackson <zackary.l.jackson@gmail.com>",
36
36
  "license": "MIT",
37
37
  "dependencies": {
38
- "encoding": "^0.1.13",
39
- "node-fetch": "^2.6.7",
40
- "semver": "7.5.4",
41
- "tapable": "2.2.1",
42
- "webpack-sources": "3.2.3",
43
- "@module-federation/enhanced": "0.0.0-feat-node-support-1702930274546",
44
- "@module-federation/runtime": "0.0.0-feat-node-support-1702930274548",
45
- "@module-federation/sdk": "0.0.0-feat-node-support-1702930274548",
46
- "@module-federation/utilities": "0.0.0-feat-node-support-1702930274548",
47
- "@module-federation/webpack-bundler-runtime": "0.0.0-feat-node-support-1702930274549"
38
+ "node-fetch": "2.7.0",
39
+ "@module-federation/enhanced": "0.0.0-next-20231219093413",
40
+ "@module-federation/sdk": "0.0.0-next-20231219093413",
41
+ "@module-federation/utilities": "3.0.4"
48
42
  },
49
43
  "peerDependencies": {
50
44
  "next": "^12||^13",
@@ -53,14 +47,14 @@
53
47
  "webpack": "^5.40.0"
54
48
  },
55
49
  "peerDependenciesMeta": {
56
- "next": {
57
- "optional": true
58
- },
59
50
  "react": {
60
51
  "optional": true
61
52
  },
62
53
  "react-dom": {
63
54
  "optional": true
55
+ },
56
+ "next": {
57
+ "optional": true
64
58
  }
65
59
  }
66
- }
60
+ }
package/project.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "node",
3
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
+ "sourceRoot": "packages/node/src",
5
+ "projectType": "library",
6
+ "targets": {
7
+ "build": {
8
+ "executor": "@nx/js:tsc",
9
+ "outputs": ["{options.outputPath}"],
10
+ "options": {
11
+ "outputPath": "packages/node/dist",
12
+ "main": "packages/node/src/index.js",
13
+ "tsConfig": "packages/node/tsconfig.lib.json",
14
+ "updateBuildableProjectDepsInPackageJson": true,
15
+ "buildableProjectDepsInPackageJsonType": "dependencies",
16
+ "assets": ["packages/node/*.md"]
17
+ },
18
+ "dependsOn": [
19
+ {
20
+ "target": "build",
21
+ "dependencies": true
22
+ }
23
+ ]
24
+ },
25
+ "lint": {
26
+ "executor": "@nx/linter:eslint",
27
+ "outputs": ["{options.outputFile}"],
28
+ "options": {
29
+ "lintFilePatterns": ["packages/node/**/*.js", "packages/node/**/*.ts"]
30
+ }
31
+ },
32
+ "test": {
33
+ "executor": "@nx/jest:jest",
34
+ "outputs": ["{workspaceRoot}/coverage/packages/node"],
35
+ "options": {
36
+ "jestConfig": "packages/node/jest.config.js",
37
+ "passWithNoTests": true
38
+ }
39
+ },
40
+ "pre-release": {
41
+ "executor": "nx:run-commands",
42
+ "options": {
43
+ "parallel": false,
44
+ "commands": [
45
+ {
46
+ "command": "nx run node:test",
47
+ "forwardAllArgs": false
48
+ },
49
+ {
50
+ "command": "nx run node:build",
51
+ "forwardAllArgs": false
52
+ }
53
+ ]
54
+ }
55
+ }
56
+ },
57
+ "tags": ["package"]
58
+ }