eas-cli 0.33.1 → 0.36.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 (195) hide show
  1. package/README.md +27 -27
  2. package/build/analytics/common.d.ts +8 -0
  3. package/build/analytics/common.js +19 -0
  4. package/build/analytics/events.d.ts +43 -0
  5. package/build/analytics/events.js +51 -0
  6. package/build/{analytics.d.ts → analytics/rudderstackClient.d.ts} +0 -0
  7. package/build/{analytics.js → analytics/rudderstackClient.js} +4 -10
  8. package/build/api.js +3 -3
  9. package/build/build/android/configure.js +2 -2
  10. package/build/build/android/graphql.js +2 -4
  11. package/build/build/android/prepareJob.js +4 -3
  12. package/build/build/build.js +20 -29
  13. package/build/build/configure.js +14 -7
  14. package/build/build/context.d.ts +1 -1
  15. package/build/build/context.js +2 -2
  16. package/build/build/ios/UpdatesModule.js +2 -2
  17. package/build/build/ios/credentials.js +3 -3
  18. package/build/build/ios/graphql.js +2 -23
  19. package/build/build/ios/prepareJob.js +4 -6
  20. package/build/build/local.js +18 -27
  21. package/build/build/metadata.js +5 -10
  22. package/build/build/types.d.ts +0 -1
  23. package/build/build/utils/devClient.js +8 -5
  24. package/build/build/utils/formatBuild.js +1 -9
  25. package/build/build/utils/repository.js +10 -7
  26. package/build/build/utils/url.js +1 -1
  27. package/build/build/validate.js +4 -4
  28. package/build/commandUtils/EasCommand.d.ts +1 -0
  29. package/build/commandUtils/EasCommand.js +25 -4
  30. package/build/commands/branch/create.js +3 -2
  31. package/build/commands/branch/delete.js +1 -1
  32. package/build/commands/branch/list.js +1 -1
  33. package/build/commands/branch/publish.js +6 -5
  34. package/build/commands/branch/view.js +1 -1
  35. package/build/commands/build/index.js +44 -25
  36. package/build/commands/channel/edit.js +1 -1
  37. package/build/commands/channel/list.js +1 -1
  38. package/build/commands/channel/view.js +1 -1
  39. package/build/commands/diagnostics.js +2 -2
  40. package/build/commands/project/info.js +1 -1
  41. package/build/commands/secret/delete.js +1 -1
  42. package/build/commands/update/view.js +1 -1
  43. package/build/credentials/android/AndroidCredentialsProvider.js +2 -2
  44. package/build/credentials/android/actions/RemoveFcm.js +4 -4
  45. package/build/credentials/android/actions/{SetupBuildCredentials.d.ts → SetUpBuildCredentials.d.ts} +1 -1
  46. package/build/credentials/android/actions/{SetupBuildCredentials.js → SetUpBuildCredentials.js} +3 -3
  47. package/build/credentials/android/actions/{SetupBuildCredentialsFromCredentialsJson.d.ts → SetUpBuildCredentialsFromCredentialsJson.d.ts} +1 -1
  48. package/build/credentials/android/actions/{SetupBuildCredentialsFromCredentialsJson.js → SetUpBuildCredentialsFromCredentialsJson.js} +3 -3
  49. package/build/credentials/android/actions/{SetupGoogleServiceAccountKey.d.ts → SetUpGoogleServiceAccountKey.d.ts} +1 -1
  50. package/build/credentials/android/actions/{SetupGoogleServiceAccountKey.js → SetUpGoogleServiceAccountKey.js} +3 -3
  51. package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.js +2 -0
  52. package/build/credentials/android/utils/keystore.js +67 -32
  53. package/build/credentials/credentialsJson/update.js +5 -4
  54. package/build/credentials/errors.d.ts +4 -0
  55. package/build/credentials/errors.js +8 -1
  56. package/build/credentials/ios/IosCredentialsProvider.js +4 -4
  57. package/build/credentials/ios/actions/AscApiKeyUtils.d.ts +17 -1
  58. package/build/credentials/ios/actions/AscApiKeyUtils.js +158 -24
  59. package/build/credentials/ios/actions/AssignAscApiKey.d.ts +9 -0
  60. package/build/credentials/ios/actions/AssignAscApiKey.js +29 -0
  61. package/build/credentials/ios/actions/CreateAscApiKey.d.ts +9 -0
  62. package/build/credentials/ios/actions/CreateAscApiKey.js +21 -0
  63. package/build/credentials/ios/actions/CreateDistributionCertificate.js +1 -1
  64. package/build/credentials/ios/actions/CreatePushKey.js +1 -1
  65. package/build/credentials/ios/actions/DistributionCertificateUtils.d.ts +1 -1
  66. package/build/credentials/ios/actions/DistributionCertificateUtils.js +6 -8
  67. package/build/credentials/ios/actions/PushKeyUtils.d.ts +1 -1
  68. package/build/credentials/ios/actions/PushKeyUtils.js +6 -6
  69. package/build/credentials/ios/actions/RemoveAscApiKey.d.ts +14 -0
  70. package/build/credentials/ios/actions/RemoveAscApiKey.js +55 -0
  71. package/build/credentials/ios/actions/{SetupAdhocProvisioningProfile.d.ts → SetUpAdhocProvisioningProfile.d.ts} +1 -1
  72. package/build/credentials/ios/actions/{SetupAdhocProvisioningProfile.js → SetUpAdhocProvisioningProfile.js} +5 -5
  73. package/build/credentials/ios/actions/SetUpAscApiKey.d.ts +21 -0
  74. package/build/credentials/ios/actions/SetUpAscApiKey.js +114 -0
  75. package/build/credentials/ios/actions/{SetupBuildCredentials.d.ts → SetUpBuildCredentials.d.ts} +1 -1
  76. package/build/credentials/ios/actions/{SetupBuildCredentials.js → SetUpBuildCredentials.js} +5 -5
  77. package/build/credentials/ios/actions/{SetupBuildCredentialsFromCredentialsJson.d.ts → SetUpBuildCredentialsFromCredentialsJson.d.ts} +1 -1
  78. package/build/credentials/ios/actions/{SetupBuildCredentialsFromCredentialsJson.js → SetUpBuildCredentialsFromCredentialsJson.js} +5 -5
  79. package/build/credentials/ios/actions/{SetupDistributionCertificate.d.ts → SetUpDistributionCertificate.d.ts} +1 -1
  80. package/build/credentials/ios/actions/{SetupDistributionCertificate.js → SetUpDistributionCertificate.js} +3 -3
  81. package/build/credentials/ios/actions/{SetupInternalProvisioningProfile.d.ts → SetUpInternalProvisioningProfile.d.ts} +1 -1
  82. package/build/credentials/ios/actions/{SetupInternalProvisioningProfile.js → SetUpInternalProvisioningProfile.js} +7 -7
  83. package/build/credentials/ios/actions/{SetupProvisioningProfile.d.ts → SetUpProvisioningProfile.d.ts} +1 -1
  84. package/build/credentials/ios/actions/{SetupProvisioningProfile.js → SetUpProvisioningProfile.js} +5 -5
  85. package/build/credentials/ios/actions/{SetupPushKey.d.ts → SetUpPushKey.d.ts} +1 -1
  86. package/build/credentials/ios/actions/{SetupPushKey.js → SetUpPushKey.js} +3 -3
  87. package/build/credentials/ios/actions/SetUpSubmissionCredentials.d.ts +10 -0
  88. package/build/credentials/ios/actions/SetUpSubmissionCredentials.js +53 -0
  89. package/build/credentials/ios/actions/{SetupTargetBuildCredentials.d.ts → SetUpTargetBuildCredentials.d.ts} +1 -1
  90. package/build/credentials/ios/actions/{SetupTargetBuildCredentials.js → SetUpTargetBuildCredentials.js} +10 -10
  91. package/build/credentials/ios/actions/{SetupTargetBuildCredentialsFromCredentialsJson.d.ts → SetUpTargetBuildCredentialsFromCredentialsJson.d.ts} +1 -1
  92. package/build/credentials/ios/actions/{SetupTargetBuildCredentialsFromCredentialsJson.js → SetUpTargetBuildCredentialsFromCredentialsJson.js} +3 -3
  93. package/build/credentials/ios/api/GraphqlClient.d.ts +8 -2
  94. package/build/credentials/ios/api/GraphqlClient.js +74 -2
  95. package/build/credentials/ios/api/graphql/mutations/AppStoreConnectApiKeyMutation.d.ts +5 -0
  96. package/build/credentials/ios/api/graphql/mutations/AppStoreConnectApiKeyMutation.js +54 -0
  97. package/build/credentials/ios/api/graphql/mutations/IosAppCredentialsMutation.d.ts +1 -0
  98. package/build/credentials/ios/api/graphql/mutations/IosAppCredentialsMutation.js +25 -0
  99. package/build/credentials/ios/api/graphql/queries/AppQuery.js +3 -1
  100. package/build/credentials/ios/api/graphql/queries/AppStoreConnectApiKeyQuery.d.ts +4 -0
  101. package/build/credentials/ios/api/graphql/queries/AppStoreConnectApiKeyQuery.js +33 -0
  102. package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.js +6 -2
  103. package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.js +7 -1
  104. package/build/credentials/ios/api/graphql/queries/AppleProvisioningProfileQuery.js +5 -1
  105. package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.js +2 -0
  106. package/build/credentials/ios/api/graphql/queries/AppleTeamQuery.js +5 -1
  107. package/build/credentials/ios/appstore/AppStoreApi.d.ts +1 -1
  108. package/build/credentials/ios/appstore/Credentials.types.d.ts +1 -0
  109. package/build/credentials/ios/appstore/ascApiKey.d.ts +1 -1
  110. package/build/credentials/ios/appstore/ascApiKey.js +11 -1
  111. package/build/credentials/ios/appstore/entitlements.d.ts +2 -2
  112. package/build/credentials/ios/appstore/entitlements.js +20 -10
  113. package/build/credentials/ios/credentials.d.ts +2 -1
  114. package/build/credentials/ios/credentials.js +7 -2
  115. package/build/credentials/ios/utils/printCredentials.js +30 -1
  116. package/build/credentials/ios/validators/validateAscApiKey.d.ts +5 -0
  117. package/build/credentials/ios/validators/validateAscApiKey.js +21 -0
  118. package/build/credentials/manager/Actions.d.ts +52 -0
  119. package/build/credentials/manager/Actions.js +53 -0
  120. package/build/credentials/manager/AndroidActions.d.ts +6 -0
  121. package/build/credentials/manager/AndroidActions.js +114 -0
  122. package/build/credentials/manager/IosActions.d.ts +7 -0
  123. package/build/credentials/manager/IosActions.js +145 -0
  124. package/build/credentials/manager/ManageAndroid.d.ts +1 -29
  125. package/build/credentials/manager/ManageAndroid.js +30 -163
  126. package/build/credentials/manager/ManageIos.d.ts +1 -29
  127. package/build/credentials/manager/ManageIos.js +81 -169
  128. package/build/credentials/utils/promptForCredentials.d.ts +2 -1
  129. package/build/credentials/utils/promptForCredentials.js +3 -2
  130. package/build/graphql/client.d.ts +8 -2
  131. package/build/graphql/client.js +1 -1
  132. package/build/graphql/generated.d.ts +313 -85
  133. package/build/graphql/generated.js +23 -1
  134. package/build/graphql/mutations/KeystoreGenerationUrlMutation.d.ts +3 -0
  135. package/build/graphql/mutations/KeystoreGenerationUrlMutation.js +23 -0
  136. package/build/graphql/queries/BuildQuery.js +4 -1
  137. package/build/graphql/queries/EnvironmentSecretsQuery.js +4 -2
  138. package/build/graphql/queries/ProjectQuery.js +3 -1
  139. package/build/graphql/queries/PublishQuery.js +4 -1
  140. package/build/graphql/queries/SubmissionQuery.js +5 -2
  141. package/build/graphql/queries/UserQuery.js +4 -1
  142. package/build/graphql/queries/WebhookQuery.js +6 -2
  143. package/build/graphql/types/Build.js +1 -6
  144. package/build/graphql/types/credentials/AppStoreConnectApiKey.d.ts +1 -0
  145. package/build/graphql/types/credentials/AppStoreConnectApiKey.js +23 -0
  146. package/build/graphql/types/credentials/IosAppCredentials.js +6 -0
  147. package/build/log.d.ts +0 -2
  148. package/build/log.js +2 -12
  149. package/build/project/projectUtils.js +1 -1
  150. package/build/project/publish.js +2 -2
  151. package/build/project/workflow.js +2 -2
  152. package/build/submit/ArchiveSource.js +2 -1
  153. package/build/submit/BaseSubmitter.d.ts +20 -4
  154. package/build/submit/BaseSubmitter.js +34 -1
  155. package/build/submit/android/AndroidSubmitter.d.ts +12 -6
  156. package/build/submit/android/AndroidSubmitter.js +31 -20
  157. package/build/submit/android/ServiceAccountSource.js +2 -2
  158. package/build/submit/context.d.ts +2 -0
  159. package/build/submit/context.js +14 -0
  160. package/build/submit/ios/AppSpecificPasswordSource.d.ts +9 -6
  161. package/build/submit/ios/AppSpecificPasswordSource.js +42 -20
  162. package/build/submit/ios/AscApiKeySource.d.ts +9 -3
  163. package/build/submit/ios/AscApiKeySource.js +10 -10
  164. package/build/submit/ios/CredentialsServiceSource.d.ts +15 -0
  165. package/build/submit/ios/CredentialsServiceSource.js +52 -0
  166. package/build/submit/ios/IosSubmitCommand.d.ts +1 -2
  167. package/build/submit/ios/IosSubmitCommand.js +24 -53
  168. package/build/submit/ios/IosSubmitter.d.ts +20 -7
  169. package/build/submit/ios/IosSubmitter.js +79 -43
  170. package/build/submit/submit.js +13 -4
  171. package/build/submit/utils/errors.js +2 -0
  172. package/build/user/User.js +2 -1
  173. package/build/utils/easCli.d.ts +1 -0
  174. package/build/utils/easCli.js +5 -0
  175. package/build/utils/{expoCommand.d.ts → expoCli.d.ts} +0 -0
  176. package/build/utils/{expoCommand.js → expoCli.js} +0 -0
  177. package/build/utils/profiles.js +9 -2
  178. package/build/vcs/clients/git.d.ts +26 -0
  179. package/build/vcs/clients/git.js +184 -0
  180. package/build/vcs/clients/gitNoCommit.d.ts +7 -0
  181. package/build/vcs/clients/gitNoCommit.js +27 -0
  182. package/build/vcs/clients/noVcs.d.ts +6 -0
  183. package/build/vcs/clients/noVcs.js +19 -0
  184. package/build/vcs/git.d.ts +10 -17
  185. package/build/vcs/git.js +7 -175
  186. package/build/vcs/index.d.ts +2 -2
  187. package/build/vcs/index.js +15 -6
  188. package/build/vcs/local.d.ts +18 -5
  189. package/build/vcs/local.js +61 -32
  190. package/build/vcs/vcs.d.ts +2 -1
  191. package/build/vcs/vcs.js +8 -4
  192. package/oclif.manifest.json +1 -1
  193. package/package.json +7 -7
  194. package/build/build/utils/analytics.d.ts +0 -22
  195. package/build/build/utils/analytics.js +0 -28
