eas-cli 18.1.0 → 18.3.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 (181) hide show
  1. package/README.md +521 -506
  2. package/bin/dev +6 -13
  3. package/bin/run +4 -4
  4. package/build/commandUtils/flags.d.ts +14 -7
  5. package/build/commandUtils/flags.js +13 -8
  6. package/build/commandUtils/pagination.d.ts +4 -4
  7. package/build/commandUtils/pagination.js +4 -2
  8. package/build/commands/account/usage.d.ts +2 -3
  9. package/build/commands/account/usage.js +5 -5
  10. package/build/commands/account/view.js +6 -2
  11. package/build/commands/analytics.d.ts +2 -3
  12. package/build/commands/analytics.js +6 -1
  13. package/build/commands/branch/create.d.ts +2 -4
  14. package/build/commands/branch/create.js +10 -6
  15. package/build/commands/branch/delete.d.ts +2 -4
  16. package/build/commands/branch/delete.js +6 -6
  17. package/build/commands/branch/list.d.ts +1 -1
  18. package/build/commands/branch/list.js +2 -1
  19. package/build/commands/branch/rename.d.ts +2 -2
  20. package/build/commands/branch/rename.js +2 -1
  21. package/build/commands/branch/view.d.ts +3 -5
  22. package/build/commands/branch/view.js +6 -6
  23. package/build/commands/build/cancel.d.ts +4 -4
  24. package/build/commands/build/cancel.js +6 -4
  25. package/build/commands/build/configure.d.ts +1 -1
  26. package/build/commands/build/configure.js +2 -2
  27. package/build/commands/build/delete.d.ts +4 -4
  28. package/build/commands/build/delete.js +6 -4
  29. package/build/commands/build/dev.d.ts +2 -2
  30. package/build/commands/build/dev.js +2 -2
  31. package/build/commands/build/download.d.ts +2 -2
  32. package/build/commands/build/download.js +4 -3
  33. package/build/commands/build/index.d.ts +8 -8
  34. package/build/commands/build/index.js +8 -11
  35. package/build/commands/build/inspect.d.ts +4 -4
  36. package/build/commands/build/inspect.js +4 -4
  37. package/build/commands/build/internal.d.ts +3 -3
  38. package/build/commands/build/internal.js +2 -2
  39. package/build/commands/build/list.d.ts +13 -13
  40. package/build/commands/build/list.js +8 -7
  41. package/build/commands/build/resign.d.ts +5 -5
  42. package/build/commands/build/resign.js +4 -4
  43. package/build/commands/build/run.d.ts +6 -6
  44. package/build/commands/build/run.js +2 -2
  45. package/build/commands/build/version/get.d.ts +2 -2
  46. package/build/commands/build/version/get.js +8 -7
  47. package/build/commands/build/version/set.d.ts +2 -2
  48. package/build/commands/build/version/set.js +2 -2
  49. package/build/commands/build/version/sync.d.ts +2 -2
  50. package/build/commands/build/version/sync.js +2 -2
  51. package/build/commands/build/view.d.ts +2 -2
  52. package/build/commands/build/view.js +4 -1
  53. package/build/commands/channel/create.d.ts +2 -4
  54. package/build/commands/channel/create.js +10 -6
  55. package/build/commands/channel/delete.d.ts +2 -4
  56. package/build/commands/channel/delete.js +7 -6
  57. package/build/commands/channel/edit.d.ts +3 -5
  58. package/build/commands/channel/edit.js +6 -6
  59. package/build/commands/channel/list.d.ts +1 -1
  60. package/build/commands/channel/list.js +1 -1
  61. package/build/commands/channel/pause.d.ts +3 -5
  62. package/build/commands/channel/pause.js +6 -6
  63. package/build/commands/channel/resume.d.ts +3 -5
  64. package/build/commands/channel/resume.js +6 -6
  65. package/build/commands/channel/rollout.d.ts +8 -9
  66. package/build/commands/channel/rollout.js +9 -11
  67. package/build/commands/channel/view.d.ts +3 -5
  68. package/build/commands/channel/view.js +6 -6
  69. package/build/commands/config.d.ts +2 -2
  70. package/build/commands/config.js +6 -5
  71. package/build/commands/credentials/configure-build.d.ts +2 -2
  72. package/build/commands/credentials/configure-build.js +2 -2
  73. package/build/commands/credentials/index.d.ts +1 -1
  74. package/build/commands/credentials/index.js +1 -1
  75. package/build/commands/deploy/alias/delete.d.ts +2 -2
  76. package/build/commands/deploy/alias/delete.js +7 -3
  77. package/build/commands/deploy/alias/index.d.ts +2 -2
  78. package/build/commands/deploy/alias/index.js +3 -2
  79. package/build/commands/deploy/delete.d.ts +2 -2
  80. package/build/commands/deploy/delete.js +7 -3
  81. package/build/commands/deploy/index.d.ts +5 -4
  82. package/build/commands/deploy/index.js +12 -3
  83. package/build/commands/device/delete.d.ts +2 -2
  84. package/build/commands/device/list.d.ts +2 -2
  85. package/build/commands/device/rename.d.ts +3 -3
  86. package/build/commands/device/view.d.ts +2 -2
  87. package/build/commands/device/view.js +4 -1
  88. package/build/commands/env/create.d.ts +8 -11
  89. package/build/commands/env/create.js +6 -7
  90. package/build/commands/env/delete.d.ts +5 -8
  91. package/build/commands/env/delete.js +4 -5
  92. package/build/commands/env/exec.d.ts +3 -4
  93. package/build/commands/env/exec.js +7 -8
  94. package/build/commands/env/get.d.ts +6 -9
  95. package/build/commands/env/get.js +4 -5
  96. package/build/commands/env/list.d.ts +5 -8
  97. package/build/commands/env/list.js +4 -5
  98. package/build/commands/env/pull.d.ts +4 -6
  99. package/build/commands/env/pull.js +4 -5
  100. package/build/commands/env/push.d.ts +7 -7
  101. package/build/commands/env/push.js +4 -5
  102. package/build/commands/env/update.d.ts +10 -13
  103. package/build/commands/env/update.js +6 -7
  104. package/build/commands/fingerprint/compare.d.ts +6 -7
  105. package/build/commands/fingerprint/compare.js +10 -11
  106. package/build/commands/fingerprint/generate.d.ts +3 -3
  107. package/build/commands/fingerprint/generate.js +4 -3
  108. package/build/commands/go.d.ts +2 -2
  109. package/build/commands/metadata/lint.d.ts +1 -1
  110. package/build/commands/metadata/pull.d.ts +1 -1
  111. package/build/commands/metadata/push.d.ts +1 -1
  112. package/build/commands/project/init.d.ts +1 -1
  113. package/build/commands/project/new.d.ts +3 -5
  114. package/build/commands/project/new.js +6 -7
  115. package/build/commands/project/onboarding.d.ts +2 -2
  116. package/build/commands/project/onboarding.js +4 -1
  117. package/build/commands/secret/create.d.ts +4 -4
  118. package/build/commands/secret/create.js +7 -6
  119. package/build/commands/secret/delete.d.ts +1 -1
  120. package/build/commands/secret/push.d.ts +2 -2
  121. package/build/commands/secret/push.js +2 -2
  122. package/build/commands/submit/internal.d.ts +3 -3
  123. package/build/commands/submit/internal.js +2 -2
  124. package/build/commands/submit.d.ts +7 -7
  125. package/build/commands/submit.js +2 -2
  126. package/build/commands/update/configure.d.ts +2 -2
  127. package/build/commands/update/configure.js +2 -2
  128. package/build/commands/update/delete.d.ts +2 -4
  129. package/build/commands/update/delete.js +7 -6
  130. package/build/commands/update/edit.d.ts +4 -5
  131. package/build/commands/update/edit.js +7 -6
  132. package/build/commands/update/index.d.ts +9 -9
  133. package/build/commands/update/index.js +29 -13
  134. package/build/commands/update/list.d.ts +4 -4
  135. package/build/commands/update/list.js +4 -3
  136. package/build/commands/update/republish.d.ts +9 -9
  137. package/build/commands/update/republish.js +4 -4
  138. package/build/commands/update/revert-update-rollout.d.ts +5 -5
  139. package/build/commands/update/revert-update-rollout.js +2 -2
  140. package/build/commands/update/roll-back-to-embedded.d.ts +6 -6
  141. package/build/commands/update/roll-back-to-embedded.js +4 -4
  142. package/build/commands/update/rollback.d.ts +1 -1
  143. package/build/commands/update/view.d.ts +2 -4
  144. package/build/commands/update/view.js +5 -5
  145. package/build/commands/upload.d.ts +3 -3
  146. package/build/commands/upload.js +4 -3
  147. package/build/commands/webhook/create.d.ts +3 -3
  148. package/build/commands/webhook/create.js +2 -2
  149. package/build/commands/webhook/delete.d.ts +2 -4
  150. package/build/commands/webhook/delete.js +8 -6
  151. package/build/commands/webhook/list.d.ts +1 -1
  152. package/build/commands/webhook/list.js +2 -2
  153. package/build/commands/webhook/update.d.ts +4 -4
  154. package/build/commands/webhook/update.js +2 -2
  155. package/build/commands/webhook/view.d.ts +2 -4
  156. package/build/commands/webhook/view.js +5 -5
  157. package/build/commands/workflow/create.d.ts +2 -4
  158. package/build/commands/workflow/create.js +4 -5
  159. package/build/commands/workflow/logs.d.ts +2 -3
  160. package/build/commands/workflow/logs.js +5 -3
  161. package/build/commands/workflow/run.d.ts +4 -5
  162. package/build/commands/workflow/run.js +6 -1
  163. package/build/commands/workflow/runs.d.ts +2 -2
  164. package/build/commands/workflow/runs.js +2 -2
  165. package/build/commands/workflow/status.d.ts +2 -3
  166. package/build/commands/workflow/status.js +7 -5
  167. package/build/commands/workflow/validate.d.ts +2 -4
  168. package/build/commands/workflow/validate.js +5 -5
  169. package/build/commands/workflow/view.d.ts +2 -3
  170. package/build/commands/workflow/view.js +6 -1
  171. package/build/credentials/android/actions/BuildCredentialsUtils.js +0 -1
  172. package/build/credentials/android/actions/CreateKeystore.js +9 -10
  173. package/build/credentials/android/actions/SetUpBuildCredentials.js +0 -4
  174. package/build/graphql/generated.d.ts +1 -0
  175. package/build/graphql/queries/UserQuery.js +3 -0
  176. package/build/update/utils.d.ts +2 -2
  177. package/build/update/utils.js +21 -10
  178. package/build/worker/assets.d.ts +3 -1
  179. package/build/worker/assets.js +4 -1
  180. package/oclif.manifest.json +8084 -3178
  181. package/package.json +7 -7
