@module-federation/data-prefetch 0.0.0-next-20240927195332 → 0.0.0-next-20240930091801

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.
Files changed (77) hide show
  1. package/CHANGELOG.md +4 -3
  2. package/LICENSE +1 -1
  3. package/dist/{src/cli → cli}/babel.d.ts +4 -2
  4. package/dist/cli/babel.js +84 -0
  5. package/dist/{src/cli → cli}/index.d.ts +8 -5
  6. package/dist/cli/index.js +207 -0
  7. package/dist/esm/chunk-AJPO2B2T.js +30 -0
  8. package/dist/esm/chunk-BGNOVRH5.js +166 -0
  9. package/dist/esm/chunk-EZUCZHGV.js +11 -0
  10. package/dist/esm/chunk-ISF7VMBW.js +156 -0
  11. package/dist/esm/chunk-OCDMSRMZ.js +32 -0
  12. package/dist/esm/chunk-TTJJJ2WZ.js +7 -0
  13. package/dist/esm/cli/babel.js +57 -0
  14. package/dist/esm/cli/index.js +180 -0
  15. package/dist/esm/index.js +13 -0
  16. package/dist/esm/plugin.js +12 -0
  17. package/dist/esm/react/index.js +94 -0
  18. package/dist/esm/shared/index.js +27 -0
  19. package/dist/esm/universal/index.js +9 -0
  20. package/dist/index.d.ts +5 -0
  21. package/dist/index.js +351 -0
  22. package/dist/plugin.d.ts +5 -0
  23. package/dist/plugin.js +347 -0
  24. package/dist/{src/prefetch.d.ts → prefetch-c08be471.d.ts} +6 -4
  25. package/dist/react/index.d.ts +16 -0
  26. package/dist/react/index.js +287 -0
  27. package/dist/shared/index.d.ts +5 -0
  28. package/dist/shared/index.js +48 -0
  29. package/dist/universal/index.d.ts +8 -0
  30. package/dist/universal/index.js +205 -0
  31. package/package.json +28 -31
  32. package/project.json +4 -46
  33. package/src/cli/index.ts +2 -2
  34. package/tsconfig.json +1 -1
  35. package/dist/LICENSE +0 -21
  36. package/dist/babel.cjs.d.ts +0 -2
  37. package/dist/babel.cjs.js +0 -62
  38. package/dist/babel.esm.js +0 -56
  39. package/dist/cli.cjs.d.ts +0 -1
  40. package/dist/cli.cjs.js +0 -3579
  41. package/dist/cli.esm.js +0 -3565
  42. package/dist/index.cjs.d.ts +0 -1
  43. package/dist/index.cjs.js +0 -15
  44. package/dist/index.cjs2.js +0 -7
  45. package/dist/index.esm.js +0 -6
  46. package/dist/index.esm2.js +0 -5
  47. package/dist/package.json +0 -99
  48. package/dist/plugin.cjs.d.ts +0 -2
  49. package/dist/plugin.cjs.js +0 -362
  50. package/dist/plugin.esm.js +0 -357
  51. package/dist/prefetch.cjs.js +0 -351
  52. package/dist/prefetch.esm.js +0 -349
  53. package/dist/react.cjs.d.ts +0 -1
  54. package/dist/react.cjs.js +0 -163
  55. package/dist/react.esm.js +0 -159
  56. package/dist/runtime-utils.cjs.js +0 -31
  57. package/dist/runtime-utils.esm.js +0 -26
  58. package/dist/shared.cjs.d.ts +0 -2
  59. package/dist/shared.cjs.js +0 -26
  60. package/dist/shared.esm.js +0 -24
  61. package/dist/src/common/constant.d.ts +0 -1
  62. package/dist/src/common/index.d.ts +0 -1
  63. package/dist/src/common/node-utils.d.ts +0 -2
  64. package/dist/src/common/runtime-utils.d.ts +0 -5
  65. package/dist/src/index.d.ts +0 -2
  66. package/dist/src/logger/index.d.ts +0 -3
  67. package/dist/src/plugin.d.ts +0 -3
  68. package/dist/src/react/hooks.d.ts +0 -11
  69. package/dist/src/react/index.d.ts +0 -1
  70. package/dist/src/react/utils.d.ts +0 -1
  71. package/dist/src/shared/index.d.ts +0 -3
  72. package/dist/src/universal/index.d.ts +0 -2
  73. package/dist/universal.cjs.d.ts +0 -1
  74. package/dist/universal.cjs.js +0 -38
  75. package/dist/universal.esm.js +0 -34
  76. package/rollup.config.js +0 -25
  77. package/tsconfig.lib.json +0 -10
