@forgecart/cli 2.202610122040.0 → 2.202610122318.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/src/admin-api/admin-api-interruption.error.d.ts +11 -0
- package/dist/src/admin-api/admin-api-interruption.error.js +17 -0
- package/dist/src/admin-api/admin-api-interruption.error.js.map +1 -0
- package/dist/src/{sync/sync-api.error.d.ts → admin-api/admin-api-refusal.error.d.ts} +2 -2
- package/dist/src/{sync/sync-api.error.js → admin-api/admin-api-refusal.error.js} +5 -5
- package/dist/src/admin-api/admin-api-refusal.error.js.map +1 -0
- package/dist/src/admin-api/admin-api.client.d.ts +51 -0
- package/dist/src/admin-api/admin-api.client.js +157 -0
- package/dist/src/admin-api/admin-api.client.js.map +1 -0
- package/dist/src/admin-api/admin-api.result.d.ts +24 -0
- package/dist/src/admin-api/admin-api.result.js +75 -0
- package/dist/src/admin-api/admin-api.result.js.map +1 -0
- package/dist/src/admin-api/type/admin-api.types.d.ts +10 -0
- package/dist/src/admin-api/type/admin-api.types.js +2 -0
- package/dist/src/admin-api/type/admin-api.types.js.map +1 -0
- package/dist/src/authorization/cli-credential-check.d.ts +9 -1
- package/dist/src/authorization/cli-credential-check.js +19 -1
- package/dist/src/authorization/cli-credential-check.js.map +1 -1
- package/dist/src/cli.js +2 -1
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/deploy.d.ts +8 -0
- package/dist/src/commands/deploy.js +23 -0
- package/dist/src/commands/deploy.js.map +1 -0
- package/dist/src/commands/placeholders.d.ts +0 -2
- package/dist/src/commands/placeholders.js +0 -9
- package/dist/src/commands/placeholders.js.map +1 -1
- package/dist/src/commands/sync.js +2 -8
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/deploy/deploy-follow-bound.d.ts +37 -0
- package/dist/src/deploy/deploy-follow-bound.js +83 -0
- package/dist/src/deploy/deploy-follow-bound.js.map +1 -0
- package/dist/src/deploy/deploy-publish-refusal.d.ts +17 -0
- package/dist/src/deploy/deploy-publish-refusal.js +30 -0
- package/dist/src/deploy/deploy-publish-refusal.js.map +1 -0
- package/dist/src/deploy/deploy.runner.d.ts +23 -0
- package/dist/src/deploy/deploy.runner.js +58 -0
- package/dist/src/deploy/deploy.runner.js.map +1 -0
- package/dist/src/deploy/deployment-follow.d.ts +22 -0
- package/dist/src/deploy/deployment-follow.js +56 -0
- package/dist/src/deploy/deployment-follow.js.map +1 -0
- package/dist/src/deploy/deployment.client.d.ts +26 -0
- package/dist/src/deploy/deployment.client.js +70 -0
- package/dist/src/deploy/deployment.client.js.map +1 -0
- package/dist/src/deploy/type/deploy.types.d.ts +35 -0
- package/dist/src/deploy/type/deploy.types.js +15 -0
- package/dist/src/deploy/type/deploy.types.js.map +1 -0
- package/dist/src/sync/sync-repository.js +1 -0
- package/dist/src/sync/sync-repository.js.map +1 -1
- package/dist/src/sync/sync-round.js +3 -3
- package/dist/src/sync/sync-round.js.map +1 -1
- package/dist/src/sync/sync.runner.d.ts +0 -6
- package/dist/src/sync/sync.runner.js +3 -18
- package/dist/src/sync/sync.runner.js.map +1 -1
- package/dist/src/sync/workspace-sync.client.d.ts +7 -50
- package/dist/src/sync/workspace-sync.client.js +24 -214
- package/dist/src/sync/workspace-sync.client.js.map +1 -1
- package/dist/src/util/timeout-seconds.util.d.ts +2 -0
- package/dist/src/util/timeout-seconds.util.js +9 -0
- package/dist/src/util/timeout-seconds.util.js.map +1 -0
- package/package.json +1 -1
- package/dist/src/sync/sync-api.error.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../../src/commands/placeholders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAe;IACrC,KAAK,CACH,eAAe,OAAO,mCAAmC;QACvD,uCAAuC,CAC1C,CAAC;AACJ,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,4BAA4B;IAC1C,OAAO,IAAI,OAAO,CAAC,kBAAkB,CAAC;SACnC,WAAW,CAAC,2DAA2D,CAAC;SACxE,MAAM,CAAC,GAAG,EAAE;QACX,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"placeholders.js","sourceRoot":"","sources":["../../../src/commands/placeholders.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
import { Command,
|
|
1
|
+
import { Command, Option } from 'commander';
|
|
2
2
|
import { QuestionPromptAdapter } from '../question/question-prompt.adapter.js';
|
|
3
3
|
import { SyncEnvRunner } from '../sync/sync-env.runner.js';
|
|
4
4
|
import { SyncRunner } from '../sync/sync.runner.js';
|
|
5
|
+
import { parseTimeoutSeconds } from '../util/timeout-seconds.util.js';
|
|
5
6
|
/** `--timeout`'s default: five minutes for one exchange — a push's landing runs the workspace's gates. */
|
|
6
7
|
const DEFAULT_TIMEOUT_SECONDS = 300;
|
|
7
|
-
/** `--timeout`: a positive whole number of seconds. */
|
|
8
|
-
function parseTimeoutSeconds(value) {
|
|
9
|
-
if (!/^\d+$/.test(value) || Number(value) === 0) {
|
|
10
|
-
throw new InvalidArgumentError('Pass a positive whole number of seconds.');
|
|
11
|
-
}
|
|
12
|
-
return Number(value);
|
|
13
|
-
}
|
|
14
8
|
/**
|
|
15
9
|
* Build the `sync [name]` command (#2781): its own flags and the question
|
|
16
10
|
* adapter's three, which answer the divergence selection. No flag carries a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/commands/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,0GAA0G;AAC1G,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB;IAC/B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;SAChC,WAAW,CACV,kKAAkK,CACnK;SACA,QAAQ,CAAC,QAAQ,EAAE,0DAA0D,CAAC;SAC9E,MAAM,CAAC,QAAQ,EAAE,4DAA4D,CAAC;SAC9E,MAAM,CAAC,SAAS,EAAE,sEAAsE,CAAC;SACzF,MAAM,CAAC,WAAW,EAAE,+DAA+D,CAAC;SACpF,SAAS,CACR,IAAI,MAAM,CACR,qBAAqB,EACrB,gGAAgG,CACjG;SACE,SAAS,CAAC,mBAAmB,CAAC;SAC9B,OAAO,CAAC,uBAAuB,CAAC,CACpC;SACA,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,OAAoB,EAAE,EAAE;QAC/D,MAAM,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAC5C,CAAC,CAAC,CAAC;IACL,OAAO,qBAAqB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;AACxD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;SAC3B,WAAW,CAAC,+EAA+E,CAAC;SAC5F,QAAQ,CAAC,QAAQ,EAAE,0DAA0D,CAAC;SAC9E,MAAM,CAAC,SAAS,EAAE,2DAA2D,CAAC;SAC9E,MAAM,CAAC,KAAK,EAAE,IAAwB,EAAE,OAAuB,EAAE,EAAE;QAClE,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { CliRefusal } from '../exit-ladder.js';
|
|
2
|
+
/**
|
|
3
|
+
* What ends `forgecart deploy`'s follow before the deployment does (#411):
|
|
4
|
+
* Ctrl-C, or `--timeout` passing once the follow started. Neither ends the
|
|
5
|
+
* publish — it continues on the server. While the bound listens, the first
|
|
6
|
+
* Ctrl-C stops the follow instead of the process: a publish in flight is
|
|
7
|
+
* answered first, a read in flight ends at once. A second Ctrl-C is the
|
|
8
|
+
* process's own.
|
|
9
|
+
*/
|
|
10
|
+
export declare class DeployFollowBound {
|
|
11
|
+
private readonly timeoutSeconds;
|
|
12
|
+
private readonly controller;
|
|
13
|
+
private stop;
|
|
14
|
+
private clock;
|
|
15
|
+
private readonly onInterrupt;
|
|
16
|
+
/** @param timeoutSeconds `--timeout`: how long the follow may last. */
|
|
17
|
+
constructor(timeoutSeconds: number);
|
|
18
|
+
/** Fires once the follow must stop — what ends a read in flight. */
|
|
19
|
+
get signal(): AbortSignal;
|
|
20
|
+
/** From now on the first Ctrl-C stops the follow. */
|
|
21
|
+
listen(): void;
|
|
22
|
+
/** Start the `--timeout` clock — when the follow starts. */
|
|
23
|
+
startClock(): void;
|
|
24
|
+
/** Stop listening for Ctrl-C and stop the clock: nothing of the bound outlives the run. */
|
|
25
|
+
release(): void;
|
|
26
|
+
/** Wait `ms`, or until the follow must stop: true when the follow may go on. */
|
|
27
|
+
pause(ms: number): Promise<boolean>;
|
|
28
|
+
/**
|
|
29
|
+
* The end of a stopped follow: exit {@link CliExitLadder.error}, naming what
|
|
30
|
+
* stopped it and the status the deployment was last read in — the publish
|
|
31
|
+
* continues on the server.
|
|
32
|
+
*/
|
|
33
|
+
stopped(status: string): CliRefusal;
|
|
34
|
+
/** What stopped the follow, in words. */
|
|
35
|
+
private stopCause;
|
|
36
|
+
private end;
|
|
37
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { CliExitLadder, CliRefusal } from '../exit-ladder.js';
|
|
2
|
+
import { DeployFollowStop } from './type/deploy.types.js';
|
|
3
|
+
/** Milliseconds in a second — `--timeout` is given in seconds. */
|
|
4
|
+
const MS_PER_SECOND = 1000;
|
|
5
|
+
/**
|
|
6
|
+
* What ends `forgecart deploy`'s follow before the deployment does (#411):
|
|
7
|
+
* Ctrl-C, or `--timeout` passing once the follow started. Neither ends the
|
|
8
|
+
* publish — it continues on the server. While the bound listens, the first
|
|
9
|
+
* Ctrl-C stops the follow instead of the process: a publish in flight is
|
|
10
|
+
* answered first, a read in flight ends at once. A second Ctrl-C is the
|
|
11
|
+
* process's own.
|
|
12
|
+
*/
|
|
13
|
+
export class DeployFollowBound {
|
|
14
|
+
timeoutSeconds;
|
|
15
|
+
controller = new AbortController();
|
|
16
|
+
stop = null;
|
|
17
|
+
clock;
|
|
18
|
+
onInterrupt = () => {
|
|
19
|
+
this.end(DeployFollowStop.INTERRUPTED);
|
|
20
|
+
};
|
|
21
|
+
/** @param timeoutSeconds `--timeout`: how long the follow may last. */
|
|
22
|
+
constructor(timeoutSeconds) {
|
|
23
|
+
this.timeoutSeconds = timeoutSeconds;
|
|
24
|
+
}
|
|
25
|
+
/** Fires once the follow must stop — what ends a read in flight. */
|
|
26
|
+
get signal() {
|
|
27
|
+
return this.controller.signal;
|
|
28
|
+
}
|
|
29
|
+
/** From now on the first Ctrl-C stops the follow. */
|
|
30
|
+
listen() {
|
|
31
|
+
process.once('SIGINT', this.onInterrupt);
|
|
32
|
+
}
|
|
33
|
+
/** Start the `--timeout` clock — when the follow starts. */
|
|
34
|
+
startClock() {
|
|
35
|
+
this.clock = setTimeout(() => {
|
|
36
|
+
this.end(DeployFollowStop.TIMED_OUT);
|
|
37
|
+
}, this.timeoutSeconds * MS_PER_SECOND);
|
|
38
|
+
}
|
|
39
|
+
/** Stop listening for Ctrl-C and stop the clock: nothing of the bound outlives the run. */
|
|
40
|
+
release() {
|
|
41
|
+
process.off('SIGINT', this.onInterrupt);
|
|
42
|
+
clearTimeout(this.clock);
|
|
43
|
+
}
|
|
44
|
+
/** Wait `ms`, or until the follow must stop: true when the follow may go on. */
|
|
45
|
+
async pause(ms) {
|
|
46
|
+
if (this.signal.aborted)
|
|
47
|
+
return false;
|
|
48
|
+
return new Promise((resolve) => {
|
|
49
|
+
const onStop = () => {
|
|
50
|
+
clearTimeout(timer);
|
|
51
|
+
resolve(false);
|
|
52
|
+
};
|
|
53
|
+
const timer = setTimeout(() => {
|
|
54
|
+
this.signal.removeEventListener('abort', onStop);
|
|
55
|
+
resolve(true);
|
|
56
|
+
}, ms);
|
|
57
|
+
this.signal.addEventListener('abort', onStop, { once: true });
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* The end of a stopped follow: exit {@link CliExitLadder.error}, naming what
|
|
62
|
+
* stopped it and the status the deployment was last read in — the publish
|
|
63
|
+
* continues on the server.
|
|
64
|
+
*/
|
|
65
|
+
stopped(status) {
|
|
66
|
+
return new CliRefusal(CliExitLadder.error, [
|
|
67
|
+
`${this.stopCause()} with the deployment ${status}; the publish continues on the server.`,
|
|
68
|
+
]);
|
|
69
|
+
}
|
|
70
|
+
/** What stopped the follow, in words. */
|
|
71
|
+
stopCause() {
|
|
72
|
+
if (this.stop === DeployFollowStop.INTERRUPTED)
|
|
73
|
+
return 'Ctrl-C ended the follow';
|
|
74
|
+
return `--timeout ${String(this.timeoutSeconds)} s passed`;
|
|
75
|
+
}
|
|
76
|
+
end(stop) {
|
|
77
|
+
if (this.stop !== null)
|
|
78
|
+
return;
|
|
79
|
+
this.stop = stop;
|
|
80
|
+
this.controller.abort();
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=deploy-follow-bound.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-follow-bound.js","sourceRoot":"","sources":["../../../src/deploy/deploy-follow-bound.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,kEAAkE;AAClE,MAAM,aAAa,GAAG,IAAI,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,OAAO,iBAAiB;IASC;IARZ,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IAC5C,IAAI,GAA4B,IAAI,CAAC;IACrC,KAAK,CAA6B;IACzB,WAAW,GAAG,GAAS,EAAE;QACxC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,uEAAuE;IACvE,YAA6B,cAAsB;QAAtB,mBAAc,GAAd,cAAc,CAAQ;IAAG,CAAC;IAEvD,oEAAoE;IACpE,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,qDAAqD;IACrD,MAAM;QACJ,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,4DAA4D;IAC5D,UAAU;QACR,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACvC,CAAC,EAAE,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED,2FAA2F;IAC3F,OAAO;QACL,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,KAAK,CAAC,EAAU;QACpB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QACtC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,MAAM,GAAG,GAAS,EAAE;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACjD,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,MAAc;QACpB,OAAO,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;YACzC,GAAG,IAAI,CAAC,SAAS,EAAE,wBAAwB,MAAM,wCAAwC;SAC1F,CAAC,CAAC;IACL,CAAC;IAED,yCAAyC;IACjC,SAAS;QACf,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,WAAW;YAAE,OAAO,yBAAyB,CAAC;QACjF,OAAO,aAAa,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;IAC7D,CAAC;IAEO,GAAG,CAAC,IAAsB;QAChC,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CliRefusal } from '../exit-ladder.js';
|
|
2
|
+
/** The publish refusals `forgecart deploy` names a way on for — every other code exits 1 as the admin API named it. */
|
|
3
|
+
export declare enum DeployPublishRefusalCode {
|
|
4
|
+
PROVIDER_NOT_CONFIGURED = "STORE_DEPLOYMENT_PROVIDER_NOT_CONFIGURED",
|
|
5
|
+
IN_PROGRESS = "STORE_DEPLOYMENT_IN_PROGRESS"
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* A publish the admin API refused with a code `forgecart deploy` names a way
|
|
9
|
+
* on for (#411): exit {@link CliExitLadder.error}, the code first — what a
|
|
10
|
+
* scripted caller routes on — then the way on.
|
|
11
|
+
*/
|
|
12
|
+
export declare class DeployPublishRefusal extends CliRefusal {
|
|
13
|
+
readonly code: DeployPublishRefusalCode;
|
|
14
|
+
constructor(code: DeployPublishRefusalCode);
|
|
15
|
+
/** Whether `code` is one `forgecart deploy` names a way on for. */
|
|
16
|
+
static names(code: string): code is DeployPublishRefusalCode;
|
|
17
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CliExitLadder, CliRefusal } from '../exit-ladder.js';
|
|
2
|
+
/** The publish refusals `forgecart deploy` names a way on for — every other code exits 1 as the admin API named it. */
|
|
3
|
+
export var DeployPublishRefusalCode;
|
|
4
|
+
(function (DeployPublishRefusalCode) {
|
|
5
|
+
DeployPublishRefusalCode["PROVIDER_NOT_CONFIGURED"] = "STORE_DEPLOYMENT_PROVIDER_NOT_CONFIGURED";
|
|
6
|
+
DeployPublishRefusalCode["IN_PROGRESS"] = "STORE_DEPLOYMENT_IN_PROGRESS";
|
|
7
|
+
})(DeployPublishRefusalCode || (DeployPublishRefusalCode = {}));
|
|
8
|
+
/** What each refusal tells the merchant: what the server did, and the way on. */
|
|
9
|
+
const REFUSAL_LINES = {
|
|
10
|
+
[DeployPublishRefusalCode.PROVIDER_NOT_CONFIGURED]: 'this channel has no deployment provider, so nothing was published. Choose one in the dashboard under Settings → Deployment, then deploy again.',
|
|
11
|
+
[DeployPublishRefusalCode.IN_PROGRESS]: 'a publish of this storefront is already in flight, so this run started no second build. Deploy again once it has ended.',
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* A publish the admin API refused with a code `forgecart deploy` names a way
|
|
15
|
+
* on for (#411): exit {@link CliExitLadder.error}, the code first — what a
|
|
16
|
+
* scripted caller routes on — then the way on.
|
|
17
|
+
*/
|
|
18
|
+
export class DeployPublishRefusal extends CliRefusal {
|
|
19
|
+
code;
|
|
20
|
+
constructor(code) {
|
|
21
|
+
super(CliExitLadder.error, [`${code} — ${REFUSAL_LINES[code]}`]);
|
|
22
|
+
this.code = code;
|
|
23
|
+
this.name = 'DeployPublishRefusal';
|
|
24
|
+
}
|
|
25
|
+
/** Whether `code` is one `forgecart deploy` names a way on for. */
|
|
26
|
+
static names(code) {
|
|
27
|
+
return Object.values(DeployPublishRefusalCode).includes(code);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=deploy-publish-refusal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-publish-refusal.js","sourceRoot":"","sources":["../../../src/deploy/deploy-publish-refusal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE9D,uHAAuH;AACvH,MAAM,CAAN,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,gGAAoE,CAAA;IACpE,wEAA4C,CAAA;AAC9C,CAAC,EAHW,wBAAwB,KAAxB,wBAAwB,QAGnC;AAED,iFAAiF;AACjF,MAAM,aAAa,GAAuD;IACxE,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,EAChD,gJAAgJ;IAClJ,CAAC,wBAAwB,CAAC,WAAW,CAAC,EACpC,yHAAyH;CAC5H,CAAC;AAEF;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,UAAU;IAC7B;IAArB,YAAqB,IAA8B;QACjD,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,MAAM,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAD9C,SAAI,GAAJ,IAAI,CAA0B;QAEjD,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;IAED,mEAAmE;IACnE,MAAM,CAAC,KAAK,CAAC,IAAY;QACvB,OAAO,MAAM,CAAC,MAAM,CAAS,wBAAwB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxE,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { type DeployOptions } from './type/deploy.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* `forgecart deploy [name]` (#411): publish what the board serves. Before
|
|
4
|
+
* anything leaves the machine the run settles its four credentials — the
|
|
5
|
+
* environment, then the storefront's `.env`, then its `.forgecart/config.json`,
|
|
6
|
+
* exactly as `sync` reads them; a key in no source exits 3 with nothing sent.
|
|
7
|
+
* Then it sends ONE `publishDeployment(type: storefront)` — the server builds
|
|
8
|
+
* and ships; the CLI builds nothing — and follows the deployment to its end:
|
|
9
|
+
* RUNNING prints its URL and exits 0, FAILED prints its error and exits 1.
|
|
10
|
+
* Ctrl-C and `--timeout` end the following, never the publish.
|
|
11
|
+
*/
|
|
12
|
+
export declare class DeployRunner {
|
|
13
|
+
private readonly name;
|
|
14
|
+
private readonly options;
|
|
15
|
+
/**
|
|
16
|
+
* @param name the storefront directory whose credentials name the channel — the current directory when absent.
|
|
17
|
+
* @param options the run's flags.
|
|
18
|
+
*/
|
|
19
|
+
constructor(name: string | undefined, options: DeployOptions);
|
|
20
|
+
run(): Promise<void>;
|
|
21
|
+
/** RUNNING prints the deployment's URL; FAILED ends the run on exit 1 with the error it recorded. */
|
|
22
|
+
private finish;
|
|
23
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { resolve } from 'node:path';
|
|
2
|
+
import { AdminApiClient } from '../admin-api/admin-api.client.js';
|
|
3
|
+
import { CliCredentialCheck } from '../authorization/cli-credential-check.js';
|
|
4
|
+
import { CliExitLadder, CliRefusal } from '../exit-ladder.js';
|
|
5
|
+
import { print } from '../output.js';
|
|
6
|
+
import { DeployFollowBound } from './deploy-follow-bound.js';
|
|
7
|
+
import { DeploymentFollow } from './deployment-follow.js';
|
|
8
|
+
import { DeploymentClient } from './deployment.client.js';
|
|
9
|
+
import { DeploymentEndStatus, } from './type/deploy.types.js';
|
|
10
|
+
/**
|
|
11
|
+
* `forgecart deploy [name]` (#411): publish what the board serves. Before
|
|
12
|
+
* anything leaves the machine the run settles its four credentials — the
|
|
13
|
+
* environment, then the storefront's `.env`, then its `.forgecart/config.json`,
|
|
14
|
+
* exactly as `sync` reads them; a key in no source exits 3 with nothing sent.
|
|
15
|
+
* Then it sends ONE `publishDeployment(type: storefront)` — the server builds
|
|
16
|
+
* and ships; the CLI builds nothing — and follows the deployment to its end:
|
|
17
|
+
* RUNNING prints its URL and exits 0, FAILED prints its error and exits 1.
|
|
18
|
+
* Ctrl-C and `--timeout` end the following, never the publish.
|
|
19
|
+
*/
|
|
20
|
+
export class DeployRunner {
|
|
21
|
+
name;
|
|
22
|
+
options;
|
|
23
|
+
/**
|
|
24
|
+
* @param name the storefront directory whose credentials name the channel — the current directory when absent.
|
|
25
|
+
* @param options the run's flags.
|
|
26
|
+
*/
|
|
27
|
+
constructor(name, options) {
|
|
28
|
+
this.name = name;
|
|
29
|
+
this.options = options;
|
|
30
|
+
}
|
|
31
|
+
async run() {
|
|
32
|
+
const storefront = this.name ? resolve(process.cwd(), this.name) : process.cwd();
|
|
33
|
+
const credentials = await CliCredentialCheck.settle(storefront);
|
|
34
|
+
const client = new DeploymentClient(new AdminApiClient(credentials, this.options.timeout));
|
|
35
|
+
const bound = new DeployFollowBound(this.options.timeout);
|
|
36
|
+
bound.listen();
|
|
37
|
+
try {
|
|
38
|
+
print(`forgecart deploy ${this.name ?? '.'}`);
|
|
39
|
+
print(' publish storefront: the server builds what the board serves and ships it');
|
|
40
|
+
const published = await client.publish();
|
|
41
|
+
bound.startClock();
|
|
42
|
+
this.finish(await new DeploymentFollow(client, bound).run(published));
|
|
43
|
+
}
|
|
44
|
+
finally {
|
|
45
|
+
bound.release();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/** RUNNING prints the deployment's URL; FAILED ends the run on exit 1 with the error it recorded. */
|
|
49
|
+
finish(state) {
|
|
50
|
+
if (state.status === DeploymentEndStatus.FAILED) {
|
|
51
|
+
throw new CliRefusal(CliExitLadder.error, [
|
|
52
|
+
`the deployment FAILED: ${state.errorMessage ?? 'the admin API recorded no error message'}`,
|
|
53
|
+
]);
|
|
54
|
+
}
|
|
55
|
+
print(` url ${state.url ?? 'none: the admin API recorded no URL for the deployment'}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=deploy.runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.runner.js","sourceRoot":"","sources":["../../../src/deploy/deploy.runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,mBAAmB,GAGpB,MAAM,wBAAwB,CAAC;AAEhC;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAY;IAMJ;IACA;IANnB;;;OAGG;IACH,YACmB,IAAwB,EACxB,OAAsB;QADtB,SAAI,GAAJ,IAAI,CAAoB;QACxB,YAAO,GAAP,OAAO,CAAe;IACtC,CAAC;IAEJ,KAAK,CAAC,GAAG;QACP,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjF,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3F,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAC1D,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,IAAI,CAAC;YACH,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,+EAA+E,CAAC,CAAC;YACvF,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;YACzC,KAAK,CAAC,UAAU,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED,qGAAqG;IAC7F,MAAM,CAAC,KAA2B;QACxC,IAAI,KAAK,CAAC,MAAM,KAAK,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,EAAE;gBACxC,0BAA0B,KAAK,CAAC,YAAY,IAAI,yCAAyC,EAAE;aAC5F,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,gBAAgB,KAAK,CAAC,GAAG,IAAI,wDAAwD,EAAE,CAAC,CAAC;IACjG,CAAC;CACF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { DeployFollowBound } from './deploy-follow-bound.js';
|
|
2
|
+
import type { DeploymentClient } from './deployment.client.js';
|
|
3
|
+
import { type DeploymentState, type EndedDeploymentState } from './type/deploy.types.js';
|
|
4
|
+
/**
|
|
5
|
+
* `forgecart deploy`'s follow (#411): from the deployment the publish answered,
|
|
6
|
+
* a read every {@link READ_INTERVAL_MS} until it is RUNNING or FAILED, each
|
|
7
|
+
* status transition printed once. The bound stops it first on Ctrl-C or once
|
|
8
|
+
* `--timeout` passed, naming the status last read.
|
|
9
|
+
*/
|
|
10
|
+
export declare class DeploymentFollow {
|
|
11
|
+
private readonly client;
|
|
12
|
+
private readonly bound;
|
|
13
|
+
private printedStatus;
|
|
14
|
+
constructor(client: DeploymentClient, bound: DeployFollowBound);
|
|
15
|
+
/** Follow `published` to the status it ends in. */
|
|
16
|
+
run(published: DeploymentState): Promise<EndedDeploymentState>;
|
|
17
|
+
private hasEnded;
|
|
18
|
+
/** The next read, once the interval passed — or the bound's end, naming `current`'s status. */
|
|
19
|
+
private next;
|
|
20
|
+
/** A status the follow has not printed last is a transition: printed once. */
|
|
21
|
+
private report;
|
|
22
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { AdminApiInterruption } from '../admin-api/admin-api-interruption.error.js';
|
|
2
|
+
import { print } from '../output.js';
|
|
3
|
+
import { DeploymentEndStatus, } from './type/deploy.types.js';
|
|
4
|
+
/** How long the follow waits between two reads of the deployment. */
|
|
5
|
+
const READ_INTERVAL_MS = 2000;
|
|
6
|
+
/** The statuses the follow ends on. */
|
|
7
|
+
const END_STATUSES = new Set(Object.values(DeploymentEndStatus));
|
|
8
|
+
/**
|
|
9
|
+
* `forgecart deploy`'s follow (#411): from the deployment the publish answered,
|
|
10
|
+
* a read every {@link READ_INTERVAL_MS} until it is RUNNING or FAILED, each
|
|
11
|
+
* status transition printed once. The bound stops it first on Ctrl-C or once
|
|
12
|
+
* `--timeout` passed, naming the status last read.
|
|
13
|
+
*/
|
|
14
|
+
export class DeploymentFollow {
|
|
15
|
+
client;
|
|
16
|
+
bound;
|
|
17
|
+
printedStatus = null;
|
|
18
|
+
constructor(client, bound) {
|
|
19
|
+
this.client = client;
|
|
20
|
+
this.bound = bound;
|
|
21
|
+
}
|
|
22
|
+
/** Follow `published` to the status it ends in. */
|
|
23
|
+
async run(published) {
|
|
24
|
+
let state = published;
|
|
25
|
+
this.report(state);
|
|
26
|
+
while (!this.hasEnded(state)) {
|
|
27
|
+
state = await this.next(state);
|
|
28
|
+
this.report(state);
|
|
29
|
+
}
|
|
30
|
+
return state;
|
|
31
|
+
}
|
|
32
|
+
hasEnded(state) {
|
|
33
|
+
return END_STATUSES.has(state.status);
|
|
34
|
+
}
|
|
35
|
+
/** The next read, once the interval passed — or the bound's end, naming `current`'s status. */
|
|
36
|
+
async next(current) {
|
|
37
|
+
if (!(await this.bound.pause(READ_INTERVAL_MS)))
|
|
38
|
+
throw this.bound.stopped(current.status);
|
|
39
|
+
try {
|
|
40
|
+
return await this.client.read(this.bound.signal);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
if (error instanceof AdminApiInterruption)
|
|
44
|
+
throw this.bound.stopped(current.status);
|
|
45
|
+
throw error;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/** A status the follow has not printed last is a transition: printed once. */
|
|
49
|
+
report(state) {
|
|
50
|
+
if (state.status === this.printedStatus)
|
|
51
|
+
return;
|
|
52
|
+
this.printedStatus = state.status;
|
|
53
|
+
print(` status ${state.status}`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=deployment-follow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment-follow.js","sourceRoot":"","sources":["../../../src/deploy/deployment-follow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAIrC,OAAO,EACL,mBAAmB,GAGpB,MAAM,wBAAwB,CAAC;AAEhC,qEAAqE;AACrE,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,uCAAuC;AACvC,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAEtF;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IAIR;IACA;IAJX,aAAa,GAAkB,IAAI,CAAC;IAE5C,YACmB,MAAwB,EACxB,KAAwB;QADxB,WAAM,GAAN,MAAM,CAAkB;QACxB,UAAK,GAAL,KAAK,CAAmB;IACxC,CAAC;IAEJ,mDAAmD;IACnD,KAAK,CAAC,GAAG,CAAC,SAA0B;QAClC,IAAI,KAAK,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,QAAQ,CAAC,KAAsB;QACrC,OAAO,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,+FAA+F;IACvF,KAAK,CAAC,IAAI,CAAC,OAAwB;QACzC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC1F,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,oBAAoB;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YACpF,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,8EAA8E;IACtE,MAAM,CAAC,KAAsB;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,aAAa;YAAE,OAAO;QAChD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC;QAClC,KAAK,CAAC,gBAAgB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;CACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { AdminApiClient } from '../admin-api/admin-api.client.js';
|
|
2
|
+
import type { DeploymentState } from './type/deploy.types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The admin API's storefront deployment (#411) — the surface `forgecart deploy`
|
|
5
|
+
* reaches the shop through, over the {@link AdminApiClient}. The publish asks
|
|
6
|
+
* the server to build what the board serves and ship it; the read is what a
|
|
7
|
+
* follow advances by. The CLI builds nothing, pushes no image and reads no
|
|
8
|
+
* kubeconfig.
|
|
9
|
+
*/
|
|
10
|
+
export declare class DeploymentClient {
|
|
11
|
+
private readonly api;
|
|
12
|
+
/** @param api the admin API, authenticated with the run's credentials and bounded by `--timeout`. */
|
|
13
|
+
constructor(api: AdminApiClient);
|
|
14
|
+
/**
|
|
15
|
+
* ONE `publishDeployment(type: storefront)`. Nothing interrupts it: once it
|
|
16
|
+
* is sent the server publishes, so the run waits for its answer. A refusal
|
|
17
|
+
* deploy names a way on for ends the run as a {@link DeployPublishRefusal};
|
|
18
|
+
* any other stays the admin API's own.
|
|
19
|
+
*/
|
|
20
|
+
publish(): Promise<DeploymentState>;
|
|
21
|
+
/** The storefront deployment as it stands; `interrupt` ends the read in flight. */
|
|
22
|
+
read(interrupt: AbortSignal): Promise<DeploymentState>;
|
|
23
|
+
/** The publish's exchange, its refusals routed: the ones deploy names a way on for become a {@link DeployPublishRefusal}. */
|
|
24
|
+
private sendPublish;
|
|
25
|
+
private stateOf;
|
|
26
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { AdminApiRefusal } from '../admin-api/admin-api-refusal.error.js';
|
|
2
|
+
import { DeployPublishRefusal } from './deploy-publish-refusal.js';
|
|
3
|
+
/** The SDK's `AdminPublishDeployment` operation, its selection narrowed to what deploy reads. */
|
|
4
|
+
const PUBLISH_DOCUMENT = `mutation AdminPublishDeployment($type: DeploymentType!) {
|
|
5
|
+
publishDeployment(type: $type) {
|
|
6
|
+
id
|
|
7
|
+
status
|
|
8
|
+
url
|
|
9
|
+
errorMessage
|
|
10
|
+
}
|
|
11
|
+
}`;
|
|
12
|
+
/** The SDK's `AdminDeployment` operation, its selection narrowed to what deploy reads. */
|
|
13
|
+
const DEPLOYMENT_DOCUMENT = `query AdminDeployment($type: DeploymentType!) {
|
|
14
|
+
deployment(type: $type) {
|
|
15
|
+
id
|
|
16
|
+
status
|
|
17
|
+
url
|
|
18
|
+
errorMessage
|
|
19
|
+
}
|
|
20
|
+
}`;
|
|
21
|
+
/** The deployment type deploy publishes, as the admin API's DeploymentType enum carries it. */
|
|
22
|
+
const STOREFRONT_TYPE = 'storefront';
|
|
23
|
+
/**
|
|
24
|
+
* The admin API's storefront deployment (#411) — the surface `forgecart deploy`
|
|
25
|
+
* reaches the shop through, over the {@link AdminApiClient}. The publish asks
|
|
26
|
+
* the server to build what the board serves and ship it; the read is what a
|
|
27
|
+
* follow advances by. The CLI builds nothing, pushes no image and reads no
|
|
28
|
+
* kubeconfig.
|
|
29
|
+
*/
|
|
30
|
+
export class DeploymentClient {
|
|
31
|
+
api;
|
|
32
|
+
/** @param api the admin API, authenticated with the run's credentials and bounded by `--timeout`. */
|
|
33
|
+
constructor(api) {
|
|
34
|
+
this.api = api;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* ONE `publishDeployment(type: storefront)`. Nothing interrupts it: once it
|
|
38
|
+
* is sent the server publishes, so the run waits for its answer. A refusal
|
|
39
|
+
* deploy names a way on for ends the run as a {@link DeployPublishRefusal};
|
|
40
|
+
* any other stays the admin API's own.
|
|
41
|
+
*/
|
|
42
|
+
async publish() {
|
|
43
|
+
return this.stateOf(await this.sendPublish());
|
|
44
|
+
}
|
|
45
|
+
/** The storefront deployment as it stands; `interrupt` ends the read in flight. */
|
|
46
|
+
async read(interrupt) {
|
|
47
|
+
const result = await this.api.exchange(this.api.jsonRequest(DEPLOYMENT_DOCUMENT, { type: STOREFRONT_TYPE }), 'deployment', interrupt);
|
|
48
|
+
return this.stateOf(result);
|
|
49
|
+
}
|
|
50
|
+
/** The publish's exchange, its refusals routed: the ones deploy names a way on for become a {@link DeployPublishRefusal}. */
|
|
51
|
+
async sendPublish() {
|
|
52
|
+
try {
|
|
53
|
+
return await this.api.exchange(this.api.jsonRequest(PUBLISH_DOCUMENT, { type: STOREFRONT_TYPE }), 'publishDeployment');
|
|
54
|
+
}
|
|
55
|
+
catch (error) {
|
|
56
|
+
if (error instanceof AdminApiRefusal && DeployPublishRefusal.names(error.code)) {
|
|
57
|
+
throw new DeployPublishRefusal(error.code);
|
|
58
|
+
}
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
stateOf(result) {
|
|
63
|
+
return {
|
|
64
|
+
status: result.readString('status'),
|
|
65
|
+
url: result.readNullableString('url'),
|
|
66
|
+
errorMessage: result.readNullableString('errorMessage'),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=deployment.client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployment.client.js","sourceRoot":"","sources":["../../../src/deploy/deployment.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAI1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGnE,iGAAiG;AACjG,MAAM,gBAAgB,GAAG;;;;;;;EAOvB,CAAC;AAEH,0FAA0F;AAC1F,MAAM,mBAAmB,GAAG;;;;;;;EAO1B,CAAC;AAEH,+FAA+F;AAC/F,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAEE;IAD7B,qGAAqG;IACrG,YAA6B,GAAmB;QAAnB,QAAG,GAAH,GAAG,CAAgB;IAAG,CAAC;IAEpD;;;;;OAKG;IACH,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,mFAAmF;IACnF,KAAK,CAAC,IAAI,CAAC,SAAsB;QAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CACpC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,mBAAmB,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EACpE,YAAY,EACZ,SAAS,CACV,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED,6HAA6H;IACrH,KAAK,CAAC,WAAW;QACvB,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAC5B,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EACjE,mBAAmB,CACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,eAAe,IAAI,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,OAAO,CAAC,MAAsB;QACpC,OAAO;YACL,MAAM,EAAE,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC;YACnC,GAAG,EAAE,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC;YACrC,YAAY,EAAE,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC;SACxD,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `forgecart deploy`'s options as commander parses them (#411). No option
|
|
3
|
+
* carries a token, a secret or a URL: the credentials are the four
|
|
4
|
+
* `FORGECART_*` keys the credential check settles.
|
|
5
|
+
*/
|
|
6
|
+
export interface DeployOptions {
|
|
7
|
+
/** `--timeout <seconds>`: how long the run follows the deployment — and the bound on each exchange. */
|
|
8
|
+
timeout: number;
|
|
9
|
+
}
|
|
10
|
+
/** The statuses a publish ends in, as the admin API's DeploymentStatus enum spells them. */
|
|
11
|
+
export declare enum DeploymentEndStatus {
|
|
12
|
+
RUNNING = "RUNNING",
|
|
13
|
+
FAILED = "FAILED"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Where the storefront deployment stands, as one answer of the admin API reads
|
|
17
|
+
* it. `status` is printed as the API spells it: a status the CLI does not end
|
|
18
|
+
* on is followed, whatever it is.
|
|
19
|
+
*/
|
|
20
|
+
export interface DeploymentState {
|
|
21
|
+
status: string;
|
|
22
|
+
url: string | null;
|
|
23
|
+
errorMessage: string | null;
|
|
24
|
+
}
|
|
25
|
+
/** The deployment once it is in a status the publish ends in. */
|
|
26
|
+
export interface EndedDeploymentState extends DeploymentState {
|
|
27
|
+
status: DeploymentEndStatus;
|
|
28
|
+
}
|
|
29
|
+
/** What ended a follow before the deployment did. */
|
|
30
|
+
export declare enum DeployFollowStop {
|
|
31
|
+
/** Ctrl-C. */
|
|
32
|
+
INTERRUPTED = "interrupted",
|
|
33
|
+
/** `--timeout` passed. */
|
|
34
|
+
TIMED_OUT = "timed-out"
|
|
35
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** The statuses a publish ends in, as the admin API's DeploymentStatus enum spells them. */
|
|
2
|
+
export var DeploymentEndStatus;
|
|
3
|
+
(function (DeploymentEndStatus) {
|
|
4
|
+
DeploymentEndStatus["RUNNING"] = "RUNNING";
|
|
5
|
+
DeploymentEndStatus["FAILED"] = "FAILED";
|
|
6
|
+
})(DeploymentEndStatus || (DeploymentEndStatus = {}));
|
|
7
|
+
/** What ended a follow before the deployment did. */
|
|
8
|
+
export var DeployFollowStop;
|
|
9
|
+
(function (DeployFollowStop) {
|
|
10
|
+
/** Ctrl-C. */
|
|
11
|
+
DeployFollowStop["INTERRUPTED"] = "interrupted";
|
|
12
|
+
/** `--timeout` passed. */
|
|
13
|
+
DeployFollowStop["TIMED_OUT"] = "timed-out";
|
|
14
|
+
})(DeployFollowStop || (DeployFollowStop = {}));
|
|
15
|
+
//# sourceMappingURL=deploy.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.types.js","sourceRoot":"","sources":["../../../../src/deploy/type/deploy.types.ts"],"names":[],"mappings":"AAUA,4FAA4F;AAC5F,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;AACnB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B;AAkBD,qDAAqD;AACrD,MAAM,CAAN,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,cAAc;IACd,+CAA2B,CAAA;IAC3B,0BAA0B;IAC1B,2CAAuB,CAAA;AACzB,CAAC,EALW,gBAAgB,KAAhB,gBAAgB,QAK3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync-repository.js","sourceRoot":"","sources":["../../../src/sync/sync-repository.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sync-repository.js","sourceRoot":"","sources":["../../../src/sync/sync-repository.ts"],"names":[],"mappings":"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"}
|