eas-cli 0.33.1 → 0.34.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 (90) hide show
  1. package/README.md +26 -26
  2. package/build/analytics.js +3 -9
  3. package/build/build/android/configure.js +2 -2
  4. package/build/build/android/graphql.js +2 -4
  5. package/build/build/android/prepareJob.js +4 -3
  6. package/build/build/build.js +2 -2
  7. package/build/build/configure.js +14 -7
  8. package/build/build/ios/UpdatesModule.js +2 -2
  9. package/build/build/ios/graphql.js +2 -23
  10. package/build/build/ios/prepareJob.js +4 -6
  11. package/build/build/metadata.js +5 -10
  12. package/build/build/utils/devClient.js +2 -2
  13. package/build/build/utils/repository.js +10 -7
  14. package/build/build/validate.js +4 -4
  15. package/build/commandUtils/EasCommand.d.ts +1 -0
  16. package/build/commandUtils/EasCommand.js +21 -0
  17. package/build/commands/branch/create.js +3 -2
  18. package/build/commands/branch/delete.js +1 -1
  19. package/build/commands/branch/list.js +1 -1
  20. package/build/commands/branch/publish.js +6 -5
  21. package/build/commands/branch/view.js +1 -1
  22. package/build/commands/build/index.js +35 -25
  23. package/build/commands/channel/edit.js +1 -1
  24. package/build/commands/channel/list.js +1 -1
  25. package/build/commands/channel/view.js +1 -1
  26. package/build/commands/diagnostics.js +2 -2
  27. package/build/commands/project/info.js +1 -1
  28. package/build/commands/update/view.js +1 -1
  29. package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.js +2 -0
  30. package/build/credentials/credentialsJson/update.js +5 -4
  31. package/build/credentials/ios/actions/CreateDistributionCertificate.js +1 -1
  32. package/build/credentials/ios/actions/CreatePushKey.js +1 -1
  33. package/build/credentials/ios/actions/DistributionCertificateUtils.d.ts +1 -1
  34. package/build/credentials/ios/actions/DistributionCertificateUtils.js +5 -7
  35. package/build/credentials/ios/actions/PushKeyUtils.d.ts +1 -1
  36. package/build/credentials/ios/actions/PushKeyUtils.js +5 -5
  37. package/build/credentials/ios/api/graphql/queries/AppQuery.js +3 -1
  38. package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.js +6 -2
  39. package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.js +7 -1
  40. package/build/credentials/ios/api/graphql/queries/AppleProvisioningProfileQuery.js +5 -1
  41. package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.js +2 -0
  42. package/build/credentials/ios/api/graphql/queries/AppleTeamQuery.js +5 -1
  43. package/build/credentials/manager/Actions.d.ts +47 -0
  44. package/build/credentials/manager/Actions.js +48 -0
  45. package/build/credentials/manager/AndroidActions.d.ts +6 -0
  46. package/build/credentials/manager/AndroidActions.js +114 -0
  47. package/build/credentials/manager/IosActions.d.ts +6 -0
  48. package/build/credentials/manager/IosActions.js +110 -0
  49. package/build/credentials/manager/ManageAndroid.d.ts +1 -29
  50. package/build/credentials/manager/ManageAndroid.js +26 -159
  51. package/build/credentials/manager/ManageIos.d.ts +1 -29
  52. package/build/credentials/manager/ManageIos.js +28 -155
  53. package/build/graphql/client.d.ts +8 -2
  54. package/build/graphql/generated.d.ts +85 -8
  55. package/build/graphql/generated.js +23 -1
  56. package/build/graphql/queries/BuildQuery.js +4 -1
  57. package/build/graphql/queries/EnvironmentSecretsQuery.js +4 -2
  58. package/build/graphql/queries/ProjectQuery.js +3 -1
  59. package/build/graphql/queries/PublishQuery.js +4 -1
  60. package/build/graphql/queries/SubmissionQuery.js +5 -2
  61. package/build/graphql/queries/UserQuery.js +4 -1
  62. package/build/graphql/queries/WebhookQuery.js +6 -2
  63. package/build/log.d.ts +0 -2
  64. package/build/log.js +2 -12
  65. package/build/project/projectUtils.js +1 -1
  66. package/build/project/publish.js +2 -2
  67. package/build/project/workflow.js +2 -2
  68. package/build/submit/ios/IosSubmitter.js +1 -1
  69. package/build/user/User.js +1 -0
  70. package/build/utils/easCli.d.ts +1 -0
  71. package/build/utils/easCli.js +5 -0
  72. package/build/utils/{expoCommand.d.ts → expoCli.d.ts} +0 -0
  73. package/build/utils/{expoCommand.js → expoCli.js} +0 -0
  74. package/build/utils/profiles.js +9 -2
  75. package/build/vcs/clients/git.d.ts +26 -0
  76. package/build/vcs/clients/git.js +184 -0
  77. package/build/vcs/clients/gitNoCommit.d.ts +7 -0
  78. package/build/vcs/clients/gitNoCommit.js +27 -0
  79. package/build/vcs/clients/noVcs.d.ts +6 -0
  80. package/build/vcs/clients/noVcs.js +19 -0
  81. package/build/vcs/git.d.ts +10 -17
  82. package/build/vcs/git.js +7 -175
  83. package/build/vcs/index.d.ts +2 -2
  84. package/build/vcs/index.js +15 -6
  85. package/build/vcs/local.d.ts +18 -5
  86. package/build/vcs/local.js +61 -32
  87. package/build/vcs/vcs.d.ts +2 -1
  88. package/build/vcs/vcs.js +8 -4
  89. package/oclif.manifest.json +1 -1
  90. package/package.json +4 -4