@@ -6,7 +6,7 @@
6
6
  * For more info and docs, visit https://graphql-code-generator.com/
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.CacheControlScope = exports.IosManagedBuildType = exports.IosSchemeBuildConfiguration = exports.StandardOffer = exports.MailchimpAudience = exports.MailchimpTag = exports.UploadSessionType = exports.IosBuildType = exports.EasBuildDeprecationInfoType = exports.BuildCredentialsSource = exports.AndroidBuildType = exports.ProjectArchiveSourceType = exports.BuildWorkflow = exports.Order = exports.AssetMetadataStatus = exports.AppSort = exports.AppsFilter = exports.WebhookType = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.IosDistributionType = exports.AppleDeviceClass = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidTrack = exports.SubmissionAndroidArchiveType = exports.SubmissionStatus = exports.BuildIosEnterpriseProvisioning = exports.ActivityTimelineProjectActivityType = exports.Role = exports.Permission = exports.SecondFactorMethod = exports.DistributionType = exports.BuildStatus = exports.AppPlatform = exports.AppPrivacy = exports.Feature = exports.OfferType = void 0;
9
+ exports.CacheControlScope = exports.IosManagedBuildType = exports.IosSchemeBuildConfiguration = exports.StandardOffer = exports.MailchimpAudience = exports.MailchimpTag = exports.UploadSessionType = exports.IosBuildType = exports.EasBuildDeprecationInfoType = exports.BuildCredentialsSource = exports.AndroidBuildType = exports.ProjectArchiveSourceType = exports.BuildWorkflow = exports.Order = exports.AssetMetadataStatus = exports.AppSort = exports.AppsFilter = exports.WebhookType = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AppStoreConnectUserRole = exports.IosDistributionType = exports.AppleDeviceClass = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidTrack = exports.SubmissionAndroidArchiveType = exports.SubmissionStatus = exports.BuildIosEnterpriseProvisioning = exports.ActivityTimelineProjectActivityType = exports.Role = exports.Permission = exports.SecondFactorMethod = exports.DistributionType = exports.BuildStatus = exports.AppPlatform = exports.AppPrivacy = exports.Feature = exports.OfferType = void 0;
10
10
  var OfferType;
