eas-cli 13.4.2 → 14.0.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 (203) hide show
  1. package/README.md +73 -73
  2. package/build/ApiV2Error.js +5 -1
  3. package/build/analytics/AnalyticsManager.js +5 -4
  4. package/build/api.js +1 -0
  5. package/build/branch/actions/SelectBranch.js +1 -0
  6. package/build/branch/queries.d.ts +3 -3
  7. package/build/branch/queries.js +7 -5
  8. package/build/build/validate.js +6 -3
  9. package/build/channel/actions/SelectChannel.js +1 -0
  10. package/build/channel/queries.d.ts +0 -1
  11. package/build/channel/queries.js +11 -16
  12. package/build/commandUtils/EasCommand.js +100 -90
  13. package/build/commandUtils/builds.d.ts +1 -0
  14. package/build/commandUtils/builds.js +3 -0
  15. package/build/commandUtils/gating/FeatureGateEnvOverrides.js +1 -1
  16. package/build/commandUtils/gating/FeatureGating.js +2 -0
  17. package/build/commands/account/login.js +16 -18
  18. package/build/commands/account/logout.js +6 -8
  19. package/build/commands/account/view.js +8 -10
  20. package/build/commands/analytics.js +2 -2
  21. package/build/commands/branch/create.js +18 -20
  22. package/build/commands/branch/delete.js +17 -19
  23. package/build/commands/branch/list.js +11 -13
  24. package/build/commands/branch/publish.js +2 -2
  25. package/build/commands/branch/rename.js +18 -20
  26. package/build/commands/branch/view.js +19 -21
  27. package/build/commands/build/cancel.js +22 -24
  28. package/build/commands/build/configure.js +15 -17
  29. package/build/commands/build/delete.js +22 -24
  30. package/build/commands/build/index.js +81 -83
  31. package/build/commands/build/inspect.js +42 -44
  32. package/build/commands/build/internal.js +32 -34
  33. package/build/commands/build/list.js +58 -60
  34. package/build/commands/build/resign.js +36 -38
  35. package/build/commands/build/run.js +36 -38
  36. package/build/commands/build/version/get.js +21 -23
  37. package/build/commands/build/version/set.js +20 -22
  38. package/build/commands/build/version/sync.js +20 -22
  39. package/build/commands/build/view.js +12 -14
  40. package/build/commands/channel/create.js +17 -19
  41. package/build/commands/channel/delete.js +18 -20
  42. package/build/commands/channel/edit.js +20 -22
  43. package/build/commands/channel/list.js +12 -14
  44. package/build/commands/channel/pause.js +20 -22
  45. package/build/commands/channel/resume.js +20 -22
  46. package/build/commands/channel/rollout.js +74 -76
  47. package/build/commands/channel/view.js +18 -20
  48. package/build/commands/config.js +21 -23
  49. package/build/commands/credentials/configure-build.js +21 -23
  50. package/build/commands/credentials/index.js +13 -15
  51. package/build/commands/device/create.js +6 -8
  52. package/build/commands/device/delete.js +12 -14
  53. package/build/commands/device/list.js +12 -14
  54. package/build/commands/device/rename.js +13 -15
  55. package/build/commands/device/view.js +8 -10
  56. package/build/commands/diagnostics.js +6 -8
  57. package/build/commands/env/create.js +39 -41
  58. package/build/commands/env/delete.js +25 -27
  59. package/build/commands/env/exec.js +22 -24
  60. package/build/commands/env/get.js +26 -28
  61. package/build/commands/env/link.js +27 -29
  62. package/build/commands/env/list.js +27 -29
  63. package/build/commands/env/pull.js +23 -25
  64. package/build/commands/env/push.js +21 -23
  65. package/build/commands/env/unlink.js +23 -25
  66. package/build/commands/env/update.js +38 -40
  67. package/build/commands/fingerprint/compare.d.ts +28 -0
  68. package/build/commands/fingerprint/compare.js +324 -0
  69. package/build/commands/metadata/lint.js +18 -20
  70. package/build/commands/metadata/pull.js +15 -17
  71. package/build/commands/metadata/push.js +15 -17
  72. package/build/commands/open.js +6 -8
  73. package/build/commands/project/info.js +6 -8
  74. package/build/commands/project/init.js +26 -28
  75. package/build/commands/project/onboarding.js +10 -12
  76. package/build/commands/secret/create.js +30 -32
  77. package/build/commands/secret/delete.js +14 -16
  78. package/build/commands/secret/list.js +7 -9
  79. package/build/commands/secret/push.js +23 -25
  80. package/build/commands/submit/internal.js +23 -25
  81. package/build/commands/submit.js +54 -56
  82. package/build/commands/update/configure.js +18 -20
  83. package/build/commands/update/delete.js +16 -18
  84. package/build/commands/update/edit.js +25 -27
  85. package/build/commands/update/index.js +65 -67
  86. package/build/commands/update/list.js +21 -23
  87. package/build/commands/update/republish.js +45 -47
  88. package/build/commands/update/roll-back-to-embedded.d.ts +2 -1
  89. package/build/commands/update/roll-back-to-embedded.js +92 -84
  90. package/build/commands/update/rollback.js +7 -7
  91. package/build/commands/update/view.js +16 -18
  92. package/build/commands/webhook/create.js +20 -22
  93. package/build/commands/webhook/delete.js +17 -19
  94. package/build/commands/webhook/list.js +14 -16
  95. package/build/commands/webhook/update.js +23 -25
  96. package/build/commands/webhook/view.js +13 -15
  97. package/build/commands/worker/alias.js +30 -32
  98. package/build/commands/worker/deploy.js +38 -40
  99. package/build/commands/workflow/create.js +16 -18
  100. package/build/commands/workflow/run.js +13 -15
  101. package/build/commands/workflow/validate.js +18 -20
  102. package/build/credentials/android/AndroidCredentialsProvider.js +3 -1
  103. package/build/credentials/android/actions/AssignFcm.js +1 -0
  104. package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForFcmV1.js +1 -0
  105. package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForSubmissions.js +1 -0
  106. package/build/credentials/android/actions/CreateFcm.js +1 -0
  107. package/build/credentials/android/actions/CreateGoogleServiceAccountKey.js +1 -0
  108. package/build/credentials/android/actions/CreateKeystore.js +1 -0
  109. package/build/credentials/android/actions/DownloadKeystore.js +2 -0
  110. package/build/credentials/android/actions/RemoveFcm.js +1 -0
  111. package/build/credentials/android/actions/RemoveGoogleServiceAccountKey.js +2 -0
  112. package/build/credentials/android/actions/RemoveKeystore.js +1 -0
  113. package/build/credentials/android/actions/SetUpBuildCredentials.js +1 -0
  114. package/build/credentials/android/actions/SetUpBuildCredentialsFromCredentialsJson.js +1 -0
  115. package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForFcmV1.js +1 -0
  116. package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForSubmissions.js +1 -0
  117. package/build/credentials/android/actions/UseExistingGoogleServiceAccountKey.js +1 -0
  118. package/build/credentials/context.js +14 -5
  119. package/build/credentials/errors.js +1 -0
  120. package/build/credentials/ios/IosCredentialsProvider.js +3 -1
  121. package/build/credentials/ios/actions/AssignAscApiKey.js +1 -0
  122. package/build/credentials/ios/actions/AssignPushKey.js +1 -0
  123. package/build/credentials/ios/actions/ConfigureProvisioningProfile.js +4 -0
  124. package/build/credentials/ios/actions/CreateAscApiKey.js +1 -0
  125. package/build/credentials/ios/actions/CreateDistributionCertificate.js +1 -0
  126. package/build/credentials/ios/actions/CreateProvisioningProfile.js +3 -0
  127. package/build/credentials/ios/actions/CreatePushKey.js +1 -0
  128. package/build/credentials/ios/actions/RemoveAscApiKey.js +2 -0
  129. package/build/credentials/ios/actions/RemoveDistributionCertificate.js +3 -0
  130. package/build/credentials/ios/actions/RemoveProvisioningProfile.js +2 -0
  131. package/build/credentials/ios/actions/RemovePushKey.js +2 -0
  132. package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +1 -0
  133. package/build/credentials/ios/actions/SetUpAscApiKey.js +9 -7
  134. package/build/credentials/ios/actions/SetUpBuildCredentials.js +1 -0
  135. package/build/credentials/ios/actions/SetUpBuildCredentialsFromCredentialsJson.js +3 -0
  136. package/build/credentials/ios/actions/SetUpDistributionCertificate.js +3 -0
  137. package/build/credentials/ios/actions/SetUpInternalProvisioningProfile.js +1 -0
  138. package/build/credentials/ios/actions/SetUpProvisioningProfile.js +3 -0
  139. package/build/credentials/ios/actions/SetUpPushKey.js +1 -0
  140. package/build/credentials/ios/actions/SetUpTargetBuildCredentials.js +1 -0
  141. package/build/credentials/ios/actions/SetUpTargetBuildCredentialsFromCredentialsJson.js +3 -0
  142. package/build/credentials/ios/actions/UpdateCredentialsJson.js +3 -0
  143. package/build/credentials/ios/appstore/AppStoreApi.js +2 -0
  144. package/build/credentials/manager/CheckBuildProfileFlagAgainstEasJson.js +3 -0
  145. package/build/credentials/manager/CreateAndroidBuildCredentials.js +1 -0
  146. package/build/credentials/manager/ManageAndroid.js +2 -0
  147. package/build/credentials/manager/ManageIos.js +2 -0
  148. package/build/credentials/manager/SelectAndroidBuildCredentials.js +2 -0
  149. package/build/credentials/manager/SelectBuildProfileFromEasJson.js +2 -0
  150. package/build/credentials/manager/SelectIosDistributionTypeGraphqlFromBuildProfile.js +1 -0
  151. package/build/credentials/manager/SelectPlatform.js +7 -0
  152. package/build/credentials/manager/SetDefaultAndroidKeystore.js +1 -0
  153. package/build/credentials/manager/SetUpAndroidBuildCredentials.js +1 -0
  154. package/build/credentials/manager/SetUpBuildCredentialsCommandAction.js +9 -0
  155. package/build/credentials/manager/SetUpIosBuildCredentials.js +1 -0
  156. package/build/devices/actions/create/action.js +4 -0
  157. package/build/devices/manager.js +4 -0
  158. package/build/fetch.js +1 -0
  159. package/build/graphql/generated.d.ts +175 -0
  160. package/build/graphql/generated.js +8 -3
  161. package/build/graphql/queries/BuildQuery.d.ts +4 -1
  162. package/build/graphql/queries/BuildQuery.js +19 -0
  163. package/build/graphql/types/Build.d.ts +1 -0
  164. package/build/graphql/types/Build.js +15 -1
  165. package/build/graphql/types/Fingerprint.d.ts +1 -0
  166. package/build/graphql/types/Fingerprint.js +12 -0
  167. package/build/log.js +2 -2
  168. package/build/metadata/apple/config/reader.js +1 -0
  169. package/build/metadata/apple/config/writer.js +1 -0
  170. package/build/metadata/apple/tasks/age-rating.js +1 -4
  171. package/build/metadata/apple/tasks/app-info.js +1 -4
  172. package/build/metadata/apple/tasks/app-review-detail.js +1 -4
  173. package/build/metadata/apple/tasks/app-version.js +2 -1
  174. package/build/metadata/errors.js +5 -0
  175. package/build/rollout/actions/CreateRollout.d.ts +9 -10
  176. package/build/rollout/actions/CreateRollout.js +2 -0
  177. package/build/rollout/actions/EditRollout.d.ts +2 -3
  178. package/build/rollout/actions/EditRollout.js +2 -0
  179. package/build/rollout/actions/EndRollout.d.ts +4 -6
  180. package/build/rollout/actions/EndRollout.js +2 -0
  181. package/build/rollout/actions/ManageRollout.d.ts +2 -3
  182. package/build/rollout/actions/ManageRollout.js +2 -0
  183. package/build/rollout/actions/NonInteractiveRollout.d.ts +6 -27
  184. package/build/rollout/actions/NonInteractiveRollout.js +1 -0
  185. package/build/rollout/actions/RolloutMainMenu.d.ts +6 -7
  186. package/build/rollout/actions/RolloutMainMenu.js +1 -0
  187. package/build/rollout/actions/SelectRuntime.d.ts +6 -20
  188. package/build/rollout/actions/SelectRuntime.js +3 -0
  189. package/build/submit/BaseSubmitter.js +4 -0
  190. package/build/submit/android/AndroidSubmitCommand.js +1 -0
  191. package/build/submit/ios/IosSubmitCommand.js +1 -0
  192. package/build/update/getBranchFromChannelNameAndCreateAndLinkIfNotExistsAsync.js +3 -3
  193. package/build/user/SessionManager.js +2 -0
  194. package/build/utils/fingerprint.d.ts +97 -0
  195. package/build/utils/fingerprint.js +5 -0
  196. package/build/utils/fingerprintCli.d.ts +5 -7
  197. package/build/utils/fingerprintCli.js +11 -1
  198. package/build/utils/fingerprintDiff.d.ts +33 -0
  199. package/build/utils/fingerprintDiff.js +122 -0
  200. package/build/vcs/clients/git.js +1 -0
  201. package/build/vcs/local.js +2 -1
  202. package/oclif.manifest.json +51 -7
  203. package/package.json +9 -7
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  const tslib_1 = require("tslib");
5
4
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -51,14 +50,29 @@ async function deleteBranchOnAppAsync(graphqlClient, { branchId }) {
51
50
  return data.updateBranch.deleteUpdateBranch;
52
51
  }
