@capuchoo/cli 0.7.0 → 0.9.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/README.md +231 -22
- package/bin/run.js +22 -0
- package/dist/cli/members.d.ts +23 -0
- package/dist/cli/members.d.ts.map +1 -0
- package/dist/cli/members.js +38 -0
- package/dist/cli/members.js.map +1 -0
- package/dist/cli/menu.d.ts +38 -0
- package/dist/cli/menu.d.ts.map +1 -0
- package/dist/cli/menu.js +62 -0
- package/dist/cli/menu.js.map +1 -0
- package/dist/cli/onboarding.d.ts +41 -0
- package/dist/cli/onboarding.d.ts.map +1 -0
- package/dist/cli/onboarding.js +94 -0
- package/dist/cli/onboarding.js.map +1 -0
- package/dist/cli/prompts.d.ts +15 -0
- package/dist/cli/prompts.d.ts.map +1 -1
- package/dist/cli/prompts.js +42 -0
- package/dist/cli/prompts.js.map +1 -1
- package/dist/cli/team.d.ts +16 -0
- package/dist/cli/team.d.ts.map +1 -0
- package/dist/cli/team.js +32 -0
- package/dist/cli/team.js.map +1 -0
- package/dist/commands/app/grant.d.ts +11 -0
- package/dist/commands/app/grant.d.ts.map +1 -0
- package/dist/commands/app/grant.js +31 -0
- package/dist/commands/app/grant.js.map +1 -0
- package/dist/commands/app/list.d.ts.map +1 -1
- package/dist/commands/app/list.js +2 -1
- package/dist/commands/app/list.js.map +1 -1
- package/dist/commands/app/revoke.d.ts +13 -0
- package/dist/commands/app/revoke.d.ts.map +1 -0
- package/dist/commands/app/revoke.js +40 -0
- package/dist/commands/app/revoke.js.map +1 -0
- package/dist/commands/app/roles.d.ts +7 -0
- package/dist/commands/app/roles.d.ts.map +1 -0
- package/dist/commands/app/roles.js +30 -0
- package/dist/commands/app/roles.js.map +1 -0
- package/dist/commands/auth/issue.d.ts +12 -0
- package/dist/commands/auth/issue.d.ts.map +1 -0
- package/dist/commands/auth/issue.js +52 -0
- package/dist/commands/auth/issue.js.map +1 -0
- package/dist/commands/auth/keys.d.ts +7 -0
- package/dist/commands/auth/keys.d.ts.map +1 -0
- package/dist/commands/auth/keys.js +39 -0
- package/dist/commands/auth/keys.js.map +1 -0
- package/dist/commands/auth/login.d.ts +20 -0
- package/dist/commands/auth/login.d.ts.map +1 -1
- package/dist/commands/auth/login.js +90 -11
- package/dist/commands/auth/login.js.map +1 -1
- package/dist/commands/auth/revoke.d.ts +13 -0
- package/dist/commands/auth/revoke.d.ts.map +1 -0
- package/dist/commands/auth/revoke.js +48 -0
- package/dist/commands/auth/revoke.js.map +1 -0
- package/dist/commands/auth/whoami.d.ts.map +1 -1
- package/dist/commands/auth/whoami.js +2 -1
- package/dist/commands/auth/whoami.js.map +1 -1
- package/dist/commands/channel/list.d.ts.map +1 -1
- package/dist/commands/channel/list.js +2 -1
- package/dist/commands/channel/list.js.map +1 -1
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +86 -13
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts +35 -3
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +121 -29
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/menu.d.ts +42 -0
- package/dist/commands/menu.d.ts.map +1 -0
- package/dist/commands/menu.js +185 -0
- package/dist/commands/menu.js.map +1 -0
- package/dist/commands/org/invite.d.ts +14 -0
- package/dist/commands/org/invite.d.ts.map +1 -0
- package/dist/commands/org/invite.js +52 -0
- package/dist/commands/org/invite.js.map +1 -0
- package/dist/commands/org/members.d.ts +10 -0
- package/dist/commands/org/members.d.ts.map +1 -0
- package/dist/commands/org/members.js +49 -0
- package/dist/commands/org/members.js.map +1 -0
- package/dist/deploy/execute.d.ts.map +1 -1
- package/dist/deploy/execute.js +25 -5
- package/dist/deploy/execute.js.map +1 -1
- package/dist/deploy/signing.d.ts +24 -0
- package/dist/deploy/signing.d.ts.map +1 -0
- package/dist/deploy/signing.js +57 -0
- package/dist/deploy/signing.js.map +1 -0
- package/dist/pipeline/android-signing.d.ts +41 -0
- package/dist/pipeline/android-signing.d.ts.map +1 -0
- package/dist/pipeline/android-signing.js +82 -0
- package/dist/pipeline/android-signing.js.map +1 -0
- package/dist/pipeline/app-identity.d.ts +35 -0
- package/dist/pipeline/app-identity.d.ts.map +1 -0
- package/dist/pipeline/app-identity.js +109 -0
- package/dist/pipeline/app-identity.js.map +1 -0
- package/dist/pipeline/capacitor-support.d.ts +1 -1
- package/dist/pipeline/capacitor-support.js +1 -1
- package/dist/services/cloud.d.ts +82 -2
- package/dist/services/cloud.d.ts.map +1 -1
- package/dist/services/cloud.js +85 -4
- package/dist/services/cloud.js.map +1 -1
- package/dist/utils/http.d.ts +5 -0
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +13 -2
- package/dist/utils/http.js.map +1 -1
- package/oclif.manifest.json +397 -84
- package/package.json +5 -5
package/dist/commands/init.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { askText, confirm,
|
|
2
|
-
import { ENVIRONMENTS, PROJECT_CONFIG_VERSION, canCreateApps, canPublishTo, defaultFlavour, environmentMismatchWarning, suggestEnvironment, isValidBundleId, } from "@capuchoo/core";
|
|
1
|
+
import { askText, confirm, log, selectOne, whileWaiting } from "../cli/prompts.js";
|
|
2
|
+
import { DEFAULT_CHANNELS, ENVIRONMENTS, PROJECT_CONFIG_VERSION, canCreateApps, canPublishTo, defaultFlavour, environmentMismatchWarning, suggestEnvironment, isValidBundleId, } from "@capuchoo/core";
|
|
3
3
|
import { Flags } from "@oclif/core";
|
|
4
4
|
import chalk from "chalk";
|
|
5
5
|
import fs from "node:fs";
|
|
6
6
|
import path from "node:path";
|
|
7
7
|
import ora from "ora";
|
|
8
|
+
import { conflictingIds, detectIdentity, } from "../pipeline/app-identity.js";
|
|
8
9
|
import { CloudClient } from "../services/cloud.js";
|
|
9
10
|
import { projectConfigPath, readProjectConfig, resolveCredentials, writeProjectConfig, } from "../utils/config.js";
|
|
10
11
|
import AuthLogin from "./auth/login.js";
|
|
@@ -93,16 +94,9 @@ export default class Init extends BaseCommand {
|
|
|
93
94
|
this.error(`The credentials for ${credentials.endpoint} were rejected.`);
|
|
94
95
|
}
|
|
95
96
|
// --- pick or create the app ---------------------------------------------
|
|
96
|
-
const mode = flags
|
|
97
|
-
? "existing"
|
|
98
|
-
: flags.create
|
|
99
|
-
? "new"
|
|
100
|
-
: await selectOne("Should this directory publish to an existing app, or a new one?", [
|
|
101
|
-
{ value: "existing", label: "An app that already exists" },
|
|
102
|
-
{ value: "new", label: "A new app" },
|
|
103
|
-
], "--link or --create");
|
|
97
|
+
const mode = await this.resolveMode(cloud, appDir, flags);
|
|
104
98
|
const app = mode === "existing"
|
|
105
|
-
? await this.linkExisting(cloud, flags["app-id"])
|
|
99
|
+
? await this.linkExisting(cloud, flags["app-id"] ?? this.detectIdentity(appDir).appId?.value)
|
|
106
100
|
: await this.createNew(cloud, {
|
|
107
101
|
name: flags.name,
|
|
108
102
|
appId: flags["app-id"],
|
|
@@ -177,28 +171,24 @@ export default class Init extends BaseCommand {
|
|
|
177
171
|
this.log("");
|
|
178
172
|
}
|
|
179
173
|
/**
|
|
180
|
-
* Creates the
|
|
181
|
-
*
|
|
182
|
-
*
|
|
174
|
+
* Creates the channels a linked app needs before anything can be deployed.
|
|
175
|
+
*
|
|
176
|
+
* Without `--channel` this creates the standard three - prod, staging and dev,
|
|
177
|
+
* each on its matching environment. That is the pipeline every app wants, and
|
|
178
|
+
* an app that had none failed its first deploy on a channel/environment
|
|
179
|
+
* pairing the user had to work out from an error message.
|
|
180
|
+
*
|
|
181
|
+
* `--channel <name>` still creates exactly one, because naming a channel is a
|
|
182
|
+
* statement of intent: a per-client or A/B channel is an audience rather than
|
|
183
|
+
* a stage, and belongs on the prod environment rather than in a set of three.
|
|
183
184
|
*/
|
|
184
185
|
async offerFirstChannel(cloud, app, requested) {
|
|
185
|
-
this.log(chalk.yellow(" This app has no channel yet, so nothing can be deployed to it."));
|
|
186
|
-
this.log(chalk.dim(" A channel's environment is what tells the CLI which flavour to build.\n"));
|
|
187
186
|
const name = requested?.trim();
|
|
188
|
-
if (!name && !isInteractive()) {
|
|
189
|
-
this.log(chalk.dim(" Create one with: ") +
|
|
190
|
-
chalk.cyan("capuchoo channel create staging") +
|
|
191
|
-
chalk.dim(" (or pass --channel)"));
|
|
192
|
-
return;
|
|
193
|
-
}
|
|
194
187
|
if (!name) {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
this.log(chalk.dim(" Later: ") + chalk.cyan("capuchoo channel create staging"));
|
|
198
|
-
return;
|
|
199
|
-
}
|
|
188
|
+
await this.createDefaultChannels(cloud, app);
|
|
189
|
+
return;
|
|
200
190
|
}
|
|
201
|
-
const chosen = name
|
|
191
|
+
const chosen = name;
|
|
202
192
|
const environment = suggestEnvironment(chosen) ??
|
|
203
193
|
(await selectOne(`Which flavour should "${chosen}" serve?`, ENVIRONMENTS.map((value) => ({ value, label: value })), "--channel <name> with a name like staging"));
|
|
204
194
|
const warning = environmentMismatchWarning(chosen, environment);
|
|
@@ -218,6 +208,66 @@ export default class Init extends BaseCommand {
|
|
|
218
208
|
this.log(chalk.dim(` Retry with: capuchoo channel create ${chosen}`));
|
|
219
209
|
}
|
|
220
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Creates prod, staging and dev, each on its matching environment.
|
|
213
|
+
*
|
|
214
|
+
* Created rather than offered one at a time: an app with no channel cannot be
|
|
215
|
+
* deployed to at all, and these three are never the wrong answer - they are
|
|
216
|
+
* the environments the CLI already builds for. Asking "channel name?" made the
|
|
217
|
+
* first thing a new user saw a question they had no basis to answer.
|
|
218
|
+
*
|
|
219
|
+
* Each is attempted independently. A partial result is useful, and one
|
|
220
|
+
* failure - a name already taken, say - should not cost the other two.
|
|
221
|
+
*/
|
|
222
|
+
async createDefaultChannels(cloud, app) {
|
|
223
|
+
this.log(chalk.bold(" channels"));
|
|
224
|
+
const created = [];
|
|
225
|
+
const failed = [];
|
|
226
|
+
for (const { name, environment } of DEFAULT_CHANNELS) {
|
|
227
|
+
try {
|
|
228
|
+
await cloud.createChannel({ app_id: app.id, name, environment });
|
|
229
|
+
this.log(` ${chalk.green("+")} ${name} ${chalk.dim(`(${environment})`)}`);
|
|
230
|
+
created.push(name);
|
|
231
|
+
}
|
|
232
|
+
catch (error) {
|
|
233
|
+
this.log(` ${chalk.yellow("!")} ${name} ${chalk.dim(error instanceof Error ? error.message : String(error))}`);
|
|
234
|
+
failed.push(name);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
this.log("");
|
|
238
|
+
if (created.length > 0) {
|
|
239
|
+
this.log(chalk.dim(" Deploy with: ") + chalk.cyan(`capuchoo deploy ota --channel ${created[0]}`));
|
|
240
|
+
}
|
|
241
|
+
if (failed.length > 0) {
|
|
242
|
+
this.log(chalk.dim(` Retry the rest with: capuchoo channel create ${failed[0]}`));
|
|
243
|
+
}
|
|
244
|
+
// A channel per client, or per A/B arm, is an audience rather than a stage -
|
|
245
|
+
// one more channel on the prod environment, not another set of three.
|
|
246
|
+
this.log(chalk.dim(" A client or A/B channel is an extra one on prod: ") +
|
|
247
|
+
chalk.cyan("capuchoo channel create <name>"));
|
|
248
|
+
}
|
|
249
|
+
/** Reads the files that declare an app's identity, skipping any that are absent. */
|
|
250
|
+
projectFiles(appDir) {
|
|
251
|
+
const read = (...parts) => {
|
|
252
|
+
const file = path.join(appDir, ...parts);
|
|
253
|
+
return fs.existsSync(file) ? fs.readFileSync(file, "utf8") : undefined;
|
|
254
|
+
};
|
|
255
|
+
const capacitorConfig = ["capacitor.config.ts", "capacitor.config.js", "capacitor.config.json"]
|
|
256
|
+
.map((name) => read(name))
|
|
257
|
+
.find(Boolean);
|
|
258
|
+
return {
|
|
259
|
+
capacitorConfig,
|
|
260
|
+
buildGradle: read("android", "app", "build.gradle"),
|
|
261
|
+
envFile: read(defaultFlavour("prod").envFile),
|
|
262
|
+
packageJson: read("package.json"),
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
detectIdentity(appDir) {
|
|
266
|
+
return detectIdentity(this.projectFiles(appDir));
|
|
267
|
+
}
|
|
268
|
+
conflictingIds(appDir, chosen) {
|
|
269
|
+
return conflictingIds(this.projectFiles(appDir), chosen);
|
|
270
|
+
}
|
|
221
271
|
/** Detects which flavours the project actually has files for. */
|
|
222
272
|
detectFlavours(appDir) {
|
|
223
273
|
const found = {};
|
|
@@ -241,6 +291,35 @@ export default class Init extends BaseCommand {
|
|
|
241
291
|
}
|
|
242
292
|
return "dist";
|
|
243
293
|
}
|
|
294
|
+
/**
|
|
295
|
+
* Whether to link or create, answered by the project rather than asked.
|
|
296
|
+
*
|
|
297
|
+
* "Existing app, or a new one?" was the first question `init` asked, and the
|
|
298
|
+
* project already knows: the bundle id it declares either exists on the
|
|
299
|
+
* account or it does not. Only an ambiguous project - no detectable id - is
|
|
300
|
+
* still a question.
|
|
301
|
+
*/
|
|
302
|
+
async resolveMode(cloud, appDir, flags) {
|
|
303
|
+
if (flags.link)
|
|
304
|
+
return "existing";
|
|
305
|
+
if (flags.create)
|
|
306
|
+
return "new";
|
|
307
|
+
const wanted = flags["app-id"] ?? this.detectIdentity(appDir).appId?.value;
|
|
308
|
+
if (wanted) {
|
|
309
|
+
const apps = await whileWaiting("Looking for this app...", cloud.apps()).catch(() => null);
|
|
310
|
+
if (apps) {
|
|
311
|
+
const match = apps.find((app) => app.app_id === wanted);
|
|
312
|
+
log.info(match
|
|
313
|
+
? `${wanted} already exists on this account - linking to it.`
|
|
314
|
+
: `${wanted} is not on this account yet - creating it.`);
|
|
315
|
+
return match ? "existing" : "new";
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
return selectOne("Should this directory publish to an existing app, or a new one?", [
|
|
319
|
+
{ value: "existing", label: "An app that already exists" },
|
|
320
|
+
{ value: "new", label: "A new app" },
|
|
321
|
+
], "--link or --create");
|
|
322
|
+
}
|
|
244
323
|
async linkExisting(cloud, wanted) {
|
|
245
324
|
const spinner = ora({ text: "Fetching apps", stream: process.stderr }).start();
|
|
246
325
|
const apps = await cloud.apps();
|
|
@@ -284,19 +363,32 @@ export default class Init extends BaseCommand {
|
|
|
284
363
|
(allowed.length === 1
|
|
285
364
|
? allowed[0].id
|
|
286
365
|
: await selectOne("Organization", allowed.map((org) => ({ value: org.id, label: org.name, hint: org.role })), "--org"));
|
|
366
|
+
// Detected, then confirmed. The project already declares both, and the
|
|
367
|
+
// bundle id in particular is not a free choice: the device reports whatever
|
|
368
|
+
// is compiled into the binary, so a value typed here that disagrees produces
|
|
369
|
+
// "App not found" on a phone and nowhere earlier.
|
|
370
|
+
const detected = this.detectIdentity(process.cwd());
|
|
371
|
+
if (detected.appId) {
|
|
372
|
+
log.info(`Bundle id ${detected.appId.value} - from ${detected.appId.source}`);
|
|
373
|
+
}
|
|
287
374
|
const name = given.name?.trim() ||
|
|
288
375
|
(await askText("App name", {
|
|
289
|
-
initial: path.basename(process.cwd()),
|
|
376
|
+
initial: detected.appName?.value ?? path.basename(process.cwd()),
|
|
290
377
|
flag: "--name",
|
|
291
378
|
}));
|
|
292
379
|
const appId = given.appId?.trim() ||
|
|
293
380
|
(await askText("Production bundle identifier", {
|
|
381
|
+
initial: detected.appId?.value ?? "",
|
|
294
382
|
placeholder: "com.company.app",
|
|
295
383
|
flag: "--app-id",
|
|
296
384
|
validate: (value) => isValidBundleId(value.trim())
|
|
297
385
|
? undefined
|
|
298
386
|
: "Expected something like com.company.app - lower case, at least two segments",
|
|
299
387
|
}));
|
|
388
|
+
for (const conflict of this.conflictingIds(process.cwd(), appId.trim())) {
|
|
389
|
+
log.warn(`${conflict.source} says ${conflict.value}. A device reports the id compiled ` +
|
|
390
|
+
"into its binary, so these have to match or the server will not find the app.");
|
|
391
|
+
}
|
|
300
392
|
if (!isValidBundleId(appId)) {
|
|
301
393
|
this.error(`"${appId}" is not a bundle identifier. Expected something like com.company.app - ` +
|
|
302
394
|
"lower case, at least two segments.");
|
|
@@ -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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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BaseCommand } from "../base-command.js";
|
|
2
|
+
/**
|
|
3
|
+
* What `capuchoo` does with no arguments.
|
|
4
|
+
*
|
|
5
|
+
* It printed help and exited, so finding anything meant typing a topic, reading
|
|
6
|
+
* the output, typing a subcommand, and getting `command channeml not found` for
|
|
7
|
+
* a typo. This is a loop: pick, run, come back.
|
|
8
|
+
*
|
|
9
|
+
* Non-interactive callers get the help text and exit 0 instead of a prompt that
|
|
10
|
+
* can never be answered. A CI job that runs `capuchoo` by mistake must not hang
|
|
11
|
+
* forever waiting on a keystroke.
|
|
12
|
+
*/
|
|
13
|
+
export default class Menu extends BaseCommand {
|
|
14
|
+
static description: string;
|
|
15
|
+
static examples: string[];
|
|
16
|
+
run(): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Context before the first prompt.
|
|
19
|
+
*
|
|
20
|
+
* Which app the directory is linked to is the thing you most want confirmed
|
|
21
|
+
* before running a deploy, and it is cheap - `readProjectConfig` reads a local
|
|
22
|
+
* file. Nothing here touches the network: the menu must appear instantly, and
|
|
23
|
+
* the backend is on a host that can take fifteen seconds to wake.
|
|
24
|
+
*/
|
|
25
|
+
private showHeader;
|
|
26
|
+
/** Everything knowable without a request. */
|
|
27
|
+
private localFacts;
|
|
28
|
+
private loop;
|
|
29
|
+
/** The recommended step first, then everything else. */
|
|
30
|
+
private chooseTopLevel;
|
|
31
|
+
private chooseInTopic;
|
|
32
|
+
/**
|
|
33
|
+
* Runs a command and returns to the menu.
|
|
34
|
+
*
|
|
35
|
+
* A command's own failure is reported and swallowed rather than ending the
|
|
36
|
+
* session: a failed deploy is exactly the moment you want to run `doctor`
|
|
37
|
+
* next, and being dropped back to the shell to retype `npx capuchoo` is the
|
|
38
|
+
* friction this command exists to remove.
|
|
39
|
+
*/
|
|
40
|
+
private runAndReturn;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=menu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/commands/menu.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAoBjD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,OAAgB,WAAW,SAA2C;IAEtE,OAAgB,QAAQ,WAAmD;IAErE,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA2B1B;;;;;;;OAOG;IACH,OAAO,CAAC,UAAU;IAwBlB,6CAA6C;IAC7C,OAAO,CAAC,UAAU;YA4BJ,IAAI;IAmBlB,wDAAwD;YAC1C,cAAc;YAgDd,aAAa;IAkB3B;;;;;;;OAOG;YACW,YAAY;CAuB3B"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import chalk from "chalk";
|
|
2
|
+
import { BaseCommand } from "../base-command.js";
|
|
3
|
+
import { buildMenu, menuSize } from "../cli/menu.js";
|
|
4
|
+
import fs from "node:fs";
|
|
5
|
+
import path from "node:path";
|
|
6
|
+
import { PromptCancelled, isInteractive, selectOne } from "../cli/prompts.js";
|
|
7
|
+
import { hiddenCommands, isBlocked, labelFor, resolveOnboarding, } from "../cli/onboarding.js";
|
|
8
|
+
import { readProjectConfig, resolveCredentials } from "../utils/config.js";
|
|
9
|
+
const BACK = Symbol("back");
|
|
10
|
+
const QUIT = Symbol("quit");
|
|
11
|
+
/**
|
|
12
|
+
* What `capuchoo` does with no arguments.
|
|
13
|
+
*
|
|
14
|
+
* It printed help and exited, so finding anything meant typing a topic, reading
|
|
15
|
+
* the output, typing a subcommand, and getting `command channeml not found` for
|
|
16
|
+
* a typo. This is a loop: pick, run, come back.
|
|
17
|
+
*
|
|
18
|
+
* Non-interactive callers get the help text and exit 0 instead of a prompt that
|
|
19
|
+
* can never be answered. A CI job that runs `capuchoo` by mistake must not hang
|
|
20
|
+
* forever waiting on a keystroke.
|
|
21
|
+
*/
|
|
22
|
+
export default class Menu extends BaseCommand {
|
|
23
|
+
static description = "Browse and run commands interactively";
|
|
24
|
+
static examples = ["<%= config.bin %>", "<%= config.bin %> menu"];
|
|
25
|
+
async run() {
|
|
26
|
+
if (!isInteractive()) {
|
|
27
|
+
await this.config.runCommand("help", []);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
// Local only, so the menu appears at once. Channel state needs the network
|
|
31
|
+
// against a backend that sleeps, and is filled in lazily below.
|
|
32
|
+
const facts = this.localFacts();
|
|
33
|
+
const state = resolveOnboarding(facts);
|
|
34
|
+
const menu = buildMenu({
|
|
35
|
+
commands: this.config.commands.filter((command) => !hiddenCommands(facts).has(command.id)),
|
|
36
|
+
topics: this.config.topics,
|
|
37
|
+
});
|
|
38
|
+
this.showHeader(menu, facts, state);
|
|
39
|
+
try {
|
|
40
|
+
await this.loop(menu, facts, state);
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
// Ctrl+C at a menu is how you leave, not a crash.
|
|
44
|
+
if (error instanceof PromptCancelled)
|
|
45
|
+
return;
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Context before the first prompt.
|
|
51
|
+
*
|
|
52
|
+
* Which app the directory is linked to is the thing you most want confirmed
|
|
53
|
+
* before running a deploy, and it is cheap - `readProjectConfig` reads a local
|
|
54
|
+
* file. Nothing here touches the network: the menu must appear instantly, and
|
|
55
|
+
* the backend is on a host that can take fifteen seconds to wake.
|
|
56
|
+
*/
|
|
57
|
+
showHeader(menu, facts, state) {
|
|
58
|
+
const project = readProjectConfig(process.cwd());
|
|
59
|
+
this.log("");
|
|
60
|
+
this.log(` ${chalk.bold("Capuchoo")} ${chalk.dim(this.config.version)}`);
|
|
61
|
+
this.log(project
|
|
62
|
+
? ` ${chalk.dim("linked to")} ${project.appName} ${chalk.dim(`(${project.appId})`)}`
|
|
63
|
+
: facts.signedIn
|
|
64
|
+
? ` ${chalk.dim("not linked yet")}`
|
|
65
|
+
: ` ${chalk.dim("not signed in")}`);
|
|
66
|
+
if (state.next) {
|
|
67
|
+
this.log("");
|
|
68
|
+
this.log(` ${chalk.green("Next")} ${chalk.bold(state.next.label)}`);
|
|
69
|
+
this.log(` ${chalk.dim(state.next.why)}`);
|
|
70
|
+
}
|
|
71
|
+
this.log("");
|
|
72
|
+
this.log(` ${chalk.dim(`${menuSize(menu)} commands available`)}`);
|
|
73
|
+
this.log("");
|
|
74
|
+
}
|
|
75
|
+
/** Everything knowable without a request. */
|
|
76
|
+
localFacts() {
|
|
77
|
+
const appDir = process.cwd();
|
|
78
|
+
const manifestPath = path.join(appDir, "package.json");
|
|
79
|
+
const inAppDirectory = fs.existsSync(manifestPath);
|
|
80
|
+
let updaterInstalled = false;
|
|
81
|
+
if (inAppDirectory) {
|
|
82
|
+
try {
|
|
83
|
+
const manifest = JSON.parse(fs.readFileSync(manifestPath, "utf8"));
|
|
84
|
+
updaterInstalled = Boolean({ ...manifest.dependencies, ...manifest.devDependencies }["@capuchoo/updater"]);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// A malformed manifest is the app's problem, not the menu's.
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
return {
|
|
91
|
+
signedIn: resolveCredentials() !== null,
|
|
92
|
+
inAppDirectory,
|
|
93
|
+
linked: readProjectConfig(appDir) !== null,
|
|
94
|
+
updaterInstalled,
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
async loop(menu, facts, state) {
|
|
98
|
+
for (;;) {
|
|
99
|
+
const choice = await this.chooseTopLevel(menu, facts, state);
|
|
100
|
+
if (choice === QUIT)
|
|
101
|
+
return;
|
|
102
|
+
const command = choice.kind === "command" ? choice.command : await this.chooseInTopic(menu, choice.topic);
|
|
103
|
+
// Back out of a topic without running anything.
|
|
104
|
+
if (command === BACK)
|
|
105
|
+
continue;
|
|
106
|
+
await this.runAndReturn(command);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
/** The recommended step first, then everything else. */
|
|
110
|
+
async chooseTopLevel(menu, facts, state) {
|
|
111
|
+
const all = [...menu.commands, ...menu.topics.flatMap((topic) => topic.commands)];
|
|
112
|
+
const recommended = state.next
|
|
113
|
+
? all.find((command) => command.id === state.next.command)
|
|
114
|
+
: undefined;
|
|
115
|
+
const entry = (command) => ({
|
|
116
|
+
value: { kind: "command", command },
|
|
117
|
+
label: labelFor(command.id, facts) ?? command.label,
|
|
118
|
+
hint: command.description,
|
|
119
|
+
});
|
|
120
|
+
// Signed out, the whole menu is noise: nothing else can succeed.
|
|
121
|
+
if (isBlocked(state) && recommended) {
|
|
122
|
+
return selectOne(state.next.label, [
|
|
123
|
+
{ ...entry(recommended), label: `${recommended.label} ${chalk.green("(next)")}` },
|
|
124
|
+
{ value: QUIT, label: "Quit", hint: "" },
|
|
125
|
+
], "--help");
|
|
126
|
+
}
|
|
127
|
+
return selectOne("What would you like to do?", [
|
|
128
|
+
...(recommended
|
|
129
|
+
? [{ ...entry(recommended), label: `${recommended.label} ${chalk.green("(next)")}` }]
|
|
130
|
+
: []),
|
|
131
|
+
...menu.commands
|
|
132
|
+
.filter((command) => command.id !== recommended?.id)
|
|
133
|
+
.map((command) => entry(command)),
|
|
134
|
+
...menu.topics.map((topic) => ({
|
|
135
|
+
value: { kind: "topic", topic: topic.name },
|
|
136
|
+
label: `${topic.name} ${chalk.dim("›")}`,
|
|
137
|
+
hint: topic.description,
|
|
138
|
+
})),
|
|
139
|
+
{ value: QUIT, label: "Quit", hint: "" },
|
|
140
|
+
], "--help");
|
|
141
|
+
}
|
|
142
|
+
async chooseInTopic(menu, name) {
|
|
143
|
+
const topic = menu.topics.find((entry) => entry.name === name);
|
|
144
|
+
if (!topic)
|
|
145
|
+
return BACK;
|
|
146
|
+
return selectOne(topic.description, [
|
|
147
|
+
...topic.commands.map((command) => ({
|
|
148
|
+
value: command,
|
|
149
|
+
label: command.label,
|
|
150
|
+
hint: command.description,
|
|
151
|
+
})),
|
|
152
|
+
{ value: BACK, label: "← Back", hint: "" },
|
|
153
|
+
], "--help");
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Runs a command and returns to the menu.
|
|
157
|
+
*
|
|
158
|
+
* A command's own failure is reported and swallowed rather than ending the
|
|
159
|
+
* session: a failed deploy is exactly the moment you want to run `doctor`
|
|
160
|
+
* next, and being dropped back to the shell to retype `npx capuchoo` is the
|
|
161
|
+
* friction this command exists to remove.
|
|
162
|
+
*/
|
|
163
|
+
async runAndReturn(command) {
|
|
164
|
+
this.log("");
|
|
165
|
+
this.log(chalk.dim(` ${this.config.bin} ${command.id.replaceAll(":", " ")}`));
|
|
166
|
+
this.log("");
|
|
167
|
+
try {
|
|
168
|
+
await this.config.runCommand(command.id, []);
|
|
169
|
+
}
|
|
170
|
+
catch (error) {
|
|
171
|
+
if (error instanceof PromptCancelled) {
|
|
172
|
+
this.log(chalk.dim("\n Cancelled."));
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
176
|
+
// oclif's own exit signal, thrown by this.exit(0) on success.
|
|
177
|
+
if (/EEXIT: 0/.test(message))
|
|
178
|
+
return;
|
|
179
|
+
this.log("");
|
|
180
|
+
this.log(` ${chalk.red("✗")} ${message.split("\n")[0]}`);
|
|
181
|
+
}
|
|
182
|
+
this.log("");
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/commands/menu.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command.js";
|
|
2
|
+
export default class OrgInvite extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static args: {
|
|
6
|
+
email: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
7
|
+
role: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
|
|
8
|
+
};
|
|
9
|
+
static flags: {
|
|
10
|
+
org: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
};
|
|
12
|
+
run(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=invite.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invite.d.ts","sourceRoot":"","sources":["../../../src/commands/org/invite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,OAAgB,WAAW,SAAgD;IAE3E,OAAgB,QAAQ,WAA2D;IAEnF,OAAgB,IAAI;;;MAOlB;IAEF,OAAgB,KAAK;;MAEnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CA+C3B"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Args, Flags } from "@oclif/core";
|
|
2
|
+
import chalk from "chalk";
|
|
3
|
+
import { BaseCommand } from "../../base-command.js";
|
|
4
|
+
import { selectOne, whileWaiting } from "../../cli/prompts.js";
|
|
5
|
+
import { ORG_ROLES, requireCloud } from "../../cli/team.js";
|
|
6
|
+
export default class OrgInvite extends BaseCommand {
|
|
7
|
+
static description = "Add an existing account to an organization";
|
|
8
|
+
static examples = ["<%= config.bin %> org invite dev@company.com member"];
|
|
9
|
+
static args = {
|
|
10
|
+
email: Args.string({ description: "Account to add", required: true }),
|
|
11
|
+
role: Args.string({
|
|
12
|
+
description: `One of ${ORG_ROLES.join(", ")}`,
|
|
13
|
+
required: true,
|
|
14
|
+
options: [...ORG_ROLES],
|
|
15
|
+
}),
|
|
16
|
+
};
|
|
17
|
+
static flags = {
|
|
18
|
+
org: Flags.string({ description: "Organization by name or id" }),
|
|
19
|
+
};
|
|
20
|
+
async run() {
|
|
21
|
+
const { args, flags } = await this.parse(OrgInvite);
|
|
22
|
+
const cloud = requireCloud(this);
|
|
23
|
+
const organizations = await whileWaiting("Reading organizations...", cloud.organizations());
|
|
24
|
+
const admin = organizations.filter((org) => org.role === "owner" || org.role === "admin");
|
|
25
|
+
if (admin.length === 0) {
|
|
26
|
+
this.error("Only an owner or admin can add members, and this account is neither.");
|
|
27
|
+
}
|
|
28
|
+
const wanted = flags.org?.trim().toLowerCase();
|
|
29
|
+
const organization = wanted
|
|
30
|
+
? admin.find((org) => org.name.toLowerCase() === wanted || org.id.toLowerCase() === wanted)
|
|
31
|
+
: admin.length === 1
|
|
32
|
+
? admin[0]
|
|
33
|
+
: await selectOne("Which organization?", admin.map((org) => ({ value: org, label: org.name, hint: org.role })), "--org");
|
|
34
|
+
if (!organization) {
|
|
35
|
+
this.error(`No organization called "${flags.org}" that this account administers. ` +
|
|
36
|
+
`Available: ${admin.map((org) => org.name).join(", ")}.`);
|
|
37
|
+
}
|
|
38
|
+
// The server resolves the address; there is no signup here, so the account
|
|
39
|
+
// has to exist already.
|
|
40
|
+
await whileWaiting("Adding...", cloud.addOrgMember(organization.id, args.email.trim(), args.role));
|
|
41
|
+
this.log("");
|
|
42
|
+
this.log(` ${chalk.green("Added")} ${args.email} to ${organization.name} as ${chalk.bold(args.role)}`);
|
|
43
|
+
if (args.role === "owner" || args.role === "admin") {
|
|
44
|
+
this.log(chalk.yellow(" That is admin rights on every app in the organization."));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
this.log(chalk.dim(" Grant app access with: capuchoo app grant <email> <role>"));
|
|
48
|
+
}
|
|
49
|
+
this.log("");
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=invite.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invite.js","sourceRoot":"","sources":["../../../src/commands/org/invite.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BaseCommand } from "../../base-command.js";
|
|
2
|
+
export default class OrgMembers extends BaseCommand {
|
|
3
|
+
static description: string;
|
|
4
|
+
static examples: string[];
|
|
5
|
+
static flags: {
|
|
6
|
+
org: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
7
|
+
};
|
|
8
|
+
run(): Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../src/commands/org/members.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,WAAW;IACjD,OAAgB,WAAW,SAAwC;IAEnE,OAAgB,QAAQ,WAAqC;IAE7D,OAAgB,KAAK;;MAEnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoD3B"}
|