11
11
  (function (OfferType) {
12
12
  /** Term subscription */
@@ -143,6 +143,25 @@ var IosDistributionType;
143
143
  IosDistributionType["AdHoc"] = "AD_HOC";
144
144
  IosDistributionType["Development"] = "DEVELOPMENT";
145
145
  })(IosDistributionType = exports.IosDistributionType || (exports.IosDistributionType = {}));
146
+ var AppStoreConnectUserRole;
147
+ (function (AppStoreConnectUserRole) {
148
+ AppStoreConnectUserRole["Admin"] = "ADMIN";
149
+ AppStoreConnectUserRole["Finance"] = "FINANCE";
150
+ AppStoreConnectUserRole["Technical"] = "TECHNICAL";
151
+ AppStoreConnectUserRole["AccountHolder"] = "ACCOUNT_HOLDER";
152
+ AppStoreConnectUserRole["ReadOnly"] = "READ_ONLY";
153
+ AppStoreConnectUserRole["Sales"] = "SALES";
154
+ AppStoreConnectUserRole["Marketing"] = "MARKETING";
155
+ AppStoreConnectUserRole["AppManager"] = "APP_MANAGER";
156
+ AppStoreConnectUserRole["Developer"] = "DEVELOPER";
157
+ AppStoreConnectUserRole["AccessToReports"] = "ACCESS_TO_REPORTS";
158
+ AppStoreConnectUserRole["CustomerSupport"] = "CUSTOMER_SUPPORT";
159
+ AppStoreConnectUserRole["CreateApps"] = "CREATE_APPS";
160
+ AppStoreConnectUserRole["CloudManagedDeveloperId"] = "CLOUD_MANAGED_DEVELOPER_ID";
161
+ AppStoreConnectUserRole["CloudManagedAppDistribution"] = "CLOUD_MANAGED_APP_DISTRIBUTION";
162
+ AppStoreConnectUserRole["ImageManager"] = "IMAGE_MANAGER";
163
+ AppStoreConnectUserRole["Unknown"] = "UNKNOWN";
164
+ })(AppStoreConnectUserRole = exports.AppStoreConnectUserRole || (exports.AppStoreConnectUserRole = {}));
146
165
  var AndroidFcmVersion;