@@ -1,33 +1,6 @@
1
1
  import { CredentialsContext } from '../context';
2
+ import { ActionInfo } from './Actions';
2
3
  import { Action } from './HelperActions';
3
- declare enum ActionType {
4
- ManageCredentialsJson = 0,
5
- ManageBuildCredentials = 1,
6
- ManagePushKey = 2,
7
- GoBackToCaller = 3,
8
- GoBackToHighLevelActions = 4,
9
- SetupBuildCredentials = 5,
10
- SetupBuildCredentialsFromCredentialsJson = 6,
11
- UpdateCredentialsJson = 7,
12
- UseExistingDistributionCertificate = 8,
13
- RemoveProvisioningProfile = 9,
14
- CreateDistributionCertificate = 10,
15
- RemoveDistributionCertificate = 11,
16
- SetupPushKey = 12,
17
- CreatePushKey = 13,
18
- UseExistingPushKey = 14,
19
- RemovePushKey = 15
20
- }
21
- declare enum Scope {
22
- Project = 0,
23
- Account = 1,
24
- Manager = 2
25
- }
26
- declare type ActionInfo = {
27
- value: ActionType;
28
- title: string;
29
- scope: Scope;
30
- };
31
4
  export declare class ManageIos {
32
5
  private callingAction;
33
6
  constructor(callingAction: Action);
@@ -38,4 +11,3 @@ export declare class ManageIos {
38
11
  private setupProvisioningProfileWithSpecificDistCertAsync;
39
12
  private selectTargetAsync;
40
13
  }
41
- export {};
@@ -30,145 +30,18 @@ const SetupPushKey_1 = require("../ios/actions/SetupPushKey");
30
30
  const UpdateCredentialsJson_1 = require("../ios/actions/UpdateCredentialsJson");
31
31
  const entitlements_1 = require("../ios/appstore/entitlements");
32
32
  const printCredentials_1 = require("../ios/utils/printCredentials");
33
+ const Actions_1 = require("./Actions");
33
34
  const HelperActions_1 = require("./HelperActions");
35
+ const IosActions_1 = require("./IosActions");
34
36
  const SelectBuildProfileFromEasJson_1 = require("./SelectBuildProfileFromEasJson");
35
37
  const SelectIosDistributionTypeGraphqlFromBuildProfile_1 = require("./SelectIosDistributionTypeGraphqlFromBuildProfile");
36
- var ActionType;
37
- (function (ActionType) {
38
- ActionType[ActionType["ManageCredentialsJson"] = 0] = "ManageCredentialsJson";
39
- ActionType[ActionType["ManageBuildCredentials"] = 1] = "ManageBuildCredentials";
40
- ActionType[ActionType["ManagePushKey"] = 2] = "ManagePushKey";
41
- ActionType[ActionType["GoBackToCaller"] = 3] = "GoBackToCaller";
42
- ActionType[ActionType["GoBackToHighLevelActions"] = 4] = "GoBackToHighLevelActions";
43
- ActionType[ActionType["SetupBuildCredentials"] = 5] = "SetupBuildCredentials";
44
- ActionType[ActionType["SetupBuildCredentialsFromCredentialsJson"] = 6] = "SetupBuildCredentialsFromCredentialsJson";
45
- ActionType[ActionType["UpdateCredentialsJson"] = 7] = "UpdateCredentialsJson";
46
- ActionType[ActionType["UseExistingDistributionCertificate"] = 8] = "UseExistingDistributionCertificate";
47
- ActionType[ActionType["RemoveProvisioningProfile"] = 9] = "RemoveProvisioningProfile";
48
- ActionType[ActionType["CreateDistributionCertificate"] = 10] = "CreateDistributionCertificate";
49
- ActionType[ActionType["RemoveDistributionCertificate"] = 11] = "RemoveDistributionCertificate";
50
- ActionType[ActionType["SetupPushKey"] = 12] = "SetupPushKey";
51
- ActionType[ActionType["CreatePushKey"] = 13] = "CreatePushKey";
52
- ActionType[ActionType["UseExistingPushKey"] = 14] = "UseExistingPushKey";
53
- ActionType[ActionType["RemovePushKey"] = 15] = "RemovePushKey";
54
- })(ActionType || (ActionType = {}));
55
- var Scope;
56
- (function (Scope) {
57
- Scope[Scope["Project"] = 0] = "Project";
58
- Scope[Scope["Account"] = 1] = "Account";
59
- Scope[Scope["Manager"] = 2] = "Manager";
60
- })(Scope || (Scope = {}));
61
- const highLevelActions = [
62
- {
63
- value: ActionType.ManageBuildCredentials,
64
- title: 'Build Credentials: Manage everything needed to build your project',
65
- scope: Scope.Manager,
66
- },
67
- {
68
- value: ActionType.ManagePushKey,
69
- title: 'Push Notifications: Manage your Apple Push Notifications Key',
70
- scope: Scope.Manager,
71
- },
72
- {
73
- value: ActionType.ManageCredentialsJson,
74
- title: 'credentials.json: Upload/Download credentials between EAS servers and your local json ',
75
- scope: Scope.Manager,
76
- },
77
- {
78
- value: ActionType.GoBackToCaller,
79
- title: 'Go back',
80
- scope: Scope.Manager,
81
- },
82
- ];
83
- const credentialsJsonActions = [
84
- {
85
- value: ActionType.UpdateCredentialsJson,
86
- title: 'Download credentials from EAS to credentials.json',
87
- scope: Scope.Project,
88
- },
89
- {
90
- value: ActionType.SetupBuildCredentialsFromCredentialsJson,
91
- title: 'Upload credentials from credentials.json to EAS',
92
- scope: Scope.Project,
93
- },
94
- {
95
- value: ActionType.GoBackToHighLevelActions,
96
- title: 'Go back',
97
- scope: Scope.Manager,
98
- },
99
- ];
100
- function getPushKeyActions(ctx) {
101
- return [
102
- {
103
- value: ActionType.SetupPushKey,
104
- title: 'Setup your project to use Push Notifications',
105
- scope: Scope.Project,
106
- },
107
- {
108
- value: ActionType.CreatePushKey,
109
- title: 'Add a new push key',
110
- scope: ctx.hasProjectContext ? Scope.Project : Scope.Account,
111
- },
112
- {
113
- value: ActionType.UseExistingPushKey,
114
- title: 'Use an existing push key',
115
- scope: Scope.Project,
116
- },
117
- {
118
- value: ActionType.RemovePushKey,
119
- title: 'Remove a push key from your account',
120
- scope: Scope.Account,
121
- },
122
- {
123
- value: ActionType.GoBackToHighLevelActions,
124
- title: 'Go back',
125
- scope: Scope.Manager,
126
- },
127
- ];
128
- }
129
- function getBuildCredentialsActions(ctx) {
130
- return [
131
- {
132
- // This command will be triggered during build to ensure all credentials are ready
133
- // I'm leaving it here for now to simplify testing
134
- value: ActionType.SetupBuildCredentials,
135
- title: 'All: Set up all the required credentials to build your project',
136
- scope: Scope.Project,
137
- },
138
- {
139
- value: ActionType.UseExistingDistributionCertificate,
140
- title: 'Distribution Certificate: Use an existing one for your project',
141
- scope: Scope.Project,
142
- },
143
- {
144
- value: ActionType.CreateDistributionCertificate,
145
- title: `Distribution Certificate: Add a new one to your account`,
146
- scope: ctx.hasProjectContext ? Scope.Project : Scope.Account,
147
- },
148
- {
149
- value: ActionType.RemoveDistributionCertificate,
150
- title: 'Distribution Certificate: Delete one from your account',
151
- scope: Scope.Account,
152
- },
153
- {
154
- value: ActionType.RemoveProvisioningProfile,
155
- title: 'Provisioning Profile: Delete one from your project',
156
- scope: Scope.Project,
157
- },
158
- {
159
- value: ActionType.GoBackToHighLevelActions,
160
- title: 'Go back',
161
- scope: Scope.Manager,
162
- },
163
- ];
164
- }
165
38
  class ManageIos {
166
39
  constructor(callingAction) {
167
40
  this.callingAction = callingAction;
168
41
  }
169
- async runAsync(ctx, currentActions = highLevelActions) {
170
- const buildCredentialsActions = getBuildCredentialsActions(ctx);
171
- const pushKeyActions = getPushKeyActions(ctx);
42
+ async runAsync(ctx, currentActions = IosActions_1.highLevelActions) {
43
+ const buildCredentialsActions = (0, IosActions_1.getBuildCredentialsActions)(ctx);
44
+ const pushKeyActions = (0, IosActions_1.getPushKeyActions)(ctx);
172
45
  await ctx.bestEffortAppStoreAuthenticateAsync();
173
46
  const accountName = ctx.hasProjectContext
174
47
  ? (0, projectUtils_1.getProjectAccountName)(ctx.exp, ctx.user)
@@ -203,32 +76,32 @@ class ManageIos {
203
76
  if (!actionInfo) {
204
77
  throw new Error('Action not supported yet');
205
78
  }
206
- if (actionInfo.scope === Scope.Manager) {
207
- if (chosenAction === ActionType.ManageBuildCredentials) {
79
+ if (actionInfo.scope === Actions_1.Scope.Manager) {
80
+ if (chosenAction === Actions_1.IosActionType.ManageBuildCredentials) {
208
81
  currentActions = buildCredentialsActions;
209
82
  continue;
210
83
  }
211
- else if (chosenAction === ActionType.ManageCredentialsJson) {
212
- currentActions = credentialsJsonActions;
84
+ else if (chosenAction === Actions_1.IosActionType.ManageCredentialsJson) {
85
+ currentActions = IosActions_1.credentialsJsonActions;
213
86
  continue;
214
87
  }
215
- else if (chosenAction === ActionType.ManagePushKey) {
88
+ else if (chosenAction === Actions_1.IosActionType.ManagePushKey) {
216
89
  currentActions = pushKeyActions;
217
90
  continue;
218
91
  }
219
- else if (chosenAction === ActionType.GoBackToHighLevelActions) {
220
- currentActions = highLevelActions;
92
+ else if (chosenAction === Actions_1.IosActionType.GoBackToHighLevelActions) {
93
+ currentActions = IosActions_1.highLevelActions;
221
94
  continue;
222
95
  }
223
- else if (chosenAction === ActionType.GoBackToCaller) {
96
+ else if (chosenAction === Actions_1.IosActionType.GoBackToCaller) {
224
97
  return await this.callingAction.runAsync(ctx);
225
98
  }
226
99
  }
227
- else if (actionInfo.scope === Scope.Project) {
100
+ else if (actionInfo.scope === Actions_1.Scope.Project) {
228
101
  (0, assert_1.default)(ctx.hasProjectContext, 'You must be in your project directory in order to perform this action');
229
102
  await this.runProjectSpecificActionAsync(ctx, (0, nullthrows_1.default)(app, 'app must be defined in project context'), (0, nullthrows_1.default)(targets, 'targets must be defined in project context'), (0, nullthrows_1.default)(buildProfile, 'buildProfile must be defined in project context'), chosenAction);
230
103
  }
231
- else if (actionInfo.scope === Scope.Account) {
104
+ else if (actionInfo.scope === Actions_1.Scope.Account) {
232
105
  await this.runAccountSpecificActionAsync(ctx, account, chosenAction);
233
106
  }
234
107
  else {
@@ -272,22 +145,22 @@ class ManageIos {
272
145
  };
273
146
  }
274
147
  async runAccountSpecificActionAsync(ctx, account, action) {
275
- if (action === ActionType.RemoveDistributionCertificate) {
148
+ if (action === Actions_1.IosActionType.RemoveDistributionCertificate) {
276
149
  await new RemoveDistributionCertificate_1.SelectAndRemoveDistributionCertificate(account).runAsync(ctx);
277
150
  }
278
- else if (action === ActionType.CreateDistributionCertificate) {
151
+ else if (action === Actions_1.IosActionType.CreateDistributionCertificate) {
279
152
  await new CreateDistributionCertificate_1.CreateDistributionCertificate(account).runAsync(ctx);
280
153
  }
281
- else if (action === ActionType.CreatePushKey) {
154
+ else if (action === Actions_1.IosActionType.CreatePushKey) {
282
155
  await new CreatePushKey_1.CreatePushKey(account).runAsync(ctx);
283
156
  }
284
- else if (action === ActionType.RemovePushKey) {
157
+ else if (action === Actions_1.IosActionType.RemovePushKey) {
285
158
  await new RemovePushKey_1.SelectAndRemovePushKey(account).runAsync(ctx);
286
159
  }
287
160
  }
288
161
  async runProjectSpecificActionAsync(ctx, app, targets, buildProfile, action) {
289
162
  var _a;
290
- if (action === ActionType.SetupBuildCredentials) {
163
+ if (action === Actions_1.IosActionType.SetupBuildCredentials) {
291
164
  await new SetupBuildCredentials_1.SetupBuildCredentials({
292
165
  app,
293
166
  targets,
@@ -300,18 +173,18 @@ class ManageIos {
300
173
  return;
301
174
  }
302
175
  const distributionType = await new SelectIosDistributionTypeGraphqlFromBuildProfile_1.SelectIosDistributionTypeGraphqlFromBuildProfile(buildProfile).runAsync(ctx);
303
- if (action === ActionType.SetupBuildCredentialsFromCredentialsJson) {
176
+ if (action === Actions_1.IosActionType.SetupBuildCredentialsFromCredentialsJson) {
304
177
  await new SetupBuildCredentialsFromCredentialsJson_1.SetupBuildCredentialsFromCredentialsJson(app, targets, distributionType).runAsync(ctx);
305
178
  return;
306
179
  }
307
- else if (action === ActionType.UpdateCredentialsJson) {
180
+ else if (action === Actions_1.IosActionType.UpdateCredentialsJson) {
308
181
  await new UpdateCredentialsJson_1.UpdateCredentialsJson(app, targets, distributionType).runAsync(ctx);
309
182
  return;
310
183
  }
311
184
  const target = await this.selectTargetAsync(targets);
312
185
  const appLookupParams = (0, BuildCredentialsUtils_1.getAppLookupParamsFromContext)(ctx, target);
313
186
  switch (action) {
314
- case ActionType.UseExistingDistributionCertificate: {
187
+ case Actions_1.IosActionType.UseExistingDistributionCertificate: {
315
188
  const distCert = await (0, DistributionCertificateUtils_1.selectValidDistributionCertificateAsync)(ctx, appLookupParams);
316
189
  if (!distCert) {
317
190
  return;
@@ -319,7 +192,7 @@ class ManageIos {
319
192
  await this.setupProvisioningProfileWithSpecificDistCertAsync(ctx, appLookupParams, distCert, distributionType);
320
193
  return;
321
194
  }
322
- case ActionType.CreateDistributionCertificate: {
195
+ case Actions_1.IosActionType.CreateDistributionCertificate: {
323
196
  const distCert = await new CreateDistributionCertificate_1.CreateDistributionCertificate(appLookupParams.account).runAsync(ctx);
324
197
  const confirm = await (0, prompts_1.confirmAsync)({
325
198
  message: `Do you want ${appLookupParams.projectName} to use the new Distribution Certificate?`,
@@ -329,7 +202,7 @@ class ManageIos {
329
202
  }
330
203
  return;
331
204
  }
332
- case ActionType.RemoveProvisioningProfile: {
205
+ case Actions_1.IosActionType.RemoveProvisioningProfile: {
333
206
  const iosAppCredentials = await ctx.ios.getIosAppCredentialsWithCommonFieldsAsync(appLookupParams);
334
207
  const provisioningProfile = (_a = iosAppCredentials === null || iosAppCredentials === void 0 ? void 0 : iosAppCredentials.iosAppBuildCredentialsList.find(buildCredentials => buildCredentials.iosDistributionType === distributionType)) === null || _a === void 0 ? void 0 : _a.provisioningProfile;
335
208
  if (!provisioningProfile) {
@@ -344,7 +217,7 @@ class ManageIos {
344
217
  }
345
218
  return;
346
219
  }
347
- case ActionType.SetupPushKey: {
220
+ case Actions_1.IosActionType.SetupPushKey: {
348
221
  const setupPushKeyAction = await new SetupPushKey_1.SetupPushKey(appLookupParams);
349
222
  const isPushKeySetup = await setupPushKeyAction.isPushKeySetupAsync(ctx);
350
223
  if (isPushKeySetup) {
@@ -355,7 +228,7 @@ class ManageIos {
355
228
  }
356
229
  return;
357
230
  }
358
- case ActionType.CreatePushKey: {
231
+ case Actions_1.IosActionType.CreatePushKey: {
359
232
  const pushKey = await new CreatePushKey_1.CreatePushKey(appLookupParams.account).runAsync(ctx);
360
233
  const confirm = await (0, prompts_1.confirmAsync)({
361
234
  message: `Do you want ${appLookupParams.projectName} to use the new Push Key?`,
@@ -365,7 +238,7 @@ class ManageIos {
365
238
  }
366
239
  return;
367
240
  }
368
- case ActionType.UseExistingPushKey: {
241
+ case Actions_1.IosActionType.UseExistingPushKey: {
369
242
  const selectedPushKey = await (0, PushKeyUtils_1.selectPushKeyAsync)(ctx, appLookupParams.account);
370
243
  if (selectedPushKey) {
371
244
  await new AssignPushKey_1.AssignPushKey(appLookupParams).runAsync(ctx, selectedPushKey);
@@ -1,4 +1,10 @@
1
- import { CombinedError as GraphqlError, OperationResult } from '@urql/core';
2
- export declare const graphqlClient: import("@urql/core").Client;
1
+ import { Client, CombinedError as GraphqlError, OperationContext, OperationResult, PromisifiedSource, TypedDocumentNode } from '@urql/core';
2
+ import { DocumentNode } from 'graphql';
3
+ export declare const graphqlClient: StricterClient;
4
+ export interface StricterClient extends Client {
5
+ query<Data = any, Variables extends object = {}>(query: DocumentNode | TypedDocumentNode<Data, Variables> | string, variables: Variables | undefined, context: Partial<OperationContext> & {
6
+ additionalTypenames: string[];
7
+ }): PromisifiedSource<OperationResult<Data, Variables>>;
8
+ }
3
9
  export declare function withErrorHandlingAsync<T>(promise: Promise<OperationResult<T>>): Promise<T>;
4
10
  export { GraphqlError };
@@ -198,6 +198,7 @@ export declare type Account = {
198
198
  appleProvisioningProfiles: Array<AppleProvisioningProfile>;
199
199
  appleDevices: Array<AppleDevice>;
200
200
  appleAppSpecificPasswords: Array<AppleAppSpecificPassword>;
201
+ appStoreConnectApiKeys: Array<AppStoreConnectApiKey>;
201
202
  /** Android credentials for account */
202
203
  googleServiceAccountKeys: Array<GoogleServiceAccountKey>;
203
204
  /** Environment secrets for an account */
@@ -617,6 +618,7 @@ export declare type Build = ActivityTimelineProjectActivity & BuildOrBuildJob &
617
618
  iosEnterpriseProvisioning?: Maybe<BuildIosEnterpriseProvisioning>;
618
619
  buildProfile?: Maybe<Scalars['String']>;
619
620
  gitCommitHash?: Maybe<Scalars['String']>;
621
+ isGitWorkingTreeDirty?: Maybe<Scalars['Boolean']>;
620
622
  error?: Maybe<BuildError>;
621
623
  submissions: Array<Submission>;
622
624
  };
@@ -846,7 +848,7 @@ export declare type IosSubmissionConfig = {
846
848
  __typename?: 'IosSubmissionConfig';
847
849
  ascAppIdentifier: Scalars['String'];
848
850
  appleIdUsername: Scalars['String'];
849
- appleAppSpecificPasswordId?: Maybe<Scalars['String']>;
851
+ ascApiKeyId?: Maybe<Scalars['String']>;
850
852
  };
851
853
  export declare type SubmissionError = {
852
854
  __typename?: 'SubmissionError';
@@ -974,6 +976,7 @@ export declare type IosAppCredentials = {
974
976
  appleAppIdentifier: AppleAppIdentifier;
975
977
  iosAppBuildCredentialsList: Array<IosAppBuildCredentials>;
976
978
  pushKey?: Maybe<ApplePushKey>;
979
+ appStoreConnectApiKeyForSubmissions?: Maybe<AppStoreConnectApiKey>;
977
980
  appSpecificPassword?: Maybe<AppleAppSpecificPassword>;
978
981
  /** @deprecated use iosAppBuildCredentialsList instead */
979
982
  iosAppBuildCredentialsArray: Array<IosAppBuildCredentials>;
@@ -1087,6 +1090,36 @@ export declare type ApplePushKey = {
1087
1090
  export declare type IosAppBuildCredentialsFilter = {
1088
1091
  iosDistributionType?: Maybe<IosDistributionType>;
1089
1092
  };
1093
+ export declare type AppStoreConnectApiKey = {
1094
+ __typename?: 'AppStoreConnectApiKey';
1095
+ id: Scalars['ID'];
1096
+ account: Account;
1097
+ appleTeam?: Maybe<AppleTeam>;
1098
+ issuerIdentifier: Scalars['String'];
1099
+ keyIdentifier: Scalars['String'];
1100
+ name?: Maybe<Scalars['String']>;
1101
+ roles?: Maybe<Array<AppStoreConnectUserRole>>;
1102
+ createdAt: Scalars['DateTime'];
1103
+ updatedAt: Scalars['DateTime'];
1104
+ };
1105
+ export declare enum AppStoreConnectUserRole {
1106
+ Admin = "ADMIN",
1107
+ Finance = "FINANCE",
1108
+ Technical = "TECHNICAL",
1109
+ AccountHolder = "ACCOUNT_HOLDER",
1110
+ ReadOnly = "READ_ONLY",
1111
+ Sales = "SALES",
1112
+ Marketing = "MARKETING",
1113
+ AppManager = "APP_MANAGER",
1114
+ Developer = "DEVELOPER",
1115
+ AccessToReports = "ACCESS_TO_REPORTS",
1116
+ CustomerSupport = "CUSTOMER_SUPPORT",
1117
+ CreateApps = "CREATE_APPS",
1118
+ CloudManagedDeveloperId = "CLOUD_MANAGED_DEVELOPER_ID",
1119
+ CloudManagedAppDistribution = "CLOUD_MANAGED_APP_DISTRIBUTION",
1120
+ ImageManager = "IMAGE_MANAGER",
1121
+ Unknown = "UNKNOWN"
1122
+ }
1090
1123
  export declare type AppleAppSpecificPassword = {
1091
1124
  __typename?: 'AppleAppSpecificPassword';
1092
1125
  id: Scalars['ID'];
@@ -1248,6 +1281,7 @@ export declare type SubscriptionDetails = {
1248
1281
  planId?: Maybe<Scalars['String']>;
1249
1282
  addons: Array<AddonDetails>;
1250
1283
  name?: Maybe<Scalars['String']>;
1284
+ price: Scalars['Int'];
1251
1285
  nextInvoice?: Maybe<Scalars['DateTime']>;
1252
1286
  cancelledAt?: Maybe<Scalars['DateTime']>;
1253
1287
  willCancel?: Maybe<Scalars['Boolean']>;
@@ -1594,6 +1628,8 @@ export declare type RootMutation = {
1594
1628
  applePushKey: ApplePushKeyMutation;
1595
1629
  /** Mutations that modify an Apple Team */
1596
1630
  appleTeam: AppleTeamMutation;
1631
+ /** Mutations that modify an App Store Connect Api Key */
1632
+ appStoreConnectApiKey: AppStoreConnectApiKeyMutation;
1597
1633
  /** Mutations that modify an App */
1598
1634
  app?: Maybe<AppMutation>;
1599
1635
  asset: AssetMutation;
@@ -1680,6 +1716,8 @@ export declare type AccountMutation = {
1680
1716
  subscribeToProduct?: Maybe<Account>;
1681
1717
  /** Cancels the active subscription */
1682
1718
  cancelSubscription?: Maybe<Account>;
1719
+ /** Requests a refund for the specified charge. Returns true if auto-refund was possible, otherwise requests a manual refund from support and returns false. */
1720
+ requestRefund?: Maybe<Scalars['Boolean']>;
1683
1721
  /**
1684
1722
  * Makes a one time purchase
1685
1723
  * @deprecated Build packs are no longer supported
@@ -1715,6 +1753,10 @@ export declare type AccountMutationSubscribeToProductArgs = {
1715
1753
  export declare type AccountMutationCancelSubscriptionArgs = {
1716
1754
  accountName: Scalars['ID'];
1717
1755
  };
1756
+ export declare type AccountMutationRequestRefundArgs = {
1757
+ accountID: Scalars['ID'];
1758
+ chargeIdentifier: Scalars['ID'];
1759
+ };
1718
1760
  export declare type AccountMutationBuyProductArgs = {
1719
1761
  accountName: Scalars['ID'];
1720
1762
  productId: Scalars['ID'];
@@ -2032,6 +2074,32 @@ export declare type AppleTeamInput = {
2032
2074
  appleTeamIdentifier: Scalars['String'];
2033
2075
  appleTeamName?: Maybe<Scalars['String']>;
2034
2076
  };
2077
+ export declare type AppStoreConnectApiKeyMutation = {
2078
+ __typename?: 'AppStoreConnectApiKeyMutation';
2079
+ /** Create an App Store Connect Api Key for an Apple Team */
2080
+ createAppStoreConnectApiKey: AppStoreConnectApiKey;
2081
+ /** Delete an App Store Connect Api Key */
2082
+ deleteAppStoreConnectApiKey: DeleteAppStoreConnectApiKeyResult;
2083
+ };
2084
+ export declare type AppStoreConnectApiKeyMutationCreateAppStoreConnectApiKeyArgs = {
2085
+ appStoreConnectApiKeyInput: AppStoreConnectApiKeyInput;
2086
+ accountId: Scalars['ID'];
2087
+ };
2088
+ export declare type AppStoreConnectApiKeyMutationDeleteAppStoreConnectApiKeyArgs = {
2089
+ id: Scalars['ID'];
2090
+ };
2091
+ export declare type AppStoreConnectApiKeyInput = {
2092
+ issuerIdentifier: Scalars['String'];
2093
+ keyIdentifier: Scalars['String'];
2094
+ keyP8: Scalars['String'];
2095
+ name?: Maybe<Scalars['String']>;
2096
+ roles?: Maybe<Array<AppStoreConnectUserRole>>;
2097
+ appleTeamId?: Maybe<Scalars['ID']>;
2098
+ };
2099
+ export declare type DeleteAppStoreConnectApiKeyResult = {
2100
+ __typename?: 'deleteAppStoreConnectApiKeyResult';
2101
+ id: Scalars['ID'];
2102
+ };
2035
2103
  export declare type AppMutation = {
2036
2104
  __typename?: 'AppMutation';
2037
2105
  /** Create an unpublished app */
@@ -2116,6 +2184,7 @@ export declare type AndroidJobInput = {
2116
2184
  projectRootDirectory: Scalars['String'];
2117
2185
  releaseChannel?: Maybe<Scalars['String']>;
2118
2186
  updates?: Maybe<BuildUpdatesInput>;
2187
+ developmentClient?: Maybe<Scalars['Boolean']>;
2119
2188
  secrets?: Maybe<AndroidJobSecretsInput>;
2120
2189
  builderEnvironment?: Maybe<AndroidBuilderEnvironmentInput>;
2121
2190
  cache?: Maybe<BuildCacheInput>;
@@ -2171,6 +2240,7 @@ export declare type BuildCacheInput = {
2171
2240
  export declare enum AndroidBuildType {
2172
2241
  Apk = "APK",
2173
2242
  AppBundle = "APP_BUNDLE",
2243
+ /** @deprecated Use developmentClient option instead. */
2174
2244
  DevelopmentClient = "DEVELOPMENT_CLIENT"
2175
2245
  }
2176
2246
  export declare type BuildMetadataInput = {
@@ -2190,6 +2260,7 @@ export declare type BuildMetadataInput = {
2190
2260
  appIdentifier?: Maybe<Scalars['String']>;
2191
2261
  buildProfile?: Maybe<Scalars['String']>;
2192
2262
  gitCommitHash?: Maybe<Scalars['String']>;
2263
+ isGitWorkingTreeDirty?: Maybe<Scalars['Boolean']>;
2193
2264
  username?: Maybe<Scalars['String']>;
2194
2265
  };
2195
2266
  export declare enum BuildCredentialsSource {
@@ -2216,13 +2287,17 @@ export declare type IosJobInput = {
2216
2287
  projectRootDirectory: Scalars['String'];
2217
2288
  releaseChannel?: Maybe<Scalars['String']>;
2218
2289
  updates?: Maybe<BuildUpdatesInput>;
2290
+ /** @deprecated */
2219
2291
  distribution?: Maybe<DistributionType>;
2292
+ simulator?: Maybe<Scalars['Boolean']>;
2293
+ developmentClient?: Maybe<Scalars['Boolean']>;
2220
2294
  secrets?: Maybe<IosJobSecretsInput>;
2221
2295
  builderEnvironment?: Maybe<IosBuilderEnvironmentInput>;
2222
2296
  cache?: Maybe<BuildCacheInput>;
2223
2297
  scheme?: Maybe<Scalars['String']>;
2224
2298
  buildConfiguration?: Maybe<Scalars['String']>;
2225
2299
  artifactPath?: Maybe<Scalars['String']>;
2300
+ /** @deprecated */
2226
2301
  buildType?: Maybe<IosBuildType>;
2227
2302
  username?: Maybe<Scalars['String']>;
2228
2303
  };
@@ -2249,6 +2324,7 @@ export declare type IosBuilderEnvironmentInput = {
2249
2324
  expoCli?: Maybe<Scalars['String']>;
2250
2325
  env?: Maybe<Scalars['JSONObject']>;
2251
2326
  };
2327
+ /** @deprecated Use developmentClient option instead. */
2252
2328
  export declare enum IosBuildType {
2253
2329
  Release = "RELEASE",
2254
2330
  DevelopmentClient = "DEVELOPMENT_CLIENT"
@@ -2285,8 +2361,8 @@ export declare type IosAppCredentialsMutation = {
2285
2361
  createIosAppCredentials: IosAppCredentials;
2286
2362
  /** Set the push key to be used in an iOS app */
2287
2363
  setPushKey: IosAppCredentials;
2288
- /** Set the app-specific password to be used for an iOS app */
2289
- setAppSpecificPassword: IosAppCredentials;
2364
+ /** Set the App Store Connect Api Key to be used for submitting an iOS app */
2365
+ setAppStoreConnectApiKeyForSubmissions: IosAppCredentials;
2290
2366
  };
2291
2367
  export declare type IosAppCredentialsMutationCreateIosAppCredentialsArgs = {
2292
2368
  iosAppCredentialsInput: IosAppCredentialsInput;
@@ -2297,14 +2373,14 @@ export declare type IosAppCredentialsMutationSetPushKeyArgs = {
2297
2373
  id: Scalars['ID'];
2298
2374
  pushKeyId: Scalars['ID'];
2299
2375
  };
2300
- export declare type IosAppCredentialsMutationSetAppSpecificPasswordArgs = {
2376
+ export declare type IosAppCredentialsMutationSetAppStoreConnectApiKeyForSubmissionsArgs = {
2301
2377
  id: Scalars['ID'];
2302
- appSpecificPasswordId: Scalars['ID'];
2378
+ ascApiKeyId: Scalars['ID'];
2303
2379
  };
2304
2380
  export declare type IosAppCredentialsInput = {
2305
2381
  appleTeamId?: Maybe<Scalars['ID']>;
2306
2382
  pushKeyId?: Maybe<Scalars['ID']>;
2307
- appSpecificPasswordId?: Maybe<Scalars['ID']>;
2383
+ appStoreConnectApiKeyForSubmissionsId?: Maybe<Scalars['ID']>;
2308
2384
  };
2309
2385
  export declare type RobotMutation = {
2310
2386
  __typename?: 'RobotMutation';
@@ -2393,11 +2469,11 @@ export declare type CreateIosSubmissionInput = {
2393
2469
  submittedBuildId?: Maybe<Scalars['ID']>;
2394
2470
  };
2395
2471
  export declare type IosSubmissionConfigInput = {
2396
- appleAppSpecificPasswordId?: Maybe<Scalars['String']>;
2397
2472
  appleAppSpecificPassword?: Maybe<Scalars['String']>;
2398
2473
  ascApiKey?: Maybe<AscApiKeyInput>;
2474
+ ascApiKeyId?: Maybe<Scalars['String']>;
2399
2475
  archiveUrl?: Maybe<Scalars['String']>;
2400
- appleIdUsername: Scalars['String'];
2476
+ appleIdUsername?: Maybe<Scalars['String']>;
2401
2477
  ascAppIdentifier: Scalars['String'];
2402
2478
  };
2403
2479
  export declare type AscApiKeyInput = {
@@ -2842,6 +2918,7 @@ export declare enum IosSchemeBuildConfiguration {
2842
2918
  Release = "RELEASE",
2843
2919
  Debug = "DEBUG"
2844
2920
  }
2921
+ /** @deprecated Use developmentClient option instead. */
2845
2922
  export declare enum IosManagedBuildType {
2846
2923
  Release = "RELEASE",
2847
2924
  DevelopmentClient = "DEVELOPMENT_CLIENT"
@@ -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";
@@ -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
  },