wgc 0.124.0 → 0.125.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/dist/package.json +1 -1
- package/dist/src/commands/subgraph/commands/batch-publish.js +17 -1
- package/dist/src/commands/subgraph/commands/batch-publish.js.map +1 -1
- package/dist/src/commands/subgraph/utils/poll-batch-publish-status.d.ts +3 -0
- package/dist/src/commands/subgraph/utils/poll-batch-publish-status.js +69 -0
- package/dist/src/commands/subgraph/utils/poll-batch-publish-status.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
package/dist/package.json
CHANGED
|
@@ -9,6 +9,7 @@ import { getBaseHeaders } from '../../../core/config.js';
|
|
|
9
9
|
import { handleCompositionResult } from '../../../handle-composition-result.js';
|
|
10
10
|
import { limitMaxValue } from '../../../constants.js';
|
|
11
11
|
import { fileExists } from '../../../utils.js';
|
|
12
|
+
import { pollBatchPublishStatus } from '../utils/poll-batch-publish-status.js';
|
|
12
13
|
const entrySchema = z.object({
|
|
13
14
|
name: z.string().trim().min(1, 'a non-empty "name" is required'),
|
|
14
15
|
schema: z.string().trim().min(1, 'a non-empty "schema" file path is required'),
|
|
@@ -31,6 +32,7 @@ export default (opts) => {
|
|
|
31
32
|
command.option('-l, --limit <number>', 'The maximum number of composition errors, warnings, and deployment errors to display.', '50');
|
|
32
33
|
command.option('-r, --raw', 'Prints to the console in json format instead of table');
|
|
33
34
|
command.option('-j, --json', 'Prints to the console in json format instead of table');
|
|
35
|
+
command.option('--async', 'This flag enables polling the operation status');
|
|
34
36
|
command.action(async (options) => {
|
|
35
37
|
var _a, _b, _c, _d, _e;
|
|
36
38
|
const configFile = resolve(options.config);
|
|
@@ -76,14 +78,28 @@ export default (opts) => {
|
|
|
76
78
|
if (!shouldOutputJson) {
|
|
77
79
|
spinner.start();
|
|
78
80
|
}
|
|
79
|
-
|
|
81
|
+
let resp = await opts.client.platform.publishFederatedSubgraphs({
|
|
80
82
|
namespace: options.namespace,
|
|
81
83
|
subgraphs,
|
|
82
84
|
disableResolvabilityValidation: options.disableResolvabilityValidation,
|
|
83
85
|
limit,
|
|
86
|
+
async: options.async,
|
|
84
87
|
}, {
|
|
85
88
|
headers: getBaseHeaders(),
|
|
86
89
|
});
|
|
90
|
+
if (resp.jobId) {
|
|
91
|
+
const controller = new AbortController();
|
|
92
|
+
function cancelPolling() {
|
|
93
|
+
controller.abort();
|
|
94
|
+
}
|
|
95
|
+
process.on('SIGINT', cancelPolling);
|
|
96
|
+
try {
|
|
97
|
+
resp = await pollBatchPublishStatus(opts.client, resp.jobId, controller.signal);
|
|
98
|
+
}
|
|
99
|
+
finally {
|
|
100
|
+
process.off('SIGINT', cancelPolling);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
87
103
|
const total = subgraphs.length;
|
|
88
104
|
const changed = (_c = (_b = resp.updatedSubgraphNames) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0;
|
|
89
105
|
handleCompositionResult({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-publish.js","sourceRoot":"","sources":["../../../../../src/commands/subgraph/commands/batch-publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,IAAI,MAAM,SAAS,CAAC;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"batch-publish.js","sourceRoot":"","sources":["../../../../../src/commands/subgraph/commands/batch-publish.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { PublishFederatedSubgraphsResponse } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb';
|
|
2
|
+
import { Client } from '../../../core/client/client.js';
|
|
3
|
+
export declare function pollBatchPublishStatus(client: Client, jobId: string, signal: AbortSignal): Promise<PublishFederatedSubgraphsResponse>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { PublishFederatedSubgraphsResponse, BatchPublishJobStatus, } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb';
|
|
2
|
+
import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
|
|
3
|
+
import { getBaseHeaders } from '../../../core/config.js';
|
|
4
|
+
export async function pollBatchPublishStatus(client, jobId, signal) {
|
|
5
|
+
var _a;
|
|
6
|
+
let attempt = 0;
|
|
7
|
+
const headers = getBaseHeaders();
|
|
8
|
+
while (!signal.aborted) {
|
|
9
|
+
const resp = await client.platform.getBatchPublishJobStatus({ jobId }, { headers, signal });
|
|
10
|
+
if (((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) !== EnumStatusCode.OK) {
|
|
11
|
+
return new PublishFederatedSubgraphsResponse({
|
|
12
|
+
response: resp.response,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
switch (resp.status) {
|
|
16
|
+
case BatchPublishJobStatus.PENDING:
|
|
17
|
+
case BatchPublishJobStatus.PROCESSING: {
|
|
18
|
+
await sleep(computeDelay(1000, 5000, attempt++, true), signal);
|
|
19
|
+
break;
|
|
20
|
+
}
|
|
21
|
+
case BatchPublishJobStatus.FAILED: {
|
|
22
|
+
return new PublishFederatedSubgraphsResponse({
|
|
23
|
+
response: {
|
|
24
|
+
code: EnumStatusCode.ERR_SUBGRAPH_COMPOSITION_FAILED,
|
|
25
|
+
details: resp.failureReason,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
case BatchPublishJobStatus.COMPLETED: {
|
|
30
|
+
return new PublishFederatedSubgraphsResponse({
|
|
31
|
+
response: { code: EnumStatusCode.OK },
|
|
32
|
+
...resp,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* The only reason we should realistically get here is due to `signal` being aborted; however, we still need
|
|
39
|
+
* to return a response object
|
|
40
|
+
*/
|
|
41
|
+
return new PublishFederatedSubgraphsResponse({
|
|
42
|
+
response: {
|
|
43
|
+
code: EnumStatusCode.ERR,
|
|
44
|
+
details: signal.aborted ? 'Operation was cancelled by the user.' : undefined,
|
|
45
|
+
},
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function computeDelay(base, max, attempt, jitter) {
|
|
49
|
+
const delay = Math.min(max, base * 2 ** attempt);
|
|
50
|
+
return jitter ? delay * (0.5 + Math.random() * 0.5) : delay;
|
|
51
|
+
}
|
|
52
|
+
function sleep(ms, signal) {
|
|
53
|
+
return new Promise((resolve) => {
|
|
54
|
+
if (signal === null || signal === void 0 ? void 0 : signal.aborted) {
|
|
55
|
+
resolve('aborted');
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const timer = setTimeout(() => {
|
|
59
|
+
signal === null || signal === void 0 ? void 0 : signal.removeEventListener('abort', onAbort);
|
|
60
|
+
resolve('ok');
|
|
61
|
+
}, ms);
|
|
62
|
+
function onAbort() {
|
|
63
|
+
clearTimeout(timer);
|
|
64
|
+
resolve('aborted');
|
|
65
|
+
}
|
|
66
|
+
signal === null || signal === void 0 ? void 0 : signal.addEventListener('abort', onAbort, { once: true });
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=poll-batch-publish-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poll-batch-publish-status.js","sourceRoot":"","sources":["../../../../../src/commands/subgraph/utils/poll-batch-publish-status.ts"],"names":[],"mappings":"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"}
|