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
@@ -6,8 +6,8 @@ export default class Download extends EasCommand {
6
6
  static flags: {
7
7
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
8
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- fingerprint: import("@oclif/core/lib/interfaces").OptionFlag<string>;
10
- platform: import("@oclif/core/lib/interfaces").OptionFlag<Platform | undefined>;
9
+ fingerprint: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<Platform | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  'dev-client': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
12
  };
13
13
  static contextDefinition: {
@@ -22,10 +22,10 @@ class Download extends EasCommand_1.default {
22
22
  description: 'Fingerprint hash of the build to download',
23
23
  required: true,
24
24
  }),
25
- platform: core_1.Flags.enum({
25
+ platform: core_1.Flags.option({
26
26
  char: 'p',
27
27
  options: [eas_build_job_1.Platform.IOS, eas_build_job_1.Platform.ANDROID],
28
- }),
28
+ })(),
29
29
  'dev-client': core_1.Flags.boolean({
30
30
  description: 'Filter only dev-client builds.',
31
31
  allowNo: true,
@@ -37,7 +37,8 @@ class Download extends EasCommand_1.default {
37
37
  ...this.ContextOptions.ProjectId,
38
38
  };
39
39
  async runAsync() {
40
- const { flags: { json: jsonFlag, platform, fingerprint, 'dev-client': developmentClient, 'non-interactive': nonInteractive, }, } = await this.parse(Download);
40
+ const { flags: { platform, fingerprint, 'dev-client': developmentClient, ...rawFlags }, } = await this.parse(Download);
41
+ const { json: jsonFlag, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(rawFlags);
41
42
  const { loggedIn: { graphqlClient }, projectId, } = await this.getContextAsync(Download, {
42
43
  nonInteractive,
43
44
  });
@@ -6,20 +6,20 @@ export default class Build extends EasCommand {
6
6
  static flags: {
7
7
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
8
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios" | "all" | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
10
  'skip-credentials-check': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
11
  'skip-project-configuration': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
12
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
13
  local: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
- output: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
14
+ output: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
15
15
  wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
16
16
  'clear-cache': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
17
17
  'auto-submit': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
18
- 'auto-submit-with-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
19
- 'what-to-test': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
20
- 'resource-class': import("@oclif/core/lib/interfaces").OptionFlag<ResourceClass | undefined>;
21
- message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
22
- 'build-logger-level': import("@oclif/core/lib/interfaces").OptionFlag<LoggerLevel | undefined>;
18
+ 'auto-submit-with-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
19
+ 'what-to-test': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
20
+ 'resource-class': import("@oclif/core/lib/interfaces").OptionFlag<ResourceClass | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
21
+ message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
22
+ 'build-logger-level': import("@oclif/core/lib/interfaces").OptionFlag<LoggerLevel | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
23
23
  'freeze-credentials': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
24
24
  'verbose-logs': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
25
25
  };
@@ -24,10 +24,10 @@ const statuspageService_1 = require("../../utils/statuspageService");
24
24
  class Build extends EasCommand_1.default {
25
25
  static description = 'start a build';
26
26
  static flags = {
27
- platform: core_1.Flags.enum({
27
+ platform: core_1.Flags.option({
28
28
  char: 'p',
29
29
  options: ['android', 'ios', 'all'],
30
- }),
30
+ })(),
31
31
  'skip-credentials-check': core_1.Flags.boolean({
32
32
  default: false,
33
33
  hidden: true,
@@ -72,22 +72,22 @@ class Build extends EasCommand_1.default {
72
72
  'what-to-test': core_1.Flags.string({
73
73
  description: 'Specify the "What to Test" information for the build in TestFlight (iOS-only). To be used with the `auto-submit` flag',
74
74
  }),
75
- 'resource-class': core_1.Flags.enum({
75
+ 'resource-class': core_1.Flags.option({
76
76
  options: Object.values(eas_json_1.ResourceClass),
77
77
  hidden: true,
78
78
  deprecated: {
79
79
  message: chalk_1.default.yellow('The --resource-class flag has been deprecated. Define the resource class in eas.json.\nLearn more: https://docs.expo.dev/build-reference/eas-json/'),
80
80
  },
81
81
  description: 'The instance type that will be used to run this build [experimental]',
82
- }),
82
+ })(),
83
83
  message: core_1.Flags.string({
84
84
  char: 'm',
85
85
  description: 'A short message describing the build',
86
86
  }),
87
- 'build-logger-level': core_1.Flags.enum({
87
+ 'build-logger-level': core_1.Flags.option({
88
88
  description: 'The level of logs to output during the build process. Defaults to "info".',
89
89
  options: Object.values(logger_1.LoggerLevel),
90
- }),
90
+ })(),
91
91
  'freeze-credentials': core_1.Flags.boolean({
92
92
  default: false,
93
93
  description: 'Prevent the build from updating credentials in non-interactive mode',
@@ -137,16 +137,13 @@ class Build extends EasCommand_1.default {
137
137
  });
138
138
  }
139
139
  sanitizeFlags(flags) {
140
- const nonInteractive = flags['non-interactive'];
140
+ const { json, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
141
141
  if (!flags.local && flags.output) {
142
142
  core_1.Errors.error('--output is allowed only for local builds', { exit: 1 });
143
143
  }
144
144
  if (!flags.platform && nonInteractive) {
145
145
  core_1.Errors.error('--platform is required when building in non-interactive mode', { exit: 1 });
146
146
  }
147
- if (flags.json && !nonInteractive) {
148
- core_1.Errors.error('--json is allowed only when building in non-interactive mode', { exit: 1 });
149
- }
150
147
  const autoSubmit = flags['auto-submit'] || flags['auto-submit-with-profile'] !== undefined;
151
148
  if (flags['what-to-test'] && !autoSubmit) {
152
149
  core_1.Errors.error('The --what-to-test flag can only be used with the --auto-submit or --auto-submit-with-profile flag.', { exit: 1 });
@@ -181,7 +178,7 @@ class Build extends EasCommand_1.default {
181
178
  : {},
182
179
  wait: flags['wait'],
183
180
  clearCache: flags['clear-cache'],
184
- json: flags['json'],
181
+ json,
185
182
  autoSubmit,
186
183
  submitProfile: flags['auto-submit-with-profile'] ?? profile,
187
184
  resourceClass: flags['resource-class'],
@@ -8,10 +8,10 @@ declare enum InspectStage {
8
8
  export default class BuildInspect extends EasCommand {
9
9
  static description: string;
10
10
  static flags: {
11
- platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform>;
12
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
13
- stage: import("@oclif/core/lib/interfaces").OptionFlag<InspectStage>;
14
- output: import("@oclif/core/lib/interfaces").OptionFlag<string>;
11
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform.Android | RequestedPlatform.Ios, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ stage: import("@oclif/core/lib/interfaces").OptionFlag<InspectStage, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ output: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
15
15
  force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
16
16
  verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
17
17
  };
@@ -26,22 +26,22 @@ const STAGE_DESCRIPTION = `Stage of the build you want to inspect.
26
26
  class BuildInspect extends EasCommand_1.default {
27
27
  static description = 'inspect the state of the project at specific build stages, useful for troubleshooting';
28
28
  static flags = {
29
- platform: core_1.Flags.enum({
29
+ platform: core_1.Flags.option({
30
30
  char: 'p',
31
31
  options: [platform_1.RequestedPlatform.Android, platform_1.RequestedPlatform.Ios],
32
32
  required: true,
33
- }),
33
+ })(),
34
34
  profile: core_1.Flags.string({
35
35
  char: 'e',
36
36
  description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
37
37
  helpValue: 'PROFILE_NAME',
38
38
  }),
39
- stage: core_1.Flags.enum({
39
+ stage: core_1.Flags.option({
40
40
  char: 's',
41
41
  description: STAGE_DESCRIPTION,
42
42
  options: [InspectStage.ARCHIVE, InspectStage.PRE_BUILD, InspectStage.POST_BUILD],
43
43
  required: true,
44
- }),
44
+ })(),
45
45
  output: core_1.Flags.string({
46
46
  char: 'o',
47
47
  description: 'Output directory.',
@@ -8,10 +8,10 @@ import EasCommand from '../../commandUtils/EasCommand';
8
8
  export default class BuildInternal extends EasCommand {
9
9
  static hidden: boolean;
10
10
  static flags: {
11
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
12
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios", import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
13
  'auto-submit': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
- 'auto-submit-with-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
14
+ 'auto-submit-with-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
15
15
  };
16
16
  static contextDefinition: {
17
17
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
@@ -17,11 +17,11 @@ const git_1 = tslib_1.__importDefault(require("../../vcs/clients/git"));
17
17
  class BuildInternal extends EasCommand_1.default {
18
18
  static hidden = true;
19
19
  static flags = {
20
- platform: core_1.Flags.enum({
20
+ platform: core_1.Flags.option({
21
21
  char: 'p',
22
22
  options: ['android', 'ios'],
23
23
  required: true,
24
- }),
24
+ })(),
25
25
  profile: core_1.Flags.string({
26
26
  char: 'e',
27
27
  description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
@@ -8,19 +8,19 @@ export default class BuildList extends EasCommand {
8
8
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
9
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
10
  limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
11
- offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
12
- platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform | undefined>;
13
- status: import("@oclif/core/lib/interfaces").OptionFlag<BuildStatus | undefined>;
14
- distribution: import("@oclif/core/lib/interfaces").OptionFlag<BuildDistributionType | undefined>;
15
- channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
16
- 'app-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
17
- 'app-build-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
18
- 'sdk-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
19
- 'runtime-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
20
- 'app-identifier': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
21
- 'build-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
22
- 'git-commit-hash': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
23
- 'fingerprint-hash': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
+ offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ status: import("@oclif/core/lib/interfaces").OptionFlag<BuildStatus | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ distribution: import("@oclif/core/lib/interfaces").OptionFlag<BuildDistributionType | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
15
+ channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
16
+ 'app-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
17
+ 'app-build-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
18
+ 'sdk-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
19
+ 'runtime-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
20
+ 'app-identifier': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
21
+ 'build-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
22
+ 'git-commit-hash': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
23
+ 'fingerprint-hash': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
24
24
  };
25
25
  static contextDefinition: {
26
26
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
@@ -16,18 +16,18 @@ const json_1 = require("../../utils/json");
16
16
  class BuildList extends EasCommand_1.default {
17
17
  static description = 'list all builds for your project';
18
18
  static flags = {
19
- platform: core_1.Flags.enum({
19
+ platform: core_1.Flags.option({
20
20
  options: Object.values(platform_1.RequestedPlatform),
21
21
  char: 'p',
22
- }),
23
- status: core_1.Flags.enum({
22
+ })(),
23
+ status: core_1.Flags.option({
24
24
  options: Object.values(types_1.BuildStatus),
25
25
  description: 'Filter only builds with the specified status',
26
- }),
27
- distribution: core_1.Flags.enum({
26
+ })(),
27
+ distribution: core_1.Flags.option({
28
28
  options: Object.values(types_1.BuildDistributionType),
29
29
  description: 'Filter only builds with the specified distribution type',
30
- }),
30
+ })(),
31
31
  channel: core_1.Flags.string(),
32
32
  'app-version': core_1.Flags.string({
33
33
  aliases: ['appVersion'],
@@ -76,7 +76,8 @@ class BuildList extends EasCommand_1.default {
76
76
  async runAsync() {
77
77
  const { flags } = await this.parse(BuildList);
78
78
  const paginatedQueryOptions = (0, pagination_1.getPaginatedQueryOptions)(flags);
79
- const { json: jsonFlag, platform: requestedPlatform, status: buildStatus, distribution: buildDistribution, 'non-interactive': nonInteractive, } = flags;
79
+ const { json: jsonFlag, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
80
+ const { platform: requestedPlatform, status: buildStatus, distribution: buildDistribution, } = flags;
80
81
  if (buildDistribution === types_1.BuildDistributionType.SIMULATOR) {
81
82
  log_1.default.warn(`Using --distribution flag with "simulator" value is deprecated - use --simulator flag instead`);
82
83
  }
@@ -31,13 +31,13 @@ export default class BuildResign extends EasCommand {
31
31
  static flags: {
32
32
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
33
33
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
34
- offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
34
+ offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
35
35
  limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
36
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
37
- 'target-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
38
- 'source-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
36
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios" | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
37
+ 'target-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
38
+ 'source-profile': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
39
39
  wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
40
- id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
40
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
41
41
  };
42
42
  static contextDefinition: {
43
43
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
@@ -31,10 +31,10 @@ const statuspageService_1 = require("../../utils/statuspageService");
31
31
  class BuildResign extends EasCommand_1.default {
32
32
  static description = 're-sign a build archive';
33
33
  static flags = {
34
- platform: core_1.Flags.enum({
34
+ platform: core_1.Flags.option({
35
35
  char: 'p',
36
36
  options: ['android', 'ios'],
37
- }),
37
+ })(),
38
38
  'target-profile': core_1.Flags.string({
39
39
  char: 'e',
40
40
  description: 'Name of the target build profile from eas.json. Credentials and environment variables from this profile will be used when re-signing. Defaults to "production" if defined in eas.json.',
@@ -171,12 +171,12 @@ class BuildResign extends EasCommand_1.default {
171
171
  }
172
172
  }
173
173
  sanitizeFlags(flags) {
174
- const nonInteractive = flags['non-interactive'];
174
+ const { json, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
175
175
  if (nonInteractive && !flags.id) {
176
176
  throw new Error(`${chalk_1.default.bold('--id')} is required when running with ${chalk_1.default.bold('--non-interactive')} flag.`);
177
177
  }
178
178
  return {
179
- json: flags.json,
179
+ json,
180
180
  nonInteractive,
181
181
  offset: flags.offset,
182
182
  limit: flags.limit,
@@ -2,14 +2,14 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class Run extends EasCommand {
3
3
  static description: string;
4
4
  static flags: {
5
- offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
5
+ offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
6
  limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
7
7
  latest: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
12
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
+ url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios" | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ profile: 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,10 +35,10 @@ class Run extends EasCommand_1.default {
35
35
  description: 'ID of the simulator/emulator build to run',
36
36
  exclusive: ['latest, path, url'],
37
37
  }),
38
- platform: core_1.Flags.enum({
38
+ platform: core_1.Flags.option({
39
39
  char: 'p',
40
40
  options: ['android', 'ios'],
41
- }),
41
+ })(),
42
42
  profile: core_1.Flags.string({
43
43
  char: 'e',
44
44
  description: 'Name of the build profile used to create the build to run. When specified, only builds created with the specified build profile will be queried.',
@@ -4,8 +4,8 @@ export default class BuildVersionGetView 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
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios" | "all" | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
9
  };
10
10
  static contextDefinition: {
11
11
  vcsClient: import("../../../commandUtils/context/VcsClientContextField").default;
@@ -18,10 +18,10 @@ const profiles_1 = require("../../../utils/profiles");
18
18
  class BuildVersionGetView extends EasCommand_1.default {
19
19
  static description = 'get the latest version from EAS servers';
20
20
  static flags = {
21
- platform: core_1.Flags.enum({
21
+ platform: core_1.Flags.option({
22
22
  char: 'p',
23
23
  options: ['android', 'ios', 'all'],
24
- }),
24
+ })(),
25
25
  profile: core_1.Flags.string({
26
26
  char: 'e',
27
27
  description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
@@ -37,20 +37,21 @@ class BuildVersionGetView extends EasCommand_1.default {
37
37
  };
38
38
  async runAsync() {
39
39
  const { flags } = await this.parse(BuildVersionGetView);
40
- if (flags.json) {
40
+ const { json, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
41
+ if (json) {
41
42
  (0, json_1.enableJsonOutput)();
42
43
  }
43
44
  const { loggedIn: { graphqlClient }, getDynamicPrivateProjectConfigAsync, projectDir, vcsClient, } = await this.getContextAsync(BuildVersionGetView, {
44
45
  nonInteractive: true,
45
46
  withServerSideEnvironment: null,
46
47
  });
47
- if (!flags.platform && flags['non-interactive']) {
48
+ if (!flags.platform && nonInteractive) {
48
49
  throw new Error('"--platform" flag is required in non-interactive mode.');
49
50
  }
50
51
  const requestedPlatform = await (0, platform_1.selectRequestedPlatformAsync)(flags.platform);
51
52
  const easJsonAccessor = eas_json_1.EasJsonAccessor.fromProjectPath(projectDir);
52
53
  await (0, remoteVersionSource_1.ensureVersionSourceIsRemoteAsync)(easJsonAccessor, {
53
- nonInteractive: flags['non-interactive'],
54
+ nonInteractive,
54
55
  });
55
56
  const platforms = (0, platform_1.toPlatforms)(requestedPlatform);
56
57
  const buildProfiles = await (0, profiles_1.getProfilesAsync)({
@@ -78,7 +79,7 @@ class BuildVersionGetView extends EasCommand_1.default {
78
79
  buildProfile: profile,
79
80
  platform,
80
81
  vcsClient,
81
- nonInteractive: flags['non-interactive'],
82
+ nonInteractive,
82
83
  env,
83
84
  });
84
85
  const remoteVersions = await AppVersionQuery_1.AppVersionQuery.latestVersionAsync(graphqlClient, projectId, (0, AppPlatform_1.toAppPlatform)(platform), applicationIdentifier);
@@ -86,7 +87,7 @@ class BuildVersionGetView extends EasCommand_1.default {
86
87
  results[platform] = remoteVersions?.buildVersion;
87
88
  }
88
89
  }
89
- if (flags.json) {
90
+ if (json) {
90
91
  const jsonResults = {};
91
92
  if (results.android) {
92
93
  jsonResults.versionCode = results.android;
@@ -2,8 +2,8 @@ import EasCommand from '../../../commandUtils/EasCommand';
2
2
  export default class BuildVersionSetView extends EasCommand {
3
3
  static description: string;
4
4
  static flags: {
5
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
5
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios" | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
7
  };
8
8
  static contextDefinition: {
9
9
  vcsClient: import("../../../commandUtils/context/VcsClientContextField").default;
@@ -22,10 +22,10 @@ const prompts_1 = require("../../../prompts");
22
22
  class BuildVersionSetView extends EasCommand_1.default {
23
23
  static description = 'update version of an app';
24
24
  static flags = {
25
- platform: core_1.Flags.enum({
25
+ platform: core_1.Flags.option({
26
26
  char: 'p',
27
27
  options: ['android', 'ios'],
28
- }),
28
+ })(),
29
29
  profile: core_1.Flags.string({
30
30
  char: 'e',
31
31
  description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
@@ -2,8 +2,8 @@ import EasCommand from '../../../commandUtils/EasCommand';
2
2
  export default class BuildVersionSyncView extends EasCommand {
3
3
  static description: string;
4
4
  static flags: {
5
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
5
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios" | "all" | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
7
  };
8
8
  static contextDefinition: {
9
9
  vcsClient: import("../../../commandUtils/context/VcsClientContextField").default;
@@ -25,10 +25,10 @@ const profiles_1 = require("../../../utils/profiles");
25
25
  class BuildVersionSyncView extends EasCommand_1.default {
26
26
  static description = 'update a version in native code with a value stored on EAS servers';
27
27
  static flags = {
28
- platform: core_1.Flags.enum({
28
+ platform: core_1.Flags.option({
29
29
  char: 'p',
30
30
  options: ['android', 'ios', 'all'],
31
- }),
31
+ })(),
32
32
  profile: core_1.Flags.string({
33
33
  char: 'e',
34
34
  description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
@@ -2,8 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class BuildView extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- }[];
5
+ BUILD_ID: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
6
+ };
7
7
  static flags: {
8
8
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
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 formatBuild_1 = require("../../build/utils/formatBuild");
5
6
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
6
7
  const flags_1 = require("../../commandUtils/flags");
@@ -11,7 +12,9 @@ const projectUtils_1 = require("../../project/projectUtils");
11
12
  const json_1 = require("../../utils/json");
12
13
  class BuildView extends EasCommand_1.default {
13
14
  static description = 'view a build for your project';
14
- static args = [{ name: 'BUILD_ID' }];
15
+ static args = {
16
+ BUILD_ID: core_1.Args.string({}),
17
+ };
15
18
  static flags = {
16
19
  ...flags_1.EasJsonOnlyFlag,
17
20
  };
@@ -2,10 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class ChannelCreate extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- required: boolean;
7
- description: string;
8
- }[];
5
+ name: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
6
+ };
9
7
  static flags: {
10
8
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
9
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
@@ -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 queries_1 = require("../../channel/queries");
6
7
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
@@ -10,13 +11,12 @@ const prompts_1 = require("../../prompts");
10
11
  const json_1 = require("../../utils/json");
11
12
  class ChannelCreate extends EasCommand_1.default {
12
13
  static description = 'create a channel';
13
- static args = [
14
- {
15
- name: 'name',
14
+ static args = {
15
+ name: core_1.Args.string({
16
16
  required: false,
17
17
  description: 'Name of the channel to create',
18
- },
19
- ];
18
+ }),
19
+ };
20
20
  static flags = {
21
21
  ...flags_1.EasNonInteractiveAndJsonFlags,
22
22
  };
@@ -25,7 +25,8 @@ class ChannelCreate extends EasCommand_1.default {
25
25
  ...this.ContextOptions.LoggedIn,
26
26
  };
27
27
  async runAsync() {
28
- let { args: { name: channelName }, flags: { json: jsonFlag, 'non-interactive': nonInteractive }, } = await this.parse(ChannelCreate);
28
+ let { args: { name: channelName }, flags, } = await this.parse(ChannelCreate);
29
+ const { json: jsonFlag, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
29
30
  const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(ChannelCreate, {
30
31
  nonInteractive,
31
32
  });
@@ -43,6 +44,9 @@ class ChannelCreate extends EasCommand_1.default {
43
44
  message: 'Provide a channel name:',
44
45
  validate: value => (value ? true : validationMessage),
45
46
  }));
47
+ if (!channelName) {
48
+ throw new Error(validationMessage);
49
+ }
46
50
  }
47
51
  await (0, queries_1.createAndLinkChannelAsync)(graphqlClient, {
48
52
  appId: projectId,
@@ -2,10 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class ChannelDelete extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- required: boolean;
7
- description: string;
8
- }[];
5
+ name: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
6
+ };
9
7
  static flags: {
10
8
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
9
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;