@module-federation/node 0.8.3 → 0.9.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 +22 -0
- package/package.json +2 -2
- package/src/plugins/CommonJsChunkLoadingPlugin.d.ts +1 -0
- package/src/plugins/CommonJsChunkLoadingPlugin.js +1 -0
- package/src/plugins/CommonJsChunkLoadingPlugin.js.map +1 -1
- package/src/plugins/LoadFileChunkLoadingRuntimeModule.d.ts +6 -0
- package/src/plugins/LoadFileChunkLoadingRuntimeModule.js +25 -14
- package/src/plugins/LoadFileChunkLoadingRuntimeModule.js.map +1 -1
- package/src/plugins/NodeFederationPlugin.js +1 -1
- package/src/plugins/StreamingTargetPlugin.d.ts +1 -0
- package/src/plugins/StreamingTargetPlugin.js +2 -0
- package/src/plugins/StreamingTargetPlugin.js.map +1 -1
- package/src/plugins/UniversalFederationPlugin.d.ts +1 -0
- package/src/plugins/UniversalFederationPlugin.js +3 -2
- package/src/plugins/UniversalFederationPlugin.js.map +1 -1
- package/src/plugins/loadScript.d.ts +1 -1
- package/src/plugins/loadScript.js +1 -1
- package/src/utils/hot-reload.js +10 -3
- package/src/utils/hot-reload.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
# [0.9.0](https://github.com/module-federation/nextjs-mf/compare/node-0.8.4...node-0.9.0) (2022-11-20)
|
|
6
|
+
|
|
7
|
+
### Dependency Updates
|
|
8
|
+
|
|
9
|
+
* `utils` updated to version `1.0.0`
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **node:** add flag to control logging ([eebab83](https://github.com/module-federation/nextjs-mf/commit/eebab83762a08d82393f04ed03c0af026356653a))
|
|
14
|
+
* support ssr remote entry images ([9ab2afa](https://github.com/module-federation/nextjs-mf/commit/9ab2afaef5115ae6677641cb9d021273dafebf86))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
## [0.8.4](https://github.com/module-federation/nextjs-mf/compare/node-0.8.3...node-0.8.4) (2022-11-02)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
* hot-reload not working when node-fetch is imported from require() ([#352](https://github.com/module-federation/nextjs-mf/issues/352)) ([74c35e6](https://github.com/module-federation/nextjs-mf/commit/74c35e6cf41fe69af6c17c44885663d46e9a1fbf))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
5
27
|
## [0.8.3](https://github.com/module-federation/nextjs-mf/compare/node-0.8.2...node-0.8.3) (2022-10-31)
|
|
6
28
|
|
|
7
29
|
### Dependency Updates
|
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.9.0",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "src/index.js",
|
|
7
7
|
"exports": {
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"node-fetch": "^2.6.7",
|
|
36
36
|
"encoding": "^0.1.13",
|
|
37
|
-
"@module-federation/utilities": "0.
|
|
37
|
+
"@module-federation/utilities": "1.0.0",
|
|
38
38
|
"tslib": "^2.3.0"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
@@ -6,6 +6,7 @@ const StartupChunkDependenciesPlugin_1 = tslib_1.__importDefault(require("webpac
|
|
|
6
6
|
const LoadFileChunkLoadingRuntimeModule_1 = tslib_1.__importDefault(require("./LoadFileChunkLoadingRuntimeModule"));
|
|
7
7
|
class CommonJsChunkLoadingPlugin {
|
|
8
8
|
constructor(options) {
|
|
9
|
+
options.verbose ??= false;
|
|
9
10
|
this.options = options || {};
|
|
10
11
|
this._asyncChunkLoading = this.options.asyncChunkLoading;
|
|
11
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommonJsChunkLoadingPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/CommonJsChunkLoadingPlugin.ts"],"names":[],"mappings":";;;AAGA,wFAAwD;AACxD,gIAAgG;AAEhG,oHAA4E;
|
|
1
|
+
{"version":3,"file":"CommonJsChunkLoadingPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/CommonJsChunkLoadingPlugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ interface ReadFileChunkLoadingRuntimeModuleOptions {
|
|
|
5
5
|
promiseBaseURI?: string;
|
|
6
6
|
remotes: Record<string, string>;
|
|
7
7
|
name?: string;
|
|
8
|
+
verbose?: boolean;
|
|
8
9
|
}
|
|
9
10
|
interface ChunkLoadingContext {
|
|
10
11
|
webpack: Compiler['webpack'];
|
|
@@ -21,6 +22,11 @@ declare class ReadFileChunkLoadingRuntimeModule extends RuntimeModule {
|
|
|
21
22
|
* @returns {string} generated code
|
|
22
23
|
*/
|
|
23
24
|
_generateBaseUri(chunk: Chunk, rootOutputDir: string): string;
|
|
25
|
+
/**
|
|
26
|
+
* @private
|
|
27
|
+
* @param {unknown[]} items item to log
|
|
28
|
+
*/
|
|
29
|
+
_getLogger(...items: unknown[]): string;
|
|
24
30
|
/**
|
|
25
31
|
* @returns {string} runtime code
|
|
26
32
|
*/
|
|
@@ -16,6 +16,7 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
16
16
|
constructor(runtimeRequirements, options, chunkLoadingContext) {
|
|
17
17
|
super('readFile chunk loading', webpack_1.RuntimeModule.STAGE_ATTACH);
|
|
18
18
|
this.runtimeRequirements = runtimeRequirements;
|
|
19
|
+
options.verbose ??= false;
|
|
19
20
|
this.options = options;
|
|
20
21
|
this.chunkLoadingContext = chunkLoadingContext;
|
|
21
22
|
}
|
|
@@ -34,6 +35,16 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
34
35
|
? `__dirname + ${JSON.stringify('/' + rootOutputDir)}`
|
|
35
36
|
: '__filename'});`;
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* @private
|
|
40
|
+
* @param {unknown[]} items item to log
|
|
41
|
+
*/
|
|
42
|
+
_getLogger(...items) {
|
|
43
|
+
if (this.options.verbose) {
|
|
44
|
+
return "";
|
|
45
|
+
}
|
|
46
|
+
return `console.log(${items.join(',')});`;
|
|
47
|
+
}
|
|
37
48
|
/**
|
|
38
49
|
* @returns {string} runtime code
|
|
39
50
|
*/
|
|
@@ -184,8 +195,8 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
184
195
|
'} else {',
|
|
185
196
|
webpack_1.Template.indent([
|
|
186
197
|
loadScript_1.default,
|
|
187
|
-
|
|
188
|
-
|
|
198
|
+
this._getLogger(`'needs to load remote module from ${JSON.stringify(name)}'`),
|
|
199
|
+
this._getLogger(`'remotes known to'`, JSON.stringify(name), JSON.stringify(remotes)),
|
|
189
200
|
// keys are mostly useless here, we want to find remote by its global (unique name)
|
|
190
201
|
`var remotes = ${JSON.stringify(Object.values(remotes).reduce((acc, remote) => {
|
|
191
202
|
//TODO: need to handle all other cases like when remote is not a @ syntax string
|
|
@@ -198,11 +209,11 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
198
209
|
/*
|
|
199
210
|
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
|
|
200
211
|
*/
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
212
|
+
this._getLogger(`'remotes keyed by global name'`, remotes),
|
|
213
|
+
this._getLogger(`'remote scope configs'`, 'global.__remote_scope__._config'),
|
|
214
|
+
this._getLogger(`'before remote scope'`),
|
|
215
|
+
this._getLogger(`'global.__remote_scope__'`, `global.__remote_scope__`),
|
|
216
|
+
this._getLogger(`'global.__remote_scope__[${JSON.stringify(name)}]'`, `global.__remote_scope__[${JSON.stringify(name)}]`),
|
|
206
217
|
/* TODO: this global.REMOTE_CONFIG doesnt work in this v5 core, not sure if i need to keep it or not
|
|
207
218
|
not deleting it yet since i might need this for tracking all the remote entries across systems
|
|
208
219
|
for now, im going to use locally known remote scope from remoteEntry config
|
|
@@ -214,7 +225,7 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
214
225
|
)}]`,
|
|
215
226
|
*/
|
|
216
227
|
`var requestedRemote = remoteRegistry[${JSON.stringify(name)}]`,
|
|
217
|
-
|
|
228
|
+
this._getLogger(`'requested remote'`, `requestedRemote`),
|
|
218
229
|
/*TODO: we need to support when user implements own promise new promise function
|
|
219
230
|
for example i have my own promise remotes, not global@remotename
|
|
220
231
|
so there could be cases where remote may be function still - not sure */
|
|
@@ -223,28 +234,28 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
|
|
|
223
234
|
`if(typeof requestedRemote === 'function'){
|
|
224
235
|
requestedRemote = await requestedRemote()
|
|
225
236
|
}`,
|
|
226
|
-
|
|
237
|
+
this._getLogger(`'var requestedRemote'`, `requestedRemote`),
|
|
227
238
|
// example: uncomment this and server will never reply
|
|
228
239
|
// `var scriptUrl = new URL(requestedRemote.split("@")[1]);`,
|
|
229
240
|
// since im looping over remote and creating global at build time, i dont need to split string at runtime
|
|
230
241
|
// there may still be a use case for that with promise new promise, depending on how we design it.
|
|
231
242
|
`var scriptUrl = new URL(requestedRemote);`,
|
|
232
|
-
|
|
243
|
+
this._getLogger(`'global.__remote_scope__'`, `global.__remote_scope__`),
|
|
233
244
|
`var chunkName = ${webpack_1.RuntimeGlobals.getChunkScriptFilename}(chunkId);`,
|
|
234
|
-
|
|
245
|
+
this._getLogger(`'chunkname to request'`, `chunkName`),
|
|
235
246
|
`var fileToReplace = require('path').basename(scriptUrl.pathname);`,
|
|
236
247
|
`scriptUrl.pathname = scriptUrl.pathname.replace(fileToReplace, chunkName);`,
|
|
237
|
-
|
|
248
|
+
this._getLogger(`'will load remote chunk'`, `scriptUrl.toString()`),
|
|
238
249
|
`loadScript(scriptUrl.toString(), function(err, content) {`,
|
|
239
250
|
webpack_1.Template.indent([
|
|
240
|
-
|
|
251
|
+
this._getLogger(`'load script callback fired'`),
|
|
241
252
|
"if(err) {console.error('error loading remote chunk', scriptUrl.toString(),'got',content); return reject(err);}",
|
|
242
253
|
'var chunk = {};',
|
|
243
254
|
'try {',
|
|
244
255
|
"require('vm').runInThisContext('(function(exports, require, __dirname, __filename) {' + content + '\\n})', filename)" +
|
|
245
256
|
"(chunk, require, require('path').dirname(filename), filename);",
|
|
246
257
|
'} catch (e) {',
|
|
247
|
-
"console.
|
|
258
|
+
"console.error('runInThisContext threw', e)",
|
|
248
259
|
'}',
|
|
249
260
|
'installChunk(chunk);',
|
|
250
261
|
]),
|
|
@@ -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,qCAAgE;AAEhE,2DAA2D;AAC3D,yDAAyD;AACzD,+CAA+C;AAC/C,2GAA2E;AAC3E,4DAAwD;AAExD,mEAAqE;
|
|
1
|
+
{"version":3,"file":"LoadFileChunkLoadingRuntimeModule.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/LoadFileChunkLoadingRuntimeModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,7 +44,7 @@ const executeLoadTemplate = `
|
|
|
44
44
|
return res.text();
|
|
45
45
|
}).then(function(scriptContent){
|
|
46
46
|
try {
|
|
47
|
-
const vmContext = { exports, require, module, global, __filename, __dirname, URL, ...global};
|
|
47
|
+
const vmContext = { exports, require, module, global, __filename, __dirname, URL, ...global, remoteEntryName: name};
|
|
48
48
|
const remote = vm.runInNewContext(scriptContent + '\\nmodule.exports', vmContext, { filename: 'node-federation-loader-' + moduleName + '.vm' });
|
|
49
49
|
|
|
50
50
|
/* TODO: need something like a chunk loading queue, this can lead to async issues
|
|
@@ -2,6 +2,7 @@ import type { Compiler } from 'webpack';
|
|
|
2
2
|
import type { ModuleFederationPluginOptions } from '../types';
|
|
3
3
|
interface StreamingTargetOptions extends ModuleFederationPluginOptions {
|
|
4
4
|
promiseBaseURI?: string;
|
|
5
|
+
verbose?: boolean;
|
|
5
6
|
}
|
|
6
7
|
declare class StreamingTargetPlugin {
|
|
7
8
|
private options;
|
|
@@ -4,6 +4,7 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const CommonJsChunkLoadingPlugin_1 = tslib_1.__importDefault(require("./CommonJsChunkLoadingPlugin"));
|
|
5
5
|
class StreamingTargetPlugin {
|
|
6
6
|
constructor(options) {
|
|
7
|
+
options.verbose ??= false;
|
|
7
8
|
this.options = options || {};
|
|
8
9
|
}
|
|
9
10
|
apply(compiler) {
|
|
@@ -37,6 +38,7 @@ class StreamingTargetPlugin {
|
|
|
37
38
|
remotes: this.options.remotes,
|
|
38
39
|
baseURI: compiler.options.output.publicPath,
|
|
39
40
|
promiseBaseURI: this.options.promiseBaseURI,
|
|
41
|
+
verbose: this.options.verbose
|
|
40
42
|
}).apply(compiler);
|
|
41
43
|
}
|
|
42
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StreamingTargetPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/StreamingTargetPlugin.ts"],"names":[],"mappings":";;;AAGA,sGAAsE;
|
|
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,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;QAC1B,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,CAAA;QAED,IAAI,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC;YAClE,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,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC;YAC7D,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"}
|
|
@@ -3,6 +3,7 @@ import type { Compiler, container } from 'webpack';
|
|
|
3
3
|
interface NodeFederationOptions extends ModuleFederationPluginOptions {
|
|
4
4
|
isServer: boolean;
|
|
5
5
|
promiseBaseURI?: string;
|
|
6
|
+
verbose?: boolean;
|
|
6
7
|
}
|
|
7
8
|
interface NodeFederationContext {
|
|
8
9
|
ModuleFederationPlugin?: typeof container.ModuleFederationPlugin;
|
|
@@ -5,15 +5,16 @@ const StreamingTargetPlugin_1 = tslib_1.__importDefault(require("./StreamingTarg
|
|
|
5
5
|
const NodeFederationPlugin_1 = tslib_1.__importDefault(require("./NodeFederationPlugin"));
|
|
6
6
|
class UniversalFederationPlugin {
|
|
7
7
|
constructor(options, context) {
|
|
8
|
+
options.verbose ??= false;
|
|
8
9
|
this.options = options || {};
|
|
9
10
|
this.context = context || {};
|
|
10
11
|
}
|
|
11
12
|
apply(compiler) {
|
|
12
|
-
const { isServer, ...options } = this.options;
|
|
13
|
+
const { isServer, verbose, ...options } = this.options;
|
|
13
14
|
const { webpack } = compiler;
|
|
14
15
|
if (isServer || compiler.options.name === 'server') {
|
|
15
16
|
new NodeFederationPlugin_1.default(options, this.context).apply(compiler);
|
|
16
|
-
new StreamingTargetPlugin_1.default(options).apply(compiler);
|
|
17
|
+
new StreamingTargetPlugin_1.default({ ...options, verbose }).apply(compiler);
|
|
17
18
|
}
|
|
18
19
|
else {
|
|
19
20
|
new (this.context.ModuleFederationPlugin ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniversalFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/UniversalFederationPlugin.ts"],"names":[],"mappings":";;;AAAA,4FAA4D;AAC5D,0FAA0D;
|
|
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,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAA2B,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAA2B,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QACvD,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,EAAC,GAAG,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAClE;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"}
|
|
@@ -4,4 +4,4 @@
|
|
|
4
4
|
*/
|
|
5
5
|
declare const _default: "\n function loadScript(url, cb, chunkID) {\n var url;\n var cb = arguments[arguments.length - 1];\n if (typeof cb !== \"function\") {\n throw new Error(\"last argument should be a function\");\n }\n if (arguments.length === 2) {\n url = arguments[0];\n } else if (arguments.length === 3) {\n url = new URL(arguments[1], arguments[0]).toString();\n } else {\n throw new Error(\"invalid number of arguments\");\n }\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,
|
|
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] = remote[name] || remote;\n global.__remote_scope__._config[name] = url;\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";
|
|
@@ -65,7 +65,7 @@ exports.executeLoadTemplate = `
|
|
|
65
65
|
return res.text();
|
|
66
66
|
}).then(function (scriptContent) {
|
|
67
67
|
try {
|
|
68
|
-
const vmContext = {exports, require, module, global, __filename, __dirname, URL,console,process,Buffer,
|
|
68
|
+
const vmContext = {exports, require, module, global, __filename, __dirname, URL,console,process,Buffer, ...global, remoteEntryName: name};
|
|
69
69
|
const remote = vm.runInNewContext(scriptContent + '\\nmodule.exports', vmContext, {filename: 'node-federation-loader-' + name + '.vm'});
|
|
70
70
|
global.__remote_scope__[name] = remote[name] || remote;
|
|
71
71
|
global.__remote_scope__._config[name] = url;
|
package/src/utils/hot-reload.js
CHANGED
|
@@ -29,9 +29,8 @@ const revalidate = () => {
|
|
|
29
29
|
}
|
|
30
30
|
const name = property;
|
|
31
31
|
const url = remote;
|
|
32
|
-
const
|
|
33
|
-
|
|
34
|
-
require('node-fetch'))(url)
|
|
32
|
+
const fetchModule = getFetchModule();
|
|
33
|
+
const fetcher = fetchModule(url)
|
|
35
34
|
.then((re) => {
|
|
36
35
|
if (!re.ok) {
|
|
37
36
|
throw new Error(`Error loading remote: status: ${re.status}, content-type: ${re.headers.get('content-type')}`);
|
|
@@ -89,4 +88,12 @@ const revalidate = () => {
|
|
|
89
88
|
return Promise.resolve(false);
|
|
90
89
|
};
|
|
91
90
|
exports.revalidate = revalidate;
|
|
91
|
+
function getFetchModule() {
|
|
92
|
+
const loadedModule = global.webpackChunkLoad || global.fetch;
|
|
93
|
+
if (loadedModule) {
|
|
94
|
+
return loadedModule;
|
|
95
|
+
}
|
|
96
|
+
const nodeFetch = require('node-fetch');
|
|
97
|
+
return nodeFetch.default || nodeFetch;
|
|
98
|
+
}
|
|
92
99
|
//# sourceMappingURL=hot-reload.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hot-reload.js","sourceRoot":"","sources":["../../../../../packages/node/src/utils/hot-reload.ts"],"names":[],"mappings":";;;;AAAA,MAAM,OAAO,GAAG,EAA4B,CAAC;AAC7C,4DAA4B;AAErB,MAAM,UAAU,GAAG,GAAG,EAAE;IAC7B,IAAI,MAAM,CAAC,gBAAgB,EAAE;QAC3B,MAAM,WAAW,GAAG,MAAM,CAAC,gBAAgB,CAAC;QAE5C,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,MAAM,OAAO,GAAG,EAAE,CAAC;YACnB,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE;gBAClC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE;oBAC9B,OAAO,CAAC,GAAG,CACT,0BAA0B,EAC1B,QAAQ,EACR,0BAA0B,CAC3B,CAAC;oBACF,GAAG,CAAC,IAAI,CAAC,CAAC;iBACX;aACF;YAED,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,OAAO,EAAE;gBAC1C,IAAI,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAE3C,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;oBAC/B,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;gBAC1B,CAAC,CAAC;gBAEF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE;oBAChC,aAAa,EAAE,CAAC;iBACjB;gBAED,IAAI,MAAM,CAAC,IAAI,EAAE;oBACf,OAAO,CAAC,GAAG,CACT,mBAAmB,EACnB,QAAQ,EACR,0BAA0B,CAC3B,CAAC;oBACF,GAAG,CAAC,IAAI,CAAC,CAAC;iBACX;gBAED,MAAM,IAAI,GAAG,QAAQ,CAAC;gBACtB,MAAM,GAAG,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"hot-reload.js","sourceRoot":"","sources":["../../../../../packages/node/src/utils/hot-reload.ts"],"names":[],"mappings":"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"}
|