eas-cli 10.2.4 → 11.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 (204) hide show
  1. package/README.md +63 -65
  2. package/build/branch/actions/SelectBranch.d.ts +1 -1
  3. package/build/branch/actions/SelectBranch.js +2 -2
  4. package/build/branch/queries.js +3 -1
  5. package/build/build/android/build.js +1 -1
  6. package/build/build/android/version.js +1 -1
  7. package/build/build/build.js +21 -10
  8. package/build/build/context.d.ts +1 -0
  9. package/build/build/createContext.d.ts +2 -1
  10. package/build/build/createContext.js +6 -3
  11. package/build/build/evaluateConfigWithEnvVarsAsync.d.ts +16 -0
  12. package/build/build/evaluateConfigWithEnvVarsAsync.js +44 -0
  13. package/build/build/ios/build.js +4 -4
  14. package/build/build/local.d.ts +1 -1
  15. package/build/build/local.js +2 -1
  16. package/build/build/queries.js +3 -1
  17. package/build/build/runBuildAndSubmit.d.ts +2 -0
  18. package/build/build/runBuildAndSubmit.js +14 -7
  19. package/build/build/utils/printBuildInfo.js +6 -2
  20. package/build/build/validate.js +2 -2
  21. package/build/channel/actions/SelectChannel.d.ts +1 -1
  22. package/build/channel/actions/SelectChannel.js +2 -2
  23. package/build/channel/queries.js +6 -2
  24. package/build/commandUtils/EasCommand.js +2 -2
  25. package/build/commandUtils/context/contextUtils/createGraphqlClient.js +1 -1
  26. package/build/commandUtils/flags.d.ts +3 -0
  27. package/build/commandUtils/flags.js +15 -1
  28. package/build/commandUtils/gating/FeatureGating.js +6 -2
  29. package/build/commands/analytics.js +1 -1
  30. package/build/commands/build/index.d.ts +4 -1
  31. package/build/commands/build/index.js +3 -0
  32. package/build/commands/build/resign.d.ts +4 -1
  33. package/build/commands/build/resign.js +12 -3
  34. package/build/commands/build/version/get.d.ts +1 -0
  35. package/build/commands/build/version/get.js +9 -2
  36. package/build/commands/build/version/set.d.ts +1 -0
  37. package/build/commands/build/version/set.js +11 -1
  38. package/build/commands/build/version/sync.d.ts +1 -0
  39. package/build/commands/build/version/sync.js +13 -5
  40. package/build/commands/config.d.ts +2 -0
  41. package/build/commands/config.js +10 -3
  42. package/build/commands/device/delete.js +1 -1
  43. package/build/commands/device/rename.js +1 -1
  44. package/build/commands/env/create.js +7 -2
  45. package/build/commands/env/delete.js +5 -2
  46. package/build/commands/env/get.js +12 -4
  47. package/build/commands/env/link.js +3 -1
  48. package/build/commands/env/list.d.ts +4 -2
  49. package/build/commands/env/list.js +31 -4
  50. package/build/commands/env/pull.d.ts +15 -0
  51. package/build/commands/env/pull.js +64 -0
  52. package/build/commands/env/push.d.ts +17 -0
  53. package/build/commands/env/push.js +148 -0
  54. package/build/commands/env/unlink.js +4 -1
  55. package/build/commands/env/update.js +7 -2
  56. package/build/commands/metadata/lint.js +4 -2
  57. package/build/commands/project/onboarding.js +1 -1
  58. package/build/commands/update/edit.d.ts +19 -0
  59. package/build/commands/update/edit.js +102 -0
  60. package/build/commands/update/index.d.ts +1 -2
  61. package/build/commands/update/index.js +53 -25
  62. package/build/commands/update/list.js +6 -3
  63. package/build/commands/update/roll-back-to-embedded.js +1 -1
  64. package/build/credentials/android/AndroidCredentialsProvider.d.ts +2 -2
  65. package/build/credentials/android/actions/AssignFcm.d.ts +1 -1
  66. package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForFcmV1.d.ts +1 -1
  67. package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForSubmissions.d.ts +1 -1
  68. package/build/credentials/android/actions/CreateFcm.d.ts +1 -1
  69. package/build/credentials/android/actions/CreateGoogleServiceAccountKey.d.ts +1 -1
  70. package/build/credentials/android/actions/CreateKeystore.d.ts +1 -1
  71. package/build/credentials/android/actions/DownloadKeystore.d.ts +2 -2
  72. package/build/credentials/android/actions/RemoveFcm.d.ts +1 -1
  73. package/build/credentials/android/actions/RemoveGoogleServiceAccountKey.d.ts +2 -2
  74. package/build/credentials/android/actions/RemoveKeystore.d.ts +1 -1
  75. package/build/credentials/android/actions/SetUpBuildCredentials.d.ts +1 -1
  76. package/build/credentials/android/actions/SetUpBuildCredentialsFromCredentialsJson.d.ts +1 -1
  77. package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForFcmV1.d.ts +1 -1
  78. package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForSubmissions.d.ts +1 -1
  79. package/build/credentials/android/actions/UseExistingGoogleServiceAccountKey.d.ts +1 -1
  80. package/build/credentials/android/api/GraphqlClient.js +3 -3
  81. package/build/credentials/context.d.ts +2 -2
  82. package/build/credentials/context.js +1 -1
  83. package/build/credentials/ios/IosCredentialsProvider.d.ts +2 -2
  84. package/build/credentials/ios/IosCredentialsProvider.js +1 -1
  85. package/build/credentials/ios/actions/AscApiKeyUtils.js +1 -1
  86. package/build/credentials/ios/actions/AssignAscApiKey.d.ts +1 -1
  87. package/build/credentials/ios/actions/AssignPushKey.d.ts +1 -1
  88. package/build/credentials/ios/actions/ConfigureProvisioningProfile.d.ts +4 -4
  89. package/build/credentials/ios/actions/CreateAscApiKey.d.ts +1 -1
  90. package/build/credentials/ios/actions/CreateDistributionCertificate.d.ts +1 -1
  91. package/build/credentials/ios/actions/CreateProvisioningProfile.d.ts +3 -3
  92. package/build/credentials/ios/actions/CreatePushKey.d.ts +1 -1
  93. package/build/credentials/ios/actions/DistributionCertificateUtils.js +5 -5
  94. package/build/credentials/ios/actions/ProvisioningProfileUtils.js +1 -1
  95. package/build/credentials/ios/actions/PushKeyUtils.js +2 -2
  96. package/build/credentials/ios/actions/RemoveAscApiKey.d.ts +2 -2
  97. package/build/credentials/ios/actions/RemoveDistributionCertificate.d.ts +3 -3
  98. package/build/credentials/ios/actions/RemoveProvisioningProfile.d.ts +2 -2
  99. package/build/credentials/ios/actions/RemovePushKey.d.ts +2 -2
  100. package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.d.ts +1 -1
  101. package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +1 -1
  102. package/build/credentials/ios/actions/SetUpAscApiKey.d.ts +2 -2
  103. package/build/credentials/ios/actions/SetUpBuildCredentials.d.ts +1 -1
  104. package/build/credentials/ios/actions/SetUpBuildCredentialsFromCredentialsJson.d.ts +3 -3
  105. package/build/credentials/ios/actions/SetUpDistributionCertificate.d.ts +2 -2
  106. package/build/credentials/ios/actions/SetUpDistributionCertificate.js +1 -1
  107. package/build/credentials/ios/actions/SetUpInternalProvisioningProfile.d.ts +1 -1
  108. package/build/credentials/ios/actions/SetUpProvisioningProfile.d.ts +3 -3
  109. package/build/credentials/ios/actions/SetUpProvisioningProfile.js +1 -1
  110. package/build/credentials/ios/actions/SetUpPushKey.d.ts +1 -1
  111. package/build/credentials/ios/actions/SetUpTargetBuildCredentials.d.ts +1 -1
  112. package/build/credentials/ios/actions/SetUpTargetBuildCredentialsFromCredentialsJson.d.ts +3 -3
  113. package/build/credentials/ios/actions/UpdateCredentialsJson.d.ts +3 -3
  114. package/build/credentials/ios/api/GraphqlClient.js +4 -4
  115. package/build/credentials/ios/appstore/AppStoreApi.js +4 -4
  116. package/build/credentials/ios/appstore/authenticate.js +1 -1
  117. package/build/credentials/ios/appstore/bundleId.js +1 -1
  118. package/build/credentials/ios/appstore/bundleIdCapabilities.js +1 -1
  119. package/build/credentials/ios/appstore/ensureAppExists.js +1 -1
  120. package/build/credentials/ios/appstore/keychain.js +8 -6
  121. package/build/credentials/ios/appstore/provisioningProfile.js +1 -1
  122. package/build/credentials/ios/appstore/pushKey.js +1 -1
  123. package/build/credentials/ios/appstore/resolveCredentials.js +2 -2
  124. package/build/credentials/ios/credentials.js +1 -1
  125. package/build/credentials/ios/utils/convertHTMLToASCII.js +1 -1
  126. package/build/credentials/ios/validators/validateProvisioningProfile.js +2 -4
  127. package/build/credentials/manager/CheckBuildProfileFlagAgainstEasJson.d.ts +3 -3
  128. package/build/credentials/manager/CreateAndroidBuildCredentials.d.ts +1 -1
  129. package/build/credentials/manager/ManageAndroid.js +2 -1
  130. package/build/credentials/manager/ManageIos.js +3 -2
  131. package/build/credentials/manager/SelectAndroidBuildCredentials.d.ts +2 -2
  132. package/build/credentials/manager/SelectBuildProfileFromEasJson.d.ts +2 -2
  133. package/build/credentials/manager/SelectIosDistributionTypeGraphqlFromBuildProfile.d.ts +1 -1
  134. package/build/credentials/manager/SelectIosDistributionTypeGraphqlFromBuildProfile.js +1 -1
  135. package/build/credentials/manager/SelectPlatform.js +3 -2
  136. package/build/credentials/manager/SetDefaultAndroidKeystore.d.ts +1 -1
  137. package/build/credentials/manager/SetUpAndroidBuildCredentials.d.ts +1 -1
  138. package/build/credentials/manager/SetUpBuildCredentialsCommandAction.js +3 -2
  139. package/build/credentials/manager/SetUpIosBuildCredentials.d.ts +1 -1
  140. package/build/devices/actions/create/action.d.ts +4 -4
  141. package/build/devices/actions/create/registrationUrlMethod.js +3 -1
  142. package/build/devices/manager.d.ts +4 -4
  143. package/build/devices/queries.js +3 -1
  144. package/build/easMultiselect.js +6 -2
  145. package/build/graphql/generated.d.ts +342 -33
  146. package/build/graphql/generated.js +52 -2
  147. package/build/graphql/mutations/EnvironmentVariableMutation.d.ts +1 -0
  148. package/build/graphql/mutations/EnvironmentVariableMutation.js +20 -0
  149. package/build/graphql/mutations/PublishMutation.d.ts +1 -0
  150. package/build/graphql/mutations/PublishMutation.js +16 -0
  151. package/build/graphql/queries/BranchQuery.d.ts +7 -1
  152. package/build/graphql/queries/BranchQuery.js +42 -0
  153. package/build/graphql/queries/EnvironmentVariablesQuery.d.ts +16 -7
  154. package/build/graphql/queries/EnvironmentVariablesQuery.js +29 -6
  155. package/build/graphql/types/Update.js +4 -0
  156. package/build/metadata/apple/config/reader.js +1 -1
  157. package/build/metadata/apple/tasks/age-rating.js +1 -1
  158. package/build/metadata/apple/tasks/app-review-detail.js +2 -1
  159. package/build/metadata/apple/tasks/app-version.d.ts +1 -1
  160. package/build/metadata/config/resolve.js +2 -1
  161. package/build/metadata/errors.js +2 -1
  162. package/build/metadata/utils/log.js +1 -1
  163. package/build/metadata/utils/retry.js +1 -1
  164. package/build/onboarding/runCommand.js +1 -1
  165. package/build/ora.js +12 -4
  166. package/build/project/android/applicationId.js +1 -1
  167. package/build/project/applicationIdentifier.d.ts +3 -2
  168. package/build/project/applicationIdentifier.js +2 -2
  169. package/build/project/expoConfig.js +2 -2
  170. package/build/project/ios/entitlements.js +1 -1
  171. package/build/project/publish.d.ts +31 -18
  172. package/build/project/publish.js +61 -37
  173. package/build/project/resolveRuntimeVersionAsync.d.ts +4 -1
  174. package/build/project/resolveRuntimeVersionAsync.js +9 -3
  175. package/build/rollout/actions/CreateRollout.d.ts +2 -2
  176. package/build/rollout/actions/EditRollout.d.ts +2 -2
  177. package/build/rollout/actions/EndRollout.d.ts +2 -2
  178. package/build/rollout/actions/ManageRollout.d.ts +2 -2
  179. package/build/rollout/actions/NonInteractiveRollout.d.ts +1 -1
  180. package/build/rollout/actions/RolloutMainMenu.d.ts +1 -1
  181. package/build/rollout/actions/SelectRuntime.d.ts +3 -3
  182. package/build/run/android/adb.js +1 -1
  183. package/build/run/ios/simctl.js +1 -1
  184. package/build/run/ios/systemRequirements.js +1 -1
  185. package/build/submit/ArchiveSource.js +15 -15
  186. package/build/submit/BaseSubmitter.js +2 -2
  187. package/build/submit/submit.js +1 -1
  188. package/build/update/android/UpdatesModule.js +1 -1
  189. package/build/update/configure.d.ts +1 -1
  190. package/build/update/queries.js +8 -3
  191. package/build/update/republish.js +2 -1
  192. package/build/update/utils.d.ts +1 -0
  193. package/build/update/utils.js +7 -0
  194. package/build/user/expoSsoLauncher.js +1 -1
  195. package/build/utils/download.js +2 -2
  196. package/build/utils/filterAsync.js +1 -1
  197. package/build/utils/image.js +2 -2
  198. package/build/utils/progress.js +1 -1
  199. package/build/utils/promise.js +1 -1
  200. package/build/utils/queries.js +2 -2
  201. package/build/vcs/clients/git.d.ts +1 -1
  202. package/build/vcs/local.d.ts +1 -1
  203. package/oclif.manifest.json +218 -22
  204. package/package.json +14 -14
