eas-cli 0.55.1 → 0.58.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 (113) hide show
  1. package/README.md +58 -49
  2. package/build/branch/queries.d.ts +5 -0
  3. package/build/branch/queries.js +87 -0
  4. package/build/build/android/build.js +17 -3
  5. package/build/build/android/graphql.js +2 -0
  6. package/build/build/android/prepareJob.js +5 -0
  7. package/build/build/android/syncProjectConfiguration.d.ts +3 -4
  8. package/build/build/android/syncProjectConfiguration.js +2 -3
  9. package/build/build/android/version.d.ts +16 -0
  10. package/build/build/android/version.js +86 -9
  11. package/build/build/build.js +8 -3
  12. package/build/build/context.d.ts +7 -3
  13. package/build/build/createContext.d.ts +5 -2
  14. package/build/build/createContext.js +9 -1
  15. package/build/build/ios/build.js +18 -17
  16. package/build/build/ios/graphql.js +2 -0
  17. package/build/build/ios/prepareJob.js +5 -0
  18. package/build/build/ios/syncProjectConfiguration.d.ts +5 -6
  19. package/build/build/ios/syncProjectConfiguration.js +3 -4
  20. package/build/build/ios/version.d.ts +23 -3
  21. package/build/build/ios/version.js +128 -28
  22. package/build/build/local.d.ts +2 -2
  23. package/build/build/local.js +7 -7
  24. package/build/build/metadata.d.ts +1 -0
  25. package/build/build/metadata.js +32 -6
  26. package/build/build/runBuildAndSubmit.d.ts +1 -0
  27. package/build/build/runBuildAndSubmit.js +29 -7
  28. package/build/build/utils/printBuildInfo.d.ts +1 -1
  29. package/build/build/utils/printBuildInfo.js +7 -13
  30. package/build/commandUtils/pagination.d.ts +13 -0
  31. package/build/commandUtils/pagination.js +42 -0
  32. package/build/commands/branch/list.d.ts +3 -4
  33. package/build/commands/branch/list.js +6 -69
  34. package/build/commands/branch/view.d.ts +3 -0
  35. package/build/commands/branch/view.js +15 -63
  36. package/build/commands/build/index.d.ts +1 -0
  37. package/build/commands/build/index.js +9 -0
  38. package/build/commands/build/version/set.d.ts +9 -0
  39. package/build/commands/build/version/set.js +81 -0
  40. package/build/commands/build/version/sync.d.ts +11 -0
  41. package/build/commands/build/version/sync.js +123 -0
  42. package/build/commands/submit.js +4 -1
  43. package/build/commands/update/index.d.ts +2 -2
  44. package/build/commands/update/index.js +24 -6
  45. package/build/commands/update/list.js +13 -18
  46. package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +2 -2
  47. package/build/credentials/ios/types.d.ts +2 -0
  48. package/build/devices/actions/create/action.d.ts +5 -2
  49. package/build/devices/actions/create/action.js +12 -2
  50. package/build/devices/actions/create/developerPortalMethod.d.ts +6 -0
  51. package/build/devices/actions/create/developerPortalMethod.js +90 -0
  52. package/build/devices/manager.js +4 -4
  53. package/build/graphql/generated.d.ts +501 -59
  54. package/build/graphql/generated.js +10 -1
  55. package/build/graphql/mutations/AppVersionMutation.d.ts +11 -0
  56. package/build/graphql/mutations/AppVersionMutation.js +28 -0
  57. package/build/graphql/mutations/PublishMutation.d.ts +2 -4
  58. package/build/graphql/queries/AppVersionQuery.d.ts +4 -0
  59. package/build/graphql/queries/AppVersionQuery.js +37 -0
  60. package/build/graphql/queries/BranchQuery.d.ts +2 -1
  61. package/build/graphql/queries/BranchQuery.js +26 -0
  62. package/build/graphql/queries/BuildQuery.d.ts +4 -1
  63. package/build/graphql/queries/BuildQuery.js +19 -0
  64. package/build/graphql/queries/PublishQuery.d.ts +2 -1
  65. package/build/graphql/queries/PublishQuery.js +16 -0
  66. package/build/graphql/queries/UpdateQuery.d.ts +6 -8
  67. package/build/graphql/queries/UpdateQuery.js +27 -23
  68. package/build/graphql/types/Build.d.ts +1 -0
  69. package/build/graphql/types/Build.js +16 -1
  70. package/build/metadata/apple/config/reader.d.ts +3 -2
  71. package/build/metadata/apple/config/reader.js +22 -5
  72. package/build/metadata/apple/config/writer.d.ts +3 -2
  73. package/build/metadata/apple/config/writer.js +22 -6
  74. package/build/metadata/apple/tasks/app-version.d.ts +5 -1
  75. package/build/metadata/apple/tasks/app-version.js +109 -8
  76. package/build/metadata/apple/tasks/index.d.ts +6 -1
  77. package/build/metadata/apple/tasks/index.js +7 -2
  78. package/build/metadata/apple/types.d.ts +3 -7
  79. package/build/metadata/upload.js +6 -1
  80. package/build/platform.d.ts +1 -0
  81. package/build/platform.js +17 -1
  82. package/build/project/android/applicationId.js +2 -2
  83. package/build/project/android/versions.d.ts +3 -0
  84. package/build/project/android/versions.js +23 -0
  85. package/build/project/applicationIdentifier.d.ts +4 -0
  86. package/build/project/applicationIdentifier.js +37 -0
  87. package/build/project/ios/bundleIdentifier.js +2 -2
  88. package/build/project/ios/target.js +14 -1
  89. package/build/project/ios/versions.d.ts +3 -0
  90. package/build/project/ios/versions.js +17 -0
  91. package/build/project/publish.d.ts +3 -2
  92. package/build/project/publish.js +23 -18
  93. package/build/project/remoteVersionSource.d.ts +8 -0
  94. package/build/project/remoteVersionSource.js +61 -0
  95. package/build/submit/submit.d.ts +2 -1
  96. package/build/submit/submit.js +3 -2
  97. package/build/submit/utils/files.d.ts +0 -6
  98. package/build/submit/utils/files.js +3 -16
  99. package/build/update/queries.d.ts +3 -0
  100. package/build/update/queries.js +72 -0
  101. package/build/update/utils.d.ts +14 -0
  102. package/build/update/utils.js +26 -9
  103. package/build/uploads.d.ts +8 -2
  104. package/build/uploads.js +19 -4
  105. package/build/utils/expodash/chunk.d.ts +1 -0
  106. package/build/utils/expodash/chunk.js +16 -0
  107. package/build/utils/queries.d.ts +25 -0
  108. package/build/utils/queries.js +67 -0
  109. package/build/vcs/clients/gitNoCommit.d.ts +1 -0
  110. package/build/vcs/clients/gitNoCommit.js +14 -0
  111. package/oclif.manifest.json +1 -1
  112. package/package.json +10 -5
  113. package/schema/metadata-0.json +38 -233
