@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.
Files changed (106) hide show
  1. package/README.md +231 -22
  2. package/bin/run.js +22 -0
  3. package/dist/cli/members.d.ts +23 -0
  4. package/dist/cli/members.d.ts.map +1 -0
  5. package/dist/cli/members.js +38 -0
  6. package/dist/cli/members.js.map +1 -0
  7. package/dist/cli/menu.d.ts +38 -0
  8. package/dist/cli/menu.d.ts.map +1 -0
  9. package/dist/cli/menu.js +62 -0
  10. package/dist/cli/menu.js.map +1 -0
  11. package/dist/cli/onboarding.d.ts +41 -0
  12. package/dist/cli/onboarding.d.ts.map +1 -0
  13. package/dist/cli/onboarding.js +94 -0
  14. package/dist/cli/onboarding.js.map +1 -0
  15. package/dist/cli/prompts.d.ts +15 -0
  16. package/dist/cli/prompts.d.ts.map +1 -1
  17. package/dist/cli/prompts.js +42 -0
  18. package/dist/cli/prompts.js.map +1 -1
  19. package/dist/cli/team.d.ts +16 -0
  20. package/dist/cli/team.d.ts.map +1 -0
  21. package/dist/cli/team.js +32 -0
  22. package/dist/cli/team.js.map +1 -0
  23. package/dist/commands/app/grant.d.ts +11 -0
  24. package/dist/commands/app/grant.d.ts.map +1 -0
  25. package/dist/commands/app/grant.js +31 -0
  26. package/dist/commands/app/grant.js.map +1 -0
  27. package/dist/commands/app/list.d.ts.map +1 -1
  28. package/dist/commands/app/list.js +2 -1
  29. package/dist/commands/app/list.js.map +1 -1
  30. package/dist/commands/app/revoke.d.ts +13 -0
  31. package/dist/commands/app/revoke.d.ts.map +1 -0
  32. package/dist/commands/app/revoke.js +40 -0
  33. package/dist/commands/app/revoke.js.map +1 -0
  34. package/dist/commands/app/roles.d.ts +7 -0
  35. package/dist/commands/app/roles.d.ts.map +1 -0
  36. package/dist/commands/app/roles.js +30 -0
  37. package/dist/commands/app/roles.js.map +1 -0
  38. package/dist/commands/auth/issue.d.ts +12 -0
  39. package/dist/commands/auth/issue.d.ts.map +1 -0
  40. package/dist/commands/auth/issue.js +52 -0
  41. package/dist/commands/auth/issue.js.map +1 -0
  42. package/dist/commands/auth/keys.d.ts +7 -0
  43. package/dist/commands/auth/keys.d.ts.map +1 -0
  44. package/dist/commands/auth/keys.js +39 -0
  45. package/dist/commands/auth/keys.js.map +1 -0
  46. package/dist/commands/auth/login.d.ts +20 -0
  47. package/dist/commands/auth/login.d.ts.map +1 -1
  48. package/dist/commands/auth/login.js +90 -11
  49. package/dist/commands/auth/login.js.map +1 -1
  50. package/dist/commands/auth/revoke.d.ts +13 -0
  51. package/dist/commands/auth/revoke.d.ts.map +1 -0
  52. package/dist/commands/auth/revoke.js +48 -0
  53. package/dist/commands/auth/revoke.js.map +1 -0
  54. package/dist/commands/auth/whoami.d.ts.map +1 -1
  55. package/dist/commands/auth/whoami.js +2 -1
  56. package/dist/commands/auth/whoami.js.map +1 -1
  57. package/dist/commands/channel/list.d.ts.map +1 -1
  58. package/dist/commands/channel/list.js +2 -1
  59. package/dist/commands/channel/list.js.map +1 -1
  60. package/dist/commands/doctor.d.ts +2 -0
  61. package/dist/commands/doctor.d.ts.map +1 -1
  62. package/dist/commands/doctor.js +86 -13
  63. package/dist/commands/doctor.js.map +1 -1
  64. package/dist/commands/init.d.ts +35 -3
  65. package/dist/commands/init.d.ts.map +1 -1
  66. package/dist/commands/init.js +121 -29
  67. package/dist/commands/init.js.map +1 -1
  68. package/dist/commands/menu.d.ts +42 -0
  69. package/dist/commands/menu.d.ts.map +1 -0
  70. package/dist/commands/menu.js +185 -0
  71. package/dist/commands/menu.js.map +1 -0
  72. package/dist/commands/org/invite.d.ts +14 -0
  73. package/dist/commands/org/invite.d.ts.map +1 -0
  74. package/dist/commands/org/invite.js +52 -0
  75. package/dist/commands/org/invite.js.map +1 -0
  76. package/dist/commands/org/members.d.ts +10 -0
  77. package/dist/commands/org/members.d.ts.map +1 -0
  78. package/dist/commands/org/members.js +49 -0
  79. package/dist/commands/org/members.js.map +1 -0
  80. package/dist/deploy/execute.d.ts.map +1 -1
  81. package/dist/deploy/execute.js +25 -5
  82. package/dist/deploy/execute.js.map +1 -1
  83. package/dist/deploy/signing.d.ts +24 -0
  84. package/dist/deploy/signing.d.ts.map +1 -0
  85. package/dist/deploy/signing.js +57 -0
  86. package/dist/deploy/signing.js.map +1 -0
  87. package/dist/pipeline/android-signing.d.ts +41 -0
  88. package/dist/pipeline/android-signing.d.ts.map +1 -0
  89. package/dist/pipeline/android-signing.js +82 -0
  90. package/dist/pipeline/android-signing.js.map +1 -0
  91. package/dist/pipeline/app-identity.d.ts +35 -0
  92. package/dist/pipeline/app-identity.d.ts.map +1 -0
  93. package/dist/pipeline/app-identity.js +109 -0
  94. package/dist/pipeline/app-identity.js.map +1 -0
  95. package/dist/pipeline/capacitor-support.d.ts +1 -1
  96. package/dist/pipeline/capacitor-support.js +1 -1
  97. package/dist/services/cloud.d.ts +82 -2
  98. package/dist/services/cloud.d.ts.map +1 -1
  99. package/dist/services/cloud.js +85 -4
  100. package/dist/services/cloud.js.map +1 -1
  101. package/dist/utils/http.d.ts +5 -0
  102. package/dist/utils/http.d.ts.map +1 -1
  103. package/dist/utils/http.js +13 -2
  104. package/dist/utils/http.js.map +1 -1
  105. package/oclif.manifest.json +397 -84
  106. package/package.json +5 -5
@@ -1,10 +1,11 @@
1
- import { askText, confirm, isInteractive, log, selectOne } from "../cli/prompts.js";
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.link
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 first channel, because a linked app without one cannot be
181
- * deployed to. The environment is chosen explicitly: a channel's name never
182
- * decides which flavour it serves.
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
- const create = await confirm("Create one now?", { default: true });
196
- if (!create) {
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 ?? (await askText("Channel name", { initial: "staging", flag: "--channel" })).trim();
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"}