@capuchoo/cli 0.3.0 → 0.5.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 (68) hide show
  1. package/README.md +233 -26
  2. package/dist/base-command.d.ts +1 -1
  3. package/dist/base-command.js +1 -1
  4. package/dist/commands/app/delete.d.ts +20 -0
  5. package/dist/commands/app/delete.d.ts.map +1 -0
  6. package/dist/commands/app/delete.js +71 -0
  7. package/dist/commands/app/delete.js.map +1 -0
  8. package/dist/commands/app/list.d.ts +9 -0
  9. package/dist/commands/app/list.d.ts.map +1 -0
  10. package/dist/commands/app/list.js +40 -0
  11. package/dist/commands/app/list.js.map +1 -0
  12. package/dist/commands/auth/login.d.ts.map +1 -1
  13. package/dist/commands/auth/login.js +1 -1
  14. package/dist/commands/auth/login.js.map +1 -1
  15. package/dist/commands/auth/whoami.d.ts.map +1 -1
  16. package/dist/commands/auth/whoami.js +13 -1
  17. package/dist/commands/auth/whoami.js.map +1 -1
  18. package/dist/commands/channel/create.d.ts +25 -0
  19. package/dist/commands/channel/create.d.ts.map +1 -0
  20. package/dist/commands/channel/create.js +96 -0
  21. package/dist/commands/channel/create.js.map +1 -0
  22. package/dist/commands/channel/delete.d.ts +19 -0
  23. package/dist/commands/channel/delete.d.ts.map +1 -0
  24. package/dist/commands/channel/delete.js +66 -0
  25. package/dist/commands/channel/delete.js.map +1 -0
  26. package/dist/commands/channel/list.js +1 -1
  27. package/dist/commands/channel/list.js.map +1 -1
  28. package/dist/commands/doctor.d.ts.map +1 -1
  29. package/dist/commands/doctor.js +18 -3
  30. package/dist/commands/doctor.js.map +1 -1
  31. package/dist/commands/init.d.ts +11 -0
  32. package/dist/commands/init.d.ts.map +1 -1
  33. package/dist/commands/init.js +146 -33
  34. package/dist/commands/init.js.map +1 -1
  35. package/dist/commands/org/create.d.ts +19 -0
  36. package/dist/commands/org/create.d.ts.map +1 -0
  37. package/dist/commands/org/create.js +45 -0
  38. package/dist/commands/org/create.js.map +1 -0
  39. package/dist/commands/org/list.d.ts +9 -0
  40. package/dist/commands/org/list.d.ts.map +1 -0
  41. package/dist/commands/org/list.js +41 -0
  42. package/dist/commands/org/list.js.map +1 -0
  43. package/dist/commands/setup.d.ts +16 -0
  44. package/dist/commands/setup.d.ts.map +1 -0
  45. package/dist/commands/setup.js +199 -0
  46. package/dist/commands/setup.js.map +1 -0
  47. package/dist/deploy/execute.js +1 -1
  48. package/dist/deploy/execute.js.map +1 -1
  49. package/dist/pipeline/build.js +1 -1
  50. package/dist/pipeline/build.js.map +1 -1
  51. package/dist/pipeline/capacitor-support.d.ts +65 -0
  52. package/dist/pipeline/capacitor-support.d.ts.map +1 -0
  53. package/dist/pipeline/capacitor-support.js +111 -0
  54. package/dist/pipeline/capacitor-support.js.map +1 -0
  55. package/dist/pipeline/deploy.js +1 -1
  56. package/dist/pipeline/deploy.js.map +1 -1
  57. package/dist/pipeline/flavour.js +1 -1
  58. package/dist/pipeline/flavour.js.map +1 -1
  59. package/dist/services/cloud.d.ts +22 -2
  60. package/dist/services/cloud.d.ts.map +1 -1
  61. package/dist/services/cloud.js +26 -3
  62. package/dist/services/cloud.js.map +1 -1
  63. package/dist/utils/http.d.ts +2 -0
  64. package/dist/utils/http.d.ts.map +1 -1
  65. package/dist/utils/http.js +4 -0
  66. package/dist/utils/http.js.map +1 -1
  67. package/oclif.manifest.json +330 -5
  68. package/package.json +11 -4