147
166
  (function (AndroidFcmVersion) {
148
167
  AndroidFcmVersion["Legacy"] = "LEGACY";
@@ -196,6 +215,7 @@ var AndroidBuildType;
196
215
  (function (AndroidBuildType) {
197
216
  AndroidBuildType["Apk"] = "APK";
198
217
  AndroidBuildType["AppBundle"] = "APP_BUNDLE";
218
+ /** @deprecated Use developmentClient option instead. */
199
219
  AndroidBuildType["DevelopmentClient"] = "DEVELOPMENT_CLIENT";
200
220
  })(AndroidBuildType = exports.AndroidBuildType || (exports.AndroidBuildType = {}));
201
221
  var BuildCredentialsSource;
@@ -208,6 +228,7 @@ var EasBuildDeprecationInfoType;
208
228
  EasBuildDeprecationInfoType["UserFacing"] = "USER_FACING";
209
229
  EasBuildDeprecationInfoType["Internal"] = "INTERNAL";
210
230
  })(EasBuildDeprecationInfoType = exports.EasBuildDeprecationInfoType || (exports.EasBuildDeprecationInfoType = {}));
231
+ /** @deprecated Use developmentClient option instead. */
211
232
  var IosBuildType;
212
233
  (function (IosBuildType) {
213
234
  IosBuildType["Release"] = "RELEASE";
@@ -243,6 +264,7 @@ var IosSchemeBuildConfiguration;
243
264
  IosSchemeBuildConfiguration["Release"] = "RELEASE";
244
265
  IosSchemeBuildConfiguration["Debug"] = "DEBUG";
245
266
  })(IosSchemeBuildConfiguration = exports.IosSchemeBuildConfiguration || (exports.IosSchemeBuildConfiguration = {}));
267
+ /** @deprecated Use developmentClient option instead. */
246
268
  var IosManagedBuildType;
247
269
  (function (IosManagedBuildType) {
248
270
  IosManagedBuildType["Release"] = "RELEASE";
@@ -0,0 +1,3 @@
1
+ export declare const KeystoreGenerationUrlMutation: {
2
+ createKeystoreGenerationUrlAsync(): Promise<string>;
3
+ };
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeystoreGenerationUrlMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_tag_1 = (0, tslib_1.__importDefault)(require("graphql-tag"));
6
+ const client_1 = require("../client");
7
+ exports.KeystoreGenerationUrlMutation = {
8
+ async createKeystoreGenerationUrlAsync() {
9
+ const data = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
10
+ .mutation((0, graphql_tag_1.default) `
11
+ mutation CreateKeystoreGenerationUrlMutation {
12
+ keystoreGenerationUrl {
13
+ createKeystoreGenerationUrl {
14
+ id
15
+ url
16
+ }
17
+ }
18
+ }
19
+ `)
20
+ .toPromise());
21
+ return data.keystoreGenerationUrl.createKeystoreGenerationUrl.url;
22
+ },
23
+ };
@@ -21,6 +21,7 @@ exports.BuildQuery = {
21
21
  ${(0, graphql_1.print)(Build_1.BuildFragmentNode)}
22
22
  `, { buildId }, {
23
23
  requestPolicy: useCache ? 'cache-first' : 'network-only',
24
+ additionalTypenames: ['Build'],
24
25
  })
25
26
  .toPromise());
26
27
  return data.builds.byId;
@@ -48,7 +49,9 @@ exports.BuildQuery = {
48
49
  }
49
50
  }
50
51
  ${(0, graphql_1.print)(Build_1.BuildFragmentNode)}
51
- `, { appId, offset, limit, filter })
52
+ `, { appId, offset, limit, filter }, {
53
+ additionalTypenames: ['Build'],
54
+ })
52
55
  .toPromise());
53
56
  return (_b = (_a = data.app) === null || _a === void 0 ? void 0 : _a.byId.builds) !== null && _b !== void 0 ? _b : [];
54
57
  },
@@ -27,7 +27,9 @@ exports.EnvironmentSecretsQuery = {
27
27
  }
28
28
  }
29
29
  ${(0, graphql_1.print)(EnvironmentSecret_1.EnvironmentSecretFragmentNode)}
30
- `, { accountName })
30
+ `, { accountName }, {
31
+ additionalTypenames: ['EnvironmentSecret'],
32
+ })
31
33
  .toPromise());
32
34
  return data.account.byName.environmentSecrets;
33
35
  },
@@ -47,7 +49,7 @@ exports.EnvironmentSecretsQuery = {
47
49
  }
48
50
  }
49
51
  ${(0, graphql_1.print)(EnvironmentSecret_1.EnvironmentSecretFragmentNode)}
50
- `, { appId })
52
+ `, { appId }, { additionalTypenames: ['EnvironmentSecret'] })
51
53
  .toPromise());
52
54
  return (_b = (_a = data.app) === null || _a === void 0 ? void 0 : _a.byId.environmentSecrets) !== null && _b !== void 0 ? _b : [];
53
55
  },
@@ -15,7 +15,9 @@ exports.ProjectQuery = {
15
15
  }
16
16
  }
17
17
  }
18
- `, { username, slug })
18
+ `, { username, slug }, {
19
+ additionalTypenames: ['App', 'Snack'] /* typenames that use the Project type*/,
20
+ })
19
21
  .toPromise());
20
22
  return data.project.byUsernameAndSlug;
21
23
  },
@@ -18,7 +18,10 @@ exports.PublishQuery = {
18
18
  }
19
19
  `, {
20
20
  storageKeys,
21
- }, { requestPolicy: 'network-only' } // Since we reptitively query this to monitor the asset upload, we need to ensure it is not cached.
21
+ }, {
22
+ requestPolicy: 'network-only',
23
+ additionalTypenames: ['AssetMetadataResult'],
24
+ } // Since we reptitively query this to monitor the asset upload, we need to ensure it is not cached.
22
25
  )
23
26
  .toPromise());
24
27
  return data.asset.metadata;
@@ -19,7 +19,10 @@ exports.SubmissionQuery = {
19
19
  }
20
20
  }
21
21
  ${(0, graphql_1.print)(Submission_1.SubmissionFragmentNode)}
22
- `, { submissionId }, { requestPolicy: useCache ? 'cache-first' : 'network-only' })
22
+ `, { submissionId }, {
23
+ requestPolicy: useCache ? 'cache-first' : 'network-only',
24
+ additionalTypenames: ['Submission'],
25
+ })
23
26
  .toPromise());
24
27
  return data.submissions.byId;
25
28
  },
@@ -49,7 +52,7 @@ exports.SubmissionQuery = {
49
52
  }
50
53
  }
51
54
  ${(0, graphql_1.print)(Submission_1.SubmissionFragmentNode)}
52
- `, { appId, offset, limit, status, platform })
55
+ `, { appId, offset, limit, status, platform }, { additionalTypenames: ['Submission'] })
53
56
  .toPromise());
