@module-federation/utilities 1.2.1 → 1.4.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 CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [1.4.0](https://github.com/module-federation/nextjs-mf/compare/utils-1.3.0...utils-1.4.0) (2023-03-14)
6
+
7
+
8
+ ### Features
9
+
10
+ * Medusa Support in NextFederationPlugin ([#609](https://github.com/module-federation/nextjs-mf/issues/609)) ([0bbba38](https://github.com/module-federation/nextjs-mf/commit/0bbba384c45b7d149b7a6be2dfbe9851b541b528)), closes [#606](https://github.com/module-federation/nextjs-mf/issues/606)
11
+
12
+
13
+
14
+ # [1.3.0](https://github.com/module-federation/nextjs-mf/compare/utils-1.2.1...utils-1.3.0) (2023-02-09)
15
+
16
+
17
+ ### Features
18
+
19
+ * Delegate Modules ([#509](https://github.com/module-federation/nextjs-mf/issues/509)) ([1a085e7](https://github.com/module-federation/nextjs-mf/commit/1a085e7e03ca0afd5c64389b4b169f3db3382f6b))
20
+
21
+
22
+
5
23
  ## [1.2.1](https://github.com/module-federation/nextjs-mf/compare/utils-1.2.0...utils-1.2.1) (2023-02-09)
6
24
 
7
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/utilities",
3
- "version": "1.2.1",
3
+ "version": "1.4.0",
4
4
  "type": "commonjs",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",
@@ -9,20 +9,25 @@
9
9
  "registry": "https://registry.npmjs.org/"
10
10
  },
11
11
  "repository": "https://github.com/module-federation/nextjs-mf/tree/main/packages/utilities",
12
- "optionalDependencies": {
13
- "react": "^17 || ^18",
14
- "next": "^12 || ^13"
15
- },
16
12
  "devDependencies": {
17
- "next": "13.1.6",
13
+ "next": "13.2.4",
18
14
  "react": "18.2.0"
19
15
  },
20
16
  "peerDependencies": {
21
- "next": "13.1.6",
17
+ "next": "^12 || ^13",
18
+ "react": "^16 || ^17 || ^18",
19
+ "react-dom": "^16 || ^17 || ^18",
22
20
  "webpack": "^5.40.0"
23
21
  },
24
- "dependencies": {
25
- "react": "18.2.0",
26
- "react-dom": "18.2.0"
22
+ "peerDependenciesMeta": {
23
+ "next": {
24
+ "optional": true
25
+ },
26
+ "react": {
27
+ "optional": true
28
+ },
29
+ "react-dom": {
30
+ "optional": true
31
+ }
27
32
  }
28
33
  }
@@ -2,7 +2,7 @@
2
2
  import type { container, WebpackOptionsNormalized } from 'webpack';
3
3
  export type ModuleFederationPluginOptions = ConstructorParameters<typeof container.ModuleFederationPlugin>['0'];
4
4
  export type WebpackRequire = {
5
- l: (url: string, cb: (event: any) => void, id: string) => Record<string, unknown>;
5
+ l: (url: string | undefined, cb: (event: any) => void, id: string | number) => Record<string, unknown>;
6
6
  };
7
7
  export type WebpackShareScopes = Record<string, Record<string, {
8
8
  loaded?: 1;
@@ -33,6 +33,7 @@ export type SharedConfig = Extract<SharedObject[keyof SharedObject], {
33
33
  export type ExternalsType = Required<ModuleFederationPluginOptions['remoteType']>;
34
34
  type ModulePath = string;
35
35
  export type WebpackRemoteContainer = {
36
+ __initialized?: boolean;
36
37
  get(modulePath: ModulePath): () => any;
37
38
  init: (obj?: typeof __webpack_share_scopes__) => void;
38
39
  };
@@ -1,5 +1,9 @@
1
1
  import type { Remotes, RuntimeRemote, WebpackRemoteContainer, RemoteData, GetModuleOptions } from '../types';
2
2
  export declare const extractUrlAndGlobal: (urlAndGlobal: string) => [string, string];
3
+ export declare const importDelegatedModule: (keyOrRuntimeRemoteItem: string | RuntimeRemote) => Promise<any>;
4
+ export declare const createDelegatedModule: (delegate: string, params: {
5
+ [key: string]: any;
6
+ }) => string;
3
7
  /**
4
8
  * Return initialized remote container by remote's key or its runtime remote item data.
5
9
  *
@@ -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.extractUrlAndGlobal = void 0;
4
+ exports.getModule = exports.getContainer = exports.createRuntimeVariables = exports.injectScript = 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) {
@@ -13,43 +13,99 @@ var extractUrlAndGlobal = function (urlAndGlobal) {
13
13
  };
14
14
  exports.extractUrlAndGlobal = extractUrlAndGlobal;
15
15
  var getRuntimeRemotes = function () {
16
- //@ts-ignore
17
- var remoteVars = (process.env.REMOTES || {});
18
- var runtimeRemotes = Object.entries(remoteVars).reduce(function (acc, item) {
19
- var key = item[0], value = item[1];
20
- // if its an object with a thenable (eagerly executing function)
21
- if (typeof value === 'object' && typeof value.then === 'function') {
22
- acc[key] = { asyncContainer: value };
23
- }
24
- // if its a function that must be called (lazily executing function)
25
- else if (typeof value === 'function') {
26
- // @ts-ignore
27
- acc[key] = { asyncContainer: value };
28
- }
29
- // if its just a string (global@url)
30
- else if (typeof value === 'string') {
31
- var _a = (0, exports.extractUrlAndGlobal)(value), url = _a[0], global_1 = _a[1];
32
- acc[key] = { global: global_1, url: url };
33
- }
34
- // we dont know or currently support this type
35
- else {
36
- //@ts-ignore
37
- console.log('remotes process', process.env.REMOTES);
38
- throw new Error("[mf] Invalid value received for runtime_remote \"".concat(key, "\""));
16
+ try {
17
+ //@ts-ignore
18
+ var remoteVars = (process.env.REMOTES || {});
19
+ var runtimeRemotes = Object.entries(remoteVars).reduce(function (acc, item) {
20
+ var key = item[0], value = item[1];
21
+ // if its an object with a thenable (eagerly executing function)
22
+ if (typeof value === 'object' && typeof value.then === 'function') {
23
+ acc[key] = { asyncContainer: value };
24
+ }
25
+ // if its a function that must be called (lazily executing function)
26
+ else if (typeof value === 'function') {
27
+ // @ts-ignore
28
+ acc[key] = { asyncContainer: value };
29
+ }
30
+ // if its a delegate module, skip it
31
+ else if (typeof value === 'string' && value.startsWith('internal ')) {
32
+ }
33
+ // if its just a string (global@url)
34
+ else if (typeof value === 'string') {
35
+ var _a = (0, exports.extractUrlAndGlobal)(value), url = _a[0], global_1 = _a[1];
36
+ acc[key] = { global: global_1, url: url };
37
+ }
38
+ // we dont know or currently support this type
39
+ else {
40
+ //@ts-ignore
41
+ console.log('remotes process', process.env.REMOTES);
42
+ throw new Error("[mf] Invalid value received for runtime_remote \"".concat(key, "\""));
43
+ }
44
+ return acc;
45
+ }, {});
46
+ return runtimeRemotes;
47
+ }
48
+ catch (err) {
49
+ console.warn('Unable to retrieve runtime remotes: ', err);
50
+ }
51
+ return {};
52
+ };
53
+ var importDelegatedModule = function (keyOrRuntimeRemoteItem) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
54
+ return tslib_1.__generator(this, function (_a) {
55
+ // @ts-ignore
56
+ return [2 /*return*/, loadScript(keyOrRuntimeRemoteItem)
57
+ .then(function (asyncContainer) {
58
+ return asyncContainer;
59
+ })
60
+ .then(function (asyncContainer) {
61
+ // most of this is only needed because of legacy promise based implementation
62
+ // can remove proxies once we remove promise based implementations
63
+ if (typeof window === 'undefined') {
64
+ //TODO: need to solve chunk flushing with delegated modules
65
+ return asyncContainer;
66
+ }
67
+ else {
68
+ var proxy_1 = {
69
+ get: asyncContainer.get,
70
+ //@ts-ignore
71
+ init: function (shareScope, initScope) {
72
+ try {
73
+ //@ts-ignore
74
+ asyncContainer.init(shareScope, initScope);
75
+ // for legacy reasons, we must mark container a initialized
76
+ // here otherwise older promise based implementation will try to init again with diff object
77
+ //@ts-ignore
78
+ proxy_1.__initialized = true;
79
+ }
80
+ catch (e) {
81
+ return 1;
82
+ }
83
+ },
84
+ };
85
+ // @ts-ignore
86
+ if (!proxy_1.__initialized) {
87
+ //@ts-ignore
88
+ proxy_1.init(__webpack_share_scopes__.default);
89
+ }
90
+ return proxy_1;
91
+ }
92
+ })];
93
+ });
94
+ }); };
95
+ exports.importDelegatedModule = importDelegatedModule;
96
+ var createDelegatedModule = function (delegate, params) {
97
+ var queries = [];
98
+ for (var _i = 0, _a = Object.entries(params); _i < _a.length; _i++) {
99
+ var _b = _a[_i], key = _b[0], value = _b[1];
100
+ if (Array.isArray(value) || typeof value === 'object') {
101
+ throw new Error("[Module Federation] Delegated module params cannot be an array or object. Key \"".concat(key, "\" should be a string or number"));
39
102
  }
40
- return acc;
41
- }, {});
42
- return runtimeRemotes;
103
+ queries.push("".concat(key, "=").concat(value));
104
+ }
105
+ return "internal ".concat(delegate, "?").concat(queries.join('&'));
43
106
  };
