eas-cli 0.31.0 → 0.33.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.
Files changed (57) hide show
  1. package/README.md +29 -28
  2. package/build/build/android/UpdatesModule.js +4 -15
  3. package/build/build/android/configure.js +1 -1
  4. package/build/build/configure.js +12 -6
  5. package/build/build/ios/UpdatesModule.js +4 -16
  6. package/build/build/ios/configure.js +1 -1
  7. package/build/build/utils/appJson.d.ts +1 -0
  8. package/build/build/utils/appJson.js +13 -4
  9. package/build/build/utils/devClient.d.ts +4 -4
  10. package/build/build/utils/devClient.js +8 -16
  11. package/build/commands/branch/publish.js +14 -43
  12. package/build/commands/build/index.d.ts +1 -1
  13. package/build/commands/build/index.js +29 -24
  14. package/build/commands/submit.js +16 -11
  15. package/build/credentials/android/actions/SetupGoogleServiceAccountKey.js +3 -3
  16. package/build/credentials/context.d.ts +1 -1
  17. package/build/credentials/context.js +5 -5
  18. package/build/credentials/errors.d.ts +3 -0
  19. package/build/credentials/errors.js +7 -1
  20. package/build/credentials/ios/IosCredentialsProvider.js +1 -1
  21. package/build/credentials/ios/actions/AscApiKeyUtils.d.ts +5 -0
  22. package/build/credentials/ios/actions/AscApiKeyUtils.js +63 -0
  23. package/build/credentials/ios/actions/DistributionCertificateUtils.js +5 -5
  24. package/build/credentials/ios/actions/SetupTargetBuildCredentials.js +1 -1
  25. package/build/credentials/ios/appstore/AppStoreApi.d.ts +7 -1
  26. package/build/credentials/ios/appstore/AppStoreApi.js +17 -0
  27. package/build/credentials/ios/appstore/Credentials.js +3 -3
  28. package/build/credentials/ios/appstore/Credentials.types.d.ts +13 -0
  29. package/build/credentials/ios/appstore/ascApiKey.d.ts +9 -0
  30. package/build/credentials/ios/appstore/ascApiKey.js +99 -0
  31. package/build/credentials/ios/credentials.d.ts +17 -0
  32. package/build/credentials/ios/credentials.js +16 -1
  33. package/build/credentials/manager/ManageAndroid.js +1 -1
  34. package/build/credentials/manager/ManageIos.js +1 -1
  35. package/build/graphql/generated.d.ts +49 -113
  36. package/build/graphql/generated.js +24 -28
  37. package/build/log.d.ts +11 -1
  38. package/build/log.js +21 -10
  39. package/build/project/android/applicationId.d.ts +1 -1
  40. package/build/project/android/applicationId.js +7 -6
  41. package/build/project/ios/bundleIdentifier.d.ts +1 -1
  42. package/build/project/ios/bundleIdentifier.js +7 -6
  43. package/build/submit/ArchiveSource.d.ts +7 -2
  44. package/build/submit/ArchiveSource.js +94 -11
  45. package/build/submit/ios/AscApiKeySource.d.ts +28 -0
  46. package/build/submit/ios/AscApiKeySource.js +51 -0
  47. package/build/submit/ios/IosSubmitCommand.d.ts +2 -0
  48. package/build/submit/ios/IosSubmitCommand.js +55 -3
  49. package/build/submit/ios/IosSubmitter.d.ts +3 -1
  50. package/build/submit/ios/IosSubmitter.js +48 -4
  51. package/build/submit/submit.js +1 -1
  52. package/build/submit/utils/builds.d.ts +3 -1
  53. package/build/submit/utils/builds.js +6 -6
  54. package/build/utils/profiles.d.ts +11 -0
  55. package/build/utils/profiles.js +39 -0
  56. package/oclif.manifest.json +1 -1
  57. package/package.json +6 -6
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.provisioningProfileSchema = exports.pushKeySchema = exports.distributionCertificateSchema = exports.getAppLookupParams = void 0;
3
+ exports.provisioningProfileSchema = exports.pushKeySchema = exports.ascApiKeyMetadataSchema = exports.distributionCertificateSchema = exports.getAppLookupParams = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const log_1 = (0, tslib_1.__importDefault)(require("../../log"));
6
6
  const p12Certificate_1 = require("./utils/p12Certificate");
@@ -50,6 +50,21 @@ exports.distributionCertificateSchema = {
50
50
  return answers;
51
51
  },
52
52
  };
