eas-cli 1.0.0 → 1.2.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 (84) hide show
  1. package/README.md +72 -47
  2. package/build/analytics/events.d.ts +4 -1
  3. package/build/analytics/events.js +3 -0
  4. package/build/build/android/build.js +1 -1
  5. package/build/build/build.js +4 -4
  6. package/build/build/createContext.js +1 -0
  7. package/build/build/ios/graphql.js +0 -1
  8. package/build/build/utils/printBuildInfo.js +2 -2
  9. package/build/build/utils/repository.js +4 -4
  10. package/build/commandUtils/EasCommand.d.ts +2 -0
  11. package/build/commandUtils/EasCommand.js +44 -3
  12. package/build/commands/branch/create.js +1 -1
  13. package/build/commands/branch/delete.js +1 -1
  14. package/build/commands/branch/rename.js +2 -2
  15. package/build/commands/build/index.d.ts +2 -1
  16. package/build/commands/build/index.js +36 -18
  17. package/build/commands/channel/create.js +1 -1
  18. package/build/commands/channel/delete.js +1 -1
  19. package/build/commands/channel/edit.js +3 -3
  20. package/build/commands/channel/rollout.js +3 -3
  21. package/build/commands/channel/view.js +1 -1
  22. package/build/commands/credentials.d.ts +3 -0
  23. package/build/commands/credentials.js +6 -1
  24. package/build/commands/project/init.js +3 -1
  25. package/build/commands/secret/list.js +1 -1
  26. package/build/commands/submit.d.ts +2 -1
  27. package/build/commands/submit.js +28 -14
  28. package/build/commands/update/index.js +7 -4
  29. package/build/commands/update/list.js +1 -1
  30. package/build/credentials/android/actions/RemoveKeystore.js +1 -1
  31. package/build/credentials/android/api/GraphqlClient.js +1 -1
  32. package/build/credentials/context.d.ts +3 -0
  33. package/build/credentials/context.js +1 -0
  34. package/build/credentials/errors.js +1 -1
  35. package/build/credentials/ios/IosCredentialsProvider.d.ts +1 -0
  36. package/build/credentials/ios/IosCredentialsProvider.js +33 -5
  37. package/build/credentials/ios/actions/DistributionCertificateUtils.js +2 -2
  38. package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +1 -1
  39. package/build/credentials/ios/actions/SetUpInternalProvisioningProfile.js +2 -2
  40. package/build/credentials/ios/actions/SetUpProvisioningProfile.js +1 -1
  41. package/build/credentials/ios/actions/SetUpSubmissionCredentials.js +1 -1
  42. package/build/credentials/ios/api/GraphqlClient.js +1 -1
  43. package/build/credentials/ios/appstore/ascApiKey.d.ts +11 -0
  44. package/build/credentials/ios/appstore/ascApiKey.js +53 -3
  45. package/build/credentials/ios/appstore/bundleIdCapabilities.js +176 -15
  46. package/build/credentials/ios/appstore/contractMessages.js +1 -1
  47. package/build/credentials/ios/appstore/ensureAppExists.js +3 -3
  48. package/build/credentials/ios/appstore/pushKey.js +2 -2
  49. package/build/credentials/manager/ManageAndroid.js +2 -8
  50. package/build/credentials/manager/ManageIos.js +2 -4
  51. package/build/credentials/manager/SelectIosDistributionTypeGraphqlFromBuildProfile.js +1 -1
  52. package/build/credentials/manager/SelectPlatform.d.ts +2 -0
  53. package/build/credentials/manager/SelectPlatform.js +7 -12
  54. package/build/credentials/utils/promptForCredentials.js +1 -1
  55. package/build/devices/manager.js +1 -1
  56. package/build/graphql/client.js +1 -1
  57. package/build/graphql/generated.d.ts +191 -39
  58. package/build/graphql/generated.js +39 -1
  59. package/build/{credentials/ios/api/graphql → graphql}/queries/AppQuery.d.ts +1 -1
  60. package/build/{credentials/ios/api/graphql → graphql}/queries/AppQuery.js +2 -2
  61. package/build/graphql/queries/EnvironmentSecretsQuery.d.ts +1 -1
  62. package/build/graphql/queries/EnvironmentSecretsQuery.js +2 -2
  63. package/build/graphql/queries/StatuspageServiceQuery.d.ts +4 -0
  64. package/build/graphql/queries/StatuspageServiceQuery.js +28 -0
  65. package/build/graphql/types/StatuspageService.d.ts +1 -0
  66. package/build/graphql/types/StatuspageService.js +19 -0
  67. package/build/metadata/errors.js +2 -2
  68. package/build/project/ensureProjectExists.d.ts +0 -7
  69. package/build/project/ensureProjectExists.js +4 -14
  70. package/build/project/metroConfig.js +1 -1
  71. package/build/project/projectUtils.d.ts +16 -3
  72. package/build/project/projectUtils.js +47 -50
  73. package/build/submit/android/AndroidSubmitter.js +1 -1
  74. package/build/submit/submit.js +2 -2
  75. package/build/submit/utils/errors.js +11 -9
  76. package/build/update/utils.js +1 -1
  77. package/build/utils/statuspageService.d.ts +2 -0
  78. package/build/utils/statuspageService.js +41 -0
  79. package/build/vcs/local.d.ts +1 -0
  80. package/build/vcs/local.js +11 -2
  81. package/oclif.manifest.json +1 -1
  82. package/package.json +4 -7
  83. package/build/graphql/queries/ProjectQuery.d.ts +0 -6
  84. package/build/graphql/queries/ProjectQuery.js +0 -24
