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
@@ -2,7 +2,7 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class MetadataPush extends EasCommand {
3
3
  static description: string;
4
4
  static flags: {
5
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
5
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
6
6
  };
7
7
  static contextDefinition: {
8
8
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
@@ -4,7 +4,7 @@ export default class ProjectInit extends EasCommand {
4
4
  static aliases: 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 | undefined>;
7
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
9
  };
10
10
  static contextDefinition: {
@@ -22,12 +22,10 @@ export default class New extends EasCommand {
22
22
  static aliases: string[];
23
23
  static description: string;
24
24
  static args: {
25
- name: string;
26
- description: string;
27
- required: boolean;
28
- }[];
25
+ path: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
26
+ };
29
27
  static flags: {
30
- 'package-manager': import("@oclif/core/lib/interfaces").OptionFlag<"npm" | "pnpm" | "bun" | "yarn">;
28
+ 'package-manager': import("@oclif/core/lib/interfaces").OptionFlag<"npm" | "pnpm" | "bun" | "yarn", import("@oclif/core/lib/interfaces").CustomOptions>;
31
29
  };
32
30
  static contextDefinition: {
33
31
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -70,20 +70,19 @@ async function generateProjectFilesAsync(projectDir, app, packageManager) {
70
70
  class New extends EasCommand_1.default {
71
71
  static aliases = ['new'];
72
72
  static description = 'Create a new project configured with Expo Application Services (EAS)';
73
- static args = [
74
- {
75
- name: 'path',
73
+ static args = {
74
+ path: core_1.Args.string({
76
75
  description: 'Path to create the project (defaults to current directory)',
77
76
  required: false,
78
- },
79
- ];
77
+ }),
78
+ };
80
79
  static flags = {
81
- 'package-manager': core_1.Flags.enum({
80
+ 'package-manager': core_1.Flags.option({
82
81
  char: 'p',
83
82
  description: 'Package manager to use for installing dependencies',
84
83
  options: [...installDependencies_1.PACKAGE_MANAGERS],
85
84
  default: 'npm',
86
- }),
85
+ })(),
87
86
  };
88
87
  static contextDefinition = {
89
88
  ...this.ContextOptions.LoggedIn,
@@ -4,8 +4,8 @@ export default class Onboarding extends EasCommand {
4
4
  static description: string;
5
5
  static flags: {};
6
6
  static args: {
7
- name: string;
8
- }[];
7
+ TARGET_PROJECT_DIRECTORY: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
8
+ };
9
9
  static contextDefinition: {
10
10
  analytics: import("../../commandUtils/context/AnalyticsContextField").default;
11
11
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -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 eas_build_job_1 = require("@expo/eas-build-job");
5
6
  const eas_json_1 = require("@expo/eas-json");
6
7
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -28,7 +29,9 @@ class Onboarding extends EasCommand_1.default {
28
29
  static aliases = ['init:onboarding', 'onboarding'];
29
30
  static description = 'continue onboarding process started on the https://expo.new website.';
30
31
  static flags = {};
31
- static args = [{ name: 'TARGET_PROJECT_DIRECTORY' }];
32
+ static args = {
33
+ TARGET_PROJECT_DIRECTORY: core_1.Args.string({}),
34
+ };
32
35
  static contextDefinition = {
33
36
  ...this.ContextOptions.LoggedIn,
34
37
  ...this.ContextOptions.Analytics,
@@ -6,10 +6,10 @@ export default class EnvironmentSecretCreate extends EasCommand {
6
6
  static hidden: boolean;
7
7
  static flags: {
8
8
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- scope: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentSecretScope>;
10
- name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
- value: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
12
- type: import("@oclif/core/lib/interfaces").OptionFlag<SecretType | undefined>;
9
+ scope: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentSecretScope, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ name: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ value: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ type: import("@oclif/core/lib/interfaces").OptionFlag<SecretType | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
13
  force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
14
  };
15
15
  static contextDefinition: {
@@ -18,21 +18,21 @@ class EnvironmentSecretCreate extends EasCommand_1.default {
18
18
  static description = 'create an environment secret on the current project or owner account';
19
19
  static hidden = true;
20
20
  static flags = {
21
- scope: core_1.Flags.enum({
21
+ scope: core_1.Flags.option({
22
22
  description: 'Scope for the secret',
23
23
  options: [EnvironmentSecretsQuery_1.EnvironmentSecretScope.ACCOUNT, EnvironmentSecretsQuery_1.EnvironmentSecretScope.PROJECT],
24
24
  default: EnvironmentSecretsQuery_1.EnvironmentSecretScope.PROJECT,
25
- }),
25
+ })(),
26
26
  name: core_1.Flags.string({
27
27
  description: 'Name of the secret',
28
28
  }),
29
29
  value: core_1.Flags.string({
30
30
  description: 'Text value or path to a file to store in the secret',
31
31
  }),
32
- type: core_1.Flags.enum({
32
+ type: core_1.Flags.option({
33
33
  description: 'The type of secret',
34
34
  options: [EnvironmentSecret_1.SecretType.STRING, EnvironmentSecret_1.SecretType.FILE],
35
- }),
35
+ })(),
36
36
  force: core_1.Flags.boolean({
37
37
  description: 'Delete and recreate existing secrets',
38
38
  default: false,
@@ -133,6 +133,7 @@ class EnvironmentSecretCreate extends EasCommand_1.default {
133
133
  }));
134
134
  }
135
135
  (0, assert_1.default)(secretValue);
136
+ const environmentSecretType = EnvironmentSecret_1.SecretTypeToEnvironmentSecretType[secretType];
136
137
  let secretFilePath;
137
138
  if (secretType === EnvironmentSecret_1.SecretType.FILE) {
138
139
  secretFilePath = path_1.default.resolve(secretValue);
@@ -150,7 +151,7 @@ class EnvironmentSecretCreate extends EasCommand_1.default {
150
151
  log_1.default.withTick(`Deleting existing secret ${chalk_1.default.bold(name)} on project ${chalk_1.default.bold(projectDisplayName)}.`);
151
152
  }
152
153
  }
153
- const secret = await EnvironmentSecretMutation_1.EnvironmentSecretMutation.createForAppAsync(graphqlClient, { name, value: secretValue, type: EnvironmentSecret_1.SecretTypeToEnvironmentSecretType[secretType] }, projectId);
154
+ const secret = await EnvironmentSecretMutation_1.EnvironmentSecretMutation.createForAppAsync(graphqlClient, { name, value: secretValue, type: environmentSecretType }, projectId);
154
155
  if (!secret) {
155
156
  throw new Error(`Could not create secret with name ${name} on project with id ${projectId}`);
156
157
  }
@@ -170,7 +171,7 @@ class EnvironmentSecretCreate extends EasCommand_1.default {
170
171
  log_1.default.withTick(`Deleting existing secret ${chalk_1.default.bold(name)} on account ${chalk_1.default.bold(ownerAccount.name)}.`);
171
172
  }
172
173
  }
173
- const secret = await EnvironmentSecretMutation_1.EnvironmentSecretMutation.createForAccountAsync(graphqlClient, { name, value: secretValue, type: EnvironmentSecret_1.SecretTypeToEnvironmentSecretType[secretType] }, ownerAccount.id);
174
+ const secret = await EnvironmentSecretMutation_1.EnvironmentSecretMutation.createForAccountAsync(graphqlClient, { name, value: secretValue, type: environmentSecretType }, ownerAccount.id);
174
175
  if (!secret) {
175
176
  throw new Error(`Could not create secret with name ${name} on account with id ${ownerAccount.id}`);
176
177
  }
@@ -4,7 +4,7 @@ export default class EnvironmentSecretDelete extends EasCommand {
4
4
  static hidden: boolean;
5
5
  static flags: {
6
6
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
- id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  };
9
9
  static contextDefinition: {
10
10
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -5,8 +5,8 @@ export default class EnvironmentSecretPush extends EasCommand {
5
5
  static hidden: boolean;
6
6
  static flags: {
7
7
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
- scope: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentSecretScope>;
9
- 'env-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
+ scope: import("@oclif/core/lib/interfaces").OptionFlag<EnvironmentSecretScope, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ 'env-file': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
10
  force: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
11
  };
12
12
  static contextDefinition: {
@@ -20,11 +20,11 @@ class EnvironmentSecretPush extends EasCommand_1.default {
20
20
  static description = 'read environment secrets from env file and store on the server';
21
21
  static hidden = true;
22
22
  static flags = {
23
- scope: core_1.Flags.enum({
23
+ scope: core_1.Flags.option({
24
24
  description: 'Scope for the secrets',
25
25
  options: [EnvironmentSecretsQuery_1.EnvironmentSecretScope.ACCOUNT, EnvironmentSecretsQuery_1.EnvironmentSecretScope.PROJECT],
26
26
  default: EnvironmentSecretsQuery_1.EnvironmentSecretScope.PROJECT,
27
- }),
27
+ })(),
28
28
  'env-file': core_1.Flags.string({
29
29
  description: 'Env file with secrets',
30
30
  }),
@@ -9,9 +9,9 @@ import EasCommand from '../../commandUtils/EasCommand';
9
9
  export default class SubmitInternal extends EasCommand {
10
10
  static hidden: boolean;
11
11
  static flags: {
12
- platform: import("@oclif/core/lib/interfaces").OptionFlag<Platform>;
13
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
14
- id: import("@oclif/core/lib/interfaces").OptionFlag<string>;
12
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<Platform, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
15
15
  };
16
16
  static contextDefinition: {
17
17
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
@@ -23,10 +23,10 @@ const git_1 = tslib_1.__importDefault(require("../../vcs/clients/git"));
23
23
  class SubmitInternal extends EasCommand_1.default {
24
24
  static hidden = true;
25
25
  static flags = {
26
- platform: core_1.Flags.enum({
26
+ platform: core_1.Flags.option({
27
27
  options: [eas_build_job_1.Platform.ANDROID, eas_build_job_1.Platform.IOS],
28
28
  required: true,
29
- }),
29
+ })(),
30
30
  profile: core_1.Flags.string({
31
31
  description: 'Name of the submit profile from eas.json. Defaults to "production" if defined in eas.json.',
32
32
  }),
@@ -3,17 +3,17 @@ export default class Submit extends EasCommand {
3
3
  static description: string;
4
4
  static aliases: string[];
5
5
  static flags: {
6
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
7
- profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
6
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios" | "all" | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
7
+ profile: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
8
  latest: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
9
- id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
- url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
12
- 'what-to-test': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
+ id: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ path: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ url: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ 'what-to-test': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
13
  verbose: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
14
  wait: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
15
15
  'verbose-fastlane': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
16
- groups: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined>;
16
+ groups: import("@oclif/core/lib/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
17
17
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
18
18
  };
19
19
  static contextDefinition: {
@@ -18,10 +18,10 @@ class Submit extends EasCommand_1.default {
18
18
  static description = 'submit app binary to App Store and/or Play Store';
19
19
  static aliases = ['build:submit'];
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 submit profile from eas.json. Defaults to "production" if defined in eas.json.',
@@ -4,8 +4,8 @@ export default class UpdateConfigure extends EasCommand {
4
4
  static description: string;
5
5
  static flags: {
6
6
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
- environment: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
- platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform>;
7
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform, import("@oclif/core/lib/interfaces").CustomOptions>;
9
9
  };
10
10
  static contextDefinition: {
11
11
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
@@ -13,12 +13,12 @@ const configure_2 = require("../../update/configure");
13
13
  class UpdateConfigure extends EasCommand_1.default {
14
14
  static description = 'configure the project to support EAS Update';
15
15
  static flags = {
16
- platform: core_1.Flags.enum({
16
+ platform: core_1.Flags.option({
17
17
  description: 'Platform to configure',
18
18
  char: 'p',
19
19
  options: Object.values(platform_1.RequestedPlatform),
20
20
  default: platform_1.RequestedPlatform.All,
21
- }),
21
+ })(),
22
22
  ...flags_1.EasUpdateEnvironmentFlag,
23
23
  ...flags_1.EASNonInteractiveFlag,
24
24
  };
@@ -2,10 +2,8 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class UpdateDelete 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
  '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 EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
6
7
  const flags_1 = require("../../commandUtils/flags");
@@ -11,13 +12,12 @@ const json_1 = require("../../utils/json");
11
12
  const pollForBackgroundJobReceiptAsync_1 = require("../../utils/pollForBackgroundJobReceiptAsync");
12
13
  class UpdateDelete extends EasCommand_1.default {
13
14
  static description = 'delete all the updates in an update group';
14
- static args = [
15
- {
16
- name: 'groupId',
15
+ static args = {
16
+ groupId: core_1.Args.string({
17
17
  required: true,
18
18
  description: 'The ID of an update group to delete.',
19
- },
20
- ];
19
+ }),
20
+ };
21
21
  static flags = {
22
22
  ...flags_1.EasNonInteractiveAndJsonFlags,
23
23
  };
@@ -25,7 +25,8 @@ class UpdateDelete extends EasCommand_1.default {
25
25
  ...this.ContextOptions.LoggedIn,
26
26
  };
27
27
  async runAsync() {
28
- const { args: { groupId: group }, flags: { json: jsonFlag, 'non-interactive': nonInteractive }, } = await this.parse(UpdateDelete);
28
+ const { args: { groupId: group }, flags, } = await this.parse(UpdateDelete);
29
+ const { json: jsonFlag, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
29
30
  const { loggedIn: { graphqlClient }, } = await this.getContextAsync(UpdateDelete, { nonInteractive });
30
31
  if (jsonFlag) {
31
32
  (0, json_1.enableJsonOutput)();
@@ -2,14 +2,13 @@ import EasCommand from '../../commandUtils/EasCommand';
2
2
  export default class UpdateEdit extends EasCommand {
3
3
  static description: string;
4
4
  static args: {
5
- name: string;
6
- description: string;
7
- }[];
5
+ groupId: import("@oclif/core/lib/interfaces").Arg<string | undefined, Record<string, unknown>>;
6
+ };
8
7
  static flags: {
9
8
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
9
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
11
- 'rollout-percentage': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
12
- branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
+ 'rollout-percentage': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
12
  };
14
13
  static contextDefinition: {
15
14
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -16,12 +16,11 @@ const utils_1 = require("../../update/utils");
16
16
  const json_1 = require("../../utils/json");
17
17
  class UpdateEdit extends EasCommand_1.default {
18
18
  static description = 'edit all the updates in an update group';
19
- static args = [
20
- {
21
- name: 'groupId',
19
+ static args = {
20
+ groupId: core_1.Args.string({
22
21
  description: 'The ID of an update group to edit.',
23
- },
24
- ];
22
+ }),
23
+ };
25
24
  static flags = {
26
25
  'rollout-percentage': core_1.Flags.integer({
27
26
  description: `Rollout percentage to set for a rollout update. The specified number must be an integer between 1 and 100.`,
@@ -39,7 +38,9 @@ class UpdateEdit extends EasCommand_1.default {
39
38
  ...this.ContextOptions.LoggedIn,
40
39
  };
41
40
  async runAsync() {
42
- const { args: { groupId: maybeGroupId }, flags: { 'rollout-percentage': rolloutPercentage, json: jsonFlag, 'non-interactive': nonInteractive, branch: branchFlag, }, } = await this.parse(UpdateEdit);
41
+ const { args: { groupId: maybeGroupId }, flags, } = await this.parse(UpdateEdit);
42
+ const { 'rollout-percentage': rolloutPercentage, branch: branchFlag } = flags;
43
+ const { json: jsonFlag, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
43
44
  const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(UpdateEdit, { nonInteractive });
44
45
  if (jsonFlag) {
45
46
  (0, json_1.enableJsonOutput)();
@@ -11,20 +11,20 @@ export default class UpdatePublish extends EasCommand {
11
11
  static flags: {
12
12
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
13
13
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
14
- environment: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
15
- branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
16
- channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
17
- message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
18
- 'input-dir': import("@oclif/core/lib/interfaces").OptionFlag<string>;
14
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
15
+ branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
16
+ channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
17
+ message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
18
+ 'input-dir': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
19
19
  'skip-bundler': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
20
20
  'clear-cache': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
21
21
  'no-bytecode': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
22
- 'source-maps': import("@oclif/core/lib/interfaces").OptionFlag<string>;
22
+ 'source-maps': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces").CustomOptions>;
23
23
  'emit-metadata': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
24
- 'rollout-percentage': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
25
- platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform>;
24
+ 'rollout-percentage': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
25
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform, import("@oclif/core/lib/interfaces").CustomOptions>;
26
26
  auto: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
27
- 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
27
+ 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
28
28
  };
29
29
  static contextDefinition: {
30
30
  getServerSideEnvironmentVariablesAsync: import("../../commandUtils/context/ServerSideEnvironmentVariablesContextField").ServerSideEnvironmentVariablesContextField;
@@ -33,6 +33,7 @@ const uniqBy_1 = tslib_1.__importDefault(require("../../utils/expodash/uniqBy"))
33
33
  const formatFields_1 = tslib_1.__importDefault(require("../../utils/formatFields"));
34
34
  const json_1 = require("../../utils/json");
35
35
  const statuspageService_1 = require("../../utils/statuspageService");
36
+ const prompts_1 = require("../../utils/prompts");
36
37
  /**
37
38
  * Preprocess argv to handle --source-maps with optional value.
38
39
  * If --source-maps is followed by another flag (starts with -) or end of args,
@@ -102,12 +103,12 @@ class UpdatePublish extends EasCommand_1.default {
102
103
  min: 0,
103
104
  max: 100,
104
105
  }),
105
- platform: core_1.Flags.enum({
106
+ platform: core_1.Flags.option({
106
107
  char: 'p',
107
108
  options: Object.values(platform_1.RequestedPlatform), // TODO: Add web when it's fully supported
108
109
  default: platform_1.RequestedPlatform.All,
109
110
  required: false,
110
- }),
111
+ })(),
111
112
  auto: core_1.Flags.boolean({
112
113
  description: 'Use the current git branch and commit message for the EAS branch and update message',
113
114
  default: false,
@@ -130,10 +131,10 @@ class UpdatePublish extends EasCommand_1.default {
130
131
  const preprocessedArgv = preprocessSourceMapsArg(this.argv);
131
132
  const { flags: rawFlags } = await this.parse(UpdatePublish, preprocessedArgv);
132
133
  const paginatedQueryOptions = (0, pagination_1.getPaginatedQueryOptions)(rawFlags);
133
- const { auto: autoFlag, platform: requestedPlatform, channelName: channelNameArg, updateMessage: updateMessageArg, inputDir, skipBundler, clearCache, noBytecode, sourceMaps, privateKeyPath, json: jsonFlag, nonInteractive, branchName: branchNameArg, emitMetadata, rolloutPercentage, environment, } = this.sanitizeFlags(rawFlags);
134
+ const { auto: autoFlag, platform: requestedPlatform, channelName: channelNameArg, updateMessage: updateMessageArg, inputDir, skipBundler, clearCache, noBytecode, sourceMaps, privateKeyPath, json: jsonFlag, nonInteractive, branchName: branchNameArg, emitMetadata, rolloutPercentage, environment: environmentFromFlags, } = this.sanitizeFlags(rawFlags);
134
135
  const { getDynamicPublicProjectConfigAsync, getDynamicPrivateProjectConfigAsync, loggedIn: { graphqlClient }, vcsClient, getServerSideEnvironmentVariablesAsync, } = await this.getContextAsync(UpdatePublish, {
135
136
  nonInteractive,
136
- withServerSideEnvironment: environment ?? null,
137
+ withServerSideEnvironment: environmentFromFlags ?? null,
137
138
  });
138
139
  if (jsonFlag) {
139
140
  (0, json_1.enableJsonOutput)();
@@ -141,10 +142,20 @@ class UpdatePublish extends EasCommand_1.default {
141
142
  await vcsClient.ensureRepoExistsAsync();
142
143
  await (0, repository_1.ensureRepoIsCleanAsync)(vcsClient, nonInteractive);
143
144
  const { exp: expPossiblyWithoutEasUpdateConfigured, projectId, projectDir, } = await getDynamicPublicProjectConfigAsync();
144
- (0, utils_1.assertEnvironmentFlagForSdk55OrGreater)({
145
- sdkVersion: expPossiblyWithoutEasUpdateConfigured.sdkVersion,
146
- environment,
147
- });
145
+ let environment = environmentFromFlags;
146
+ // Environment handling
147
+ if (!autoFlag &&
148
+ (0, utils_1.environmentFlagNeededForSdk550OrGreater)({
149
+ sdkVersion: expPossiblyWithoutEasUpdateConfigured.sdkVersion,
150
+ environment: environmentFromFlags,
151
+ })) {
152
+ environment = await (0, prompts_1.promptVariableEnvironmentAsync)({
153
+ multiple: false,
154
+ graphqlClient,
155
+ nonInteractive,
156
+ projectId,
157
+ });
158
+ }
148
159
  await (0, statuspageService_1.maybeWarnAboutEasOutagesAsync)(graphqlClient, [generated_1.StatuspageServiceName.EasUpdate]);
149
160
  const easJsonAccessor = eas_json_1.EasJsonAccessor.fromProjectPath(projectDir);
150
161
  const easJsonCliConfig = (await eas_json_1.EasJsonUtils.getCliConfigAsync(easJsonAccessor)) ?? {};
@@ -176,8 +187,11 @@ class UpdatePublish extends EasCommand_1.default {
176
187
  nonInteractive,
177
188
  jsonFlag,
178
189
  });
179
- const maybeServerEnv = environment
180
- ? { ...(await getServerSideEnvironmentVariablesAsync()), EXPO_NO_DOTENV: '1' }
190
+ const maybeServerEnv = environmentFromFlags
191
+ ? {
192
+ ...(await getServerSideEnvironmentVariablesAsync()),
193
+ EXPO_NO_DOTENV: '1',
194
+ }
181
195
  : {};
182
196
  // build bundle and upload assets for a new publish
183
197
  if (!skipBundler) {
@@ -201,7 +215,9 @@ class UpdatePublish extends EasCommand_1.default {
201
215
  }
202
216
  }
203
217
  // After possibly bundling, assert that the input directory can be found.
204
- const distRoot = await (0, publish_1.resolveInputDirectoryAsync)(inputDir, { skipBundler });
218
+ const distRoot = await (0, publish_1.resolveInputDirectoryAsync)(inputDir, {
219
+ skipBundler,
220
+ });
205
221
  const assetSpinner = (0, ora_1.ora)().start('Uploading...');
206
222
  let unsortedUpdateInfoGroups = {};
207
223
  let uploadedAssetCount = 0;
@@ -495,7 +511,7 @@ class UpdatePublish extends EasCommand_1.default {
495
511
  }
496
512
  }
497
513
  sanitizeFlags(flags) {
498
- const nonInteractive = flags['non-interactive'] ?? false;
514
+ const { json, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
499
515
  const { auto, branch: branchName, channel: channelName, message: updateMessage } = flags;
500
516
  if (nonInteractive && !auto && !(updateMessage && (branchName || channelName))) {
501
517
  core_1.Errors.error('--branch and --message, or --channel and --message are required when updating in non-interactive mode unless --auto is specified', { exit: 1 });
@@ -521,7 +537,7 @@ class UpdatePublish extends EasCommand_1.default {
521
537
  rolloutPercentage: flags['rollout-percentage'],
522
538
  nonInteractive,
523
539
  emitMetadata,
524
- json: flags.json ?? false,
540
+ json,
525
541
  environment: flags['environment'],
526
542
  };
527
543
  }
@@ -6,11 +6,11 @@ export default class UpdateList extends EasCommand {
6
6
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
7
7
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
8
  limit: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
9
- offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
10
- branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
+ offset: import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
11
  all: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
12
- platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform | undefined>;
13
- 'runtime-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
12
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<RequestedPlatform | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ 'runtime-version': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
14
14
  };
15
15
  static contextDefinition: {
16
16
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
@@ -22,11 +22,11 @@ class UpdateList extends EasCommand_1.default {
22
22
  exclusive: ['branch'],
23
23
  default: false,
24
24
  }),
25
- platform: core_1.Flags.enum({
25
+ platform: core_1.Flags.option({
26
26
  options: Object.values(platform_1.RequestedPlatform),
27
27
  char: 'p',
28
28
  description: 'Filter updates by platform',
29
- }),
29
+ })(),
30
30
  'runtime-version': core_1.Flags.string({
31
31
  description: 'Filter updates by runtime version',
32
32
  }),
@@ -40,7 +40,8 @@ class UpdateList extends EasCommand_1.default {
40
40
  };
41
41
  async runAsync() {
42
42
  const { flags } = await this.parse(UpdateList);
43
- const { branch: branchFlag, all, json: jsonFlag, 'non-interactive': nonInteractive, platform: requestedPlatform, } = flags;
43
+ const { branch: branchFlag, all, platform: requestedPlatform } = flags;
44
+ const { json: jsonFlag, nonInteractive } = (0, flags_1.resolveNonInteractiveAndJsonFlags)(flags);
44
45
  const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(UpdateList, {
45
46
  nonInteractive,
46
47
  });
@@ -4,15 +4,15 @@ export default class UpdateRepublish 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
- channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
8
- branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
9
- group: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
10
- 'destination-channel': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
11
- 'destination-branch': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
12
- message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
13
- platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
14
- 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
15
- 'rollout-percentage': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined>;
7
+ channel: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
8
+ branch: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
9
+ group: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
10
+ 'destination-channel': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
11
+ 'destination-branch': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
12
+ message: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
13
+ platform: import("@oclif/core/lib/interfaces").OptionFlag<"android" | "ios" | "all" | "web", import("@oclif/core/lib/interfaces").CustomOptions>;
14
+ 'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
15
+ 'rollout-percentage': import("@oclif/core/lib/interfaces").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces").CustomOptions>;
16
16
  };
17
17
  static contextDefinition: {
18
18
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;