@module-federation/utilities 1.4.1 → 1.5.1-beta.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 +45 -0
- package/package.json +1 -1
- package/src/types/index.d.ts +2 -0
- package/src/utils/common.d.ts +1 -0
- package/src/utils/common.js +72 -20
- package/src/utils/common.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,51 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [1.5.1-beta.0](https://github.com/module-federation/nextjs-mf/compare/utils-1.5.0...utils-1.5.1-beta.0) (2023-04-19)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
* use container proxy on script VM instead of host resolver point ([2929d0f](https://github.com/module-federation/nextjs-mf/commit/2929d0f64d4b8edf268af5ca83f807a02b121861))
|
|
11
|
+
* cache busting and async quirks when mixing delegates ([1fc6e67](https://github.com/module-federation/nextjs-mf/commit/1fc6e67ee33a3efb53ff59d2b3ac333f1d42a158))
|
|
12
|
+
* get delegates working ([#527](https://github.com/module-federation/nextjs-mf/issues/527)) ([7655568](https://github.com/module-federation/nextjs-mf/commit/7655568fcef8dbfda40573deb5d3d029c101074c))
|
|
13
|
+
* improved asset pipeline ([63928b2](https://github.com/module-federation/nextjs-mf/commit/63928b28150c2c4e3adb9e14fb7aa54f5cf1578d))
|
|
14
|
+
* peer dependencies metadata ([d3a2ed0](https://github.com/module-federation/nextjs-mf/commit/d3a2ed0e378b59afdeb632d1e2e0290f05cbca19))
|
|
15
|
+
* put error triggers if delegates are passed non-primitives ([2469383](https://github.com/module-federation/nextjs-mf/commit/2469383de68a8b6ffb7375ad335a2039e563fd71))
|
|
16
|
+
* use EntryPlugin for injection of remotes ([e522c5a](https://github.com/module-federation/nextjs-mf/commit/e522c5ad2b7adcbd6c39f9c5fdb7a3e418277b7a))
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* chunk flushing in delegates ([07aebc4](https://github.com/module-federation/nextjs-mf/commit/07aebc428166b3f19bb49071fa6745ed705413b8))
|
|
22
|
+
* chunk flushing in delegates ([f8b8af6](https://github.com/module-federation/nextjs-mf/commit/f8b8af6e9e748605dd55d19ae50b0d60b1b0a83f))
|
|
23
|
+
* chunk flushing in delegates ([5e2375f](https://github.com/module-federation/nextjs-mf/commit/5e2375f598437803105ac4bc2237f6b652554d00))
|
|
24
|
+
* delegate module support ([18c9491](https://github.com/module-federation/nextjs-mf/commit/18c94914e5429584e66be49d92781b781adddb38))
|
|
25
|
+
* delegate module support ([8dd154c](https://github.com/module-federation/nextjs-mf/commit/8dd154c261b34183b12250ce204904cd3e085658))
|
|
26
|
+
* delegates part two ([1be2686](https://github.com/module-federation/nextjs-mf/commit/1be2686624798a7df9f447b48279294985b3f592))
|
|
27
|
+
* implement basic single runtime ([2432c3e](https://github.com/module-federation/nextjs-mf/commit/2432c3ec553759ca24d17a46b696c1123a86ec5a))
|
|
28
|
+
* improve chunk correlation ([22d8afc](https://github.com/module-federation/nextjs-mf/commit/22d8afccff101044fcdeba390656950dbc6eafed))
|
|
29
|
+
* new chunk flushing system for exposed modules ([97a75d8](https://github.com/module-federation/nextjs-mf/commit/97a75d8702f2ddc5e12cff2ac4d24aca1df6f990))
|
|
30
|
+
* prepare for v7 ([7bc4b3b](https://github.com/module-federation/nextjs-mf/commit/7bc4b3bd44e0926a52d6a9cbe56f0c4d7bb700ae))
|
|
31
|
+
* support dynamic containers on server ([a2a81dd](https://github.com/module-federation/nextjs-mf/commit/a2a81dd4d54da55dfc132583d9e0d7c75771fb4c))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### BREAKING CHANGES
|
|
35
|
+
|
|
36
|
+
* safety breaking change note
|
|
37
|
+
BREAKING_CHANGE: safety breaking change note
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# [1.5.0](https://github.com/module-federation/nextjs-mf/compare/utils-1.4.1...utils-1.5.0) (2023-04-09)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### Features
|
|
45
|
+
|
|
46
|
+
* Allow Container Utils to work Server Side ([#723](https://github.com/module-federation/nextjs-mf/issues/723)) ([232ba24](https://github.com/module-federation/nextjs-mf/commit/232ba24072f19bd32d1f745d4edf1518e548df50))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
|
|
5
50
|
## [1.4.1](https://github.com/module-federation/nextjs-mf/compare/utils-1.4.0...utils-1.4.1) (2023-04-05)
|
|
6
51
|
|
|
7
52
|
|
package/package.json
CHANGED
package/src/types/index.d.ts
CHANGED
|
@@ -45,6 +45,8 @@ export type RemoteData = {
|
|
|
45
45
|
};
|
|
46
46
|
export type RuntimeRemote = Partial<RemoteData> & {
|
|
47
47
|
asyncContainer?: AsyncContainer;
|
|
48
|
+
global?: string;
|
|
49
|
+
url?: string;
|
|
48
50
|
};
|
|
49
51
|
export type RuntimeRemotesMap = Record<string, RuntimeRemote>;
|
|
50
52
|
type Module = WebpackOptionsNormalized['module'];
|
package/src/utils/common.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const importDelegatedModule: (keyOrRuntimeRemoteItem: string | Ru
|
|
|
4
4
|
export declare const createDelegatedModule: (delegate: string, params: {
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
}) => string;
|
|
7
|
+
export declare const loadScript: (keyOrRuntimeRemoteItem: string | RuntimeRemote) => any;
|
|
7
8
|
/**
|
|
8
9
|
* Return initialized remote container by remote's key or its runtime remote item data.
|
|
9
10
|
*
|
package/src/utils/common.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/* eslint-disable @typescript-eslint/ban-ts-comment */
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.getModule = exports.getContainer = exports.createRuntimeVariables = exports.injectScript = exports.createDelegatedModule = exports.importDelegatedModule = exports.extractUrlAndGlobal = void 0;
|
|
4
|
+
exports.getModule = exports.getContainer = exports.createRuntimeVariables = exports.injectScript = exports.loadScript = exports.createDelegatedModule = exports.importDelegatedModule = exports.extractUrlAndGlobal = void 0;
|
|
5
5
|
var tslib_1 = require("tslib");
|
|
6
6
|
// split the @ syntax into url and global
|
|
7
7
|
var extractUrlAndGlobal = function (urlAndGlobal) {
|
|
@@ -54,7 +54,7 @@ var getRuntimeRemotes = function () {
|
|
|
54
54
|
var importDelegatedModule = function (keyOrRuntimeRemoteItem) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
55
55
|
return tslib_1.__generator(this, function (_a) {
|
|
56
56
|
// @ts-ignore
|
|
57
|
-
return [2 /*return*/, loadScript(keyOrRuntimeRemoteItem)
|
|
57
|
+
return [2 /*return*/, (0, exports.loadScript)(keyOrRuntimeRemoteItem)
|
|
58
58
|
.then(function (asyncContainer) {
|
|
59
59
|
return asyncContainer;
|
|
60
60
|
})
|
|
@@ -62,8 +62,58 @@ var importDelegatedModule = function (keyOrRuntimeRemoteItem) { return tslib_1._
|
|
|
62
62
|
// most of this is only needed because of legacy promise based implementation
|
|
63
63
|
// can remove proxies once we remove promise based implementations
|
|
64
64
|
if (typeof window === 'undefined') {
|
|
65
|
+
if (!Object.hasOwnProperty.call(keyOrRuntimeRemoteItem, 'global')) {
|
|
66
|
+
return asyncContainer;
|
|
67
|
+
}
|
|
65
68
|
//TODO: need to solve chunk flushing with delegated modules
|
|
66
|
-
return
|
|
69
|
+
return {
|
|
70
|
+
get: function (arg) {
|
|
71
|
+
//@ts-ignore
|
|
72
|
+
return asyncContainer.get(arg).then(function (f) {
|
|
73
|
+
var m = f();
|
|
74
|
+
var result = {
|
|
75
|
+
__esModule: m.__esModule,
|
|
76
|
+
};
|
|
77
|
+
var _loop_1 = function (prop) {
|
|
78
|
+
if (typeof m[prop] === 'function') {
|
|
79
|
+
Object.defineProperty(result, prop, {
|
|
80
|
+
get: function () {
|
|
81
|
+
return function () {
|
|
82
|
+
//@ts-ignore
|
|
83
|
+
if (global.usedChunks)
|
|
84
|
+
//@ts-ignore
|
|
85
|
+
global.usedChunks.add("".concat(keyOrRuntimeRemoteItem.global, "->").concat(arg));
|
|
86
|
+
// eslint-disable-next-line prefer-rest-params
|
|
87
|
+
return m[prop](arguments);
|
|
88
|
+
};
|
|
89
|
+
},
|
|
90
|
+
enumerable: true,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
Object.defineProperty(result, prop, {
|
|
95
|
+
get: function () {
|
|
96
|
+
//@ts-ignore
|
|
97
|
+
if (global.usedChunks)
|
|
98
|
+
//@ts-ignore
|
|
99
|
+
global.usedChunks.add("".concat(keyOrRuntimeRemoteItem.global, "->").concat(arg));
|
|
100
|
+
return m[prop];
|
|
101
|
+
},
|
|
102
|
+
enumerable: true,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
for (var prop in m) {
|
|
107
|
+
_loop_1(prop);
|
|
108
|
+
}
|
|
109
|
+
if (m.then) {
|
|
110
|
+
return Promise.resolve(function () { return result; });
|
|
111
|
+
}
|
|
112
|
+
return function () { return result; };
|
|
113
|
+
});
|
|
114
|
+
},
|
|
115
|
+
init: asyncContainer.init,
|
|
116
|
+
};
|
|
67
117
|
}
|
|
68
118
|
else {
|
|
69
119
|
var proxy_1 = {
|
|
@@ -129,28 +179,28 @@ var loadScript = function (keyOrRuntimeRemoteItem) {
|
|
|
129
179
|
? reference.uniqueKey
|
|
130
180
|
: remoteGlobal_1;
|
|
131
181
|
var __webpack_error__1 = new Error();
|
|
132
|
-
|
|
182
|
+
// @ts-ignore
|
|
133
183
|
if (!global.__remote_scope__) {
|
|
134
184
|
// create a global scope for container, similar to how remotes are set on window in the browser
|
|
135
|
-
|
|
185
|
+
// @ts-ignore
|
|
136
186
|
global.__remote_scope__ = {
|
|
187
|
+
// @ts-ignore
|
|
137
188
|
_config: {},
|
|
138
189
|
};
|
|
139
190
|
}
|
|
140
191
|
var globalScope_1 =
|
|
141
|
-
|
|
142
|
-
typeof window !== 'undefined' ? window : global.__remote_scope__;
|
|
192
|
+
// @ts-ignore
|
|
193
|
+
typeof window !== 'undefined' ? window : global.__remote_scope__;
|
|
143
194
|
if (typeof window === 'undefined') {
|
|
144
|
-
|
|
145
|
-
globalScope_1._config[containerKey_1] = reference.url;
|
|
195
|
+
globalScope_1['_config'][containerKey_1] = reference.url;
|
|
146
196
|
}
|
|
147
197
|
else {
|
|
148
198
|
// to match promise template system, can be removed once promise template is gone
|
|
149
|
-
if (!globalScope_1
|
|
150
|
-
globalScope_1
|
|
199
|
+
if (!globalScope_1['remoteLoading']) {
|
|
200
|
+
globalScope_1['remoteLoading'] = {};
|
|
151
201
|
}
|
|
152
|
-
if (globalScope_1
|
|
153
|
-
return globalScope_1
|
|
202
|
+
if (globalScope_1['remoteLoading'][containerKey_1]) {
|
|
203
|
+
return globalScope_1['remoteLoading'][containerKey_1];
|
|
154
204
|
}
|
|
155
205
|
}
|
|
156
206
|
asyncContainer = new Promise(function (resolve, reject) {
|
|
@@ -182,11 +232,12 @@ var loadScript = function (keyOrRuntimeRemoteItem) {
|
|
|
182
232
|
}, containerKey_1);
|
|
183
233
|
});
|
|
184
234
|
if (typeof window !== 'undefined') {
|
|
185
|
-
globalScope_1
|
|
235
|
+
globalScope_1['remoteLoading'][containerKey_1] = asyncContainer;
|
|
186
236
|
}
|
|
187
237
|
}
|
|
188
238
|
return asyncContainer;
|
|
189
239
|
};
|
|
240
|
+
exports.loadScript = loadScript;
|
|
190
241
|
var createContainerSharingScope = function (asyncContainer) {
|
|
191
242
|
// @ts-ignore
|
|
192
243
|
return asyncContainer
|
|
@@ -227,7 +278,7 @@ var createContainerSharingScope = function (asyncContainer) {
|
|
|
227
278
|
* { asyncContainer } - async container is a promise that resolves to the remote container
|
|
228
279
|
*/
|
|
229
280
|
var injectScript = function (keyOrRuntimeRemoteItem) {
|
|
230
|
-
var asyncContainer = loadScript(keyOrRuntimeRemoteItem);
|
|
281
|
+
var asyncContainer = (0, exports.loadScript)(keyOrRuntimeRemoteItem);
|
|
231
282
|
return createContainerSharingScope(asyncContainer);
|
|
232
283
|
};
|
|
233
284
|
exports.injectScript = injectScript;
|
|
@@ -255,22 +306,23 @@ exports.createRuntimeVariables = createRuntimeVariables;
|
|
|
255
306
|
* If its' script does not loaded - then load & init it firstly.
|
|
256
307
|
*/
|
|
257
308
|
var getContainer = function (remoteContainer) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
|
|
258
|
-
var uniqueKey, container;
|
|
309
|
+
var containerScope, uniqueKey, container;
|
|
259
310
|
return tslib_1.__generator(this, function (_a) {
|
|
260
311
|
switch (_a.label) {
|
|
261
312
|
case 0:
|
|
262
313
|
if (!remoteContainer) {
|
|
263
314
|
throw Error("Remote container options is empty");
|
|
264
315
|
}
|
|
316
|
+
containerScope = typeof window !== 'undefined' ? window : global.__remote_scope__;
|
|
265
317
|
if (!(typeof remoteContainer === 'string')) return [3 /*break*/, 1];
|
|
266
|
-
if (
|
|
267
|
-
return [2 /*return*/,
|
|
318
|
+
if (containerScope[remoteContainer]) {
|
|
319
|
+
return [2 /*return*/, containerScope[remoteContainer]];
|
|
268
320
|
}
|
|
269
321
|
return [2 /*return*/];
|
|
270
322
|
case 1:
|
|
271
323
|
uniqueKey = remoteContainer.uniqueKey;
|
|
272
|
-
if (
|
|
273
|
-
return [2 /*return*/,
|
|
324
|
+
if (containerScope[uniqueKey]) {
|
|
325
|
+
return [2 /*return*/, containerScope[uniqueKey]];
|
|
274
326
|
}
|
|
275
327
|
return [4 /*yield*/, (0, exports.injectScript)({
|
|
276
328
|
global: remoteContainer.global,
|
package/src/utils/common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../packages/utilities/src/utils/common.ts"],"names":[],"mappings":";AAAA,sDAAsD;;;;AAmBtD,yCAAyC;AAClC,IAAM,mBAAmB,GAAG,UAAC,YAAoB;IACtD,IAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;QACnD,MAAM,IAAI,KAAK,CAAC,4BAAoB,YAAY,OAAG,CAAC,CAAC;KACtD;IACD,OAAO,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/E,CAAC,CAAC;AANW,QAAA,mBAAmB,uBAM9B;AAEF,IAAM,iBAAiB,GAAG;IACxB,IAAI;QACF,YAAY;QACZ,IAAM,UAAU,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAe,CAAC;QAE7D,IAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,UACvD,GAAG,EACH,IAAI;YAEG,IAAA,GAAG,GAAW,IAAI,GAAf,EAAE,KAAK,GAAI,IAAI,GAAR,CAAS;YAC1B,gEAAgE;YAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE;gBACjE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;aACtC;YACD,oEAAoE;iBAC/D,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;gBACpC,aAAa;gBACb,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;aACtC;YACD,oCAAoC;iBAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE;gBACnE,iCAAiC;aAClC;YACD,oCAAoC;iBAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC5B,IAAA,KAAgB,IAAA,2BAAmB,EAAC,KAAK,CAAC,EAAzC,GAAG,QAAA,EAAE,QAAM,QAA8B,CAAC;gBACjD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,UAAA,EAAE,GAAG,KAAA,EAAE,CAAC;aAC5B;YACD,8CAA8C;iBACzC;gBACH,YAAY;gBACZ,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACpD,MAAM,IAAI,KAAK,CACb,2DAAmD,GAAG,OAAG,CAC1D,CAAC;aACH;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EACD,EAAuB,CAAC,CAAC;QAEzB,OAAO,cAAc,CAAC;KACvB;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,IAAI,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;KAC3D;IAED,OAAO,EAAuB,CAAC;AACjC,CAAC,CAAC;AAEK,IAAM,qBAAqB,GAAG,UACnC,sBAA8C;;QAE9C,aAAa;QACb,sBAAO,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../packages/utilities/src/utils/common.ts"],"names":[],"mappings":"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"}
|