@@ -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.WebhookType = exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.SubmissionStatus = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = exports.ProjectArchiveSourceType = exports.Permission = exports.Order = exports.OfferType = exports.MailchimpTag = exports.MailchimpAudience = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.Feature = exports.EasServiceMetric = exports.EasBuildDeprecationInfoType = exports.DistributionType = exports.CacheControlScope = exports.BuildWorkflow = exports.BuildStatus = exports.BuildResourceClass = exports.BuildPriority = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = void 0;
9
+ exports.WebhookType = exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.SubmissionStatus = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = exports.ProjectArchiveSourceType = exports.Permission = exports.Order = exports.OfferType = exports.MailchimpTag = exports.MailchimpAudience = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.Feature = exports.EasServiceMetric = exports.EasBuildDeprecationInfoType = exports.DistributionType = exports.CacheControlScope = exports.BuildWorkflow = exports.BuildStatus = exports.BuildResourceClass = exports.BuildPriority = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.AuthProtocolType = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = void 0;
10
10
  var ActivityTimelineProjectActivityType;
11
11
  (function (ActivityTimelineProjectActivityType) {
12
12
  ActivityTimelineProjectActivityType["Build"] = "BUILD";
@@ -86,6 +86,10 @@ var AssetMetadataStatus;
86
86
  AssetMetadataStatus["DoesNotExist"] = "DOES_NOT_EXIST";
87
87
  AssetMetadataStatus["Exists"] = "EXISTS";
88
88
  })(AssetMetadataStatus = exports.AssetMetadataStatus || (exports.AssetMetadataStatus = {}));
89
+ var AuthProtocolType;
90
+ (function (AuthProtocolType) {
91
+ AuthProtocolType["Oidc"] = "OIDC";
92
+ })(AuthProtocolType = exports.AuthProtocolType || (exports.AuthProtocolType = {}));
89
93
  var BuildCredentialsSource;