@@ -251,8 +251,8 @@ export declare type AccountMutation = {
251
251
  grantActorPermissions: Account;
252
252
  /** Rename this account and the primary user's username if this account is a personal account */
253
253
  rename: Account;
254
- /** Requests a refund for the specified charge. Returns true if auto-refund was possible, otherwise requests a manual refund from support and returns false. */
255
- requestRefund: Scalars['Boolean'];
254
+ /** Requests a refund for the specified charge by requesting a manual refund from support */
255
+ requestRefund?: Maybe<Scalars['Boolean']>;
256
256
  /** Revoke specified Permissions for Actor. Actor must already have at least one permission on the account. */
257
257
  revokeActorPermissions: Account;
258
258
  /**
@@ -676,9 +676,22 @@ export declare type AndroidJobKeystoreInput = {
676
676
  keyPassword?: InputMaybe<Scalars['String']>;
677
677
  keystorePassword: Scalars['String'];
678
678
  };
679
+ export declare type AndroidJobOverridesInput = {
680
+ artifactPath?: InputMaybe<Scalars['String']>;
681
+ buildType?: InputMaybe<AndroidBuildType>;
682
+ builderEnvironment?: InputMaybe<AndroidBuilderEnvironmentInput>;
683
+ cache?: InputMaybe<BuildCacheInput>;
684
+ developmentClient?: InputMaybe<Scalars['Boolean']>;
685
+ experimental?: InputMaybe<Scalars['JSONObject']>;
686
+ gradleCommand?: InputMaybe<Scalars['String']>;
687
+ releaseChannel?: InputMaybe<Scalars['String']>;
688
+ secrets?: InputMaybe<AndroidJobSecretsInput>;
689
+ updates?: InputMaybe<BuildUpdatesInput>;
690
+ username?: InputMaybe<Scalars['String']>;
691
+ version?: InputMaybe<AndroidJobVersionInput>;
692
+ };
679
693
  export declare type AndroidJobSecretsInput = {
680
694
  buildCredentials?: InputMaybe<AndroidJobBuildCredentialsInput>;
681
- environmentSecrets?: InputMaybe<Scalars['JSONObject']>;
682
695
  };
683
696
  export declare type AndroidJobVersionInput = {
684
697
  versionCode: Scalars['String'];
@@ -1627,8 +1640,15 @@ export declare type BuildMutation = {
1627
1640
  createIosBuild: CreateBuildResult;
1628
1641
  /** Delete an EAS Build build */
1629
1642
  deleteBuild: Build;
1630
- /** Retry an EAS Build build */
1643
+ /** Retry an Android EAS Build */
1644
+ retryAndroidBuild: Build;
1645
+ /**
1646
+ * Retry an EAS Build build
1647
+ * @deprecated Use retryAndroidBuild and retryIosBuild instead
1648
+ */
1631
1649
  retryBuild: Build;
1650
+ /** Retry an iOS EAS Build */
1651
+ retryIosBuild: Build;
1632
1652
  };