@@ -1,5 +1,5 @@
1
- import { askText, confirm, selectOne } from "../cli/prompts.js";
2
- import { ENVIRONMENTS, PROJECT_CONFIG_VERSION, canCreateApps, defaultFlavour, isValidBundleId, } from "@capuchoo/core";
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";
3
3
  import { Flags } from "@oclif/core";
4
4
  import chalk from "chalk";
5
5
  import fs from "node:fs";
@@ -10,13 +10,44 @@ import { projectConfigPath, readProjectConfig, resolveCredentials, writeProjectC
10
10
  import AuthLogin from "./auth/login.js";
11
11
  import { BaseCommand } from "../base-command.js";
12
12
  export default class Init extends BaseCommand {
13
- static description = "Link this directory to a Capucho app and write .capucho/project.json";
14
- static examples = ["<%= config.bin %> init", "<%= config.bin %> init --link"];
13
+ static description = "Link this directory to a Capuchoo app and write .capuchoo/project.json";
14
+ static examples = [
15
+ "<%= config.bin %> init",
16
+ "<%= config.bin %> init --link",
17
+ "<%= config.bin %> init --create",
18
+ '<%= config.bin %> init --create --name "My App" --app-id com.acme.app --channel staging',
19
+ ];
15
20
  static flags = {
16
21
  link: Flags.boolean({
17
22
  char: "l",
18
23
  default: false,
19
- description: "Link an existing app instead of creating one",
24
+ description: "Link an existing app instead of asking",
25
+ exclusive: ["create"],
26
+ }),
27
+ // Without this, a non-interactive shell could only ever link: the prompt
28
+ // named --link as its escape hatch and there was no flag for the other half
29
+ // of the same question.
30
+ create: Flags.boolean({
31
+ char: "c",
32
+ default: false,
33
+ description: "Create a new app instead of asking",
34
+ exclusive: ["link"],
35
+ }),
36
+ name: Flags.string({
37
+ description: "Name of the app to create (default: this directory's name)",
38
+ dependsOn: ["create"],
39
+ }),
40
+ // Used by both halves: with --create it is the identifier to register, with
41
+ // --link the identifier to select. Either way it names the app.
42
+ "app-id": Flags.string({
43
+ description: "Bundle identifier of the app, e.g. com.company.app",
44
+ }),
45
+ org: Flags.string({
46
+ description: "Organization to create the app in, by name or id",
47
+ dependsOn: ["create"],
48
+ }),
49
+ channel: Flags.string({
50
+ description: "Create this channel after linking, e.g. staging",
20
51
  }),
21
52
  force: Flags.boolean({
22
53
  char: "f",
@@ -28,7 +59,7 @@ export default class Init extends BaseCommand {
28
59
  const { flags } = await this.parse(Init);
29
60
  const appDir = process.cwd();
30
61
  this.log("");
31
- this.log(chalk.bold(" Initialise Capucho"));
62
+ this.log(chalk.bold(" Initialise Capuchoo"));
32
63
  this.log(chalk.dim(` ${appDir}`));
33
64
  this.log("");
34
65
  const existing = readProjectConfig(appDir);
@@ -64,11 +95,28 @@ export default class Init extends BaseCommand {
64
95
  // --- pick or create the app ---------------------------------------------
65
96
  const mode = flags.link
66
97
  ? "existing"
67
- : await selectOne("Link this directory to", [
68
- { value: "existing", label: "An app that already exists" },
69
- { value: "new", label: "A new app" },
70
- ], "--link");
71
- const app = mode === "existing" ? await this.linkExisting(cloud) : await this.createNew(cloud);
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");
104
+ const app = mode === "existing"
105
+ ? await this.linkExisting(cloud, flags["app-id"])
106
+ : await this.createNew(cloud, {
107
+ name: flags.name,
108
+ appId: flags["app-id"],
109
+ org: flags.org,
110
+ });
111
+ // The key that just created or linked this app may not be allowed to publish
112
+ // to it: an app-scoped key can read every app the account owns. Say so here
113
+ // rather than let the first deploy discover it after a full build.
114
+ if (!canPublishTo(profile, app.id)) {
115
+ this.log("");
116
+ this.log(chalk.yellow(" The API key in use is restricted to another app, so deploys from here\n" +
117
+ ` will be refused. Run "capuchoo auth login" with a key for ${app.name}\n` +
118
+ " or an unscoped one."));
119
+ }
72
120
  // --- flavours ------------------------------------------------------------
73
121
  const flavours = this.detectFlavours(appDir);
74
122
  const detected = Object.keys(flavours);
@@ -121,12 +169,55 @@ export default class Init extends BaseCommand {
121
169
  chalk.cyan(`capuchoo deploy ota --channel ${deployable[0].name}`));
122
170
  }
123
171
  else {
124
- this.log(chalk.yellow(" This app has no channel with an environment set yet."));
125
- this.log(chalk.dim(" Create one in the dashboard - the environment is what tells the CLI\n" +
126
- " which flavour to build."));
172
+ // An app with no channel is not deployable, and init already knows it.
173
+ // Sending people to the dashboard here was the one thing that made setting
174
+ // an app up a CLI-browser-CLI round trip.
175
+ await this.offerFirstChannel(cloud, app, flags.channel);
127
176
  }
128
177
  this.log("");
129
178
  }
179
+ /**
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.
183
+ */
184
+ 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
+ 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
+ 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
+ }
200
+ }
201
+ const chosen = name ?? (await askText("Channel name", { initial: "staging", flag: "--channel" })).trim();
202
+ const environment = suggestEnvironment(chosen) ??
203
+ (await selectOne(`Which flavour should "${chosen}" serve?`, ENVIRONMENTS.map((value) => ({ value, label: value })), "--channel <name> with a name like staging"));
204
+ const warning = environmentMismatchWarning(chosen, environment);
205
+ if (warning)
206
+ log.warn(warning);
207
+ try {
208
+ const channel = await cloud.createChannel({ app_id: app.id, name: chosen, environment });
209
+ this.log("");
210
+ this.log(` ${chalk.green("Created channel")} ${channel.name} ${chalk.dim(`(${environment})`)}`);
211
+ this.log(chalk.dim(" Deploy with: ") + chalk.cyan(`capuchoo deploy ota --channel ${channel.name}`));
212
+ }
213
+ catch (error) {
214
+ // The app and project.json are already correct, so this is a warning and
215
+ // not a failure - `capuchoo channel create` retries just this step.
216
+ this.log("");
217
+ this.log(chalk.yellow(` The channel could not be created: ${error instanceof Error ? error.message : String(error)}`));
218
+ this.log(chalk.dim(` Retry with: capuchoo channel create ${chosen}`));
219
+ }
220
+ }
130
221
  /** Detects which flavours the project actually has files for. */
131
222
  detectFlavours(appDir) {
132
223
  const found = {};
@@ -150,17 +241,24 @@ export default class Init extends BaseCommand {
150
241
  }
151
242
  return "dist";
152
243
  }
153
- async linkExisting(cloud) {
244
+ async linkExisting(cloud, wanted) {
154
245
  const spinner = ora({ text: "Fetching apps", stream: process.stderr }).start();
155
246
  const apps = await cloud.apps();
156
247
  spinner.stop();
157
248
  if (apps.length === 0) {
158
- this.error("This account has no apps yet. Re-run and choose to create one, or " +
159
- "create it in the dashboard.");
249
+ this.error("This account has no apps yet. Run capuchoo init --create to register one.");
250
+ }
251
+ if (wanted) {
252
+ const match = apps.find((app) => app.app_id === wanted || app.id === wanted);
253
+ if (!match) {
254
+ this.error(`No app called "${wanted}" on this account. ` +
255
+ `Available: ${apps.map((app) => app.app_id).join(", ")}.`);
256
+ }
257
+ return match;
160
258
  }
161
- return selectOne("App", apps.map((app) => ({ value: app, label: app.name, hint: app.app_id })), "--link with the app selected in the dashboard");
259
+ return selectOne("Which app does this directory publish to?", apps.map((app) => ({ value: app, label: app.name, hint: app.app_id })), "--app-id");
162
260
  }
163
- async createNew(cloud) {
261
+ async createNew(cloud, given) {
164
262
  const spinner = ora({
165
263
  text: "Fetching organizations",
166
264
  stream: process.stderr,
@@ -174,20 +272,35 @@ export default class Init extends BaseCommand {
174
272
  : "This account is a member, not an owner or admin, of every organization " +
175
273
  "it belongs to, so it cannot create an app. Ask an owner.");
176
274
  }
177
- const organizationId = allowed.length === 1
178
- ? allowed[0].id
179
- : await selectOne("Organization", allowed.map((org) => ({ value: org.id, label: org.name, hint: org.role })), "--link");
180
- const name = await askText("App name", {
181
- initial: path.basename(process.cwd()),
182
- flag: "--link",
183
- });
184
- const appId = await askText("Production bundle identifier", {
185
- placeholder: "com.company.app",
186
- flag: "--link",
187
- validate: (value) => isValidBundleId(value.trim())
188
- ? undefined
189
- : "Expected something like com.company.app - lower case, at least two segments",
190
- });
275
+ const requested = given.org?.trim().toLowerCase();
276
+ const chosen = requested
277
+ ? allowed.find((org) => org.id === given.org?.trim() || org.name.toLowerCase() === requested)
278
+ : undefined;
279
+ if (requested && !chosen) {
280
+ this.error(`No organization called "${given.org}" that this account can create apps in. ` +
281
+ `Available: ${allowed.map((org) => org.name).join(", ")}.`);
282
+ }
283
+ const organizationId = chosen?.id ??
284
+ (allowed.length === 1
285
+ ? allowed[0].id
286
+ : await selectOne("Organization", allowed.map((org) => ({ value: org.id, label: org.name, hint: org.role })), "--org"));
287
+ const name = given.name?.trim() ||
288
+ (await askText("App name", {
289
+ initial: path.basename(process.cwd()),
290
+ flag: "--name",
291
+ }));
292
+ const appId = given.appId?.trim() ||
293
+ (await askText("Production bundle identifier", {
294
+ placeholder: "com.company.app",
295
+ flag: "--app-id",
296
+ validate: (value) => isValidBundleId(value.trim())
297
+ ? undefined
298
+ : "Expected something like com.company.app - lower case, at least two segments",
299
+ }));
300
+ if (!isValidBundleId(appId)) {
301
+ this.error(`"${appId}" is not a bundle identifier. Expected something like com.company.app - ` +
302
+ "lower case, at least two segments.");
303
+ }
191
304
  // Creating an app is the one irreversible thing this command does.
192
305
  const proceed = await confirm(`Create "${name}" (${appId})?`, { default: true });
193
306
  if (!proceed)
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,eAAe,GAKhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,SAAS,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,WAAW;IAC3C,MAAM,CAAU,WAAW,GACzB,sEAAsE,CAAC;IAEzE,MAAM,CAAU,QAAQ,GAAG,CAAC,wBAAwB,EAAE,+BAA+B,CAAC,CAAC;IAEvF,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,8CAA8C;SAC5D,CAAC;QACF,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,oCAAoC;SAClD,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEb,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,GAAG,GAAG,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;YAC9F,MAAM,MAAM,GAAG,MAAM,SAAS,CAC5B,WAAW,EACX;gBACE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE;gBACzD,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,4BAA4B,EAAE;aACzD,EACD,SAAS,CACV,CAAC;YACF,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO;QAChC,CAAC;QAED,4EAA4E;QAE5E,IAAI,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACvC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC;gBACH,MAAM,SAAS,CAAC,YAAY,EAAE,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACrE,CAAC;YACD,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CAAC,uBAAuB,WAAW,CAAC,QAAQ,iBAAiB,CAAC,CAAC;QAC3E,CAAC;QAED,2EAA2E;QAE3E,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI;YACrB,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,MAAM,SAAS,CACb,wBAAwB,EACxB;gBACE,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,4BAA4B,EAAE;gBAC1D,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE;aACrC,EACD,QAAQ,CACT,CAAC;QAEN,MAAM,GAAG,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE/F,4EAA4E;QAE5E,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAkB,CAAC;QAExD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,GAAG,CACN,KAAK,CAAC,MAAM,CACV,4EAA4E;gBAC1E,+EAA+E,CAClF,CACF,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAkB;YAC5B,OAAO,EAAE,sBAAsB;YAC/B,KAAK,EAAE,GAAG,CAAC,MAAM;YACjB,UAAU,EAAE,GAAG,CAAC,EAAE;YAClB,OAAO,EAAE,GAAG,CAAC,IAAI;YACjB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;YACjC,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,KAAK;YACb,eAAe,EAAE,mBAAmB;YACpC,0EAA0E;YAC1E,0EAA0E;YAC1E,uBAAuB;YACvB,QAAQ,EAAE,MAAM,CAAC,WAAW,CAC1B,YAAY,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAChC,WAAW;gBACX,QAAQ,CAAC,WAAW,CAAC,IAAI,cAAc,CAAC,WAAW,CAAC;aACrD,CAAC,CACH;SACF,CAAC;QAEF,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnC,4EAA4E;QAE5E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,gBAAgB,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAErE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACnC,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,OAAO,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3E,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,GAAG,CACN,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;gBAC1B,KAAK,CAAC,IAAI,CAAC,iCAAiC,UAAU,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC,CACrE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,wDAAwD,CAAC,CAAC,CAAC;YACjF,IAAI,CAAC,GAAG,CACN,KAAK,CAAC,GAAG,CACP,yEAAyE;gBACvE,2BAA2B,CAC9B,CACF,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC;IAED,iEAAiE;IACzD,cAAc,CAAC,MAAc;QACnC,MAAM,KAAK,GAAgD,EAAE,CAAC;QAE9D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,SAAS,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;gBACxD,KAAK,CAAC,WAAW,CAAC,GAAG,SAAS,CAAC;YACjC,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED,iFAAiF;IACzE,YAAY,CAAC,MAAc;QACjC,KAAK,MAAM,IAAI,IAAI,CAAC,qBAAqB,EAAE,qBAAqB,EAAE,uBAAuB,CAAC,EAAE,CAAC;YAC3F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,SAAS;YAEnC,MAAM,KAAK,GAAG,kCAAkC,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;YACrF,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,KAAkB;QAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/E,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QAChC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,KAAK,CACR,oEAAoE;gBAClE,6BAA6B,CAChC,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CACd,KAAK,EACL,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,EACtE,+CAA+C,CAChD,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,KAAkB;QACxC,MAAM,OAAO,GAAG,GAAG,CAAC;YAClB,IAAI,EAAE,wBAAwB;YAC9B,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;QAClD,OAAO,CAAC,IAAI,EAAE,CAAC;QAEf,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAEpD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,KAAK,CACR,aAAa,CAAC,MAAM,KAAK,CAAC;gBACxB,CAAC,CAAC,8CAA8C;gBAChD,CAAC,CAAC,yEAAyE;oBACvE,0DAA0D,CACjE,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAClB,OAAO,CAAC,MAAM,KAAK,CAAC;YAClB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,EAAE;YAChB,CAAC,CAAC,MAAM,SAAS,CACb,cAAc,EACd,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,EAC1E,QAAQ,CACT,CAAC;QAER,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE;YACrC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;YACrC,IAAI,EAAE,QAAQ;SACf,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,8BAA8B,EAAE;YAC1D,WAAW,EAAE,iBAAiB;YAC9B,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAClB,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBAC3B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,6EAA6E;SACpF,CAAC,CAAC;QAEH,mEAAmE;QACnE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,IAAI,MAAM,KAAK,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEvC,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC/E,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC;gBAChC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACjB,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE;gBACpB,QAAQ,EAAE,SAAS;gBACnB,eAAe,EAAE,cAAc;aAChC,CAAC,CAAC;YACH,QAAQ,CAAC,OAAO,CAAC,WAAW,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { BaseCommand } from "../../base-command.js";
2
+ /**
3
+ * An account with no organization cannot own an app, so this was the one step
4
+ * that forced a browser before anything else could happen. The server derives
5
+ * the slug - two organizations called "SIG Service" must not both become
6
+ * `sig-service`.
7
+ */
8
+ export default class OrgCreate extends BaseCommand {
9
+ static description: string;
10
+ static examples: string[];
11
+ static args: {
12
+ name: import("@oclif/core/interfaces").Arg<string | undefined, Record<string, unknown>>;
13
+ };
14
+ static flags: {
15
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ };
17
+ run(): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../src/commands/org/create.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,OAAgB,WAAW,SAA4B;IAEvD,OAAgB,QAAQ,WAGtB;IAEF,OAAgB,IAAI;;MAElB;IAEF,OAAgB,KAAK;;MAEnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAyB3B"}
@@ -0,0 +1,45 @@
1
+ import { Args, Flags } from "@oclif/core";
2
+ import chalk from "chalk";
3
+ import { BaseCommand } from "../../base-command.js";
4
+ import { CloudClient } from "../../services/cloud.js";
5
+ import { resolveCredentials } from "../../utils/config.js";
6
+ /**
7
+ * An account with no organization cannot own an app, so this was the one step
8
+ * that forced a browser before anything else could happen. The server derives
9
+ * the slug - two organizations called "SIG Service" must not both become
10
+ * `sig-service`.
11
+ */
12
+ export default class OrgCreate extends BaseCommand {
13
+ static description = "Create an organization";
14
+ static examples = [
15
+ '<%= config.bin %> org create "SIG Service"',
16
+ "<%= config.bin %> org create Acme --json",
17
+ ];
18
+ static args = {
19
+ name: Args.string({ description: "Display name of the organization" }),
20
+ };
21
+ static flags = {
22
+ json: Flags.boolean({ default: false, description: "Machine-readable output" }),
23
+ };
24
+ async run() {
25
+ const { args, flags } = await this.parse(OrgCreate);
26
+ const credentials = resolveCredentials();
27
+ if (!credentials) {
28
+ this.error(`Not authenticated. Run ${chalk.cyan("capuchoo auth login")}.`);
29
+ }
30
+ const name = args.name?.trim();
31
+ if (!name) {
32
+ this.error('What should it be called? e.g. capuchoo org create "SIG Service".');
33
+ }
34
+ const cloud = new CloudClient(credentials.endpoint, credentials.apiKey);
35
+ const organization = await cloud.createOrganization({ name });
36
+ if (flags.json) {
37
+ this.log(JSON.stringify(organization, null, 2));
38
+ return;
39
+ }
40
+ this.log("");
41
+ this.log(` ${chalk.green("Created")} ${organization.name} ${chalk.dim(organization.slug)}`);
42
+ this.log(chalk.dim(" Add an app to it with: capuchoo init --create") + "\n");
43
+ }
44
+ }
45
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/commands/org/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAChD,MAAM,CAAU,WAAW,GAAG,wBAAwB,CAAC;IAEvD,MAAM,CAAU,QAAQ,GAAG;QACzB,4CAA4C;QAC5C,0CAA0C;KAC3C,CAAC;IAEF,MAAM,CAAU,IAAI,GAAG;QACrB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,kCAAkC,EAAE,CAAC;KACvE,CAAC;IAEF,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;KAChF,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAClF,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAE9D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,GAAG,IAAI,CAAC,CAAC;IAChF,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { BaseCommand } from "../../base-command.js";
2
+ export default class OrgList extends BaseCommand {
3
+ static description: string;
4
+ static flags: {
5
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
6
+ };
7
+ run(): Promise<void>;
8
+ }
9
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../src/commands/org/list.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAIpD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,OAAgB,WAAW,SAAoD;IAE/E,OAAgB,KAAK;;MAEnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAmC3B"}
@@ -0,0 +1,41 @@
1
+ import { canCreateApps } from "@capuchoo/core";
2
+ import { Flags } from "@oclif/core";
3
+ import chalk from "chalk";
4
+ import { BaseCommand } from "../../base-command.js";
5
+ import { CloudClient } from "../../services/cloud.js";
6
+ import { resolveCredentials } from "../../utils/config.js";
7
+ export default class OrgList extends BaseCommand {
8
+ static description = "List the organizations this account belongs to";
9
+ static flags = {
10
+ json: Flags.boolean({ default: false, description: "Machine-readable output" }),
11
+ };
12
+ async run() {
13
+ const { flags } = await this.parse(OrgList);
14
+ const credentials = resolveCredentials();
15
+ if (!credentials) {
16
+ this.error(`Not authenticated. Run ${chalk.cyan("capuchoo auth login")}.`);
17
+ }
18
+ const cloud = new CloudClient(credentials.endpoint, credentials.apiKey);
19
+ const organizations = await cloud.organizations();
20
+ if (flags.json) {
21
+ this.log(JSON.stringify(organizations, null, 2));
22
+ return;
23
+ }
24
+ if (organizations.length === 0) {
25
+ this.log("");
26
+ this.log(chalk.yellow(" This account belongs to no organization yet."));
27
+ this.log(chalk.dim(' Create one with: capuchoo org create "Your Company"') + "\n");
28
+ return;
29
+ }
30
+ this.log("");
31
+ for (const organization of organizations) {
32
+ // Only an owner or admin can add apps, and a member finding that out from
33
+ // a failed `init` is worse than seeing it here.
34
+ const note = canCreateApps(organization) ? "" : chalk.dim(" - cannot create apps");
35
+ this.log(` ${organization.name.padEnd(24)} ${chalk.dim(organization.role)}${note}\n` +
36
+ ` ${chalk.dim(organization.slug)}`);
37
+ }
38
+ this.log("");
39
+ }
40
+ }
41
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/org/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,WAAW;IAC9C,MAAM,CAAU,WAAW,GAAG,gDAAgD,CAAC;IAE/E,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;KAChF,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAE5C,MAAM,WAAW,GAAG,kBAAkB,EAAE,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CAAC,0BAA0B,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAC7E,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACxE,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;QAElD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACjD,OAAO;QACT,CAAC;QAED,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;YACzE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,uDAAuD,CAAC,GAAG,IAAI,CAAC,CAAC;YACpF,OAAO;QACT,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,0EAA0E;YAC1E,gDAAgD;YAChD,MAAM,IAAI,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACnF,IAAI,CAAC,GAAG,CACN,KAAK,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI;gBAC1E,KAAK,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CACtC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { BaseCommand } from "../base-command.js";
2
+ export default class Setup extends BaseCommand {
3
+ static description: string;
4
+ static examples: string[];
5
+ static flags: {
6
+ native: import("@oclif/core/interfaces").BooleanFlag<boolean>;
7
+ "skip-telemetry": import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
+ "skip-sync": import("@oclif/core/interfaces").BooleanFlag<boolean>;
9
+ "dry-run": import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ yes: import("@oclif/core/interfaces").BooleanFlag<boolean>;
11
+ };
12
+ run(): Promise<void>;
13
+ /** The two edits and two commands that remain. Both are easy to forget. */
14
+ private reportNextSteps;
15
+ }
16
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAgEjD,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,WAAW;IAC5C,OAAgB,WAAW,SAA0D;IAErF,OAAgB,QAAQ,WAItB;IAEF,OAAgB,KAAK;;;;;;MAkBnB;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAoI1B,2EAA2E;IAC3E,OAAO,CAAC,eAAe;CA6BxB"}