44
- /**
45
- * Return initialized remote container by remote's key or its runtime remote item data.
46
- *
47
- * `runtimeRemoteItem` might be
48
- * { global, url } - values obtained from webpack remotes option `global@url`
49
- * or
50
- * { asyncContainer } - async container is a promise that resolves to the remote container
51
- */
52
- var injectScript = function (keyOrRuntimeRemoteItem) {
107
+ exports.createDelegatedModule = createDelegatedModule;
108
+ var loadScript = function (keyOrRuntimeRemoteItem) {
53
109
  var runtimeRemotes = getRuntimeRemotes();
54
110
  // 1) Load remote container if needed
55
111
  var asyncContainer;
@@ -72,9 +128,30 @@ var injectScript = function (keyOrRuntimeRemoteItem) {
72
128
  ? reference.uniqueKey
73
129
  : remoteGlobal_1;
74
130
  var __webpack_error__1 = new Error();
131
+ //@ts-ignore
132
+ if (!global.__remote_scope__) {
133
+ // create a global scope for container, similar to how remotes are set on window in the browser
134
+ //@ts-ignore
135
+ global.__remote_scope__ = {
136
+ _config: {},
137
+ };
138
+ }
75
139
  var globalScope_1 =
76
140
  //@ts-ignore
77
141
  typeof window !== 'undefined' ? window : global.__remote_scope__; // TODO: fix types
142
+ if (typeof window === 'undefined') {
143
+ //@ts-ignore
144
+ globalScope_1._config[containerKey_1] = reference.url;
145
+ }
146
+ else {
147
+ // to match promise template system, can be removed once promise template is gone
148
+ if (!globalScope_1.remoteLoading) {
149
+ globalScope_1.remoteLoading = {};
150
+ }
151
+ if (globalScope_1.remoteLoading[containerKey_1]) {
152
+ return globalScope_1.remoteLoading[containerKey_1];
153
+ }
154
+ }
78
155
  asyncContainer = new Promise(function (resolve, reject) {
79
156
  function resolveRemoteGlobal() {
80
157
  var asyncContainer = globalScope_1[remoteGlobal_1];
@@ -103,8 +180,13 @@ var injectScript = function (keyOrRuntimeRemoteItem) {
103
180
  reject(__webpack_error__1);
104
181
  }, containerKey_1);
105
182
  });
183
+ if (typeof window !== 'undefined') {
184
+ globalScope_1.remoteLoading[containerKey_1] = asyncContainer;
185
+ }
106
186
  }
107
- // 2) Initialize remote container
187
+ return asyncContainer;
188
+ };
189
+ var createContainerSharingScope = function (asyncContainer) {
108
190
  // @ts-ignore
109
191
  return asyncContainer
110
192
  .then(function (container) {
@@ -135,6 +217,18 @@ var injectScript = function (keyOrRuntimeRemoteItem) {
135
217
  return container;
136
218
  });
137
219
  };
220
+ /**
221
+ * Return initialized remote container by remote's key or its runtime remote item data.
222
+ *
223
+ * `runtimeRemoteItem` might be
224
+ * { global, url } - values obtained from webpack remotes option `global@url`
225
+ * or
226
+ * { asyncContainer } - async container is a promise that resolves to the remote container
227
+ */
228
+ var injectScript = function (keyOrRuntimeRemoteItem) {
229
+ var asyncContainer = loadScript(keyOrRuntimeRemoteItem);
230
+ return createContainerSharingScope(asyncContainer);
231
+ };
138
232
  exports.injectScript = injectScript;
139
233
  var createRuntimeVariables = function (remotes) {
140
234
  if (!remotes) {
@@ -160,7 +254,7 @@ exports.createRuntimeVariables = createRuntimeVariables;
160
254
  * If its' script does not loaded - then load & init it firstly.
161
255
  */
162
256
  var getContainer = function (remoteContainer) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
163
- var container;
257
+ var uniqueKey, container;
164
258
  return tslib_1.__generator(this, function (_a) {
165
259
  switch (_a.label) {
166
260
  case 0:
@@ -173,8 +267,9 @@ var getContainer = function (remoteContainer) { return tslib_1.__awaiter(void 0,
173
267
  }
174
268
  return [2 /*return*/];
175
269
  case 1:
176
- if (window['uniqueKey']) {
177
- return [2 /*return*/, window['uniqueKey']];
270
+ uniqueKey = remoteContainer.uniqueKey;
271
+ if (window[uniqueKey]) {
272
+ return [2 /*return*/, window[uniqueKey]];
178
273
  }
179
274
  return [4 /*yield*/, (0, exports.injectScript)({
180
275
  global: remoteContainer.global,
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../packages/utilities/src/utils/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../packages/utilities/src/utils/common.ts"],"names":[],"mappings":"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"}