@@ -6,8 +6,8 @@
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.GitHubBuildTriggerType = exports.GitHubBuildTriggerRunStatus = exports.GitHubAppInstallationStatus = exports.GitHubAppEnvironment = exports.FingerprintSourceType = exports.Feature = exports.Experiment = exports.EnvironmentVariableVisibility = exports.EnvironmentVariableScope = exports.EnvironmentVariableEnvironment = exports.EnvironmentSecretType = exports.EasTotalPlanEnablementUnit = exports.EasServiceMetric = exports.EasService = exports.EasBuildWaiverType = exports.EasBuildDeprecationInfoType = exports.EasBuildBillingResourceClass = exports.DistributionType = exports.CustomDomainStatus = exports.CustomDomainDnsRecordType = exports.BuildWorkflow = exports.BuildTrigger = exports.BuildStatus = exports.BuildRetryDisabledReason = exports.BuildResourceClass = exports.BuildPriority = exports.BuildPhase = exports.BuildMode = exports.BuildLimitThresholdExceededMetadataType = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.BackgroundJobState = exports.BackgroundJobResultType = exports.AuthProviderIdentifier = exports.AuthProtocolType = exports.AuditLogsExportFormat = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleTeamType = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AppInternalDistributionBuildPrivacy = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = exports.AccountAppsSortByField = void 0;
10
- exports.WorkerLoggerLevel = exports.WorkerDeploymentLogLevel = exports.WebhookType = exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.TargetEntityMutationType = exports.SubmissionStatus = exports.SubmissionArchiveSourceType = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StatuspageServiceStatus = exports.StatuspageServiceName = exports.StatuspageIncidentStatus = exports.StatuspageIncidentImpact = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = exports.ResourceClassExperiment = exports.ProjectArchiveSourceType = exports.Permission = exports.Order = exports.OnboardingEnvironment = exports.OnboardingDeviceType = exports.OfferType = exports.NotificationType = exports.NotificationEvent = exports.MailchimpTag = exports.MailchimpAudience = exports.JobRunStatus = exports.JobRunPriority = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.InsightsFilterType = exports.GitHubJobRunTriggerType = exports.GitHubJobRunTriggerRunStatus = exports.GitHubJobRunJobType = void 0;
9
+ exports.GitHubAppInstallationStatus = exports.GitHubAppEnvironment = exports.FingerprintSourceType = exports.Feature = exports.Experiment = exports.EnvironmentVariableVisibility = exports.EnvironmentVariableScope = exports.EnvironmentVariableEnvironment = exports.EnvironmentSecretType = exports.EntityTypeName = exports.EasTotalPlanEnablementUnit = exports.EasServiceMetric = exports.EasService = exports.EasBuildWaiverType = exports.EasBuildDeprecationInfoType = exports.EasBuildBillingResourceClass = exports.DistributionType = exports.CustomDomainStatus = exports.CustomDomainDnsRecordType = exports.ContinentCode = exports.BuildWorkflow = exports.BuildTrigger = exports.BuildStatus = exports.BuildRetryDisabledReason = exports.BuildResourceClass = exports.BuildPriority = exports.BuildPhase = exports.BuildMode = exports.BuildLimitThresholdExceededMetadataType = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.BackgroundJobState = exports.BackgroundJobResultType = exports.AuthProviderIdentifier = exports.AuthProtocolType = exports.AuditLogsExportFormat = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleTeamType = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AppInternalDistributionBuildPrivacy = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = exports.AccountAppsSortByField = void 0;
10
+ exports.WorkerLoggerLevel = exports.WorkerDeploymentLogLevel = exports.WebhookType = exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.TargetEntityMutationType = exports.SubmissionStatus = exports.SubmissionPriority = exports.SubmissionArchiveSourceType = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StatuspageServiceStatus = exports.StatuspageServiceName = exports.StatuspageIncidentStatus = exports.StatuspageIncidentImpact = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = exports.ResourceClassExperiment = exports.RequestStatusPattern = exports.ProjectArchiveSourceType = exports.Permission = exports.Order = exports.OnboardingEnvironment = exports.OnboardingDeviceType = exports.OfferType = exports.NotificationType = exports.NotificationEvent = exports.MailchimpTag = exports.MailchimpAudience = exports.JobRunStatus = exports.JobRunPriority = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.InsightsFilterType = exports.GitHubJobRunTriggerType = exports.GitHubJobRunTriggerRunStatus = exports.GitHubJobRunJobType = exports.GitHubBuildTriggerType = exports.GitHubBuildTriggerRunStatus = exports.GitHubBuildTriggerExecutionBehavior = void 0;
11
11
  var AccountAppsSortByField;
