repluggable-core 0.0.0-pr348.63 → 0.0.0-pr351.71

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 (37) hide show
  1. package/dist/es/src/repluggableAppDebug/index.d.ts +1 -1
  2. package/dist/es/src/repluggableAppDebug/index.d.ts.map +1 -1
  3. package/dist/es/src/repluggableAppDebug/index.js.map +1 -1
  4. package/dist/es/src/repluggableAppDebug/repluggableAppDebug.d.ts +20 -0
  5. package/dist/es/src/repluggableAppDebug/repluggableAppDebug.d.ts.map +1 -1
  6. package/dist/es/src/repluggableAppDebug/repluggableAppDebug.js +41 -42
  7. package/dist/es/src/repluggableAppDebug/repluggableAppDebug.js.map +1 -1
  8. package/dist/es/test/repluggableAppDebug.spec.js +122 -0
  9. package/dist/es/test/repluggableAppDebug.spec.js.map +1 -1
  10. package/dist/es/test/testKit.spec.js +44 -2
  11. package/dist/es/test/testKit.spec.js.map +1 -1
  12. package/dist/es/testKit/index.d.ts +10 -1
  13. package/dist/es/testKit/index.d.ts.map +1 -1
  14. package/dist/es/testKit/index.js +56 -13
  15. package/dist/es/testKit/index.js.map +1 -1
  16. package/dist/src/repluggableAppDebug/index.d.ts +1 -1
  17. package/dist/src/repluggableAppDebug/index.d.ts.map +1 -1
  18. package/dist/src/repluggableAppDebug/index.js.map +1 -1
  19. package/dist/src/repluggableAppDebug/repluggableAppDebug.d.ts +20 -0
  20. package/dist/src/repluggableAppDebug/repluggableAppDebug.d.ts.map +1 -1
  21. package/dist/src/repluggableAppDebug/repluggableAppDebug.js +41 -42
  22. package/dist/src/repluggableAppDebug/repluggableAppDebug.js.map +1 -1
  23. package/dist/test/repluggableAppDebug.spec.js +122 -0
  24. package/dist/test/repluggableAppDebug.spec.js.map +1 -1
  25. package/dist/test/testKit.spec.js +43 -1
  26. package/dist/test/testKit.spec.js.map +1 -1
  27. package/dist/testKit/index.d.ts +10 -1
  28. package/dist/testKit/index.d.ts.map +1 -1
  29. package/dist/testKit/index.js +58 -14
  30. package/dist/testKit/index.js.map +1 -1
  31. package/package.json +2 -2
  32. package/src/repluggableAppDebug/debug.d.ts +16 -1
  33. package/src/repluggableAppDebug/index.ts +1 -1
  34. package/src/repluggableAppDebug/repluggableAppDebug.ts +65 -43
  35. package/test/repluggableAppDebug.spec.ts +150 -0
  36. package/test/testKit.spec.tsx +57 -2
  37. package/testKit/index.ts +71 -18
@@ -1,2 +1,2 @@
1
- export { setupDebugInfo } from './repluggableAppDebug';
1
+ export { setupDebugInfo, RootUnreadyAPIInfo, UnreadyEntryPointsReport } from './repluggableAppDebug';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/repluggableAppDebug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/repluggableAppDebug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/repluggableAppDebug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/repluggableAppDebug/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAgD,MAAM,uBAAuB,CAAA"}
@@ -18,6 +18,26 @@ interface SetupDebugInfoParams {
18
18
  getOwnSlotKey(key: SlotKey<any>): SlotKey<any>;
19
19
  getAPI: AppHost['getAPI'];
20
20
  }
