@module-federation/node 2.1.7 → 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 +46 -0
- package/dist/package.json +9 -9
- package/dist/src/plugins/NodeFederationPlugin.d.ts +3 -1
- package/dist/src/plugins/NodeFederationPlugin.js +7 -5
- package/dist/src/plugins/NodeFederationPlugin.js.map +1 -1
- package/dist/src/plugins/UniversalFederationPlugin.d.ts +2 -0
- package/dist/src/plugins/UniversalFederationPlugin.js +35 -3
- package/dist/src/plugins/UniversalFederationPlugin.js.map +1 -1
- package/dist/src/runtimePlugin.d.ts +4 -0
- package/dist/src/runtimePlugin.js +275 -0
- package/dist/src/runtimePlugin.js.map +1 -0
- package/package.json +6 -6
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.
|
|
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.
|
|
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.
|
|
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.
|
|
73
|
-
"@module-federation/managers": "0.1.
|
|
74
|
-
"@module-federation/manifest": "0.1.
|
|
75
|
-
"@module-federation/rspack": "0.1.
|
|
76
|
-
"@module-federation/third-party-dts-extractor": "0.1.
|
|
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;
|
|
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
|
-
|
|
42
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"UniversalFederationPlugin.js","sourceRoot":"","sources":["../../../src/plugins/UniversalFederationPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -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.
|
|
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.
|
|
45
|
-
"@module-federation/sdk": "0.1.
|
|
46
|
-
"@module-federation/utilities": "3.0.
|
|
47
|
-
"@module-federation/runtime": "0.1.
|
|
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"
|