12
12
  (function (AccountAppsSortByField) {
13
13
  AccountAppsSortByField["LatestActivityTime"] = "LATEST_ACTIVITY_TIME";
@@ -260,6 +260,17 @@ var BuildWorkflow;
260
260
  BuildWorkflow["Managed"] = "MANAGED";
261
261
  BuildWorkflow["Unknown"] = "UNKNOWN";
262
262
  })(BuildWorkflow || (exports.BuildWorkflow = BuildWorkflow = {}));
263
+ var ContinentCode;
264
+ (function (ContinentCode) {
265
+ ContinentCode["Af"] = "AF";
266
+ ContinentCode["An"] = "AN";
267
+ ContinentCode["As"] = "AS";
268
+ ContinentCode["Eu"] = "EU";
269
+ ContinentCode["Na"] = "NA";
270
+ ContinentCode["Oc"] = "OC";
271
+ ContinentCode["Sa"] = "SA";
272
+ ContinentCode["T1"] = "T1";
273
+ })(ContinentCode || (exports.ContinentCode = ContinentCode = {}));
263
274
  var CustomDomainDnsRecordType;
264
275
  (function (CustomDomainDnsRecordType) {
265
276
  CustomDomainDnsRecordType["Cname"] = "CNAME";
@@ -326,6 +337,28 @@ var EasTotalPlanEnablementUnit;
326
337
  EasTotalPlanEnablementUnit["Updater"] = "UPDATER";
327
338
  EasTotalPlanEnablementUnit["User"] = "USER";
328
339
  })(EasTotalPlanEnablementUnit || (exports.EasTotalPlanEnablementUnit = EasTotalPlanEnablementUnit = {}));