21
+ export interface RootUnreadyAPIInfo {
22
+ key: AnySlotKey;
23
+ /**
24
+ * 'nobody' -> not declared by any entry point in the host (missing package / pact)
25
+ * otherwise -> declared by an INSTALLED shell whose contributeAPI never completed (hung async contribution)
26
+ */
27
+ declaredBy: 'nobody' | {
28
+ entryPointName: string;
29
+ };
30
+ /** names of unready entry points directly blocked on this API */
31
+ requiredBy: string[];
32
+ }
33
+ export interface UnreadyEntryPointsReport {
34
+ unreadyEntryPoints: EntryPoint[];
35
+ rootUnreadyAPIs: RootUnreadyAPIInfo[];
36
+ /** unready entry points directly blocked on a root unready API */
37
+ rootUnreadyEntryPoints: EntryPoint[];
38
+ /** true when entry points are unready but no root unready API exists - their dependencies form a cycle */
39
+ probableDependencyCycle: boolean;
40
+ }
21
41
  export type DependencyTree = {
22
42
  entryPoint: string;
23
43
  deps: Array<{
@@ -1 +1 @@
1
- {"version":3,"file":"repluggableAppDebug.d.ts","sourceRoot":"","sources":["../../../../src/repluggableAppDebug/repluggableAppDebug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAG7G,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,UAAU,sBAAsB;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3B,KAAK,EAAE,KAAK,EAAE,CAAA;IACd,WAAW,EAAE,qBAAqB,EAAE,CAAA;CACvC;AAED,UAAU,oBAAoB;IAC1B,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;IAC1B,IAAI,EAAE,OAAO,GAAG,uBAAuB,CAAA;IACvC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,cAAc,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;IACjD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACtC,eAAe,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;IAEhD,WAAW,EAAE,sBAAsB,CAAA;IAEnC,qBAAqB,IAAI,UAAU,EAAE,CAAA;IACrC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC5B;AA+DD,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAC/D,CAAA;AAgGD,wBAAgB,cAAc,CAAC,EAC3B,IAAI,EACJ,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,eAAe,EACf,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAC/C,EAAE,oBAAoB,QAuDtB"}
1
+ {"version":3,"file":"repluggableAppDebug.d.ts","sourceRoot":"","sources":["../../../../src/repluggableAppDebug/repluggableAppDebug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAG7G,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAEnD,UAAU,sBAAsB;IAC5B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC3B,KAAK,EAAE,KAAK,EAAE,CAAA;IACd,WAAW,EAAE,qBAAqB,EAAE,CAAA;CACvC;AAED,UAAU,oBAAoB;IAC1B,SAAS,EAAE,GAAG,CAAC,UAAU,CAAC,CAAA;IAC1B,IAAI,EAAE,OAAO,GAAG,uBAAuB,CAAA;IACvC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC7B,cAAc,EAAE,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAA;IACjD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;IACtC,eAAe,EAAE,OAAO,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;IAEhD,WAAW,EAAE,sBAAsB,CAAA;IAEnC,qBAAqB,IAAI,UAAU,EAAE,CAAA;IACrC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9C,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;CAC5B;AAYD,MAAM,WAAW,kBAAkB;IAC/B,GAAG,EAAE,UAAU,CAAA;IACf;;;OAGG;IACH,UAAU,EAAE,QAAQ,GAAG;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,CAAA;IACjD,iEAAiE;IACjE,UAAU,EAAE,MAAM,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,wBAAwB;IACrC,kBAAkB,EAAE,UAAU,EAAE,CAAA;IAChC,eAAe,EAAE,kBAAkB,EAAE,CAAA;IACrC,kEAAkE;IAClE,sBAAsB,EAAE,UAAU,EAAE,CAAA;IACpC,0GAA0G;IAC1G,uBAAuB,EAAE,OAAO,CAAA;CACnC;AAqDD,MAAM,MAAM,cAAc,GAAG;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;CAC/D,CAAA;AAgGD,wBAAgB,cAAc,CAAC,EAC3B,IAAI,EACJ,gBAAgB,EAChB,SAAS,EACT,MAAM,EACN,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,eAAe,EACf,WAAW,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAC/C,EAAE,oBAAoB,QAyDtB"}
@@ -11,50 +11,47 @@ function mapApiToEntryPoint(allPackages) {
11
11
  return apiToEntryPoint;
12
12
  }
13
13
  /**
14
- * a function that returns all the entry points in the system with their declared APIs and dependencies
14
+ * Computes all root unready APIs at once: dependencies of unready entry points that are neither ready
15
+ * nor declared by another unready entry point (i.e. the APIs actually blocking the host from loading).
15
16
  */
16
- const getAllEntryPoints = () => {
17
- return [
18
- ...globalThis.repluggableAppDebug.utils.unReadyEntryPoints(),
19
- ...[...globalThis.repluggableAppDebug.addedShells].map(([_, shell]) => shell.entryPoint)
20
- ];
21
- };
22
- /**
23
- * this function is used to get the root unready API in case there are too many to understand.
24
- * for example if you have 200 unready entry points, running this function will give you the first unready API that
25
- * will unblock the rest of the entry point (note that there might be more than one)
26
- *
27
- * this function basically takes the first unready entry point, get its dependencies and iterates over them to find an API that is not ready
28
- * at this point it follows the same process recursively until it reaced the target API.
29
- */
30
- const getRootUnreadyAPI = (host) => {
17
+ const createGetUnreadyEntryPointsReport = ({ readyAPIs, getOwnSlotKey, getUnreadyEntryPoints, addedShells }) => {
31
18
  return () => {
32
- var _a, _b, _c;
33
- // get all unready entry points
34
- const allEntryPoints = getAllEntryPoints();
35
- const unReadyAPIsArray = [];
36
- // get the depdenencies of the first unready entry point
37
- let dependenciesOfUnreadyEntryPoint = (_b = (_a = allEntryPoints === null || allEntryPoints === void 0 ? void 0 : allEntryPoints[0]) === null || _a === void 0 ? void 0 : _a.getDependencyAPIs) === null || _b === void 0 ? void 0 : _b.call(_a);
38
- while (dependenciesOfUnreadyEntryPoint === null || dependenciesOfUnreadyEntryPoint === void 0 ? void 0 : dependenciesOfUnreadyEntryPoint.length) {
39
- const currentAPI = dependenciesOfUnreadyEntryPoint.pop();
40
- if (!currentAPI) {
41
- continue;
42
- }
43
- // try to get the API from this host, we are looking for an API that is not ready
44
- try {
45
- const api = host.getAPI(currentAPI);
46
- if (api) {
47
- continue;
48
- }
49
- }
50
- catch (e) {
51
- unReadyAPIsArray.push(currentAPI);
52
- // we found an API that is unready, lets find which entry point declares it
53
- const declarer = allEntryPoints.find(entryPointData => { var _a; return (_a = entryPointData.declareAPIs) === null || _a === void 0 ? void 0 : _a.call(entryPointData).some(api => (currentAPI === null || currentAPI === void 0 ? void 0 : currentAPI.name) === api.name); });
54
- dependenciesOfUnreadyEntryPoint = (_c = declarer === null || declarer === void 0 ? void 0 : declarer.getDependencyAPIs) === null || _c === void 0 ? void 0 : _c.call(declarer);
55
- }
19
+ var _a, _b;
20
+ const unreadyEntryPoints = getUnreadyEntryPoints();
21
+ const isReady = (key) => readyAPIs.has(getOwnSlotKey(key));
22
+ const declaredByUnready = new Set();
23
+ unreadyEntryPoints.forEach(entryPoint => { var _a; return (_a = entryPoint.declareAPIs) === null || _a === void 0 ? void 0 : _a.call(entryPoint).forEach(key => declaredByUnready.add(key.name)); });
24
+ const declaredByInstalled = new Map();
25
+ for (const shell of addedShells.values()) {
26
+ (_b = (_a = shell.entryPoint).declareAPIs) === null || _b === void 0 ? void 0 : _b.call(_a).forEach(key => declaredByInstalled.set(key.name, shell.entryPoint.name));
56
27
  }
57
- return unReadyAPIsArray.reverse()[0];
28
+ const rootByName = new Map();
29
+ unreadyEntryPoints.forEach(entryPoint => {
30
+ var _a;
31
+ (_a = entryPoint.getDependencyAPIs) === null || _a === void 0 ? void 0 : _a.call(entryPoint).forEach(key => {
32
+ var _a;
33
+ if (isReady(key) || declaredByUnready.has(key.name)) {
34
+ return;
35
+ }
36
+ const declarerName = declaredByInstalled.get(key.name);
37
+ const info = (_a = rootByName.get(key.name)) !== null && _a !== void 0 ? _a : {
38
+ key,
39
+ declaredBy: declarerName ? { entryPointName: declarerName } : 'nobody',
40
+ requiredBy: []
41
+ };
42
+ info.requiredBy.push(entryPoint.name);
43
+ rootByName.set(key.name, info);
44
+ });
45
+ });
46
+ const rootUnreadyAPIs = [...rootByName.values()];
47
+ const rootAPINames = new Set(rootByName.keys());
48
+ const rootUnreadyEntryPoints = unreadyEntryPoints.filter(entryPoint => { var _a; return (_a = entryPoint.getDependencyAPIs) === null || _a === void 0 ? void 0 : _a.call(entryPoint).some(key => rootAPINames.has(key.name)); });
49
+ return {
50
+ unreadyEntryPoints,
51
+ rootUnreadyAPIs,
52
+ rootUnreadyEntryPoints,
53
+ probableDependencyCycle: unreadyEntryPoints.length > 0 && rootUnreadyAPIs.length === 0
54
+ };
58
55
  };
59
56
  };
60
57
  const traceAPIDependency = (entryPointName, apiName, entryPoints) => {
@@ -147,7 +144,9 @@ export function setupDebugInfo({ host, uniqueShellNames, readyAPIs, getAPI, getO
147
144
  };
148
145
  });
149
146
  },
150
- getRootUnreadyAPI: getRootUnreadyAPI(host),
147
+ getUnreadyEntryPointsReport: createGetUnreadyEntryPointsReport({ readyAPIs, getOwnSlotKey, getUnreadyEntryPoints, addedShells }),
148
+ /** @deprecated use getUnreadyEntryPointsReport() - this returns only the first of possibly many root unready APIs */
149
+ getRootUnreadyAPI: () => { var _a; return (_a = utils.getUnreadyEntryPointsReport().rootUnreadyAPIs[0]) === null || _a === void 0 ? void 0 : _a.key; },
151
150
  unReadyEntryPoints: () => getUnreadyEntryPoints(),
152
151
  whyEntryPointUnready: (name) => {
153
152
  const unreadyEntryPoint = _.find(utils.unReadyEntryPoints(), (entryPoint) => entryPoint.name.toLowerCase() === name.toLowerCase());
@@ -1 +1 @@
1
- {"version":3,"file":"repluggableAppDebug.js","sourceRoot":"","sources":["../../../../src/repluggableAppDebug/repluggableAppDebug.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repluggableAppDebug.js","sourceRoot":"","sources":["../../../../src/repluggableAppDebug/repluggableAppDebug.ts"],"names":[],"mappings":"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"}
@@ -219,5 +219,127 @@ describe('RepluggableAppDebug', () => {
219
219
  expect(unreadyAPIs).toEqual({ name: 'unreadyAPI' });
220
220
  }));
221
221
  });
222
+ describe('getUnreadyEntryPointsReport', () => {
223
+ const getReport = () => __awaiter(void 0, void 0, void 0, function* () {
224
+ yield new Promise(resolve => setTimeout(resolve, 0));
225
+ return globalThis.repluggableAppDebug.utils.getUnreadyEntryPointsReport();
226
+ });
227
+ it('should report no unready entry points when all are loaded', () => __awaiter(void 0, void 0, void 0, function* () {
228
+ createAppHost([
229
+ {
230
+ name: 'entryPoint',
231
+ declareAPIs: () => []
232
+ }
233
+ ]);
234
+ const report = yield getReport();
235
+ expect(report).toEqual({
236
+ unreadyEntryPoints: [],
237
+ rootUnreadyAPIs: [],
238
+ rootUnreadyEntryPoints: [],
239
+ probableDependencyCycle: false
240
+ });
241
+ }));
242
+ it('should report all root unready APIs of independent unready clusters', () => __awaiter(void 0, void 0, void 0, function* () {
243
+ createAppHost([
244
+ {
245
+ name: 'entryPoint A',
246
+ getDependencyAPIs: () => [{ name: 'missing A' }]
247
+ },
248
+ {
249
+ name: 'entryPoint B',
250
+ getDependencyAPIs: () => [{ name: 'missing B' }]
251
+ }
252
+ ]);
253
+ const report = yield getReport();
254
+ expect(report.rootUnreadyAPIs).toEqual([
255
+ { key: { name: 'missing A' }, declaredBy: 'nobody', requiredBy: ['entryPoint A'] },
256
+ { key: { name: 'missing B' }, declaredBy: 'nobody', requiredBy: ['entryPoint B'] }
257
+ ]);
258
+ expect(report.rootUnreadyEntryPoints.map(entryPoint => entryPoint.name)).toEqual(['entryPoint A', 'entryPoint B']);
259
+ expect(report.probableDependencyCycle).toBe(false);
260
+ }));
261
+ it('should report only the root API of a transitively blocked chain', () => __awaiter(void 0, void 0, void 0, function* () {
262
+ createAppHost([
263
+ {
264
+ name: 'entryPoint A',
265
+ getDependencyAPIs: () => [{ name: 'API B' }]
266
+ },
267
+ {
268
+ name: 'entryPoint B',
269
+ declareAPIs: () => [{ name: 'API B' }],
270
+ getDependencyAPIs: () => [unreadAPI]
271
+ }
272
+ ]);
273
+ const report = yield getReport();
274
+ expect(report.rootUnreadyAPIs).toEqual([{ key: unreadAPI, declaredBy: 'nobody', requiredBy: ['entryPoint B'] }]);
275
+ expect(report.rootUnreadyEntryPoints.map(entryPoint => entryPoint.name)).toEqual(['entryPoint B']);
276
+ expect(report.unreadyEntryPoints.map(entryPoint => entryPoint.name)).toEqual(['entryPoint A', 'entryPoint B']);
277
+ }));
278
+ it('should report roots of sibling branches, including APIs declared by an installed shell that never contributed them', () => __awaiter(void 0, void 0, void 0, function* () {
279
+ createAppHost([
280
+ {
281
+ name: 'entryPoint 0',
282
+ getDependencyAPIs: () => [{ name: 'missing API' }, { name: 'API B' }]
283
+ },
284
+ {
285
+ name: 'entryPoint 1',
286
+ declareAPIs: () => [{ name: 'API B' }]
287
+ }
288
+ ]);
289
+ const report = yield getReport();
290
+ expect(report.rootUnreadyAPIs).toEqual([
291
+ { key: { name: 'missing API' }, declaredBy: 'nobody', requiredBy: ['entryPoint 0'] },
292
+ { key: { name: 'API B' }, declaredBy: { entryPointName: 'entryPoint 1' }, requiredBy: ['entryPoint 0'] }
293
+ ]);
294
+ }));
295
+ it('should aggregate all entry points blocked on the same root API', () => __awaiter(void 0, void 0, void 0, function* () {
296
+ createAppHost([
297
+ {
298
+ name: 'entryPoint A',
299
+ getDependencyAPIs: () => [unreadAPI]
300
+ },
301
+ {
302
+ name: 'entryPoint B',
303
+ getDependencyAPIs: () => [unreadAPI]
304
+ }
305
+ ]);
306
+ const report = yield getReport();
307
+ expect(report.rootUnreadyAPIs).toEqual([{ key: unreadAPI, declaredBy: 'nobody', requiredBy: ['entryPoint A', 'entryPoint B'] }]);
308
+ }));
309
+ it('should flag a probable dependency cycle when unready entry points have no root unready API', () => __awaiter(void 0, void 0, void 0, function* () {
310
+ createAppHost([
311
+ {
312
+ name: 'entryPoint A',
313
+ declareAPIs: () => [{ name: 'API X' }],
314
+ getDependencyAPIs: () => [{ name: 'API Y' }]
315
+ },
316
+ {
317
+ name: 'entryPoint B',
318
+ declareAPIs: () => [{ name: 'API Y' }],
319
+ getDependencyAPIs: () => [{ name: 'API X' }]
320
+ }
321
+ ], { monitoring: {}, disableCheckCircularDependencies: true });
322
+ const report = yield getReport();
323
+ expect(report.rootUnreadyAPIs).toEqual([]);
324
+ expect(report.unreadyEntryPoints.map(entryPoint => entryPoint.name)).toEqual(['entryPoint A', 'entryPoint B']);
325
+ expect(report.probableDependencyCycle).toBe(true);
326
+ }));
327
+ it('should not hang getRootUnreadyAPI on a dependency cycle', () => __awaiter(void 0, void 0, void 0, function* () {
328
+ createAppHost([
329
+ {
330
+ name: 'entryPoint A',
331
+ declareAPIs: () => [{ name: 'API X' }],
332
+ getDependencyAPIs: () => [{ name: 'API Y' }]
333
+ },
334
+ {
335
+ name: 'entryPoint B',
336
+ declareAPIs: () => [{ name: 'API Y' }],
337
+ getDependencyAPIs: () => [{ name: 'API X' }]
338
+ }
339
+ ], { monitoring: {}, disableCheckCircularDependencies: true });
340
+ const unreadyAPIs = yield getUnreadyAPIs();
341
+ expect(unreadyAPIs).toBeUndefined();
342
+ }), 3000);
343
+ });
222
344
  });
223
345
  //# sourceMappingURL=repluggableAppDebug.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repluggableAppDebug.spec.js","sourceRoot":"","sources":["../../../test/repluggableAppDebug.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repluggableAppDebug.spec.js","sourceRoot":"","sources":["../../../test/repluggableAppDebug.spec.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  });
9
9
  };
10
10
  import _ from 'lodash';
11
- import { getPackagesDependencies, createAppHost, addMockShell, MockAPI, mockPackage, createAppHostWithPacts, asyncLoadMockPackage, dependsOnMockPackageEntryPoint, MockPublicAPI, createAppHostAndWaitForLoading } from '../testKit';
11
+ import { getPackagesDependencies, createAppHost, addMockShell, MockAPI, mockPackage, createAppHostWithPacts, asyncLoadMockPackage, dependsOnMockPackageEntryPoint, MockPublicAPI, createAppHostAndWaitForLoading, AppHostLoadingTimeoutError } from '../testKit';
12
12
  const APIs = {
13
13
  A: { name: 'A' },
14
14
  B: { name: 'B' },
@@ -122,7 +122,49 @@ describe('App Host TestKit', () => {
122
122
  it('should throw if failed to load all packages', () => __awaiter(void 0, void 0, void 0, function* () {
123
123
  const hostPromise = createAppHostAndWaitForLoading([dependsOnMockPackageEntryPoint], []);
124
124
  jest.runAllTimers();
125
- yield expect(hostPromise).rejects.toThrow(new RegExp(MockPublicAPI.name));
125
+ yield expect(hostPromise).rejects.toThrow(new RegExp(MockAPI.name));
126
+ }));
127
+ it('should reject with a structured report of all root unready APIs', () => __awaiter(void 0, void 0, void 0, function* () {
128
+ const hostPromise = createAppHostAndWaitForLoading([
129
+ {
130
+ name: 'entryPoint A',
131
+ declareAPIs: () => [{ name: 'API A' }],
132
+ getDependencyAPIs: () => [{ name: 'missing A' }]
133
+ },
134
+ {
135
+ name: 'entryPoint B',
136
+ declareAPIs: () => [{ name: 'API B' }],
137
+ getDependencyAPIs: () => [{ name: 'missing B' }]
138
+ }
139
+ ], []);
140
+ jest.runAllTimers();
141
+ const error = yield hostPromise.then(() => {
142
+ throw new Error('expected hostPromise to reject');
143
+ }, e => e);
144
+ expect(error).toBeInstanceOf(AppHostLoadingTimeoutError);
145
+ expect(error.report.rootUnreadyAPIs.map(info => info.key.name)).toEqual(['missing A', 'missing B']);
146
+ expect(error.message).toContain('"missing A"');
147
+ expect(error.message).toContain('"missing B"');
148
+ expect(error.message).toContain('required by: entryPoint A');
149
+ expect(error.message).toContain('required by: entryPoint B');
150
+ }));
151
+ it('should respect a custom loading timeout', () => __awaiter(void 0, void 0, void 0, function* () {
152
+ let settled = false;
153
+ const hostPromise = createAppHostAndWaitForLoading([dependsOnMockPackageEntryPoint], [], { timeout: 10000 });
154
+ hostPromise.catch(() => (settled = true));
155
+ jest.advanceTimersByTime(9999);
156
+ yield Promise.resolve();
157
+ yield Promise.resolve();
158
+ expect(settled).toBe(false);
159
+ jest.advanceTimersByTime(1);
160
+ yield expect(hostPromise).rejects.toBeInstanceOf(AppHostLoadingTimeoutError);
161
+ }));
162
+ it('should not leave a pending timeout after successful loading', () => __awaiter(void 0, void 0, void 0, function* () {
163
+ const hostPromise = createAppHostAndWaitForLoading([dependsOnMockPackageEntryPoint, asyncLoadMockPackage], []);
164
+ jest.advanceTimersByTime(500);
165
+ const host = yield hostPromise;
166
+ expect(host.getAPI(MockPublicAPI)).toBeDefined();
167
+ expect(jest.getTimerCount()).toBe(0);
126
168
  }));
127
169
  });
128
170
  });