53
+ exports.ascApiKeyMetadataSchema = {
54
+ name: 'App Store Connect API Key',
55
+ questions: [
56
+ {
57
+ field: 'keyId',
58
+ type: 'string',
59
+ question: 'Key ID:',
60
+ },
61
+ {
62
+ field: 'issuerId',
63
+ type: 'string',
64
+ question: 'Issuer ID:',
65
+ },
66
+ ],
67
+ };
53
68
  exports.pushKeySchema = {
54
69
  name: 'Apple Push Notifications service key',
55
70
  questions: [
@@ -71,7 +71,7 @@ const highLevelActions = [
71
71
  },
72
72
  {
73
73
  value: ActionType.ManageCredentialsJson,
74
- title: 'Credentials.json: Upload/Download credentials between EAS servers and your local json ',
74
+ title: 'credentials.json: Upload/Download credentials between EAS servers and your local json ',
75
75
  scope: Scope.Manager,
76
76
  },
77
77
  {
@@ -71,7 +71,7 @@ const highLevelActions = [
71
71
  },
72
72
  {
73
73
  value: ActionType.ManageCredentialsJson,
74
- title: 'Credentials.json: Upload/Download credentials between EAS servers and your local json ',
74
+ title: 'credentials.json: Upload/Download credentials between EAS servers and your local json ',
75
75
  scope: Scope.Manager,
76
76
  },
77
77
  {
@@ -312,12 +312,15 @@ export declare type Offer = {
312
312
  trialLength?: Maybe<Scalars['Int']>;
313
313
  type: OfferType;
314
314
  features?: Maybe<Array<Maybe<Feature>>>;
315
+ prerequisite?: Maybe<OfferPrerequisite>;
315
316
  };
316
317
  export declare enum OfferType {
317
318
  /** Term subscription */
318
319
  Subscription = "SUBSCRIPTION",
319
320
  /** Advanced Purchase of Paid Resource */
320
- Prepaid = "PREPAID"
321
+ Prepaid = "PREPAID",
322
+ /** Addon, or supplementary subscription */
323
+ Addon = "ADDON"
321
324
  }
322
325
  export declare enum Feature {
323
326
  /** Top Tier Support */
@@ -329,6 +332,11 @@ export declare enum Feature {
329
332
  /** Funds support for open source development */
330
333
  OpenSource = "OPEN_SOURCE"
331
334
  }
335
+ export declare type OfferPrerequisite = {
336
+ __typename?: 'OfferPrerequisite';
337
+ type: Scalars['String'];
338
+ stripeIds: Array<Scalars['String']>;
339
+ };
332
340
  export declare type Snack = Project & {
333
341
  __typename?: 'Snack';
334
342
  id: Scalars['ID'];
@@ -1206,6 +1214,7 @@ export declare type UserPermission = {
1206
1214
  };
1207
1215
  export declare type Billing = {
1208
1216
  __typename?: 'Billing';
1217
+ id: Scalars['ID'];
1209
1218
  payment?: Maybe<PaymentDetails>;
1210
1219
  subscription?: Maybe<SubscriptionDetails>;
1211
1220
  /** History of invoices */
@@ -1236,6 +1245,8 @@ export declare type Address = {
1236
1245
  export declare type SubscriptionDetails = {
1237
1246
  __typename?: 'SubscriptionDetails';
1238
1247
  id: Scalars['ID'];
1248
+ planId?: Maybe<Scalars['String']>;
1249
+ addons: Array<AddonDetails>;
1239
1250
  name?: Maybe<Scalars['String']>;
1240
1251
  nextInvoice?: Maybe<Scalars['DateTime']>;
1241
1252
  cancelledAt?: Maybe<Scalars['DateTime']>;
@@ -1244,6 +1255,12 @@ export declare type SubscriptionDetails = {
1244
1255
  trialEnd?: Maybe<Scalars['DateTime']>;
1245
1256
  status?: Maybe<Scalars['String']>;
1246
1257
  };
1258
+ export declare type AddonDetails = {
1259
+ __typename?: 'AddonDetails';
1260
+ id: Scalars['ID'];
1261
+ planId: Scalars['String'];
1262
+ name: Scalars['String'];
1263
+ };
1247
1264
  export declare type Charge = {
1248
1265
  __typename?: 'Charge';
1249
1266
  id: Scalars['ID'];
@@ -2072,22 +2089,8 @@ export declare type BuildMutation = {
2072
2089
  * @deprecated Use cancelBuild instead
2073
2090
  */
2074
2091
  cancel: Build;
2075
- /**
2076
- * Create an Android generic build
2077
- * @deprecated Use createAndroidBuild instead
2078
- */
2079
- createAndroidGenericBuild: CreateBuildResult;
2080
- /**
2081
- * Create an Android managed build
2082
- * @deprecated Use createAndroidBuild instead
2083
- */
2084
- createAndroidManagedBuild: CreateBuildResult;
2085
2092
  /** Create an Android build */
2086
2093
  createAndroidBuild: CreateBuildResult;
2087
- /** Create an iOS generic build */
2088
- createIosGenericBuild: CreateBuildResult;
2089
- /** Create an iOS managed build */
2090
- createIosManagedBuild: CreateBuildResult;
2091
2094
  /** Create an iOS build */
2092
2095
  createIosBuild: CreateBuildResult;
2093
2096
  };
@@ -2097,37 +2100,18 @@ export declare type BuildMutationCancelBuildArgs = {
2097
2100
  export declare type BuildMutationDeleteBuildArgs = {
2098
2101
  buildId: Scalars['ID'];
2099
2102
  };
2100
- export declare type BuildMutationCreateAndroidGenericBuildArgs = {
2101
- appId: Scalars['ID'];
2102
- job: AndroidGenericJobInput;
2103
- metadata?: Maybe<BuildMetadataInput>;
2104
- };
2105
- export declare type BuildMutationCreateAndroidManagedBuildArgs = {
2106
- appId: Scalars['ID'];
2107
- job: AndroidManagedJobInput;
2108
- metadata?: Maybe<BuildMetadataInput>;
2109
- };
2110
2103
  export declare type BuildMutationCreateAndroidBuildArgs = {
2111
2104
  appId: Scalars['ID'];
2112
2105
  job: AndroidJobInput;
2113
2106
  metadata?: Maybe<BuildMetadataInput>;
2114
2107
  };
2115
- export declare type BuildMutationCreateIosGenericBuildArgs = {
2116
- appId: Scalars['ID'];
2117
- job: IosGenericJobInput;
2118
- metadata?: Maybe<BuildMetadataInput>;
2119
- };
2120
- export declare type BuildMutationCreateIosManagedBuildArgs = {
2121
- appId: Scalars['ID'];
2122
- job: IosManagedJobInput;
2123
- metadata?: Maybe<BuildMetadataInput>;
2124
- };
2125
2108
  export declare type BuildMutationCreateIosBuildArgs = {
2126
2109
  appId: Scalars['ID'];
2127
2110
  job: IosJobInput;
2128
2111
  metadata?: Maybe<BuildMetadataInput>;
2129
2112
  };
2130
- export declare type AndroidGenericJobInput = {
2113
+ export declare type AndroidJobInput = {
2114
+ type: BuildWorkflow;
2131
2115
  projectArchive: ProjectArchiveSourceInput;
2132
2116
  projectRootDirectory: Scalars['String'];
2133
2117
  releaseChannel?: Maybe<Scalars['String']>;
@@ -2137,7 +2121,13 @@ export declare type AndroidGenericJobInput = {
2137
2121
  cache?: Maybe<BuildCacheInput>;
2138
2122
  gradleCommand?: Maybe<Scalars['String']>;
2139
2123
  artifactPath?: Maybe<Scalars['String']>;
2124
+ buildType?: Maybe<AndroidBuildType>;
2125
+ username?: Maybe<Scalars['String']>;
2140
2126
  };
2127
+ export declare enum BuildWorkflow {
2128
+ Generic = "GENERIC",
2129
+ Managed = "MANAGED"
2130
+ }
2141
2131
  export declare type ProjectArchiveSourceInput = {
2142
2132
  type: ProjectArchiveSourceType;
2143
2133
  bucketKey?: Maybe<Scalars['String']>;
@@ -2178,6 +2168,11 @@ export declare type BuildCacheInput = {
2178
2168
  cacheDefaultPaths?: Maybe<Scalars['Boolean']>;
2179
2169
  customPaths?: Maybe<Array<Maybe<Scalars['String']>>>;
2180
2170
  };
2171
+ export declare enum AndroidBuildType {
2172
+ Apk = "APK",
2173
+ AppBundle = "APP_BUNDLE",
2174
+ DevelopmentClient = "DEVELOPMENT_CLIENT"
2175
+ }
2181
2176
  export declare type BuildMetadataInput = {
2182
2177
  trackingContext?: Maybe<Scalars['JSONObject']>;
2183
2178
  appVersion?: Maybe<Scalars['String']>;
@@ -2197,10 +2192,6 @@ export declare type BuildMetadataInput = {
2197
2192
  gitCommitHash?: Maybe<Scalars['String']>;
2198
2193
  username?: Maybe<Scalars['String']>;
2199
2194
  };
2200
- export declare enum BuildWorkflow {
2201
- Generic = "GENERIC",
2202
- Managed = "MANAGED"
2203
- }
2204
2195
  export declare enum BuildCredentialsSource {
2205
2196
  Local = "LOCAL",
2206
2197
  Remote = "REMOTE"
@@ -2219,42 +2210,8 @@ export declare enum EasBuildDeprecationInfoType {
2219
2210
  UserFacing = "USER_FACING",
2220
2211
  Internal = "INTERNAL"
2221
2212
  }
2222
- export declare type AndroidManagedJobInput = {
2223
- projectArchive: ProjectArchiveSourceInput;
2224
- projectRootDirectory: Scalars['String'];
2225
- releaseChannel?: Maybe<Scalars['String']>;
2226
- updates?: Maybe<BuildUpdatesInput>;
2227
- secrets?: Maybe<AndroidJobSecretsInput>;
2228
- builderEnvironment?: Maybe<AndroidBuilderEnvironmentInput>;
2229
- cache?: Maybe<BuildCacheInput>;
2230
- buildType?: Maybe<AndroidManagedBuildType>;
2231
- username?: Maybe<Scalars['String']>;
2232
- };
2233
- export declare enum AndroidManagedBuildType {
2234
- Apk = "APK",
2235
- AppBundle = "APP_BUNDLE",
2236
- DevelopmentClient = "DEVELOPMENT_CLIENT"
2237
- }
2238
- export declare type AndroidJobInput = {
2213
+ export declare type IosJobInput = {
2239
2214
  type: BuildWorkflow;
2240
- projectArchive: ProjectArchiveSourceInput;
2241
- projectRootDirectory: Scalars['String'];
2242
- releaseChannel?: Maybe<Scalars['String']>;
2243
- updates?: Maybe<BuildUpdatesInput>;
2244
- secrets?: Maybe<AndroidJobSecretsInput>;
2245
- builderEnvironment?: Maybe<AndroidBuilderEnvironmentInput>;
2246
- cache?: Maybe<BuildCacheInput>;
2247
- gradleCommand?: Maybe<Scalars['String']>;
2248
- artifactPath?: Maybe<Scalars['String']>;
2249
- buildType?: Maybe<AndroidBuildType>;
2250
- username?: Maybe<Scalars['String']>;
2251
- };
2252
- export declare enum AndroidBuildType {
2253
- Apk = "APK",
2254
- AppBundle = "APP_BUNDLE",
2255
- DevelopmentClient = "DEVELOPMENT_CLIENT"
2256
- }
2257
- export declare type IosGenericJobInput = {
2258
2215
  projectArchive: ProjectArchiveSourceInput;
2259
2216
  projectRootDirectory: Scalars['String'];
2260
2217
  releaseChannel?: Maybe<Scalars['String']>;
@@ -2263,10 +2220,11 @@ export declare type IosGenericJobInput = {
2263
2220
  secrets?: Maybe<IosJobSecretsInput>;
2264
2221
  builderEnvironment?: Maybe<IosBuilderEnvironmentInput>;
2265
2222
  cache?: Maybe<BuildCacheInput>;
2266
- scheme: Scalars['String'];
2267
- schemeBuildConfiguration?: Maybe<IosSchemeBuildConfiguration>;
2223
+ scheme?: Maybe<Scalars['String']>;
2268
2224
  buildConfiguration?: Maybe<Scalars['String']>;
2269
2225
  artifactPath?: Maybe<Scalars['String']>;
2226
+ buildType?: Maybe<IosBuildType>;
2227
+ username?: Maybe<Scalars['String']>;
2270
2228
  };
2271
2229
  export declare type IosJobSecretsInput = {
2272
2230
  buildCredentials?: Maybe<Array<Maybe<IosJobTargetCredentialsInput>>>;
@@ -2291,42 +2249,6 @@ export declare type IosBuilderEnvironmentInput = {
2291
2249
  expoCli?: Maybe<Scalars['String']>;
2292
2250
  env?: Maybe<Scalars['JSONObject']>;
2293
2251
  };
2294
- export declare enum IosSchemeBuildConfiguration {
2295
- Release = "RELEASE",
2296
- Debug = "DEBUG"
2297
- }
2298
- export declare type IosManagedJobInput = {
2299
- projectArchive: ProjectArchiveSourceInput;
2300
- projectRootDirectory: Scalars['String'];
2301
- releaseChannel?: Maybe<Scalars['String']>;
2302
- updates?: Maybe<BuildUpdatesInput>;
2303
- distribution?: Maybe<DistributionType>;
2304
- secrets?: Maybe<IosJobSecretsInput>;
2305
- builderEnvironment?: Maybe<IosBuilderEnvironmentInput>;
2306
- cache?: Maybe<BuildCacheInput>;
2307
- buildType?: Maybe<IosManagedBuildType>;
2308
- username?: Maybe<Scalars['String']>;
2309
- };
2310
- export declare enum IosManagedBuildType {
2311
- Release = "RELEASE",
2312
- DevelopmentClient = "DEVELOPMENT_CLIENT"
2313
- }
2314
- export declare type IosJobInput = {
2315
- type: BuildWorkflow;
2316
- projectArchive: ProjectArchiveSourceInput;
2317
- projectRootDirectory: Scalars['String'];
2318
- releaseChannel?: Maybe<Scalars['String']>;
2319
- updates?: Maybe<BuildUpdatesInput>;
2320
- distribution?: Maybe<DistributionType>;
2321
- secrets?: Maybe<IosJobSecretsInput>;
2322
- builderEnvironment?: Maybe<IosBuilderEnvironmentInput>;
2323
- cache?: Maybe<BuildCacheInput>;
2324
- scheme?: Maybe<Scalars['String']>;
2325
- buildConfiguration?: Maybe<Scalars['String']>;
2326
- artifactPath?: Maybe<Scalars['String']>;
2327
- buildType?: Maybe<IosBuildType>;
2328
- username?: Maybe<Scalars['String']>;
2329
- };
2330
2252
  export declare enum IosBuildType {
2331
2253
  Release = "RELEASE",
2332
2254
  DevelopmentClient = "DEVELOPMENT_CLIENT"
@@ -2473,10 +2395,16 @@ export declare type CreateIosSubmissionInput = {
2473
2395
  export declare type IosSubmissionConfigInput = {
2474
2396
  appleAppSpecificPasswordId?: Maybe<Scalars['String']>;
2475
2397
  appleAppSpecificPassword?: Maybe<Scalars['String']>;
2398
+ ascApiKey?: Maybe<AscApiKeyInput>;
2476
2399
  archiveUrl?: Maybe<Scalars['String']>;
2477
2400
  appleIdUsername: Scalars['String'];
2478
2401
  ascAppIdentifier: Scalars['String'];
2479
2402
  };
2403
+ export declare type AscApiKeyInput = {
2404
+ keyP8: Scalars['String'];
2405
+ keyIdentifier: Scalars['String'];
2406
+ issuerIdentifier: Scalars['String'];
2407
+ };
2480
2408
  export declare type CreateAndroidSubmissionInput = {
2481
2409
  appId: Scalars['ID'];
2482
2410
  config: AndroidSubmissionConfigInput;
@@ -2910,6 +2838,14 @@ export declare enum StandardOffer {
2910
2838
  /** $800 USD per month */
2911
2839
  Support = "SUPPORT"
2912
2840
  }
2841
+ export declare enum IosSchemeBuildConfiguration {
2842
+ Release = "RELEASE",
2843
+ Debug = "DEBUG"
2844
+ }
2845
+ export declare enum IosManagedBuildType {
2846
+ Release = "RELEASE",
2847
+ DevelopmentClient = "DEVELOPMENT_CLIENT"
2848
+ }
2913
2849
  export declare enum CacheControlScope {
2914
2850
  Public = "PUBLIC",
2915
2851
  Private = "PRIVATE"
@@ -6,13 +6,15 @@
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.StandardOffer = exports.MailchimpAudience = exports.MailchimpTag = exports.UploadSessionType = exports.IosBuildType = exports.IosManagedBuildType = exports.IosSchemeBuildConfiguration = exports.AndroidBuildType = exports.AndroidManagedBuildType = exports.EasBuildDeprecationInfoType = exports.BuildCredentialsSource = exports.BuildWorkflow = exports.ProjectArchiveSourceType = 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.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 */
13
13
  OfferType["Subscription"] = "SUBSCRIPTION";
14
14
  /** Advanced Purchase of Paid Resource */
15
15
  OfferType["Prepaid"] = "PREPAID";
16
+ /** Addon, or supplementary subscription */
17
+ OfferType["Addon"] = "ADDON";
16
18
  })(OfferType = exports.OfferType || (exports.OfferType = {}));
17
19
  var Feature;
18
20
  (function (Feature) {
@@ -180,16 +182,22 @@ var Order;
180
182
  Order["Desc"] = "DESC";
181
183
  Order["Asc"] = "ASC";
182
184
  })(Order = exports.Order || (exports.Order = {}));
183
- var ProjectArchiveSourceType;
184
- (function (ProjectArchiveSourceType) {
185
- ProjectArchiveSourceType["S3"] = "S3";
186
- ProjectArchiveSourceType["Url"] = "URL";
187
- })(ProjectArchiveSourceType = exports.ProjectArchiveSourceType || (exports.ProjectArchiveSourceType = {}));
188
185
  var BuildWorkflow;
189
186
  (function (BuildWorkflow) {
190
187
  BuildWorkflow["Generic"] = "GENERIC";
191
188
  BuildWorkflow["Managed"] = "MANAGED";
192
189
  })(BuildWorkflow = exports.BuildWorkflow || (exports.BuildWorkflow = {}));
190
+ var ProjectArchiveSourceType;
191
+ (function (ProjectArchiveSourceType) {
192
+ ProjectArchiveSourceType["S3"] = "S3";
193
+ ProjectArchiveSourceType["Url"] = "URL";
194
+ })(ProjectArchiveSourceType = exports.ProjectArchiveSourceType || (exports.ProjectArchiveSourceType = {}));
195
+ var AndroidBuildType;
196
+ (function (AndroidBuildType) {
197
+ AndroidBuildType["Apk"] = "APK";
198
+ AndroidBuildType["AppBundle"] = "APP_BUNDLE";
199
+ AndroidBuildType["DevelopmentClient"] = "DEVELOPMENT_CLIENT";
200
+ })(AndroidBuildType = exports.AndroidBuildType || (exports.AndroidBuildType = {}));
193
201
  var BuildCredentialsSource;
194
202
  (function (BuildCredentialsSource) {
195
203
  BuildCredentialsSource["Local"] = "LOCAL";
@@ -200,28 +208,6 @@ var EasBuildDeprecationInfoType;
200
208
  EasBuildDeprecationInfoType["UserFacing"] = "USER_FACING";
201
209
  EasBuildDeprecationInfoType["Internal"] = "INTERNAL";
202
210
  })(EasBuildDeprecationInfoType = exports.EasBuildDeprecationInfoType || (exports.EasBuildDeprecationInfoType = {}));
203
- var AndroidManagedBuildType;
204
- (function (AndroidManagedBuildType) {
205
- AndroidManagedBuildType["Apk"] = "APK";
206
- AndroidManagedBuildType["AppBundle"] = "APP_BUNDLE";
207
- AndroidManagedBuildType["DevelopmentClient"] = "DEVELOPMENT_CLIENT";
208
- })(AndroidManagedBuildType = exports.AndroidManagedBuildType || (exports.AndroidManagedBuildType = {}));
209
- var AndroidBuildType;
210
- (function (AndroidBuildType) {
211
- AndroidBuildType["Apk"] = "APK";
212
- AndroidBuildType["AppBundle"] = "APP_BUNDLE";
213
- AndroidBuildType["DevelopmentClient"] = "DEVELOPMENT_CLIENT";
214
- })(AndroidBuildType = exports.AndroidBuildType || (exports.AndroidBuildType = {}));
215
- var IosSchemeBuildConfiguration;
216
- (function (IosSchemeBuildConfiguration) {
217
- IosSchemeBuildConfiguration["Release"] = "RELEASE";
218
- IosSchemeBuildConfiguration["Debug"] = "DEBUG";
219
- })(IosSchemeBuildConfiguration = exports.IosSchemeBuildConfiguration || (exports.IosSchemeBuildConfiguration = {}));
220
- var IosManagedBuildType;
221
- (function (IosManagedBuildType) {
222
- IosManagedBuildType["Release"] = "RELEASE";
223
- IosManagedBuildType["DevelopmentClient"] = "DEVELOPMENT_CLIENT";
224
- })(IosManagedBuildType = exports.IosManagedBuildType || (exports.IosManagedBuildType = {}));
225
211
  var IosBuildType;
226
212
  (function (IosBuildType) {
227
213
  IosBuildType["Release"] = "RELEASE";
@@ -252,6 +238,16 @@ var StandardOffer;
252
238
  /** $800 USD per month */
253
239
  StandardOffer["Support"] = "SUPPORT";
254
240
  })(StandardOffer = exports.StandardOffer || (exports.StandardOffer = {}));
241
+ var IosSchemeBuildConfiguration;
242
+ (function (IosSchemeBuildConfiguration) {
243
+ IosSchemeBuildConfiguration["Release"] = "RELEASE";
244
+ IosSchemeBuildConfiguration["Debug"] = "DEBUG";
245
+ })(IosSchemeBuildConfiguration = exports.IosSchemeBuildConfiguration || (exports.IosSchemeBuildConfiguration = {}));
246
+ var IosManagedBuildType;
247
+ (function (IosManagedBuildType) {
248
+ IosManagedBuildType["Release"] = "RELEASE";
249
+ IosManagedBuildType["DevelopmentClient"] = "DEVELOPMENT_CLIENT";
250
+ })(IosManagedBuildType = exports.IosManagedBuildType || (exports.IosManagedBuildType = {}));
255
251
  var CacheControlScope;
256
252
  (function (CacheControlScope) {
257
253
  CacheControlScope["Public"] = "PUBLIC";
package/build/log.d.ts CHANGED
@@ -18,10 +18,20 @@ export default class Log {
18
18
  private static updateIsLastLineNewLine;
19
19
  }
20
20
  /**
21
+ * Prints a link for given URL, using text if provided, otherwise text is just the URL.
22
+ * Format links as dim (unless disabled) and with an underline.
23
+ *
24
+ * @example https://expo.dev
25
+ */
26
+ export declare function link(url: string, { text, dim }?: {
27
+ text?: string;
28
+ dim?: boolean;
29
+ }): string;
30
+ /**
31
+ * Provide a consistent "Learn more" link experience.
21
32
  * Format links as dim (unless disabled) with an underline.
22
33
  *
23
34
  * @example Learn more: https://expo.dev
24
- * @param url
25
35
  */
26
36
  export declare function learnMore(url: string, { learnMoreMessage: maybeLearnMoreMessage, dim, }?: {
27
37
  learnMoreMessage?: string;
package/build/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.learnMore = void 0;
3
+ exports.learnMore = exports.link = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
6
6
  const figures_1 = (0, tslib_1.__importDefault)(require("figures"));
@@ -79,19 +79,30 @@ exports.default = Log;
79
79
  Log.isDebug = (0, getenv_1.boolish)('EXPO_DEBUG', false);
80
80
  Log.isLastLineNewLine = false;
81
81
  /**
82
- * Format links as dim (unless disabled) with an underline.
82
+ * Prints a link for given URL, using text if provided, otherwise text is just the URL.
83
+ * Format links as dim (unless disabled) and with an underline.
83
84
  *
84
- * @example Learn more: https://expo.dev
85
- * @param url
85
+ * @example https://expo.dev
86
86
  */
87
- function learnMore(url, { learnMoreMessage: maybeLearnMoreMessage, dim = true, } = {}) {
87
+ function link(url, { text = url, dim = true } = {}) {
88
+ let output;
88
89
  // Links can be disabled via env variables https://github.com/jamestalmage/supports-hyperlinks/blob/master/index.js
89
90
  if (terminal_link_1.default.isSupported) {
90
- const text = (0, terminal_link_1.default)(maybeLearnMoreMessage !== null && maybeLearnMoreMessage !== void 0 ? maybeLearnMoreMessage : 'Learn more.', url);
91
- return dim ? chalk_1.default.dim(text) : text;
91
+ output = (0, terminal_link_1.default)(text, url);
92
92
  }
93
- const learnMoreMessage = maybeLearnMoreMessage !== null && maybeLearnMoreMessage !== void 0 ? maybeLearnMoreMessage : 'Learn more';
94
- const text = `${learnMoreMessage === '' ? learnMoreMessage : `${learnMoreMessage}: `}${chalk_1.default.underline(url)}`;
95
- return dim ? chalk_1.default.dim(text) : text;
93
+ else {
94
+ output = `${text === url ? '' : text + ': '}${chalk_1.default.underline(url)}`;
95
+ }
96
+ return dim ? chalk_1.default.dim(output) : output;
97
+ }
98
+ exports.link = link;
99
+ /**
100
+ * Provide a consistent "Learn more" link experience.
101
+ * Format links as dim (unless disabled) with an underline.
102
+ *
103
+ * @example Learn more: https://expo.dev
104
+ */
105
+ function learnMore(url, { learnMoreMessage: maybeLearnMoreMessage, dim = true, } = {}) {
106
+ return link(url, { text: maybeLearnMoreMessage !== null && maybeLearnMoreMessage !== void 0 ? maybeLearnMoreMessage : 'Learn more', dim });
96
107
  }
97
108
  exports.learnMore = learnMore;
@@ -2,4 +2,4 @@ import { ExpoConfig } from '@expo/config';
2
2
  import { GradleBuildContext } from './gradle';
3
3
  export declare function ensureApplicationIdIsDefinedForManagedProjectAsync(projectDir: string, exp: ExpoConfig): Promise<string>;
4
4
  export declare function getApplicationIdAsync(projectDir: string, exp: ExpoConfig, gradleContext?: GradleBuildContext): Promise<string>;
5
- export declare function warnIfAndroidPackageDefinedInAppConfigForGenericProject(projectDir: string, exp: ExpoConfig): void;
5
+ export declare function warnIfAndroidPackageDefinedInAppConfigForBareWorkflowProject(projectDir: string, exp: ExpoConfig): void;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.warnIfAndroidPackageDefinedInAppConfigForGenericProject = exports.getApplicationIdAsync = exports.ensureApplicationIdIsDefinedForManagedProjectAsync = void 0;
3
+ exports.warnIfAndroidPackageDefinedInAppConfigForBareWorkflowProject = exports.getApplicationIdAsync = exports.ensureApplicationIdIsDefinedForManagedProjectAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const config_1 = require("@expo/config");
6
6
  const config_plugins_1 = require("@expo/config-plugins");
@@ -9,6 +9,7 @@ const assert_1 = (0, tslib_1.__importDefault)(require("assert"));
9
9
  const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
10
10
  const fs_extra_1 = (0, tslib_1.__importDefault)(require("fs-extra"));
11
11
  const nullthrows_1 = (0, tslib_1.__importDefault)(require("nullthrows"));
12
+ const appJson_1 = require("../../build/utils/appJson");
12
13
  const log_1 = (0, tslib_1.__importStar)(require("../../log"));
13
14
  const projectUtils_1 = require("../../project/projectUtils");
14
15
  const prompts_1 = require("../../prompts");
@@ -32,7 +33,7 @@ exports.ensureApplicationIdIsDefinedForManagedProjectAsync = ensureApplicationId
32
33
  async function getApplicationIdAsync(projectDir, exp, gradleContext) {
33
34
  const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.ANDROID);
34
35
  if (workflow === eas_build_job_1.Workflow.GENERIC) {
35
- warnIfAndroidPackageDefinedInAppConfigForGenericProject(projectDir, exp);
36
+ warnIfAndroidPackageDefinedInAppConfigForBareWorkflowProject(projectDir, exp);
36
37
  const errorMessage = 'Could not read application id from Android project.';
37
38
  if (gradleContext) {
38
39
  const buildGradle = await gradleUtils.getAppBuildGradleAsync(projectDir);
@@ -90,7 +91,7 @@ async function configureApplicationIdAsync(projectDir, exp) {
90
91
  initial: suggestedAndroidApplicationId,
91
92
  validate: value => (isApplicationIdValid(value) ? true : INVALID_APPLICATION_ID_MESSAGE),
92
93
  });
93
- const rawStaticConfig = await fs_extra_1.default.readJSON(paths.staticConfigPath);
94
+ const rawStaticConfig = (0, appJson_1.readAppJson)(paths.staticConfigPath);
94
95
  rawStaticConfig.expo = {
95
96
  ...rawStaticConfig.expo,
96
97
  android: { ...(_a = rawStaticConfig.expo) === null || _a === void 0 ? void 0 : _a.android, package: packageName },
@@ -103,14 +104,14 @@ function isApplicationIdValid(applicationId) {
103
104
  return /^[a-zA-Z][a-zA-Z0-9_]*(\.[a-zA-Z][a-zA-Z0-9_]*)+$/.test(applicationId);
104
105
  }
105
106
  let warnPrinted = false;
106
- function warnIfAndroidPackageDefinedInAppConfigForGenericProject(projectDir, exp) {
107
+ function warnIfAndroidPackageDefinedInAppConfigForBareWorkflowProject(projectDir, exp) {
107
108
  if (config_plugins_1.AndroidConfig.Package.getPackage(exp) && !warnPrinted) {
108
- log_1.default.warn(`Specifying "android.package" in ${(0, projectUtils_1.getProjectConfigDescription)(projectDir)} is deprecated for generic projects.\n` +
109
+ log_1.default.warn(`Specifying "android.package" in ${(0, projectUtils_1.getProjectConfigDescription)(projectDir)} is deprecated for bare workflow projects.\n` +
109
110
  'EAS Build depends only on the value in the native code. Please remove the deprecated configuration.');
110
111
  warnPrinted = true;
111
112
  }
112
113
  }
113
- exports.warnIfAndroidPackageDefinedInAppConfigForGenericProject = warnIfAndroidPackageDefinedInAppConfigForGenericProject;
114
+ exports.warnIfAndroidPackageDefinedInAppConfigForBareWorkflowProject = warnIfAndroidPackageDefinedInAppConfigForBareWorkflowProject;
114
115
  async function getSuggestedApplicationIdAsync(exp) {
115
116
  // Attempt to use the ios bundle id first since it's convenient to have them aligned.
116
117
  const maybeBundleId = config_plugins_1.IOSConfig.BundleIdentifier.getBundleIdentifier(exp);
@@ -4,5 +4,5 @@ export declare function getBundleIdentifierAsync(projectDir: string, exp: ExpoCo
4
4
  targetName?: string;
5
5
  buildConfiguration?: string;
6
6
  }): Promise<string>;
7
- export declare function warnIfBundleIdentifierDefinedInAppConfigForGenericProject(projectDir: string, exp: ExpoConfig): void;
7
+ export declare function warnIfBundleIdentifierDefinedInAppConfigForBareWorkflowProject(projectDir: string, exp: ExpoConfig): void;
8
8
  export declare function isWildcardBundleIdentifier(bundleIdentifier: string): boolean;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isWildcardBundleIdentifier = exports.warnIfBundleIdentifierDefinedInAppConfigForGenericProject = exports.getBundleIdentifierAsync = exports.ensureBundleIdentifierIsDefinedForManagedProjectAsync = void 0;
3
+ exports.isWildcardBundleIdentifier = exports.warnIfBundleIdentifierDefinedInAppConfigForBareWorkflowProject = exports.getBundleIdentifierAsync = exports.ensureBundleIdentifierIsDefinedForManagedProjectAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const config_1 = require("@expo/config");
6
6
  const config_plugins_1 = require("@expo/config-plugins");
@@ -8,6 +8,7 @@ const eas_build_job_1 = require("@expo/eas-build-job");
8
8
  const assert_1 = (0, tslib_1.__importDefault)(require("assert"));
9
9
  const chalk_1 = (0, tslib_1.__importDefault)(require("chalk"));
10
10
  const fs_extra_1 = (0, tslib_1.__importDefault)(require("fs-extra"));
11
+ const appJson_1 = require("../../build/utils/appJson");
11
12
  const log_1 = (0, tslib_1.__importStar)(require("../../log"));
12
13
  const prompts_1 = require("../../prompts");
13
14
  const actions_1 = require("../../user/actions");
@@ -28,7 +29,7 @@ exports.ensureBundleIdentifierIsDefinedForManagedProjectAsync = ensureBundleIden
28
29
  async function getBundleIdentifierAsync(projectDir, exp, { targetName, buildConfiguration } = {}) {
29
30
  const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.IOS);
30
31
  if (workflow === eas_build_job_1.Workflow.GENERIC) {
31
- warnIfBundleIdentifierDefinedInAppConfigForGenericProject(projectDir, exp);
32
+ warnIfBundleIdentifierDefinedInAppConfigForBareWorkflowProject(projectDir, exp);
32
33
  const bundleIdentifier = config_plugins_1.IOSConfig.BundleIdentifier.getBundleIdentifierFromPbxproj(projectDir, {
33
34
  targetName,
34
35
  buildConfiguration,
@@ -77,7 +78,7 @@ async function configureBundleIdentifierAsync(projectDir, exp) {
77
78
  initial: suggestedBundleIdentifier,
78
79
  validate: value => (isBundleIdentifierValid(value) ? true : INVALID_BUNDLE_IDENTIFIER_MESSAGE),
79
80
  });
80
- const rawStaticConfig = await fs_extra_1.default.readJSON(paths.staticConfigPath);
81
+ const rawStaticConfig = (0, appJson_1.readAppJson)(paths.staticConfigPath);
81
82
  rawStaticConfig.expo = {
82
83
  ...rawStaticConfig.expo,
83
84
  ios: { ...(_a = rawStaticConfig.expo) === null || _a === void 0 ? void 0 : _a.ios, bundleIdentifier },
@@ -90,14 +91,14 @@ function isBundleIdentifierValid(bundleIdentifier) {
90
91
  return /^[a-zA-Z0-9-.]+$/.test(bundleIdentifier);
91
92
  }
92
93
  let warnPrinted = false;
93
- function warnIfBundleIdentifierDefinedInAppConfigForGenericProject(projectDir, exp) {
94
+ function warnIfBundleIdentifierDefinedInAppConfigForBareWorkflowProject(projectDir, exp) {
94
95
  if (config_plugins_1.IOSConfig.BundleIdentifier.getBundleIdentifier(exp) && !warnPrinted) {
95
- log_1.default.warn(`Specifying "ios.bundleIdentifier" in ${(0, projectUtils_1.getProjectConfigDescription)(projectDir)} is deprecated for generic projects.\n` +
96
+ log_1.default.warn(`Specifying "ios.bundleIdentifier" in ${(0, projectUtils_1.getProjectConfigDescription)(projectDir)} is deprecated for bare workflow projects.\n` +
96
97
  'EAS Build depends only on the value in the native code. Please remove the deprecated configuration.');
97
98
  warnPrinted = true;
98
99
  }
99
100
  }
100
- exports.warnIfBundleIdentifierDefinedInAppConfigForGenericProject = warnIfBundleIdentifierDefinedInAppConfigForGenericProject;
101
+ exports.warnIfBundleIdentifierDefinedInAppConfigForBareWorkflowProject = warnIfBundleIdentifierDefinedInAppConfigForBareWorkflowProject;
101
102
  function isWildcardBundleIdentifier(bundleIdentifier) {
102
103
  const wildcardRegex = /^[A-Za-z0-9.-]+\*$/;
103
104
  return wildcardRegex.test(bundleIdentifier);
@@ -1,11 +1,13 @@
1
1
  import { Platform } from '@expo/eas-build-job';
2
2
  import { BuildFragment } from '../graphql/generated';
3
+ export declare const BUILD_LIST_ITEM_COUNT = 4;
3
4
  export declare enum ArchiveSourceType {
4
5
  url = 0,
5
6
  latest = 1,
6
7
  path = 2,
7
8
  buildId = 3,
8
- prompt = 4
9
+ buildList = 4,
10
+ prompt = 5
9
11
  }
10
12
  interface ArchiveSourceBase {
11
13
  sourceType: ArchiveSourceType;
@@ -28,6 +30,9 @@ interface ArchiveBuildIdSource extends ArchiveSourceBase {
28
30
  sourceType: ArchiveSourceType.buildId;
29
31
  id: string;
30
32
  }
33
+ interface ArchiveBuildListSource extends ArchiveSourceBase {
34
+ sourceType: ArchiveSourceType.buildList;
35
+ }
31
36
  interface ArchivePromptSource extends ArchiveSourceBase {
32
37
  sourceType: ArchiveSourceType.prompt;
33
38
  }
@@ -36,7 +41,7 @@ export interface Archive {
36
41
  source: ArchiveSource;
37
42
  url?: string;
38
43
  }
39
- export declare type ArchiveSource = ArchiveUrlSource | ArchiveLatestSource | ArchivePathSource | ArchiveBuildIdSource | ArchivePromptSource;
44
+ export declare type ArchiveSource = ArchiveUrlSource | ArchiveLatestSource | ArchivePathSource | ArchiveBuildIdSource | ArchiveBuildListSource | ArchivePromptSource;
40
45
  export declare function getArchiveAsync(source: ArchiveSource): Promise<Archive>;
41
46
  export declare function isUuidV4(s: string): boolean;
42
47
  export {};