@forgecart/cli 2.202610130815.0 → 2.202610131102.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/authorization/cli-credential-step.d.ts +7 -0
- package/dist/src/authorization/cli-credential-step.js +15 -0
- package/dist/src/authorization/cli-credential-step.js.map +1 -1
- package/dist/src/authorization/type/cli-authorization.types.d.ts +18 -4
- package/dist/src/commands/init.d.ts +13 -8
- package/dist/src/commands/init.js +75 -23
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/sync.js +2 -4
- package/dist/src/commands/sync.js.map +1 -1
- package/dist/src/sync/sync.runner.d.ts +13 -2
- package/dist/src/sync/sync.runner.js +14 -3
- package/dist/src/sync/sync.runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -26,6 +26,11 @@ export declare const DEFAULT_SHOP_API_URL = "https://api.forgecart.com/shop-api"
|
|
|
26
26
|
* FORGECART_CLI_UNAUTHORIZED and writes nothing. The step authorizes at most
|
|
27
27
|
* once per run: if the admin API refuses the credentials an approval has just
|
|
28
28
|
* delivered, the run exits 3 and never 1.
|
|
29
|
+
*
|
|
30
|
+
* A step told to always authorize ({@link CliCredentialStepInput.alwaysAuthorize},
|
|
31
|
+
* `forgecart init` with no path — launch#62 N1) authorizes before anything
|
|
32
|
+
* else even when the sources carry all four keys, preselecting the store they
|
|
33
|
+
* name, and the command runs on the keys the approval delivers.
|
|
29
34
|
*/
|
|
30
35
|
export declare class CliCredentialStep {
|
|
31
36
|
private readonly input;
|
|
@@ -56,6 +61,8 @@ export declare class CliCredentialStep {
|
|
|
56
61
|
private authorize;
|
|
57
62
|
/** Why a run whose credentials were all found authorizes: the code the admin API refused them with. */
|
|
58
63
|
private refusalReport;
|
|
64
|
+
/** Why a run told to always authorize does: the store is the merchant's to pick, whatever keys are found. */
|
|
65
|
+
private choiceReport;
|
|
59
66
|
/**
|
|
60
67
|
* The admin API that answers the authorization. The step uses
|
|
61
68
|
* FORGECART_ADMIN_API_URL when a source names it. Otherwise it uses
|
|
@@ -41,6 +41,11 @@ const ADMIN_API_PATH = '/admin-api';
|
|
|
41
41
|
* FORGECART_CLI_UNAUTHORIZED and writes nothing. The step authorizes at most
|
|
42
42
|
* once per run: if the admin API refuses the credentials an approval has just
|
|
43
43
|
* delivered, the run exits 3 and never 1.
|
|
44
|
+
*
|
|
45
|
+
* A step told to always authorize ({@link CliCredentialStepInput.alwaysAuthorize},
|
|
46
|
+
* `forgecart init` with no path — launch#62 N1) authorizes before anything
|
|
47
|
+
* else even when the sources carry all four keys, preselecting the store they
|
|
48
|
+
* name, and the command runs on the keys the approval delivers.
|
|
44
49
|
*/
|
|
45
50
|
export class CliCredentialStep {
|
|
46
51
|
input;
|
|
@@ -73,6 +78,9 @@ export class CliCredentialStep {
|
|
|
73
78
|
return command(await this.authorize(check, this.refusalReport(sourced.code)));
|
|
74
79
|
}
|
|
75
80
|
async settleFrom(check) {
|
|
81
|
+
if (this.input.alwaysAuthorize === true) {
|
|
82
|
+
return { credentials: await this.authorize(check, this.choiceReport()), authorized: true };
|
|
83
|
+
}
|
|
76
84
|
const found = check.credentials();
|
|
77
85
|
if (found !== undefined)
|
|
78
86
|
return { credentials: found, authorized: false };
|
|
@@ -106,6 +114,13 @@ export class CliCredentialStep {
|
|
|
106
114
|
refusalReport(code) {
|
|
107
115
|
return ['', ` The admin API refused the credentials: ${code}.`];
|
|
108
116
|
}
|
|
117
|
+
/** Why a run told to always authorize does: the store is the merchant's to pick, whatever keys are found. */
|
|
118
|
+
choiceReport() {
|
|
119
|
+
return [
|
|
120
|
+
'',
|
|
121
|
+
' Pick the store this directory works on: approve the one /authorize preselects, or switch to another.',
|
|
122
|
+
];
|
|
123
|
+
}
|
|
109
124
|
/**
|
|
110
125
|
* The admin API that answers the authorization. The step uses
|
|
111
126
|
* FORGECART_ADMIN_API_URL when a source names it. Otherwise it uses
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-credential-step.js","sourceRoot":"","sources":["../../../src/authorization/cli-credential-step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EACL,gBAAgB,GAKjB,MAAM,mCAAmC,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,oCAAoC,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,cAAc,GAAG,YAAY,CAAC;AAOpC
|
|
1
|
+
{"version":3,"file":"cli-credential-step.js","sourceRoot":"","sources":["../../../src/authorization/cli-credential-step.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,10 +49,12 @@ export interface CliAuthorizationRequestInput {
|
|
|
49
49
|
/** The channel token the project's sources name: the store `/authorize` preselects. Absent when they name none. */
|
|
50
50
|
channelToken?: string;
|
|
51
51
|
}
|
|
52
|
-
/**
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
/**
|
|
53
|
+
* How the credential step authorizes: the admin API it asks, how long it waits
|
|
54
|
+
* for an approval, and whether it asks even when the sources carry every key.
|
|
55
|
+
* A command passes its policy through to the step it runs.
|
|
56
|
+
*/
|
|
57
|
+
export interface CliAuthorizationPolicy {
|
|
56
58
|
/**
|
|
57
59
|
* The shop API whose origin's admin API answers the authorization when no
|
|
58
60
|
* source names FORGECART_ADMIN_API_URL: `init`'s `--api-url`. When absent,
|
|
@@ -61,6 +63,18 @@ export interface CliCredentialStepInput {
|
|
|
61
63
|
shopApiUrl?: string;
|
|
62
64
|
/** The longest the wait for an approval may last, in seconds. When absent, the authorization's window bounds it. */
|
|
63
65
|
timeoutSec?: number;
|
|
66
|
+
/**
|
|
67
|
+
* Authorize even when the sources carry all four keys (launch#62 N1): the
|
|
68
|
+
* merchant picks the store at `/authorize`, which preselects the one the
|
|
69
|
+
* sources name, and the run continues on the keys the approval delivers —
|
|
70
|
+
* `forgecart init` with no path.
|
|
71
|
+
*/
|
|
72
|
+
alwaysAuthorize?: boolean;
|
|
73
|
+
}
|
|
74
|
+
/** Where the credential step reads the four keys and an approval writes them, and how it authorizes. */
|
|
75
|
+
export interface CliCredentialStepInput extends CliAuthorizationPolicy {
|
|
76
|
+
/** The storefront. The step reads its `.env` and `.forgecart/config.json`, and an approval's keys land in its `.env`. */
|
|
77
|
+
targetDir: string;
|
|
64
78
|
}
|
|
65
79
|
/** The four credentials the step settled, and whether an approval in this run delivered them. */
|
|
66
80
|
export interface CliSettledCredentials {
|
|
@@ -40,7 +40,8 @@ export interface InitOptions extends QuestionPromptInput, InitQuestionsInput {
|
|
|
40
40
|
* Channel token — the pod drive's flag, hidden from the help (#2772): given,
|
|
41
41
|
* init writes exactly the flags it was handed and checks nothing; absent,
|
|
42
42
|
* init checks for the four credentials and authorizes in the browser when
|
|
43
|
-
* any is missing,
|
|
43
|
+
* any is missing — and, with no path given, always (launch#62 N1) — so a
|
|
44
|
+
* merchant's secret never rides an argv.
|
|
44
45
|
*/
|
|
45
46
|
token?: string;
|
|
46
47
|
/**
|
|
@@ -64,8 +65,8 @@ export interface InitOptions extends QuestionPromptInput, InitQuestionsInput {
|
|
|
64
65
|
apiUrl: string;
|
|
65
66
|
/**
|
|
66
67
|
* `--timeout <seconds>`: the longest the browser authorization may wait for
|
|
67
|
-
* an approval before init exits 3. Absent, the wait
|
|
68
|
-
* own window; `0` checks and refuses without waiting.
|
|
68
|
+
* an approval before init exits 3 — a reconnect's included. Absent, the wait
|
|
69
|
+
* is the authorization's own window; `0` checks and refuses without waiting.
|
|
69
70
|
*/
|
|
70
71
|
timeout?: number;
|
|
71
72
|
/**
|
|
@@ -101,12 +102,16 @@ export interface InitOptions extends QuestionPromptInput, InitQuestionsInput {
|
|
|
101
102
|
configOnly?: boolean;
|
|
102
103
|
}
|
|
103
104
|
/**
|
|
104
|
-
* Run `forgecart init`:
|
|
105
|
-
* (#
|
|
105
|
+
* Run `forgecart init`: on an existing project, the reconnect and its sync
|
|
106
|
+
* (launch#62 N1); otherwise the credentials, then the questions, then the
|
|
107
|
+
* scaffold (#2774).
|
|
106
108
|
*
|
|
107
|
-
* Resolves the target directory
|
|
108
|
-
*
|
|
109
|
-
*
|
|
109
|
+
* Resolves the target directory. A merchant's run in a directory holding
|
|
110
|
+
* `.forgecart/config.json` reconnects that project and runs `forgecart sync`'s
|
|
111
|
+
* round on it ({@link reconnect}) — no question, no template file. Otherwise
|
|
112
|
+
* it resolves the channel to wire (see {@link resolveChannelWiring}: the pod's
|
|
113
|
+
* `--token` drive, or the credential check and, when it comes up short or no
|
|
114
|
+
* path was given, the browser authorization), asks init's
|
|
110
115
|
* questions ({@link InitQuestions}) — refusing, before any file is written, a
|
|
111
116
|
* template the release does not render — scaffolds the storefront from the
|
|
112
117
|
* warmed template of the answers' identity when one is available (see {@link
|
|
@@ -4,6 +4,7 @@ import { Command, InvalidArgumentError, Option } from 'commander';
|
|
|
4
4
|
import { CliCredentialStep, DEFAULT_SHOP_API_URL } from '../authorization/cli-credential-step.js';
|
|
5
5
|
import { print } from '../output.js';
|
|
6
6
|
import { QuestionPromptAdapter } from '../question/question-prompt.adapter.js';
|
|
7
|
+
import { SYNC_EXCHANGE_TIMEOUT_SECONDS, SyncRunner } from '../sync/sync.runner.js';
|
|
7
8
|
import { TemplateSet } from '../template/template-set.js';
|
|
8
9
|
import { describeTemplateIdentity, isBlankTemplate, parseTemplateIdentity, PRE_IDENTITY_TEMPLATE, sameTemplateIdentity, } from '../template/util/template-identity.util.js';
|
|
9
10
|
import { mergeDotenv } from '../util/dotenv.util.js';
|
|
@@ -408,31 +409,73 @@ function printConfigOnly(targetDir, blank) {
|
|
|
408
409
|
print(' npm run dev');
|
|
409
410
|
print('');
|
|
410
411
|
}
|
|
412
|
+
/**
|
|
413
|
+
* How a merchant's run authorizes (launch#62 N1). With no path given, it
|
|
414
|
+
* always does: the merchant picks the store at `/authorize`, which preselects
|
|
415
|
+
* the one the sources name, even when all four keys are found. With a path,
|
|
416
|
+
* it authorizes only when a key is missing or refused. `--timeout` bounds the
|
|
417
|
+
* wait for the approval either way.
|
|
418
|
+
*/
|
|
419
|
+
function authorizationPolicyOf(name, options) {
|
|
420
|
+
return { timeoutSec: options.timeout, alwaysAuthorize: !name };
|
|
421
|
+
}
|
|
411
422
|
/**
|
|
412
423
|
* Resolve the channel a run wires (#2772). `--token` is the pod's drive: its
|
|
413
424
|
* flags are the whole configuration and nothing is checked. Otherwise the four
|
|
414
425
|
* credentials come through the credential step (launch#62 N3), which looks for
|
|
415
426
|
* them in the environment, `.env` and `.forgecart/config.json`. With all four
|
|
416
|
-
* found, init asks nothing
|
|
417
|
-
*
|
|
418
|
-
*
|
|
419
|
-
*
|
|
420
|
-
*
|
|
421
|
-
* ends
|
|
427
|
+
* found, init asks nothing — unless the `authorization` policy always
|
|
428
|
+
* authorizes, as a run with no path does (launch#62 N1). With any absent, or
|
|
429
|
+
* on that policy, the browser authorization runs against the admin API of the
|
|
430
|
+
* `--api-url` origin, unless a source names FORGECART_ADMIN_API_URL. The four
|
|
431
|
+
* keys the approval delivers land in `.env` the moment the poll delivers them.
|
|
432
|
+
* A run that later ends at a question keeps them, and its re-run asks for no
|
|
433
|
+
* authorization. An authorization that ends unapproved writes nothing.
|
|
422
434
|
*/
|
|
423
|
-
async function resolveChannelWiring(targetDir, options) {
|
|
435
|
+
async function resolveChannelWiring(targetDir, options, authorization) {
|
|
424
436
|
const token = options.token?.trim();
|
|
425
437
|
if (token)
|
|
426
438
|
return { channelToken: token, options, authorized: false };
|
|
427
439
|
assertNoPodDriveFlags(options);
|
|
428
|
-
const step = new CliCredentialStep({
|
|
429
|
-
targetDir,
|
|
430
|
-
shopApiUrl: options.apiUrl,
|
|
431
|
-
timeoutSec: options.timeout,
|
|
432
|
-
});
|
|
440
|
+
const step = new CliCredentialStep({ ...authorization, targetDir, shopApiUrl: options.apiUrl });
|
|
433
441
|
const { credentials, authorized } = await step.settle();
|
|
434
442
|
return wiredWith(options, credentials, authorized);
|
|
435
443
|
}
|
|
444
|
+
/**
|
|
445
|
+
* Whether the run reconnects an existing project (launch#62 N1): a merchant's
|
|
446
|
+
* run — neither the pod's `--token` drive nor `--config-only` — in a directory
|
|
447
|
+
* holding `.forgecart/config.json`, the record an earlier init left there.
|
|
448
|
+
*/
|
|
449
|
+
async function reconnectsProject(targetDir, options) {
|
|
450
|
+
if (options.token?.trim() || options.configOnly)
|
|
451
|
+
return false;
|
|
452
|
+
return isFile(join(targetDir, CONFIG_RELPATH));
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Reconnect an existing project and sync it (launch#62 N1). Nothing is asked
|
|
456
|
+
* and no template file is copied: init runs `forgecart sync`'s round on the
|
|
457
|
+
* project at once, with sync's output and exit codes. The round's first admin
|
|
458
|
+
* operation checks the four keys — accepted, the round runs on; missing or
|
|
459
|
+
* refused, the credential step authorizes first and the round runs on the
|
|
460
|
+
* keys the approval delivers. An authorization asks the admin API the
|
|
461
|
+
* project's sources name, never `--api-url`'s, which only a scaffold writes.
|
|
462
|
+
* `--yes`, `--answer` and `--answers-file` answer the round's divergence
|
|
463
|
+
* selection, as they do for `forgecart sync`.
|
|
464
|
+
*/
|
|
465
|
+
async function reconnect(name, options, authorization) {
|
|
466
|
+
assertNoPodDriveFlags(options);
|
|
467
|
+
print(`${CONFIG_RELPATH} found: reconnecting this project and syncing it.`);
|
|
468
|
+
await new SyncRunner(name, reconnectSyncOptions(options), authorization).run();
|
|
469
|
+
}
|
|
470
|
+
/** The round a reconnect runs: init's answers to the round's selection, and sync's own bound on one exchange. */
|
|
471
|
+
function reconnectSyncOptions(options) {
|
|
472
|
+
return {
|
|
473
|
+
answer: options.answer,
|
|
474
|
+
answersFile: options.answersFile,
|
|
475
|
+
yes: options.yes,
|
|
476
|
+
timeout: SYNC_EXCHANGE_TIMEOUT_SECONDS,
|
|
477
|
+
};
|
|
478
|
+
}
|
|
436
479
|
/** The run's wiring once the four credentials are known: they take the seats of the flags they name. */
|
|
437
480
|
function wiredWith(options, credentials, authorized) {
|
|
438
481
|
return {
|
|
@@ -487,12 +530,12 @@ function printEnvCommitNote(blank) {
|
|
|
487
530
|
* (#2773), settled first ({@link settleInPlaceDesignSystem}, #2808).
|
|
488
531
|
* The channel is resolved first ({@link resolveChannelWiring}, #2772).
|
|
489
532
|
*/
|
|
490
|
-
async function configureInPlace(targetDir, options, manifest) {
|
|
533
|
+
async function configureInPlace(targetDir, options, manifest, authorization) {
|
|
491
534
|
if (!(await isScaffolded(targetDir, manifest))) {
|
|
492
535
|
throw new Error(`--config-only requires an existing workspace at ${targetDir} ` +
|
|
493
536
|
'(no package.json found, and no template manifest naming a blank workspace).');
|
|
494
537
|
}
|
|
495
|
-
const wiring = await resolveChannelWiring(targetDir, options);
|
|
538
|
+
const wiring = await resolveChannelWiring(targetDir, options, authorization);
|
|
496
539
|
const scaffold = await readScaffoldRecord(targetDir);
|
|
497
540
|
const designSystem = await settleInPlaceDesignSystem(targetDir, manifest, scaffold);
|
|
498
541
|
await writeChannelConfig(targetDir, wiring.channelToken, wiring.options, scaffold, designSystem);
|
|
@@ -501,12 +544,16 @@ async function configureInPlace(targetDir, options, manifest) {
|
|
|
501
544
|
printConfigOnly(targetDir, blank);
|
|
502
545
|
}
|
|
503
546
|
/**
|
|
504
|
-
* Run `forgecart init`:
|
|
505
|
-
* (#
|
|
547
|
+
* Run `forgecart init`: on an existing project, the reconnect and its sync
|
|
548
|
+
* (launch#62 N1); otherwise the credentials, then the questions, then the
|
|
549
|
+
* scaffold (#2774).
|
|
506
550
|
*
|
|
507
|
-
* Resolves the target directory
|
|
508
|
-
*
|
|
509
|
-
*
|
|
551
|
+
* Resolves the target directory. A merchant's run in a directory holding
|
|
552
|
+
* `.forgecart/config.json` reconnects that project and runs `forgecart sync`'s
|
|
553
|
+
* round on it ({@link reconnect}) — no question, no template file. Otherwise
|
|
554
|
+
* it resolves the channel to wire (see {@link resolveChannelWiring}: the pod's
|
|
555
|
+
* `--token` drive, or the credential check and, when it comes up short or no
|
|
556
|
+
* path was given, the browser authorization), asks init's
|
|
510
557
|
* questions ({@link InitQuestions}) — refusing, before any file is written, a
|
|
511
558
|
* template the release does not render — scaffolds the storefront from the
|
|
512
559
|
* warmed template of the answers' identity when one is available (see {@link
|
|
@@ -522,16 +569,21 @@ async function configureInPlace(targetDir, options, manifest) {
|
|
|
522
569
|
*/
|
|
523
570
|
export async function runInit(name, options, templateSet) {
|
|
524
571
|
const targetDir = name ? resolve(process.cwd(), name) : process.cwd();
|
|
572
|
+
const authorization = authorizationPolicyOf(name, options);
|
|
573
|
+
if (await reconnectsProject(targetDir, options)) {
|
|
574
|
+
await reconnect(name, options, authorization);
|
|
575
|
+
return;
|
|
576
|
+
}
|
|
525
577
|
// The workspace's own record: its identity and its design-system seat, which
|
|
526
578
|
// belongs to the workspace, not to an init run — both init paths carry a seat
|
|
527
579
|
// it records into the files they rewrite (#2773), and settle the one the
|
|
528
580
|
// scaffold's answers determine where it records none (#2808).
|
|
529
581
|
const manifest = await readTemplateManifest(targetDir);
|
|
530
582
|
if (options.configOnly) {
|
|
531
|
-
await configureInPlace(targetDir, options, manifest);
|
|
583
|
+
await configureInPlace(targetDir, options, manifest, authorization);
|
|
532
584
|
return;
|
|
533
585
|
}
|
|
534
|
-
const wiring = await resolveChannelWiring(targetDir, options);
|
|
586
|
+
const wiring = await resolveChannelWiring(targetDir, options, authorization);
|
|
535
587
|
const questions = new InitQuestions(templateSet, options, new QuestionPromptAdapter(options));
|
|
536
588
|
const { answers, source } = await questions.ask();
|
|
537
589
|
const identity = { uiFramework: answers.uiFramework, example: answers.example };
|
|
@@ -568,8 +620,8 @@ export function createInitCommand() {
|
|
|
568
620
|
const ui = new Option('--ui <framework>', 'UI framework of the storefront; asked when omitted');
|
|
569
621
|
const example = new Option('--example <name>', 'Example the storefront starts from, or blank; asked when omitted');
|
|
570
622
|
const command = new Command('init')
|
|
571
|
-
.description('Scaffold a ForgeCart storefront in the target directory')
|
|
572
|
-
.argument('[name]', 'Target directory name
|
|
623
|
+
.description('Scaffold a ForgeCart storefront in the target directory, or reconnect the project it holds and sync it')
|
|
624
|
+
.argument('[name]', 'Target directory name; without one, init works in the current directory and authorizes in the browser even when the four FORGECART_* keys are set')
|
|
573
625
|
.addOption(new Option('-t, --token <token>', 'Channel token — the pod drive; a merchant authorizes in the browser instead').hideHelp())
|
|
574
626
|
.addOption(new Option('--admin-secret <secret>', 'Channel admin secret beside --token (written to .env only)').hideHelp())
|
|
575
627
|
.addOption(new Option('--admin-api-url <url>', 'Admin API URL beside --token (written to .env)').hideHelp())
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
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
|
-
import { SyncRunner } from '../sync/sync.runner.js';
|
|
4
|
+
import { SYNC_EXCHANGE_TIMEOUT_SECONDS, SyncRunner } from '../sync/sync.runner.js';
|
|
5
5
|
import { parseTimeoutSeconds } from '../util/timeout-seconds.util.js';
|
|
6
|
-
/** `--timeout`'s default: five minutes for one exchange — a push's landing runs the workspace's gates. */
|
|
7
|
-
const DEFAULT_TIMEOUT_SECONDS = 300;
|
|
8
6
|
/**
|
|
9
7
|
* Build the `sync [name]` command (#2781): its own flags and the question
|
|
10
8
|
* adapter's three, which answer the divergence selection. No flag carries a
|
|
@@ -20,7 +18,7 @@ export function createSyncCommand() {
|
|
|
20
18
|
.option('--dry-run', 'Print the plan and every path a push would send; move nothing')
|
|
21
19
|
.addOption(new Option('--timeout <seconds>', 'Seconds one exchange with the admin API may take, a push landing included, before sync exits 1')
|
|
22
20
|
.argParser(parseTimeoutSeconds)
|
|
23
|
-
.default(
|
|
21
|
+
.default(SYNC_EXCHANGE_TIMEOUT_SECONDS))
|
|
24
22
|
.action(async (name, options) => {
|
|
25
23
|
await new SyncRunner(name, options).run();
|
|
26
24
|
});
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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,6BAA6B,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE;;;;;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,6BAA6B,CAAC,CAC1C;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,CACV,4GAA4G,CAC7G;SACA,QAAQ,CAAC,QAAQ,EAAE,0DAA0D,CAAC;SAC9E,MAAM,CACL,SAAS,EACT,6EAA6E,CAC9E;SACA,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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import type { CliAuthorizationPolicy } from '../authorization/type/cli-authorization.types.js';
|
|
1
2
|
import type { SyncOptions } from './type/sync.types.js';
|
|
3
|
+
/**
|
|
4
|
+
* The longest one exchange with the admin API may take, in seconds, when the
|
|
5
|
+
* run is given no `--timeout`: five minutes — a push's landing runs the
|
|
6
|
+
* workspace's gates.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SYNC_EXCHANGE_TIMEOUT_SECONDS = 300;
|
|
2
9
|
/**
|
|
3
10
|
* `forgecart sync [name]` (#2781): keep the storefront's tree and the board's
|
|
4
11
|
* serving tree the same tree. The run first checks what it needs locally:
|
|
@@ -9,16 +16,20 @@ import type { SyncOptions } from './type/sync.types.js';
|
|
|
9
16
|
* machine at `/authorize` and writes the four delivered keys into `.env`.
|
|
10
17
|
* Without a terminal the step prints the URL and the code, waits for the
|
|
11
18
|
* authorization's window, and exits 3. Then the run does ONE round, or, with
|
|
12
|
-
* `--watch`, a round whenever a side moves until Ctrl-C.
|
|
19
|
+
* `--watch`, a round whenever a side moves until Ctrl-C. `forgecart init` on
|
|
20
|
+
* an existing project runs the same run (launch#62 N1), under the
|
|
21
|
+
* authorization policy its own flags set.
|
|
13
22
|
*/
|
|
14
23
|
export declare class SyncRunner {
|
|
15
24
|
private readonly name;
|
|
16
25
|
private readonly options;
|
|
26
|
+
private readonly authorization;
|
|
17
27
|
/**
|
|
18
28
|
* @param name the storefront directory as given — the current directory when absent.
|
|
19
29
|
* @param options the run's flags.
|
|
30
|
+
* @param authorization how the credential step authorizes — `forgecart sync` sets none.
|
|
20
31
|
*/
|
|
21
|
-
constructor(name: string | undefined, options: SyncOptions);
|
|
32
|
+
constructor(name: string | undefined, options: SyncOptions, authorization?: CliAuthorizationPolicy);
|
|
22
33
|
run(): Promise<void>;
|
|
23
34
|
/** `--dry-run` plans one round and moves nothing; it cannot watch. */
|
|
24
35
|
private assertFlags;
|
|
@@ -11,6 +11,12 @@ import { SyncRepository } from './sync-repository.js';
|
|
|
11
11
|
import { SyncRound } from './sync-round.js';
|
|
12
12
|
import { SyncWatch } from './sync-watch.js';
|
|
13
13
|
import { WorkspaceSyncClient } from './workspace-sync.client.js';
|
|
14
|
+
/**
|
|
15
|
+
* The longest one exchange with the admin API may take, in seconds, when the
|
|
16
|
+
* run is given no `--timeout`: five minutes — a push's landing runs the
|
|
17
|
+
* workspace's gates.
|
|
18
|
+
*/
|
|
19
|
+
export const SYNC_EXCHANGE_TIMEOUT_SECONDS = 300;
|
|
14
20
|
/**
|
|
15
21
|
* `forgecart sync [name]` (#2781): keep the storefront's tree and the board's
|
|
16
22
|
* serving tree the same tree. The run first checks what it needs locally:
|
|
@@ -21,25 +27,30 @@ import { WorkspaceSyncClient } from './workspace-sync.client.js';
|
|
|
21
27
|
* machine at `/authorize` and writes the four delivered keys into `.env`.
|
|
22
28
|
* Without a terminal the step prints the URL and the code, waits for the
|
|
23
29
|
* authorization's window, and exits 3. Then the run does ONE round, or, with
|
|
24
|
-
* `--watch`, a round whenever a side moves until Ctrl-C.
|
|
30
|
+
* `--watch`, a round whenever a side moves until Ctrl-C. `forgecart init` on
|
|
31
|
+
* an existing project runs the same run (launch#62 N1), under the
|
|
32
|
+
* authorization policy its own flags set.
|
|
25
33
|
*/
|
|
26
34
|
export class SyncRunner {
|
|
27
35
|
name;
|
|
28
36
|
options;
|
|
37
|
+
authorization;
|
|
29
38
|
/**
|
|
30
39
|
* @param name the storefront directory as given — the current directory when absent.
|
|
31
40
|
* @param options the run's flags.
|
|
41
|
+
* @param authorization how the credential step authorizes — `forgecart sync` sets none.
|
|
32
42
|
*/
|
|
33
|
-
constructor(name, options) {
|
|
43
|
+
constructor(name, options, authorization = {}) {
|
|
34
44
|
this.name = name;
|
|
35
45
|
this.options = options;
|
|
46
|
+
this.authorization = authorization;
|
|
36
47
|
}
|
|
37
48
|
async run() {
|
|
38
49
|
this.assertFlags();
|
|
39
50
|
const storefront = this.name ? resolve(process.cwd(), this.name) : process.cwd();
|
|
40
51
|
await SyncRepository.assertGitOnPath();
|
|
41
52
|
await this.assertStorefront(storefront);
|
|
42
|
-
const step = new CliCredentialStep({ targetDir: storefront });
|
|
53
|
+
const step = new CliCredentialStep({ ...this.authorization, targetDir: storefront });
|
|
43
54
|
await step.run(async (credentials) => this.sync(storefront, credentials));
|
|
44
55
|
}
|
|
45
56
|
/** `--dry-run` plans one round and moves nothing; it cannot watch. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.runner.js","sourceRoot":"","sources":["../../../src/sync/sync.runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"sync.runner.js","sourceRoot":"","sources":["../../../src/sync/sync.runner.ts"],"names":[],"mappings":"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"}
|