340
+ var EntityTypeName;
341
+ (function (EntityTypeName) {
342
+ EntityTypeName["Account"] = "Account";
343
+ EntityTypeName["AccountSsoConfiguration"] = "AccountSSOConfiguration";
344
+ EntityTypeName["AndroidAppCredentials"] = "AndroidAppCredentials";
345
+ EntityTypeName["AndroidKeystore"] = "AndroidKeystore";
346
+ EntityTypeName["App"] = "App";
347
+ EntityTypeName["AppStoreConnectApiKey"] = "AppStoreConnectApiKey";
348
+ EntityTypeName["AppleDevice"] = "AppleDevice";
349
+ EntityTypeName["AppleDistributionCertificate"] = "AppleDistributionCertificate";
350
+ EntityTypeName["AppleProvisioningProfile"] = "AppleProvisioningProfile";
351
+ EntityTypeName["AppleTeam"] = "AppleTeam";
352
+ EntityTypeName["Branch"] = "Branch";
353
+ EntityTypeName["Channel"] = "Channel";
354
+ EntityTypeName["Customer"] = "Customer";
355
+ EntityTypeName["GoogleServiceAccountKey"] = "GoogleServiceAccountKey";
356
+ EntityTypeName["IosAppCredentials"] = "IosAppCredentials";
357
+ EntityTypeName["TurtleBuild"] = "TurtleBuild";
358
+ EntityTypeName["Update"] = "Update";
359
+ EntityTypeName["UserInvitation"] = "UserInvitation";
360
+ EntityTypeName["UserPermission"] = "UserPermission";
361
+ })(EntityTypeName || (exports.EntityTypeName = EntityTypeName = {}));
329
362
  var EnvironmentSecretType;
330
363
  (function (EnvironmentSecretType) {
331
364
  EnvironmentSecretType["FileBase64"] = "FILE_BASE64";
@@ -379,6 +412,11 @@ var GitHubAppInstallationStatus;
379
412
  GitHubAppInstallationStatus["NotInstalled"] = "NOT_INSTALLED";
380
413
  GitHubAppInstallationStatus["Suspended"] = "SUSPENDED";
381
414
  })(GitHubAppInstallationStatus || (exports.GitHubAppInstallationStatus = GitHubAppInstallationStatus = {}));
415
+ var GitHubBuildTriggerExecutionBehavior;
416
+ (function (GitHubBuildTriggerExecutionBehavior) {
417
+ GitHubBuildTriggerExecutionBehavior["Always"] = "ALWAYS";
418
+ GitHubBuildTriggerExecutionBehavior["BaseDirectoryChanged"] = "BASE_DIRECTORY_CHANGED";
419
+ })(GitHubBuildTriggerExecutionBehavior || (exports.GitHubBuildTriggerExecutionBehavior = GitHubBuildTriggerExecutionBehavior = {}));
382
420
  var GitHubBuildTriggerRunStatus;
383
421
  (function (GitHubBuildTriggerRunStatus) {
384
422
  GitHubBuildTriggerRunStatus["Errored"] = "ERRORED";
@@ -518,6 +556,13 @@ var ProjectArchiveSourceType;
518
556
  ProjectArchiveSourceType["S3"] = "S3";
519
557
  ProjectArchiveSourceType["Url"] = "URL";
520
558
  })(ProjectArchiveSourceType || (exports.ProjectArchiveSourceType = ProjectArchiveSourceType = {}));
559
+ var RequestStatusPattern;
560
+ (function (RequestStatusPattern) {
561
+ RequestStatusPattern["Http_2Xx"] = "HTTP_2XX";
562
+ RequestStatusPattern["Http_3Xx"] = "HTTP_3XX";
563
+ RequestStatusPattern["Http_4Xx"] = "HTTP_4XX";
564
+ RequestStatusPattern["Http_5Xx"] = "HTTP_5XX";
565
+ })(RequestStatusPattern || (exports.RequestStatusPattern = RequestStatusPattern = {}));
521
566
  var ResourceClassExperiment;
522
567
  (function (ResourceClassExperiment) {
523
568
  ResourceClassExperiment["C3D"] = "C3D";
@@ -614,6 +659,11 @@ var SubmissionArchiveSourceType;
614
659
  SubmissionArchiveSourceType["GcsSubmitArchive"] = "GCS_SUBMIT_ARCHIVE";
615
660
  SubmissionArchiveSourceType["Url"] = "URL";
616
661
  })(SubmissionArchiveSourceType || (exports.SubmissionArchiveSourceType = SubmissionArchiveSourceType = {}));
662
+ var SubmissionPriority;
663
+ (function (SubmissionPriority) {
664
+ SubmissionPriority["High"] = "HIGH";
665
+ SubmissionPriority["Normal"] = "NORMAL";
666
+ })(SubmissionPriority || (exports.SubmissionPriority = SubmissionPriority = {}));
617
667
  var SubmissionStatus;
618
668
  (function (SubmissionStatus) {
619
669
  SubmissionStatus["AwaitingBuild"] = "AWAITING_BUILD";
@@ -34,5 +34,6 @@ export declare const EnvironmentVariableMutation: {
34
34
  deleteAsync(graphqlClient: ExpoGraphqlClient, id: string): Promise<{
35
35
  id: string;
36
36
  }>;
37
+ createBulkEnvironmentVariablesForAppAsync(graphqlClient: ExpoGraphqlClient, input: EnvironmentVariablePushInput[], appId: string): Promise<boolean>;
37
38
  };
38
39
  export {};
@@ -110,4 +110,24 @@ exports.EnvironmentVariableMutation = {
110
110
  .toPromise());
111
111
  return data.environmentVariable.deleteEnvironmentVariable;
112
112
  },
113
+ async createBulkEnvironmentVariablesForAppAsync(graphqlClient, input, appId) {
114
+ await (0, client_1.withErrorHandlingAsync)(graphqlClient
115
+ .mutation((0, graphql_tag_1.default) `
116
+ mutation CreateBulkEnvironmentVariablesForApp(
117
+ $input: [CreateEnvironmentVariableInput!]!
118
+ $appId: ID!
119
+ ) {
120
+ environmentVariable {
121
+ createBulkEnvironmentVariablesForApp(
122
+ environmentVariablesData: $input
123
+ appId: $appId
124
+ ) {
125
+ id
126
+ }
127
+ }
128
+ }
129
+ `, { input, appId })
130
+ .toPromise());
131
+ return true;
132
+ },
113
133
  };
@@ -4,4 +4,5 @@ export declare const PublishMutation: {
4
4
  getUploadURLsAsync(graphqlClient: ExpoGraphqlClient, contentTypes: string[]): Promise<GetSignedUploadMutation['asset']['getSignedAssetUploadSpecifications']>;
5
5
  publishUpdateGroupAsync(graphqlClient: ExpoGraphqlClient, publishUpdateGroupsInput: PublishUpdateGroupInput[]): Promise<UpdateFragment[]>;
6
6
  setCodeSigningInfoAsync(graphqlClient: ExpoGraphqlClient, updateId: string, codeSigningInfo: CodeSigningInfoInput): Promise<SetCodeSigningInfoMutation['update']['setCodeSigningInfo']>;
7
+ setRolloutPercentageAsync(graphqlClient: ExpoGraphqlClient, updateId: string, rolloutPercentage: number): Promise<UpdateFragment>;
7
8
  };
