@module-federation/utilities 1.2.1 → 1.3.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,15 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ # [1.3.0](https://github.com/module-federation/nextjs-mf/compare/utils-1.2.1...utils-1.3.0) (2023-02-09)
6
+
7
+
8
+ ### Features
9
+
10
+ * Delegate Modules ([#509](https://github.com/module-federation/nextjs-mf/issues/509)) ([1a085e7](https://github.com/module-federation/nextjs-mf/commit/1a085e7e03ca0afd5c64389b4b169f3db3382f6b))
11
+
12
+
13
+
5
14
  ## [1.2.1](https://github.com/module-federation/nextjs-mf/compare/utils-1.2.0...utils-1.2.1) (2023-02-09)
6
15
 
7
16
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@module-federation/utilities",
3
- "version": "1.2.1",
3
+ "version": "1.3.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
13
  "next": "13.1.6",
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,96 @@ 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 just a string (global@url)
31
+ else if (typeof value === 'string') {
32
+ var _a = (0, exports.extractUrlAndGlobal)(value), url = _a[0], global_1 = _a[1];
33
+ acc[key] = { global: global_1, url: url };
34
+ }
35
+ // we dont know or currently support this type
36
+ else {
37
+ //@ts-ignore
38
+ console.log('remotes process', process.env.REMOTES);
39
+ throw new Error("[mf] Invalid value received for runtime_remote \"".concat(key, "\""));
40
+ }
41
+ return acc;
42
+ }, {});
43
+ return runtimeRemotes;
44
+ }
45
+ catch (err) {
46
+ console.warn('Unable to retrieve runtime remotes: ', err);
47
+ }
48
+ return {};
49
+ };
50
+ var importDelegatedModule = function (keyOrRuntimeRemoteItem) { return tslib_1.__awaiter(void 0, void 0, void 0, function () {
51
+ return tslib_1.__generator(this, function (_a) {
52
+ // @ts-ignore
53
+ return [2 /*return*/, loadScript(keyOrRuntimeRemoteItem)
54
+ .then(function (asyncContainer) {
55
+ return asyncContainer;
56
+ })
57
+ .then(function (asyncContainer) {
58
+ // most of this is only needed because of legacy promise based implementation
59
+ // can remove proxies once we remove promise based implementations
60
+ if (typeof window === 'undefined') {
61
+ //TODO: need to solve chunk flushing with delegated modules
62
+ return asyncContainer;
63
+ }
64
+ else {
65
+ var proxy_1 = {
66
+ get: asyncContainer.get,
67
+ //@ts-ignore
68
+ init: function (shareScope, initScope) {
69
+ try {
70
+ //@ts-ignore
71
+ asyncContainer.init(shareScope, initScope);
72
+ // for legacy reasons, we must mark container a initialized
73
+ // here otherwise older promise based implementation will try to init again with diff object
74
+ //@ts-ignore
75
+ proxy_1.__initialized = true;
76
+ }
77
+ catch (e) {
78
+ return 1;
79
+ }
80
+ },
81
+ };
82
+ // @ts-ignore
83
+ if (!proxy_1.__initialized) {
84
+ //@ts-ignore
85
+ proxy_1.init(__webpack_share_scopes__.default);
86
+ }
87
+ return proxy_1;
88
+ }
89
+ })];
90
+ });
91
+ }); };
92
+ exports.importDelegatedModule = importDelegatedModule;
93
+ var createDelegatedModule = function (delegate, params) {
94
+ var queries = [];
95
+ for (var _i = 0, _a = Object.entries(params); _i < _a.length; _i++) {
96
+ var _b = _a[_i], key = _b[0], value = _b[1];
97
+ if (Array.isArray(value) || typeof value === 'object') {
98
+ throw new Error("[Module Federation] Delegated module params cannot be an array or object. Key \"".concat(key, "\" should be a string or number"));
39
99
  }
40
- return acc;
41
- }, {});
42
- return runtimeRemotes;
100
+ queries.push("".concat(key, "=").concat(value));
101
+ }
102
+ return "internal ".concat(delegate, "?").concat(queries.join('&'));
43
103
  };
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) {
104
+ exports.createDelegatedModule = createDelegatedModule;
105
+ var loadScript = function (keyOrRuntimeRemoteItem) {
53
106
  var runtimeRemotes = getRuntimeRemotes();
54
107
  // 1) Load remote container if needed
55
108
  var asyncContainer;
@@ -72,9 +125,30 @@ var injectScript = function (keyOrRuntimeRemoteItem) {
72
125
  ? reference.uniqueKey
73
126
  : remoteGlobal_1;
74
127
  var __webpack_error__1 = new Error();
128
+ //@ts-ignore
129
+ if (!global.__remote_scope__) {
130
+ // create a global scope for container, similar to how remotes are set on window in the browser
131
+ //@ts-ignore
132
+ global.__remote_scope__ = {
133
+ _config: {},
134
+ };
135
+ }
75
136
  var globalScope_1 =
76
137
  //@ts-ignore
77
138
  typeof window !== 'undefined' ? window : global.__remote_scope__; // TODO: fix types
139
+ if (typeof window === 'undefined') {
140
+ //@ts-ignore
141
+ globalScope_1._config[containerKey_1] = reference.url;
142
+ }
143
+ else {
144
+ // to match promise template system, can be removed once promise template is gone
145
+ if (!globalScope_1.remoteLoading) {
146
+ globalScope_1.remoteLoading = {};
147
+ }
148
+ if (globalScope_1.remoteLoading[containerKey_1]) {
149
+ return globalScope_1.remoteLoading[containerKey_1];
150
+ }
151
+ }
78
152
  asyncContainer = new Promise(function (resolve, reject) {
79
153
  function resolveRemoteGlobal() {
80
154
  var asyncContainer = globalScope_1[remoteGlobal_1];
@@ -103,8 +177,13 @@ var injectScript = function (keyOrRuntimeRemoteItem) {
103
177
  reject(__webpack_error__1);
104
178
  }, containerKey_1);
105
179
  });
180
+ if (typeof window !== 'undefined') {
181
+ globalScope_1.remoteLoading[containerKey_1] = asyncContainer;
182
+ }
106
183
  }
107
- // 2) Initialize remote container
184
+ return asyncContainer;
185
+ };
186
+ var createContainerSharingScope = function (asyncContainer) {
108
187
  // @ts-ignore
109
188
  return asyncContainer
110
189
  .then(function (container) {
@@ -135,6 +214,18 @@ var injectScript = function (keyOrRuntimeRemoteItem) {
135
214
  return container;
136
215
  });
137
216
  };
217
+ /**
218
+ * Return initialized remote container by remote's key or its runtime remote item data.
219
+ *
220
+ * `runtimeRemoteItem` might be
221
+ * { global, url } - values obtained from webpack remotes option `global@url`
222
+ * or
223
+ * { asyncContainer } - async container is a promise that resolves to the remote container
224
+ */
225
+ var injectScript = function (keyOrRuntimeRemoteItem) {
226
+ var asyncContainer = loadScript(keyOrRuntimeRemoteItem);
227
+ return createContainerSharingScope(asyncContainer);
228
+ };
138
229
  exports.injectScript = injectScript;
139
230
  var createRuntimeVariables = function (remotes) {
140
231
  if (!remotes) {
@@ -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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"}