eas-cli 0.32.0 → 0.34.1
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.
- package/README.md +29 -28
- package/build/analytics.js +3 -9
- package/build/build/android/UpdatesModule.js +4 -15
- package/build/build/android/configure.js +3 -3
- package/build/build/android/graphql.js +2 -4
- package/build/build/android/prepareJob.js +4 -3
- package/build/build/build.js +2 -2
- package/build/build/configure.js +26 -13
- package/build/build/ios/UpdatesModule.js +6 -18
- package/build/build/ios/configure.js +1 -1
- package/build/build/ios/graphql.js +2 -23
- package/build/build/ios/prepareJob.js +4 -6
- package/build/build/metadata.js +5 -10
- package/build/build/utils/appJson.d.ts +1 -0
- package/build/build/utils/appJson.js +13 -4
- package/build/build/utils/devClient.d.ts +4 -4
- package/build/build/utils/devClient.js +16 -21
- package/build/build/utils/repository.js +10 -7
- package/build/build/validate.js +4 -4
- package/build/commandUtils/EasCommand.d.ts +1 -0
- package/build/commandUtils/EasCommand.js +21 -0
- package/build/commands/branch/create.js +3 -2
- package/build/commands/branch/delete.js +1 -1
- package/build/commands/branch/list.js +1 -1
- package/build/commands/branch/publish.js +20 -48
- package/build/commands/branch/view.js +1 -1
- package/build/commands/build/index.d.ts +1 -1
- package/build/commands/build/index.js +64 -49
- package/build/commands/channel/edit.js +1 -1
- package/build/commands/channel/list.js +1 -1
- package/build/commands/channel/view.js +1 -1
- package/build/commands/diagnostics.js +2 -2
- package/build/commands/project/info.js +1 -1
- package/build/commands/submit.js +15 -8
- package/build/commands/update/view.js +1 -1
- package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.js +2 -0
- package/build/credentials/credentialsJson/update.js +5 -4
- package/build/credentials/ios/IosCredentialsProvider.js +1 -1
- package/build/credentials/ios/actions/CreateDistributionCertificate.js +1 -1
- package/build/credentials/ios/actions/CreatePushKey.js +1 -1
- package/build/credentials/ios/actions/DistributionCertificateUtils.d.ts +1 -1
- package/build/credentials/ios/actions/DistributionCertificateUtils.js +5 -7
- package/build/credentials/ios/actions/PushKeyUtils.d.ts +1 -1
- package/build/credentials/ios/actions/PushKeyUtils.js +5 -5
- package/build/credentials/ios/actions/SetupTargetBuildCredentials.js +1 -1
- package/build/credentials/ios/api/graphql/queries/AppQuery.js +3 -1
- package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.js +6 -2
- package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.js +7 -1
- package/build/credentials/ios/api/graphql/queries/AppleProvisioningProfileQuery.js +5 -1
- package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.js +2 -0
- package/build/credentials/ios/api/graphql/queries/AppleTeamQuery.js +5 -1
- package/build/credentials/ios/utils/printCredentials.js +30 -1
- package/build/credentials/manager/Actions.d.ts +47 -0
- package/build/credentials/manager/Actions.js +48 -0
- package/build/credentials/manager/AndroidActions.d.ts +6 -0
- package/build/credentials/manager/AndroidActions.js +114 -0
- package/build/credentials/manager/IosActions.d.ts +6 -0
- package/build/credentials/manager/IosActions.js +110 -0
- package/build/credentials/manager/ManageAndroid.d.ts +1 -29
- package/build/credentials/manager/ManageAndroid.js +26 -159
- package/build/credentials/manager/ManageIos.d.ts +1 -29
- package/build/credentials/manager/ManageIos.js +28 -155
- package/build/graphql/client.d.ts +8 -2
- package/build/graphql/generated.d.ts +131 -143
- package/build/graphql/generated.js +44 -28
- package/build/graphql/queries/BuildQuery.js +4 -1
- package/build/graphql/queries/EnvironmentSecretsQuery.js +4 -2
- package/build/graphql/queries/ProjectQuery.js +3 -1
- package/build/graphql/queries/PublishQuery.js +4 -1
- package/build/graphql/queries/SubmissionQuery.js +5 -2
- package/build/graphql/queries/UserQuery.js +4 -1
- package/build/graphql/queries/WebhookQuery.js +6 -2
- package/build/graphql/types/credentials/AppStoreConnectApiKey.d.ts +1 -0
- package/build/graphql/types/credentials/AppStoreConnectApiKey.js +23 -0
- package/build/graphql/types/credentials/IosAppCredentials.js +6 -0
- package/build/log.d.ts +0 -2
- package/build/log.js +2 -12
- package/build/project/android/applicationId.d.ts +1 -1
- package/build/project/android/applicationId.js +7 -6
- package/build/project/ios/bundleIdentifier.d.ts +1 -1
- package/build/project/ios/bundleIdentifier.js +7 -6
- package/build/project/projectUtils.js +1 -1
- package/build/project/publish.js +2 -2
- package/build/project/workflow.js +2 -2
- package/build/submit/ArchiveSource.js +4 -4
- package/build/submit/ios/IosSubmitCommand.js +4 -0
- package/build/submit/ios/IosSubmitter.js +1 -1
- package/build/user/User.js +1 -0
- package/build/utils/easCli.d.ts +1 -0
- package/build/utils/easCli.js +5 -0
- package/build/utils/{expoCommand.d.ts → expoCli.d.ts} +0 -0
- package/build/utils/{expoCommand.js → expoCli.js} +0 -0
- package/build/utils/profiles.d.ts +11 -0
- package/build/utils/profiles.js +46 -0
- package/build/vcs/clients/git.d.ts +26 -0
- package/build/vcs/clients/git.js +184 -0
- package/build/vcs/clients/gitNoCommit.d.ts +7 -0
- package/build/vcs/clients/gitNoCommit.js +27 -0
- package/build/vcs/clients/noVcs.d.ts +6 -0
- package/build/vcs/clients/noVcs.js +19 -0
- package/build/vcs/git.d.ts +10 -17
- package/build/vcs/git.js +7 -175
- package/build/vcs/index.d.ts +2 -2
- package/build/vcs/index.js +15 -6
- package/build/vcs/local.d.ts +18 -5
- package/build/vcs/local.js +61 -32
- package/build/vcs/vcs.d.ts +2 -1
- package/build/vcs/vcs.js +8 -4
- package/oclif.manifest.json +1 -1
- package/package.json +9 -9
|
@@ -25,149 +25,16 @@ const SetupGoogleServiceAccountKey_1 = require("../android/actions/SetupGoogleSe
|
|
|
25
25
|
const UpdateCredentialsJson_1 = require("../android/actions/UpdateCredentialsJson");
|
|
26
26
|
const UseExistingGoogleServiceAccountKey_1 = require("../android/actions/UseExistingGoogleServiceAccountKey");
|
|
27
27
|
const printCredentials_1 = require("../android/utils/printCredentials");
|
|
28
|
+
const Actions_1 = require("./Actions");
|
|
29
|
+
const AndroidActions_1 = require("./AndroidActions");
|
|
28
30
|
const HelperActions_1 = require("./HelperActions");
|
|
29
31
|
const SelectAndroidBuildCredentials_1 = require("./SelectAndroidBuildCredentials");
|
|
30
32
|
const SelectBuildProfileFromEasJson_1 = require("./SelectBuildProfileFromEasJson");
|
|
31
|
-
var ActionType;
|
|
32
|
-
(function (ActionType) {
|
|
33
|
-
ActionType[ActionType["ManageBuildCredentials"] = 0] = "ManageBuildCredentials";
|
|
34
|
-
ActionType[ActionType["ManageFcm"] = 1] = "ManageFcm";
|
|
35
|
-
ActionType[ActionType["ManageGoogleServiceAccountKey"] = 2] = "ManageGoogleServiceAccountKey";
|
|
36
|
-
ActionType[ActionType["ManageCredentialsJson"] = 3] = "ManageCredentialsJson";
|
|
37
|
-
ActionType[ActionType["GoBackToCaller"] = 4] = "GoBackToCaller";
|
|
38
|
-
ActionType[ActionType["GoBackToHighLevelActions"] = 5] = "GoBackToHighLevelActions";
|
|
39
|
-
ActionType[ActionType["CreateKeystore"] = 6] = "CreateKeystore";
|
|
40
|
-
ActionType[ActionType["DownloadKeystore"] = 7] = "DownloadKeystore";
|
|
41
|
-
ActionType[ActionType["RemoveKeystore"] = 8] = "RemoveKeystore";
|
|
42
|
-
ActionType[ActionType["CreateFcm"] = 9] = "CreateFcm";
|
|
43
|
-
ActionType[ActionType["RemoveFcm"] = 10] = "RemoveFcm";
|
|
44
|
-
ActionType[ActionType["CreateGsaKey"] = 11] = "CreateGsaKey";
|
|
45
|
-
ActionType[ActionType["UseExistingGsaKey"] = 12] = "UseExistingGsaKey";
|
|
46
|
-
ActionType[ActionType["RemoveGsaKey"] = 13] = "RemoveGsaKey";
|
|
47
|
-
ActionType[ActionType["SetupGsaKey"] = 14] = "SetupGsaKey";
|
|
48
|
-
ActionType[ActionType["UpdateCredentialsJson"] = 15] = "UpdateCredentialsJson";
|
|
49
|
-
ActionType[ActionType["SetupBuildCredentialsFromCredentialsJson"] = 16] = "SetupBuildCredentialsFromCredentialsJson";
|
|
50
|
-
})(ActionType || (ActionType = {}));
|
|
51
|
-
var Scope;
|
|
52
|
-
(function (Scope) {
|
|
53
|
-
Scope[Scope["Project"] = 0] = "Project";
|
|
54
|
-
Scope[Scope["Manager"] = 1] = "Manager";
|
|
55
|
-
})(Scope || (Scope = {}));
|
|
56
|
-
const highLevelActions = [
|
|
57
|
-
{
|
|
58
|
-
value: ActionType.ManageBuildCredentials,
|
|
59
|
-
title: 'Keystore: Manage everything needed to build your project',
|
|
60
|
-
scope: Scope.Manager,
|
|
61
|
-
},
|
|
62
|
-
{
|
|
63
|
-
value: ActionType.ManageFcm,
|
|
64
|
-
title: 'Push Notifications: Manage your FCM Api Key',
|
|
65
|
-
scope: Scope.Manager,
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
value: ActionType.ManageGoogleServiceAccountKey,
|
|
69
|
-
title: 'Google Service Account: Manage your Service Account 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
|
-
const buildCredentialsActions = [
|
|
101
|
-
{
|
|
102
|
-
value: ActionType.CreateKeystore,
|
|
103
|
-
title: 'Set up a new keystore',
|
|
104
|
-
scope: Scope.Project,
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
value: ActionType.DownloadKeystore,
|
|
108
|
-
title: 'Download existing keystore',
|
|
109
|
-
scope: Scope.Project,
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
value: ActionType.RemoveKeystore,
|
|
113
|
-
title: 'Delete your keystore',
|
|
114
|
-
scope: Scope.Project,
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
value: ActionType.GoBackToHighLevelActions,
|
|
118
|
-
title: 'Go back',
|
|
119
|
-
scope: Scope.Manager,
|
|
120
|
-
},
|
|
121
|
-
];
|
|
122
|
-
const fcmActions = [
|
|
123
|
-
{
|
|
124
|
-
value: ActionType.CreateFcm,
|
|
125
|
-
title: 'Upload an FCM Api Key',
|
|
126
|
-
scope: Scope.Project,
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
value: ActionType.RemoveFcm,
|
|
130
|
-
title: 'Delete your FCM Api Key',
|
|
131
|
-
scope: Scope.Project,
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
value: ActionType.GoBackToHighLevelActions,
|
|
135
|
-
title: 'Go back',
|
|
136
|
-
scope: Scope.Manager,
|
|
137
|
-
},
|
|
138
|
-
];
|
|
139
|
-
const gsaKeyActions = [
|
|
140
|
-
{
|
|
141
|
-
value: ActionType.SetupGsaKey,
|
|
142
|
-
title: 'Setup a Google Service Account Key',
|
|
143
|
-
scope: Scope.Project,
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
value: ActionType.CreateGsaKey,
|
|
147
|
-
title: 'Upload a Google Service Account Key',
|
|
148
|
-
scope: Scope.Project,
|
|
149
|
-
},
|
|
150
|
-
{
|
|
151
|
-
value: ActionType.UseExistingGsaKey,
|
|
152
|
-
title: 'Use an existing Google Service Account Key',
|
|
153
|
-
scope: Scope.Project,
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
value: ActionType.RemoveGsaKey,
|
|
157
|
-
title: 'Delete a Google Service Account Key',
|
|
158
|
-
scope: Scope.Project,
|
|
159
|
-
},
|
|
160
|
-
{
|
|
161
|
-
value: ActionType.GoBackToHighLevelActions,
|
|
162
|
-
title: 'Go back',
|
|
163
|
-
scope: Scope.Manager,
|
|
164
|
-
},
|
|
165
|
-
];
|
|
166
33
|
class ManageAndroid {
|
|
167
34
|
constructor(callingAction) {
|
|
168
35
|
this.callingAction = callingAction;
|
|
169
36
|
}
|
|
170
|
-
async runAsync(ctx, currentActions = highLevelActions) {
|
|
37
|
+
async runAsync(ctx, currentActions = AndroidActions_1.highLevelActions) {
|
|
171
38
|
const accountName = ctx.hasProjectContext
|
|
172
39
|
? (0, projectUtils_1.getProjectAccountName)(ctx.exp, ctx.user)
|
|
173
40
|
: (0, actions_1.ensureActorHasUsername)(ctx.user);
|
|
@@ -210,28 +77,28 @@ class ManageAndroid {
|
|
|
210
77
|
if (!actionInfo) {
|
|
211
78
|
throw new Error('Action not supported yet');
|
|
212
79
|
}
|
|
213
|
-
if (actionInfo.scope === Scope.Manager) {
|
|
214
|
-
if (chosenAction ===
|
|
215
|
-
currentActions = buildCredentialsActions;
|
|
80
|
+
if (actionInfo.scope === Actions_1.Scope.Manager) {
|
|
81
|
+
if (chosenAction === Actions_1.AndroidActionType.ManageBuildCredentials) {
|
|
82
|
+
currentActions = AndroidActions_1.buildCredentialsActions;
|
|
216
83
|
continue;
|
|
217
84
|
}
|
|
218
|
-
else if (chosenAction ===
|
|
219
|
-
currentActions = fcmActions;
|
|
85
|
+
else if (chosenAction === Actions_1.AndroidActionType.ManageFcm) {
|
|
86
|
+
currentActions = AndroidActions_1.fcmActions;
|
|
220
87
|
continue;
|
|
221
88
|
}
|
|
222
|
-
else if (chosenAction ===
|
|
223
|
-
currentActions = gsaKeyActions;
|
|
89
|
+
else if (chosenAction === Actions_1.AndroidActionType.ManageGoogleServiceAccountKey) {
|
|
90
|
+
currentActions = AndroidActions_1.gsaKeyActions;
|
|
224
91
|
continue;
|
|
225
92
|
}
|
|
226
|
-
else if (chosenAction ===
|
|
227
|
-
currentActions = credentialsJsonActions;
|
|
93
|
+
else if (chosenAction === Actions_1.AndroidActionType.ManageCredentialsJson) {
|
|
94
|
+
currentActions = AndroidActions_1.credentialsJsonActions;
|
|
228
95
|
continue;
|
|
229
96
|
}
|
|
230
|
-
else if (chosenAction ===
|
|
231
|
-
currentActions = highLevelActions;
|
|
97
|
+
else if (chosenAction === Actions_1.AndroidActionType.GoBackToHighLevelActions) {
|
|
98
|
+
currentActions = AndroidActions_1.highLevelActions;
|
|
232
99
|
continue;
|
|
233
100
|
}
|
|
234
|
-
else if (chosenAction ===
|
|
101
|
+
else if (chosenAction === Actions_1.AndroidActionType.GoBackToCaller) {
|
|
235
102
|
return await this.callingAction.runAsync(ctx);
|
|
236
103
|
}
|
|
237
104
|
}
|
|
@@ -265,7 +132,7 @@ class ManageAndroid {
|
|
|
265
132
|
async runProjectSpecificActionAsync(ctx, action, gradleContext) {
|
|
266
133
|
(0, assert_1.default)(ctx.hasProjectContext, 'You must be in your project directory in order to perform this action');
|
|
267
134
|
const appLookupParams = await (0, BuildCredentialsUtils_1.getAppLookupParamsFromContextAsync)(ctx, gradleContext);
|
|
268
|
-
if (action ===
|
|
135
|
+
if (action === Actions_1.AndroidActionType.CreateKeystore) {
|
|
269
136
|
const selectBuildCredentialsResult = await new SelectAndroidBuildCredentials_1.SelectAndroidBuildCredentials(appLookupParams).runAsync(ctx);
|
|
270
137
|
const keystore = await new CreateKeystore_1.CreateKeystore(appLookupParams.account).runAsync(ctx);
|
|
271
138
|
if (selectBuildCredentialsResult.resultType ===
|
|
@@ -281,48 +148,48 @@ class ManageAndroid {
|
|
|
281
148
|
});
|
|
282
149
|
}
|
|
283
150
|
}
|
|
284
|
-
else if (action ===
|
|
151
|
+
else if (action === Actions_1.AndroidActionType.DownloadKeystore) {
|
|
285
152
|
const buildCredentials = await new SelectAndroidBuildCredentials_1.SelectExistingAndroidBuildCredentials(appLookupParams).runAsync(ctx);
|
|
286
153
|
if (buildCredentials) {
|
|
287
154
|
await new DownloadKeystore_1.DownloadKeystore({ app: appLookupParams }).runAsync(ctx, buildCredentials);
|
|
288
155
|
}
|
|
289
156
|
}
|
|
290
|
-
else if (action ===
|
|
157
|
+
else if (action === Actions_1.AndroidActionType.RemoveKeystore) {
|
|
291
158
|
const buildCredentials = await new SelectAndroidBuildCredentials_1.SelectExistingAndroidBuildCredentials(appLookupParams).runAsync(ctx);
|
|
292
159
|
if (buildCredentials) {
|
|
293
160
|
await new RemoveKeystore_1.RemoveKeystore(appLookupParams).runAsync(ctx, buildCredentials);
|
|
294
161
|
}
|
|
295
162
|
}
|
|
296
|
-
else if (action ===
|
|
163
|
+
else if (action === Actions_1.AndroidActionType.CreateFcm) {
|
|
297
164
|
const fcm = await new CreateFcm_1.CreateFcm(appLookupParams.account).runAsync(ctx);
|
|
298
165
|
await new AssignFcm_1.AssignFcm(appLookupParams).runAsync(ctx, fcm);
|
|
299
166
|
}
|
|
300
|
-
else if (action ===
|
|
167
|
+
else if (action === Actions_1.AndroidActionType.RemoveFcm) {
|
|
301
168
|
await new RemoveFcm_1.RemoveFcm(appLookupParams).runAsync(ctx);
|
|
302
169
|
}
|
|
303
|
-
else if (action ===
|
|
170
|
+
else if (action === Actions_1.AndroidActionType.CreateGsaKey) {
|
|
304
171
|
const gsaKey = await new CreateGoogleServiceAccountKey_1.CreateGoogleServiceAccountKey(appLookupParams.account).runAsync(ctx);
|
|
305
172
|
await new AssignGoogleServiceAccountKey_1.AssignGoogleServiceAccountKey(appLookupParams).runAsync(ctx, gsaKey);
|
|
306
173
|
}
|
|
307
|
-
else if (action ===
|
|
174
|
+
else if (action === Actions_1.AndroidActionType.UseExistingGsaKey) {
|
|
308
175
|
const gsaKey = await new UseExistingGoogleServiceAccountKey_1.UseExistingGoogleServiceAccountKey(appLookupParams.account).runAsync(ctx);
|
|
309
176
|
if (gsaKey) {
|
|
310
177
|
await new AssignGoogleServiceAccountKey_1.AssignGoogleServiceAccountKey(appLookupParams).runAsync(ctx, gsaKey);
|
|
311
178
|
}
|
|
312
179
|
}
|
|
313
|
-
else if (action ===
|
|
180
|
+
else if (action === Actions_1.AndroidActionType.RemoveGsaKey) {
|
|
314
181
|
await new RemoveGoogleServiceAccountKey_1.SelectAndRemoveGoogleServiceAccountKey(appLookupParams.account).runAsync(ctx);
|
|
315
182
|
}
|
|
316
|
-
else if (action ===
|
|
183
|
+
else if (action === Actions_1.AndroidActionType.SetupGsaKey) {
|
|
317
184
|
await new SetupGoogleServiceAccountKey_1.SetupGoogleServiceAccountKey(appLookupParams).runAsync(ctx);
|
|
318
185
|
}
|
|
319
|
-
else if (action ===
|
|
186
|
+
else if (action === Actions_1.AndroidActionType.UpdateCredentialsJson) {
|
|
320
187
|
const buildCredentials = await new SelectAndroidBuildCredentials_1.SelectExistingAndroidBuildCredentials(appLookupParams).runAsync(ctx);
|
|
321
188
|
if (buildCredentials) {
|
|
322
189
|
await new UpdateCredentialsJson_1.UpdateCredentialsJson().runAsync(ctx, buildCredentials);
|
|
323
190
|
}
|
|
324
191
|
}
|
|
325
|
-
else if (action ===
|
|
192
|
+
else if (action === Actions_1.AndroidActionType.SetupBuildCredentialsFromCredentialsJson) {
|
|
326
193
|
await new SetupBuildCredentialsFromCredentialsJson_1.SetupBuildCredentialsFromCredentialsJson(appLookupParams).runAsync(ctx);
|
|
327
194
|
}
|
|
328
195
|
}
|
|
@@ -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 ===
|
|
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 ===
|
|
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 ===
|
|
88
|
+
else if (chosenAction === Actions_1.IosActionType.ManagePushKey) {
|
|
216
89
|
currentActions = pushKeyActions;
|
|
217
90
|
continue;
|
|
218
91
|
}
|
|
219
|
-
else if (chosenAction ===
|
|
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 ===
|
|
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 ===
|
|
148
|
+
if (action === Actions_1.IosActionType.RemoveDistributionCertificate) {
|
|
276
149
|
await new RemoveDistributionCertificate_1.SelectAndRemoveDistributionCertificate(account).runAsync(ctx);
|
|
277
150
|
}
|
|
278
|
-
else if (action ===
|
|
151
|
+
else if (action === Actions_1.IosActionType.CreateDistributionCertificate) {
|
|
279
152
|
await new CreateDistributionCertificate_1.CreateDistributionCertificate(account).runAsync(ctx);
|
|
280
153
|
}
|
|
281
|
-
else if (action ===
|
|
154
|
+
else if (action === Actions_1.IosActionType.CreatePushKey) {
|
|
282
155
|
await new CreatePushKey_1.CreatePushKey(account).runAsync(ctx);
|
|
283
156
|
}
|
|
284
|
-
else if (action ===
|
|
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 ===
|
|
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 ===
|
|
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 ===
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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 };
|