@@ -69,4 +69,20 @@ exports.PublishMutation = {
69
69
  .toPromise());
70
70
  return data.update.setCodeSigningInfo;
71
71
  },
72
+ async setRolloutPercentageAsync(graphqlClient, updateId, rolloutPercentage) {
73
+ const data = await (0, client_1.withErrorHandlingAsync)(graphqlClient
74
+ .mutation((0, graphql_tag_1.default) `
75
+ mutation SetRolloutPercentageMutation($updateId: ID!, $rolloutPercentage: Int!) {
76
+ update {
77
+ setRolloutPercentage(updateId: $updateId, percentage: $rolloutPercentage) {
78
+ id
79
+ ...UpdateFragment
80
+ }
81
+ }
82
+ }
83
+ ${(0, graphql_1.print)(Update_1.UpdateFragmentNode)}
84
+ `, { updateId, rolloutPercentage }, { additionalTypenames: ['Update'] })
85
+ .toPromise());
86
+ return data.update.setRolloutPercentage;
87
+ },
72
88
  };
@@ -1,8 +1,14 @@
1
1
  import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
2
- import { BranchesBasicPaginatedOnAppQuery, BranchesBasicPaginatedOnAppQueryVariables, BranchesByAppQueryVariables, UpdateBranchBasicInfoFragment, UpdateBranchFragment, ViewBranchQueryVariables, ViewBranchesOnUpdateChannelQuery, ViewBranchesOnUpdateChannelQueryVariables } from '../generated';
2
+ import { AppPlatform, BranchesBasicPaginatedOnAppQuery, BranchesBasicPaginatedOnAppQueryVariables, BranchesByAppQueryVariables, UpdateBranchBasicInfoFragment, UpdateBranchFragment, ViewBranchQueryVariables, ViewBranchesOnUpdateChannelQuery, ViewBranchesOnUpdateChannelQueryVariables } from '../generated';
3
3
  export type UpdateBranchOnChannelObject = NonNullable<ViewBranchesOnUpdateChannelQuery['app']['byId']['updateChannelByName']>['updateBranches'][number];
4
4
  export declare const BranchQuery: {
5
5
  getBranchByNameAsync(graphqlClient: ExpoGraphqlClient, { appId, name }: ViewBranchQueryVariables): Promise<UpdateBranchBasicInfoFragment>;
6
+ getLatestUpdateIdOnBranchAsync(graphqlClient: ExpoGraphqlClient, { appId, branchName, platform, runtimeVersion, }: {
7
+ appId: string;
8
+ branchName: string;
9
+ platform: AppPlatform;
10
+ runtimeVersion: string;
11
+ }): Promise<string | null>;
6
12
  listBranchesOnAppAsync(graphqlClient: ExpoGraphqlClient, { appId, limit, offset }: BranchesByAppQueryVariables): Promise<UpdateBranchFragment[]>;
7
13
  listBranchesBasicInfoPaginatedOnAppAsync(graphqlClient: ExpoGraphqlClient, { appId, first, after, last, before }: BranchesBasicPaginatedOnAppQueryVariables): Promise<BranchesBasicPaginatedOnAppQuery['app']['byId']['branchesPaginated']>;
8
14
  listBranchesOnChannelAsync(graphqlClient: ExpoGraphqlClient, { appId, channelName, offset, limit }: ViewBranchesOnUpdateChannelQueryVariables): Promise<UpdateBranchOnChannelObject[]>;
@@ -36,6 +36,48 @@ exports.BranchQuery = {
36
36
  }
37
37
  return updateBranchByName;
38
38
  },