1633
1653
  export declare type BuildMutationCancelBuildArgs = {
1634
1654
  buildId: Scalars['ID'];
@@ -1648,9 +1668,17 @@ export declare type BuildMutationCreateIosBuildArgs = {
1648
1668
  export declare type BuildMutationDeleteBuildArgs = {
1649
1669
  buildId: Scalars['ID'];
1650
1670
  };
1671
+ export declare type BuildMutationRetryAndroidBuildArgs = {
1672
+ buildId: Scalars['ID'];
1673
+ jobOverrides?: InputMaybe<AndroidJobOverridesInput>;
1674
+ };
1651
1675
  export declare type BuildMutationRetryBuildArgs = {
1652
1676
  buildId: Scalars['ID'];
1653
1677
  };
1678
+ export declare type BuildMutationRetryIosBuildArgs = {
1679
+ buildId: Scalars['ID'];
1680
+ jobOverrides?: InputMaybe<IosJobOverridesInput>;
1681
+ };
1654
1682
  export declare type BuildOrBuildJob = {
1655
1683
  id: Scalars['ID'];
1656
1684
  };
@@ -2267,9 +2295,27 @@ export declare type IosJobInput = {
2267
2295
  username?: InputMaybe<Scalars['String']>;
2268
2296
  version?: InputMaybe<IosJobVersionInput>;
2269
2297
  };
2298
+ export declare type IosJobOverridesInput = {
2299
+ artifactPath?: InputMaybe<Scalars['String']>;
2300
+ buildConfiguration?: InputMaybe<Scalars['String']>;
2301
+ /** @deprecated */
2302
+ buildType?: InputMaybe<IosBuildType>;
2303
+ builderEnvironment?: InputMaybe<IosBuilderEnvironmentInput>;
2304
+ cache?: InputMaybe<BuildCacheInput>;
2305
+ developmentClient?: InputMaybe<Scalars['Boolean']>;
2306
+ /** @deprecated */
2307
+ distribution?: InputMaybe<DistributionType>;
2308
+ experimental?: InputMaybe<Scalars['JSONObject']>;
2309
+ releaseChannel?: InputMaybe<Scalars['String']>;
2310
+ scheme?: InputMaybe<Scalars['String']>;
2311
+ secrets?: InputMaybe<IosJobSecretsInput>;
2312
+ simulator?: InputMaybe<Scalars['Boolean']>;
2313
+ updates?: InputMaybe<BuildUpdatesInput>;
2314
+ username?: InputMaybe<Scalars['String']>;
2315
+ version?: InputMaybe<IosJobVersionInput>;
2316
+ };
2270
2317
  export declare type IosJobSecretsInput = {
2271
2318
  buildCredentials?: InputMaybe<Array<InputMaybe<IosJobTargetCredentialsInput>>>;
2272
- environmentSecrets?: InputMaybe<Scalars['JSONObject']>;
2273
2319
  };
2274
2320
  export declare type IosJobTargetCredentialsInput = {
2275
2321
  distributionCertificate: IosJobDistributionCertificateInput;
@@ -2681,8 +2727,6 @@ export declare type RootMutationBuildJobArgs = {
2681
2727
  };
2682
2728
  export declare type RootQuery = {
2683
2729
  __typename?: 'RootQuery';
2684
- /** Top-level query object for querying GitHub App information and resources it has access to. */
2685
- GitHubApp: GitHubAppQuery;
2686
2730
  /**
2687
2731
  * This is a placeholder field
2688
2732
  * @deprecated Not used.
@@ -2717,6 +2761,8 @@ export declare type RootQuery = {
2717
2761
  clientBuilds: ClientBuildQuery;
2718
2762
  /** Top-level query object for querying Experimentation configuration. */
2719
2763
  experimentation: ExperimentationQuery;
2764
+ /** Top-level query object for querying GitHub App information and resources it has access to. */
2765
+ githubApp: GitHubAppQuery;
2720
2766
  /** Top-level query object for querying Stripe Invoices. */
2721
2767
  invoice: InvoiceQuery;
2722
2768
  /**
@@ -2731,6 +2777,8 @@ export declare type RootQuery = {
2731
2777
  meActor?: Maybe<Actor>;
2732
2778
  project: ProjectQuery;
2733
2779
  snack: SnackQuery;
2780
+ /** Top-level query object for querying Expo status page services. */
2781
+ statuspageService: StatuspageServiceQuery;
2734
2782
  submissions: SubmissionQuery;
2735
2783
  /** fetch all updates in a group */
2736
2784
  updatesByGroup: Array<Update>;
@@ -2862,6 +2910,90 @@ export declare enum StandardOffer {
2862
2910
  /** $348 USD per year, 30 day trial */
2863
2911
  YearlySub = "YEARLY_SUB"
2864
2912
  }
2913
+ /** Incident for a given component from Expo status page API. */
2914
+ export declare type StatuspageIncident = {
2915
+ __typename?: 'StatuspageIncident';
2916
+ createdAt: Scalars['DateTime'];
2917
+ id: Scalars['ID'];
2918
+ /** Impact of an incident from Expo status page. */
2919
+ impact: StatuspageIncidentImpact;
2920
+ name: Scalars['String'];
2921
+ resolvedAt?: Maybe<Scalars['DateTime']>;
2922
+ /** Shortlink to the incident from Expo status page. */
2923
+ shortlink: Scalars['String'];
2924
+ /** Current status of an incident from Expo status page. */
2925
+ status: StatuspageIncidentStatus;
2926
+ updatedAt: Scalars['DateTime'];
2927
+ /** List of all updates for an incident from Expo status page. */
2928
+ updates: Array<StatuspageIncidentUpdate>;
2929
+ };
2930
+ /** Possible Incident impact values from Expo status page API. */
2931
+ export declare enum StatuspageIncidentImpact {
2932
+ Critical = "CRITICAL",
2933
+ Maintenance = "MAINTENANCE",
2934
+ Major = "MAJOR",
2935
+ Minor = "MINOR",
2936
+ None = "NONE"
2937
+ }
2938
+ /** Possible Incident statuses from Expo status page API. */
2939
+ export declare enum StatuspageIncidentStatus {
2940
+ Completed = "COMPLETED",
2941
+ Identified = "IDENTIFIED",
2942
+ Investigating = "INVESTIGATING",
2943
+ InProgress = "IN_PROGRESS",
2944
+ Monitoring = "MONITORING",
2945
+ Resolved = "RESOLVED",
2946
+ Scheduled = "SCHEDULED",
2947
+ Verifying = "VERIFYING"
2948
+ }
2949
+ /** Update for an Incident from Expo status page API. */
2950
+ export declare type StatuspageIncidentUpdate = {
2951
+ __typename?: 'StatuspageIncidentUpdate';
2952
+ /** Text of an update from Expo status page. */
2953
+ body: Scalars['String'];
2954
+ createdAt: Scalars['DateTime'];
2955
+ id: Scalars['ID'];
2956
+ /** Status set at the moment of update. */
2957
+ status: StatuspageIncidentStatus;
2958
+ };
2959
+ /** Service monitored by Expo status page. */
2960
+ export declare type StatuspageService = {
2961
+ __typename?: 'StatuspageService';
2962
+ /** Description of a service from Expo status page. */
2963
+ description?: Maybe<Scalars['String']>;
2964
+ id: Scalars['ID'];
2965
+ /**
2966
+ * List of last inicdents for a service from Expo status page (we always query for 50 latest incidents for all services)
2967
+ * sorted by createdAt field in descending order.
2968
+ */
2969
+ incidents: Array<StatuspageIncident>;
2970
+ /** Name of a service monitored by Expo status page. */
2971
+ name: StatuspageServiceName;
2972
+ /** Current status of a service from Expo status page. */
2973
+ status: StatuspageServiceStatus;
2974
+ };
2975
+ /** Name of a service monitored by Expo status page. */
2976
+ export declare enum StatuspageServiceName {
2977
+ EasBuild = "EAS_BUILD",
2978
+ EasSubmit = "EAS_SUBMIT",
2979
+ EasUpdate = "EAS_UPDATE"
2980
+ }
2981
+ export declare type StatuspageServiceQuery = {
2982
+ __typename?: 'StatuspageServiceQuery';
2983
+ /** Query services from Expo status page by names. */
2984
+ byServiceNames: Array<StatuspageService>;
2985
+ };
2986
+ export declare type StatuspageServiceQueryByServiceNamesArgs = {
2987
+ serviceNames: Array<StatuspageServiceName>;
2988
+ };
2989
+ /** Possible statuses for a service. */
2990
+ export declare enum StatuspageServiceStatus {
2991
+ DegradedPerformance = "DEGRADED_PERFORMANCE",
2992
+ MajorOutage = "MAJOR_OUTAGE",
2993
+ Operational = "OPERATIONAL",
2994
+ PartialOutage = "PARTIAL_OUTAGE",
2995
+ UnderMaintenance = "UNDER_MAINTENANCE"
2996
+ }
2865
2997
  export declare type StripeCoupon = {
2866
2998
  __typename?: 'StripeCoupon';
2867
2999
  amountOff?: Maybe<Scalars['String']>;
@@ -5168,21 +5300,6 @@ export declare type SetAppStoreConnectApiKeyForSubmissionsMutation = {
5168
5300
  };
5169
5301
  };
5170
5302
  };
5171
- export declare type AppByFullNameQueryVariables = Exact<{
5172
- fullName: Scalars['String'];
5173
- }>;
5174
- export declare type AppByFullNameQuery = {
5175
- __typename?: 'RootQuery';
5176
- app: {
5177
- __typename?: 'AppQuery';
5178
- byFullName: {
5179
- __typename?: 'App';
5180
- id: string;
5181
- fullName: string;
5182
- slug: string;
5183
- };
5184
- };
5185
- };
5186
5303
  export declare type AppStoreConnectApiKeyByAccountQueryVariables = Exact<{
5187
5304
  accountName: Scalars['String'];
5188
5305
  }>;
@@ -6392,6 +6509,21 @@ export declare type DeleteWebhookMutation = {
6392
6509
  };
6393
6510
  };
6394
6511
  };
6512
+ export declare type AppByFullNameQueryVariables = Exact<{
6513
+ fullName: Scalars['String'];
6514
+ }>;
6515
+ export declare type AppByFullNameQuery = {
6516
+ __typename?: 'RootQuery';
6517
+ app: {
6518
+ __typename?: 'AppQuery';
6519
+ byFullName: {
6520
+ __typename?: 'App';
6521
+ id: string;
6522
+ fullName: string;
6523
+ slug: string;
6524
+ };
6525
+ };
6526
+ };
6395
6527
  export declare type LatestAppVersionQueryVariables = Exact<{
6396
6528
  appId: Scalars['String'];
6397
6529
  platform: AppPlatform;
@@ -6794,23 +6926,6 @@ export declare type EnvironmentSecretsByAppIdQuery = {
6794
6926
  };
6795
6927
  };
6796
6928
  };