90
94
  (function (BuildCredentialsSource) {
91
95
  BuildCredentialsSource["Local"] = "LOCAL";
@@ -114,6 +118,7 @@ var BuildPriority;
114
118
  (function (BuildPriority) {
115
119
  BuildPriority["High"] = "HIGH";
116
120
  BuildPriority["Normal"] = "NORMAL";
121
+ BuildPriority["NormalPlus"] = "NORMAL_PLUS";
117
122
  })(BuildPriority = exports.BuildPriority || (exports.BuildPriority = {}));
118
123
  var BuildResourceClass;
119
124
  (function (BuildResourceClass) {
@@ -157,7 +162,9 @@ var EasServiceMetric;
157
162
  (function (EasServiceMetric) {
158
163
  EasServiceMetric["AssetsRequests"] = "ASSETS_REQUESTS";
159
164
  EasServiceMetric["BandwidthUsage"] = "BANDWIDTH_USAGE";
165
+ EasServiceMetric["Builds"] = "BUILDS";
160
166
  EasServiceMetric["ManifestRequests"] = "MANIFEST_REQUESTS";
167
+ EasServiceMetric["UniqueUpdaters"] = "UNIQUE_UPDATERS";
161
168
  EasServiceMetric["UniqueUsers"] = "UNIQUE_USERS";
162
169
  })(EasServiceMetric = exports.EasServiceMetric || (exports.EasServiceMetric = {}));
163
170
  var Feature;
@@ -299,7 +306,9 @@ var UploadSessionType;
299
306
  var UsageMetricType;
300
307
  (function (UsageMetricType) {
301
308
  UsageMetricType["Bandwidth"] = "BANDWIDTH";
309
+ UsageMetricType["Build"] = "BUILD";
302
310
  UsageMetricType["Request"] = "REQUEST";
311
+ UsageMetricType["Update"] = "UPDATE";
303
312
  UsageMetricType["User"] = "USER";
304
313
  })(UsageMetricType = exports.UsageMetricType || (exports.UsageMetricType = {}));
305
314
  var UsageMetricsGranularity;
@@ -0,0 +1,11 @@
1
+ import { AppPlatform } from '../generated';
2
+ export declare const AppVersionMutation: {
3
+ createAppVersionAsync(appVersionInput: {
4
+ appId: string;
5
+ platform: AppPlatform;
6
+ applicationIdentifier: string;
7
+ storeVersion: string;
8
+ buildVersion: string;
9
+ runtimeVersion?: string;
10
+ }): Promise<string>;
11
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppVersionMutation = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const assert_1 = tslib_1.__importDefault(require("assert"));
6
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
7
+ const client_1 = require("../client");
8
+ exports.AppVersionMutation = {
9
+ async createAppVersionAsync(appVersionInput) {
10
+ var _a;
11
+ const data = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
12
+ .mutation((0, graphql_tag_1.default) `
13
+ mutation CreateAppVersionMutation($appVersionInput: AppVersionInput!) {
14
+ appVersion {
15
+ createAppVersion(appVersionInput: $appVersionInput) {
16
+ id
17
+ }
18
+ }
19
+ }
20
+ `, {
21
+ appVersionInput,
22
+ })
23
+ .toPromise());
24
+ const appVersionId = (_a = data.appVersion) === null || _a === void 0 ? void 0 : _a.createAppVersion.id;
25
+ (0, assert_1.default)(appVersionId, 'AppVersion ID must be defined');
26
+ return appVersionId;
27
+ },
28
+ };
@@ -1,8 +1,6 @@
1
- import { CodeSigningInfoInput, PublishUpdateGroupInput, SetCodeSigningInfoMutation, UpdatePublishMutation } from '../generated';
1
+ import { CodeSigningInfoInput, GetSignedUploadMutation, PublishUpdateGroupInput, SetCodeSigningInfoMutation, UpdatePublishMutation } from '../generated';
2
2
  export declare const PublishMutation: {
3
- getUploadURLsAsync(contentTypes: string[]): Promise<{
4
- specifications: string[];
5
- }>;
3
+ getUploadURLsAsync(contentTypes: string[]): Promise<GetSignedUploadMutation['asset']['getSignedAssetUploadSpecifications']>;
6
4
  publishUpdateGroupAsync(publishUpdateGroupsInput: PublishUpdateGroupInput[]): Promise<UpdatePublishMutation['updateBranch']['publishUpdateGroups']>;
7
5
  setCodeSigningInfoAsync(updateId: string, codeSigningInfo: CodeSigningInfoInput): Promise<SetCodeSigningInfoMutation['update']['setCodeSigningInfo']>;
8
6
  };
@@ -0,0 +1,4 @@
1
+ import { AppPlatform, AppVersion } from '../generated';
2
+ export declare const AppVersionQuery: {
3
+ latestVersionAsync(appId: string, platform: AppPlatform, applicationIdentifier: string): Promise<Pick<AppVersion, 'storeVersion' | 'buildVersion'> | null>;
4
+ };
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppVersionQuery = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
6
+ const client_1 = require("../client");
7
+ exports.AppVersionQuery = {
8
+ async latestVersionAsync(appId, platform, applicationIdentifier) {
9
+ var _a;
10
+ const data = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
11
+ .query((0, graphql_tag_1.default) `
12
+ query LatestAppVersion(
13
+ $appId: String!
14
+ $platform: AppPlatform!
15
+ $applicationIdentifier: String!
16
+ ) {
17
+ app {
18
+ byId(appId: $appId) {
19
+ id
20
+ latestAppVersionByPlatformAndApplicationIdentifier(
21
+ platform: $platform
22
+ applicationIdentifier: $applicationIdentifier
23
+ ) {
24
+ id
25
+ storeVersion
26
+ buildVersion
27
+ }
28
+ }
29
+ }
30
+ }
31
+ `, { appId, applicationIdentifier, platform }, {
32
+ additionalTypenames: ['App', 'AppVersion'],
33
+ })
34
+ .toPromise());
35
+ return (_a = data.app.byId.latestAppVersionByPlatformAndApplicationIdentifier) !== null && _a !== void 0 ? _a : null;
36
+ },
37
+ };
@@ -1,7 +1,8 @@
1
- import { ViewBranchQuery } from '../generated';
1
+ import { BranchesByAppQueryVariables, UpdateBranchFragment, ViewBranchQuery } from '../generated';
2
2
  export declare const BranchQuery: {
3
3
  getBranchByNameAsync({ appId, name, }: {
4
4
  appId: string;
5
5
  name: string;
6
6
  }): Promise<ViewBranchQuery['app']['byId']['updateBranchByName']>;
7
+ listBranchesAsync({ appId, limit, offset, }: BranchesByAppQueryVariables): Promise<UpdateBranchFragment[]>;
7
8
  };
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BranchQuery = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const graphql_1 = require("graphql");
5
6
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
6
7
  const client_1 = require("../client");
8
+ const UpdateBranch_1 = require("../types/UpdateBranch");
7
9
  exports.BranchQuery = {
8
10
  async getBranchByNameAsync({ appId, name, }) {
9
11
  const { app: { byId: { updateBranchByName: branch }, }, } = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
@@ -26,4 +28,28 @@ exports.BranchQuery = {
26
28
  .toPromise());
27
29
  return branch;
28
30
  },
31
+ async listBranchesAsync({ appId, limit, offset, }) {
32
+ var _a, _b;
33
+ const data = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
34
+ .query((0, graphql_tag_1.default) `
35
+ query BranchesByAppQuery($appId: String!, $limit: Int!, $offset: Int!) {
36
+ app {
37
+ byId(appId: $appId) {
38
+ id
39
+ updateBranches(limit: $limit, offset: $offset) {
40
+ id
41
+ ...UpdateBranchFragment
42
+ }
43
+ }
44
+ }
45
+ }
46
+ ${(0, graphql_1.print)(UpdateBranch_1.UpdateBranchFragmentNode)}
47
+ `, {
48
+ appId,
49
+ limit,
50
+ offset,
51
+ }, { additionalTypenames: ['UpdateBranch'] })
52
+ .toPromise());
53
+ return (_b = (_a = data === null || data === void 0 ? void 0 : data.app) === null || _a === void 0 ? void 0 : _a.byId.updateBranches) !== null && _b !== void 0 ? _b : [];
54
+ },
29
55
  };
@@ -1,4 +1,4 @@
1
- import { AppPlatform, BuildFragment, BuildStatus, DistributionType } from '../generated';
1
+ import { AppPlatform, BuildFragment, BuildStatus, BuildWithSubmissionsFragment, DistributionType } from '../generated';
2
2
  declare type BuildsQuery = {
3
3
  offset?: number;
4
4
  limit?: number;
@@ -20,6 +20,9 @@ export declare const BuildQuery: {
20
20
  byIdAsync(buildId: string, { useCache }?: {
21
21
  useCache?: boolean | undefined;
22
22
  }): Promise<BuildFragment>;
23
+ withSubmissionsByIdAsync(buildId: string, { useCache }?: {
24
+ useCache?: boolean | undefined;
25
+ }): Promise<BuildWithSubmissionsFragment>;
23
26
  allForAppAsync(appId: string, { limit, offset, filter }: BuildsQuery): Promise<BuildFragment[]>;
24
27
  };
25
28
  export {};
@@ -26,6 +26,25 @@ exports.BuildQuery = {
26
26
  .toPromise());
27
27
  return data.builds.byId;
28
28
  },
29
+ async withSubmissionsByIdAsync(buildId, { useCache = true } = {}) {
30
+ const data = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
31
+ .query((0, graphql_tag_1.default) `
32
+ query BuildsWithSubmissionsByIdQuery($buildId: ID!) {
33
+ builds {
34
+ byId(buildId: $buildId) {
35
+ id
36
+ ...BuildWithSubmissionsFragment
37
+ }
38
+ }
39
+ }
40
+ ${(0, graphql_1.print)(Build_1.BuildFragmentWithSubmissionsNode)}
41
+ `, { buildId }, {
42
+ requestPolicy: useCache ? 'cache-first' : 'network-only',
43
+ additionalTypenames: ['Build'],
44
+ })
45
+ .toPromise());
46
+ return data.builds.byId;
47
+ },
29
48
  async allForAppAsync(appId, { limit = 10, offset = 0, filter }) {
30
49
  var _a, _b;
31
50
  const data = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
@@ -1,4 +1,5 @@
1
- import { AssetMetadataResult } from '../generated';
1
+ import { AssetMetadataResult, GetAssetLimitPerUpdateGroupForAppQuery } from '../generated';
2
2
  export declare const PublishQuery: {
3
3
  getAssetMetadataAsync(storageKeys: string[]): Promise<AssetMetadataResult[]>;
4
+ getAssetLimitPerUpdateGroupAsync(appId: string): Promise<GetAssetLimitPerUpdateGroupForAppQuery['app']['byId']['assetLimitPerUpdateGroup']>;
4
5
  };
@@ -26,4 +26,20 @@ exports.PublishQuery = {
26
26
  .toPromise());
27
27
  return data.asset.metadata;
28
28
  },
29
+ async getAssetLimitPerUpdateGroupAsync(appId) {
30
+ const data = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
31
+ .query((0, graphql_tag_1.default) `
32
+ query GetAssetLimitPerUpdateGroupForApp($appId: String!) {
33
+ app {
34
+ byId(appId: $appId) {
35
+ id
36
+ assetLimitPerUpdateGroup
37
+ }
38
+ }
39
+ }
40
+ `, { appId }, { additionalTypenames: [] } // required arg
41
+ )
42
+ .toPromise());
43
+ return data.app.byId.assetLimitPerUpdateGroup;
44
+ },
29
45
  };