@@ -1 +1 @@
1
- {"version":3,"file":"testKit.spec.js","sourceRoot":"","sources":["../../../test/testKit.spec.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AAGtB,OAAO,EACH,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,WAAW,EACX,sBAAsB,EAEtB,oBAAoB,EACpB,8BAA8B,EAC9B,aAAa,EACb,8BAA8B,EACjC,MAAM,YAAY,CAAA;AAKnB,MAAM,IAAI,GAAY;IAClB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IAChB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IAChB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IAChB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IAChB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;IAChB,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;CACnB,CAAA;AAID,MAAM,WAAW,GAAgB;IAC7B,CAAC,EAAE;QACC,IAAI,EAAE,GAAG;KACZ;IACD,CAAC,EAAE;QACC,IAAI,EAAE,GAAG;QACT,WAAW;YACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;KACJ;IACD,CAAC,EAAE;QACC,IAAI,EAAE,GAAG;QACT,iBAAiB;YACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;QACD,WAAW;YACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;KACJ;IACD,CAAC,EAAE;QACC;YACI,IAAI,EAAE,GAAG;YACT,iBAAiB;gBACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;YACD,WAAW;gBACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;SACJ;QACD;YACI,IAAI,EAAE,GAAG;SACZ;KACJ;IACD,CAAC,EAAE;QACC,IAAI,EAAE,GAAG;QACT,iBAAiB;YACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;KACJ;CACJ,CAAA;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QACxC,MAAM,QAAQ,GAAG,CAAC,QAA+B,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAA;QAClG,MAAM,eAAe,GAAG,CAAC,QAA+B,EAAE,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;QAC/H,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAA;QAErC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;QACjD,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACnD,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACtD,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACzD,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC5D,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAElE,iCAAiC;QACjC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAG,CAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IACrF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uBAAuB,EAAE,GAAS,EAAE;QACnC,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QACzC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE;YAC7B,IAAI,EAAE,MAAM;YACZ,iBAAiB;gBACb,OAAO,CAAC,OAAO,CAAC,CAAA;YACpB,CAAC;SACJ,CAAC,CAAA;QACF,6DAA6D;QAC7D,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACxC,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAA;IACrD,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,0CAA0C,EAAE,GAAS,EAAE;QACtD,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,4BAA4B,CAAA;QAC3C,MAAM,GAAG,GAAG,GAAS,EAAE;YACnB,YAAY,CAAC,IAAI,EAAE;gBACf,IAAI,EAAE,MAAM;gBACZ,iBAAiB;oBACb,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;gBACtC,CAAC;aACJ,CAAC,CAAA;YACF,6DAA6D;QACjE,CAAC,CAAA,CAAA;QACD,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAC3D,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAIlD,MAAM,GAAG,GAAsB,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;QACxE,MAAM,OAAO,GAAiC;YAC1C,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG;YACpB,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;SACb,CAAA;QACD,MAAM,IAAI,GAAG,sBAAsB,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;QAClD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;IAEF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC5C,SAAS,CAAC,GAAG,EAAE;YACX,IAAI,CAAC,aAAa,EAAE,CAAA;QACxB,CAAC,CAAC,CAAA;QAEF,QAAQ,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,aAAa,EAAE,CAAA;QACxB,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,sCAAsC,EAAE,GAAS,EAAE;YAClD,MAAM,WAAW,GAAG,8BAA8B,CAAC,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAA;YAC9G,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,MAAM,IAAI,GAAG,MAAM,WAAW,CAAA;YAC9B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;QACpD,CAAC,CAAA,CAAC,CAAA;QAEF,EAAE,CAAC,6CAA6C,EAAE,GAAS,EAAE;YACzD,MAAM,WAAW,GAAG,8BAA8B,CAAC,CAAC,8BAA8B,CAAC,EAAE,EAAE,CAAC,CAAA;YACxF,IAAI,CAAC,YAAY,EAAE,CAAA;YACnB,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7E,CAAC,CAAA,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACN,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"testKit.spec.js","sourceRoot":"","sources":["../../../test/testKit.spec.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { EntryPoint, ObservableState } from '../src/API';
2
2
  import { AnySlotKey, AppHost, createAppHost as _createAppHost, EntryPointOrPackage, Shell, SlotKey } from '../src/index';
3
+ import { UnreadyEntryPointsReport } from '../src/repluggableAppDebug';
3
4
  import { createShellLogger } from '../src/loggers';
4
5
  import { emptyLoggerOptions } from './emptyLoggerOptions';
5
6
  export { createShellLogger };
@@ -18,7 +19,15 @@ export interface PactAPI<T> extends PactAPIBase {
18
19
  }
19
20
  export declare const getPackagesDependencies: (allPackages: EntryPointOrPackage[], requiredPackages: EntryPointOrPackage[]) => EntryPointOrPackage[];
20
21
  export declare function createAppHostWithPacts(packages: EntryPointOrPackage[], pacts: PactAPIBase[]): AppHost;
21
- export declare function createAppHostAndWaitForLoading(packages: EntryPointOrPackage[], pacts: PactAPIBase[]): Promise<AppHost>;
22
+ export interface WaitForLoadingOptions {
23
+ /** milliseconds to wait for host loading before rejecting with an unready entry points report (default: 3000) */
24
+ timeout?: number;
25
+ }
26
+ export declare class AppHostLoadingTimeoutError extends Error {
27
+ readonly report: UnreadyEntryPointsReport;
28
+ constructor(message: string, report: UnreadyEntryPointsReport);
29
+ }
30
+ export declare function createAppHostAndWaitForLoading(packages: EntryPointOrPackage[], pacts: PactAPIBase[], { timeout }?: WaitForLoadingOptions): Promise<AppHost>;
22
31
  type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
23
32
  interface EntryPointOverrides extends Omit<EntryPoint, 'name'> {
24
33
  name?: EntryPoint['name'];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../testKit/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACxH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAA;AAEvF,eAAO,MAAM,aAAa,EAAE,OAAO,cAElC,CAAA;AAED,UAAU,WAAW;IACjB,SAAS,IAAI,UAAU,CAAA;CAC1B;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,CAAE,SAAQ,WAAW;IAC3C,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;CAC1B;AAUD,eAAO,MAAM,uBAAuB,gBACnB,mBAAmB,EAAE,oBAChB,mBAAmB,EAAE,KACxC,mBAAmB,EAwBrB,CAAA;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAiB3F;AAED,wBAAsB,8BAA8B,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAuC5H;AAED,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9D,UAAU,mBAAoB,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAC1D,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;CAC5B;AAGD,eAAO,MAAM,YAAY,SAAU,OAAO,wBAAuB,mBAAmB,KAAQ,KAgC3F,CAAA;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAS9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../testKit/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,IAAI,cAAc,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACxH,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAEzD,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAA;AAEvF,eAAO,MAAM,aAAa,EAAE,OAAO,cAElC,CAAA;AAED,UAAU,WAAW;IACjB,SAAS,IAAI,UAAU,CAAA;CAC1B;AAED,MAAM,WAAW,OAAO,CAAC,CAAC,CAAE,SAAQ,WAAW;IAC3C,SAAS,IAAI,OAAO,CAAC,CAAC,CAAC,CAAA;CAC1B;AAUD,eAAO,MAAM,uBAAuB,gBACnB,mBAAmB,EAAE,oBAChB,mBAAmB,EAAE,KACxC,mBAAmB,EAwBrB,CAAA;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,WAiB3F;AAED,MAAM,WAAW,qBAAqB;IAClC,iHAAiH;IACjH,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,qBAAa,0BAA2B,SAAQ,KAAK;aACJ,MAAM,EAAE,wBAAwB;gBAAjE,OAAO,EAAE,MAAM,EAAkB,MAAM,EAAE,wBAAwB;CAIhF;AAwCD,wBAAsB,8BAA8B,CAChD,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,KAAK,EAAE,WAAW,EAAE,EACpB,EAAE,OAAc,EAAE,GAAE,qBAA0B,GAC/C,OAAO,CAAC,OAAO,CAAC,CAqClB;AAED,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AAC9D,UAAU,mBAAoB,SAAQ,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC;IAC1D,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;CAC5B;AAGD,eAAO,MAAM,YAAY,SAAU,OAAO,wBAAuB,mBAAmB,KAAQ,KAgC3F,CAAA;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAS9D"}
@@ -62,28 +62,63 @@ export function createAppHostWithPacts(packages, pacts) {
62
62
  };
63
63
  return createAppHost([...packages, pactsEntryPoint], Object.assign(Object.assign({}, emptyLoggerOptions), { disableLayersValidation: true }));
64
64
  }
65
- export function createAppHostAndWaitForLoading(packages, pacts) {
66
- return __awaiter(this, void 0, void 0, function* () {
65
+ export class AppHostLoadingTimeoutError extends Error {
66
+ constructor(message, report) {
67
+ super(message);
68
+ this.report = report;
69
+ this.name = 'AppHostLoadingTimeoutError';
70
+ }
71
+ }
72
+ const WAIT_FOR_LOADING_PROBE_SHELL = 'Depends on all declared APIs';
73
+ const formatUnreadyReport = (timeout, report) => {
74
+ const { utils } = globalThis.repluggableAppDebug;
75
+ const isProbeShell = (name) => name === WAIT_FOR_LOADING_PROBE_SHELL;
76
+ const header = `createAppHostAndWaitForLoading - host not ready within ${timeout}ms.`;
77
+ const unreadyEntryPoints = report.unreadyEntryPoints.filter(entryPoint => !isProbeShell(entryPoint.name));
78
+ const rootUnreadyEntryPoints = report.rootUnreadyEntryPoints.filter(entryPoint => !isProbeShell(entryPoint.name));
79
+ if (report.probableDependencyCycle) {
80
+ const names = unreadyEntryPoints.map(entryPoint => `"${entryPoint.name}"`).join(', ');
81
+ return `${header}
82
+ No root unready API found while ${unreadyEntryPoints.length} entry points are unready - probable dependency cycle between: ${names}`;
83
+ }
84
+ const roots = report.rootUnreadyAPIs.map((info, index) => {
85
+ const declaredBy = info.declaredBy === 'nobody'
86
+ ? 'declared by NO entry point (missing package or pact?)'
87
+ : `declared by "${info.declaredBy.entryPointName}" (installed, but its contribution never completed - hung async contributeAPI?)`;
88
+ const requiredBy = info.requiredBy.filter(name => !isProbeShell(name));
89
+ const lines = [`${index + 1}. "${info.key.name}" - ${declaredBy}`];
90
+ if (requiredBy.length) {
91
+ lines.push(` required by: ${requiredBy.join(', ')}`);
92
+ const tree = utils.visualizeDependencyTree(utils.traceAPIDependency(requiredBy[0], info.key.name));
93
+ lines.push(...tree.split('\n').map(line => ` ${line}`));
94
+ }
95
+ return lines.join('\n');
96
+ });
97
+ return `${header}
98
+
99
+ Root unready APIs (${report.rootUnreadyAPIs.length}):
100
+ ${roots.join('\n')}
101
+
102
+ Unready entry points: ${rootUnreadyEntryPoints.length} blocked directly on root APIs, ${unreadyEntryPoints.length} total.`;
103
+ };
104
+ export function createAppHostAndWaitForLoading(packages_1, pacts_1) {
105
+ return __awaiter(this, arguments, void 0, function* (packages, pacts, { timeout = 3000 } = {}) {
67
106
  const appHost = createAppHostWithPacts(packages, pacts);
68
107
  const declaredAPIs = _(packages)
69
108
  .flatten()
70
109
  .value()
71
110
  .flatMap((entryPoint) => (entryPoint.declareAPIs ? entryPoint.declareAPIs() : []));
111
+ let timer;
72
112
  const timeoutPromise = new Promise((resolve, reject) => {
73
- setTimeout(() => {
74
- const readyAPIs = Array.from(globalThis.repluggableAppDebug.readyAPIs);
75
- const unreadyAPIs = declaredAPIs.filter(api => !readyAPIs.some(readyAPI => readyAPI.name === api.name));
76
- const rootUnreadyAPI = globalThis.repluggableAppDebug.utils.getRootUnreadyAPI();
77
- reject(new Error(`createAppHostAndWaitForLoading - waiting for loading timed out.
78
- there's a high chance this missing API is the main reason for it: ${JSON.stringify(rootUnreadyAPI)}
79
-
80
- in addition here's the full list of declared APIs that have not been contributed: ${JSON.stringify(unreadyAPIs)}`));
81
- }, 3000);
113
+ timer = setTimeout(() => {
114
+ const report = globalThis.repluggableAppDebug.utils.getUnreadyEntryPointsReport();
115
+ reject(new AppHostLoadingTimeoutError(formatUnreadyReport(timeout, report), report));
116
+ }, timeout);
82
117
  });
83
118
  const loadingPromise = new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
84
119
  yield appHost.addShells([
85
120
  {
86
- name: 'Depends on all declared APIs',
121
+ name: WAIT_FOR_LOADING_PROBE_SHELL,
87
122
  getDependencyAPIs() {
88
123
  return declaredAPIs;
89
124
  },
@@ -93,7 +128,15 @@ in addition here's the full list of declared APIs that have not been contributed
93
128
  }
94
129
  ]);
95
130
  }));
96
- return Promise.race([timeoutPromise, loadingPromise]).then(() => appHost);
131
+ try {
132
+ yield Promise.race([timeoutPromise, loadingPromise]);
133
+ return appHost;
134
+ }
135
+ finally {
136
+ if (timer) {
137
+ clearTimeout(timer);
138
+ }
139
+ }
97
140
  });
98
141
  }
99
142
  // this function assumes that addShells completes synchronously