53
52
  class BranchDelete extends EasCommand_1.default {
53
+ static description = 'delete a branch';
54
+ static contextDefinition = {
55
+ ...this.ContextOptions.ProjectId,
56
+ ...this.ContextOptions.LoggedIn,
57
+ };
58
+ static args = [
59
+ {
60
+ name: 'name',
61
+ required: false,
62
+ description: 'Name of the branch to delete',
63
+ },
64
+ ];
65
+ static flags = {
66
+ ...flags_1.EasNonInteractiveAndJsonFlags,
67
+ };
54
68
  async runAsync() {
55
- let { args: { name: branchName }, flags, } = await this.parse(_a);
69
+ let { args: { name: branchName }, flags, } = await this.parse(BranchDelete);
56
70
  const { json: jsonFlag, 'non-interactive': nonInteractive } = flags;
57
71
  const paginatedQueryOptions = (0, pagination_1.getPaginatedQueryOptions)(flags);
58
72
  if (jsonFlag) {
59
73
  (0, json_1.enableJsonOutput)();
60
74
  }
61
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, { nonInteractive });
75
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(BranchDelete, { nonInteractive });
62
76
  const projectDisplayName = await (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId);
63
77
  if (!branchName) {
64
78
  const validationMessage = 'branch name may not be empty.';
@@ -99,20 +113,4 @@ class BranchDelete extends EasCommand_1.default {
99
113
  }
100
114
  }
101
115
  }
