@module-federation/node 0.10.4 → 0.11.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/CHANGELOG.md +85 -227
- package/README.md +26 -20
- package/package.json +15 -13
- package/src/plugins/ChunkCorrelationPlugin.js +10 -6
- package/src/plugins/ChunkCorrelationPlugin.js.map +1 -1
- package/src/plugins/LoadFileChunkLoadingRuntimeModule.js +44 -29
- package/src/plugins/LoadFileChunkLoadingRuntimeModule.js.map +1 -1
- package/src/plugins/NodeFederationPlugin.js +7 -7
- package/src/plugins/NodeFederationPlugin.js.map +1 -1
- package/src/plugins/StreamingTargetPlugin.js +3 -3
- package/src/plugins/StreamingTargetPlugin.js.map +1 -1
- package/src/plugins/UniversalFederationPlugin.js.map +1 -1
- package/src/plugins/loadScript.d.ts +2 -2
- package/src/plugins/loadScript.js +19 -16
- package/src/plugins/loadScript.js.map +1 -1
- package/src/utils/flush-chunks.js.map +1 -1
- package/src/utils/hot-reload.js.map +1 -1
- package/src/utils/index.js.map +1 -1
package/README.md
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
</p>
|
|
15
15
|
|
|
16
16
|
## ⚡ Features
|
|
17
|
+
|
|
17
18
|
- Exposes two Webpack Plugins to enable Module Federation.
|
|
18
19
|
- Can exported as UniversalFederationPlugin or NodeFederationPlugin with StreamingTargetPlugin
|
|
19
20
|
- Allows server to fetch chunks across the network.
|
|
@@ -49,14 +50,14 @@ This simplifies the code required in your `webpack.config.js` to enable SSR Modu
|
|
|
49
50
|
It accepts the other standard options from `ModuleFederationPlugin` as well. You can see an example usage below:
|
|
50
51
|
|
|
51
52
|
```js
|
|
52
|
-
const {UniversalFederationPlugin} = require(
|
|
53
|
+
const { UniversalFederationPlugin } = require('@module-federation/node');
|
|
53
54
|
|
|
54
55
|
const config = {
|
|
55
|
-
target: isServer ? false :
|
|
56
|
+
target: isServer ? false : 'web',
|
|
56
57
|
plugins: [
|
|
57
58
|
new UniversalFederationPlugin({
|
|
58
59
|
name: 'website2',
|
|
59
|
-
library: {type: 'commonjs-module'},
|
|
60
|
+
library: { type: 'commonjs-module' },
|
|
60
61
|
isServer: true, // or false
|
|
61
62
|
remotes: {},
|
|
62
63
|
filename: 'remoteEntry.js',
|
|
@@ -64,8 +65,8 @@ const config = {
|
|
|
64
65
|
'./SharedComponent': './remoteServer/SharedComponent',
|
|
65
66
|
},
|
|
66
67
|
}),
|
|
67
|
-
]
|
|
68
|
-
}
|
|
68
|
+
],
|
|
69
|
+
};
|
|
69
70
|
```
|
|
70
71
|
|
|
71
72
|
### NodeFederationPlugin and StreamingTargetPlugin
|
|
@@ -78,17 +79,21 @@ If it's building for server, we need to set `target: false` to allow the plugins
|
|
|
78
79
|
The `NodeFederationPlugin` follows the same API as the [Module Federation Plugin](https://webpack.js.org/plugins/module-federation-plugin) and therefore should be a drop-in replacement if you already have it set up in your `webpack.config.js`.
|
|
79
80
|
|
|
80
81
|
### 🔧 Config Example
|
|
82
|
+
|
|
81
83
|
An example configuration is presented below:
|
|
82
|
-
```js
|
|
83
84
|
|
|
84
|
-
|
|
85
|
+
```js
|
|
86
|
+
const {
|
|
87
|
+
NodeFederationPlugin,
|
|
88
|
+
StreamingTargetPlugin,
|
|
89
|
+
} = require('@module-federation/node');
|
|
85
90
|
|
|
86
91
|
const config = {
|
|
87
|
-
target: isServer ? false :
|
|
92
|
+
target: isServer ? false : 'web',
|
|
88
93
|
plugins: [
|
|
89
94
|
new NodeFederationPlugin({
|
|
90
95
|
name: 'website2',
|
|
91
|
-
library: {type: 'commonjs-module'},
|
|
96
|
+
library: { type: 'commonjs-module' },
|
|
92
97
|
remotes: {},
|
|
93
98
|
filename: 'remoteEntry.js',
|
|
94
99
|
exposes: {
|
|
@@ -97,11 +102,11 @@ const config = {
|
|
|
97
102
|
}),
|
|
98
103
|
new StreamingTargetPlugin({
|
|
99
104
|
name: 'website2',
|
|
100
|
-
library: {type: 'commonjs-module'},
|
|
105
|
+
library: { type: 'commonjs-module' },
|
|
101
106
|
remotes: {},
|
|
102
107
|
}),
|
|
103
|
-
]
|
|
104
|
-
}
|
|
108
|
+
],
|
|
109
|
+
};
|
|
105
110
|
```
|
|
106
111
|
|
|
107
112
|
## Utilities
|
|
@@ -111,16 +116,17 @@ This package also exposes a few utilities to help with the setup of your federat
|
|
|
111
116
|
### revalidate
|
|
112
117
|
|
|
113
118
|
Used to "hot reload" the federated application.
|
|
119
|
+
|
|
114
120
|
- This is useful when you're developing your federated application and want to see changes without having to restart the server.
|
|
115
121
|
- Also useful for production environments where you want to be able to update the federated application without having to restart the server.
|
|
116
122
|
|
|
117
123
|
```js
|
|
118
|
-
import {revalidate} from
|
|
124
|
+
import { revalidate } from '@module-federation/node/utils';
|
|
119
125
|
|
|
120
126
|
// we automatically reset require cache, so the reload callback is only if you need to do something else
|
|
121
127
|
revalidate().then((shouldReload) => {
|
|
122
128
|
// do something extra after revalidation
|
|
123
|
-
if(shouldReload) {
|
|
129
|
+
if (shouldReload) {
|
|
124
130
|
// reload the server
|
|
125
131
|
}
|
|
126
132
|
});
|
|
@@ -136,27 +142,27 @@ const app = express();
|
|
|
136
142
|
|
|
137
143
|
global.clearRoutes = () => {
|
|
138
144
|
app._router.stack = app._router.stack.filter(
|
|
139
|
-
k => !(k && k.route && k.route.path)
|
|
140
|
-
)
|
|
141
|
-
}
|
|
145
|
+
(k) => !(k && k.route && k.route.path)
|
|
146
|
+
);
|
|
147
|
+
};
|
|
142
148
|
|
|
143
149
|
// in some other file (within the scope of webpack build)
|
|
144
150
|
// wherever you have your revalidation logic
|
|
145
151
|
revalidate().then((shouldReload) => {
|
|
146
|
-
if(shouldReload) {
|
|
152
|
+
if (shouldReload) {
|
|
147
153
|
global.clearRoutes();
|
|
148
154
|
}
|
|
149
155
|
});
|
|
150
|
-
|
|
151
156
|
```
|
|
152
157
|
|
|
153
158
|
## 🔑 License
|
|
159
|
+
|
|
154
160
|
- MIT @[ScriptedAlchemy](https://github.com/ScriptedAlchemy)
|
|
155
161
|
|
|
156
162
|
## 👨💻 Contributors
|
|
163
|
+
|
|
157
164
|
List of our amazing contributors 💥
|
|
158
165
|
|
|
159
166
|
<a href="https://github.com/module-federation/nextjs-mf/graphs/contributors">
|
|
160
167
|
<img src="https://contrib.rocks/image?repo=module-federation/node" />
|
|
161
168
|
</a>
|
|
162
|
-
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"public": true,
|
|
3
3
|
"name": "@module-federation/node",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.11.0",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "src/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -33,22 +33,24 @@
|
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"encoding": "0.1.13",
|
|
36
|
-
"next": "13.1.6",
|
|
37
36
|
"node-fetch": "2.6.7",
|
|
38
|
-
"
|
|
39
|
-
"react-dom": "18.2.0",
|
|
40
|
-
"@module-federation/utilities": "1.2.0",
|
|
41
|
-
"tslib": "2.4.0"
|
|
37
|
+
"@module-federation/utilities": "1.3.0"
|
|
42
38
|
},
|
|
43
39
|
"peerDependencies": {
|
|
40
|
+
"next": "^12||^13",
|
|
41
|
+
"react": "^16||^17||^18",
|
|
42
|
+
"react-dom": "^16||^17||^18",
|
|
44
43
|
"webpack": "^5.40.0"
|
|
45
44
|
},
|
|
46
|
-
"
|
|
47
|
-
"next":
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
"peerDependenciesMeta": {
|
|
46
|
+
"next": {
|
|
47
|
+
"optional": true
|
|
48
|
+
},
|
|
49
|
+
"react": {
|
|
50
|
+
"optional": true
|
|
51
|
+
},
|
|
52
|
+
"react-dom": {
|
|
53
|
+
"optional": true
|
|
54
|
+
}
|
|
53
55
|
}
|
|
54
56
|
}
|
|
@@ -104,7 +104,7 @@ function getIssuers(mod, check) {
|
|
|
104
104
|
* @returns {SharedDependency}
|
|
105
105
|
*/
|
|
106
106
|
function parseFederatedIssuer(issuer) {
|
|
107
|
-
const split =
|
|
107
|
+
const split = issuer?.split('|') || [];
|
|
108
108
|
if (split.length !== 8 || split[0] !== 'consume-shared-module') {
|
|
109
109
|
return null;
|
|
110
110
|
}
|
|
@@ -176,8 +176,7 @@ function getFederationStats(stats, federationPlugin) {
|
|
|
176
176
|
[exposedAs]: flatMap(exposedModules, (mod) => getExposed(stats, mod)),
|
|
177
177
|
}), {});
|
|
178
178
|
/** @type {string} */
|
|
179
|
-
const remote =
|
|
180
|
-
federationPlugin._options.name;
|
|
179
|
+
const remote = federationPlugin._options.library?.name || federationPlugin._options.name;
|
|
181
180
|
const sharedModules = getSharedModules(stats, federationPlugin);
|
|
182
181
|
const remoteModules = getRemoteModules(stats);
|
|
183
182
|
return {
|
|
@@ -214,7 +213,12 @@ class FederationStatsPlugin {
|
|
|
214
213
|
* @param {import("webpack").Compiler} compiler
|
|
215
214
|
*/
|
|
216
215
|
apply(compiler) {
|
|
217
|
-
const federationPlugins = compiler.options.plugins?.filter((plugin) => [
|
|
216
|
+
const federationPlugins = compiler.options.plugins?.filter((plugin) => [
|
|
217
|
+
'NextFederationPlugin',
|
|
218
|
+
'UniversalFederationPlugin',
|
|
219
|
+
'NodeFederationPlugin',
|
|
220
|
+
'ModuleFederationPlugin',
|
|
221
|
+
].includes(plugin.constructor.name) && plugin?._options?.exposes);
|
|
218
222
|
if (!federationPlugins || federationPlugins.length === 0) {
|
|
219
223
|
console.error('No ModuleFederationPlugin(s) found.');
|
|
220
224
|
return;
|
|
@@ -227,7 +231,7 @@ class FederationStatsPlugin {
|
|
|
227
231
|
const stats = compilation.getStats().toJson({
|
|
228
232
|
performance: false,
|
|
229
233
|
time: false,
|
|
230
|
-
logging:
|
|
234
|
+
logging: 'none',
|
|
231
235
|
loggingDebug: false,
|
|
232
236
|
loggingTrace: false,
|
|
233
237
|
source: false,
|
|
@@ -237,7 +241,7 @@ class FederationStatsPlugin {
|
|
|
237
241
|
errorsCount: false,
|
|
238
242
|
warningsCount: false,
|
|
239
243
|
builtAt: false,
|
|
240
|
-
timings: false
|
|
244
|
+
timings: false,
|
|
241
245
|
});
|
|
242
246
|
const federatedModules = federationPlugins.map((federationPlugin) => getFederationStats(stats, federationPlugin));
|
|
243
247
|
const sharedModules = getMainSharedModules(stats);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChunkCorrelationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/ChunkCorrelationPlugin.js"],"names":[],"mappings":";AAAA,MAAM,WAAW,GAAG,uBAAuB,CAAC;AAE5C,2EAA2E;AAC3E,uFAAuF;AACvF,uFAAuF;AAEvF;;;;;;;;GAQG;AAEH;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;;GAMG;AAEH;;;;GAIG;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAErC,MAAM,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAExD;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,KAAK;IAC7B,OAAO,KAAK,CAAC,OAAO;SACjB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,eAAe,CAAC;SACnD,MAAM,CAAC,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;QAC5B,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC,GAAG,YAAY,CAAC,EAAE,CAAC;QACrD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,KAAK,EAAE,WAAW;IAC3C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;AACzE,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAK,EAAE,GAAG;IAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"ChunkCorrelationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/ChunkCorrelationPlugin.js"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
37
37
|
*/
|
|
38
38
|
_getLogger(...items) {
|
|
39
39
|
if (!this.options.verbose) {
|
|
40
|
-
return
|
|
40
|
+
return '';
|
|
41
41
|
}
|
|
42
42
|
return `console.log(${items.join(',')});`;
|
|
43
43
|
}
|
|
@@ -52,6 +52,19 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
52
52
|
// remotes only use fs.readFile if we were to cache the chunks on disk after fetching - otherwise its always using http
|
|
53
53
|
// so for example, if im in hostA and require(remoteb/module) --> console.log of name in runtime code will return remoteb
|
|
54
54
|
const { remotes = {}, name } = this.options;
|
|
55
|
+
// for delegate modules, we need to avoid serializing internal modules, only register primitive configs in the runtime
|
|
56
|
+
// delegates have their own registration code, so we dont need to handle them here.
|
|
57
|
+
const remotesByType = Object.values(remotes).reduce((acc, remote) => {
|
|
58
|
+
if (remote.startsWith('promise ') ||
|
|
59
|
+
remote.startsWith('internal ') ||
|
|
60
|
+
remote.startsWith('external ')) {
|
|
61
|
+
acc.functional.push(remote);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
acc.normal.push(remote);
|
|
65
|
+
}
|
|
66
|
+
return acc;
|
|
67
|
+
}, { functional: [], normal: [] });
|
|
55
68
|
const { webpack } = this.chunkLoadingContext;
|
|
56
69
|
const chunkHasJs = (webpack && webpack.javascript.JavascriptModulesPlugin.chunkHasJs) ||
|
|
57
70
|
require('webpack/lib/javascript/JavascriptModulesPlugin').chunkHasJs;
|
|
@@ -132,25 +145,27 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
132
145
|
])};`
|
|
133
146
|
: '// no chunk install function needed',
|
|
134
147
|
'',
|
|
135
|
-
withLoading
|
|
136
|
-
webpack_1.Template.asString([
|
|
137
|
-
|
|
148
|
+
withLoading
|
|
149
|
+
? webpack_1.Template.asString([
|
|
150
|
+
'// load script equivalent for server side',
|
|
138
151
|
`${webpack_1.RuntimeGlobals.loadScript} = ${runtimeTemplate.basicFunction('url,callback,chunkId', [
|
|
139
152
|
webpack_1.Template.indent([
|
|
140
|
-
|
|
141
|
-
webpack_1.Template.indent([
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
153
|
+
'if(!global.__remote_scope__) {',
|
|
154
|
+
webpack_1.Template.indent([
|
|
155
|
+
'// create a global scope for container, similar to how remotes are set on window in the browser',
|
|
156
|
+
'global.__remote_scope__ = {',
|
|
157
|
+
'_config: {},',
|
|
158
|
+
'}',
|
|
145
159
|
]),
|
|
146
|
-
|
|
160
|
+
'}',
|
|
147
161
|
]),
|
|
148
162
|
webpack_1.Template.indent([
|
|
149
163
|
loadScript_1.executeLoadTemplate,
|
|
150
164
|
`executeLoad(url,callback,chunkId)`,
|
|
151
165
|
]),
|
|
152
166
|
])}`,
|
|
153
|
-
])
|
|
167
|
+
])
|
|
168
|
+
: '// no remote script loader needed',
|
|
154
169
|
withLoading
|
|
155
170
|
? webpack_1.Template.asString([
|
|
156
171
|
'// ReadFile + VM.run chunk loading for javascript',
|
|
@@ -194,7 +209,7 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
194
209
|
this._getLogger(`'needs to load remote module from ${JSON.stringify(name)}'`),
|
|
195
210
|
this._getLogger(`'remotes known to'`, JSON.stringify(name), JSON.stringify(remotes)),
|
|
196
211
|
// keys are mostly useless here, we want to find remote by its global (unique name)
|
|
197
|
-
`var remotes = ${JSON.stringify(Object.values(
|
|
212
|
+
`var remotes = ${JSON.stringify(Object.values(remotesByType.normal).reduce((acc, remote) => {
|
|
198
213
|
//TODO: need to handle all other cases like when remote is not a @ syntax string
|
|
199
214
|
const [global, url] = remote.split('@');
|
|
200
215
|
acc[global] = url;
|
|
@@ -203,30 +218,30 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
203
218
|
'Object.assign(global.__remote_scope__._config, remotes)',
|
|
204
219
|
'const remoteRegistry = global.__remote_scope__._config',
|
|
205
220
|
/*
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
this._getLogger(`'remotes keyed by global name'`, JSON.stringify(
|
|
221
|
+
TODO: keying by global should be ok, but need to verify - need to deal with when user passes promise new promise() global will/should still exist - but can only be known at runtime
|
|
222
|
+
*/
|
|
223
|
+
this._getLogger(`'remotes keyed by global name'`, JSON.stringify(remotesByType.normal)),
|
|
209
224
|
this._getLogger(`'remote scope configs'`, 'global.__remote_scope__._config'),
|
|
210
225
|
this._getLogger(`'before remote scope'`),
|
|
211
226
|
this._getLogger(`'global.__remote_scope__'`, `global.__remote_scope__`),
|
|
212
227
|
this._getLogger(`'global.__remote_scope__[${JSON.stringify(name)}]'`, `global.__remote_scope__[${JSON.stringify(name)}]`),
|
|
213
228
|
/* TODO: this global.REMOTE_CONFIG doesnt work in this v5 core, not sure if i need to keep it or not
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
229
|
+
not deleting it yet since i might need this for tracking all the remote entries across systems
|
|
230
|
+
for now, im going to use locally known remote scope from remoteEntry config
|
|
231
|
+
update: We will most likely need this, since remote would not have its own config
|
|
232
|
+
id need to access the host system and find the known url
|
|
233
|
+
basically this is how i create publicPath: auto on servers.
|
|
234
|
+
`var requestedRemote = global.REMOTE_CONFIG[${JSON.stringify(
|
|
235
|
+
name
|
|
236
|
+
)}]`,
|
|
237
|
+
*/
|
|
223
238
|
`var requestedRemote = remoteRegistry[${JSON.stringify(name)}]`,
|
|
224
239
|
this._getLogger(`'requested remote'`, `requestedRemote`),
|
|
225
240
|
/*TODO: we need to support when user implements own promise new promise function
|
|
226
|
-
|
|
227
|
-
|
|
241
|
+
for example i have my own promise remotes, not global@remotename
|
|
242
|
+
so there could be cases where remote may be function still - not sure */
|
|
228
243
|
/*TODO: need to handle if chunk fetch fails/crashes - ensure server still can keep loading
|
|
229
|
-
|
|
244
|
+
right now if you throw an error in here, server will stall forever */
|
|
230
245
|
`if(typeof requestedRemote === 'function'){
|
|
231
246
|
requestedRemote = await requestedRemote()
|
|
232
247
|
}`,
|
|
@@ -245,7 +260,7 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
245
260
|
`loadScript(scriptUrl.toString(), function(err, content) {`,
|
|
246
261
|
webpack_1.Template.indent([
|
|
247
262
|
this._getLogger(`'load script callback fired'`),
|
|
248
|
-
"if(err) {console.error('error loading remote chunk', scriptUrl.toString(),'got',content); return reject(err);}",
|
|
263
|
+
"if(err) {console.error('error loading remote chunk', scriptUrl.toString(),'got',content,'with error', err); return reject(err);}",
|
|
249
264
|
'var chunk = {};',
|
|
250
265
|
'try {',
|
|
251
266
|
"require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)" +
|
|
@@ -255,7 +270,7 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
255
270
|
'}',
|
|
256
271
|
'installChunk(chunk);',
|
|
257
272
|
]),
|
|
258
|
-
'});',
|
|
273
|
+
'}, chunkId);',
|
|
259
274
|
]),
|
|
260
275
|
'}',
|
|
261
276
|
]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoadFileChunkLoadingRuntimeModule.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/LoadFileChunkLoadingRuntimeModule.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD;;EAEE;AAEF,YAAY,CAAC;;;AAGb,
|
|
1
|
+
{"version":3,"file":"LoadFileChunkLoadingRuntimeModule.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/LoadFileChunkLoadingRuntimeModule.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD;;EAEE;AAEF,YAAY,CAAC;;;AAGb,qCAAkE;AAClE,4DAA0D;AAC1D,2GAA2E;AAE3E,mEAAuE;AAmBvE,MAAM,iCAAkC,SAAQ,uBAAa;IAK3D,YACE,mBAAgC,EAChC,OAAiD,EACjD,mBAAwC;QAExC,KAAK,CAAC,wBAAwB,EAAE,uBAAa,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAE/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,KAAY,EAAE,aAAqB;QAClD,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE;YAC9B,OAAO,GAAG,wBAAc,CAAC,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;SAC1E;QAED,OAAO,GAAG,wBAAc,CAAC,OAAO,mCAC9B,aAAa;YACX,CAAC,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,CAAC,EAAE;YACtD,CAAC,CAAC,YACN,IAAI,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,UAAU,CAAC,GAAG,KAAgB;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE;YACzB,OAAO,EAAE,CAAC;SACX;QAED,OAAO,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;IAC5C,CAAC;IAED;;OAEG;IACM,QAAQ;QACf,4DAA4D;QAC5D,+DAA+D;QAC/D,sFAAsF;QACtF,mFAAmF;QACnF,uHAAuH;QACvH,yHAAyH;QAEzH,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5C,sHAAsH;QACtH,mFAAmF;QACnF,MAAM,aAAa,GAAkB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAChE,CAAC,GAAkB,EAAE,MAAc,EAAE,EAAE;YACrC,IACE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC;gBAC7B,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;gBAC9B,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,EAC9B;gBACA,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC7B;iBAAM;gBACL,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACzB;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAC/B,CAAC;QAEF,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC;QAC7C,MAAM,UAAU,GACd,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC;YAClE,OAAO,CAAC,gDAAgD,CAAC,CAAC,UAAU,CAAC;QAEvE,yBAAyB;QACzB,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAE,UAAsB,EAAE,EAAE;YAClE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,EAAE;gBAC3C,IAAI,CAAC,KAAK,KAAK,IAAI,UAAU,CAAC,CAAC,EAAE,UAAU,CAAC;oBAAE,SAAS;gBACvD,IAAI,CAAC,CAAC,GAAG,EAAE;oBACT,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG;wBAAE,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;iBACjD;aACF;YACD,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC;QAEF,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;QACnC,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAC7C,MAAM,EAAE,GAAG,wBAAc,CAAC,mBAAmB,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,wBAAc,CAAC,OAAO,CAAC,CAAC;QACzE,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC3D,wBAAc,CAAC,oBAAoB,CACpC,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAClD,wBAAc,CAAC,cAAc,CAC9B,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC9C,wBAAc,CAAC,mBAAmB,CACnC,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1C,wBAAc,CAAC,yBAAyB,CACzC,CAAC;QACF,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAClD,wBAAc,CAAC,mBAAmB,CACnC,CAAC;QAEF,MAAM,YAAY,GAAG,UAAU,CAAC,oBAAoB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,IAAA,+BAAqB,EAAC,YAAY,CAAC,CAAC;QACzD,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,iBAAiB;QAEhF,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CACzC,CACE,CAAC,OAAO;YACN,OAAO,CAAC,UAAU,CAAC,uBAAuB;iBACvC,wBAAwB,CAAC;YAC9B,OAAO,CAAC,gDAAgD,CAAC;iBACtD,wBAAwB,CAC5B,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EACxC;YACE,KAAK;YACL,eAAe,EAAE,YAAY;SAC9B,CACF,CAAC;QACF,MAAM,aAAa,GAAG,IAAA,wBAAW,EAC/B,UAAU,EACV,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EACnC,KAAK,CACN,CAAC;QAEF,MAAM,eAAe,GAAG,OAAO;YAC7B,CAAC,CAAC,GAAG,wBAAc,CAAC,qBAAqB,aAAa;YACtD,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO,kBAAQ,CAAC,QAAQ,CAAC;YACvB,WAAW;gBACT,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,aAAa,CAAC;gBAC7C,CAAC,CAAC,eAAe;YACnB,EAAE;YACF,kCAAkC;YAClC,sDAAsD;YACtD,yBACE,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,MAAM,eAAe,MAAM,CAAC,CAAC,CAAC,EACpE,GAAG;YACH,kBAAQ,CAAC,MAAM,CACb,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAClE,KAAK,CACN,CACF;YACD,IAAI;YACJ,EAAE;YACF,eAAe;gBACb,CAAC,CAAC,GACE,wBAAc,CAAC,cACjB,iBAAiB,eAAe,CAAC,iBAAiB,CAChD,gCAAgC,EAChC,SAAS,CACV,GAAG;gBACN,CAAC,CAAC,wBAAwB;YAC5B,EAAE;YACF,WAAW,IAAI,wBAAwB;gBACrC,CAAC,CAAC,sBAAsB,eAAe,CAAC,aAAa,CAAC,OAAO,EAAE;oBAC3D,iFAAiF;oBACjF,oCAAoC;oBACpC,kBAAQ,CAAC,MAAM,CAAC;wBACd,MAAM,wBAAc,CAAC,cAAc,4BAA4B;wBAC/D,kBAAQ,CAAC,MAAM,CAAC;4BACd,GAAG,wBAAc,CAAC,eAAe,qCAAqC;yBACvE,CAAC;wBACF,GAAG;qBACJ,CAAC;oBACF,GAAG;oBACH,2CAA2C;oBAC3C,4CAA4C;oBAC5C,kBAAQ,CAAC,MAAM,CAAC;wBACd,oCAAoC;wBACpC,kBAAQ,CAAC,MAAM,CAAC,CAAC,oCAAoC,CAAC,CAAC;wBACvD,GAAG;wBACH,mCAAmC;qBACpC,CAAC;oBACF,GAAG;oBACH,eAAe,CAAC,CAAC,CAAC,GAAG,wBAAc,CAAC,cAAc,KAAK,CAAC,CAAC,CAAC,EAAE;iBAC7D,CAAC,GAAG;gBACP,CAAC,CAAC,qCAAqC;YACzC,EAAE;YACF,WAAW;gBACT,CAAC,CAAC,kBAAQ,CAAC,QAAQ,CAAC;oBAChB,2CAA2C;oBAC3C,GAAG,wBAAc,CAAC,UAAU,MAAM,eAAe,CAAC,aAAa,CAC7D,sBAAsB,EACtB;wBACE,kBAAQ,CAAC,MAAM,CAAC;4BACd,gCAAgC;4BAChC,kBAAQ,CAAC,MAAM,CAAC;gCACd,iGAAiG;gCACjG,6BAA6B;gCAC7B,cAAc;gCACd,GAAG;6BACJ,CAAC;4BACF,GAAG;yBACJ,CAAC;wBACF,kBAAQ,CAAC,MAAM,CAAC;4BACd,gCAAmB;4BACnB,mCAAmC;yBACpC,CAAC;qBACH,CACF,EAAE;iBACJ,CAAC;gBACJ,CAAC,CAAC,mCAAmC;YACvC,WAAW;gBACT,CAAC,CAAC,kBAAQ,CAAC,QAAQ,CAAC;oBAChB,mDAAmD;oBACnD,GAAG,EAAE,6CAA6C;oBAClD,YAAY,KAAK,KAAK;wBACpB,CAAC,CAAC,kBAAQ,CAAC,MAAM,CAAC;4BACd,EAAE;4BACF,oDAAoD;4BACpD,gEAAgE;4BAChE,kBAAQ,CAAC,MAAM,CAAC;gCACd,kEAAkE;gCAClE,0BAA0B;gCAC1B,kBAAQ,CAAC,MAAM,CAAC,CAAC,uCAAuC,CAAC,CAAC;gCAC1D,UAAU;gCACV,kBAAQ,CAAC,MAAM,CAAC;oCACd,YAAY,KAAK,IAAI;wCACnB,CAAC,CAAC,kCAAkC;wCACpC,CAAC,CAAC,MAAM,YAAY,CAAC,SAAS,CAAC,KAAK;oCACtC,kBAAQ,CAAC,MAAM,CAAC;wCACd,4CAA4C;wCAC5C,6DAA6D;wCAC7D,kBAAQ,CAAC,MAAM,CAAC;4CACd,oEAAoE;4CACpE,kDAAkD,IAAI,CAAC,SAAS,CAC9D,aAAa,CACd,MACC,wBAAc,CAAC,sBACjB,aAAa;4CACb,yBAAyB;4CACzB,+BAA+B;4CAC/B,kBAAQ,CAAC,MAAM,CAAC;gDACd,yDAAyD;gDACzD,kBAAQ,CAAC,MAAM,CAAC;oDACd,6BAA6B;oDAC7B,iBAAiB;oDACjB,sHAAsH;wDACpH,gEAAgE;oDAClE,sBAAsB;iDACvB,CAAC;gDACF,KAAK;6CACN,CAAC;4CACF,UAAU;4CACV,kBAAQ,CAAC,MAAM,CAAC;gDACd,oBAAkB;gDAElB,IAAI,CAAC,UAAU,CACb,qCAAqC,IAAI,CAAC,SAAS,CACjD,IAAI,CACL,GAAG,CACL;gDACD,IAAI,CAAC,UAAU,CACb,oBAAoB,EACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EACpB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACxB;gDAED,mFAAmF;gDACnF,iBAAiB,IAAI,CAAC,SAAS,CAC7B,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,MAAM,CACxC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;oDACd,gFAAgF;oDAChF,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oDACxC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC;oDAClB,OAAO,GAAG,CAAC;gDACb,CAAC,EACD,EAA4B,CAC7B,CACF,GAAG;gDACJ,yDAAyD;gDACzD,wDAAwD;gDACxD;;0CAEN;gDACM,IAAI,CAAC,UAAU,CACb,gCAAgC,EAChC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CACrC;gDACD,IAAI,CAAC,UAAU,CACb,wBAAwB,EACxB,iCAAiC,CAClC;gDAED,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC;gDACxC,IAAI,CAAC,UAAU,CACb,2BAA2B,EAC3B,yBAAyB,CAC1B;gDACD,IAAI,CAAC,UAAU,CACb,4BAA4B,IAAI,CAAC,SAAS,CACxC,IAAI,CACL,IAAI,EACL,2BAA2B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CACnD;gDAED;;;;;;;;;2CASL;gDACK,wCAAwC,IAAI,CAAC,SAAS,CACpD,IAAI,CACL,GAAG;gDACJ,IAAI,CAAC,UAAU,CACb,oBAAoB,EACpB,iBAAiB,CAClB;gDACD;;wHAEwE;gDAExE;qHACqE;gDAErE;;oBAER;gDACQ,IAAI,CAAC,UAAU,CACb,uBAAuB,EACvB,iBAAiB,CAClB;gDAED,sDAAsD;gDACtD,6DAA6D;gDAC7D,yGAAyG;gDACzG,kGAAkG;gDAClG,2CAA2C;gDAE3C,IAAI,CAAC,UAAU,CACb,2BAA2B,EAC3B,yBAAyB,CAC1B;gDACD,mBAAmB,wBAAc,CAAC,sBAAsB,YAAY;gDACpE,IAAI,CAAC,UAAU,CACb,wBAAwB,EACxB,WAAW,CACZ;gDACD,mEAAmE;gDACnE,4EAA4E;gDAC5E,IAAI,CAAC,UAAU,CACb,0BAA0B,EAC1B,sBAAsB,CACvB;gDACD,2DAA2D;gDAC3D,kBAAQ,CAAC,MAAM,CAAC;oDACd,IAAI,CAAC,UAAU,CAAC,8BAA8B,CAAC;oDAC/C,kIAAkI;oDAClI,iBAAiB;oDACjB,OAAO;oDACP,sHAAsH;wDACpH,gEAAgE;oDAClE,eAAe;oDACf,4CAA4C;oDAC5C,GAAG;oDACH,sBAAsB;iDACvB,CAAC;gDACF,cAAc;6CACf,CAAC;4CACF,GAAG;yCACJ,CAAC;wCACF,KAAK;wCACL,iDAAiD;qCAClD,CAAC;oCACF,sCAAsC;iCACvC,CAAC;gCACF,GAAG;6BACJ,CAAC;4BACF,GAAG;yBACJ,CAAC;wBACJ,CAAC,CAAC,kBAAQ,CAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;oBACtD,IAAI;iBACL,CAAC;gBACJ,CAAC,CAAC,qBAAqB;YACzB,EAAE;YACF,wBAAwB;gBACtB,CAAC,CAAC,kBAAQ,CAAC,QAAQ,CAAC;oBAChB,uCAAuC;oBACvC,GAAG,wBAAc,CAAC,oBAAoB,kBAAkB;iBACzD,CAAC;gBACJ,CAAC,CAAC,8BAA8B;YAClC,EAAE;YACF,OAAO;gBACL,CAAC,CAAC,kBAAQ,CAAC,QAAQ,CAAC;oBAChB,yDAAyD;oBACzD,kBAAQ,CAAC,MAAM,CAAC;wBACd,gDAAgD;wBAChD,kBAAQ,CAAC,MAAM,CAAC;4BACd,kDAAkD,IAAI,CAAC,SAAS,CAC9D,aAAa,CACd,MAAM,wBAAc,CAAC,4BAA4B,aAAa;4BAC/D,oEAAoE;4BACpE,kBAAQ,CAAC,MAAM,CAAC;gCACd,6BAA6B;gCAC7B,kBAAkB;gCAClB,sHAAsH;oCACpH,iEAAiE;gCACnE,sCAAsC;gCACtC,+BAA+B;gCAC/B,uCAAuC;gCACvC,kBAAQ,CAAC,MAAM,CAAC;oCACd,MAAM,wBAAc,CAAC,cAAc,+BAA+B;oCAClE,kBAAQ,CAAC,MAAM,CAAC;wCACd,qDAAqD;wCACrD,2DAA2D;qCAC5D,CAAC;oCACF,GAAG;iCACJ,CAAC;gCACF,GAAG;gCACH,iDAAiD;gCACjD,YAAY;6BACb,CAAC;4BACF,KAAK;yBACN,CAAC;wBACF,KAAK;qBACN,CAAC;oBACF,GAAG;oBACH,EAAE;oBACF,kBAAQ,CAAC,kBAAkB,CACzB,OAAO,CAAC,2DAA2D,CAAC,CACrE;yBACE,OAAO,CAAC,UAAU,EAAE,YAAY,CAAC;yBACjC,OAAO,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;yBAClD,OAAO,CAAC,sBAAsB,EAAE,iBAAiB,CAAC;yBAClD,OAAO,CAAC,kBAAkB,EAAE,wBAAc,CAAC,WAAW,CAAC;yBACvD,OAAO,CAAC,sBAAsB,EAAE,wBAAc,CAAC,eAAe,CAAC;yBAC/D,OAAO,CACN,0BAA0B,EAC1B,wBAAc,CAAC,mBAAmB,CACnC;yBACA,OAAO,CAAC,qBAAqB,EAAE,wBAAc,CAAC,cAAc,CAAC;yBAC7D,OAAO,CAAC,oBAAoB,EAAE,wBAAc,CAAC,aAAa,CAAC;yBAC3D,OAAO,CACN,gCAAgC,EAChC,wBAAc,CAAC,yBAAyB,CACzC;yBACA,OAAO,CACN,kCAAkC,EAClC,wBAAc,CAAC,2BAA2B,CAC3C;iBACJ,CAAC;gBACJ,CAAC,CAAC,WAAW;YACf,EAAE;YACF,eAAe;gBACb,CAAC,CAAC,kBAAQ,CAAC,QAAQ,CAAC;oBAChB,GAAG,wBAAc,CAAC,mBAAmB,iBAAiB;oBACtD,kBAAQ,CAAC,MAAM,CAAC;wBACd,gDAAgD;wBAChD,kBAAQ,CAAC,MAAM,CAAC;4BACd,kDAAkD,IAAI,CAAC,SAAS,CAC9D,aAAa,CACd,MAAM,wBAAc,CAAC,yBAAyB,MAAM;4BACrD,oEAAoE;4BACpE,kBAAQ,CAAC,MAAM,CAAC;gCACd,WAAW;gCACX,kBAAQ,CAAC,MAAM,CAAC;oCACd,6CAA6C;oCAC7C,qBAAqB;iCACtB,CAAC;gCACF,GAAG;gCACH,uCAAuC;gCACvC,yBAAyB;6BAC1B,CAAC;4BACF,KAAK;yBACN,CAAC;wBACF,KAAK;qBACN,CAAC;oBACF,GAAG;iBACJ,CAAC;gBACJ,CAAC,CAAC,oBAAoB;SACzB,CAAC,CAAC;IACL,CAAC;CACF;AAED,kBAAe,iCAAiC,CAAC"}
|
|
@@ -11,6 +11,10 @@ const utilities_1 = require("@module-federation/utilities");
|
|
|
11
11
|
// commonjs-module, ideal since it returns a commonjs module format
|
|
12
12
|
// const remote = eval(scriptContent + 'module.exports')
|
|
13
13
|
const parseRemotes = (remotes) => Object.entries(remotes).reduce((acc, remote) => {
|
|
14
|
+
if (remote[1].startsWith('internal ')) {
|
|
15
|
+
acc[remote[0]] = remote[1];
|
|
16
|
+
return acc;
|
|
17
|
+
}
|
|
14
18
|
if (!remote[1].startsWith('promise ') && remote[1].includes('@')) {
|
|
15
19
|
acc[remote[0]] = `promise ${(0, exports.parseRemoteSyntax)(remote[1])}`;
|
|
16
20
|
return acc;
|
|
@@ -66,12 +70,6 @@ const generateRemoteTemplate = (url, global) => `new Promise(function (resolve,
|
|
|
66
70
|
}
|
|
67
71
|
const proxy = {
|
|
68
72
|
get: (arg)=>{
|
|
69
|
-
// if(!global.__remote_scope__[${JSON.stringify(global)}].__initialized) {
|
|
70
|
-
// try {
|
|
71
|
-
// global.__remote_scope__[${JSON.stringify(global)}].__initialized = true;
|
|
72
|
-
// proxy.init(__webpack_require__.S.default);
|
|
73
|
-
// } catch(e) {}
|
|
74
|
-
// }
|
|
75
73
|
return remote.get(arg).then((f)=>{
|
|
76
74
|
const m = f();
|
|
77
75
|
return ()=>new Proxy(m, {
|
|
@@ -111,8 +109,10 @@ const generateRemoteTemplate = (url, global) => `new Promise(function (resolve,
|
|
|
111
109
|
global.__remote_scope__[${JSON.stringify(global)}].__initialized = true
|
|
112
110
|
}
|
|
113
111
|
}
|
|
114
|
-
|
|
112
|
+
try {
|
|
115
113
|
proxy.init(__webpack_require__.S.default)
|
|
114
|
+
} catch(e) {
|
|
115
|
+
console.error('failed to init', ${JSON.stringify(global)}, e)
|
|
116
116
|
}
|
|
117
117
|
return proxy
|
|
118
118
|
})`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/NodeFederationPlugin.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAIb,
|
|
1
|
+
{"version":3,"file":"NodeFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/NodeFederationPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,11 +25,11 @@ class StreamingTargetPlugin {
|
|
|
25
25
|
...compiler.options.output.environment,
|
|
26
26
|
dynamicImport: true,
|
|
27
27
|
};
|
|
28
|
-
new (
|
|
28
|
+
new (webpack?.node?.NodeEnvironmentPlugin ||
|
|
29
29
|
require('webpack/lib/node/NodeEnvironmentPlugin'))({
|
|
30
30
|
infrastructureLogging: compiler.options.infrastructureLogging,
|
|
31
31
|
}).apply(compiler);
|
|
32
|
-
new (
|
|
32
|
+
new (webpack?.node?.NodeTargetPlugin ||
|
|
33
33
|
require('webpack/lib/node/NodeTargetPlugin'))().apply(compiler);
|
|
34
34
|
new CommonJsChunkLoadingPlugin_1.default({
|
|
35
35
|
asyncChunkLoading: true,
|
|
@@ -37,7 +37,7 @@ class StreamingTargetPlugin {
|
|
|
37
37
|
remotes: this.options.remotes,
|
|
38
38
|
baseURI: compiler.options.output.publicPath,
|
|
39
39
|
promiseBaseURI: this.options.promiseBaseURI,
|
|
40
|
-
verbose: this.options.verbose
|
|
40
|
+
verbose: this.options.verbose,
|
|
41
41
|
}).apply(compiler);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingTargetPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/StreamingTargetPlugin.ts"],"names":[],"mappings":";;;AAGA,sGAAsE;AAUtE,MAAM,qBAAqB;IAGzB,YAAY,OAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;YAC3B,OAAO,CAAC,IAAI,CACV,8FAA8F,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CACxH,CAAC;SACH;QAED,mEAAmE;QACnE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAE7B,6CAA6C;QAC7C,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;QACjD,sCAAsC;QACtC,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,
|
|
1
|
+
{"version":3,"file":"StreamingTargetPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/StreamingTargetPlugin.ts"],"names":[],"mappings":";;;AAGA,sGAAsE;AAUtE,MAAM,qBAAqB;IAGzB,YAAY,OAA+B;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE;YAC3B,OAAO,CAAC,IAAI,CACV,8FAA8F,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,CACxH,CAAC;SACH;QAED,mEAAmE;QACnE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAE7B,6CAA6C;QAC7C,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC;QACjD,sCAAsC;QACtC,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;QAElE,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,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;SAC9B,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrB,CAAC;CACF;AAED,kBAAe,qBAAqB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/UniversalFederationPlugin.ts"],"names":[],"mappings":";;;AAAA,4FAA4D;AAC5D,0FAA0D;AAc1D,MAAM,yBAAyB;IAI7B,YAAY,OAA8B,EAAE,OAA8B;QACxE,IAAI,CAAC,QAAQ,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"UniversalFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/UniversalFederationPlugin.ts"],"names":[],"mappings":";;;AAAA,4FAA4D;AAC5D,0FAA0D;AAc1D,MAAM,yBAAyB;IAI7B,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,KAAK,CAAC,QAAkB;QACtB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACxD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;QAE7B,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE;YAClD,IAAI,8BAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChE,IAAI,+BAAqB,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACpE;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB;gBACtC,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,sBAAsB,CAAC;gBACrD,OAAO,CAAC,8CAA8C,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,CACvE,QAAQ,CACT,CAAC;SACH;IACH,CAAC;CACF;AAED,kBAAe,yBAAyB,CAAC"}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* loadScript(baseURI, fileName, cb)
|
|
3
3
|
* loadScript(scriptUrl, cb)
|
|
4
4
|
*/
|
|
5
|
-
declare const _default: "\n function loadScript(url, cb, chunkID) {\n
|
|
5
|
+
declare const _default: "\n function loadScript(url, cb, chunkID) {\n if (global.webpackChunkLoad) {\n global.webpackChunkLoad(url).then(function (resp) {\n return resp.text();\n }).then(function (rawData) {\n cb(null, rawData);\n }).catch(function (err) {\n console.error('Federated Chunk load failed', error);\n return cb(error)\n });\n } else {\n //TODO https support\n let request = (url.startsWith('https') ? require('https') : require('http')).get(url, function (resp) {\n if (resp.statusCode === 200) {\n let rawData = '';\n resp.setEncoding('utf8');\n resp.on('data', chunk => {\n rawData += chunk;\n });\n resp.on('end', () => {\n cb(null, rawData);\n });\n } else {\n cb(resp);\n }\n });\n request.on('error', error => {\n console.error('Federated Chunk load failed', error);\n return cb(error)\n });\n }\n }\n";
|
|
6
6
|
export default _default;
|
|
7
|
-
export declare const executeLoadTemplate = "\n function executeLoad(url, callback, name) {\n if(!name) {\n throw new Error('__webpack_require__.l name is required for ' + url);\n }\n if (typeof global.__remote_scope__[name] !== 'undefined') return callback(global.__remote_scope__[name]);\n const vm = require('vm');\n (global.webpackChunkLoad || global.fetch || require(\"node-fetch\"))(url).then(function (res) {\n return res.text();\n }).then(function (scriptContent) {\n try {\n const vmContext = {exports, require, module, global, __filename, __dirname, URL,console,process,Buffer, ...global, remoteEntryName: name};\n const remote = vm.runInNewContext(scriptContent + '\\nmodule.exports', vmContext, {filename: 'node-federation-loader-' + name + '.vm'});\n global.__remote_scope__[name]
|
|
7
|
+
export declare const executeLoadTemplate = "\n function executeLoad(url, callback, name) {\n if(!name) {\n throw new Error('__webpack_require__.l name is required for ' + url);\n }\n\n if (typeof global.__remote_scope__[name] !== 'undefined') return callback(global.__remote_scope__[name]);\n\n const vm = require('vm');\n (global.webpackChunkLoad || global.fetch || require(\"node-fetch\"))(url).then(function (res) {\n return res.text();\n }).then(function (scriptContent) {\n try {\n const vmContext = {exports, require, module, global, __filename, __dirname, URL, URLSearchParams, console, process,Buffer, ...global, remoteEntryName: name};\n const remote = vm.runInNewContext(scriptContent + '\\nmodule.exports', vmContext, {filename: 'node-federation-loader-' + name + '.vm'});\n const foundContainer = remote[name] || remote\n\n if(!global.__remote_scope__[name]) {\n global.__remote_scope__[name] = {\n get: foundContainer.get,\n init: function(initScope, initToken) {\n try {\n foundContainer.init(initScope, initToken)\n } catch (e) {\n // already initialized\n }\n }\n };\n global.__remote_scope__._config[name] = url;\n }\n callback(global.__remote_scope__[name]);\n } catch (e) {\n console.error('executeLoad hit catch block');\n e.target = {src: url};\n callback(e);\n }\n }).catch((e) => {\n e.target = {src: url};\n callback(e);\n });\n }\n";
|