@@ -1,10 +1,8 @@
1
- import { ViewAllUpdatesQuery, ViewBranchUpdatesQuery, ViewBranchUpdatesQueryVariables } from '../generated';
2
- export declare const viewBranchUpdatesQueryUpdateLimit = 300;
3
- declare type ViewBranchUpdatesQueryVariablesWithOptionalLimitAndOffset = Partial<ViewBranchUpdatesQueryVariables> & Pick<ViewBranchUpdatesQueryVariables, 'appId' | 'name'>;
1
+ import { ViewAllUpdatesQuery, ViewAllUpdatesQueryVariables, ViewBranchUpdatesQuery, ViewBranchUpdatesQueryVariables } from '../generated';
2
+ export declare type BranchUpdateObject = Exclude<ViewBranchUpdatesQuery['app']['byId']['updateBranchByName'], null | undefined>['updates'][number];
3
+ export declare type AppUpdateObject = ViewAllUpdatesQuery['app']['byId']['updates'][number];
4
+ export declare type UpdateObject = BranchUpdateObject | AppUpdateObject;
4
5
  export declare const UpdateQuery: {
5
- viewAllAsync({ appId }: {
6
- appId: string;
7
- }): Promise<ViewAllUpdatesQuery>;
8
- viewBranchAsync({ appId, name, limit, offset, }: ViewBranchUpdatesQueryVariablesWithOptionalLimitAndOffset): Promise<ViewBranchUpdatesQuery>;
6
+ viewAllAsync({ appId, limit, offset }: ViewAllUpdatesQueryVariables): Promise<ViewAllUpdatesQuery>;
7
+ viewBranchAsync({ appId, name, limit, offset }: ViewBranchUpdatesQueryVariables): Promise<ViewBranchUpdatesQuery>;
9
8
  };