39
+ async getLatestUpdateIdOnBranchAsync(graphqlClient, { appId, branchName, platform, runtimeVersion, }) {
40
+ const response = await (0, client_1.withErrorHandlingAsync)(graphqlClient
41
+ .query((0, graphql_tag_1.default) `
42
+ query ViewLatestUpdateOnBranch(
43
+ $appId: String!
44
+ $branchName: String!
45
+ $platform: AppPlatform!
46
+ $runtimeVersion: String!
47
+ ) {
48
+ app {
49
+ byId(appId: $appId) {
50
+ id
51
+ updateBranchByName(name: $branchName) {
52
+ id
53
+ updates(
54
+ offset: 0
55
+ limit: 1
56
+ filter: { platform: $platform, runtimeVersions: [$runtimeVersion] }
57
+ ) {
58
+ id
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+ `, {
65
+ appId,
66
+ branchName,
67
+ platform,
68
+ runtimeVersion,
69
+ }, { additionalTypenames: ['UpdateBranch'] })
70
+ .toPromise());
71
+ const { updateBranchByName } = response.app.byId;
72
+ if (!updateBranchByName) {
73
+ throw new utils_1.BranchNotFoundError(`Could not find a branch named "${branchName}".`);
74
+ }
75
+ const latestUpdate = updateBranchByName.updates[0];
76
+ if (!latestUpdate) {
77
+ return null;
78
+ }
79
+ return latestUpdate.id;
80
+ },
39
81
  async listBranchesOnAppAsync(graphqlClient, { appId, limit, offset }) {
40
82
  const data = await (0, client_1.withErrorHandlingAsync)(graphqlClient
41
83
  .query((0, graphql_tag_1.default) `
@@ -1,13 +1,22 @@
1
1
  import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
2
- import { EnvironmentVariableEnvironment, EnvironmentVariableFragment } from '../generated';
2
+ import { EnvironmentVariableFragment } from '../generated';
3
3
  export declare const EnvironmentVariablesQuery: {
4
4
  byAppIdWithSensitiveAsync(graphqlClient: ExpoGraphqlClient, { appId, environment, filterNames, }: {
5
5
  appId: string;
6
- environment: EnvironmentVariableEnvironment;
6
+ environment: string;
7
7
  filterNames?: string[] | undefined;
8
- }): Promise<{
9
- appVariables: EnvironmentVariableFragment[];
10
- }>;
11
- byAppIdAsync(graphqlClient: ExpoGraphqlClient, appId: string, environment: string, filterNames?: string[]): Promise<EnvironmentVariableFragment[]>;
12
- sharedAsync(graphqlClient: ExpoGraphqlClient, appId: string, filterNames?: string[]): Promise<EnvironmentVariableFragment[]>;
8
+ }): Promise<EnvironmentVariableFragment[]>;
9
+ byAppIdAsync(graphqlClient: ExpoGraphqlClient, { appId, environment, filterNames, }: {
10
+ appId: string;
11
+ environment: string;
12
+ filterNames?: string[] | undefined;
13
+ }): Promise<EnvironmentVariableFragment[]>;
14
+ sharedAsync(graphqlClient: ExpoGraphqlClient, { appId, filterNames }: {
15
+ appId: string;
16
+ filterNames?: string[] | undefined;
17
+ }): Promise<EnvironmentVariableFragment[]>;
18
+ sharedWithSensitiveAsync(graphqlClient: ExpoGraphqlClient, { appId, filterNames }: {
19
+ appId: string;
20
+ filterNames?: string[] | undefined;
21
+ }): Promise<EnvironmentVariableFragment[]>;
13
22
  };
@@ -29,13 +29,11 @@ exports.EnvironmentVariablesQuery = {
29
29
  }
30
30
  }
31
31
  }
32
- `, { appId, filterNames, environment }, { additionalTypenames: ['EnvironmentVariable'] })
32
+ `, { appId, filterNames, environment }, { additionalTypenames: ['EnvironmentVariableWithSecret'] })
33
33
  .toPromise());
34
- return {
35
- appVariables: data.app?.byId.environmentVariablesIncludingSensitive ?? [],
36
- };
34
+ return data.app?.byId.environmentVariablesIncludingSensitive ?? [];
37
35
  },
38
- async byAppIdAsync(graphqlClient, appId, environment, filterNames) {
36
+ async byAppIdAsync(graphqlClient, { appId, environment, filterNames, }) {
39
37
  const data = await (0, client_1.withErrorHandlingAsync)(graphqlClient
40
38
  .query((0, graphql_tag_1.default) `
41
39
  query EnvironmentVariablesByAppId(
@@ -58,7 +56,7 @@ exports.EnvironmentVariablesQuery = {
58
56
  .toPromise());
59
57
  return data.app?.byId.environmentVariables ?? [];
60
58
  },
61
- async sharedAsync(graphqlClient, appId, filterNames) {
59
+ async sharedAsync(graphqlClient, { appId, filterNames }) {
62
60
  const data = await (0, client_1.withErrorHandlingAsync)(graphqlClient
63
61
  .query((0, graphql_tag_1.default) `
64
62
  query EnvironmentVariablesShared($appId: String!, $filterNames: [String!]) {
@@ -80,4 +78,29 @@ exports.EnvironmentVariablesQuery = {
80
78
  .toPromise());
81
79
  return data.app?.byId.ownerAccount.environmentVariables ?? [];
82
80
  },
81
+ async sharedWithSensitiveAsync(graphqlClient, { appId, filterNames }) {
82
+ const data = await (0, client_1.withErrorHandlingAsync)(graphqlClient
83
+ .query((0, graphql_tag_1.default) `
84
+ query EnvironmentVariablesSharedWithSensitive(
85
+ $appId: String!
86
+ $filterNames: [String!]
87
+ ) {
88
+ app {
89
+ byId(appId: $appId) {
90
+ id
91
+ ownerAccount {
92
+ id
93
+ environmentVariablesIncludingSensitive(filterNames: $filterNames) {
94
+ id
95
+ name
96
+ value
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
102
+ `, { appId, filterNames }, { additionalTypenames: ['EnvironmentVariableWithSecret'] })
103
+ .toPromise());
104
+ return data.app?.byId.ownerAccount.environmentVariablesIncludingSensitive ?? [];
105
+ },
83
106
  };
@@ -34,5 +34,9 @@ exports.UpdateFragmentNode = (0, graphql_tag_1.default) `
34
34
  sig
35
35
  alg
36
36
  }
37
+ rolloutPercentage
38
+ rolloutControlUpdate {
39
+ id
40
+ }
37
41
  }
38
42
  `;
@@ -41,7 +41,7 @@ class AppleConfigReader {
41
41
  }
42
42
  getLocales() {
43
43
  // TODO: filter "default" locales, add option to add non-localized info to the config
44
- return (0, uniq_1.default)(Object.keys(this.schema.info || {}));
44
+ return (0, uniq_1.default)(Object.keys(this.schema.info ?? {}));
45
45
  }
46
46
  getInfoLocale(locale) {
47
47
  const info = this.schema.info?.[locale];
@@ -14,7 +14,7 @@ class AgeRatingTask extends task_1.AppleTask {
14
14
  }
15
15
  async prepareAsync({ context }) {
16
16
  (0, assert_1.default)(context.version, `App version information is not prepared, can't update age rating`);
17
- context.ageRating = (await context.version.getAgeRatingDeclarationAsync()) || undefined;
17
+ context.ageRating = (await context.version.getAgeRatingDeclarationAsync()) ?? undefined;
18
18
  }
19
19
  async downloadAsync({ config, context }) {
20
20
  if (context.ageRating) {
@@ -25,7 +25,8 @@ class AppReviewDetailTask extends task_1.AppleTask {
25
25
  async uploadAsync({ config, context }) {
26
26
  const reviewDetail = config.getReviewDetails();
27
27
  if (!reviewDetail) {
28
- return log_1.default.log((0, chalk_1.default) `{dim - Skipped store review details, not configured}`);
28
+ log_1.default.log((0, chalk_1.default) `{dim - Skipped store review details, not configured}`);
29
+ return;
29
30
  }
30
31
  (0, assert_1.default)(context.version, `App version not initialized, can't upload store review details`);
31
32
  const { versionString } = context.version.attributes;
@@ -22,7 +22,7 @@ export type AppVersionData = {
22
22
  versionPhasedRelease: AppStoreVersionPhasedRelease | null;
23
23
  };
24
24
  export declare class AppVersionTask extends AppleTask {
25
- private options;
25
+ private readonly options;
26
26
  constructor(options?: Partial<AppVersionOptions>);
27
27
  name: () => string;
28
28
  prepareAsync({ context }: TaskPrepareOptions): Promise<void>;
@@ -16,7 +16,8 @@ const errors_1 = require("../errors");
16
16
  async function resolveDynamicConfigAsync(configFile) {
17
17
  const userConfigOrFunction = await Promise.resolve(`${configFile}`).then(s => tslib_1.__importStar(require(s))).then(file => file.default ?? file);
18
18
  return typeof userConfigOrFunction === 'function'
19
- ? await userConfigOrFunction()
19
+ ? // eslint-disable-next-line @typescript-eslint/return-await
20
+ await userConfigOrFunction()
20
21
  : userConfigOrFunction;
21
22
  }
22
23
  /**
@@ -65,7 +65,8 @@ exports.logMetadataValidationError = logMetadataValidationError;
65
65
  */
66
66
  function handleMetadataError(error) {
67
67
  if (error instanceof MetadataValidationError) {
68
- return logMetadataValidationError(error);
68
+ logMetadataValidationError(error);
69
+ return;
69
70
  }
70
71
  if (error instanceof MetadataDownloadError || error instanceof MetadataUploadError) {
71
72
  log_1.default.newLine();
@@ -7,7 +7,7 @@ const ora_1 = require("../../ora");
7
7
  */
8
8
  async function logAsync(action, { hidden, ...message }) {
9
9
  if (hidden) {
10
- return action();
10
+ return await action();
11
11
  }
12
12
  const spinner = (0, ora_1.ora)(message.pending).start();
13
13
  try {
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.retryIfNullAsync = exports.waitAsync = void 0;
4
4
  async function waitAsync(duration) {
5
- return new Promise(resolve => setTimeout(resolve, duration));
5
+ await new Promise(resolve => setTimeout(resolve, duration));
6
6
  }
7
7
  exports.waitAsync = waitAsync;
8
8
  async function retryIfNullAsync(method, options = {}) {
@@ -31,7 +31,7 @@ async function runCommandAsync({ cwd, args, command, shouldShowStderrLine, shoul
31
31
  continue;
32
32
  }
33
33
  const log = `${chalk_1.default.gray(`[${command}]`)} ${line}`;
34
- if (shouldPrintStderrLineAsStdout && shouldPrintStderrLineAsStdout(line)) {
34
+ if (shouldPrintStderrLineAsStdout?.(line)) {
35
35
  log_1.default.log(log);
36
36
  }
37
37
  else {
package/build/ora.js CHANGED
@@ -41,13 +41,21 @@ function ora(options) {
41
41
  };
42
42
  const wrapNativeLogs = () => {
43
43
  // eslint-disable-next-line no-console
44
- console.log = (...args) => logWrap(logReal, args);
44
+ console.log = (...args) => {
45
+ logWrap(logReal, args);
46
+ };
45
47
  // eslint-disable-next-line no-console
46
- console.info = (...args) => logWrap(infoReal, args);
48
+ console.info = (...args) => {
49
+ logWrap(infoReal, args);
50
+ };
47
51
  // eslint-disable-next-line no-console
48
- console.warn = (...args) => logWrap(warnReal, args);
52
+ console.warn = (...args) => {
53
+ logWrap(warnReal, args);
54
+ };
49
55
  // eslint-disable-next-line no-console
50
- console.error = (...args) => logWrap(errorReal, args);
56
+ console.error = (...args) => {
57
+ logWrap(errorReal, args);
58
+ };
51
59
  };
52
60
  const resetNativeLogs = () => {
53
61
  // eslint-disable-next-line no-console
@@ -75,7 +75,7 @@ async function getApplicationIdAsync(projectDir, exp, vcsClient, gradleContext)
75
75
  const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.ANDROID, vcsClient);
76
76
  if (workflow === eas_build_job_1.Workflow.GENERIC) {
77
77
  warnIfAndroidPackageDefinedInAppConfigForBareWorkflowProject(projectDir, exp);
78
- return getApplicationIdFromBareAsync(projectDir, gradleContext);
78
+ return await getApplicationIdFromBareAsync(projectDir, gradleContext);
79
79
  }
80
80
  else {
81
81
  const applicationId = config_plugins_1.AndroidConfig.Package.getPackage(exp);
@@ -1,9 +1,9 @@
1
1
  import { ExpoConfig } from '@expo/config';
2
- import { Platform } from '@expo/eas-build-job';
2
+ import { Env, Platform } from '@expo/eas-build-job';
3
3
  import { BuildProfile } from '@expo/eas-json';
4
4
  import { ExpoGraphqlClient } from '../commandUtils/context/contextUtils/createGraphqlClient';
5
5
  import { Client } from '../vcs/vcs';
6
- export declare function getApplicationIdentifierAsync({ graphqlClient, projectDir, projectId, exp, buildProfile, platform, vcsClient, nonInteractive, }: {
6
+ export declare function getApplicationIdentifierAsync({ graphqlClient, projectDir, projectId, exp, buildProfile, platform, vcsClient, nonInteractive, env, }: {
7
7
  graphqlClient: ExpoGraphqlClient;
8
8
  projectDir: string;
9
9
  projectId: string;
@@ -12,4 +12,5 @@ export declare function getApplicationIdentifierAsync({ graphqlClient, projectDi
12
12
  platform: Platform;
13
13
  vcsClient: Client;
14
14
  nonInteractive: boolean;
15
+ env: Env;
15
16
  }): Promise<string>;
@@ -8,7 +8,7 @@ const bundleIdentifier_1 = require("./ios/bundleIdentifier");
8
8
  const scheme_1 = require("./ios/scheme");
9
9
  const target_1 = require("./ios/target");
10
10
  const workflow_1 = require("./workflow");
11
- async function getApplicationIdentifierAsync({ graphqlClient, projectDir, projectId, exp, buildProfile, platform, vcsClient, nonInteractive, }) {
11
+ async function getApplicationIdentifierAsync({ graphqlClient, projectDir, projectId, exp, buildProfile, platform, vcsClient, nonInteractive, env, }) {
12
12
  if (platform === eas_build_job_1.Platform.ANDROID) {
13
13
  const profile = buildProfile;
14
14
  const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.ANDROID, vcsClient);
@@ -43,7 +43,7 @@ async function getApplicationIdentifierAsync({ graphqlClient, projectDir, projec
43
43
  projectDir,
44
44
  exp,
45
45
  xcodeBuildContext,
46
- env: profile.env,
46
+ env,
47
47
  vcsClient,
48
48
  });
49
49
  const applicationTarget = (0, target_1.findApplicationTarget)(targets);
@@ -12,10 +12,10 @@ async function createOrModifyExpoConfigAsync(projectDir, exp, readOptions) {
12
12
  ensureExpoConfigExists(projectDir);
13
13
  await ensureStaticExpoConfigIsValidAsync(projectDir);
14
14
  if (readOptions) {
15
- return (0, config_1.modifyConfigAsync)(projectDir, exp, readOptions);
15
+ return await (0, config_1.modifyConfigAsync)(projectDir, exp, readOptions);
16
16
  }
17
17
  else {
18
- return (0, config_1.modifyConfigAsync)(projectDir, exp);
18
+ return await (0, config_1.modifyConfigAsync)(projectDir, exp);
19
19
  }
20
20
  }
21
21
  exports.createOrModifyExpoConfigAsync = createOrModifyExpoConfigAsync;
@@ -19,7 +19,7 @@ async function getManagedApplicationTargetEntitlementsAsync(projectDir, env, vcs
19
19
  introspect: true,
20
20
  ignoreExistingNativeFiles: await (0, workflow_1.hasIgnoredIosProjectAsync)(projectDir, vcsClient),
21
21
  });
22
- return expWithMods.ios?.entitlements || {};
22
+ return expWithMods.ios?.entitlements ?? {};
23
23
  }
24
24
  finally {
25
25
  process.env = originalProcessEnv;
@@ -1,19 +1,19 @@
1
1
  /// <reference types="node" />
2
- import { ExpoConfig, Platform } from '@expo/config';
2
+ import { ExpoConfig, Platform as ExpoConfigPlatform } from '@expo/config';
3
3
  import { Env, Workflow } from '@expo/eas-build-job';
4
4
  import Joi from 'joi';
5
5
  import { ExpoGraphqlClient } from '../commandUtils/context/contextUtils/createGraphqlClient';
6
6
  import { PaginatedQueryOptions } from '../commandUtils/pagination';
7
- import { PartialManifestAsset } from '../graphql/generated';
7
+ import { AppPlatform, PartialManifestAsset, UpdateRolloutInfoGroup } from '../graphql/generated';
8
8
  import { RequestedPlatform } from '../platform';
9
9
  import { UpdateJsonInfo } from '../update/utils';
10
10
  import { Client } from '../vcs/vcs';
11
- export type ExpoCLIExportPlatformFlag = Platform | 'all';
11
+ export type UpdatePublishPlatform = 'ios' | 'android';
12
12
  type Metadata = {
13
13
  version: number;
14
14
  bundler: 'metro';
15
15
  fileMetadata: {
16
- [key in Platform]: {
16
+ [key in ExpoConfigPlatform]: {
17
17
  assets: {
18
18
  path: string;
19
19
  ext: string;
@@ -30,7 +30,7 @@ export type RawAsset = {
30
30
  originalPath?: string;
31
31
  };
32
32
  type CollectedAssets = {
33
- [platform in Platform]?: {
33
+ [platform in ExpoConfigPlatform]?: {
34
34
  launchAsset: RawAsset;
35
35
  assets: RawAsset[];
36
36
  };
@@ -47,7 +47,7 @@ type ManifestFragment = {
47
47
  extra?: ManifestExtra;
48
48
  };
49
49
  type UpdateInfoGroup = {
50
- [key in Platform]: ManifestFragment;
50
+ [key in UpdatePublishPlatform]: ManifestFragment;
51
51
  };
52
52
  type AssetMap = Record<string, {
53
53
  httpServerLocation: string;
@@ -69,7 +69,8 @@ export declare function convertAssetToUpdateInfoGroupFormatAsync(asset: RawAsset
69
69
  /**
70
70
  * This will be sorted later based on the platform's runtime versions.
71
71
  */
72
- export declare function buildUnsortedUpdateInfoGroupAsync(assets: CollectedAssets, exp: ExpoConfig): Promise<UpdateInfoGroup>;
72
+ export declare function buildUnsortedUpdateInfoGroupAsync(assets: FilteredCollectedAssets, exp: ExpoConfig): Promise<Partial<UpdateInfoGroup>>;
73
+ export type ExpoCLIExportPlatformFlag = ExpoConfigPlatform | 'all';
73
74
  export declare function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, }: {
74
75
  projectDir: string;
75
76
  inputDir: string;
@@ -82,7 +83,11 @@ export declare function resolveInputDirectoryAsync(inputDir: string, { skipBundl
82
83
  }): Promise<string>;
83
84
  export declare function loadMetadata(distRoot: string): Metadata;
84
85
  export declare function generateEasMetadataAsync(distRoot: string, metadata: UpdateJsonInfo[]): Promise<void>;
85
- export declare function filterExportedPlatformsByFlag<T extends Partial<Record<Platform, any>>>(record: T, platformFlag: ExpoCLIExportPlatformFlag): T;
86
+ export type FilteredCollectedAssets = {
87
+ [RequestedPlatform.Ios]?: NonNullable<CollectedAssets['ios']>;
88
+ [RequestedPlatform.Android]?: NonNullable<CollectedAssets['android']>;
89
+ };
90
+ export declare function filterCollectedAssetsByRequestedPlatforms(collectedAssets: CollectedAssets, requestedPlatform: RequestedPlatform): FilteredCollectedAssets;
86
91
  /** Try to load the asset map for logging the names of assets published */
87
92
  export declare function loadAssetMapAsync(distRoot: string): Promise<AssetMap | null>;
88
93
  export declare function getAssetHashFromPath(assetPath: string): string | null;
@@ -111,7 +116,7 @@ type AssetUploadResult = {
111
116
  /** The asset limit received from the server */
112
117
  assetLimitPerUpdateGroup: number;
113
118
  };
114
- export declare function uploadAssetsAsync(graphqlClient: ExpoGraphqlClient, assetsForUpdateInfoGroup: CollectedAssets, projectId: string, cancelationToken: {
119
+ export declare function uploadAssetsAsync(graphqlClient: ExpoGraphqlClient, assetsForUpdateInfoGroup: FilteredCollectedAssets, projectId: string, cancelationToken: {
115
120
  isCanceledOrFinished: boolean;
116
121
  }, onAssetUploadResultsChanged: (assetUploadResults: {
117
122
  asset: RawAsset & {
@@ -136,25 +141,33 @@ export declare function getUpdateMessageForCommandAsync(vcsClient: Client, { upd
136
141
  nonInteractive: boolean;
137
142
  jsonFlag: boolean;
138
143
  }): Promise<string | undefined>;
139
- export declare const defaultPublishPlatforms: Platform[];
140
- export declare function getRequestedPlatform(platform: ExpoCLIExportPlatformFlag): RequestedPlatform | null;
141
- /** Get runtime versions grouped by platform. Runtime version is always `null` on web where the platform is always backwards compatible. */
144
+ export declare const defaultPublishPlatforms: UpdatePublishPlatform[];
142
145
  export declare function getRuntimeVersionObjectAsync({ exp, platforms, workflows, projectDir, env, }: {
143
146
  exp: ExpoConfig;
144
- platforms: Platform[];
145
- workflows: Record<Platform, Workflow>;
147
+ platforms: UpdatePublishPlatform[];
148
+ workflows: Record<ExpoConfigPlatform, Workflow>;
146
149
  projectDir: string;
147
150
  env: Env | undefined;
148
151
  }): Promise<{
149
- platform: string;
152
+ platform: UpdatePublishPlatform;
150
153
  runtimeVersion: string;
151
154
  }[]>;
152
155
  export declare function getRuntimeToPlatformMappingFromRuntimeVersions(runtimeVersions: {
153
- platform: string;
156
+ platform: UpdatePublishPlatform;
154
157
  runtimeVersion: string;
155
158
  }[]): {
156
159
  runtimeVersion: string;
157
- platforms: string[];
160
+ platforms: UpdatePublishPlatform[];
158
161
  }[];
159
- export declare const platformDisplayNames: Record<Platform, string>;
162
+ export declare const platformDisplayNames: Record<UpdatePublishPlatform, string>;
163
+ export declare const updatePublishPlatformToAppPlatform: Record<UpdatePublishPlatform, AppPlatform>;
164
+ export declare function getRuntimeToUpdateRolloutInfoGroupMappingAsync(graphqlClient: ExpoGraphqlClient, { appId, branchName, rolloutPercentage, runtimeToPlatformMapping, }: {
165
+ appId: string;
166
+ branchName: string;
167
+ rolloutPercentage: number;
168
+ runtimeToPlatformMapping: {
169
+ runtimeVersion: string;
170
+ platforms: UpdatePublishPlatform[];
171
+ }[];
172
+ }): Promise<Map<string, UpdateRolloutInfoGroup>>;
160
173
  export {};