eas-cli 5.0.2 → 5.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.
@@ -176,8 +176,8 @@ class UpdatePublish extends EasCommand_1.default {
176
176
  branchId,
177
177
  channelName: branchName,
178
178
  });
179
+ log_1.default.withTick(`Channel: ${chalk_1.default.bold(branchName)} pointed at branch: ${chalk_1.default.bold(branchName)}`);
179
180
  }
180
- log_1.default.withTick(`Channel: ${chalk_1.default.bold(branchName)} pointed at branch: ${chalk_1.default.bold(branchName)}`);
181
181
  const vcsClient = (0, vcs_1.getVcsClient)();
182
182
  const gitCommitHash = await vcsClient.getCommitHashAsync();
183
183
  const isGitWorkingTreeDirty = await vcsClient.hasUncommittedChangesAsync();
@@ -8,6 +8,7 @@ const ora_1 = require("../../../ora");
8
8
  const applicationId_1 = require("../../../project/android/applicationId");
9
9
  const projectUtils_1 = require("../../../project/projectUtils");
10
10
  const prompts_1 = require("../../../prompts");
11
+ const errors_1 = require("../../errors");
11
12
  /**
12
13
  * Legacy credentials can be copied over to EAS if the user does not have
13
14
  * EAS credentials set up yet
@@ -67,7 +68,7 @@ async function getAppLookupParamsFromContextAsync(ctx, gradleContext) {
67
68
  const account = await (0, projectUtils_1.getOwnerAccountForProjectIdAsync)(ctx.graphqlClient, projectId);
68
69
  const androidApplicationIdentifier = await (0, applicationId_1.getApplicationIdAsync)(ctx.projectDir, ctx.exp, gradleContext);
69
70
  if (!androidApplicationIdentifier) {
70
- throw new Error(`android.package needs to be defined in your ${(0, projectUtils_1.getProjectConfigDescription)(ctx.projectDir)} file`);
71
+ throw new errors_1.AndroidPackageNotDefinedError(`android.package needs to be defined in your ${(0, projectUtils_1.getProjectConfigDescription)(ctx.projectDir)} file`);
71
72
  }
72
73
  return { account, projectName, androidApplicationIdentifier };
73
74
  }
@@ -8,3 +8,6 @@ export declare class UnsupportedCredentialsChoiceError extends Error {
8
8
  choice: string;
9
9
  constructor(message: string, choice: string);
10
10
  }
11
+ export declare class AndroidPackageNotDefinedError extends Error {
12
+ constructor(message?: string);
13
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UnsupportedCredentialsChoiceError = exports.MissingCredentialsError = exports.MissingCredentialsNonInteractiveError = void 0;
3
+ exports.AndroidPackageNotDefinedError = exports.UnsupportedCredentialsChoiceError = exports.MissingCredentialsError = exports.MissingCredentialsNonInteractiveError = void 0;
4
4
  class MissingCredentialsNonInteractiveError extends Error {
5
5
  constructor(message) {
6
6
  super(message !== null && message !== void 0 ? message : 'Credentials are not set up. Run this command again in interactive mode.');
@@ -20,3 +20,9 @@ class UnsupportedCredentialsChoiceError extends Error {
20
20
  }
21
21
  }
22
22
  exports.UnsupportedCredentialsChoiceError = UnsupportedCredentialsChoiceError;
23
+ class AndroidPackageNotDefinedError extends Error {
24
+ constructor(message) {
25
+ super(message !== null && message !== void 0 ? message : 'android.package needs to be defined in your app.json/app.config.js file');
26
+ }
27
+ }
28
+ exports.AndroidPackageNotDefinedError = AndroidPackageNotDefinedError;
@@ -22,6 +22,7 @@ const UpdateCredentialsJson_1 = require("../android/actions/UpdateCredentialsJso
22
22
  const UseExistingGoogleServiceAccountKey_1 = require("../android/actions/UseExistingGoogleServiceAccountKey");
23
23
  const printCredentials_1 = require("../android/utils/printCredentials");
24
24
  const context_1 = require("../context");
25
+ const errors_1 = require("../errors");
25
26
  const Actions_1 = require("./Actions");
26
27
  const AndroidActions_1 = require("./AndroidActions");
27
28
  const CreateAndroidBuildCredentials_1 = require("./CreateAndroidBuildCredentials");
@@ -118,6 +119,10 @@ class ManageAndroid {
118
119
  await this.runProjectSpecificActionAsync(ctx, chosenAction, gradleContext);
119
120
  }
120
121
  catch (err) {
122
+ if (err instanceof errors_1.AndroidPackageNotDefinedError) {
123
+ err.message += `\n${(0, log_1.learnMore)('https://docs.expo.dev/workflow/configuration/')} about configuration with app.json/app.config.js`;
124
+ throw err; // breaks out of the loop to avoid failing again after continuation
125
+ }
121
126
  log_1.default.error(err);
122
127
  if (process.env.DEBUG) {
123
128
  throw err; // breaks out of the loop so we can get stack trace
@@ -410,17 +410,11 @@ export type AccountSsoConfiguration = {
410
410
  updatedAt: Scalars['DateTime'];
411
411
  };
412
412
  export type AccountSsoConfigurationData = {
413
- authEndpoint?: InputMaybe<Scalars['String']>;
414
413
  authProtocol: AuthProtocolType;
415
414
  authProviderIdentifier: Scalars['String'];
416
415
  clientIdentifier: Scalars['String'];
417
416
  clientSecret: Scalars['String'];
418
- endSessionEndpoint?: InputMaybe<Scalars['String']>;
419
417
  issuer: Scalars['String'];
420
- jwksEndpoint?: InputMaybe<Scalars['String']>;
421
- revokeEndpoint?: InputMaybe<Scalars['String']>;
422
- tokenEndpoint?: InputMaybe<Scalars['String']>;
423
- userInfoEndpoint?: InputMaybe<Scalars['String']>;
424
418
  };
425
419
  export type AccountSsoConfigurationMutation = {
426
420
  __typename?: 'AccountSSOConfigurationMutation';
@@ -511,6 +505,8 @@ export type Actor = {
511
505
  * For example, when displaying a sentence indicating that actor X created a build or published an update.
512
506
  */