54
57
  return (_b = (_a = data.app) === null || _a === void 0 ? void 0 : _a.byId.submissions) !== null && _b !== void 0 ? _b : [];
55
58
  },
@@ -25,7 +25,10 @@ exports.UserQuery = {
25
25
  isExpoAdmin
26
26
  }
27
27
  }
28
- `)
28
+ `,
29
+ /* variables */ undefined, {
30
+ additionalTypenames: ['User'],
31
+ })
29
32
  .toPromise());
30
33
  return data.meActor;
31
34
  },
@@ -23,7 +23,9 @@ exports.WebhookQuery = {
23
23
  }
24
24
  }
25
25
  ${(0, graphql_1.print)(Webhook_1.WebhookFragmentNode)}
26
- `, { appId, webhookFilter })
26
+ `, { appId, webhookFilter }, {
27
+ additionalTypenames: ['Webhook'],
28
+ })
27
29
  .toPromise());
28
30
  return (_b = (_a = data.app) === null || _a === void 0 ? void 0 : _a.byId.webhooks) !== null && _b !== void 0 ? _b : [];
29
31
  },
@@ -39,7 +41,9 @@ exports.WebhookQuery = {
39
41
  }
40
42
  }
41
43
  ${(0, graphql_1.print)(Webhook_1.WebhookFragmentNode)}
42
- `, { webhookId })
44
+ `, { webhookId }, {
45
+ additionalTypenames: ['Webhook'],
46
+ })
43
47
  .toPromise());
44
48
  return data.webhook.byId;
45
49
  },
@@ -20,12 +20,7 @@ exports.BuildFragmentNode = (0, graphql_tag_1.default) `
20
20
  initiatingActor {
21
21
  __typename
22
22
  id
23
- ... on User {
24
- username
25
- }
26
- ... on Robot {
27
- firstName
28
- }
23
+ displayName
29
24
  }
30
25
  project {
31
26
  __typename
@@ -0,0 +1 @@
1
+ export declare const AppStoreConnectApiKeyFragmentNode: import("graphql").DocumentNode;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppStoreConnectApiKeyFragmentNode = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_1 = require("graphql");
6
+ const graphql_tag_1 = (0, tslib_1.__importDefault)(require("graphql-tag"));
7
+ const AppleTeam_1 = require("./AppleTeam");
8
+ exports.AppStoreConnectApiKeyFragmentNode = (0, graphql_tag_1.default) `
9
+ fragment AppStoreConnectApiKeyFragment on AppStoreConnectApiKey {
10
+ id
11
+ appleTeam {
12
+ id
13
+ ...AppleTeamFragment
14
+ }
15
+ issuerIdentifier
16
+ keyIdentifier
17
+ name
18
+ roles
19
+ createdAt
20
+ updatedAt
21
+ }
22
+ ${(0, graphql_1.print)(AppleTeam_1.AppleTeamFragmentNode)}
23
+ `;
@@ -4,6 +4,7 @@ exports.CommonIosAppCredentialsFragmentNode = exports.CommonIosAppCredentialsWit
4
4
  const tslib_1 = require("tslib");
5
5
  const graphql_tag_1 = (0, tslib_1.__importDefault)(require("graphql-tag"));
6
6
  const App_1 = require("../App");
7
+ const AppStoreConnectApiKey_1 = require("./AppStoreConnectApiKey");
7
8
  const AppleAppIdentifier_1 = require("./AppleAppIdentifier");
8
9
  const ApplePushKey_1 = require("./ApplePushKey");
9
10
  const AppleTeam_1 = require("./AppleTeam");
@@ -27,11 +28,16 @@ exports.CommonIosAppCredentialsWithoutBuildCredentialsFragmentNode = (0, graphql
27
28
  id
28
29
  ...ApplePushKeyFragment
29
30
  }
31
+ appStoreConnectApiKeyForSubmissions {
32
+ id
33
+ ...AppStoreConnectApiKeyFragment
34
+ }
30
35
  }
31
36
  ${App_1.AppFragmentNode}
32
37
  ${AppleTeam_1.AppleTeamFragmentNode}
33
38
  ${AppleAppIdentifier_1.AppleAppIdentifierFragmentNode}
34
39
  ${ApplePushKey_1.ApplePushKeyFragmentNode}
40
+ ${AppStoreConnectApiKey_1.AppStoreConnectApiKeyFragmentNode}
35
41
  `;
36
42
  exports.CommonIosAppCredentialsFragmentNode = (0, graphql_tag_1.default) `
37
43
  fragment CommonIosAppCredentialsFragment on IosAppCredentials {
package/build/log.d.ts CHANGED
@@ -11,8 +11,6 @@ export default class Log {
11
11
  static succeed(message: string): void;
12
12
  static withTick(...args: any[]): void;
13
13
  private static consoleLog;
14
- private static consoleWarn;
15
- private static consoleError;
16
14
  private static withTextColor;
17
15
  private static isLastLineNewLine;
18
16
  private static updateIsLastLineNewLine;
package/build/log.js CHANGED
@@ -20,10 +20,10 @@ class Log {
20
20
  }
21
21
  }
22
22
  static error(...args) {
23
- Log.consoleError(...Log.withTextColor(args, chalk_1.default.red));
23
+ Log.consoleLog(...Log.withTextColor(args, chalk_1.default.red));
24
24
  }
25
25
  static warn(...args) {
26
- Log.consoleWarn(...Log.withTextColor(args, chalk_1.default.yellow));
26
+ Log.consoleLog(...Log.withTextColor(args, chalk_1.default.yellow));
27
27
  }
28
28
  static debug(...args) {
29
29
  if (Log.isDebug) {
@@ -47,16 +47,6 @@ class Log {
47
47
  // eslint-disable-next-line no-console
48
48
  console.log(...args);
49
49
  }
50
- static consoleWarn(...args) {
51
- Log.updateIsLastLineNewLine(args);
52
- // eslint-disable-next-line no-console
53
- console.warn(...args);
54
- }
55
- static consoleError(...args) {
56
- Log.updateIsLastLineNewLine(args);
57
- // eslint-disable-next-line no-console
58
- console.error(...args);
59
- }
60
50
  static withTextColor(args, chalkColor) {
61
51
  return args.map(arg => chalkColor(arg));
62
52
  }
@@ -184,7 +184,7 @@ async function getBranchByNameAsync({ appId, name, }) {
184
184
  `, {
185
185
  appId,
186
186
  name,
187
- })
187
+ }, { additionalTypenames: ['UpdateBranch'] })
188
188
  .toPromise());
189
189
  return data.app.byId.updateBranchByName;
190
190
  }
@@ -13,7 +13,7 @@ const PublishMutation_1 = require("../graphql/mutations/PublishMutation");
13
13
  const PublishQuery_1 = require("../graphql/queries/PublishQuery");