10
- export {};
@@ -1,37 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UpdateQuery = exports.viewBranchUpdatesQueryUpdateLimit = void 0;
3
+ exports.UpdateQuery = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
6
6
  const client_1 = require("../client");
7
- exports.viewBranchUpdatesQueryUpdateLimit = 300;
8
7
  exports.UpdateQuery = {
9
- async viewAllAsync({ appId }) {
8
+ async viewAllAsync({ appId, limit, offset }) {
10
9
  return (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
11
10
  .query((0, graphql_tag_1.default) `
12
- query ViewAllUpdates($appId: String!, $limit: Int!) {
11
+ query ViewAllUpdates($appId: String!, $limit: Int!, $offset: Int!) {
13
12
  app {
14
13
  byId(appId: $appId) {
15
14
  id
16
- updateBranches(offset: 0, limit: $limit) {
15
+ updates(limit: $limit, offset: $offset) {
17
16
  id
18
- name
19
- updates(offset: 0, limit: $limit) {
17
+ group
18
+ message
19
+ createdAt
20
+ runtimeVersion
21
+ platform
22
+ actor {
20
23
  id
21
- group
22
- message
23
- createdAt
24
- runtimeVersion
25
- platform
26
- actor {
27
- id
28
- ... on User {
29
- username
30
- }
31
- ... on Robot {
32
- firstName
33
- }
24
+ ... on User {
25
+ username
34
26
  }
27
+ ... on Robot {
28
+ firstName
29
+ }
30
+ }
31
+ branch {
32
+ id
33
+ name
35
34
  }
36
35
  }
37
36
  }
@@ -39,11 +38,12 @@ exports.UpdateQuery = {
39
38
  }
40
39
  `, {
41
40
  appId,
42
- limit: exports.viewBranchUpdatesQueryUpdateLimit,
41
+ limit,
42
+ offset,
43
43
  }, { additionalTypenames: ['UpdateBranch', 'Update'] })
44
44
  .toPromise());
45
45
  },
46
- async viewBranchAsync({ appId, name, limit = exports.viewBranchUpdatesQueryUpdateLimit, offset = 0, }) {
46
+ async viewBranchAsync({ appId, name, limit, offset }) {
47
47
  return (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
48
48
  .query((0, graphql_tag_1.default) `
49
49
  query ViewBranchUpdates($appId: String!, $name: String!, $limit: Int!, $offset: Int!) {
@@ -53,7 +53,7 @@ exports.UpdateQuery = {
53
53
  updateBranchByName(name: $name) {
54
54
  id
55
55
  name
56
- updates(offset: $offset, limit: $limit) {
56
+ updates(limit: $limit, offset: $offset) {
57
57
  id
58
58
  group
59
59
  message
@@ -70,6 +70,10 @@ exports.UpdateQuery = {
70
70
  firstName
71
71
  }
72
72
  }
73
+ branch {
74
+ id
75
+ name
76
+ }
73
77
  }
74
78
  }
75
79
  }
@@ -1 +1,2 @@
1
1
  export declare const BuildFragmentNode: import("graphql").DocumentNode;
2
+ export declare const BuildFragmentWithSubmissionsNode: import("graphql").DocumentNode;
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BuildFragmentNode = void 0;
3
+ exports.BuildFragmentWithSubmissionsNode = exports.BuildFragmentNode = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const graphql_1 = require("graphql");
5
6
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
7
+ const Submission_1 = require("./Submission");
6
8
  exports.BuildFragmentNode = (0, graphql_tag_1.default) `
7
9
  fragment BuildFragment on Build {
8
10
  id
@@ -52,3 +54,16 @@ exports.BuildFragmentNode = (0, graphql_tag_1.default) `
52
54
  updatedAt
53
55
  }
54
56
  `;
57
+ exports.BuildFragmentWithSubmissionsNode = (0, graphql_tag_1.default) `
58
+ ${(0, graphql_1.print)(Submission_1.SubmissionFragmentNode)}
59
+ ${(0, graphql_1.print)(exports.BuildFragmentNode)}
60
+
61
+ fragment BuildWithSubmissionsFragment on Build {
62
+ id
63
+ ...BuildFragment
64
+ submissions {
65
+ id
66
+ ...SubmissionFragment
67
+ }
68
+ }
69
+ `;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
- import { AgeRatingDeclaration, AppInfoLocalization, AppStoreReviewDetail, AppStoreVersion, AppStoreVersionLocalization, CategoryIds } from '@expo/apple-utils';
2
+ import { AgeRatingDeclaration, AppInfoLocalization, AppStoreReviewDetail, AppStoreVersion, AppStoreVersionLocalization, AppStoreVersionPhasedRelease, CategoryIds } from '@expo/apple-utils';
3
3
  import { AttributesOf } from '../../utils/asc';
4
4
  import { AppleMetadata } from '../types';
5
5
  declare type PartialExcept<T, K extends keyof T> = Pick<T, K> & Partial<Omit<T, K>>;
@@ -17,7 +17,8 @@ export declare class AppleConfigReader {
17
17
  getCategories(): CategoryIds | null;
18
18
  /** Get the `AppStoreVersion` object. */
19
19
  getVersion(): Partial<Omit<AttributesOf<AppStoreVersion>, 'releaseType' | 'earliestReleaseDate'>> | null;
20
- getVersionRelease(): Partial<Pick<AttributesOf<AppStoreVersion>, 'releaseType' | 'earliestReleaseDate'>> | null;
20
+ getVersionReleaseType(): Partial<Pick<AttributesOf<AppStoreVersion>, 'releaseType' | 'earliestReleaseDate'>> | null;
21
+ getVersionReleasePhased(): Pick<AttributesOf<AppStoreVersionPhasedRelease>, 'phasedReleaseState'> | null;
21
22
  getVersionLocale(locale: string, context: {
22
23
  versionIsFirst: boolean;
23
24
  }): Partial<AttributesOf<AppStoreVersionLocalization>> | null;
@@ -88,16 +88,22 @@ class AppleConfigReader {
88
88
  }
89
89
  /** Get the `AppStoreVersion` object. */
90
90
  getVersion() {
91
- return this.schema.copyright ? { copyright: this.schema.copyright } : null;
91
+ var _a, _b;
92
+ const attributes = {
93
+ versionString: (_a = this.schema.version) !== null && _a !== void 0 ? _a : '',
94
+ copyright: (_b = this.schema.copyright) !== null && _b !== void 0 ? _b : null,
95
+ };
96
+ const hasValues = Object.values(attributes).some(Boolean);
97
+ return hasValues ? attributes : null;
92
98
  }
93
- getVersionRelease() {
99
+ getVersionReleaseType() {
94
100
  var _a, _b;
95
101
  const { release } = this.schema;
96
- if (release === null || release === void 0 ? void 0 : release.autoReleaseDate) {
102
+ if (typeof (release === null || release === void 0 ? void 0 : release.automaticRelease) === 'string') {
97
103
  return {
98
104
  releaseType: apple_utils_1.ReleaseType.SCHEDULED,
99
- // Convert time format to 2020-06-17T12:00:00-07:00
100
- earliestReleaseDate: (_b = (_a = (0, date_1.removeDatePrecision)(release.autoReleaseDate)) === null || _a === void 0 ? void 0 : _a.toISOString()) !== null && _b !== void 0 ? _b : null,
105
+ // Convert time format to 2020-06-17T12:00:00-07:00, if that fails, try the date anyways.
106
+ earliestReleaseDate: (_b = (_a = (0, date_1.removeDatePrecision)(release.automaticRelease)) === null || _a === void 0 ? void 0 : _a.toISOString()) !== null && _b !== void 0 ? _b : release.automaticRelease,
101
107
  };
102
108
  }
103
109
  if ((release === null || release === void 0 ? void 0 : release.automaticRelease) === true) {
@@ -114,6 +120,17 @@ class AppleConfigReader {
114
120
  }
115
121
  return null;
116
122
  }
123
+ getVersionReleasePhased() {
124
+ var _a;
125
+ if (((_a = this.schema.release) === null || _a === void 0 ? void 0 : _a.phasedRelease) === true) {
126
+ return {
127
+ phasedReleaseState: apple_utils_1.PhasedReleaseState.ACTIVE,
128
+ };
129
+ }
130
+ // When phased release is turned off, we need to delete the phased release request.
131
+ // There is no concept (yet) of pausing the phased release through EAS metadata.
132
+ return null;
133
+ }
117
134
  getVersionLocale(locale, context) {
118
135
  var _a, _b;
119
136
  const info = (_a = this.schema.info) === null || _a === void 0 ? void 0 : _a[locale];
@@ -1,5 +1,5 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
- import { AgeRatingDeclaration, AppInfo, AppInfoLocalization, AppStoreReviewDetail, AppStoreVersion, AppStoreVersionLocalization } from '@expo/apple-utils';
2
+ import { AgeRatingDeclaration, AppInfo, AppInfoLocalization, AppStoreReviewDetail, AppStoreVersion, AppStoreVersionLocalization, AppStoreVersionPhasedRelease } from '@expo/apple-utils';
3
3
  import { AttributesOf } from '../../utils/asc';
4
4
  import { AppleMetadata } from '../types';
5
5
  /**
@@ -18,7 +18,8 @@ export declare class AppleConfigWriter {
18
18
  setInfoLocale(attributes: AttributesOf<AppInfoLocalization>): void;
19
19
  setCategories(attributes: Pick<AttributesOf<AppInfo>, 'primaryCategory' | 'primarySubcategoryOne' | 'primarySubcategoryTwo' | 'secondaryCategory' | 'secondarySubcategoryOne' | 'secondarySubcategoryTwo'>): void;
20
20
  setVersion(attributes: Omit<AttributesOf<AppStoreVersion>, 'releaseType' | 'earliestReleaseDate'>): void;
21
- setVersionRelease(attributes: Pick<AttributesOf<AppStoreVersion>, 'releaseType' | 'earliestReleaseDate'>): void;
21
+ setVersionReleaseType(attributes: Pick<AttributesOf<AppStoreVersion>, 'releaseType' | 'earliestReleaseDate'>): void;
22
+ setVersionReleasePhased(attributes?: AttributesOf<AppStoreVersionPhasedRelease>): void;
22
23
  setVersionLocale(attributes: AttributesOf<AppStoreVersionLocalization>): void;
23
24
  setReviewDetails(attributes: AttributesOf<AppStoreReviewDetail>): void;
24
25
  }
@@ -82,23 +82,39 @@ class AppleConfigWriter {
82
82
  }
83
83
  }
84
84
  setVersion(attributes) {
85
+ this.schema.version = optional(attributes.versionString);
85
86
  this.schema.copyright = optional(attributes.copyright);
86
87
  }
87
- setVersionRelease(attributes) {
88
- if (attributes.releaseType === apple_utils_1.ReleaseType.SCHEDULED) {
88
+ setVersionReleaseType(attributes) {
89
+ if (attributes.releaseType === apple_utils_1.ReleaseType.SCHEDULED && attributes.earliestReleaseDate) {
89
90
  this.schema.release = {
90
- autoReleaseDate: optional(attributes.earliestReleaseDate),
91
+ ...this.schema.release,
92
+ automaticRelease: attributes.earliestReleaseDate,
91
93
  };
92
94
  }
93
95
  if (attributes.releaseType === apple_utils_1.ReleaseType.AFTER_APPROVAL) {
94
96
  this.schema.release = {
97
+ ...this.schema.release,
95
98
  automaticRelease: true,
96
99
  };
97
100
  }
98
101
  if (attributes.releaseType === apple_utils_1.ReleaseType.MANUAL) {
99
- // ReleaseType.MANUAL is the default behavior, so we don't need to configure it.
100
- // Setting `"automaticRelease": false` is a bit confusing for people who don't know what automaticRelease does.
101
- this.schema.release = undefined;
102
+ this.schema.release = {
103
+ ...this.schema.release,
104
+ automaticRelease: false,
105
+ };
106
+ }
107
+ }
108
+ setVersionReleasePhased(attributes) {
109
+ var _a;
110
+ if (!attributes) {
111
+ (_a = this.schema.release) === null || _a === void 0 ? true : delete _a.phasedRelease;
112
+ }
113
+ else {
114
+ this.schema.release = {
115
+ ...this.schema.release,
116
+ phasedRelease: true,
117
+ };
102
118
  }
103
119
  }
104
120
  setVersionLocale(attributes) {
@@ -1,11 +1,13 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
- import { AppStoreVersion, AppStoreVersionLocalization, Platform } from '@expo/apple-utils';
2
+ import { AppStoreVersion, AppStoreVersionLocalization, AppStoreVersionPhasedRelease, Platform } from '@expo/apple-utils';
3
3
  import { AppleTask, TaskDownloadOptions, TaskPrepareOptions, TaskUploadOptions } from '../task';
4
4
  export declare type AppVersionOptions = {
5
5
  /** If we should use the live version of the app (if available - defaults to false) */
6
6
  editLive: boolean;
7
7
  /** The platform to use (defaults to IOS) */
8
8
  platform: Platform;
9
+ /** A version to create or select, if defined in the store configuration */
10
+ version: string | null;
9
11
  };
10
12
  export declare type AppVersionData = {
11
13
  /** The current selected app store version to update */
@@ -16,6 +18,8 @@ export declare type AppVersionData = {
16
18
  versionIsFirst: boolean;
17
19
  /** All version locales that should be, or are enabled */
18
20
  versionLocales: AppStoreVersionLocalization[];
21
+ /** The (existing) phased release configuration, when set */
22
+ versionPhasedRelease: AppStoreVersionPhasedRelease | null;
19
23
  };
20
24
  export declare class AppVersionTask extends AppleTask {
21
25
  private options;