102
- _a = BranchDelete;
103
- BranchDelete.description = 'delete a branch';
104
- BranchDelete.contextDefinition = {
105
- ..._a.ContextOptions.ProjectId,
106
- ..._a.ContextOptions.LoggedIn,
107
- };
108
- BranchDelete.args = [
109
- {
110
- name: 'name',
111
- required: false,
112
- description: 'Name of the branch to delete',
113
- },
114
- ];
115
- BranchDelete.flags = {
116
- ...flags_1.EasNonInteractiveAndJsonFlags,
117
- };
118
116
  exports.default = BranchDelete;
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  const tslib_1 = require("tslib");
5
4
  const queries_1 = require("../../branch/queries");
@@ -8,9 +7,18 @@ const flags_1 = require("../../commandUtils/flags");
8
7
  const pagination_1 = require("../../commandUtils/pagination");
9
8
  const json_1 = require("../../utils/json");
10
9
  class BranchList extends EasCommand_1.default {
10
+ static description = 'list all branches';
11
+ static flags = {
12
+ ...pagination_1.EasPaginatedQueryFlags,
13
+ ...flags_1.EasNonInteractiveAndJsonFlags,
14
+ };
15
+ static contextDefinition = {
16
+ ...this.ContextOptions.ProjectId,
17
+ ...this.ContextOptions.LoggedIn,
18
+ };
11
19
  async runAsync() {
12
- const { flags } = await this.parse(_a);
13
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
20
+ const { flags } = await this.parse(BranchList);
21
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(BranchList, {
14
22
  nonInteractive: flags['non-interactive'],
15
23
  });
16
24
  const paginatedQueryOptions = (0, pagination_1.getPaginatedQueryOptions)(flags);
@@ -20,14 +28,4 @@ class BranchList extends EasCommand_1.default {
20
28
  await (0, queries_1.listAndRenderBranchesOnAppAsync)(graphqlClient, { projectId, paginatedQueryOptions });
21
29
  }
22
30
  }
23
- _a = BranchList;
24
- BranchList.description = 'list all branches';
25
- BranchList.flags = {
26
- ...pagination_1.EasPaginatedQueryFlags,
27
- ...flags_1.EasNonInteractiveAndJsonFlags,
28
- };
29
- BranchList.contextDefinition = {
30
- ..._a.ContextOptions.ProjectId,
31
- ..._a.ContextOptions.LoggedIn,
32
- };
33
31
  exports.default = BranchList;
@@ -3,10 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
5
5
  class BranchPublish extends EasCommand_1.default {
6
+ static description = 'deprecated, use "eas update"';
7
+ static hidden = true;
6
8
  async runAsync() {
7
9
  throw new Error(BranchPublish.description);
8
10
  }
9
11
  }
10
- BranchPublish.description = 'deprecated, use "eas update"';
11
- BranchPublish.hidden = true;
12
12
  exports.default = BranchPublish;
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  const tslib_1 = require("tslib");
5
4
  const core_1 = require("@oclif/core");
@@ -34,9 +33,25 @@ async function renameUpdateBranchOnAppAsync(graphqlClient, { appId, name, newNam
34
33
  return data.updateBranch.editUpdateBranch;
35
34
  }
36
35
  class BranchRename extends EasCommand_1.default {
36
+ static description = 'rename a branch';
37
+ static flags = {
38
+ from: core_1.Flags.string({
39
+ description: 'current name of the branch.',
40
+ required: false,
41
+ }),
42
+ to: core_1.Flags.string({
43
+ description: 'new name of the branch.',
44
+ required: false,
45
+ }),
46
+ ...flags_1.EasNonInteractiveAndJsonFlags,
47
+ };
48
+ static contextDefinition = {
49
+ ...this.ContextOptions.ProjectId,
50
+ ...this.ContextOptions.LoggedIn,
51
+ };
37
52
  async runAsync() {
38
- let { flags: { json: jsonFlag, from: currentName, to: newName, 'non-interactive': nonInteractive }, } = await this.parse(_a);
39
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
53
+ let { flags: { json: jsonFlag, from: currentName, to: newName, 'non-interactive': nonInteractive }, } = await this.parse(BranchRename);
54
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(BranchRename, {
40
55
  nonInteractive,
41
56
  });
42
57
  if (jsonFlag) {
@@ -80,21 +95,4 @@ class BranchRename extends EasCommand_1.default {
80
95
  }
81
96
  }
82
97
  }
83
- _a = BranchRename;
84
- BranchRename.description = 'rename a branch';
85
- BranchRename.flags = {
86
- from: core_1.Flags.string({
87
- description: 'current name of the branch.',
88
- required: false,
89
- }),
90
- to: core_1.Flags.string({
91
- description: 'new name of the branch.',
92
- required: false,
93
- }),
94
- ...flags_1.EasNonInteractiveAndJsonFlags,
95
- };
96
- BranchRename.contextDefinition = {
97
- ..._a.ContextOptions.ProjectId,
98
- ..._a.ContextOptions.LoggedIn,
99
- };
100
98
  exports.default = BranchRename;
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  const tslib_1 = require("tslib");
5
4
  const queries_1 = require("../../branch/queries");
@@ -9,10 +8,27 @@ const pagination_1 = require("../../commandUtils/pagination");
9
8
  const queries_2 = require("../../update/queries");
10
9
  const json_1 = require("../../utils/json");
11
10
  class BranchView extends EasCommand_1.default {
11
+ static description = 'view a branch';
12
+ static args = [
13
+ {
14
+ name: 'name',
15
+ required: false,
16
+ description: 'Name of the branch to view',
17
+ },
18
+ ];
19
+ static flags = {
20
+ ...pagination_1.EasPaginatedQueryFlags,
21
+ ...flags_1.EasNonInteractiveAndJsonFlags,
22
+ limit: (0, pagination_1.getLimitFlagWithCustomValues)({ defaultTo: 25, limit: 50 }),
23
+ };
24
+ static contextDefinition = {
25
+ ...this.ContextOptions.ProjectId,
26
+ ...this.ContextOptions.LoggedIn,
27
+ };
12
28
  async runAsync() {
13
- let { args: { name: branchName }, flags, } = await this.parse(_a);
29
+ let { args: { name: branchName }, flags, } = await this.parse(BranchView);
14
30
  const { 'non-interactive': nonInteractive } = flags;
15
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
31
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(BranchView, {
16
32
  nonInteractive,
17
33
  });
18
34
  const paginatedQueryOptions = (0, pagination_1.getPaginatedQueryOptions)(flags);
@@ -44,22 +60,4 @@ class BranchView extends EasCommand_1.default {
44
60
  });
45
61
  }
46
62
  }
47
- _a = BranchView;
48
- BranchView.description = 'view a branch';
49
- BranchView.args = [
50
- {
51
- name: 'name',
52
- required: false,
53
- description: 'Name of the branch to view',
54
- },
55
- ];
56
- BranchView.flags = {
57
- ...pagination_1.EasPaginatedQueryFlags,
58
- ...flags_1.EasNonInteractiveAndJsonFlags,
59
- limit: (0, pagination_1.getLimitFlagWithCustomValues)({ defaultTo: 25, limit: 50 }),
60
- };
61
- BranchView.contextDefinition = {
62
- ..._a.ContextOptions.ProjectId,
63
- ..._a.ContextOptions.LoggedIn,
64
- };
65
63
  exports.default = BranchView;
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.selectBuildToCancelAsync = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -66,12 +65,32 @@ async function selectBuildToCancelAsync(graphqlClient, projectId, projectDisplay
66
65
  }
67
66
  exports.selectBuildToCancelAsync = selectBuildToCancelAsync;
68
67
  class BuildCancel extends EasCommand_1.default {
68
+ static description = 'cancel a build';
69
+ static args = [{ name: 'BUILD_ID' }];
70
+ static flags = {
71
+ ...flags_1.EASNonInteractiveFlag,
72
+ platform: core_1.Flags.enum({
73
+ char: 'p',
74
+ description: 'Filter builds by the platform if build ID is not provided',
75
+ options: Object.values(platform_1.RequestedPlatform),
76
+ }),
77
+ profile: core_1.Flags.string({
78
+ char: 'e',
79
+ description: 'Filter builds by build profile if build ID is not provided',
80
+ helpValue: 'PROFILE_NAME',
81
+ }),
82
+ };
83
+ static contextDefinition = {
84
+ ...this.ContextOptions.ProjectId,
85
+ ...this.ContextOptions.LoggedIn,
86
+ ...this.ContextOptions.Vcs,
87
+ };
69
88
  async runAsync() {
70
- const { args: { BUILD_ID: buildIdFromArg }, flags: { 'non-interactive': nonInteractive, platform, profile }, } = await this.parse(_a);
89
+ const { args: { BUILD_ID: buildIdFromArg }, flags: { 'non-interactive': nonInteractive, platform, profile }, } = await this.parse(BuildCancel);
71
90
  if (buildIdFromArg && (platform || profile)) {
72
91
  throw new Error('Build ID cannot be used together with platform and profile flags. They are used to filter the list of builds when not providing the build ID');
73
92
  }
74
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
93
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(BuildCancel, {
75
94
  nonInteractive,
76
95
  });
77
96
  const displayName = await (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId);
@@ -108,25 +127,4 @@ class BuildCancel extends EasCommand_1.default {
108
127
  }
109
128
  }
110
129
  }
111
- _a = BuildCancel;
112
- BuildCancel.description = 'cancel a build';
113
- BuildCancel.args = [{ name: 'BUILD_ID' }];
114
- BuildCancel.flags = {
115
- ...flags_1.EASNonInteractiveFlag,
116
- platform: core_1.Flags.enum({
117
- char: 'p',
118
- description: 'Filter builds by the platform if build ID is not provided',
119
- options: Object.values(platform_1.RequestedPlatform),
120
- }),
121
- profile: core_1.Flags.string({
122
- char: 'e',
123
- description: 'Filter builds by build profile if build ID is not provided',
124
- helpValue: 'PROFILE_NAME',
125
- }),
126
- };
127
- BuildCancel.contextDefinition = {
128
- ..._a.ContextOptions.ProjectId,
129
- ..._a.ContextOptions.LoggedIn,
130
- ..._a.ContextOptions.Vcs,
131
- };
132
130
  exports.default = BuildCancel;
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  const tslib_1 = require("tslib");
5
4
  const eas_build_job_1 = require("@expo/eas-build-job");
@@ -17,9 +16,22 @@ const UpdatesModule_1 = require("../../update/android/UpdatesModule");
17
16
  const configure_2 = require("../../update/configure");
18
17
  const UpdatesModule_2 = require("../../update/ios/UpdatesModule");
19
18
  class BuildConfigure extends EasCommand_1.default {
19
+ static description = 'configure the project to support EAS Build';
20
+ static flags = {
21
+ platform: core_1.Flags.enum({
22
+ description: 'Platform to configure',
23
+ char: 'p',
24
+ options: ['android', 'ios', 'all'],
25
+ }),
26
+ };
27
+ static contextDefinition = {
28
+ ...this.ContextOptions.ProjectConfig,
29
+ ...this.ContextOptions.LoggedIn,
30
+ ...this.ContextOptions.Vcs,
31
+ };
20
32
  async runAsync() {
21
- const { flags } = await this.parse(_a);
22
- const { privateProjectConfig: { exp, projectId, projectDir }, vcsClient, } = await this.getContextAsync(_a, {
33
+ const { flags } = await this.parse(BuildConfigure);
34
+ const { privateProjectConfig: { exp, projectId, projectDir }, vcsClient, } = await this.getContextAsync(BuildConfigure, {
23
35
  nonInteractive: false,
24
36
  withServerSideEnvironment: null,
25
37
  });
@@ -73,20 +85,6 @@ class BuildConfigure extends EasCommand_1.default {
73
85
  })}`);
74
86
  }
75
87
  }
76
- _a = BuildConfigure;
77
- BuildConfigure.description = 'configure the project to support EAS Build';
78
- BuildConfigure.flags = {
79
- platform: core_1.Flags.enum({
80
- description: 'Platform to configure',
81
- char: 'p',
82
- options: ['android', 'ios', 'all'],
83
- }),
84
- };
85
- BuildConfigure.contextDefinition = {
86
- ..._a.ContextOptions.ProjectConfig,
87
- ..._a.ContextOptions.LoggedIn,
88
- ..._a.ContextOptions.Vcs,
89
- };
90
88
  exports.default = BuildConfigure;
91
89
  async function promptForPlatformAsync() {
92
90
  log_1.default.addNewLineIfNone();
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.selectBuildToDeleteAsync = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -57,12 +56,32 @@ async function selectBuildToDeleteAsync(graphqlClient, projectId, projectDisplay
57
56
  }
58
57
  exports.selectBuildToDeleteAsync = selectBuildToDeleteAsync;
59
58
  class BuildDelete extends EasCommand_1.default {
59
+ static description = 'delete a build';
60
+ static args = [{ name: 'BUILD_ID' }];
61
+ static flags = {
62
+ ...flags_1.EASNonInteractiveFlag,
63
+ platform: core_1.Flags.enum({
64
+ char: 'p',
65
+ description: 'Filter builds by the platform if build ID is not provided',
66
+ options: Object.values(platform_1.RequestedPlatform),
67
+ }),
68
+ profile: core_1.Flags.string({
69
+ char: 'e',
70
+ description: 'Filter builds by build profile if build ID is not provided',
71
+ helpValue: 'PROFILE_NAME',
72
+ }),
73
+ };
74
+ static contextDefinition = {
75
+ ...this.ContextOptions.ProjectId,
76
+ ...this.ContextOptions.LoggedIn,
77
+ ...this.ContextOptions.Vcs,
78
+ };
60
79
  async runAsync() {
61
- const { args: { BUILD_ID: buildIdFromArg }, flags: { 'non-interactive': nonInteractive, platform, profile }, } = await this.parse(_a);
80
+ const { args: { BUILD_ID: buildIdFromArg }, flags: { 'non-interactive': nonInteractive, platform, profile }, } = await this.parse(BuildDelete);
62
81
  if (buildIdFromArg && (platform || profile)) {
63
82
  throw new Error('Build ID cannot be used together with platform and profile flags. They are used to filter the list of builds when not providing the build ID');
64
83
  }
65
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, { nonInteractive });
84
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(BuildDelete, { nonInteractive });
66
85
  const displayName = await (0, projectUtils_1.getDisplayNameForProjectIdAsync)(graphqlClient, projectId);
67
86
  if (buildIdFromArg) {
68
87
  await (0, builds_1.ensureBuildExistsAsync)(graphqlClient, buildIdFromArg);
@@ -91,25 +110,4 @@ class BuildDelete extends EasCommand_1.default {
91
110
  }
92
111
  }
93
112
  }
94
- _a = BuildDelete;
95
- BuildDelete.description = 'delete a build';
96
- BuildDelete.args = [{ name: 'BUILD_ID' }];
97
- BuildDelete.flags = {
98
- ...flags_1.EASNonInteractiveFlag,
99
- platform: core_1.Flags.enum({
100
- char: 'p',
101
- description: 'Filter builds by the platform if build ID is not provided',
102
- options: Object.values(platform_1.RequestedPlatform),
103
- }),
104
- profile: core_1.Flags.string({
105
- char: 'e',
106
- description: 'Filter builds by build profile if build ID is not provided',
107
- helpValue: 'PROFILE_NAME',
108
- }),
109
- };
110
- BuildDelete.contextDefinition = {
111
- ..._a.ContextOptions.ProjectId,
112
- ..._a.ContextOptions.LoggedIn,
113
- ..._a.ContextOptions.Vcs,
114
- };
115
113
  exports.default = BuildDelete;
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.handleDeprecatedEasJsonAsync = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -23,13 +22,92 @@ const uniq_1 = tslib_1.__importDefault(require("../../utils/expodash/uniq"));
23
22
  const json_1 = require("../../utils/json");
24
23
  const statuspageService_1 = require("../../utils/statuspageService");
25
24
  class Build extends EasCommand_1.default {
25
+ static description = 'start a build';
26
+ static flags = {
27
+ platform: core_1.Flags.enum({
28
+ char: 'p',
29
+ options: ['android', 'ios', 'all'],
30
+ }),
31
+ 'skip-credentials-check': core_1.Flags.boolean({
32
+ default: false,
33
+ hidden: true,
34
+ }),
35
+ 'skip-project-configuration': core_1.Flags.boolean({
36
+ default: false,
37
+ hidden: true,
38
+ }),
39
+ profile: core_1.Flags.string({
40
+ char: 'e',
41
+ description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
42
+ helpValue: 'PROFILE_NAME',
43
+ }),
44
+ local: core_1.Flags.boolean({
45
+ default: false,
46
+ description: 'Run build locally [experimental]',
47
+ }),
48
+ output: core_1.Flags.string({
49
+ description: 'Output path for local build',
50
+ }),
51
+ wait: core_1.Flags.boolean({
52
+ default: true,
53
+ allowNo: true,
54
+ description: 'Wait for build(s) to complete',
55
+ }),
56
+ 'clear-cache': core_1.Flags.boolean({
57
+ default: false,
58
+ description: 'Clear cache before the build',
59
+ }),
60
+ 'auto-submit': core_1.Flags.boolean({
61
+ default: false,
62
+ description: 'Submit on build complete using the submit profile with the same name as the build profile',
63
+ exclusive: ['auto-submit-with-profile'],
64
+ }),
65
+ 'auto-submit-with-profile': core_1.Flags.string({
66
+ description: 'Submit on build complete using the submit profile with provided name',
67
+ helpValue: 'PROFILE_NAME',
68
+ exclusive: ['auto-submit'],
69
+ }),
70
+ 'resource-class': core_1.Flags.enum({
71
+ options: Object.values(eas_json_1.ResourceClass),
72
+ hidden: true,
73
+ deprecated: {
74
+ 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/'),
75
+ },
76
+ description: 'The instance type that will be used to run this build [experimental]',
77
+ }),
78
+ message: core_1.Flags.string({
79
+ char: 'm',
80
+ description: 'A short message describing the build',
81
+ }),
82
+ 'build-logger-level': core_1.Flags.enum({
83
+ description: 'The level of logs to output during the build process. Defaults to "info".',
84
+ options: Object.values(logger_1.LoggerLevel),
85
+ }),
86
+ 'freeze-credentials': core_1.Flags.boolean({
87
+ default: false,
88
+ description: 'Prevent the build from updating credentials in non-interactive mode',
89
+ }),
90
+ repack: core_1.Flags.boolean({
91
+ default: false,
92
+ hidden: true,
93
+ description: 'Use the golden dev client build repack flow as it works for onboarding',
94
+ }),
95
+ ...flags_1.EasNonInteractiveAndJsonFlags,
96
+ };
97
+ static contextDefinition = {
98
+ ...this.ContextOptions.LoggedIn,
99
+ ...this.ContextOptions.DynamicProjectConfig,
100
+ ...this.ContextOptions.ProjectDir,
101
+ ...this.ContextOptions.Analytics,
102
+ ...this.ContextOptions.Vcs,
103
+ };
26
104
  async runAsync() {
27
- const { flags: rawFlags } = await this.parse(_a);
105
+ const { flags: rawFlags } = await this.parse(Build);
28
106
  if (rawFlags.json) {
29
107
  (0, json_1.enableJsonOutput)();
30
108
  }
31
109
  const flags = this.sanitizeFlags(rawFlags);
32
- const { loggedIn: { actor, graphqlClient }, getDynamicPrivateProjectConfigAsync, projectDir, analytics, vcsClient, } = await this.getContextAsync(_a, {
110
+ const { loggedIn: { actor, graphqlClient }, getDynamicPrivateProjectConfigAsync, projectDir, analytics, vcsClient, } = await this.getContextAsync(Build, {
33
111
  nonInteractive: flags.nonInteractive,
34
112
  withServerSideEnvironment: null,
35
113
  });
@@ -121,86 +199,6 @@ class Build extends EasCommand_1.default {
121
199
  };
122
200
  }
123
201
  }
124
- _a = Build;
125
- Build.description = 'start a build';
126
- Build.flags = {
127
- platform: core_1.Flags.enum({
128
- char: 'p',
129
- options: ['android', 'ios', 'all'],
130
- }),
131
- 'skip-credentials-check': core_1.Flags.boolean({
132
- default: false,
133
- hidden: true,
134
- }),
135
- 'skip-project-configuration': core_1.Flags.boolean({
136
- default: false,
137
- hidden: true,
138
- }),
139
- profile: core_1.Flags.string({
140
- char: 'e',
141
- description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
142
- helpValue: 'PROFILE_NAME',
143
- }),
144
- local: core_1.Flags.boolean({
145
- default: false,
146
- description: 'Run build locally [experimental]',
147
- }),
148
- output: core_1.Flags.string({
149
- description: 'Output path for local build',
150
- }),
151
- wait: core_1.Flags.boolean({
152
- default: true,
153
- allowNo: true,
154
- description: 'Wait for build(s) to complete',
155
- }),
156
- 'clear-cache': core_1.Flags.boolean({
157
- default: false,
158
- description: 'Clear cache before the build',
159
- }),
160
- 'auto-submit': core_1.Flags.boolean({
161
- default: false,
162
- description: 'Submit on build complete using the submit profile with the same name as the build profile',
163
- exclusive: ['auto-submit-with-profile'],
164
- }),
165
- 'auto-submit-with-profile': core_1.Flags.string({
166
- description: 'Submit on build complete using the submit profile with provided name',
167
- helpValue: 'PROFILE_NAME',
168
- exclusive: ['auto-submit'],
169
- }),
170
- 'resource-class': core_1.Flags.enum({
171
- options: Object.values(eas_json_1.ResourceClass),
172
- hidden: true,
173
- deprecated: {
174
- 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/'),
175
- },
176
- description: 'The instance type that will be used to run this build [experimental]',
177
- }),
178
- message: core_1.Flags.string({
179
- char: 'm',
180
- description: 'A short message describing the build',
181
- }),
182
- 'build-logger-level': core_1.Flags.enum({
183
- description: 'The level of logs to output during the build process. Defaults to "info".',
184
- options: Object.values(logger_1.LoggerLevel),
185
- }),
186
- 'freeze-credentials': core_1.Flags.boolean({
187
- default: false,
188
- description: 'Prevent the build from updating credentials in non-interactive mode',
189
- }),
190
- repack: core_1.Flags.boolean({
191
- default: false,
192
- hidden: true,
193
- description: 'Use the golden dev client build repack flow as it works for onboarding',
194
- }),
195
- ...flags_1.EasNonInteractiveAndJsonFlags,
196
- };
197
- Build.contextDefinition = {
198
- ..._a.ContextOptions.LoggedIn,
199
- ..._a.ContextOptions.DynamicProjectConfig,
200
- ..._a.ContextOptions.ProjectDir,
201
- ..._a.ContextOptions.Analytics,
202
- ..._a.ContextOptions.Vcs,
203
- };
204
202
  exports.default = Build;
205
203
  async function handleDeprecatedEasJsonAsync(projectDir, nonInteractive) {
206
204
  if (!(await fs_extra_1.default.pathExists(eas_json_1.EasJsonAccessor.formatEasJsonPath(projectDir)))) {