6797
- export declare type ProjectByUsernameAndSlugQueryVariables = Exact<{
6798
- username: Scalars['String'];
6799
- slug: Scalars['String'];
6800
- }>;
6801
- export declare type ProjectByUsernameAndSlugQuery = {
6802
- __typename?: 'RootQuery';
6803
- project: {
6804
- __typename?: 'ProjectQuery';
6805
- byUsernameAndSlug: {
6806
- __typename?: 'App';
6807
- id: string;
6808
- } | {
6809
- __typename?: 'Snack';
6810
- id: string;
6811
- };
6812
- };
6813
- };
6814
6929
  export declare type GetAssetMetadataQueryVariables = Exact<{
6815
6930
  storageKeys: Array<Scalars['String']> | Scalars['String'];
6816
6931
  }>;
@@ -6839,6 +6954,29 @@ export declare type GetAssetLimitPerUpdateGroupForAppQuery = {
6839
6954
  };
6840
6955
  };
6841
6956
  };
6957
+ export declare type StatuspageServiceByServiceNamesQueryVariables = Exact<{
6958
+ serviceNames: Array<StatuspageServiceName> | StatuspageServiceName;
6959
+ }>;
6960
+ export declare type StatuspageServiceByServiceNamesQuery = {
6961
+ __typename?: 'RootQuery';
6962
+ statuspageService: {
6963
+ __typename?: 'StatuspageServiceQuery';
6964
+ byServiceNames: Array<{
6965
+ __typename?: 'StatuspageService';
6966
+ id: string;
6967
+ name: StatuspageServiceName;
6968
+ status: StatuspageServiceStatus;
6969
+ incidents: Array<{
6970
+ __typename?: 'StatuspageIncident';
6971
+ id: string;
6972
+ status: StatuspageIncidentStatus;
6973
+ name: string;
6974
+ impact: StatuspageIncidentImpact;
6975
+ shortlink: string;
6976
+ }>;
6977
+ }>;
6978
+ };
6979
+ };
6842
6980
  export declare type SubmissionsByIdQueryVariables = Exact<{
6843
6981
  submissionId: Scalars['ID'];
6844
6982
  }>;