@@ -39,12 +39,12 @@ class UpdateRepublish extends EasCommand_1.default {
39
39
  description: 'Short message describing the republished update group',
40
40
  required: false,
41
41
  }),
42
- platform: core_1.Flags.enum({
42
+ platform: core_1.Flags.option({
43
43
  char: 'p',
44
44
  options: [...defaultRepublishPlatforms, 'all'],
45
45
  default: 'all',
46
46
  required: false,
47
- }),
47
+ })(),
48
48
  'private-key-path': core_1.Flags.string({
49
49
  description: `File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named "private-key.pem" in the certificate's directory. Only relevant if you are using code signing: https://docs.expo.dev/eas-update/code-signing/`,
50
50
  required: false,
@@ -105,12 +105,12 @@ class UpdateRepublish extends EasCommand_1.default {
105
105
  });
106
106
  }
107
107
  sanitizeFlags(rawFlags) {
108
+ const { json, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(rawFlags);
108
109
  const branchName = rawFlags.branch;
109
110
  const channelName = rawFlags.channel;
110
111
  const groupId = rawFlags.group;
111
112
  const destinationChannelName = rawFlags['destination-channel'];
112
113
  const destinationBranchName = rawFlags['destination-branch'];
113
- const nonInteractive = rawFlags['non-interactive'];
114
114
  const privateKeyPath = rawFlags['private-key-path'];
115
115
  if (nonInteractive && !groupId) {
116
116
  throw new Error('Only --group can be used in non-interactive mode');
@@ -126,7 +126,7 @@ class UpdateRepublish extends EasCommand_1.default {
126
126
  updateMessage: rawFlags.message,
127
127
  privateKeyPath,
128
128
  rolloutPercentage: rawFlags['rollout-percentage'],
129
- json: rawFlags.json ?? false,
129
+ json,
130
130
  nonInteractive,
131
131
  };
132
132
  }
@@ -5,11 +5,11 @@ export default class UpdateRevertUpdateRollout extends EasCommand {
5
5
  static flags: {
6
6
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
7
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- group: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
- message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
12
- 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
+ channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ group: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
13
  };
14
14
  static contextDefinition: {
15
15
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
@@ -219,10 +219,10 @@ class UpdateRevertUpdateRollout extends EasCommand_1.default {
219
219
  log_1.default.debug('Rollout update group deletion result', { successfulReceipt });
220
220
  }
221
221
  sanitizeFlags(rawFlags) {
222
+ const { json, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(rawFlags);
222
223
  const branchName = rawFlags.branch;
223
224
  const channelName = rawFlags.channel;
224
225
  const groupId = rawFlags.group;
225
- const nonInteractive = rawFlags['non-interactive'];
226
226
  const privateKeyPath = rawFlags['private-key-path'];
227
227
  if (nonInteractive && !groupId) {
228
228
  throw new Error('Only --group can be used in non-interactive mode');
@@ -233,7 +233,7 @@ class UpdateRevertUpdateRollout extends EasCommand_1.default {
233
233
  groupId,
234
234
  updateMessage: rawFlags.message,
235
235
  privateKeyPath,
236
- json: rawFlags.json ?? false,
236
+ json,
237
237
  nonInteractive,
238
238
  };
239
239
  }
@@ -4,12 +4,12 @@ export default class UpdateRollBackToEmbedded extends EasCommand {
4
4
  static flags: {
5
5
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
6
6
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
- branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
- channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- 'runtime-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
12
- 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
+ branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'runtime-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios" | "all", import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
13
  };
14
14
  static contextDefinition: {
15
15
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
@@ -35,7 +35,7 @@ class UpdateRollBackToEmbedded extends EasCommand_1.default {
35
35
  description: 'A short message describing the rollback to embedded update',
36
36
  required: false,
37
37
  }),
38
- platform: core_1.Flags.enum({
38
+ platform: core_1.Flags.option({
39
39
  char: 'p',
40
40
  options: [
41
41
  // TODO: Add web when it's fully supported
@@ -44,7 +44,7 @@ class UpdateRollBackToEmbedded extends EasCommand_1.default {
44
44
  ],
45
45
  default: 'all',
46
46
  required: false,
47
- }),
47
+ })(),
48
48
  'private-key-path': core_1.Flags.string({
49
49
  description: `File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named "private-key.pem" in the certificate's directory. Only relevant if you are using code signing: https://docs.expo.dev/eas-update/code-signing/`,
50
50
  required: false,
@@ -127,7 +127,7 @@ class UpdateRollBackToEmbedded extends EasCommand_1.default {
127
127
  });
128
128
  }
129
129
  sanitizeFlags(flags) {
130
- const nonInteractive = flags['non-interactive'] ?? false;
130
+ const { json, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
131
131
  const { branch: branchName, channel: channelName, message: updateMessage, 'runtime-version': runtimeVersion, } = flags;
132
132
  if (nonInteractive && !(updateMessage && (branchName || channelName))) {
133
133
  core_1.Errors.error('--branch and --message, or --channel and --message are required in non-interactive mode', { exit: 1 });
@@ -143,7 +143,7 @@ class UpdateRollBackToEmbedded extends EasCommand_1.default {
143
143
  platform: flags.platform,
144
144
  privateKeyPath: flags['private-key-path'],
145
145
  nonInteractive,
146
- json: flags.json ?? false,
146
+ json,
147
147
  };
148
148
  }
149
149
  }
@@ -2,7 +2,7 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class UpdateRollback extends EasCommand {
3
3
  static description: string;
4
4
  static flags: {
5
- 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
5
+ 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
6
  };
7
7
  runAsync(): Promise<void>;
8
8
  }
@@ -2,10 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class UpdateView extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- required: boolean;
7
- description: string;
8
- }[];
5
+ groupId: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
9
7
  static flags: {
10
8
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
9
  };
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ const core_1 = require("@oclif/core");
4
5
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
5
6
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
6
7
  const flags_1 = require("../../commandUtils/flags");
@@ -10,13 +11,12 @@ const utils_1 = require("../../update/utils");
10
11
  const json_1 = require("../../utils/json");
11
12
  class UpdateView extends EasCommand_1.default {
12
13
  static description = 'update group details';
13
- static args = [
14
- {
15
- name: 'groupId',
14
+ static args = {
15
+ groupId: core_1.Args.string({
16
16
  required: true,
17
17
  description: 'The ID of an update group.',
18
- },
19
- ];
18
+ }),
19
+ };
20
20
  static flags = {
21
21
  ...flags_1.EasJsonOnlyFlag,
22
22
  };
@@ -5,9 +5,9 @@ export default class BuildUpload extends EasCommand {
5
5
  static flags: {
6
6
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
7
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- platform: import("@oclif/core/lib/interfaces").OptionFlag<Platform | undefined>;
9
- 'build-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- fingerprint: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<Platform | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'build-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ fingerprint: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  };
12
12
  static contextDefinition: {
13
13
  loggedIn: import("../commandUtils/context/LoggedInContextField").default;
@@ -29,10 +29,10 @@ const progress_1 = require("../utils/progress");
29
29
  class BuildUpload extends EasCommand_1.default {
30
30
  static description = 'upload a local build and generate a sharable link';
31
31
  static flags = {
32
- platform: core_1.Flags.enum({
32
+ platform: core_1.Flags.option({
33
33
  char: 'p',
34
34
  options: [eas_build_job_1.Platform.IOS, eas_build_job_1.Platform.ANDROID],
35
- }),
35
+ })(),
36
36
  'build-path': core_1.Flags.string({
37
37
  description: 'Path for the local build',
38
38
  }),
@@ -47,7 +47,8 @@ class BuildUpload extends EasCommand_1.default {
47
47
  };
48
48
  async runAsync() {
49
49
  const { flags } = await this.parse(BuildUpload);
50
- const { 'build-path': buildPath, fingerprint: manualFingerprintHash, json: jsonFlag, 'non-interactive': nonInteractive, } = flags;
50
+ const { 'build-path': buildPath, fingerprint: manualFingerprintHash } = flags;
51
+ const { json: jsonFlag, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
51
52
  const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(BuildUpload, {
52
53
  nonInteractive,
53
54
  });
@@ -4,9 +4,9 @@ export default class WebhookCreate extends EasCommand {
4
4
  static description: string;
5
5
  static flags: {
6
6
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
- event: import("@oclif/core/lib/interfaces").OptionFlag<WebhookType | undefined>;
8
- url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- secret: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
+ event: import("@oclif/core/lib/interfaces").OptionFlag<WebhookType | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ secret: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
10
  };
11
11
  static contextDefinition: {
12
12
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -11,10 +11,10 @@ const input_1 = require("../../webhooks/input");
11
11
  class WebhookCreate extends EasCommand_1.default {
12
12
  static description = 'create a webhook';
13
13
  static flags = {
14
- event: core_1.Flags.enum({
14
+ event: core_1.Flags.option({
15
15
  description: 'Event type that triggers the webhook',
16
16
  options: [generated_1.WebhookType.Build, generated_1.WebhookType.Submit],
17
- }),
17
+ })(),
18
18
  url: core_1.Flags.string({
19
19
  description: 'Webhook URL',
20
20
  }),
@@ -2,10 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class WebhookDelete extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- required: boolean;
7
- description: string;
8
- }[];
5
+ ID: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
6
+ };
9
7
  static flags: {
10
8
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
9
  };
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ const core_1 = require("@oclif/core");
4
5
  const assert_1 = tslib_1.__importDefault(require("assert"));
5
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
6
7
  const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
@@ -14,13 +15,12 @@ const prompts_1 = require("../../prompts");
14
15
  const formatWebhook_1 = require("../../webhooks/formatWebhook");
15
16
  class WebhookDelete extends EasCommand_1.default {
16
17
  static description = 'delete a webhook';
17
- static args = [
18
- {
19
- name: 'ID',
18
+ static args = {
19
+ ID: core_1.Args.string({
20
20
  required: false,
21
21
  description: 'ID of the webhook to delete',
22
- },
23
- ];
22
+ }),
23
+ };
24
24
  static flags = {
25
25
  ...flags_1.EASNonInteractiveFlag,
26
26
  };
@@ -33,7 +33,9 @@ class WebhookDelete extends EasCommand_1.default {
33
33
  const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(WebhookDelete, {
34
34
  nonInteractive,
35
35
  });
36
- let webhook = webhookId && (await WebhookQuery_1.WebhookQuery.byIdAsync(graphqlClient, webhookId));
36
+ let webhook = webhookId
37
+ ? await WebhookQuery_1.WebhookQuery.byIdAsync(graphqlClient, webhookId)
38
+ : undefined;
37
39
  if (!webhookId) {
38
40
  const webhooks = await fetchWebhooksByAppIdAsync(graphqlClient, projectId);
39
41
  if (webhooks.length === 0) {
@@ -4,7 +4,7 @@ export default class WebhookList extends EasCommand {
4
4
  static description: string;
5
5
  static flags: {
6
6
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
- event: import("@oclif/core/lib/interfaces").OptionFlag<WebhookType | undefined>;
7
+ event: import("@oclif/core/lib/interfaces").OptionFlag<WebhookType | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  };
9
9
  static contextDefinition: {
10
10
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -15,10 +15,10 @@ const formatWebhook_1 = require("../../webhooks/formatWebhook");
15
15
  class WebhookList extends EasCommand_1.default {
16
16
  static description = 'list webhooks';
17
17
  static flags = {
18
- event: core_1.Flags.enum({
18
+ event: core_1.Flags.option({
19
19
  description: 'Event type that triggers the webhook',
20
20
  options: [generated_1.WebhookType.Build, generated_1.WebhookType.Submit],
21
- }),
21
+ })(),
22
22
  ...flags_1.EasJsonOnlyFlag,
23
23
  };
24
24
  static contextDefinition = {
@@ -4,10 +4,10 @@ export default class WebhookUpdate extends EasCommand {
4
4
  static description: string;
5
5
  static flags: {
6
6
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
- id: import("@oclif/core/lib/interfaces").OptionFlag<string>;
8
- event: import("@oclif/core/lib/interfaces").OptionFlag<WebhookType | undefined>;
9
- url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- secret: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ event: import("@oclif/core/lib/interfaces").OptionFlag<WebhookType | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ secret: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  };
12
12
  static contextDefinition: {
13
13
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -17,10 +17,10 @@ class WebhookUpdate extends EasCommand_1.default {
17
17
  description: 'Webhook ID',
18
18
  required: true,
19
19
  }),
20
- event: core_1.Flags.enum({
20
+ event: core_1.Flags.option({
21
21
  description: 'Event type that triggers the webhook',
22
22
  options: [generated_1.WebhookType.Build, generated_1.WebhookType.Submit],
23
- }),
23
+ })(),
24
24
  url: core_1.Flags.string({
25
25
  description: 'Webhook URL',
26
26
  }),
@@ -2,10 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class WebhookView extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- required: boolean;
7
- description: string;
8
- }[];
5
+ ID: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
9
7
  static contextDefinition: {
10
8
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
11
9
  };
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ const core_1 = require("@oclif/core");
4
5
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
5
6
  const WebhookQuery_1 = require("../../graphql/queries/WebhookQuery");
6
7
  const log_1 = tslib_1.__importDefault(require("../../log"));
@@ -8,13 +9,12 @@ const ora_1 = require("../../ora");
8
9
  const formatWebhook_1 = require("../../webhooks/formatWebhook");
9
10
  class WebhookView extends EasCommand_1.default {
10
11
  static description = 'view a webhook';
11
- static args = [
12
- {
13
- name: 'ID',
12
+ static args = {
13
+ ID: core_1.Args.string({
14
14
  required: true,
15
15
  description: 'ID of the webhook to view',
16
- },
17
- ];
16
+ }),
17
+ };
18
18
  static contextDefinition = {
19
19
  ...this.ContextOptions.LoggedIn,
20
20
  };
@@ -2,10 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export declare class WorkflowCreate extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- description: string;
7
- required: boolean;
8
- }[];
5
+ name: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
6
+ };
9
7
  static flags: {
10
8
  'skip-validation': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
9
  };
@@ -17,13 +17,12 @@ const formatFields_1 = tslib_1.__importDefault(require("../../utils/formatFields
17
17
  const workflowFile_1 = require("../../utils/workflowFile");
18
18
  class WorkflowCreate extends EasCommand_1.default {
19
19
  static description = 'create a new workflow configuration YAML file';
20
- static args = [
21
- {
22
- name: 'name',
20
+ static args = {
21
+ name: core_1.Args.string({
23
22
  description: 'Name of the workflow file (must end with .yml or .yaml)',
24
23
  required: false,
25
- },
26
- ];
24
+ }),
25
+ };
27
26
  static flags = {
28
27
  'skip-validation': core_1.Flags.boolean({
29
28
  description: 'If set, the workflow file will not be validated before being created',
@@ -7,9 +7,8 @@ export default class WorkflowLogView extends EasCommand {
7
7
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
8
  };
9
9
  static args: {
10
- name: string;
11
- description: string;
12
- }[];
10
+ id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
11
+ };
13
12
  static contextDefinition: {
14
13
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
15
14
  projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;
@@ -29,9 +29,11 @@ class WorkflowLogView extends EasCommand_1.default {
29
29
  default: false,
30
30
  }),
31
31
  };
32
- static args = [
33
- { name: 'id', description: 'ID of the workflow run or workflow job to view logs for' },
34
- ];
32
+ static args = {
33
+ id: core_1.Args.string({
34
+ description: 'ID of the workflow run or workflow job to view logs for',
35
+ }),
36
+ };
35
37
  static contextDefinition = {
36
38
  ...this.ContextOptions.ProjectId,
37
39
  ...this.ContextOptions.LoggedIn,
@@ -43,14 +43,13 @@ import EasCommand from '../../commandUtils/EasCommand';
43
43
  export default class WorkflowRun extends EasCommand {
44
44
  static description: string;
45
45
  static args: {
46
- name: string;
47
- description: string;
48
- }[];
46
+ file: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
47
+ };
49
48
  static flags: {
50
49
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
51
50
  wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
52
- input: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined>;
53
- ref: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
51
+ input: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
52
+ ref: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
54
53
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
55
54
  };
56
55
  static contextDefinition: {
@@ -66,7 +66,12 @@ const json_1 = require("../../utils/json");
66
66
  const workflowFile_1 = require("../../utils/workflowFile");
67
67
  class WorkflowRun extends EasCommand_1.default {
68
68
  static description = 'run an EAS workflow. The entire local project directory will be packaged and uploaded to EAS servers for the workflow run, unless the --ref flag is used.';
69
- static args = [{ name: 'file', description: 'Path to the workflow file to run' }];
69
+ static args = {
70
+ file: core_1.Args.string({
71
+ description: 'Path to the workflow file to run',
72
+ required: true,
73
+ }),
74
+ };
70
75
  static flags = {
71
76
  ...flags_1.EASNonInteractiveFlag,
72
77
  wait: core_1.Flags.boolean({
@@ -5,8 +5,8 @@ export default class WorkflowRunList extends EasCommand {
5
5
  static flags: {
6
6
  limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
7
7
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- workflow: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- status: import("@oclif/core/lib/interfaces").OptionFlag<WorkflowRunStatus | undefined>;
8
+ workflow: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ status: import("@oclif/core/lib/interfaces").OptionFlag<WorkflowRunStatus | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
10
  };
11
11
  static contextDefinition: {
12
12
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -19,11 +19,11 @@ class WorkflowRunList extends EasCommand_1.default {
19
19
  description: 'If present, the query will only return runs for the specified workflow file name',
20
20
  required: false,
21
21
  }),
22
- status: core_1.Flags.enum({
22
+ status: core_1.Flags.option({
23
23
  description: 'If present, filter the returned runs to select those with the specified status',
24
24
  required: false,
25
25
  options: Object.values(generated_1.WorkflowRunStatus),
26
- }),
26
+ })(),
27
27
  ...flags_1.EasJsonOnlyFlag,
28
28
  limit: (0, pagination_1.getLimitFlagWithCustomValues)({ defaultTo: 10, limit: 100 }),
29
29
  };
@@ -13,9 +13,8 @@ import EasCommand from '../../commandUtils/EasCommand';
13
13
  export default class WorkflowStatus extends EasCommand {
14
14
  static description: string;
15
15
  static args: {
16
- name: string;
17
- description: string;
18
- }[];
16
+ WORKFLOW_RUN_ID: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
17
+ };
19
18
  static flags: {
20
19
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
21
20
  wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
@@ -27,12 +27,11 @@ const prompts_1 = require("../../prompts");
27
27
  const json_1 = require("../../utils/json");
28
28
  class WorkflowStatus extends EasCommand_1.default {
29
29
  static description = 'show the status of an existing workflow run. If no run ID is provided, you will be prompted to select from recent workflow runs for the current project.';
30
- static args = [
31
- {
32
- name: 'WORKFLOW_RUN_ID',
30
+ static args = {
31
+ WORKFLOW_RUN_ID: core_1.Args.string({
33
32
  description: 'A workflow run ID.',
34
- },
35
- ];
33
+ }),
34
+ };
36
35
  static flags = {
37
36
  ...flags_1.EASNonInteractiveFlag,
38
37
  wait: core_1.Flags.boolean({
@@ -78,6 +77,9 @@ class WorkflowStatus extends EasCommand_1.default {
78
77
  choices: runs.map(run => (0, utils_1.choiceFromWorkflowRun)(run)),
79
78
  });
80
79
  workflowRunId = answers.selectedRun;
80
+ if (!workflowRunId) {
81
+ throw new Error('No workflow run selected');
82
+ }
81
83
  }
82
84
  log_1.default.addNewLineIfNone();
83
85
  log_1.default.log(`See logs: ${(0, log_1.link)((0, url_1.getWorkflowRunUrl)(account.name, projectName, workflowRunId))}`);
@@ -2,10 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export declare class WorkflowValidate extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- description: string;
7
- required: boolean;
8
- }[];
5
+ path: import("@oclif/core/lib/interfaces").Arg<string, Record<string, unknown>>;
6
+ };
9
7
  static flags: {
10
8
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
9
  };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.WorkflowValidate = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const core_1 = require("@oclif/core");
5
6
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
6
7
  const flags_1 = require("../../commandUtils/flags");
7
8
  const validation_1 = require("../../commandUtils/workflow/validation");
@@ -10,13 +11,12 @@ const ora_1 = require("../../ora");
10
11
  const workflowFile_1 = require("../../utils/workflowFile");
11
12
  class WorkflowValidate extends EasCommand_1.default {
12
13
  static description = 'validate a workflow configuration yaml file';
13
- static args = [
14
- {
15
- name: 'path',
14
+ static args = {
15
+ path: core_1.Args.string({
16
16
  description: 'Path to the workflow configuration YAML file (must end with .yml or .yaml)',
17
17
  required: true,
18
- },
19
- ];
18
+ }),
19
+ };
20
20
  static flags = {
21
21
  ...flags_1.EASNonInteractiveFlag,
22
22
  };
@@ -6,9 +6,8 @@ export default class WorkflowView extends EasCommand {
6
6
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
7
  };
8
8
  static args: {
9
- name: string;
10
- description: string;
11
- }[];
9
+ id: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
10
+ };
12
11
  static contextDefinition: {
13
12
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
14
13
  projectId: import("../../commandUtils/context/ProjectIdContextField").ProjectIdContextField;