513
507
  displayName: Scalars['String'];
508
+ /** Experiments associated with this actor */
509
+ experiments: Array<ActorExperiment>;
514
510
  /**
515
511
  * Server feature gate values for this actor, optionally filtering by desired gates.
516
512
  * Only resolves for the viewer.
@@ -524,9 +520,29 @@ export type Actor = {
524
520
  export type ActorFeatureGatesArgs = {
525
521
  filter?: InputMaybe<Array<Scalars['String']>>;
526
522
  };
523
+ export type ActorExperiment = {
524
+ __typename?: 'ActorExperiment';
525
+ createdAt: Scalars['DateTime'];
526
+ enabled: Scalars['Boolean'];
527
+ experiment: Experiment;
528
+ id: Scalars['ID'];
529
+ updatedAt: Scalars['DateTime'];
530
+ };
531
+ export type ActorExperimentMutation = {
532
+ __typename?: 'ActorExperimentMutation';
533
+ /** Create or update the value of a User Experiment */
534
+ createOrUpdateActorExperiment: ActorExperiment;
535
+ };
536
+ export type ActorExperimentMutationCreateOrUpdateActorExperimentArgs = {
537
+ enabled: Scalars['Boolean'];
538
+ experiment: Experiment;
539
+ };
527
540
  export type ActorQuery = {
528
541
  __typename?: 'ActorQuery';
529
- /** Query an Actor by ID */
542
+ /**
543
+ * Query an Actor by ID
544
+ * @deprecated Public actor queries are no longer supported
545
+ */
530
546
  byId: Actor;
531
547
  };
