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 eas_build_job_1 = require("@expo/eas-build-job");
@@ -24,9 +23,27 @@ const remoteVersionSource_1 = require("../../../project/remoteVersionSource");
24
23
  const workflow_1 = require("../../../project/workflow");
25
24
  const profiles_1 = require("../../../utils/profiles");
26
25
  class BuildVersionSyncView extends EasCommand_1.default {
26
+ static description = 'update a version in native code with a value stored on EAS servers';
27
+ static flags = {
28
+ platform: core_1.Flags.enum({
29
+ char: 'p',
30
+ options: ['android', 'ios', 'all'],
31
+ }),
32
+ profile: core_1.Flags.string({
33
+ char: 'e',
34
+ description: 'Name of the build profile from eas.json. Defaults to "production" if defined in eas.json.',
35
+ helpValue: 'PROFILE_NAME',
36
+ }),
37
+ };
38
+ static contextDefinition = {
39
+ ...this.ContextOptions.LoggedIn,
40
+ ...this.ContextOptions.DynamicProjectConfig,
41
+ ...this.ContextOptions.ProjectDir,
42
+ ...this.ContextOptions.Vcs,
43
+ };
27
44
  async runAsync() {
28
- const { flags } = await this.parse(_a);
29
- const { loggedIn: { graphqlClient }, getDynamicPrivateProjectConfigAsync, projectDir, vcsClient, } = await this.getContextAsync(_a, {
45
+ const { flags } = await this.parse(BuildVersionSyncView);
46
+ const { loggedIn: { graphqlClient }, getDynamicPrivateProjectConfigAsync, projectDir, vcsClient, } = await this.getContextAsync(BuildVersionSyncView, {
30
47
  nonInteractive: true,
31
48
  withServerSideEnvironment: null,
32
49
  });
@@ -129,23 +146,4 @@ class BuildVersionSyncView extends EasCommand_1.default {
129
146
  }
130
147
  }
131
148
  }
132
- _a = BuildVersionSyncView;
133
- BuildVersionSyncView.description = 'update a version in native code with a value stored on EAS servers';
134
- BuildVersionSyncView.flags = {
135
- platform: core_1.Flags.enum({
136
- char: 'p',
137
- options: ['android', 'ios', 'all'],
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
- };
145
- BuildVersionSyncView.contextDefinition = {
146
- ..._a.ContextOptions.LoggedIn,
147
- ..._a.ContextOptions.DynamicProjectConfig,
148
- ..._a.ContextOptions.ProjectDir,
149
- ..._a.ContextOptions.Vcs,
150
- };
151
149
  exports.default = BuildVersionSyncView;
@@ -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 formatBuild_1 = require("../../build/utils/formatBuild");
@@ -11,9 +10,19 @@ const ora_1 = require("../../ora");
11
10
  const projectUtils_1 = require("../../project/projectUtils");
12
11
  const json_1 = require("../../utils/json");
13
12
  class BuildView extends EasCommand_1.default {
13
+ static description = 'view a build for your project';
14
+ static args = [{ name: 'BUILD_ID' }];
15
+ static flags = {
16
+ ...flags_1.EasJsonOnlyFlag,
17
+ };
18
+ static contextDefinition = {
19
+ ...this.ContextOptions.ProjectId,
20
+ ...this.ContextOptions.LoggedIn,
21
+ ...this.ContextOptions.Vcs,
22
+ };
14
23
  async runAsync() {
15
- const { args: { BUILD_ID: buildId }, flags, } = await this.parse(_a);
16
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
24
+ const { args: { BUILD_ID: buildId }, flags, } = await this.parse(BuildView);
25
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(BuildView, {
17
26
  nonInteractive: true,
18
27
  });
19
28
  if (flags.json) {
@@ -62,15 +71,4 @@ class BuildView extends EasCommand_1.default {
62
71
  }
63
72
  }
64
73
  }
65
- _a = BuildView;
66
- BuildView.description = 'view a build for your project';
67
- BuildView.args = [{ name: 'BUILD_ID' }];
68
- BuildView.flags = {
69
- ...flags_1.EasJsonOnlyFlag,
70
- };
71
- BuildView.contextDefinition = {
72
- ..._a.ContextOptions.ProjectId,
73
- ..._a.ContextOptions.LoggedIn,
74
- ..._a.ContextOptions.Vcs,
75
- };
76
74
  exports.default = BuildView;
@@ -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"));
@@ -10,9 +9,24 @@ const log_1 = tslib_1.__importDefault(require("../../log"));
10
9
  const prompts_1 = require("../../prompts");
11
10
  const json_1 = require("../../utils/json");
12
11
  class ChannelCreate extends EasCommand_1.default {
12
+ static description = 'create a channel';
13
+ static args = [
14
+ {
15
+ name: 'name',
16
+ required: false,
17
+ description: 'Name of the channel to create',
18
+ },
19
+ ];
20
+ static flags = {
21
+ ...flags_1.EasNonInteractiveAndJsonFlags,
22
+ };
23
+ static contextDefinition = {
24
+ ...this.ContextOptions.ProjectId,
25
+ ...this.ContextOptions.LoggedIn,
26
+ };
13
27
  async runAsync() {
14
- let { args: { name: channelName }, flags: { json: jsonFlag, 'non-interactive': nonInteractive }, } = await this.parse(_a);
15
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
28
+ let { args: { name: channelName }, flags: { json: jsonFlag, 'non-interactive': nonInteractive }, } = await this.parse(ChannelCreate);
29
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(ChannelCreate, {
16
30
  nonInteractive,
17
31
  });
18
32
  if (jsonFlag) {
@@ -39,20 +53,4 @@ class ChannelCreate extends EasCommand_1.default {
39
53
  log_1.default.log(chalk_1.default.bold('You can now update your app by publishing!'));
40
54
  }
41
55
  }
42
- _a = ChannelCreate;
43
- ChannelCreate.description = 'create a channel';
44
- ChannelCreate.args = [
45
- {
46
- name: 'name',
47
- required: false,
48
- description: 'Name of the channel to create',
49
- },
50
- ];
51
- ChannelCreate.flags = {
52
- ...flags_1.EasNonInteractiveAndJsonFlags,
53
- };
54
- ChannelCreate.contextDefinition = {
55
- ..._a.ContextOptions.ProjectId,
56
- ..._a.ContextOptions.LoggedIn,
57
- };
58
56
  exports.default = ChannelCreate;
@@ -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 graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
@@ -12,9 +11,25 @@ const log_1 = tslib_1.__importDefault(require("../../log"));
12
11
  const prompts_1 = require("../../prompts");
13
12
  const json_1 = require("../../utils/json");
14
13
  class ChannelDelete extends EasCommand_1.default {
14
+ static hidden = true;
15
+ static description = 'Delete a channel';
16
+ static args = [
17
+ {
18
+ name: 'name',
19
+ required: false,
20
+ description: 'Name of the channel to delete',
21
+ },
22
+ ];
23
+ static flags = {
24
+ ...flags_1.EasNonInteractiveAndJsonFlags,
25
+ };
26
+ static contextDefinition = {
27
+ ...this.ContextOptions.ProjectId,
28
+ ...this.ContextOptions.LoggedIn,
29
+ };
15
30
  async runAsync() {
16
- const { args: { name: nameArg }, flags: { json: jsonFlag, 'non-interactive': nonInteractive }, } = await this.parse(_a);
17
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
31
+ const { args: { name: nameArg }, flags: { json: jsonFlag, 'non-interactive': nonInteractive }, } = await this.parse(ChannelDelete);
32
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(ChannelDelete, {
18
33
  nonInteractive,
19
34
  });
20
35
  if (jsonFlag) {
@@ -66,23 +81,6 @@ class ChannelDelete extends EasCommand_1.default {
66
81
  }
67
82
  }
68
83
  }
69
- _a = ChannelDelete;
70
- ChannelDelete.hidden = true;
71
- ChannelDelete.description = 'Delete a channel';
72
- ChannelDelete.args = [
73
- {
74
- name: 'name',
75
- required: false,
76
- description: 'Name of the channel to delete',
77
- },
78
- ];
79
- ChannelDelete.flags = {
80
- ...flags_1.EasNonInteractiveAndJsonFlags,
81
- };
82
- ChannelDelete.contextDefinition = {
83
- ..._a.ContextOptions.ProjectId,
84
- ..._a.ContextOptions.LoggedIn,
85
- };
86
84
  exports.default = ChannelDelete;
87
85
  async function deleteChannelOnAppAsync(graphqlClient, { channelId }) {
88
86
  const data = await (0, client_1.withErrorHandlingAsync)(graphqlClient
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.updateChannelBranchMappingAsync = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -41,9 +40,27 @@ async function updateChannelBranchMappingAsync(graphqlClient, { channelId, branc
41
40
  }
42
41
  exports.updateChannelBranchMappingAsync = updateChannelBranchMappingAsync;
43
42
  class ChannelEdit extends EasCommand_1.default {
43
+ static description = 'point a channel at a new branch';
44
+ static args = [
45
+ {
46
+ name: 'name',
47
+ required: false,
48
+ description: 'Name of the channel to edit',
49
+ },
50
+ ];
51
+ static flags = {
52
+ branch: core_1.Flags.string({
53
+ description: 'Name of the branch to point to',
54
+ }),
55
+ ...flags_1.EasNonInteractiveAndJsonFlags,
56
+ };
57
+ static contextDefinition = {
58
+ ...this.ContextOptions.ProjectId,
59
+ ...this.ContextOptions.LoggedIn,
60
+ };
44
61
  async runAsync() {
45
- const { args, flags: { branch: branchFlag, json, 'non-interactive': nonInteractive }, } = await this.parse(_a);
46
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
62
+ const { args, flags: { branch: branchFlag, json, 'non-interactive': nonInteractive }, } = await this.parse(ChannelEdit);
63
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(ChannelEdit, {
47
64
  nonInteractive,
48
65
  });
49
66
  if (json) {
@@ -94,23 +111,4 @@ class ChannelEdit extends EasCommand_1.default {
94
111
  }
95
112
  }
96
113
  }
97
- _a = ChannelEdit;
98
- ChannelEdit.description = 'point a channel at a new branch';
99
- ChannelEdit.args = [
100
- {
101
- name: 'name',
102
- required: false,
103
- description: 'Name of the channel to edit',
104
- },
105
- ];
106
- ChannelEdit.flags = {
107
- branch: core_1.Flags.string({
108
- description: 'Name of the branch to point to',
109
- }),
110
- ...flags_1.EasNonInteractiveAndJsonFlags,
111
- };
112
- ChannelEdit.contextDefinition = {
113
- ..._a.ContextOptions.ProjectId,
114
- ..._a.ContextOptions.LoggedIn,
115
- };
116
114
  exports.default = ChannelEdit;
@@ -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("../../channel/queries");
@@ -8,11 +7,21 @@ 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 ChannelList extends EasCommand_1.default {
10
+ static description = 'list all channels';
11
+ static flags = {
12
+ ...pagination_1.EasPaginatedQueryFlags,
13
+ limit: (0, pagination_1.getLimitFlagWithCustomValues)({ defaultTo: 10, limit: queries_1.CHANNELS_LIMIT }),
14
+ ...flags_1.EasNonInteractiveAndJsonFlags,
15
+ };
16
+ static contextDefinition = {
17
+ ...this.ContextOptions.ProjectId,
18
+ ...this.ContextOptions.LoggedIn,
19
+ };
11
20
  async runAsync() {
12
- const { flags } = await this.parse(_a);
21
+ const { flags } = await this.parse(ChannelList);
13
22
  const paginatedQueryOptions = (0, pagination_1.getPaginatedQueryOptions)(flags);
14
23
  const { json: jsonFlag, 'non-interactive': nonInteractive } = flags;
15
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
24
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(ChannelList, {
16
25
  nonInteractive,
17
26
  });
18
27
  if (jsonFlag) {
@@ -24,15 +33,4 @@ class ChannelList extends EasCommand_1.default {
24
33
  });
25
34
  }
26
35
  }
27
- _a = ChannelList;
28
- ChannelList.description = 'list all channels';
29
- ChannelList.flags = {
30
- ...pagination_1.EasPaginatedQueryFlags,
31
- limit: (0, pagination_1.getLimitFlagWithCustomValues)({ defaultTo: 10, limit: queries_1.CHANNELS_LIMIT }),
32
- ...flags_1.EasNonInteractiveAndJsonFlags,
33
- };
34
- ChannelList.contextDefinition = {
35
- ..._a.ContextOptions.ProjectId,
36
- ..._a.ContextOptions.LoggedIn,
37
- };
38
36
  exports.default = ChannelList;
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.pauseUpdateChannelAsync = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -37,9 +36,27 @@ async function pauseUpdateChannelAsync(graphqlClient, { channelId }) {
37
36
  }
38
37
  exports.pauseUpdateChannelAsync = pauseUpdateChannelAsync;
39
38
  class ChannelPause extends EasCommand_1.default {
39
+ static description = 'pause a channel to stop it from sending updates';
40
+ static args = [
41
+ {
42
+ name: 'name',
43
+ required: false,
44
+ description: 'Name of the channel to edit',
45
+ },
46
+ ];
47
+ static flags = {
48
+ branch: core_1.Flags.string({
49
+ description: 'Name of the branch to point to',
50
+ }),
51
+ ...flags_1.EasNonInteractiveAndJsonFlags,
52
+ };
53
+ static contextDefinition = {
54
+ ...this.ContextOptions.ProjectId,
55
+ ...this.ContextOptions.LoggedIn,
56
+ };
40
57
  async runAsync() {
41
- const { args, flags: { json, 'non-interactive': nonInteractive }, } = await this.parse(_a);
42
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
58
+ const { args, flags: { json, 'non-interactive': nonInteractive }, } = await this.parse(ChannelPause);
59
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(ChannelPause, {
43
60
  nonInteractive,
44
61
  });
45
62
  if (json) {
@@ -68,23 +85,4 @@ class ChannelPause extends EasCommand_1.default {
68
85
  }
69
86
  }
70
87
  }
71
- _a = ChannelPause;
72
- ChannelPause.description = 'pause a channel to stop it from sending updates';
73
- ChannelPause.args = [
74
- {
75
- name: 'name',
76
- required: false,
77
- description: 'Name of the channel to edit',
78
- },
79
- ];
80
- ChannelPause.flags = {
81
- branch: core_1.Flags.string({
82
- description: 'Name of the branch to point to',
83
- }),
84
- ...flags_1.EasNonInteractiveAndJsonFlags,
85
- };
86
- ChannelPause.contextDefinition = {
87
- ..._a.ContextOptions.ProjectId,
88
- ..._a.ContextOptions.LoggedIn,
89
- };
90
88
  exports.default = ChannelPause;
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- var _a;
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  exports.resumeUpdateChannelAsync = void 0;
5
4
  const tslib_1 = require("tslib");
@@ -37,9 +36,27 @@ async function resumeUpdateChannelAsync(graphqlClient, { channelId }) {
37
36
  }
38
37
  exports.resumeUpdateChannelAsync = resumeUpdateChannelAsync;
39
38
  class ChannelResume extends EasCommand_1.default {
39
+ static description = 'resume a channel to start sending updates';
40
+ static args = [
41
+ {
42
+ name: 'name',
43
+ required: false,
44
+ description: 'Name of the channel to edit',
45
+ },
46
+ ];
47
+ static flags = {
48
+ branch: core_1.Flags.string({
49
+ description: 'Name of the branch to point to',
50
+ }),
51
+ ...flags_1.EasNonInteractiveAndJsonFlags,
52
+ };
53
+ static contextDefinition = {
54
+ ...this.ContextOptions.ProjectId,
55
+ ...this.ContextOptions.LoggedIn,
56
+ };
40
57
  async runAsync() {
41
- const { args, flags: { json, 'non-interactive': nonInteractive }, } = await this.parse(_a);
42
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
58
+ const { args, flags: { json, 'non-interactive': nonInteractive }, } = await this.parse(ChannelResume);
59
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(ChannelResume, {
43
60
  nonInteractive,
44
61
  });
45
62
  if (json) {
@@ -68,23 +85,4 @@ class ChannelResume extends EasCommand_1.default {
68
85
  }
69
86
  }
70
87
  }
71
- _a = ChannelResume;
72
- ChannelResume.description = 'resume a channel to start sending updates';
73
- ChannelResume.args = [
74
- {
75
- name: 'name',
76
- required: false,
77
- description: 'Name of the channel to edit',
78
- },
79
- ];
80
- ChannelResume.flags = {
81
- branch: core_1.Flags.string({
82
- description: 'Name of the branch to point to',
83
- }),
84
- ...flags_1.EasNonInteractiveAndJsonFlags,
85
- };
86
- ChannelResume.contextDefinition = {
87
- ..._a.ContextOptions.ProjectId,
88
- ..._a.ContextOptions.LoggedIn,
89
- };
90
88
  exports.default = ChannelResume;
@@ -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");
@@ -18,10 +17,82 @@ var ActionRawFlagValue;
18
17
  ActionRawFlagValue["VIEW"] = "view";
19
18
  })(ActionRawFlagValue || (ActionRawFlagValue = {}));
20
19
  class ChannelRollout extends EasCommand_1.default {
20
+ static description = 'Roll a new branch out on a channel incrementally.';
21
+ static args = [
22
+ {
23
+ name: 'channel',
24
+ description: 'channel on which the rollout should be done',
25
+ },
26
+ ];
27
+ static flags = {
28
+ action: core_1.Flags.enum({
29
+ description: 'Rollout action to perform',
30
+ options: Object.values(ActionRawFlagValue),
31
+ required: false,
32
+ relationships: [
33
+ {
34
+ type: 'all',
35
+ flags: [
36
+ {
37
+ name: 'percent',
38
+ // eslint-disable-next-line async-protect/async-suffix
39
+ when: async (flags) => {
40
+ return (!!flags['non-interactive'] &&
41
+ (flags['action'] === ActionRawFlagValue.CREATE ||
42
+ flags['action'] === ActionRawFlagValue.EDIT));
43
+ },
44
+ },
45
+ {
46
+ name: 'outcome',
47
+ // eslint-disable-next-line async-protect/async-suffix
48
+ when: async (flags) => !!flags['non-interactive'] && flags['action'] === ActionRawFlagValue.END,
49
+ },
50
+ {
51
+ name: 'branch',
52
+ // eslint-disable-next-line async-protect/async-suffix
53
+ when: async (flags) => !!flags['non-interactive'] && flags['action'] === ActionRawFlagValue.CREATE,
54
+ },
55
+ {
56
+ name: 'runtime-version',
57
+ // eslint-disable-next-line async-protect/async-suffix
58
+ when: async (flags) => !!flags['non-interactive'] && flags['action'] === ActionRawFlagValue.CREATE,
59
+ },
60
+ ],
61
+ },
62
+ ],
63
+ }),
64
+ percent: core_1.Flags.integer({
65
+ description: 'Percent of users to send to the new branch. Use with --action=edit or --action=create',
66
+ required: false,
67
+ }),
68
+ outcome: core_1.Flags.enum({
69
+ description: 'End outcome of rollout. Use with --action=end',
70
+ options: Object.values(EndRollout_1.EndOutcome),
71
+ required: false,
72
+ }),
73
+ branch: core_1.Flags.string({
74
+ description: 'Branch to roll out. Use with --action=create',
75
+ required: false,
76
+ }),
77
+ 'runtime-version': core_1.Flags.string({
78
+ description: 'Runtime version to target. Use with --action=create',
79
+ required: false,
80
+ }),
81
+ 'private-key-path': core_1.Flags.string({
82
+ description: `File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named "private-key.pem" in the certificate's directory. Only relevant if you are using code signing: https://docs.expo.dev/eas-update/code-signing/`,
83
+ required: false,
84
+ }),
85
+ ...flags_1.EasNonInteractiveAndJsonFlags,
86
+ };
87
+ static contextDefinition = {
88
+ ...this.ContextOptions.ProjectConfig,
89
+ ...this.ContextOptions.Vcs,
90
+ ...this.ContextOptions.LoggedIn,
91
+ };
21
92
  async runAsync() {
22
- const { args, flags } = await this.parse(_a);
93
+ const { args, flags } = await this.parse(ChannelRollout);
23
94
  const argsAndFlags = this.sanitizeArgsAndFlags({ ...flags, ...args });
24
- const { privateProjectConfig: { exp, projectId, projectDir }, vcsClient, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
95
+ const { privateProjectConfig: { exp, projectId, projectDir }, vcsClient, loggedIn: { graphqlClient }, } = await this.getContextAsync(ChannelRollout, {
25
96
  nonInteractive: argsAndFlags.nonInteractive,
26
97
  withServerSideEnvironment: null,
27
98
  });
@@ -69,77 +140,4 @@ class ChannelRollout extends EasCommand_1.default {
69
140
  };
70
141
  }
71
142
  }
72
- _a = ChannelRollout;
73
- ChannelRollout.description = 'Roll a new branch out on a channel incrementally.';
74
- ChannelRollout.args = [
75
- {
76
- name: 'channel',
77
- description: 'channel on which the rollout should be done',
78
- },
79
- ];
80
- ChannelRollout.flags = {
81
- action: core_1.Flags.enum({
82
- description: 'Rollout action to perform',
83
- options: Object.values(ActionRawFlagValue),
84
- required: false,
85
- relationships: [
86
- {
87
- type: 'all',
88
- flags: [
89
- {
90
- name: 'percent',
91
- // eslint-disable-next-line async-protect/async-suffix
92
- when: async (flags) => {
93
- return (!!flags['non-interactive'] &&
94
- (flags['action'] === ActionRawFlagValue.CREATE ||
95
- flags['action'] === ActionRawFlagValue.EDIT));
96
- },
97
- },
98
- {
99
- name: 'outcome',
100
- // eslint-disable-next-line async-protect/async-suffix
101
- when: async (flags) => !!flags['non-interactive'] && flags['action'] === ActionRawFlagValue.END,
102
- },
103
- {
104
- name: 'branch',
105
- // eslint-disable-next-line async-protect/async-suffix
106
- when: async (flags) => !!flags['non-interactive'] && flags['action'] === ActionRawFlagValue.CREATE,
107
- },
108
- {
109
- name: 'runtime-version',
110
- // eslint-disable-next-line async-protect/async-suffix
111
- when: async (flags) => !!flags['non-interactive'] && flags['action'] === ActionRawFlagValue.CREATE,
112
- },
113
- ],
114
- },
115
- ],
116
- }),
117
- percent: core_1.Flags.integer({
118
- description: 'Percent of users to send to the new branch. Use with --action=edit or --action=create',
119
- required: false,
120
- }),
121
- outcome: core_1.Flags.enum({
122
- description: 'End outcome of rollout. Use with --action=end',
123
- options: Object.values(EndRollout_1.EndOutcome),
124
- required: false,
125
- }),
126
- branch: core_1.Flags.string({
127
- description: 'Branch to roll out. Use with --action=create',
128
- required: false,
129
- }),
130
- 'runtime-version': core_1.Flags.string({
131
- description: 'Runtime version to target. Use with --action=create',
132
- required: false,
133
- }),
134
- 'private-key-path': core_1.Flags.string({
135
- description: `File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named "private-key.pem" in the certificate's directory. Only relevant if you are using code signing: https://docs.expo.dev/eas-update/code-signing/`,
136
- required: false,
137
- }),
138
- ...flags_1.EasNonInteractiveAndJsonFlags,
139
- };
140
- ChannelRollout.contextDefinition = {
141
- ..._a.ContextOptions.ProjectConfig,
142
- ..._a.ContextOptions.Vcs,
143
- ..._a.ContextOptions.LoggedIn,
144
- };
145
143
  exports.default = ChannelRollout;
@@ -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 assert_1 = tslib_1.__importDefault(require("assert"));
@@ -9,11 +8,27 @@ const flags_1 = require("../../commandUtils/flags");
9
8
  const pagination_1 = require("../../commandUtils/pagination");
10
9
  const json_1 = require("../../utils/json");
11
10
  class ChannelView extends EasCommand_1.default {
11
+ static description = 'view a channel';
12
+ static args = [
13
+ {
14
+ name: 'name',
15
+ required: false,
16
+ description: 'Name of the channel to view',
17
+ },
18
+ ];
19
+ static flags = {
20
+ ...flags_1.EasNonInteractiveAndJsonFlags,
21
+ ...pagination_1.EasPaginatedQueryFlags,
22
+ };
23
+ static contextDefinition = {
24
+ ...this.ContextOptions.ProjectId,
25
+ ...this.ContextOptions.LoggedIn,
26
+ };
12
27
  async runAsync() {
13
- let { args: { name: channelName }, flags, } = await this.parse(_a);
28
+ let { args: { name: channelName }, flags, } = await this.parse(ChannelView);
14
29
  const paginatedQueryOptions = (0, pagination_1.getPaginatedQueryOptions)(flags);
15
30
  const { json: jsonFlag, 'non-interactive': nonInteractive } = flags;
16
- const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(_a, {
31
+ const { projectId, loggedIn: { graphqlClient }, } = await this.getContextAsync(ChannelView, {
17
32
  nonInteractive,
18
33
  });
19
34
  if (jsonFlag) {
@@ -43,21 +58,4 @@ class ChannelView extends EasCommand_1.default {
43
58
  });
44
59
  }
45
60
  }
46
- _a = ChannelView;
47
- ChannelView.description = 'view a channel';
48
- ChannelView.args = [
49
- {
50
- name: 'name',
51
- required: false,
52
- description: 'Name of the channel to view',
53
- },
54
- ];
55
- ChannelView.flags = {
56
- ...flags_1.EasNonInteractiveAndJsonFlags,
57
- ...pagination_1.EasPaginatedQueryFlags,
58
- };
59
- ChannelView.contextDefinition = {
60
- ..._a.ContextOptions.ProjectId,
61
- ..._a.ContextOptions.LoggedIn,
62
- };
63
61
  exports.default = ChannelView;