@module-federation/node 0.2.1 → 0.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 ADDED
@@ -0,0 +1,55 @@
1
+ # Changelog
2
+
3
+ This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
+
5
+ # 0.1.0 (2022-10-04)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **node:** add node-fetch fallback in node hot-reload util ([4817463](https://github.com/module-federation/nextjs-mf/commit/4817463452221ca4835726a6a52f3292175a53b6))
11
+ * **node:** fix path to webpack hmr runtime ([#231](https://github.com/module-federation/nextjs-mf/issues/231)) ([78e5f3c](https://github.com/module-federation/nextjs-mf/commit/78e5f3cefc1d67a6ec5d66b72b8b35408e19cfc2))
12
+
13
+
14
+ ### Features
15
+
16
+ * **chunk flushing:** enable Chunk Flushing for SSR, includes both plugin utils and React utils ([4e99290](https://github.com/module-federation/nextjs-mf/commit/4e99290d365cb46873eda052fb006172e99e4b24)), closes [#133](https://github.com/module-federation/nextjs-mf/issues/133)
17
+ * Move Repo to NX ([#154](https://github.com/module-federation/nextjs-mf/issues/154)) ([d2a4dfa](https://github.com/module-federation/nextjs-mf/commit/d2a4dfac7fcdaa2b6a21e3d2973808d01649da61)), closes [#199](https://github.com/module-federation/nextjs-mf/issues/199) [#205](https://github.com/module-federation/nextjs-mf/issues/205) [#144](https://github.com/module-federation/nextjs-mf/issues/144) [#212](https://github.com/module-federation/nextjs-mf/issues/212)
18
+
19
+
20
+
21
+ # 0.1.0 (2022-10-04)
22
+
23
+
24
+ ### Bug Fixes
25
+
26
+ * **node:** add node-fetch fallback in node hot-reload util ([4817463](https://github.com/module-federation/nextjs-mf/commit/4817463452221ca4835726a6a52f3292175a53b6))
27
+ * **node:** fix path to webpack hmr runtime ([#231](https://github.com/module-federation/nextjs-mf/issues/231)) ([78e5f3c](https://github.com/module-federation/nextjs-mf/commit/78e5f3cefc1d67a6ec5d66b72b8b35408e19cfc2))
28
+
29
+
30
+ ### Features
31
+
32
+ * **chunk flushing:** enable Chunk Flushing for SSR, includes both plugin utils and React utils ([4e99290](https://github.com/module-federation/nextjs-mf/commit/4e99290d365cb46873eda052fb006172e99e4b24)), closes [#133](https://github.com/module-federation/nextjs-mf/issues/133)
33
+ * Move Repo to NX ([#154](https://github.com/module-federation/nextjs-mf/issues/154)) ([d2a4dfa](https://github.com/module-federation/nextjs-mf/commit/d2a4dfac7fcdaa2b6a21e3d2973808d01649da61)), closes [#199](https://github.com/module-federation/nextjs-mf/issues/199) [#205](https://github.com/module-federation/nextjs-mf/issues/205) [#144](https://github.com/module-federation/nextjs-mf/issues/144) [#212](https://github.com/module-federation/nextjs-mf/issues/212)
34
+
35
+
36
+
37
+ # [0.3.0](https://github.com/module-federation/nextjs-mf/compare/node-0.2.0...node-0.3.0) (2022-09-29)
38
+
39
+
40
+
41
+ # [0.2.0](https://github.com/module-federation/nextjs-mf/compare/node-0.1.0...node-0.2.0) (2022-09-29)
42
+
43
+
44
+
45
+ # 0.1.0 (2022-09-29)
46
+
47
+
48
+ ### Bug Fixes
49
+
50
+ * **node:** fix path to webpack hmr runtime ([#231](https://github.com/module-federation/nextjs-mf/issues/231)) ([78e5f3c](https://github.com/module-federation/nextjs-mf/commit/78e5f3cefc1d67a6ec5d66b72b8b35408e19cfc2))
51
+
52
+
53
+ ### Features
54
+
55
+ * Move Repo to NX ([#154](https://github.com/module-federation/nextjs-mf/issues/154)) ([d2a4dfa](https://github.com/module-federation/nextjs-mf/commit/d2a4dfac7fcdaa2b6a21e3d2973808d01649da61)), closes [#199](https://github.com/module-federation/nextjs-mf/issues/199) [#205](https://github.com/module-federation/nextjs-mf/issues/205) [#144](https://github.com/module-federation/nextjs-mf/issues/144) [#212](https://github.com/module-federation/nextjs-mf/issues/212)
package/README.md CHANGED
@@ -1,4 +1,6 @@
1
- ![banner image](./assets/banner.png)
1
+ <p align="center">
2
+ <img src="https://github.com/module-federation/nextjs-mf/blob/main/packages/node/assets/banner.png" width="800"/>
3
+ </p>
2
4
  <div align="center">
3
5
  <!-- for version -->
4
6
  <img src="https://img.shields.io/npm/v/@module-federation/node" alt="version" >
@@ -101,6 +103,53 @@ const config = {
101
103
  ]
102
104
  }
103
105
  ```
106
+
107
+ ## Utilities
108
+
109
+ This package also exposes a few utilities to help with the setup of your federated application.
110
+
111
+ ### revalidate
112
+
113
+ Used to "hot reload" the federated application.
114
+ - This is useful when you're developing your federated application and want to see changes without having to restart the server.
115
+ - Also useful for production environments where you want to be able to update the federated application without having to restart the server.
116
+
117
+ ```js
118
+ import {revalidate} from "@module-federation/node/utils";
119
+
120
+ // we automatically reset require cache, so the reload callback is only if you need to do something else
121
+ revalidate().then((shouldReload) => {
122
+ // do something extra after revalidation
123
+ if(shouldReload) {
124
+ // reload the server
125
+ }
126
+ });
127
+ ```
128
+
129
+ **Hot reloading Express.js**
130
+
131
+ Express has its own route stack, so reloading require cache will not be enough to reload the routes inside express.
132
+
133
+ ```js
134
+ //express.js
135
+ const app = express();
136
+
137
+ global.clearRoutes = () => {
138
+ app._router.stack = app._router.stack.filter(
139
+ k => !(k && k.route && k.route.path)
140
+ )
141
+ }
142
+
143
+ // in some other file (within the scope of webpack build)
144
+ // wherever you have your revalidation logic
145
+ revalidate().then((shouldReload) => {
146
+ if(shouldReload) {
147
+ global.clearRoutes();
148
+ }
149
+ });
150
+
151
+ ```
152
+
104
153
  ## 🔑 License
105
154
  - MIT @[ScriptedAlchemy](https://github.com/ScriptedAlchemy)
106
155
 
@@ -110,3 +159,4 @@ List of our amazing contributors 💥
110
159
  <a href="https://github.com/module-federation/nextjs-mf/graphs/contributors">
111
160
  <img src="https://contrib.rocks/image?repo=module-federation/node" />
112
161
  </a>
162
+
package/package.json CHANGED
@@ -1,9 +1,20 @@
1
1
  {
2
2
  "public": true,
3
3
  "name": "@module-federation/node",
4
- "version": "0.2.1",
4
+ "version": "0.4.0",
5
5
  "type": "commonjs",
6
6
  "main": "src/index.js",
7
+ "exports": {
8
+ ".": {
9
+ "import": "./src/index.js",
10
+ "require": "./src/index.js"
11
+ },
12
+ "./package.json": "./package.json",
13
+ "./utils": {
14
+ "import": "./src/utils/index.js",
15
+ "require": "./src/utils/index.js"
16
+ }
17
+ },
7
18
  "types": "src/index.d.ts",
8
19
  "description": "Module Federation helper for Node",
9
20
  "repository": "https://github.com/module-federation/nextjs-mf/tree/main/packages/node",
package/src/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export { default as StreamingTargetPlugin } from './plugins/StreamingTargetPlugin';
2
2
  export { default as NodeFederationPlugin } from './plugins/NodeFederationPlugin';
3
3
  export { default as UniversalFederationPlugin } from './plugins/UniversalFederationPlugin';
4
+ export { default as ChunkCorrelationPlugin } from './plugins/ChunkCorrelationPlugin';
package/src/index.js CHANGED
@@ -3,11 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.UniversalFederationPlugin = exports.NodeFederationPlugin = exports.StreamingTargetPlugin = void 0;
6
+ exports.ChunkCorrelationPlugin = exports.UniversalFederationPlugin = exports.NodeFederationPlugin = exports.StreamingTargetPlugin = void 0;
7
7
  var StreamingTargetPlugin_1 = require("./plugins/StreamingTargetPlugin");
8
8
  Object.defineProperty(exports, "StreamingTargetPlugin", { enumerable: true, get: function () { return __importDefault(StreamingTargetPlugin_1).default; } });
9
9
  var NodeFederationPlugin_1 = require("./plugins/NodeFederationPlugin");
10
10
  Object.defineProperty(exports, "NodeFederationPlugin", { enumerable: true, get: function () { return __importDefault(NodeFederationPlugin_1).default; } });
11
11
  var UniversalFederationPlugin_1 = require("./plugins/UniversalFederationPlugin");
12
12
  Object.defineProperty(exports, "UniversalFederationPlugin", { enumerable: true, get: function () { return __importDefault(UniversalFederationPlugin_1).default; } });
13
+ var ChunkCorrelationPlugin_1 = require("./plugins/ChunkCorrelationPlugin");
14
+ Object.defineProperty(exports, "ChunkCorrelationPlugin", { enumerable: true, get: function () { return __importDefault(ChunkCorrelationPlugin_1).default; } });
13
15
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/node/src/index.ts"],"names":[],"mappings":";;;;;;AAAA,yEAAmF;AAA1E,+IAAA,OAAO,OAAyB;AACzC,uEAAiF;AAAxE,6IAAA,OAAO,OAAwB;AACxC,iFAA2F;AAAlF,uJAAA,OAAO,OAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/node/src/index.ts"],"names":[],"mappings":";;;;;;AAAA,yEAAmF;AAA1E,+IAAA,OAAO,OAAyB;AACzC,uEAAiF;AAAxE,6IAAA,OAAO,OAAwB;AACxC,iFAA2F;AAAlF,uJAAA,OAAO,OAA6B;AAC7C,2EAAqF;AAA5E,iJAAA,OAAO,OAA0B"}
@@ -0,0 +1,61 @@
1
+ export = FederationStatsPlugin;
2
+ /**
3
+ * @typedef {object} FederationStatsPluginOptions
4
+ * @property {string} filename The filename in the `output.path` directory to write stats to.
5
+ */
6
+ /**
7
+ * Writes relevant federation stats to a file for further consumption.
8
+ */
9
+ declare class FederationStatsPlugin {
10
+ /**
11
+ *
12
+ * @param {FederationStatsPluginOptions} options
13
+ */
14
+ constructor(options: FederationStatsPluginOptions);
15
+ _options: FederationStatsPluginOptions;
16
+ /**
17
+ *
18
+ * @param {import("webpack").Compiler} compiler
19
+ */
20
+ apply(compiler: import("webpack").Compiler): void;
21
+ }
22
+ declare namespace FederationStatsPlugin {
23
+ export { WebpackStats, WebpackStatsChunk, WebpackStatsModule, SharedDependency, SharedModule, Exposed, FederatedContainer, FederatedStats, FederationStatsPluginOptions };
24
+ }
25
+ type FederationStatsPluginOptions = {
26
+ /**
27
+ * The filename in the `output.path` directory to write stats to.
28
+ */
29
+ filename: string;
30
+ };
31
+ type WebpackStats = any;
32
+ type WebpackStatsChunk = any;
33
+ type WebpackStatsModule = any;
34
+ type SharedDependency = {
35
+ shareScope: string;
36
+ shareKey: string;
37
+ requiredVersion: string;
38
+ strictVersion: boolean;
39
+ singleton: boolean;
40
+ eager: boolean;
41
+ };
42
+ type SharedModule = {
43
+ chunks: string[];
44
+ provides: SharedDependency[];
45
+ };
46
+ type Exposed = {
47
+ chunks: string[];
48
+ sharedModules: SharedModule[];
49
+ };
50
+ type FederatedContainer = {
51
+ remote: string;
52
+ entry: string;
53
+ sharedModules: SharedModule[];
54
+ exposes: {
55
+ [key: string]: Exposed;
56
+ };
57
+ };
58
+ type FederatedStats = {
59
+ sharedModules: SharedModule[];
60
+ federatedModules: FederatedContainer[];
61
+ };
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+ const PLUGIN_NAME = "FederationStatsPlugin";
3
+ /** @typedef {import("./webpack-stats-types").WebpackStats} WebpackStats */
4
+ /** @typedef {import( "./webpack-stats-types").WebpackStatsChunk} WebpackStatsChunk */
5
+ /** @typedef {import("./webpack-stats-types").WebpackStatsModule} WebpackStatsModule */
6
+ /**
7
+ * @typedef {object} SharedDependency
8
+ * @property {string} shareScope
9
+ * @property {string} shareKey
10
+ * @property {string} requiredVersion
11
+ * @property {boolean} strictVersion
12
+ * @property {boolean} singleton
13
+ * @property {boolean} eager
14
+ */
15
+ /**
16
+ * @typedef {object} SharedModule
17
+ * @property {string[]} chunks
18
+ * @property {SharedDependency[]} provides
19
+ */
20
+ /**
21
+ * @typedef {object} Exposed
22
+ * @property {string[]} chunks
23
+ * @property {SharedModule[]} sharedModules
24
+ */
25
+ /**
26
+ * @typedef {object} FederatedContainer
27
+ * @property {string} remote
28
+ * @property {string} entry
29
+ * @property {SharedModule[]} sharedModules
30
+ * @property {{ [key: string]: Exposed }} exposes
31
+ */
32
+ /**
33
+ * @typedef {object} FederatedStats
34
+ * @property {SharedModule[]} sharedModules
35
+ * @property {FederatedContainer[]} federatedModules
36
+ */
37
+ const concat = (x, y) => x.concat(y);
38
+ const flatMap = (xs, f) => xs.map(f).reduce(concat, []);
39
+ /**
40
+ *
41
+ * @param {WebpackStats} stats
42
+ * @returns {}
43
+ */
44
+ function getRemoteModules(stats) {
45
+ return stats.modules.filter((mod) => {
46
+ return mod.moduleType === 'remote-module';
47
+ }).reduce((acc, remoteModule) => {
48
+ acc[remoteModule.nameForCondition] = remoteModule.id;
49
+ return acc;
50
+ }, {});
51
+ }
52
+ /**
53
+ *
54
+ * @param {WebpackStats} stats
55
+ * @param {string} exposedFile
56
+ * @returns {WebpackStatsModule[]}
57
+ */
58
+ function getExposedModules(stats, exposedFile) {
59
+ return stats.modules.filter((mod) => mod.name.startsWith(exposedFile));
60
+ }
61
+ /**
62
+ *
63
+ * @param {WebpackStats} stats
64
+ * @param {WebpackStatsModule} mod
65
+ * @returns {Exposed}
66
+ */
67
+ function getExposed(stats, mod) {
68
+ const chunks = stats.chunks.filter((chunk) => {
69
+ return mod.chunks.some((id) => id === chunk.id);
70
+ });
71
+ const sharedModules = flatMap(chunks, (chunk) => flatMap(flatMap(chunk.siblings, (id) => stats.chunks.filter((c) => c.id === id)).filter((c) => c.modules.some((m) => m.moduleType === "consume-shared-module")), (c) => flatMap(c.children, (id) => stats.chunks.filter((c2) => c2.id === id))))
72
+ .filter((chunk) => chunk.parents.some((parent) => chunks.some((c) => c.id === parent)))
73
+ .map((chunk) => ({
74
+ chunks: chunk.files.map((f) => `${stats.publicPath !== "auto" ? stats.publicPath || "" : ""}${f}`),
75
+ provides: chunk.modules
76
+ .map((mod) => parseFederatedIssuer(mod.issuer))
77
+ .filter((f) => !!f),
78
+ }));
79
+ const flatChunks = flatMap(chunks, (chunk) => {
80
+ return {
81
+ [chunk.id]: chunk.files.map((f) => `${stats.publicPath !== "auto" ? stats.publicPath || "" : ""}${f}`)
82
+ };
83
+ });
84
+ return flatChunks.reduce((acc, chunk) => {
85
+ Object.assign(acc, chunk);
86
+ return acc;
87
+ }, {});
88
+ return {
89
+ chunks: Array.from(flatChunks),
90
+ sharedModules,
91
+ };
92
+ }
93
+ /**
94
+ *
95
+ * @param {import("webpack").Module} mod
96
+ * @param {(issuer: string) => boolean} check
97
+ * @returns {boolean}
98
+ */
99
+ function searchIssuer(mod, check) {
100
+ if (mod.issuer && check(mod.issuer)) {
101
+ return true;
102
+ }
103
+ return !!mod.modules && mod.modules.some((m) => searchIssuer(m, check));
104
+ }
105
+ /**
106
+ * @param {import("webpack").Module} mod
107
+ * @param {(issuer: string) => boolean} check
108
+ * @returns {string[]}
109
+ */
110
+ function getIssuers(mod, check) {
111
+ if (mod.issuer && check(mod.issuer)) {
112
+ return [mod.issuer];
113
+ }
114
+ return ((mod.modules &&
115
+ mod.modules.filter((m) => searchIssuer(m, check)).map((m) => m.issuer)) ||
116
+ []);
117
+ }
118
+ /**
119
+ * @param {string} issuer
120
+ * @returns {SharedDependency}
121
+ */
122
+ function parseFederatedIssuer(issuer) {
123
+ const split = (issuer && issuer.split("|")) || [];
124
+ if (split.length !== 8 || split[0] !== "consume-shared-module") {
125
+ return null;
126
+ }
127
+ const [_, shareScope, shareKey, requiredVersion, strictVersion, __, singleton, eager,] = split;
128
+ return {
129
+ shareScope,
130
+ shareKey,
131
+ requiredVersion,
132
+ strictVersion: JSON.parse(strictVersion),
133
+ singleton: JSON.parse(singleton),
134
+ eager: JSON.parse(eager),
135
+ };
136
+ }
137
+ /**
138
+ *
139
+ * @param {WebpackStats} stats
140
+ * @param {import("webpack").container.ModuleFederationPlugin} federationPlugin
141
+ * @returns {SharedModule[]}
142
+ */
143
+ function getSharedModules(stats, federationPlugin) {
144
+ return flatMap(stats.chunks.filter((chunk) => {
145
+ if (!stats.entrypoints[federationPlugin._options.name]) {
146
+ return false;
147
+ }
148
+ return stats.entrypoints[federationPlugin._options.name].chunks.some((id) => chunk.id === id);
149
+ }), (chunk) => flatMap(chunk.children, (id) => stats.chunks.filter((c) => c.id === id &&
150
+ c.files.length > 0 &&
151
+ c.parents.some((p) => stats.entrypoints[federationPlugin._options.name].chunks.some((c) => c === p)) &&
152
+ c.modules.some((m) => searchIssuer(m, (issuer) => issuer && issuer.startsWith("consume-shared-module"))))))
153
+ .map((chunk) => ({
154
+ chunks: chunk.files.map((f) => `${stats.publicPath !== "auto" ? stats.publicPath || "" : ""}${f}`),
155
+ provides: flatMap(chunk.modules.filter((m) => searchIssuer(m, (issuer) => issuer && issuer.startsWith("consume-shared-module"))), (m) => getIssuers(m, (issuer) => issuer && issuer.startsWith("consume-shared-module")))
156
+ .map(parseFederatedIssuer)
157
+ .filter((f) => !!f),
158
+ }))
159
+ .filter((c) => c.provides.length > 0);
160
+ }
161
+ /**
162
+ * @param {WebpackStats} stats
163
+ * @returns {SharedModule[]}
164
+ */
165
+ function getMainSharedModules(stats) {
166
+ const chunks = stats.namedChunkGroups["main"]
167
+ ? flatMap(stats.namedChunkGroups["main"].chunks, (c) => stats.chunks.filter((chunk) => chunk.id === c))
168
+ : [];
169
+ return flatMap(chunks, (chunk) => flatMap(chunk.children, (id) => stats.chunks.filter((c) => c.id === id &&
170
+ c.files.length > 0 &&
171
+ c.modules.some((m) => searchIssuer(m, (issuer) => issuer && issuer.startsWith("consume-shared-module"))))))
172
+ .map((chunk) => ({
173
+ chunks: chunk.files.map((f) => `${stats.publicPath !== "auto" ? stats.publicPath || "" : ""}${f}`),
174
+ provides: flatMap(chunk.modules.filter((m) => searchIssuer(m, (issuer) => issuer && issuer.startsWith("consume-shared-module"))), (m) => getIssuers(m, (issuer) => issuer && issuer.startsWith("consume-shared-module")))
175
+ .map(parseFederatedIssuer)
176
+ .filter((f) => !!f),
177
+ }))
178
+ .filter((c) => c.provides.length > 0);
179
+ }
180
+ /**
181
+ *
182
+ * @param {WebpackStats} stats
183
+ * @param {import("webpack").container.ModuleFederationPlugin} federationPlugin
184
+ * @returns {FederatedStats}
185
+ */
186
+ function getFederationStats(stats, federationPlugin) {
187
+ const exposedModules = Object.entries(federationPlugin._options.exposes).reduce((exposedModules, [exposedAs, exposedFile]) => {
188
+ return Object.assign(exposedModules, {
189
+ [exposedAs]: getExposedModules(stats, exposedFile),
190
+ });
191
+ }, {});
192
+ /** @type {{ [key: string]: Exposed }} */
193
+ const exposes = Object.entries(exposedModules).reduce((exposedChunks, [exposedAs, exposedModules]) => {
194
+ return Object.assign(exposedChunks, {
195
+ [exposedAs]: flatMap(exposedModules, (mod) => {
196
+ return getExposed(stats, mod);
197
+ }),
198
+ });
199
+ }, {});
200
+ /** @type {string} */
201
+ const remote = (federationPlugin._options.library &&
202
+ federationPlugin._options.library.name) ||
203
+ federationPlugin._options.name;
204
+ const sharedModules = getSharedModules(stats, federationPlugin);
205
+ const remoteModules = getRemoteModules(stats);
206
+ return {
207
+ remote,
208
+ entry: `${stats.publicPath !== "auto" ? stats.publicPath || "" : ""}${stats.assetsByChunkName[remote] &&
209
+ stats.assetsByChunkName[remote].length === 1
210
+ ? stats.assetsByChunkName[remote][0]
211
+ : federationPlugin._options.filename}`,
212
+ sharedModules,
213
+ exposes,
214
+ remoteModules,
215
+ };
216
+ }
217
+ /**
218
+ * @typedef {object} FederationStatsPluginOptions
219
+ * @property {string} filename The filename in the `output.path` directory to write stats to.
220
+ */
221
+ /**
222
+ * Writes relevant federation stats to a file for further consumption.
223
+ */
224
+ class FederationStatsPlugin {
225
+ /**
226
+ *
227
+ * @param {FederationStatsPluginOptions} options
228
+ */
229
+ constructor(options) {
230
+ if (!options || !options.filename) {
231
+ throw new Error("filename option is required.");
232
+ }
233
+ this._options = options;
234
+ }
235
+ /**
236
+ *
237
+ * @param {import("webpack").Compiler} compiler
238
+ */
239
+ apply(compiler) {
240
+ const federationPlugins = compiler.options.plugins &&
241
+ compiler.options.plugins.filter((plugin) => plugin.constructor.name === "NextFederationPlugin" &&
242
+ plugin._options.exposes);
243
+ if (!federationPlugins || federationPlugins.length === 0) {
244
+ console.error("No ModuleFederationPlugin(s) found.");
245
+ return;
246
+ }
247
+ compiler.hooks.thisCompilation.tap(PLUGIN_NAME, (compilation) => {
248
+ compilation.hooks.processAssets.tapPromise({
249
+ name: PLUGIN_NAME,
250
+ stage: compilation.constructor.PROCESS_ASSETS_STAGE_ANALYSE,
251
+ }, async () => {
252
+ console.log('getting stats');
253
+ const stats = compilation.getStats().toJson({});
254
+ const federatedModules = federationPlugins.map((federationPlugin) => getFederationStats(stats, federationPlugin));
255
+ const sharedModules = getMainSharedModules(stats);
256
+ const statsResult = {
257
+ sharedModules,
258
+ federatedModules,
259
+ };
260
+ const statsJson = JSON.stringify(statsResult);
261
+ const statsBuffer = Buffer.from(statsJson, "utf-8");
262
+ const statsSource = {
263
+ source: () => statsBuffer,
264
+ size: () => statsBuffer.length,
265
+ };
266
+ const filename = this._options.filename;
267
+ const asset = compilation.getAsset(filename);
268
+ if (asset) {
269
+ compilation.updateAsset(filename, statsSource);
270
+ }
271
+ else {
272
+ compilation.emitAsset(filename, statsSource);
273
+ }
274
+ });
275
+ });
276
+ }
277
+ }
278
+ module.exports = FederationStatsPlugin;
279
+ //# sourceMappingURL=ChunkCorrelationPlugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChunkCorrelationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/ChunkCorrelationPlugin.js"],"names":[],"mappings":"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"}
@@ -181,6 +181,7 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
181
181
  */
182
182
  `console.log('remotes keyed by global name',remotes)`,
183
183
  `console.log('remote scope configs',global.__remote_scope__._config)`,
184
+ "console.log('before remote scope')",
184
185
  `console.log('global.__remote_scope__',global.__remote_scope__)`,
185
186
  `console.log('global.__remote_scope__[${JSON.stringify(name)}]',global.__remote_scope__[${JSON.stringify(name)}])`,
186
187
  /* TODO: this global.REMOTE_CONFIG doesnt work in this v5 core, not sure if i need to keep it or not
@@ -193,7 +194,6 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
193
194
  name
194
195
  )}]`,
195
196
  */
196
- "console.log('about to derive remote making request')",
197
197
  `var requestedRemote = remoteRegistry[${JSON.stringify(name)}]`,
198
198
  "console.log('requested remote', requestedRemote)",
199
199
  /*TODO: we need to support when user implements own promise new promise function
@@ -210,7 +210,12 @@ class ReadFileChunkLoadingRuntimeModule extends webpack_1.RuntimeModule {
210
210
  // since im looping over remote and creating global at build time, i dont need to split string at runtime
211
211
  // there may still be a use case for that with promise new promise, depending on how we design it.
212
212
  `var scriptUrl = new URL(requestedRemote);`,
213
+ "console.log('global.__remote_scope__',global.__remote_scope__)",
213
214
  `var chunkName = ${webpack_1.RuntimeGlobals.getChunkScriptFilename}(chunkId);`,
215
+ `if(!Array.isArray(global.__remote_scope__._chunks[${JSON.stringify(name)}])) {
216
+ global.__remote_scope__._chunks[${JSON.stringify(name)}] = []
217
+ }`,
218
+ `global.__remote_scope__._chunks[${JSON.stringify(name)}].push(chunkId)`,
214
219
  `console.log('chunkname to request',chunkName);`,
215
220
  `var fileToReplace = require('path').basename(scriptUrl.pathname);`,
216
221
  `scriptUrl.pathname = scriptUrl.pathname.replace(fileToReplace, chunkName);`,
@@ -1 +1 @@
1
- {"version":3,"file":"LoadFileChunkLoadingRuntimeModule.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/LoadFileChunkLoadingRuntimeModule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LoadFileChunkLoadingRuntimeModule.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/LoadFileChunkLoadingRuntimeModule.ts"],"names":[],"mappings":"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"}
@@ -42,10 +42,10 @@ const executeLoadTemplate = `
42
42
  return res.text();
43
43
  }).then(function(scriptContent){
44
44
  try {
45
- const vmContext = { exports, require, module, global, __filename, __dirname, URL };
46
-
47
- const remote = vm.runInNewContext(scriptContent + '\\nmodule.exports', vmContext, { filename: 'node-federation-loader-' + moduleName + '.vm' });
45
+ // const vmContext = { exports, require, module, global, __filename, __dirname, URL};
46
+ // const remote = vm.runInNewContext(scriptContent + '\\nmodule.exports', vmContext, { filename: 'node-federation-loader-' + moduleName + '.vm' });
48
47
 
48
+ const remote = eval(scriptContent + '\\nmodule.exports');
49
49
  /* TODO: need something like a chunk loading queue, this can lead to async issues
50
50
  if two containers load the same remote, they can overwrite global scope
51
51
  should check someone is already loading remote and await that */
@@ -92,6 +92,8 @@ function buildRemotes(mfConf, webpack) {
92
92
  // create a global scope for container, similar to how remotes are set on window in the browser
93
93
  global.__remote_scope__ = {
94
94
  _config: {},
95
+ _chunks: {},
96
+ _path: ''
95
97
  }
96
98
  }
97
99
 
@@ -101,97 +103,32 @@ function buildRemotes(mfConf, webpack) {
101
103
  resolve(executeLoad(${JSON.stringify(config)}))
102
104
  }).then(remote=>{
103
105
  console.log(remote);
104
-
105
- return {
106
- get: remote.get,
107
- init: (args)=> {
108
- console.log(args)
109
- return remote.init(args)
110
- }
111
- }
112
- });
113
- `;
114
- acc.buildTime[name] = loadTemplate;
115
- return acc;
116
- }, { runtime: {}, buildTime: {}, hot: {} });
117
- //old design
118
- return Object.entries(mfConf.remotes || {}).reduce((acc, [name, config]) => {
119
- const hasMiddleware = config.startsWith('middleware ');
120
- let middleware;
121
- if (hasMiddleware) {
122
- middleware = config.split('middleware ')[1];
123
- }
124
- else {
125
- middleware = `Promise.resolve(${JSON.stringify(config)})`;
126
- }
127
- const templateStart = `
128
- var ${webpack.RuntimeGlobals.require} = ${webpack.RuntimeGlobals.require} ? ${webpack.RuntimeGlobals.require} : typeof arguments !== 'undefined' ? arguments[2] : false;
129
- ${executeLoadTemplate}
130
- global.loadedRemotes = global.loadedRemotes || {};
131
- if (global.loadedRemotes[${JSON.stringify(name)}]) {
132
- return global.loadedRemotes[${JSON.stringify(name)}]
133
- }
134
- // if using modern output, then there are no arguments on the parent function scope, thus we need to get it via a window global.
135
-
136
- var shareScope = (${webpack.RuntimeGlobals.require} && ${webpack.RuntimeGlobals.shareScopeMap}) ? ${webpack.RuntimeGlobals.shareScopeMap} : global.__webpack_share_scopes__
137
- var name = ${JSON.stringify(name)}
138
- `;
139
- const template = `(remotesConfig) => new Promise((res) => {
140
- console.log('in template promise',JSON.stringify(remotesConfig))
141
- executeLoad(remotesConfig).then((remote) => {
142
-
143
- return Promise.resolve(remote.init(shareScope.default)).then(() => {
144
- return remote
106
+ return {
107
+ get: (arg)=>{
108
+ return remote.get(arg).then((f)=>{
109
+ const m = f();
110
+ return ()=>new Proxy(m, {
111
+ get: (target, prop)=>{
112
+ global.usedChunks.add(${JSON.stringify(global)} + "->" + arg);
113
+ return target[prop];
114
+ }
145
115
  })
146
116
  })
147
- .then(function (remote) {
148
- const proxy = {
149
- get: remote.get,
150
- chunkMap: remote.chunkMap,
151
- path: remotesConfig.toString(),
152
- init: (arg) => {
153
- try {
154
- return remote.init(shareScope.default)
155
- } catch (e) {
156
- console.log('remote container already initialized')
157
- }
158
- }
117
+ },
118
+ init: (args)=> {
119
+ return remote.init(new Proxy(args, {
120
+ set: (target, prop, value)=>{
121
+ global.usedChunks.add(${JSON.stringify(global)} + "->" + prop);
122
+ target[prop] = value;
123
+ return true;
159
124
  }
160
- if (remote.fake) {
161
- res(proxy);
162
- return null
163
- }
164
-
165
- Object.assign(global.loadedRemotes, {
166
- [name]: proxy
167
- });
168
-
169
- res(global.loadedRemotes[name])
170
- })
171
-
172
-
173
- })`;
174
- acc.runtime[name] = `()=> ${middleware}.then((remoteConfig)=>{
175
- console.log('remoteConfig runtime',remoteConfig);
176
- if(!global.REMOTE_CONFIG) {
177
- global.REMOTE_CONFIG = {};
178
- }
179
- global.REMOTE_CONFIG[${JSON.stringify(name)}] = remoteConfig;
180
- ${templateStart}
181
- const loadTemplate = ${template};
182
- return loadTemplate(remoteConfig)
183
- })`;
184
- acc.buildTime[name] = `promise ${middleware}.then((remoteConfig)=>{
185
- if(!global.REMOTE_CONFIG) {
186
- global.REMOTE_CONFIG = {};
125
+ }))
126
+ }
187
127
  }
188
- console.log('remoteConfig buildtime',remoteConfig);
189
- global.REMOTE_CONFIG[${JSON.stringify(name)}] = remoteConfig;
190
- ${templateStart};
191
- const loadTemplate = ${template};
192
- return loadTemplate(remoteConfig)
193
- })`;
194
- acc.hot[name] = `()=> ${middleware}`;
128
+
129
+ });
130
+ `;
131
+ acc.buildTime[name] = loadTemplate;
195
132
  return acc;
196
133
  }, { runtime: {}, buildTime: {}, hot: {} });
197
134
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NodeFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/NodeFederationPlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NodeFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/NodeFederationPlugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"UniversalFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/UniversalFederationPlugin.ts"],"names":[],"mappings":";;;AAAA,4FAA4D;AAC5D,0FAA0D;AAa1D,MAAM,yBAAyB;IAI7B,YAAY,OAA8B,EAAE,OAA8B;QACxE,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAkB;QACtB,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9C,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,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACpD;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"}
1
+ {"version":3,"file":"UniversalFederationPlugin.js","sourceRoot":"","sources":["../../../../../packages/node/src/plugins/UniversalFederationPlugin.ts"],"names":[],"mappings":";;;AAAA,4FAA4D;AAC5D,0FAA0D;AAa1D,MAAM,yBAAyB;IAI7B,YAAY,OAA8B,EAAE,OAA8B;QACxE,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,GAAG,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC9C,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,OAAO,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACpD;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"}
@@ -0,0 +1,2 @@
1
+ export const usedChunks: Set<any>;
2
+ export function flushChunks(): Promise<any[]>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.flushChunks = exports.usedChunks = void 0;
4
+ exports.usedChunks = new Set();
5
+ global.usedChunks = exports.usedChunks;
6
+ const flushChunks = async () => {
7
+ const allFlushed = await Promise.all(Array.from(exports.usedChunks).map(async (chunk) => {
8
+ const chunks = new Set();
9
+ const [remote, request] = chunk.split('->');
10
+ const statsFile = global.__remote_scope__._config[remote].replace('remoteEntry.js', 'federated-stats.json');
11
+ const stats = await fetch(statsFile).then(async (res) => {
12
+ return await res.json();
13
+ });
14
+ chunks.add(global.__remote_scope__._config[remote].replace('ssr', 'chunks'));
15
+ const [prefix] = global.__remote_scope__._config[remote].split('static/');
16
+ if (stats.federatedModules) {
17
+ stats.federatedModules.forEach((modules) => {
18
+ if (modules.exposes && modules.exposes[request]) {
19
+ modules.exposes[request].forEach((chunk) => {
20
+ Object.values(chunk).forEach((chunk) => {
21
+ chunk.forEach((chunk) => {
22
+ chunks.add(prefix + chunk);
23
+ });
24
+ });
25
+ });
26
+ }
27
+ });
28
+ }
29
+ return Array.from(chunks);
30
+ }));
31
+ const dedupe = Array.from(new Set([...allFlushed.flat()]));
32
+ exports.usedChunks.clear();
33
+ return dedupe;
34
+ };
35
+ exports.flushChunks = flushChunks;
36
+ //# sourceMappingURL=flush-chunks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flush-chunks.js","sourceRoot":"","sources":["../../../../../packages/node/src/utils/flush-chunks.js"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;AACnC,MAAM,CAAC,UAAU,GAAG,kBAAU,CAAA;AAEvB,MAAM,WAAW,GAAG,KAAK,IAAI,EAAE;IACpC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAU,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9E,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,CAAA;QAC3G,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;YACtD,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QACzB,CAAC,CAAC,CAAA;QACF,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC5E,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QACzE,IAAI,KAAK,CAAC,gBAAgB,EAAE;YAC1B,KAAK,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBACzC,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAC/C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBACzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;4BACrC,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gCACtB,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;4BAC5B,CAAC,CAAC,CAAA;wBACJ,CAAC,CAAC,CAAA;oBACJ,CAAC,CAAC,CAAA;iBACH;YACH,CAAC,CAAC,CAAA;SACH;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC,CAAC,CAAC,CAAA;IAEH,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IAE1D,kBAAU,CAAC,KAAK,EAAE,CAAA;IAClB,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AA9BY,QAAA,WAAW,eA8BvB"}
@@ -0,0 +1 @@
1
+ export function revalidate(options: any): Promise<boolean>;
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.revalidate = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const hashmap = {};
6
+ const crypto_1 = tslib_1.__importDefault(require("crypto"));
7
+ const revalidate = (options) => {
8
+ if (global.__remote_scope__) {
9
+ const remoteScope = global.__remote_scope__;
10
+ return new Promise(async (res) => {
11
+ for (const property in remoteScope._config) {
12
+ let remote = remoteScope._config[property];
13
+ if (typeof remote === "function") {
14
+ remote = await remote();
15
+ }
16
+ const name = property;
17
+ const url = remote;
18
+ (global.webpackChunkLoad || global.fetch || require('node-fetch'))(url)
19
+ .then((re) => {
20
+ if (!re.ok) {
21
+ throw new Error(`Error loading remote: status: ${re.status}, content-type: ${re.headers.get("content-type")}`);
22
+ }
23
+ return re.text();
24
+ })
25
+ .then((contents) => {
26
+ var hash = crypto_1.default.createHash("md5").update(contents).digest("hex");
27
+ if (hashmap[name]) {
28
+ if (hashmap[name] !== hash) {
29
+ hashmap[name] = hash;
30
+ console.log(name, "hash is different - must hot reload server");
31
+ res(true);
32
+ }
33
+ }
34
+ else {
35
+ hashmap[name] = hash;
36
+ res(false);
37
+ }
38
+ })
39
+ .catch((e) => {
40
+ console.error("Remote", name, url, "Failed to load or is not online", e);
41
+ res(false);
42
+ });
43
+ }
44
+ }).then((shouldReload) => {
45
+ if (!shouldReload) {
46
+ return false;
47
+ }
48
+ let req;
49
+ if (typeof __non_webpack_require__ === "undefined") {
50
+ req = require;
51
+ }
52
+ else {
53
+ req = __non_webpack_require__;
54
+ }
55
+ global.__remote_scope__ = {
56
+ _config: {},
57
+ };
58
+ Object.keys(req.cache).forEach((k) => {
59
+ if (k.includes("remote") ||
60
+ k.includes("runtime") ||
61
+ k.includes("server") ||
62
+ k.includes("hot-reload") ||
63
+ k.includes("react-loadable-manifest")) {
64
+ delete req.cache[k];
65
+ }
66
+ });
67
+ return true;
68
+ });
69
+ }
70
+ return Promise.resolve(false);
71
+ };
72
+ exports.revalidate = revalidate;
73
+ //# sourceMappingURL=hot-reload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hot-reload.js","sourceRoot":"","sources":["../../../../../packages/node/src/utils/hot-reload.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./hot-reload";
2
+ export * from "./flush-chunks";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./hot-reload"), exports);
5
+ tslib_1.__exportStar(require("./flush-chunks"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/node/src/utils/index.js"],"names":[],"mappings":";;;AAAA,uDAA4B;AAC5B,yDAA8B"}