532
548
  export type ActorQueryByIdArgs = {
@@ -667,6 +683,7 @@ export type AndroidBuilderEnvironmentInput = {
667
683
  image?: InputMaybe<Scalars['String']>;
668
684
  ndk?: InputMaybe<Scalars['String']>;
669
685
  node?: InputMaybe<Scalars['String']>;
686
+ pnpm?: InputMaybe<Scalars['String']>;
670
687
  yarn?: InputMaybe<Scalars['String']>;
671
688
  };
672
689
  export type AndroidFcm = {
@@ -871,6 +888,7 @@ export type App = Project & {
871
888
  insights: AppInsights;
872
889
  /** iOS app credentials for the project */
873
890
  iosAppCredentials: Array<IosAppCredentials>;
891
+ isDeleting: Scalars['Boolean'];
874
892
  /** Whether the latest classic update publish is using a deprecated SDK version */
875
893
  isDeprecated: Scalars['Boolean'];
876
894
  /** @deprecated 'likes' have been deprecated. */
@@ -905,6 +923,8 @@ export type App = Project & {
905
923
  releaseChannels: Array<Scalars['String']>;
906
924
  /** @deprecated Legacy access tokens are deprecated */
907
925
  requiresAccessTokenForPushSecurity: Scalars['Boolean'];
926
+ /** Runtimes associated with this app */
927
+ runtimes: RuntimesConnection;
908
928
  scopeKey: Scalars['String'];
909
929
  /** SDK version of the latest classic update publish, 0.0.0 otherwise */
910
930
  sdkVersion: Scalars['String'];
@@ -1002,6 +1022,7 @@ export type AppDeploymentArgs = {
1002
1022
  export type AppDeploymentsArgs = {
1003
1023
  after?: InputMaybe<Scalars['String']>;
1004
1024
  before?: InputMaybe<Scalars['String']>;
1025
+ filter?: InputMaybe<DeploymentFilterInput>;
1005
1026
  first?: InputMaybe<Scalars['Int']>;
1006
1027
  last?: InputMaybe<Scalars['Int']>;
1007
1028
  };
@@ -1029,6 +1050,13 @@ export type AppLikedByArgs = {
1029
1050
  offset?: InputMaybe<Scalars['Int']>;
1030
1051
  };
1031
1052
  /** Represents an Exponent App (or Experience in legacy terms) */
1053
+ export type AppRuntimesArgs = {
1054
+ after?: InputMaybe<Scalars['String']>;
1055
+ before?: InputMaybe<Scalars['String']>;
1056
+ first?: InputMaybe<Scalars['Int']>;
1057
+ last?: InputMaybe<Scalars['Int']>;
1058
+ };
1059
+ /** Represents an Exponent App (or Experience in legacy terms) */
1032
1060
  export type AppSubmissionsArgs = {
1033
1061
  filter: SubmissionFilter;
1034
1062
  limit: Scalars['Int'];
@@ -1712,6 +1740,7 @@ export type Build = ActivityTimelineProjectActivity & BuildOrBuildJob & {
1712
1740
  completedAt?: Maybe<Scalars['DateTime']>;
1713
1741
  createdAt: Scalars['DateTime'];
1714
1742
  customWorkflowName?: Maybe<Scalars['String']>;
1743
+ developmentClient?: Maybe<Scalars['Boolean']>;
1715
1744
  distribution?: Maybe<DistributionType>;
1716
1745
  enqueuedAt?: Maybe<Scalars['DateTime']>;
1717
1746
  error?: Maybe<BuildError>;
@@ -1903,6 +1932,7 @@ export type BuildMetadataInput = {
1903
1932
  cliVersion?: InputMaybe<Scalars['String']>;
1904
1933
  credentialsSource?: InputMaybe<BuildCredentialsSource>;
1905
1934
  customWorkflowName?: InputMaybe<Scalars['String']>;
1935
+ developmentClient?: InputMaybe<Scalars['Boolean']>;
1906
1936
  distribution?: InputMaybe<DistributionType>;
1907
1937
  gitCommitHash?: InputMaybe<Scalars['String']>;
1908
1938
  gitCommitMessage?: InputMaybe<Scalars['String']>;
@@ -2320,8 +2350,10 @@ export type Deployment = {
2320
2350
  builds: DeploymentBuildsConnection;
2321
2351
  channel: UpdateChannel;
2322
2352
  id: Scalars['ID'];
2323
- /** @deprecated Not required for the new Deployment UI */
2324
- latestUpdate?: Maybe<Update>;
2353
+ /** Deployment query field */
2354
+ insights: DeploymentInsights;
2355
+ /** Ordered the same way as 'updateBranches' in UpdateChannel */
2356
+ latestUpdatesPerBranch: Array<LatestUpdateOnBranch>;
2325
2357
  runtime: Runtime;
2326
2358
  };
2327
2359
  /** Represents a Deployment - a set of Builds with the same Runtime Version and Channel */
@@ -2331,6 +2363,11 @@ export type DeploymentBuildsArgs = {
2331
2363
  first?: InputMaybe<Scalars['Int']>;
2332
2364
  last?: InputMaybe<Scalars['Int']>;
2333
2365
  };
2366
+ /** Represents a Deployment - a set of Builds with the same Runtime Version and Channel */
2367
+ export type DeploymentLatestUpdatesPerBranchArgs = {
2368
+ limit: Scalars['Int'];
2369
+ offset: Scalars['Int'];
2370
+ };
2334
2371
  export type DeploymentBuildEdge = {
2335
2372
  __typename?: 'DeploymentBuildEdge';
2336
2373
  cursor: Scalars['String'];
@@ -2347,6 +2384,30 @@ export type DeploymentEdge = {
2347
2384
  cursor: Scalars['String'];
2348
2385
  node: Deployment;
2349
2386
  };
2387
+ export type DeploymentFilterInput = {
2388
+ channel?: InputMaybe<Scalars['String']>;
2389
+ runtimeVersion?: InputMaybe<Scalars['String']>;
2390
+ };
2391
+ export type DeploymentInsights = {
2392
+ __typename?: 'DeploymentInsights';
2393
+ embeddedUpdateTotalUniqueUsers: Scalars['Int'];
2394
+ embeddedUpdateUniqueUsersOverTime: UniqueUsersOverTimeData;
2395
+ id: Scalars['ID'];
2396
+ mostPopularUpdates: Array<Update>;
2397
+ uniqueUsersOverTime: UniqueUsersOverTimeData;
2398
+ };
2399
+ export type DeploymentInsightsEmbeddedUpdateTotalUniqueUsersArgs = {
2400
+ timespan: InsightsTimespan;
2401
+ };
2402
+ export type DeploymentInsightsEmbeddedUpdateUniqueUsersOverTimeArgs = {
2403
+ timespan: InsightsTimespan;
2404
+ };
2405
+ export type DeploymentInsightsMostPopularUpdatesArgs = {
2406
+ timespan: InsightsTimespan;
2407
+ };
2408
+ export type DeploymentInsightsUniqueUsersOverTimeArgs = {
2409
+ timespan: InsightsTimespan;
2410
+ };
2350
2411
  /** Represents the connection over the deployments edge of an App */
2351
2412
  export type DeploymentsConnection = {
2352
2413
  __typename?: 'DeploymentsConnection';
@@ -2485,6 +2546,9 @@ export type EstimatedUsage = {
2485
2546
  serviceMetric: EasServiceMetric;
2486
2547
  value: Scalars['Float'];
2487
2548
  };
2549
+ export declare enum Experiment {
2550
+ Orbit = "ORBIT"
2551
+ }
2488
2552
  export type ExperimentationQuery = {
2489
2553
  __typename?: 'ExperimentationQuery';
2490
2554
  /** Get device experimentation config */
@@ -2950,6 +3014,7 @@ export type IosBuilderEnvironmentInput = {
2950
3014
  fastlane?: InputMaybe<Scalars['String']>;
2951
3015
  image?: InputMaybe<Scalars['String']>;
2952
3016
  node?: InputMaybe<Scalars['String']>;
3017
+ pnpm?: InputMaybe<Scalars['String']>;
2953
3018
  yarn?: InputMaybe<Scalars['String']>;
2954
3019
  };
2955
3020
  export declare enum IosDistributionType {
@@ -3062,6 +3127,11 @@ export type KeystoreGenerationUrlMutation = {
3062
3127
  /** Create a Keystore Generation URL */
3063
3128
  createKeystoreGenerationUrl: KeystoreGenerationUrl;
3064
3129
  };
3130
+ export type LatestUpdateOnBranch = {
3131
+ __typename?: 'LatestUpdateOnBranch';
3132
+ branchId: Scalars['String'];
3133
+ update?: Maybe<Update>;
3134
+ };
3065
3135
  export type LeaveAccountResult = {
3066
3136
  __typename?: 'LeaveAccountResult';
3067
3137
  success: Scalars['Boolean'];
@@ -3195,6 +3265,7 @@ export type MeteredBillingStatus = {
3195
3265
  };
3196
3266
  export type Notification = {
3197
3267
  __typename?: 'Notification';
3268
+ accountName: Scalars['String'];
3198
3269
  createdAt: Scalars['DateTime'];
3199
3270
  event: NotificationEvent;
3200
3271
  id: Scalars['ID'];
@@ -3202,6 +3273,7 @@ export type Notification = {
3202
3273
  metadata?: Maybe<NotificationMetadata>;
3203
3274
  type: NotificationType;
3204
3275
  updatedAt: Scalars['DateTime'];
3276
+ websiteMessage: Scalars['String'];
3205
3277
  };
3206
3278
  export declare enum NotificationEvent {
3207
3279
  BuildComplete = "BUILD_COMPLETE",
@@ -3396,6 +3468,8 @@ export type Robot = Actor & {
3396
3468
  accounts: Array<Account>;
3397
3469
  created: Scalars['DateTime'];
3398
3470
  displayName: Scalars['String'];
3471
+ /** Experiments associated with this actor */
3472
+ experiments: Array<ActorExperiment>;
3399
3473
  /**
3400
3474
  * Server feature gate values for this actor, optionally filtering by desired gates.
3401
3475
  * Only resolves for the viewer.
@@ -3455,6 +3529,8 @@ export type RootMutation = {
3455
3529
  account: AccountMutation;
3456
3530
  /** Mutations that create, update, and delete an AccountSSOConfiguration */
3457
3531
  accountSSOConfiguration: AccountSsoConfigurationMutation;
3532
+ /** Mutations for Actor experiments */
3533
+ actorExperiment: ActorExperimentMutation;
3458
3534
  /** Mutations that modify the build credentials for an Android app */
3459
3535
  androidAppBuildCredentials: AndroidAppBuildCredentialsMutation;
3460
3536
  /** Mutations that modify the credentials for an Android app */
@@ -3530,6 +3606,8 @@ export type RootMutation = {
3530
3606
  userInvitation: UserInvitationMutation;
3531
3607
  /** Mutations that create, delete, update Webhooks */
3532
3608
  webhook: WebhookMutation;
3609
+ /** Mutations that modify a websiteNotification */
3610
+ websiteNotifications: WebsiteNotificationMutation;
3533
3611
  };
3534
3612
  export type RootMutationAccountArgs = {
3535
3613
  accountName: Scalars['ID'];
@@ -3554,7 +3632,10 @@ export type RootQuery = {
3554
3632
  account: AccountQuery;
3555
3633
  /** Top-level query object for querying AccountSSOConfigurationPublicData */
3556
3634
  accountSSOConfigurationPublicData: AccountSsoConfigurationPublicDataQuery;
3557
- /** Top-level query object for querying Actors. */
3635
+ /**
3636
+ * Top-level query object for querying Actors.
3637
+ * @deprecated Public actor queries are no longer supported
3638
+ */
3558
3639
  actor: ActorQuery;
3559
3640
  /**
3560
3641
  * Public apps in the app directory
@@ -3611,7 +3692,10 @@ export type RootQuery = {
3611
3692
  * @deprecated Public user queries are no longer supported
3612
3693
  */
3613
3694
  user: UserQuery;
3614
- /** Top-level query object for querying UserActors. */
3695
+ /**
3696
+ * Top-level query object for querying UserActors.
3697
+ * @deprecated Public user queries are no longer supported
3698
+ */
3615
3699
  userActor: UserActorQuery;
3616
3700
  /** Top-level query object for querying UserActorPublicData publicly. */
3617
3701
  userActorPublicData: UserActorPublicDataQuery;
@@ -3663,6 +3747,7 @@ export type RuntimeFilterInput = {
3663
3747
  /** Only return runtimes shared with this branch */
3664
3748
  branchId?: InputMaybe<Scalars['String']>;
3665
3749
  };
3750
+ /** Represents the connection over the runtime edge of an App */
3666
3751
  export type RuntimesConnection = {
3667
3752
  __typename?: 'RuntimesConnection';
3668
3753
  edges: Array<RuntimeEdge>;
@@ -3686,6 +3771,8 @@ export type SsoUser = Actor & UserActor & {
3686
3771
  /** Discord account linked to a user */
3687
3772
  discordUser?: Maybe<DiscordUser>;
3688
3773
  displayName: Scalars['String'];
3774
+ /** Experiments associated with this actor */
3775
+ experiments: Array<ActorExperiment>;
3689
3776
  /**
3690
3777
  * Server feature gate values for this actor, optionally filtering by desired gates.
3691
3778
  * Only resolves for the viewer.
@@ -3713,8 +3800,9 @@ export type SsoUser = Actor & UserActor & {
3713
3800
  /** @deprecated No longer supported */
3714
3801
  twitterUsername?: Maybe<Scalars['String']>;
3715
3802
  username: Scalars['String'];
3716
- /** Web notifications linked to a user */
3803
+ /** @deprecated No longer supported */
3717
3804
  websiteNotifications: Array<Notification>;
3805
+ websiteNotificationsPaginated: WebsiteNotificationsConnection;
3718
3806
  };
3719
3807
  /** Represents a human SSO (not robot) actor. */
3720
3808
  export type SsoUserActivityTimelineProjectActivitiesArgs = {
@@ -3741,6 +3829,13 @@ export type SsoUserSnacksArgs = {
3741
3829
  limit: Scalars['Int'];
3742
3830
  offset: Scalars['Int'];
3743
3831
  };
3832
+ /** Represents a human SSO (not robot) actor. */
3833
+ export type SsoUserWebsiteNotificationsPaginatedArgs = {
3834
+ after?: InputMaybe<Scalars['String']>;
3835
+ before?: InputMaybe<Scalars['String']>;
3836
+ first?: InputMaybe<Scalars['Int']>;
3837
+ last?: InputMaybe<Scalars['Int']>;
3838
+ };
3744
3839
  export type SsoUserDataInput = {
3745
3840
  firstName?: InputMaybe<Scalars['String']>;
3746
3841
  lastName?: InputMaybe<Scalars['String']>;
@@ -3910,7 +4005,9 @@ export type StatuspageService = {
3910
4005
  export declare enum StatuspageServiceName {
3911
4006
  EasBuild = "EAS_BUILD",
3912
4007
  EasSubmit = "EAS_SUBMIT",
3913
- EasUpdate = "EAS_UPDATE"
4008
+ EasUpdate = "EAS_UPDATE",
4009
+ GithubApiRequests = "GITHUB_API_REQUESTS",
4010
+ GithubWebhooks = "GITHUB_WEBHOOKS"
3914
4011
  }
3915
4012
  export type StatuspageServiceQuery = {
3916
4013
  __typename?: 'StatuspageServiceQuery';
@@ -4107,6 +4204,8 @@ export type Update = ActivityTimelineProjectActivity & {
4107
4204
  gitCommitHash?: Maybe<Scalars['String']>;
4108
4205
  group: Scalars['String'];
4109
4206
  id: Scalars['ID'];
4207
+ /** Update query field */
4208
+ insights: UpdateInsights;
4110
4209
  isGitWorkingTreeDirty: Scalars['Boolean'];
4111
4210
  isRollBackToEmbedded: Scalars['Boolean'];
4112
4211
  manifestFragment: Scalars['String'];
@@ -4237,6 +4336,14 @@ export type UpdateInfoGroup = {
4237
4336
  ios?: InputMaybe<PartialManifest>;
4238
4337
  web?: InputMaybe<PartialManifest>;
4239
4338
  };
4339
+ export type UpdateInsights = {
4340
+ __typename?: 'UpdateInsights';
4341
+ id: Scalars['ID'];
4342
+ totalUniqueUsers: Scalars['Int'];
4343
+ };
4344
+ export type UpdateInsightsTotalUniqueUsersArgs = {
4345
+ timespan: InsightsTimespan;
4346
+ };
4240
4347
  export type UpdateMutation = {
4241
4348
  __typename?: 'UpdateMutation';
4242
4349
  /** Delete an EAS update group */
@@ -4321,6 +4428,8 @@ export type User = Actor & UserActor & {
4321
4428
  displayName: Scalars['String'];
4322
4429
  email: Scalars['String'];
4323
4430
  emailVerified: Scalars['Boolean'];
4431
+ /** Experiments associated with this actor */
4432
+ experiments: Array<ActorExperiment>;
4324
4433
  /**
4325
4434
  * Server feature gate values for this actor, optionally filtering by desired gates.
4326
4435
  * Only resolves for the viewer.
@@ -4357,7 +4466,9 @@ export type User = Actor & UserActor & {
4357
4466
  /** @deprecated No longer supported */
4358
4467
  twitterUsername?: Maybe<Scalars['String']>;
4359
4468
  username: Scalars['String'];
4469
+ /** @deprecated No longer supported */
4360
4470
  websiteNotifications: Array<Notification>;
4471
+ websiteNotificationsPaginated: WebsiteNotificationsConnection;
4361
4472
  };
4362
4473
  /** Represents a human (not robot) actor. */
4363
4474
  export type UserActivityTimelineProjectActivitiesArgs = {
@@ -4384,6 +4495,13 @@ export type UserSnacksArgs = {
4384
4495
  limit: Scalars['Int'];
4385
4496
  offset: Scalars['Int'];
4386
4497
  };
4498
+ /** Represents a human (not robot) actor. */
4499
+ export type UserWebsiteNotificationsPaginatedArgs = {
4500
+ after?: InputMaybe<Scalars['String']>;
4501
+ before?: InputMaybe<Scalars['String']>;
4502
+ first?: InputMaybe<Scalars['Int']>;
4503
+ last?: InputMaybe<Scalars['Int']>;
4504
+ };
4387
4505
  /** A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. */
4388
4506
  export type UserActor = {
4389
4507
  /** Access Tokens belonging to this user actor */
@@ -4408,6 +4526,8 @@ export type UserActor = {
4408
4526
  * For example, when displaying a sentence indicating that actor X created a build or published an update.
4409
4527
  */
4410
4528
  displayName: Scalars['String'];
4529
+ /** Experiments associated with this actor */
4530
+ experiments: Array<ActorExperiment>;
4411
4531
  /**
4412
4532
  * Server feature gate values for this user actor, optionally filtering by desired gates.
4413
4533
  * Only resolves for the viewer.
@@ -4435,8 +4555,9 @@ export type UserActor = {
4435
4555
  /** @deprecated No longer supported */
4436
4556
  twitterUsername?: Maybe<Scalars['String']>;
4437
4557
  username: Scalars['String'];
4438
- /** Web notifications linked to a user */
4558
+ /** @deprecated No longer supported */
4439
4559
  websiteNotifications: Array<Notification>;
4560
+ websiteNotificationsPaginated: WebsiteNotificationsConnection;
4440
4561
  };
4441
4562
  /** A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. */
4442
4563
  export type UserActorActivityTimelineProjectActivitiesArgs = {
@@ -4464,6 +4585,13 @@ export type UserActorSnacksArgs = {
4464
4585
  offset: Scalars['Int'];
4465
4586
  };
4466
4587
  /** A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. */
4588
+ export type UserActorWebsiteNotificationsPaginatedArgs = {
4589
+ after?: InputMaybe<Scalars['String']>;
4590
+ before?: InputMaybe<Scalars['String']>;
4591
+ first?: InputMaybe<Scalars['Int']>;
4592
+ last?: InputMaybe<Scalars['Int']>;
4593
+ };
4594
+ /** A human user (type User or SSOUser) that can login to the Expo website, use Expo services, and be a member of accounts. */
4467
4595
  export type UserActorPublicData = {
4468
4596
  __typename?: 'UserActorPublicData';
4469
4597
  /** Apps this user has published */
@@ -4497,9 +4625,15 @@ export type UserActorPublicDataQueryByUsernameArgs = {
4497
4625
  };
4498
4626
  export type UserActorQuery = {
4499
4627
  __typename?: 'UserActorQuery';
4500
- /** Query a UserActor by ID */
4628
+ /**
4629
+ * Query a UserActor by ID
4630
+ * @deprecated Public user actor queries are no longer supported
4631
+ */
4501
4632
  byId: UserActor;
4502
- /** Query a UserActor by username */
4633
+ /**
4634
+ * Query a UserActor by username
4635
+ * @deprecated Public user actor queries are no longer supported
4636
+ */
4503
4637
  byUsername: UserActor;
4504
4638
  };
4505
4639
  export type UserActorQueryByIdArgs = {
@@ -4641,6 +4775,10 @@ export type UserSecondFactorDevice = {
4641
4775
  updatedAt: Scalars['DateTime'];
4642
4776
  user: User;
4643
4777
  };
4778
+ export type WebNotificationUpdateReadStateInput = {
4779
+ id: Scalars['ID'];
4780
+ isRead: Scalars['Boolean'];
4781
+ };
4644
4782
  export type Webhook = {
4645
4783
  __typename?: 'Webhook';
4646
4784
  appId: Scalars['ID'];
@@ -4689,6 +4827,24 @@ export declare enum WebhookType {
4689
4827
  Build = "BUILD",
4690
4828
  Submit = "SUBMIT"
4691
4829
  }
4830
+ export type WebsiteNotificationEdge = {
4831
+ __typename?: 'WebsiteNotificationEdge';
4832
+ cursor: Scalars['String'];
4833
+ node: Notification;
4834
+ };
4835
+ export type WebsiteNotificationMutation = {
4836
+ __typename?: 'WebsiteNotificationMutation';
4837
+ updateAllWebsiteNotificationReadStateAsRead: Scalars['Boolean'];
4838
+ updateNotificationReadState: Notification;
4839
+ };
4840
+ export type WebsiteNotificationMutationUpdateNotificationReadStateArgs = {
4841
+ input: WebNotificationUpdateReadStateInput;
4842
+ };
4843
+ export type WebsiteNotificationsConnection = {
4844
+ __typename?: 'WebsiteNotificationsConnection';
4845
+ edges: Array<WebsiteNotificationEdge>;
4846
+ pageInfo: PageInfo;
4847
+ };
4692
4848
  export type DeleteAndroidAppBuildCredentialsResult = {
4693
4849
  __typename?: 'deleteAndroidAppBuildCredentialsResult';
4694
4850
  id: Scalars['ID'];
@@ -8898,6 +9054,7 @@ export type ViewUpdateChannelOnAppQuery = {
8898
9054
  __typename?: 'UpdateChannel';
8899
9055
  id: string;
8900
9056
  name: string;
9057
+ updatedAt: any;
8901
9058
  createdAt: any;
8902
9059
  branchMapping: string;
8903
9060
  updateBranches: Array<{
@@ -8962,6 +9119,7 @@ export type ViewUpdateChannelsOnAppQuery = {
8962
9119
  __typename?: 'UpdateChannel';
8963
9120
  id: string;
8964
9121
  name: string;
9122
+ updatedAt: any;
8965
9123
  createdAt: any;
8966
9124
  branchMapping: string;
8967
9125
  updateBranches: Array<{
@@ -6,8 +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.Permission = exports.Order = exports.OfferType = exports.NotificationType = exports.NotificationEvent = exports.MailchimpTag = exports.MailchimpAudience = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.GitHubBuildTriggerType = exports.GitHubAppInstallationStatus = exports.GitHubAppEnvironment = exports.Feature = exports.EnvironmentSecretType = exports.EasTotalPlanEnablementUnit = exports.EasServiceMetric = exports.EasService = exports.EasBuildDeprecationInfoType = exports.EasBuildBillingResourceClass = exports.DistributionType = exports.BuildWorkflow = exports.BuildTrigger = exports.BuildStatus = exports.BuildRetryDisabledReason = exports.BuildResourceClass = exports.BuildPriority = exports.BuildMode = exports.BuildLimitThresholdExceededMetadataType = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.BackgroundJobState = exports.BackgroundJobResultType = exports.AuthProtocolType = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = exports.AccountAppsSortByField = void 0;
10
- exports.WebhookType = exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.SubmissionStatus = exports.SubmissionArchiveSourceType = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StatuspageServiceStatus = exports.StatuspageServiceName = exports.StatuspageIncidentStatus = exports.StatuspageIncidentImpact = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = exports.ProjectArchiveSourceType = void 0;
9
+ exports.Order = exports.OfferType = exports.NotificationType = exports.NotificationEvent = exports.MailchimpTag = exports.MailchimpAudience = exports.IosSchemeBuildConfiguration = exports.IosManagedBuildType = exports.IosDistributionType = exports.IosBuildType = exports.InvoiceDiscountType = exports.GitHubBuildTriggerType = exports.GitHubAppInstallationStatus = exports.GitHubAppEnvironment = exports.Feature = exports.Experiment = exports.EnvironmentSecretType = exports.EasTotalPlanEnablementUnit = exports.EasServiceMetric = exports.EasService = exports.EasBuildDeprecationInfoType = exports.EasBuildBillingResourceClass = exports.DistributionType = exports.BuildWorkflow = exports.BuildTrigger = exports.BuildStatus = exports.BuildRetryDisabledReason = exports.BuildResourceClass = exports.BuildPriority = exports.BuildMode = exports.BuildLimitThresholdExceededMetadataType = exports.BuildJobStatus = exports.BuildJobLogsFormat = exports.BuildIosEnterpriseProvisioning = exports.BuildCredentialsSource = exports.BackgroundJobState = exports.BackgroundJobResultType = exports.AuthProtocolType = exports.AssetMetadataStatus = exports.AppsFilter = exports.AppleDeviceClass = exports.AppStoreConnectUserRole = exports.AppSort = exports.AppPrivacy = exports.AppPlatform = exports.AndroidKeystoreType = exports.AndroidFcmVersion = exports.AndroidBuildType = exports.ActivityTimelineProjectActivityType = exports.AccountAppsSortByField = void 0;
10
+ exports.WebhookType = exports.UsageMetricsGranularity = exports.UsageMetricType = exports.UploadSessionType = exports.SubmissionStatus = exports.SubmissionArchiveSourceType = exports.SubmissionAndroidTrack = exports.SubmissionAndroidReleaseStatus = exports.SubmissionAndroidArchiveType = exports.StatuspageServiceStatus = exports.StatuspageServiceName = exports.StatuspageIncidentStatus = exports.StatuspageIncidentImpact = exports.StandardOffer = exports.SecondFactorMethod = exports.Role = exports.ProjectArchiveSourceType = exports.Permission = void 0;
11
11
  var AccountAppsSortByField;
12
12
  (function (AccountAppsSortByField) {
13
13
  AccountAppsSortByField["LatestActivityTime"] = "LATEST_ACTIVITY_TIME";
@@ -245,6 +245,10 @@ var EnvironmentSecretType;
245
245
  EnvironmentSecretType["FileBase64"] = "FILE_BASE64";
246
246
  EnvironmentSecretType["String"] = "STRING";
247
247
  })(EnvironmentSecretType = exports.EnvironmentSecretType || (exports.EnvironmentSecretType = {}));
248
+ var Experiment;
249
+ (function (Experiment) {
250
+ Experiment["Orbit"] = "ORBIT";
251
+ })(Experiment = exports.Experiment || (exports.Experiment = {}));
248
252
  var Feature;
249
253
  (function (Feature) {
250
254
  /** Priority Builds */
@@ -409,6 +413,8 @@ var StatuspageServiceName;
409
413
  StatuspageServiceName["EasBuild"] = "EAS_BUILD";
410
414
  StatuspageServiceName["EasSubmit"] = "EAS_SUBMIT";
411
415
  StatuspageServiceName["EasUpdate"] = "EAS_UPDATE";
416
+ StatuspageServiceName["GithubApiRequests"] = "GITHUB_API_REQUESTS";
417
+ StatuspageServiceName["GithubWebhooks"] = "GITHUB_WEBHOOKS";
412
418
  })(StatuspageServiceName = exports.StatuspageServiceName || (exports.StatuspageServiceName = {}));
413
419
  /** Possible statuses for a service. */
414
420
  var StatuspageServiceStatus;
@@ -30,6 +30,7 @@ exports.ChannelQuery = {
30
30
  updateChannelByName(name: $channelName) {
31
31
  id
32
32
  name
33
+ updatedAt
33
34
  createdAt
34
35
  branchMapping
35
36
  updateBranches(offset: 0, limit: 5) {
@@ -63,6 +64,7 @@ exports.ChannelQuery = {
63
64
  updateChannels(offset: $offset, limit: $limit) {
64
65
  id
65
66
  name
67
+ updatedAt
66
68
  createdAt
67
69
  branchMapping
68
70
  updateBranches(offset: 0, limit: 5) {
@@ -6,6 +6,7 @@ import { GeneralOptions as EndRolloutGeneralOptions, NonInteractiveOptions as En
6
6
  export declare enum ManageRolloutActions {
7
7
  EDIT = "Edit",
8
8
  END = "End",
9
+ VIEW = "View",
9
10
  GO_BACK = "Go back"
10
11
  }
11
12
  /**
@@ -16,7 +17,7 @@ export declare class ManageRollout implements EASUpdateAction<EASUpdateAction> {
16
17
  private options;
17
18
  constructor(channelInfo: UpdateChannelBasicInfoFragment, options: {
18
19
  callingAction?: EASUpdateAction;
19
- action?: ManageRolloutActions.EDIT | ManageRolloutActions.END;
20
+ action?: ManageRolloutActions.EDIT | ManageRolloutActions.END | ManageRolloutActions.VIEW;
20
21
  } & Partial<EditRolloutNonInteractiveOptions> & Partial<EndRolloutNonInteractiveOptions> & EndRolloutGeneralOptions);
21
22
  runAsync(ctx: EASUpdateContext): Promise<EASUpdateAction>;
22
23
  selectActionAsync(): Promise<ManageRolloutActions>;
@@ -14,6 +14,7 @@ var ManageRolloutActions;
14
14
  (function (ManageRolloutActions) {
15
15
  ManageRolloutActions["EDIT"] = "Edit";
16
16
  ManageRolloutActions["END"] = "End";
17
+ ManageRolloutActions["VIEW"] = "View";
17
18
  ManageRolloutActions["GO_BACK"] = "Go back";
18
19
  })(ManageRolloutActions = exports.ManageRolloutActions || (exports.ManageRolloutActions = {}));
19
20
  /**
@@ -38,6 +39,9 @@ class ManageRollout {
38
39
  return new EditRollout_1.EditRollout(this.channelInfo, this.options);
39
40
  case ManageRolloutActions.END:
40
41
  return new EndRollout_1.EndRollout(this.channelInfo, this.options);
42
+ case ManageRolloutActions.VIEW:
43
+ // Rollout is automatically printed in interactive mode
44
+ return new Noop();
41
45
  case ManageRolloutActions.GO_BACK:
42
46
  (0, assert_1.default)(this.options.callingAction, 'calling action must be defined');
43
47
  return this.options.callingAction;
@@ -76,3 +80,6 @@ class ManageRollout {
76
80
  }
77
81
  }
78
82
  exports.ManageRollout = ManageRollout;
83
+ class Noop {
84
+ async runAsync() { }
85
+ }