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.
- package/dist/es/src/repluggableAppDebug/index.d.ts +1 -1
- package/dist/es/src/repluggableAppDebug/index.d.ts.map +1 -1
- package/dist/es/src/repluggableAppDebug/index.js.map +1 -1
- package/dist/es/src/repluggableAppDebug/repluggableAppDebug.d.ts +20 -0
- package/dist/es/src/repluggableAppDebug/repluggableAppDebug.d.ts.map +1 -1
- package/dist/es/src/repluggableAppDebug/repluggableAppDebug.js +41 -42
- package/dist/es/src/repluggableAppDebug/repluggableAppDebug.js.map +1 -1
- package/dist/es/test/repluggableAppDebug.spec.js +122 -0
- package/dist/es/test/repluggableAppDebug.spec.js.map +1 -1
- package/dist/es/test/testKit.spec.js +44 -2
- package/dist/es/test/testKit.spec.js.map +1 -1
- package/dist/es/testKit/index.d.ts +10 -1
- package/dist/es/testKit/index.d.ts.map +1 -1
- package/dist/es/testKit/index.js +56 -13
- package/dist/es/testKit/index.js.map +1 -1
- package/dist/src/repluggableAppDebug/index.d.ts +1 -1
- package/dist/src/repluggableAppDebug/index.d.ts.map +1 -1
- package/dist/src/repluggableAppDebug/index.js.map +1 -1
- package/dist/src/repluggableAppDebug/repluggableAppDebug.d.ts +20 -0
- package/dist/src/repluggableAppDebug/repluggableAppDebug.d.ts.map +1 -1
- package/dist/src/repluggableAppDebug/repluggableAppDebug.js +41 -42
- package/dist/src/repluggableAppDebug/repluggableAppDebug.js.map +1 -1
- package/dist/test/repluggableAppDebug.spec.js +122 -0
- package/dist/test/repluggableAppDebug.spec.js.map +1 -1
- package/dist/test/testKit.spec.js +43 -1
- package/dist/test/testKit.spec.js.map +1 -1
- package/dist/testKit/index.d.ts +10 -1
- package/dist/testKit/index.d.ts.map +1 -1
- package/dist/testKit/index.js +58 -14
- package/dist/testKit/index.js.map +1 -1
- package/package.json +2 -2
- package/src/repluggableAppDebug/debug.d.ts +16 -1
- package/src/repluggableAppDebug/index.ts +1 -1
- package/src/repluggableAppDebug/repluggableAppDebug.ts +65 -43
- package/test/repluggableAppDebug.spec.ts +150 -0
- package/test/testKit.spec.tsx +57 -2
- 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,
|
|
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;
|
|
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
|
-
*
|
|
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
|
|
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
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAyB5B,SAAS,kBAAkB,CAAC,WAAyB;IACjD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkC,CAAA;IACjE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAsB,EAAE,EAAE;QAC9C,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;YAC3E,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IACF,OAAO,eAAe,CAAA;AAC1B,CAAC;
|
|
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(
|
|
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,
|
|
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
|
|
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,
|
|
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"}
|
package/dist/es/testKit/index.js
CHANGED
|
@@ -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
|
|
66
|
-
|
|
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
|
|
75
|
-
|
|
76
|
-
|
|
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:
|
|
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
|
-
|
|
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
|