@@ -1,357 +0,0 @@
1
- import { getResourceUrl } from '@module-federation/sdk';
2
- import { a as getSignalFromManifest } from './runtime-utils.esm.js';
3
- import { M as MFDataPrefetch } from './prefetch.esm.js';
4
- import { l as logger } from './index.esm2.js';
5
- import '@module-federation/runtime';
6
-
7
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
8
- try {
9
- var info = gen[key](arg);
10
- var value = info.value;
11
- } catch (error) {
12
- reject(error);
13
- return;
14
- }
15
- if (info.done) {
16
- resolve(value);
17
- } else {
18
- Promise.resolve(value).then(_next, _throw);
19
- }
20
- }
21
- function _async_to_generator(fn) {
22
- return function() {
23
- var self = this, args = arguments;
24
- return new Promise(function(resolve, reject) {
25
- var gen = fn.apply(self, args);
26
- function _next(value) {
27
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
28
- }
29
- function _throw(err) {
30
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
31
- }
32
- _next(undefined);
33
- });
34
- };
35
- }
36
- function _instanceof(left, right) {
37
- if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
38
- return !!right[Symbol.hasInstance](left);
39
- } else {
40
- return left instanceof right;
41
- }
42
- }
43
- function _ts_generator(thisArg, body) {
44
- var f, y, t, g, _ = {
45
- label: 0,
46
- sent: function() {
47
- if (t[0] & 1) throw t[1];
48
- return t[1];
49
- },
50
- trys: [],
51
- ops: []
52
- };
53
- return g = {
54
- next: verb(0),
55
- "throw": verb(1),
56
- "return": verb(2)
57
- }, typeof Symbol === "function" && (g[Symbol.iterator] = function() {
58
- return this;
59
- }), g;
60
- function verb(n) {
61
- return function(v) {
62
- return step([
63
- n,
64
- v
65
- ]);
66
- };
67
- }
68
- function step(op) {
69
- if (f) throw new TypeError("Generator is already executing.");
70
- while(_)try {
71
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
72
- if (y = 0, t) op = [
73
- op[0] & 2,
74
- t.value
75
- ];
76
- switch(op[0]){
77
- case 0:
78
- case 1:
79
- t = op;
80
- break;
81
- case 4:
82
- _.label++;
83
- return {
84
- value: op[1],
85
- done: false
86
- };
87
- case 5:
88
- _.label++;
89
- y = op[1];
90
- op = [
91
- 0
92
- ];
93
- continue;
94
- case 7:
95
- op = _.ops.pop();
96
- _.trys.pop();
97
- continue;
98
- default:
99
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
100
- _ = 0;
101
- continue;
102
- }
103
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
104
- _.label = op[1];
105
- break;
106
- }
107
- if (op[0] === 6 && _.label < t[1]) {
108
- _.label = t[1];
109
- t = op;
110
- break;
111
- }
112
- if (t && _.label < t[2]) {
113
- _.label = t[2];
114
- _.ops.push(op);
115
- break;
116
- }
117
- if (t[2]) _.ops.pop();
118
- _.trys.pop();
119
- continue;
120
- }
121
- op = body.call(thisArg, _);
122
- } catch (e) {
123
- op = [
124
- 6,
125
- e
126
- ];
127
- y = 0;
128
- } finally{
129
- f = t = 0;
130
- }
131
- if (op[0] & 5) throw op[1];
132
- return {
133
- value: op[0] ? op[1] : void 0,
134
- done: true
135
- };
136
- }
137
- }
138
- var loadingArray = [];
139
- var strategy = 'loaded-first';
140
- var sharedFlag = strategy;
141
- // eslint-disable-next-line max-lines-per-function
142
- var prefetchPlugin = function() {
143
- return {
144
- name: 'data-prefetch-runtime-plugin',
145
- initContainer: function initContainer(options) {
146
- var remoteSnapshot = options.remoteSnapshot, remoteInfo = options.remoteInfo, id = options.id, origin = options.origin;
147
- var snapshot = remoteSnapshot;
148
- var name = remoteInfo.name;
149
- var prefetchOptions = {
150
- name: name,
151
- remote: remoteInfo,
152
- origin: origin,
153
- remoteSnapshot: snapshot
154
- };
155
- var signal = getSignalFromManifest(snapshot);
156
- if (!signal) {
157
- return options;
158
- }
159
- if (sharedFlag !== strategy) {
160
- throw new Error("[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'");
161
- }
162
- var instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);
163
- var prefetchUrl;
164
- // @ts-expect-error
165
- if (snapshot.prefetchEntry) {
166
- // @ts-expect-error
167
- prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);
168
- }
169
- var exist = loadingArray.find(function(loading) {
170
- return loading.id === id;
171
- });
172
- if (exist) {
173
- return options;
174
- }
175
- var promise = instance.loadEntry(prefetchUrl).then(/*#__PURE__*/ _async_to_generator(function() {
176
- var projectExports;
177
- return _ts_generator(this, function(_state) {
178
- switch(_state.label){
179
- case 0:
180
- projectExports = instance.getProjectExports();
181
- if (!_instanceof(projectExports, Promise)) return [
182
- 3,
183
- 2
184
- ];
185
- return [
186
- 4,
187
- projectExports
188
- ];
189
- case 1:
190
- _state.sent();
191
- _state.label = 2;
192
- case 2:
193
- return [
194
- 2,
195
- Promise.resolve().then(function() {
196
- var exports = instance.getExposeExports(id);
197
- logger.info("1. Start Prefetch initContainer: ".concat(id, " - ").concat(performance.now()));
198
- var result = Object.keys(exports).map(function(k) {
199
- var value = instance.prefetch({
200
- id: id,
201
- functionId: k
202
- });
203
- var functionId = k;
204
- return {
205
- value: value,
206
- functionId: functionId
207
- };
208
- });
209
- return result;
210
- })
211
- ];
212
- }
213
- });
214
- }));
215
- loadingArray.push({
216
- id: id,
217
- promise: promise
218
- });
219
- return options;
220
- },
221
- afterResolve: function afterResolve(options) {
222
- var remoteSnapshot = options.remoteSnapshot, remoteInfo = options.remoteInfo, id = options.id, origin = options.origin;
223
- var snapshot = remoteSnapshot;
224
- var name = remoteInfo.name;
225
- var prefetchOptions = {
226
- name: name,
227
- remote: remoteInfo,
228
- origin: origin,
229
- remoteSnapshot: snapshot
230
- };
231
- var signal = getSignalFromManifest(snapshot);
232
- if (!signal) {
233
- return options;
234
- }
235
- var inited = loadingArray.some(function(info) {
236
- return info.id === id;
237
- });
238
- if (!inited) {
239
- return options;
240
- }
241
- if (sharedFlag !== strategy) {
242
- throw new Error("[Module Federation Data Prefetch]: If you want to use data prefetch, the shared strategy must be 'loaded-first'");
243
- }
244
- var instance = MFDataPrefetch.getInstance(name) || new MFDataPrefetch(prefetchOptions);
245
- var prefetchUrl;
246
- // @ts-expect-error
247
- if (snapshot.prefetchEntry) {
248
- // @ts-expect-error
249
- prefetchUrl = getResourceUrl(snapshot, snapshot.prefetchEntry);
250
- }
251
- var index = loadingArray.findIndex(function(loading) {
252
- return loading.id === id;
253
- });
254
- // clear cache
255
- if (index !== -1) {
256
- loadingArray.splice(index, 1);
257
- }
258
- var promise = instance.loadEntry(prefetchUrl).then(/*#__PURE__*/ _async_to_generator(function() {
259
- var projectExports;
260
- return _ts_generator(this, function(_state) {
261
- switch(_state.label){
262
- case 0:
263
- projectExports = instance.getProjectExports();
264
- if (!_instanceof(projectExports, Promise)) return [
265
- 3,
266
- 2
267
- ];
268
- return [
269
- 4,
270
- projectExports
271
- ];
272
- case 1:
273
- _state.sent();
274
- _state.label = 2;
275
- case 2:
276
- return [
277
- 2,
278
- Promise.resolve().then(function() {
279
- var exports = instance.getExposeExports(id);
280
- logger.info("1. Start Prefetch afterResolve: ".concat(id, " - ").concat(performance.now()));
281
- var result = Object.keys(exports).map(function(k) {
282
- var value = instance.prefetch({
283
- id: id,
284
- functionId: k
285
- });
286
- var functionId = k;
287
- return {
288
- value: value,
289
- functionId: functionId
290
- };
291
- });
292
- return result;
293
- })
294
- ];
295
- }
296
- });
297
- }));
298
- loadingArray.push({
299
- id: id,
300
- promise: promise
301
- });
302
- return options;
303
- },
304
- onLoad: function onLoad(options) {
305
- return _async_to_generator(function() {
306
- var _loadingArray_find, remote, id, name, promise, prefetch, prefetchValue, instance;
307
- return _ts_generator(this, function(_state) {
308
- switch(_state.label){
309
- case 0:
310
- remote = options.remote, id = options.id;
311
- name = remote.name;
312
- promise = (_loadingArray_find = loadingArray.find(function(loading) {
313
- return loading.id === id;
314
- })) === null || _loadingArray_find === void 0 ? void 0 : _loadingArray_find.promise;
315
- if (!promise) return [
316
- 3,
317
- 3
318
- ];
319
- return [
320
- 4,
321
- promise
322
- ];
323
- case 1:
324
- prefetch = _state.sent();
325
- prefetchValue = prefetch.map(function(result) {
326
- return result.value;
327
- });
328
- return [
329
- 4,
330
- Promise.all(prefetchValue)
331
- ];
332
- case 2:
333
- _state.sent();
334
- instance = MFDataPrefetch.getInstance(name);
335
- prefetch.forEach(function(result) {
336
- var value = result.value, functionId = result.functionId;
337
- instance.memorize(id + functionId, value);
338
- });
339
- _state.label = 3;
340
- case 3:
341
- return [
342
- 2,
343
- options
344
- ];
345
- }
346
- });
347
- })();
348
- },
349
- beforeLoadShare: function beforeLoadShare(options) {
350
- var shareInfo = options.shareInfo;
351
- sharedFlag = (shareInfo === null || shareInfo === void 0 ? void 0 : shareInfo.strategy) || sharedFlag;
352
- return options;
353
- }
354
- };
355
- };
356
-
357
- export { prefetchPlugin as default, prefetchPlugin };