@@ -7244,6 +7382,20 @@ export declare type EnvironmentSecretFragment = {
7244
7382
  name: string;
7245
7383
  createdAt: any;
7246
7384
  };
7385
+ export declare type StatuspageServiceFragment = {
7386
+ __typename?: 'StatuspageService';
7387
+ id: string;
7388
+ name: StatuspageServiceName;
7389
+ status: StatuspageServiceStatus;
7390
+ incidents: Array<{
7391
+ __typename?: 'StatuspageIncident';
7392
+ id: string;
7393
+ status: StatuspageIncidentStatus;
7394
+ name: string;
7395
+ impact: StatuspageIncidentImpact;
7396
+ shortlink: string;
7397
+ }>;
7398
+ };
7247
7399
  export declare type SubmissionFragment = {
7248
7400
  __typename?: 'Submission';
7249
7401
  id: string;
@@ -6,7 +6,8 @@
6
6
  * For more info and docs, visit https://graphql-code-generator.com/
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.WebhookType = exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.SubmissionStatus = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = exports.ProjectArchiveSourceType = exports.Permission = exports.Order = exports.OfferType = exports.MailchimpTag = exports.MailchimpAudience = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.Feature = exports.EasServiceMetric = exports.EasBuildDeprecationInfoType = exports.DistributionType = exports.CacheControlScope = exports.BuildWorkflow = exports.BuildStatus = exports.BuildResourceClass = exports.BuildPriority = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.AuthProtocolType = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = void 0;
9
+ exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.SubmissionStatus = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StatuspageServiceStatus = exports.StatuspageServiceName = exports.StatuspageIncidentStatus = exports.StatuspageIncidentImpact = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = exports.ProjectArchiveSourceType = exports.Permission = exports.Order = exports.OfferType = exports.MailchimpTag = exports.MailchimpAudience = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.Feature = exports.EasServiceMetric = exports.EasBuildDeprecationInfoType = exports.DistributionType = exports.CacheControlScope = exports.BuildWorkflow = exports.BuildStatus = exports.BuildResourceClass = exports.BuildPriority = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.AuthProtocolType = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = void 0;
10
+ exports.WebhookType = void 0;
10
11
  var ActivityTimelineProjectActivityType;
11
12
  (function (ActivityTimelineProjectActivityType) {
12
13
  ActivityTimelineProjectActivityType["Build"] = "BUILD";
@@ -270,6 +271,43 @@ var StandardOffer;
270
271
  /** $348 USD per year, 30 day trial */
271
272
  StandardOffer["YearlySub"] = "YEARLY_SUB";
272
273
  })(StandardOffer = exports.StandardOffer || (exports.StandardOffer = {}));
274
+ /** Possible Incident impact values from Expo status page API. */
275
+ var StatuspageIncidentImpact;
276
+ (function (StatuspageIncidentImpact) {
277
+ StatuspageIncidentImpact["Critical"] = "CRITICAL";
278
+ StatuspageIncidentImpact["Maintenance"] = "MAINTENANCE";
279
+ StatuspageIncidentImpact["Major"] = "MAJOR";
280
+ StatuspageIncidentImpact["Minor"] = "MINOR";
281
+ StatuspageIncidentImpact["None"] = "NONE";
282
+ })(StatuspageIncidentImpact = exports.StatuspageIncidentImpact || (exports.StatuspageIncidentImpact = {}));
283
+ /** Possible Incident statuses from Expo status page API. */
284
+ var StatuspageIncidentStatus;
285
+ (function (StatuspageIncidentStatus) {
286
+ StatuspageIncidentStatus["Completed"] = "COMPLETED";
287
+ StatuspageIncidentStatus["Identified"] = "IDENTIFIED";
288
+ StatuspageIncidentStatus["Investigating"] = "INVESTIGATING";
289
+ StatuspageIncidentStatus["InProgress"] = "IN_PROGRESS";
290
+ StatuspageIncidentStatus["Monitoring"] = "MONITORING";
291
+ StatuspageIncidentStatus["Resolved"] = "RESOLVED";
292
+ StatuspageIncidentStatus["Scheduled"] = "SCHEDULED";
293
+ StatuspageIncidentStatus["Verifying"] = "VERIFYING";
294
+ })(StatuspageIncidentStatus = exports.StatuspageIncidentStatus || (exports.StatuspageIncidentStatus = {}));
295
+ /** Name of a service monitored by Expo status page. */
296
+ var StatuspageServiceName;
297
+ (function (StatuspageServiceName) {
298
+ StatuspageServiceName["EasBuild"] = "EAS_BUILD";
299
+ StatuspageServiceName["EasSubmit"] = "EAS_SUBMIT";
300
+ StatuspageServiceName["EasUpdate"] = "EAS_UPDATE";
301
+ })(StatuspageServiceName = exports.StatuspageServiceName || (exports.StatuspageServiceName = {}));
302
+ /** Possible statuses for a service. */
303
+ var StatuspageServiceStatus;
304
+ (function (StatuspageServiceStatus) {
305
+ StatuspageServiceStatus["DegradedPerformance"] = "DEGRADED_PERFORMANCE";
306
+ StatuspageServiceStatus["MajorOutage"] = "MAJOR_OUTAGE";
307
+ StatuspageServiceStatus["Operational"] = "OPERATIONAL";
308
+ StatuspageServiceStatus["PartialOutage"] = "PARTIAL_OUTAGE";
309
+ StatuspageServiceStatus["UnderMaintenance"] = "UNDER_MAINTENANCE";
310
+ })(StatuspageServiceStatus = exports.StatuspageServiceStatus || (exports.StatuspageServiceStatus = {}));
273
311
  var SubmissionAndroidArchiveType;
274
312
  (function (SubmissionAndroidArchiveType) {
275
313
  SubmissionAndroidArchiveType["Aab"] = "AAB";
@@ -1,4 +1,4 @@
1
- import { AppFragment } from '../../../../../graphql/generated';
1
+ import { AppFragment } from '../generated';
2
2
  export declare const AppQuery: {
3
3
  byFullNameAsync(fullName: string): Promise<AppFragment>;
4
4
  };
@@ -5,8 +5,8 @@ const tslib_1 = require("tslib");
5
5
  const assert_1 = tslib_1.__importDefault(require("assert"));
6
6
  const graphql_1 = require("graphql");
7
7
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
8
- const client_1 = require("../../../../../graphql/client");
9
- const App_1 = require("../../../../../graphql/types/App");
8
+ const client_1 = require("../client");
9
+ const App_1 = require("../types/App");
10
10
  exports.AppQuery = {
11
11
  async byFullNameAsync(fullName) {
12
12
  const data = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
@@ -9,5 +9,5 @@ export declare type EnvironmentSecretWithScope = EnvironmentSecretFragment & {
9
9
  export declare const EnvironmentSecretsQuery: {
10
10
  byAccountNameAsync(accountName: string): Promise<EnvironmentSecretFragment[]>;
11
11
  byAppIdAsync(appId: string): Promise<EnvironmentSecretFragment[]>;
12
- allAsync(projectAccountName: string, projectFullName: string): Promise<EnvironmentSecretWithScope[]>;
12
+ allAsync(projectAccountName: string, projectId: string): Promise<EnvironmentSecretWithScope[]>;
13
13
  };
@@ -53,10 +53,10 @@ exports.EnvironmentSecretsQuery = {
53
53
  .toPromise());
54
54
  return (_b = (_a = data.app) === null || _a === void 0 ? void 0 : _a.byId.environmentSecrets) !== null && _b !== void 0 ? _b : [];
55
55
  },
56
- async allAsync(projectAccountName, projectFullName) {
56
+ async allAsync(projectAccountName, projectId) {
57
57
  const [accountSecrets, appSecrets] = await Promise.all([
58
58
  this.byAccountNameAsync(projectAccountName),
59
- this.byAppIdAsync(projectFullName),
59
+ this.byAppIdAsync(projectId),
60
60
  ]);
61
61
  return [
62
62
  ...appSecrets.map(s => ({ ...s, scope: EnvironmentSecretScope.PROJECT })),
@@ -0,0 +1,4 @@
1
+ import { StatuspageServiceFragment, StatuspageServiceName } from '../generated';
2
+ export declare const StatuspageServiceQuery: {
3
+ statuspageServicesAsync(serviceNames: StatuspageServiceName[]): Promise<StatuspageServiceFragment[]>;
4
+ };
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatuspageServiceQuery = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_1 = require("graphql");
6
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
7
+ const client_1 = require("../client");
8
+ const StatuspageService_1 = require("../types/StatuspageService");
9
+ exports.StatuspageServiceQuery = {
10
+ async statuspageServicesAsync(serviceNames) {
11
+ const data = await (0, client_1.withErrorHandlingAsync)(client_1.graphqlClient
12
+ .query((0, graphql_tag_1.default) `
13
+ query StatuspageServiceByServiceNamesQuery($serviceNames: [StatuspageServiceName!]!) {
14
+ statuspageService {
15
+ byServiceNames(serviceNames: $serviceNames) {
16
+ id
17
+ ...StatuspageServiceFragment
18
+ }
19
+ }
20
+ }
21
+ ${(0, graphql_1.print)(StatuspageService_1.StatuspageServiceFragmentNode)}
22
+ `, { serviceNames }, {
23
+ additionalTypenames: ['StatuspageService', 'StatuspageIncident'],
24
+ })
25
+ .toPromise());
26
+ return data.statuspageService.byServiceNames;
27
+ },
28
+ };
@@ -0,0 +1 @@
1
+ export declare const StatuspageServiceFragmentNode: import("graphql").DocumentNode;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatuspageServiceFragmentNode = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
6
+ exports.StatuspageServiceFragmentNode = (0, graphql_tag_1.default) `
7
+ fragment StatuspageServiceFragment on StatuspageService {
8
+ id
9
+ name
10
+ status
11
+ incidents {
12
+ id
13
+ status
14
+ name
15
+ impact
16
+ shortlink
17
+ }
18
+ }
19
+ `;
@@ -75,8 +75,8 @@ function handleMetadataError(error) {
75
75
  log_1.default.error(error.errors.map(err => err.message).join('\n\n'));
76
76
  }
77
77
  log_1.default.newLine();
78
- log_1.default.log('Please check the logs for any configuration issues.');
79
- log_1.default.log('If this issue persists, please open a new issue at:');
78
+ log_1.default.log('Check the logs for any configuration issues.');
79
+ log_1.default.log('If this issue persists, open a new issue at:');
80
80
  // TODO: add execution ID to the issue template link
81
81
  log_1.default.log((0, log_1.link)('https://github.com/expo/eas-cli'));
82
82
  return;
@@ -9,13 +9,6 @@ interface ProjectInfo {
9
9
  * @returns The project ID
10
10
  */
11
11
  export declare function ensureProjectExistsAsync(projectInfo: ProjectInfo): Promise<string>;
12
- /**
13
- * Finds project by `@accountName/slug` and returns its ID, return null if the project does not exist
14
- * @param accountName account name
15
- * @param slug project slug
16
- * @returns A promise resolving to Project ID, null if it doesn't exist
17
- */
18
- export declare function findProjectIdByAccountNameAndSlugNullableAsync(accountName: string, slug: string): Promise<string | null>;
19
12
  /**
20
13
  * Registers new project on EAS servers
21
14
  * @returns Created project's ID
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerNewProjectAsync = exports.findProjectIdByAccountNameAndSlugNullableAsync = exports.ensureProjectExistsAsync = void 0;
3
+ exports.registerNewProjectAsync = exports.ensureProjectExistsAsync = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const assert_1 = tslib_1.__importDefault(require("assert"));
6
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -8,7 +8,7 @@ const terminal_link_1 = tslib_1.__importDefault(require("terminal-link"));
8
8
  const url_1 = require("../build/utils/url");
9
9
  const generated_1 = require("../graphql/generated");
10
10
  const AppMutation_1 = require("../graphql/mutations/AppMutation");
11
- const ProjectQuery_1 = require("../graphql/queries/ProjectQuery");
11
+ const AppQuery_1 = require("../graphql/queries/AppQuery");
12
12
  const ora_1 = require("../ora");
13
13
  const Account_1 = require("../user/Account");
14
14
  const actions_1 = require("../user/actions");
@@ -64,7 +64,8 @@ exports.ensureProjectExistsAsync = ensureProjectExistsAsync;
64
64
  async function findProjectIdByAccountNameAndSlugNullableAsync(accountName, slug) {
65
65
  var _a;
66
66
  try {
67
- return await findProjectIdByAccountNameAndSlugAsync(accountName, slug);
67
+ const { id } = await AppQuery_1.AppQuery.byFullNameAsync(`@${accountName}/${slug}`);
68
+ return id;
68
69
  }
69
70
  catch (err) {
70
71
  if ((_a = err.graphQLErrors) === null || _a === void 0 ? void 0 : _a.some((it) => { var _a; return ((_a = it.extensions) === null || _a === void 0 ? void 0 : _a.errorCode) !== 'EXPERIENCE_NOT_FOUND'; })) {
@@ -73,17 +74,6 @@ async function findProjectIdByAccountNameAndSlugNullableAsync(accountName, slug)
73
74
  return null;
74
75
  }
75
76
  }
76
- exports.findProjectIdByAccountNameAndSlugNullableAsync = findProjectIdByAccountNameAndSlugNullableAsync;
77
- /**
78
- * Finds project by `@accountName/slug` and returns its ID
79
- * @param accountName account name
80
- * @param slug project slug
81
- * @returns A promise resolving to Project ID
82
- */
83
- async function findProjectIdByAccountNameAndSlugAsync(accountName, slug) {
84
- const { id } = await ProjectQuery_1.ProjectQuery.byUsernameAndSlugAsync(accountName, slug);
85
- return id;
86
- }
87
77
  /**
88
78
  * Registers new project on EAS servers
89
79
  * @returns Created project's ID
@@ -42,7 +42,7 @@ function importMetroConfigFromProject(projectDir) {
42
42
  if (!resolvedPath) {
43
43
  throw new MetroConfigPackageMissingError('Missing package "metro-config" in the project. ' +
44
44
  'This usually means `react-native` is not installed. ' +
45
- 'Please verify that dependencies in package.json include "react-native" ' +
45
+ 'Verify that dependencies in package.json include "react-native" ' +
46
46
  'and run `yarn` or `npm install`.');
47
47
  }
48
48
  return require(resolvedPath);
@@ -8,9 +8,23 @@ export declare function findProjectRootAsync({ cwd, defaultToProcessCwd, }?: {
8
8
  cwd?: string;
9
9
  defaultToProcessCwd?: boolean;
10
10
  }): Promise<string>;
11
- export declare function setProjectIdAsync(projectDir: string, options?: {
11
+ /**
12
+ * Save an EAS project ID to the appropriate field in the app config.
13
+ */
14
+ export declare function saveProjectIdToAppConfigAsync(projectDir: string, projectId: string, options?: {
12
15
  env?: Env;
13
- }): Promise<ExpoConfig | undefined>;
16
+ }): Promise<void>;
17
+ /**
18
+ * Use the owner/slug to identify an EAS project on the server.
19
+ *
20
+ * @returns the EAS project ID from the server
21
+ */
22
+ export declare function fetchProjectIdFromServerAsync(exp: ExpoConfig): Promise<string>;
23
+ /**
24
+ * Get the EAS project ID from the app config. If the project ID is not set in the config.
25
+ * use the owner/slug to identify an EAS project on the server, and attempt to save the
26
+ * EAS project ID to the appropriate field in the app config.
27
+ */
14
28
  export declare function getProjectIdAsync(exp: ExpoConfig, options?: {
15
29
  env?: Env;
16
30
  }, findProjectRootOptions?: {
@@ -26,7 +40,6 @@ export declare function getProjectFullNameAsync(exp: ExpoConfig): Promise<string
26
40
  * - both: app.config.js or app.json
27
41
  */
28
42
  export declare function getProjectConfigDescription(projectDir: string): string;
29
- export declare function promptToCreateProjectIfNotExistsAsync(exp: ExpoConfig): Promise<string | null>;
30
43
  export declare function isExpoUpdatesInstalled(projectDir: string): boolean;
31
44
  export declare function isExpoUpdatesInstalledOrAvailable(projectDir: string, sdkVersion?: string): boolean;
32
45
  export declare function validateAppVersionRuntimePolicySupportAsync(projectDir: string, exp: ExpoConfig): Promise<void>;