14
14
  const log_1 = (0, tslib_1.__importDefault)(require("../log"));
15
15
  const uploads_1 = require("../uploads");
16
- const expoCommand_1 = require("../utils/expoCommand");
16
+ const expoCli_1 = require("../utils/expoCli");
17
17
  const uniqBy_1 = (0, tslib_1.__importDefault)(require("../utils/expodash/uniqBy"));
18
18
  exports.TIMEOUT_LIMIT = 60000; // 1 minute
19
19
  const fileMetadataJoi = joi_1.default.object({
@@ -108,7 +108,7 @@ async function buildBundlesAsync({ projectDir, inputDir, }) {
108
108
  throw new Error('Could not locate package.json');
109
109
  }
110
110
  log_1.default.withTick(`Building bundle with expo-cli...`);
111
- await (0, expoCommand_1.expoCommandAsync)(projectDir, ['export', '--output-dir', inputDir, '--experimental-bundle']);
111
+ await (0, expoCli_1.expoCommandAsync)(projectDir, ['export', '--output-dir', inputDir, '--experimental-bundle']);
112
112
  }
113
113
  exports.buildBundlesAsync = buildBundlesAsync;
114
114
  async function resolveInputDirectoryAsync(customInputDirectory) {
@@ -6,7 +6,7 @@ const config_plugins_1 = require("@expo/config-plugins");
6
6
  const eas_build_job_1 = require("@expo/eas-build-job");
7
7
  const fs_extra_1 = (0, tslib_1.__importDefault)(require("fs-extra"));
8
8
  const path_1 = (0, tslib_1.__importDefault)(require("path"));
9
- const vcs_1 = (0, tslib_1.__importDefault)(require("../vcs"));
9
+ const vcs_1 = require("../vcs");
10
10
  async function resolveWorkflowAsync(projectDir, platform) {
11
11
  let platformWorkflowMarker;
12
12
  try {
@@ -19,7 +19,7 @@ async function resolveWorkflowAsync(projectDir, platform) {
19
19
  return eas_build_job_1.Workflow.MANAGED;
20
20
  }
21
21
  if (await fs_extra_1.default.pathExists(platformWorkflowMarker)) {
22
- return (await vcs_1.default.isFileIgnoredAsync(path_1.default.relative(projectDir, platformWorkflowMarker)))
22
+ return (await (0, vcs_1.getVcsClient)().isFileIgnoredAsync(path_1.default.relative(projectDir, platformWorkflowMarker)))
23
23
  ? eas_build_job_1.Workflow.MANAGED
24
24
  : eas_build_job_1.Workflow.GENERIC;
25
25
  }
@@ -188,7 +188,7 @@ async function handleBuildListSourceAsync(source) {
188
188
  }
189
189
  }
190
190
  function formatBuildChoice(build, expiryDate) {
191
- const { id, platform, updatedAt, appVersion, sdkVersion, runtimeVersion, buildProfile, appBuildVersion, releaseChannel, } = build;
191
+ const { id, platform, updatedAt, appVersion, sdkVersion, runtimeVersion, buildProfile, appBuildVersion, releaseChannel, initiatingActor, } = build;
192
192
  const formatValue = (field) => field ? chalk_1.default.bold(field) : chalk_1.default.dim('Unknown');
193
193
  const buildDate = new Date(updatedAt);
194
194
  const maybeRuntimeVersion = runtimeVersion ? `Runtime: ${formatValue(runtimeVersion)}` : null;
@@ -204,6 +204,7 @@ function formatBuildChoice(build, expiryDate) {
204
204
  .filter(it => it != null)
205
205
  .join(', '),
206
206
  `\tProfile: ${formatValue(buildProfile)}, Release channel: ${formatValue(releaseChannel)}`,
207
+ `\tAuthored by: ${formatValue(initiatingActor === null || initiatingActor === void 0 ? void 0 : initiatingActor.displayName)}`,
207
208
  ].join('\n');
208
209
  return {
209
210
  title,
@@ -1,4 +1,5 @@
1
1
  import { Platform } from '@expo/eas-build-job';
2
+ import { Event } from '../analytics/events';
2
3
  import { AndroidSubmissionConfigInput, IosSubmissionConfigInput, SubmissionFragment } from '../graphql/generated';
3
4
  import { SubmissionContext } from './context';
4
5
  export interface SubmissionInput<P extends Platform> {
@@ -6,11 +7,26 @@ export interface SubmissionInput<P extends Platform> {
6
7
  submissionConfig: P extends Platform.ANDROID ? AndroidSubmissionConfigInput : IosSubmissionConfigInput;
7
8
  buildId?: string;
8
9
  }
9
- export default abstract class BaseSubmitter<P extends Platform, SubmissionOptions> {
10
+ interface AnalyticEvents {
11
+ attemptEvent: Event;
12
+ successEvent: Event;
13
+ failureEvent: Event;
14
+ }
15
+ export default abstract class BaseSubmitter<P extends Platform, ResolvedSourceOptions, SubmissionOptions> {
10
16
  protected ctx: SubmissionContext<P>;
11
17
  protected options: SubmissionOptions;
12
- constructor(ctx: SubmissionContext<P>, options: SubmissionOptions);
13
- abstract submitAsync(): Promise<SubmissionFragment>;
14
- protected createSubmissionAsync(submissionInput: SubmissionInput<P>): Promise<SubmissionFragment>;
18
+ protected sourceOptionResolver: {
19
+ [K in keyof ResolvedSourceOptions]: () => Promise<ResolvedSourceOptions[K]>;
20
+ };
21
+ protected sourceOptionAnalytics: Record<keyof ResolvedSourceOptions, AnalyticEvents>;
22
+ constructor(ctx: SubmissionContext<P>, options: SubmissionOptions, sourceOptionResolver: {
23
+ [K in keyof ResolvedSourceOptions]: () => Promise<ResolvedSourceOptions[K]>;
24
+ }, sourceOptionAnalytics: Record<keyof ResolvedSourceOptions, AnalyticEvents>);
25
+ private getSourceOptionsAsync;
26
+ submitAsync(): Promise<SubmissionFragment>;
27
+ abstract createSubmissionInputAsync(resolvedOptions: ResolvedSourceOptions): Promise<SubmissionInput<P>>;
28
+ private createSubmissionAsync;
29
+ private createSubmissionWithAnalyticsAsync;
15
30
  protected abstract createPlatformSubmissionAsync(input: SubmissionInput<P>): Promise<SubmissionFragment>;
16
31
  }
32
+ export {};
@@ -1,14 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
+ const common_1 = require("../analytics/common");
5
+ const events_1 = require("../analytics/events");
4
6
  const AppPlatform_1 = require("../graphql/types/AppPlatform");
5
7
  const log_1 = (0, tslib_1.__importDefault)(require("../log"));
6
8
  const ora_1 = require("../ora");
7
9
  const platform_1 = require("../platform");
8
10
  class BaseSubmitter {
9
- constructor(ctx, options) {
11
+ constructor(ctx, options, sourceOptionResolver, sourceOptionAnalytics) {
10
12
  this.ctx = ctx;
11
13
  this.options = options;
14
+ this.sourceOptionResolver = sourceOptionResolver;
15
+ this.sourceOptionAnalytics = sourceOptionAnalytics;
16
+ }
17
+ async getSourceOptionsAsync() {
18
+ const resolvedSourceOptions = {};
19
+ // Do not perform this in parallel as some of these require user interaction
20
+ for (const key in this.sourceOptionResolver) {
21
+ const sourceOptionKey = key;
22
+ const sourceOptionAnalytics = this.sourceOptionAnalytics[sourceOptionKey];
23
+ const sourceOption = await (0, common_1.withAnalyticsAsync)(async () => await this.sourceOptionResolver[sourceOptionKey](), {
24
+ attemptEvent: sourceOptionAnalytics.attemptEvent,
25
+ successEvent: sourceOptionAnalytics.successEvent,
26
+ failureEvent: sourceOptionAnalytics.failureEvent,
27
+ trackingCtx: this.ctx.trackingCtx,
28
+ });
29
+ resolvedSourceOptions[sourceOptionKey] = sourceOption;
30
+ }
31
+ return resolvedSourceOptions;
32
+ }
33
+ async submitAsync() {
34
+ const resolvedSourceOptions = await this.getSourceOptionsAsync();
35
+ const input = await this.createSubmissionInputAsync(resolvedSourceOptions);
36
+ return await this.createSubmissionWithAnalyticsAsync(input);
12
37
  }
13
38
  async createSubmissionAsync(submissionInput) {
14
39
  log_1.default.addNewLineIfNone();
@@ -24,5 +49,13 @@ class BaseSubmitter {
24
49
  throw err;
25
50
  }
26
51
  }
52
+ async createSubmissionWithAnalyticsAsync(submissionInput) {
53
+ return await (0, common_1.withAnalyticsAsync)(async () => this.createSubmissionAsync(submissionInput), {
54
+ attemptEvent: events_1.SubmissionEvent.SUBMIT_REQUEST_ATTEMPT,
55
+ successEvent: events_1.SubmissionEvent.SUBMIT_REQUEST_SUCCESS,
56
+ failureEvent: events_1.SubmissionEvent.SUBMIT_REQUEST_FAIL,
57
+ trackingCtx: this.ctx.trackingCtx,
58
+ });
59
+ }
27
60
  }
28
61
  exports.default = BaseSubmitter;
@@ -1,19 +1,25 @@
1
1
  import { Platform } from '@expo/eas-build-job';
2
2
  import { AndroidSubmissionConfigInput, SubmissionFragment } from '../../graphql/generated';
3
- import { ArchiveSource } from '../ArchiveSource';
3
+ import { Archive, ArchiveSource } from '../ArchiveSource';
4
4
  import BaseSubmitter, { SubmissionInput } from '../BaseSubmitter';
5
+ import { SubmissionContext } from '../context';
5
6
  import { AndroidPackageSource } from './AndroidPackageSource';
6
- import { ServiceAccountSource } from './ServiceAccountSource';
7
+ import { ServiceAccountKeyResult, ServiceAccountSource } from './ServiceAccountSource';
7
8
  export interface AndroidSubmissionOptions extends Pick<AndroidSubmissionConfigInput, 'track' | 'releaseStatus' | 'changesNotSentForReview'> {
8
9
  projectId: string;
9
10
  androidPackageSource: AndroidPackageSource;
10
11
  archiveSource: ArchiveSource;
11
12
  serviceAccountSource: ServiceAccountSource;
12
13
  }
13
- export default class AndroidSubmitter extends BaseSubmitter<Platform.ANDROID, AndroidSubmissionOptions> {
14
- submitAsync(): Promise<SubmissionFragment>;
14
+ interface ResolvedSourceOptions {
15
+ archive: Archive;
16
+ serviceAccountKeyResult: ServiceAccountKeyResult;
17
+ }
18
+ export default class AndroidSubmitter extends BaseSubmitter<Platform.ANDROID, ResolvedSourceOptions, AndroidSubmissionOptions> {
19
+ constructor(ctx: SubmissionContext<Platform.ANDROID>, options: AndroidSubmissionOptions);
20
+ createSubmissionInputAsync(resolvedSourceOptions: ResolvedSourceOptions): Promise<SubmissionInput<Platform.ANDROID>>;
15
21
  protected createPlatformSubmissionAsync({ projectId, submissionConfig, buildId, }: SubmissionInput<Platform.ANDROID>): Promise<SubmissionFragment>;
16
- private resolveSourceOptionsAsync;
17
- private formatSubmissionConfigAsync;
22
+ private formatSubmissionConfig;
18
23
  private prepareSummaryData;
19
24
  }
25
+ export {};
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
5
+ const events_1 = require("../../analytics/events");
5
6
  const SubmissionMutation_1 = require("../../graphql/mutations/SubmissionMutation");
6
7
  const formatFields_1 = (0, tslib_1.__importDefault)(require("../../utils/formatFields"));
7
8
  const ArchiveSource_1 = require("../ArchiveSource");
@@ -10,16 +11,39 @@ const summary_1 = require("../utils/summary");
10
11
  const AndroidPackageSource_1 = require("./AndroidPackageSource");
11
12
  const ServiceAccountSource_1 = require("./ServiceAccountSource");
12
13
  class AndroidSubmitter extends BaseSubmitter_1.default {
13
- async submitAsync() {
14
+ constructor(ctx, options) {
15
+ const sourceOptionsResolver = {
16
+ // eslint-disable-next-line async-protect/async-suffix
17
+ archive: async () => await (0, ArchiveSource_1.getArchiveAsync)(this.options.archiveSource),
18
+ // eslint-disable-next-line async-protect/async-suffix
19
+ serviceAccountKeyResult: async () => {
20
+ const androidPackage = await (0, AndroidPackageSource_1.getAndroidPackageAsync)(this.options.androidPackageSource);
21
+ return await (0, ServiceAccountSource_1.getServiceAccountKeyResultAsync)(this.ctx, this.options.serviceAccountSource, androidPackage);
22
+ },
23
+ };
24
+ const sourceOptionsAnalytics = {
25
+ archive: {
26
+ attemptEvent: events_1.SubmissionEvent.GATHER_ARCHIVE_ATTEMPT,
27
+ successEvent: events_1.SubmissionEvent.GATHER_ARCHIVE_SUCCESS,
28
+ failureEvent: events_1.SubmissionEvent.GATHER_ARCHIVE_FAIL,
29
+ },
30
+ serviceAccountKeyResult: {
31
+ attemptEvent: events_1.SubmissionEvent.GATHER_CREDENTIALS_ATTEMPT,
32
+ successEvent: events_1.SubmissionEvent.GATHER_CREDENTIALS_SUCCESS,
33
+ failureEvent: events_1.SubmissionEvent.GATHER_CREDENTIALS_FAIL,
34
+ },
35
+ };
36
+ super(ctx, options, sourceOptionsResolver, sourceOptionsAnalytics);
37
+ }
38
+ async createSubmissionInputAsync(resolvedSourceOptions) {
14
39
  var _a;
15
- const resolvedSourceOptions = await this.resolveSourceOptionsAsync();
16
- const submissionConfig = await this.formatSubmissionConfigAsync(this.options, resolvedSourceOptions);
40
+ const submissionConfig = await this.formatSubmissionConfig(this.options, resolvedSourceOptions);
17
41
  (0, summary_1.printSummary)(this.prepareSummaryData(this.options, resolvedSourceOptions), SummaryHumanReadableKeys);
18
- return await this.createSubmissionAsync({
42
+ return {
19
43
  projectId: this.options.projectId,
20
44
  submissionConfig,
21
45
  buildId: (_a = resolvedSourceOptions.archive.build) === null || _a === void 0 ? void 0 : _a.id,
22
- });
46
+ };
23
47
  }
24
48
  async createPlatformSubmissionAsync({ projectId, submissionConfig, buildId, }) {
25
49
  return await SubmissionMutation_1.SubmissionMutation.createAndroidSubmissionAsync({
@@ -28,20 +52,9 @@ class AndroidSubmitter extends BaseSubmitter_1.default {
28
52
  submittedBuildId: buildId,
29
53
  });
30
54
  }
31
- async resolveSourceOptionsAsync() {
32
- const androidPackage = await (0, AndroidPackageSource_1.getAndroidPackageAsync)(this.options.androidPackageSource);
33
- const archive = await (0, ArchiveSource_1.getArchiveAsync)(this.options.archiveSource);
34
- const serviceAccountKeyResult = await (0, ServiceAccountSource_1.getServiceAccountKeyResultAsync)(this.ctx, this.options.serviceAccountSource, androidPackage);
35
- return {
36
- androidPackage,
37
- archive,
38
- serviceAccountKeyResult,
39
- };
40
- }
41
- async formatSubmissionConfigAsync(options, { archive, androidPackage, serviceAccountKeyResult }) {
55
+ formatSubmissionConfig(options, { archive, serviceAccountKeyResult }) {
42
56
  const { track, releaseStatus, changesNotSentForReview } = options;
43
57
  return {
44
- applicationIdentifier: androidPackage,
45
58
  archiveUrl: archive.url,
46
59
  track,
47
60
  changesNotSentForReview,
@@ -49,12 +62,11 @@ class AndroidSubmitter extends BaseSubmitter_1.default {
49
62
  ...serviceAccountKeyResult.result,
50
63
  };
51
64
  }
52
- prepareSummaryData(options, { archive, androidPackage, serviceAccountKeyResult }) {
65
+ prepareSummaryData(options, { archive, serviceAccountKeyResult }) {
53
66
  const { projectId, track, releaseStatus, changesNotSentForReview } = options;
54
67
  // structuring order affects table rows order
55
68
  return {
56
69
  projectId,
57
- androidPackage,
58
70
  track,
59
71
  changesNotSentForReview: changesNotSentForReview !== null && changesNotSentForReview !== void 0 ? changesNotSentForReview : undefined,
60
72
  releaseStatus: releaseStatus !== null && releaseStatus !== void 0 ? releaseStatus : undefined,
@@ -65,7 +77,6 @@ class AndroidSubmitter extends BaseSubmitter_1.default {
65
77
  }
66
78
  exports.default = AndroidSubmitter;
67
79
  const SummaryHumanReadableKeys = {
68
- androidPackage: 'Android package',
69
80
  archivePath: 'Archive path',
70
81
  archiveUrl: 'Download URL',
71
82
  changesNotSentForReview: 'Changes not sent for a review',
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
5
5
  const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
6
6
  const fs_extra_1 = (0, tslib_1.__importDefault)(require("fs-extra"));
7
7
  const nullthrows_1 = (0, tslib_1.__importDefault)(require("nullthrows"));
8
- const SetupGoogleServiceAccountKey_1 = require("../../credentials/android/actions/SetupGoogleServiceAccountKey");
8
+ const SetUpGoogleServiceAccountKey_1 = require("../../credentials/android/actions/SetUpGoogleServiceAccountKey");
9
9
  const googleServiceAccountKey_1 = require("../../credentials/android/utils/googleServiceAccountKey");
10
10
  const log_1 = (0, tslib_1.__importStar)(require("../../log"));
11
11
  const prompts_1 = require("../../prompts");
@@ -56,7 +56,7 @@ async function getServiceAccountFromCredentialsServiceAsync(ctx, androidApplicat
56
56
  projectName: ctx.projectName,
57
57
  androidApplicationIdentifier,
58
58
  };
59
- const setupGoogleServiceAccountKeyAction = new SetupGoogleServiceAccountKey_1.SetupGoogleServiceAccountKey(appLookupParams);
59
+ const setupGoogleServiceAccountKeyAction = new SetUpGoogleServiceAccountKey_1.SetUpGoogleServiceAccountKey(appLookupParams);
60
60
  const androidAppCredentials = await setupGoogleServiceAccountKeyAction.runAsync(ctx.credentialsCtx);
61
61
  const googleServiceAccountKey = (0, nullthrows_1.default)(androidAppCredentials.googleServiceAccountKeyForSubmissions, 'Credentials Service must provide a valid GoogleServiceAccountKey');
62
62
  return {
@@ -1,12 +1,14 @@
1
1
  import { ExpoConfig } from '@expo/config';
2
2
  import { Platform } from '@expo/eas-build-job';
3
3
  import { SubmitProfile } from '@expo/eas-json';
4
+ import { TrackingContext } from '../analytics/common';
4
5
  import { CredentialsContext } from '../credentials/context';
5
6
  import { Actor } from '../user/User';
6
7
  export interface SubmissionContext<T extends Platform> {
7
8
  accountName: string;
8
9
  archiveFlags: SubmitArchiveFlags;
9
10
  credentialsCtx: CredentialsContext;
11
+ trackingCtx: TrackingContext;
10
12
  exp: ExpoConfig;
11
13
  nonInteractive: boolean;
12
14
  platform: T;