eas-cli 16.0.0 → 16.1.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.
@@ -44,6 +44,7 @@ async function prepareJobAsync(ctx, jobData) {
44
44
  builderEnvironment: {
45
45
  image: buildProfile.image,
46
46
  node: buildProfile.node,
47
+ corepack: buildProfile.corepack,
47
48
  pnpm: buildProfile.pnpm,
48
49
  bun: buildProfile.bun,
49
50
  yarn: buildProfile.yarn,
@@ -1,7 +1,4 @@
1
1
  import EasCommand from '../../commandUtils/EasCommand';
2
- import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
3
- import { BuildStatus } from '../../graphql/generated';
4
- import { RequestedPlatform } from '../../platform';
5
2
  export default class FingerprintCompare extends EasCommand {
6
3
  static description: string;
7
4
  static strict: boolean;
@@ -26,11 +23,3 @@ export default class FingerprintCompare extends EasCommand {
26
23
  };
27
24
  runAsync(): Promise<void>;
28
25
  }
29
- export declare function selectBuildToCompareAsync(graphqlClient: ExpoGraphqlClient, projectId: string, projectDisplayName: string, { filters, }?: {
30
- filters?: {
31
- statuses?: BuildStatus[];
32
- platform?: RequestedPlatform;
33
- profile?: string;
34
- hasFingerprint?: boolean;
35
- };
36
- }): Promise<string | null>;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.selectBuildToCompareAsync = void 0;
4
3
  const tslib_1 = require("tslib");
5
4
  const core_1 = require("@oclif/core");
6
5
  const better_opn_1 = tslib_1.__importDefault(require("better-opn"));
@@ -563,4 +562,3 @@ async function selectBuildToCompareAsync(graphqlClient, projectId, projectDispla
563
562
  return build;
564
563
  }
565
564
  }
566
- exports.selectBuildToCompareAsync = selectBuildToCompareAsync;
@@ -1,5 +1,4 @@
1
1
  import EasCommand from '../../commandUtils/EasCommand';
2
- import { AppPlatform } from '../../graphql/generated';
3
2
  export default class FingerprintGenerate extends EasCommand {
4
3
  static description: string;
5
4
  static strict: boolean;
@@ -8,9 +7,11 @@ export default class FingerprintGenerate extends EasCommand {
8
7
  static flags: {
9
8
  json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
9
  'non-interactive': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
10
+ environment: import("@oclif/core/lib/interfaces").OptionFlag<import("../../graphql/generated").EnvironmentVariableEnvironment | undefined>;
11
11
  platform: import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
12
12
  };
13
13
  static contextDefinition: {
14
+ getServerSideEnvironmentVariablesAsync: import("../../commandUtils/context/ServerSideEnvironmentVariablesContextField").ServerSideEnvironmentVariablesContextField;
14
15
  vcsClient: import("../../commandUtils/context/VcsClientContextField").default;
15
16
  loggedIn: import("../../commandUtils/context/LoggedInContextField").default;
16
17
  privateProjectConfig: import("../../commandUtils/context/PrivateProjectConfigContextField").PrivateProjectConfigContextField;
@@ -18,4 +19,3 @@ export default class FingerprintGenerate extends EasCommand {
18
19
  };
19
20
  runAsync(): Promise<void>;
20
21
  }
21
- export declare function selectRequestedPlatformAsync(): Promise<AppPlatform>;
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.selectRequestedPlatformAsync = void 0;
4
3
  const tslib_1 = require("tslib");
5
4
  const core_1 = require("@oclif/core");
6
5
  const api_1 = require("../../api");
@@ -17,14 +16,16 @@ class FingerprintGenerate extends EasCommand_1.default {
17
16
  static strict = false;
18
17
  static hidden = true;
19
18
  static examples = [
20
- '$ eas fingerprint:generate',
21
- '$ eas fingerprint:generate --json --non-interactive -p android',
19
+ '$ eas fingerprint:generate \t # Generate fingerprint in interactive mode',
20
+ '$ eas fingerprint:generate --profile preview \t # Generate a fingerprint using the "preview" build profile',
21
+ '$ eas fingerprint:generate --json --non-interactive --platform android \t # Output fingerprint json to stdout',
22
22
  ];
23
23
  static flags = {
24
24
  platform: core_1.Flags.enum({
25
25
  char: 'p',
26
26
  options: ['android', 'ios'],
27
27
  }),
28
+ ...flags_1.EASEnvironmentFlag,
28
29
  ...flags_1.EasNonInteractiveAndJsonFlags,
29
30
  };
30
31
  static contextDefinition = {
@@ -32,13 +33,14 @@ class FingerprintGenerate extends EasCommand_1.default {
32
33
  ...this.ContextOptions.ProjectConfig,
33
34
  ...this.ContextOptions.LoggedIn,
34
35
  ...this.ContextOptions.Vcs,
36
+ ...this.ContextOptions.ServerSideEnvironmentVariables,
35
37
  };
36
38
  async runAsync() {
37
39
  const { flags } = await this.parse(FingerprintGenerate);
38
- const { json, 'non-interactive': nonInteractive, platform: platformStringFlag } = flags;
39
- const { projectId, privateProjectConfig: { projectDir }, loggedIn: { graphqlClient }, vcsClient, } = await this.getContextAsync(FingerprintGenerate, {
40
+ const { json, 'non-interactive': nonInteractive, platform: platformStringFlag, environment, } = flags;
41
+ const { projectId, privateProjectConfig: { projectDir }, loggedIn: { graphqlClient }, vcsClient, getServerSideEnvironmentVariablesAsync, } = await this.getContextAsync(FingerprintGenerate, {
40
42
  nonInteractive,
41
- withServerSideEnvironment: null,
43
+ withServerSideEnvironment: environment ?? null,
42
44
  });
43
45
  if (json) {
44
46
  (0, json_1.enableJsonOutput)();
@@ -53,7 +55,10 @@ class FingerprintGenerate extends EasCommand_1.default {
53
55
  }
54
56
  platform = await selectRequestedPlatformAsync();
55
57
  }
56
- const fingerprint = await (0, utils_1.getFingerprintInfoFromLocalProjectForPlatformsAsync)(graphqlClient, projectDir, projectId, vcsClient, [platform]);
58
+ const env = environment
59
+ ? { ...(await getServerSideEnvironmentVariablesAsync()), EXPO_NO_DOTENV: '1' }
60
+ : undefined;
61
+ const fingerprint = await (0, utils_1.getFingerprintInfoFromLocalProjectForPlatformsAsync)(graphqlClient, projectDir, projectId, vcsClient, [platform], { env });
57
62
  if (json) {
58
63
  (0, json_1.printJsonOnlyOutput)(fingerprint);
59
64
  return;
@@ -78,4 +83,3 @@ async function selectRequestedPlatformAsync() {
78
83
  });
79
84
  return requestedPlatform;
80
85
  }
81
- exports.selectRequestedPlatformAsync = selectRequestedPlatformAsync;
@@ -41,6 +41,7 @@ class UpdateConfigure extends EasCommand_1.default {
41
41
  platform: flags['platform'],
42
42
  vcsClient,
43
43
  env: undefined,
44
+ forceNativeConfigSync: true,
44
45
  });
45
46
  await (0, configure_2.ensureEASUpdateIsConfiguredInEasJsonAsync)(projectDir);
46
47
  log_1.default.addNewLineIfNone();
@@ -69,8 +69,17 @@ async function createFingerprintWithoutLoggingAsync(projectDir, fingerprintPath,
69
69
  if (options.debug) {
70
70
  fingerprintOptions.debug = true;
71
71
  }
72
- // eslint-disable-next-line @typescript-eslint/return-await
73
- return await Fingerprint.createFingerprintAsync(projectDir, fingerprintOptions);
72
+ return await withTemporaryEnvAsync(options.env ?? {}, () => Fingerprint.createFingerprintAsync(projectDir, fingerprintOptions));
73
+ }
74
+ async function withTemporaryEnvAsync(envVars, fn) {
75
+ const originalEnv = { ...process.env };
76
+ Object.assign(process.env, envVars);
77
+ try {
78
+ return await fn();
79
+ }
80
+ finally {
81
+ process.env = originalEnv;
82
+ }
74
83
  }
75
84
  /**
76
85
  * Computes project fingerprints based on provided options and returns a map of fingerprint data keyed by a string.
@@ -3,7 +3,9 @@ import { Fingerprint } from './types';
3
3
  import { ExpoGraphqlClient } from '../commandUtils/context/contextUtils/createGraphqlClient';
4
4
  import { AppPlatform } from '../graphql/generated';
5
5
  import { Client } from '../vcs/vcs';
6
- export declare function getFingerprintInfoFromLocalProjectForPlatformsAsync(graphqlClient: ExpoGraphqlClient, projectDir: string, projectId: string, vcsClient: Client, platforms: AppPlatform[]): Promise<Fingerprint>;
6
+ export declare function getFingerprintInfoFromLocalProjectForPlatformsAsync(graphqlClient: ExpoGraphqlClient, projectDir: string, projectId: string, vcsClient: Client, platforms: AppPlatform[], { env }?: {
7
+ env?: Record<string, string>;
8
+ }): Promise<Fingerprint>;
7
9
  export declare function appPlatformToPlatform(platform: AppPlatform): Platform;
8
10
  export declare function appPlatformToString(platform: AppPlatform): string;
9
11
  export declare function stringToAppPlatform(platform: string): AppPlatform;
@@ -9,14 +9,14 @@ const FingerprintMutation_1 = require("../graphql/mutations/FingerprintMutation"
9
9
  const log_1 = tslib_1.__importDefault(require("../log"));
10
10
  const maybeUploadFingerprintAsync_1 = require("../project/maybeUploadFingerprintAsync");
11
11
  const workflow_1 = require("../project/workflow");
12
- async function getFingerprintInfoFromLocalProjectForPlatformsAsync(graphqlClient, projectDir, projectId, vcsClient, platforms) {
12
+ async function getFingerprintInfoFromLocalProjectForPlatformsAsync(graphqlClient, projectDir, projectId, vcsClient, platforms, { env } = {}) {
13
13
  const workflows = await (0, workflow_1.resolveWorkflowPerPlatformAsync)(projectDir, vcsClient);
14
14
  const optionsFromWorkflow = getFingerprintOptionsFromWorkflow(platforms, workflows);
15
15
  const projectFingerprint = await (0, cli_1.createFingerprintAsync)(projectDir, {
16
16
  ...optionsFromWorkflow,
17
17
  platforms: platforms.map(appPlatformToString),
18
18
  debug: true,
19
- env: undefined,
19
+ env,
20
20
  });
21
21
  if (!projectFingerprint) {
22
22
  throw new Error('Project fingerprints can only be computed for projects with SDK 52 or higher');
@@ -183,10 +183,12 @@ export type Account = {
183
183
  owner?: Maybe<User>;
184
184
  /** Owning UserActor of this account if personal account */
185
185
  ownerUserActor?: Maybe<UserActor>;
186
+ pendingSentryInstallation?: Maybe<PendingSentryInstallation>;
186
187
  profileImageUrl: Scalars['String']['output'];
187
188
  pushSecurityEnabled: Scalars['Boolean']['output'];
188
189
  /** @deprecated Legacy access tokens are deprecated */
189
190
  requiresAccessTokenForPushSecurity: Scalars['Boolean']['output'];
191
+ sentryInstallation?: Maybe<SentryInstallation>;
190
192
  /** Snacks associated with this account */
191
193
  snacks: Array<Snack>;
192
194
  /** SSO configuration for this account */
@@ -901,6 +903,7 @@ export declare enum AndroidBuildType {
901
903
  }
902
904
  export type AndroidBuilderEnvironmentInput = {
903
905
  bun?: InputMaybe<Scalars['String']['input']>;
906
+ corepack?: InputMaybe<Scalars['Boolean']['input']>;
904
907
  env?: InputMaybe<Scalars['JSONObject']['input']>;
905
908
  expoCli?: InputMaybe<Scalars['String']['input']>;
906
909
  image?: InputMaybe<Scalars['String']['input']>;
@@ -929,9 +932,12 @@ export type AndroidFcmInput = {
929
932
  };
930
933
  export type AndroidFcmMutation = {
931
934
  __typename?: 'AndroidFcmMutation';
932
- /** Create an FCM credential */
935
+ /**
936
+ * Create an FCM V0/Legacy credential
937
+ * @deprecated FCM Legacy credentials are no longer supported by Google. Use createFcmV1Credential instead.
938
+ */
933
939
  createAndroidFcm: AndroidFcm;
934
- /** Delete an FCM credential */
940
+ /** Delete an FCM V0/Legacy credential */
935
941
  deleteAndroidFcm: DeleteAndroidFcmResult;
936
942
  };
937
943
  export type AndroidFcmMutationCreateAndroidFcmArgs = {
@@ -1172,6 +1178,7 @@ export type App = Project & {
1172
1178
  privacy: Scalars['String']['output'];
1173
1179
  /** @deprecated No longer supported */
1174
1180
  privacySetting: AppPrivacy;
1181
+ profileImageUrl?: Maybe<Scalars['String']['output']>;
1175
1182
  /**
1176
1183
  * Whether there have been any classic update publishes
1177
1184
  * @deprecated Classic updates have been deprecated.
@@ -1196,6 +1203,7 @@ export type App = Project & {
1196
1203
  * @deprecated Classic updates have been deprecated.
1197
1204
  */
1198
1205
  sdkVersion: Scalars['String']['output'];
1206
+ sentryProject?: Maybe<SentryProject>;
1199
1207
  slug: Scalars['String']['output'];
1200
1208
  /** EAS Submissions associated with this app */
1201
1209
  submissions: Array<Submission>;
@@ -1345,6 +1353,7 @@ export type AppLikedByArgs = {
1345
1353
  export type AppRuntimesArgs = {
1346
1354
  after?: InputMaybe<Scalars['String']['input']>;
1347
1355
  before?: InputMaybe<Scalars['String']['input']>;
1356
+ filter?: InputMaybe<RuntimeFilterInput>;
1348
1357
  first?: InputMaybe<Scalars['Int']['input']>;
1349
1358
  last?: InputMaybe<Scalars['Int']['input']>;
1350
1359
  };
@@ -2327,6 +2336,7 @@ export type Build = ActivityTimelineProjectActivity & BuildOrBuildJob & {
2327
2336
  /** @deprecated Use 'updateChannel' field instead. */
2328
2337
  channel?: Maybe<Scalars['String']['output']>;
2329
2338
  childBuild?: Maybe<Build>;
2339
+ cliVersion?: Maybe<Scalars['String']['output']>;
2330
2340
  completedAt?: Maybe<Scalars['DateTime']['output']>;
2331
2341
  createdAt: Scalars['DateTime']['output'];
2332
2342
  customNodeVersion?: Maybe<Scalars['String']['output']>;
@@ -2342,6 +2352,7 @@ export type Build = ActivityTimelineProjectActivity & BuildOrBuildJob & {
2342
2352
  gitCommitHash?: Maybe<Scalars['String']['output']>;
2343
2353
  gitCommitMessage?: Maybe<Scalars['String']['output']>;
2344
2354
  gitRef?: Maybe<Scalars['String']['output']>;
2355
+ /** @deprecated Use 'githubRepository' field instead */
2345
2356
  githubRepositoryOwnerAndName?: Maybe<Scalars['String']['output']>;
2346
2357
  id: Scalars['ID']['output'];
2347
2358
  /** Queue position is 1-indexed */
@@ -2567,6 +2578,7 @@ export type BuildMetrics = {
2567
2578
  export declare enum BuildMode {
2568
2579
  Build = "BUILD",
2569
2580
  Custom = "CUSTOM",
2581
+ Local = "LOCAL",
2570
2582
  Repack = "REPACK",
2571
2583
  Resign = "RESIGN"
2572
2584
  }
@@ -2872,6 +2884,10 @@ export type CreateAccessTokenResponse = {
2872
2884
  /** Full token string to be used for authentication */
2873
2885
  token: Scalars['String']['output'];
2874
2886
  };
2887
+ export type CreateAndConfigureRepositoryInput = {
2888
+ appId: Scalars['ID']['input'];
2889
+ installationIdentifier: Scalars['Int']['input'];
2890
+ };
2875
2891
  export type CreateAndroidSubmissionInput = {
2876
2892
  appId: Scalars['ID']['input'];
2877
2893
  archiveSource?: InputMaybe<SubmissionArchiveSourceInput>;
@@ -2952,6 +2968,11 @@ export type CreateIosSubmissionInput = {
2952
2968
  config: IosSubmissionConfigInput;
2953
2969
  submittedBuildId?: InputMaybe<Scalars['ID']['input']>;
2954
2970
  };
2971
+ export type CreateSentryProjectInput = {
2972
+ appId: Scalars['ID']['input'];
2973
+ sentryProjectId: Scalars['String']['input'];
2974
+ sentryProjectSlug: Scalars['String']['input'];
2975
+ };
2955
2976
  export type CreateSharedEnvironmentVariableInput = {
2956
2977
  environments?: InputMaybe<Array<EnvironmentVariableEnvironment>>;
2957
2978
  fileName?: InputMaybe<Scalars['String']['input']>;
@@ -3130,6 +3151,10 @@ export type DeleteSsoUserResult = {
3130
3151
  __typename?: 'DeleteSSOUserResult';
3131
3152
  id: Scalars['ID']['output'];
3132
3153
  };
3154
+ export type DeleteSentryProjectResult = {
3155
+ __typename?: 'DeleteSentryProjectResult';
3156
+ id: Scalars['ID']['output'];
3157
+ };
3133
3158
  export type DeleteUpdateBranchResult = {
3134
3159
  __typename?: 'DeleteUpdateBranchResult';
3135
3160
  id: Scalars['ID']['output'];
@@ -3379,6 +3404,8 @@ export declare enum EntityTypeName {
3379
3404
  CustomerEntity = "CustomerEntity",
3380
3405
  GoogleServiceAccountKeyEntity = "GoogleServiceAccountKeyEntity",
3381
3406
  IosAppCredentialsEntity = "IosAppCredentialsEntity",
3407
+ LogRocketOrganizationEntity = "LogRocketOrganizationEntity",
3408
+ LogRocketProjectEntity = "LogRocketProjectEntity",
3382
3409
  UserInvitationEntity = "UserInvitationEntity",
3383
3410
  UserPermissionEntity = "UserPermissionEntity",
3384
3411
  WorkerCustomDomainEntity = "WorkerCustomDomainEntity",
@@ -3693,6 +3720,12 @@ export type GenerateLogRocketReplayTokenResult = {
3693
3720
  orgSlug: Scalars['String']['output'];
3694
3721
  replayToken: Scalars['String']['output'];
3695
3722
  };
3723
+ export type GenerateSentryTokenResult = {
3724
+ __typename?: 'GenerateSentryTokenResult';
3725
+ installationId: Scalars['ID']['output'];
3726
+ orgSlug: Scalars['String']['output'];
3727
+ token: Scalars['String']['output'];
3728
+ };
3696
3729
  export type GetSignedAssetUploadSpecificationsResult = {
3697
3730
  __typename?: 'GetSignedAssetUploadSpecificationsResult';
3698
3731
  specifications: Array<Scalars['String']['output']>;
@@ -3905,6 +3938,7 @@ export type GitHubRepositoryMutation = {
3905
3938
  __typename?: 'GitHubRepositoryMutation';
3906
3939
  /** Configure EAS by pushing a commit to the default branch which updates or creates app.json, eas.json, and installs necessary dependencies. */
3907
3940
  configureEAS: BackgroundJobReceipt;
3941
+ createAndConfigureRepository: BackgroundJobReceipt;
3908
3942
  /** Create a GitHub repository for an App */
3909
3943
  createGitHubRepository: GitHubRepository;
3910
3944
  /** Delete a GitHub repository by ID */
@@ -3913,6 +3947,9 @@ export type GitHubRepositoryMutation = {
3913
3947
  export type GitHubRepositoryMutationConfigureEasArgs = {
3914
3948
  githubRepositoryId: Scalars['ID']['input'];
3915
3949
  };
3950
+ export type GitHubRepositoryMutationCreateAndConfigureRepositoryArgs = {
3951
+ input: CreateAndConfigureRepositoryInput;
3952
+ };
3916
3953
  export type GitHubRepositoryMutationCreateGitHubRepositoryArgs = {
3917
3954
  githubRepositoryData: CreateGitHubRepositoryInput;
3918
3955
  };
@@ -4224,6 +4261,7 @@ export type IosBuilderEnvironmentInput = {
4224
4261
  bun?: InputMaybe<Scalars['String']['input']>;
4225
4262
  bundler?: InputMaybe<Scalars['String']['input']>;
4226
4263
  cocoapods?: InputMaybe<Scalars['String']['input']>;
4264
+ corepack?: InputMaybe<Scalars['Boolean']['input']>;
4227
4265
  env?: InputMaybe<Scalars['JSONObject']['input']>;
4228
4266
  expoCli?: InputMaybe<Scalars['String']['input']>;
4229
4267
  fastlane?: InputMaybe<Scalars['String']['input']>;
@@ -4442,6 +4480,12 @@ export type LinkLogRocketOrganizationToExpoAccountInput = {
4442
4480
  orgSlug: Scalars['String']['input'];
4443
4481
  state: Scalars['String']['input'];
4444
4482
  };
4483
+ export type LinkSentryInstallationToExpoAccountInput = {
4484
+ accountId: Scalars['ID']['input'];
4485
+ code: Scalars['String']['input'];
4486
+ installationId: Scalars['ID']['input'];
4487
+ sentryOrgSlug: Scalars['String']['input'];
4488
+ };
4445
4489
  export type LinkSharedEnvironmentVariableInput = {
4446
4490
  appId: Scalars['ID']['input'];
4447
4491
  environment?: InputMaybe<EnvironmentVariableEnvironment>;
@@ -4765,6 +4809,14 @@ export type PaymentDetails = {
4765
4809
  card?: Maybe<Card>;
4766
4810
  id: Scalars['ID']['output'];
4767
4811
  };
4812
+ export type PendingSentryInstallation = {
4813
+ __typename?: 'PendingSentryInstallation';
4814
+ account: Account;
4815
+ createdAt: Scalars['DateTime']['output'];
4816
+ id: Scalars['ID']['output'];
4817
+ installationId: Scalars['String']['output'];
4818
+ orgSlug: Scalars['String']['output'];
4819
+ };
4768
4820
  export declare enum Permission {
4769
4821
  Admin = "ADMIN",
4770
4822
  Own = "OWN",
@@ -4855,6 +4907,7 @@ export type RequestsFilters = {
4855
4907
  method?: InputMaybe<Array<RequestMethod>>;
4856
4908
  os?: InputMaybe<Array<UserAgentOs>>;
4857
4909
  pathname?: InputMaybe<Scalars['String']['input']>;
4910
+ platform?: InputMaybe<Array<UserAgentPlatform>>;
4858
4911
  requestId?: InputMaybe<Array<Scalars['WorkerDeploymentRequestID']['input']>>;
4859
4912
  responseType?: InputMaybe<Array<ResponseType>>;
4860
4913
  status?: InputMaybe<Array<Scalars['Int']['input']>>;
@@ -4982,7 +5035,7 @@ export type RootMutation = {
4982
5035
  androidAppBuildCredentials: AndroidAppBuildCredentialsMutation;
4983
5036
  /** Mutations that modify the credentials for an Android app */
4984
5037
  androidAppCredentials: AndroidAppCredentialsMutation;
4985
- /** Mutations that modify an FCM credential */
5038
+ /** Mutations that modify an FCM V0/Legacy credential */
4986
5039
  androidFcm: AndroidFcmMutation;
4987
5040
  /** Mutations that modify a Keystore */
4988
5041
  androidKeystore: AndroidKeystoreMutation;
@@ -5058,6 +5111,10 @@ export type RootMutation = {
5058
5111
  notificationSubscription: NotificationSubscriptionMutation;
5059
5112
  /** Mutations that create, update, and delete Robots */
5060
5113
  robot: RobotMutation;
5114
+ /** Mutations for Sentry installations */
5115
+ sentryInstallation: SentryInstallationMutation;
5116
+ /** Mutations for Sentry projects */
5117
+ sentryProject: SentryProjectMutation;
5061
5118
  /** Mutations that modify an EAS Submit submission */
5062
5119
  submission: SubmissionMutation;
5063
5120
  update: UpdateMutation;
@@ -5230,6 +5287,7 @@ export type Runtime = {
5230
5287
  fingerprint?: Maybe<Fingerprint>;
5231
5288
  firstBuildCreatedAt?: Maybe<Scalars['DateTime']['output']>;
5232
5289
  id: Scalars['ID']['output'];
5290
+ isFingerprint: Scalars['Boolean']['output'];
5233
5291
  updatedAt: Scalars['DateTime']['output'];
5234
5292
  updates: AppUpdatesConnection;
5235
5293
  version: Scalars['String']['output'];
@@ -5273,6 +5331,7 @@ export type RuntimeEdge = {
5273
5331
  export type RuntimeFilterInput = {
5274
5332
  /** Only return runtimes shared with this branch */
5275
5333
  branchId?: InputMaybe<Scalars['String']['input']>;
5334
+ runtimeVersions?: InputMaybe<Array<Scalars['String']['input']>>;
5276
5335
  };
5277
5336
  export type RuntimeQuery = {
5278
5337
  __typename?: 'RuntimeQuery';
@@ -5332,6 +5391,7 @@ export type SsoUser = Actor & UserActor & {
5332
5391
  preferences: UserPreferences;
5333
5392
  /** Associated accounts */
5334
5393
  primaryAccount: Account;
5394
+ primaryAccountProfileImageUrl?: Maybe<Scalars['String']['output']>;
5335
5395
  profilePhoto: Scalars['String']['output'];
5336
5396
  /** Snacks associated with this account */
5337
5397
  snacks: Array<Snack>;
@@ -5407,6 +5467,55 @@ export type SecondFactorRegenerateBackupCodesResult = {
5407
5467
  __typename?: 'SecondFactorRegenerateBackupCodesResult';
5408
5468
  plaintextBackupCodes: Array<Scalars['String']['output']>;
5409
5469
  };
5470
+ export type SentryInstallation = {
5471
+ __typename?: 'SentryInstallation';
5472
+ account: Account;
5473
+ createdAt: Scalars['DateTime']['output'];
5474
+ id: Scalars['ID']['output'];
5475
+ installationId: Scalars['String']['output'];
5476
+ orgSlug: Scalars['String']['output'];
5477
+ };
5478
+ export type SentryInstallationMutation = {
5479
+ __typename?: 'SentryInstallationMutation';
5480
+ /** Confirm a pending Sentry installation */
5481
+ confirmPendingSentryInstallation: SentryInstallation;
5482
+ /** Generate a Sentry token for an installation */
5483
+ generateSentryToken: GenerateSentryTokenResult;
5484
+ /** Link a Sentry installation to an Expo account */
5485
+ linkSentryInstallationToExpoAccount: PendingSentryInstallation;
5486
+ };
5487
+ export type SentryInstallationMutationConfirmPendingSentryInstallationArgs = {
5488
+ installationId: Scalars['ID']['input'];
5489
+ };
5490
+ export type SentryInstallationMutationGenerateSentryTokenArgs = {
5491
+ accountId: Scalars['ID']['input'];
5492
+ };
5493
+ export type SentryInstallationMutationLinkSentryInstallationToExpoAccountArgs = {
5494
+ input: LinkSentryInstallationToExpoAccountInput;
5495
+ };
5496
+ export type SentryProject = {
5497
+ __typename?: 'SentryProject';
5498
+ app: App;
5499
+ createdAt: Scalars['DateTime']['output'];
5500
+ id: Scalars['ID']['output'];
5501
+ sentryInstallationId: Scalars['ID']['output'];
5502
+ sentryProjectId: Scalars['String']['output'];
5503
+ sentryProjectSlug: Scalars['String']['output'];
5504
+ updatedAt: Scalars['DateTime']['output'];
5505
+ };
5506
+ export type SentryProjectMutation = {
5507
+ __typename?: 'SentryProjectMutation';
5508
+ /** Create a Sentry project */
5509
+ createSentryProject: SentryProject;
5510
+ /** Delete a Sentry project by ID */
5511
+ deleteSentryProject: DeleteSentryProjectResult;
5512
+ };
5513
+ export type SentryProjectMutationCreateSentryProjectArgs = {
5514
+ input: CreateSentryProjectInput;
5515
+ };
5516
+ export type SentryProjectMutationDeleteSentryProjectArgs = {
5517
+ sentryProjectId: Scalars['ID']['input'];
5518
+ };
5410
5519
  export type Snack = Project & {
5411
5520
  __typename?: 'Snack';
5412
5521
  /** Description of the Snack */
@@ -6019,6 +6128,7 @@ export type UploadSessionCreateAppScopedUploadSessionArgs = {
6019
6128
  type: AppUploadSessionType;
6020
6129
  };
6021
6130
  export type UploadSessionCreateUploadSessionArgs = {
6131
+ filename?: InputMaybe<Scalars['String']['input']>;
6022
6132
  type: UploadSessionType;
6023
6133
  };
6024
6134
  export declare enum UploadSessionType {
@@ -6026,6 +6136,7 @@ export declare enum UploadSessionType {
6026
6136
  EasBuildGcsProjectSources = "EAS_BUILD_GCS_PROJECT_SOURCES",
6027
6137
  /** @deprecated Use EAS_BUILD_GCS_PROJECT_SOURCES instead. */
6028
6138
  EasBuildProjectSources = "EAS_BUILD_PROJECT_SOURCES",
6139
+ EasShareGcsAppArchive = "EAS_SHARE_GCS_APP_ARCHIVE",
6029
6140
  /** @deprecated Use EAS_SUBMIT_GCS_APP_ARCHIVE instead. */
6030
6141
  EasSubmitAppArchive = "EAS_SUBMIT_APP_ARCHIVE",
6031
6142
  EasSubmitGcsAppArchive = "EAS_SUBMIT_GCS_APP_ARCHIVE",
@@ -6111,6 +6222,7 @@ export type User = Actor & UserActor & {
6111
6222
  preferences: UserPreferences;
6112
6223
  /** Associated accounts */
6113
6224
  primaryAccount: Account;
6225
+ primaryAccountProfileImageUrl?: Maybe<Scalars['String']['output']>;
6114
6226
  profilePhoto: Scalars['String']['output'];
6115
6227
  /** Get all certified second factor authentication methods */
6116
6228
  secondFactorDevices: Array<UserSecondFactorDevice>;
@@ -6203,6 +6315,7 @@ export type UserActor = {
6203
6315
  preferences: UserPreferences;
6204
6316
  /** Associated accounts */
6205
6317
  primaryAccount: Account;
6318
+ primaryAccountProfileImageUrl?: Maybe<Scalars['String']['output']>;
6206
6319
  profilePhoto: Scalars['String']['output'];
6207
6320
  /** Snacks associated with this user's personal account */
6208
6321
  snacks: Array<Snack>;
@@ -6312,6 +6425,12 @@ export declare enum UserAgentOs {
6312
6425
  MacOs = "MAC_OS",
6313
6426
  Windows = "WINDOWS"
6314
6427
  }
6428
+ export declare enum UserAgentPlatform {
6429
+ Android = "ANDROID",
6430
+ Apple = "APPLE",
6431
+ Unknown = "UNKNOWN",
6432
+ Web = "WEB"
6433
+ }
6315
6434
  export type UserAppPinMutation = {
6316
6435
  __typename?: 'UserAppPinMutation';
6317
6436
  pinApp: Scalars['ID']['output'];
@@ -6334,7 +6453,9 @@ export type UserAuditLog = {
6334
6453
  targetEntityMutationType: TargetEntityMutationType;
6335
6454
  targetEntityTypeName: UserEntityTypeName;
6336
6455
  targetEntityTypePublicName: Scalars['String']['output'];
6456
+ /** @deprecated Use userActor instead */
6337
6457
  user: User;
6458
+ userActor: UserActor;
6338
6459
  websiteMessage: Scalars['String']['output'];
6339
6460
  };
6340
6461
  export type UserAuditLogConnection = {
@@ -6831,6 +6952,7 @@ export type WorkerDeploymentRequestNode = {
6831
6952
  method: Scalars['String']['output'];
6832
6953
  os?: Maybe<UserAgentOs>;
6833
6954
  pathname: Scalars['String']['output'];
6955
+ platform: UserAgentPlatform;
6834
6956
  region?: Maybe<Scalars['String']['output']>;
6835
6957
  requestId: Scalars['WorkerDeploymentRequestID']['output'];
6836
6958
  requestTimestamp: Scalars['DateTime']['output'];
@@ -6848,6 +6970,8 @@ export type WorkerDeploymentRequests = {
6848
6970
  byCountry: Array<WorkerDeploymentRequestsCountryEdge>;
6849
6971
  byMethod: Array<WorkerDeploymentRequestsMethodEdge>;
6850
6972
  byOS: Array<WorkerDeploymentRequestsOperatingSystemEdge>;
6973
+ byPathname: Array<WorkerDeploymentRequestsPathnameEdge>;
6974
+ byPlatform: Array<WorkerDeploymentRequestsPlatformEdge>;
6851
6975
  byResponseType: Array<WorkerDeploymentRequestsResponseTypeEdge>;
6852
6976
  byStatusType: Array<WorkerDeploymentRequestsStatusTypeEdge>;
6853
6977
  interval: Scalars['Int']['output'];
@@ -6880,6 +7004,14 @@ export type WorkerDeploymentRequestsByOsArgs = {
6880
7004
  limit?: InputMaybe<Scalars['Int']['input']>;
6881
7005
  orderBy?: InputMaybe<RequestsOrderBy>;
6882
7006
  };
7007
+ export type WorkerDeploymentRequestsByPathnameArgs = {
7008
+ limit?: InputMaybe<Scalars['Int']['input']>;
7009
+ orderBy?: InputMaybe<RequestsOrderBy>;
7010
+ };
7011
+ export type WorkerDeploymentRequestsByPlatformArgs = {
7012
+ limit?: InputMaybe<Scalars['Int']['input']>;
7013
+ orderBy?: InputMaybe<RequestsOrderBy>;
7014
+ };
6883
7015
  export type WorkerDeploymentRequestsByResponseTypeArgs = {
6884
7016
  limit?: InputMaybe<Scalars['Int']['input']>;
6885
7017
  orderBy?: InputMaybe<RequestsOrderBy>;
@@ -6960,6 +7092,16 @@ export type WorkerDeploymentRequestsOperatingSystemEdge = {
6960
7092
  node: WorkerDeploymentRequestsAggregationNode;
6961
7093
  os?: Maybe<UserAgentOs>;
6962
7094
  };
7095
+ export type WorkerDeploymentRequestsPathnameEdge = {
7096
+ __typename?: 'WorkerDeploymentRequestsPathnameEdge';
7097
+ node: WorkerDeploymentRequestsAggregationNode;
7098
+ pathname: Scalars['String']['output'];
7099
+ };
7100
+ export type WorkerDeploymentRequestsPlatformEdge = {
7101
+ __typename?: 'WorkerDeploymentRequestsPlatformEdge';
7102
+ node: WorkerDeploymentRequestsAggregationNode;
7103
+ platform: UserAgentPlatform;
7104
+ };
6963
7105
  export type WorkerDeploymentRequestsResponseTypeEdge = {
6964
7106
  __typename?: 'WorkerDeploymentRequestsResponseTypeEdge';
6965
7107
  node: WorkerDeploymentRequestsAggregationNode;
@@ -6978,6 +7120,8 @@ export type WorkerDeploymentRequestsTimeseriesEdge = {
6978
7120
  byCountry: Array<WorkerDeploymentRequestsCountryEdge>;
6979
7121
  byMethod: Array<WorkerDeploymentRequestsMethodEdge>;
6980
7122
  byOS: Array<WorkerDeploymentRequestsOperatingSystemEdge>;
7123
+ byPathname: Array<WorkerDeploymentRequestsPathnameEdge>;
7124
+ byPlatform: Array<WorkerDeploymentRequestsPlatformEdge>;
6981
7125
  byResponseType: Array<WorkerDeploymentRequestsResponseTypeEdge>;
6982
7126
  byStatusType: Array<WorkerDeploymentRequestsStatusTypeEdge>;
6983
7127
  node?: Maybe<WorkerDeploymentRequestsAggregationNode>;
@@ -7083,6 +7227,7 @@ export declare enum WorkflowJobType {
7083
7227
  Build = "BUILD",
7084
7228
  Custom = "CUSTOM",
7085
7229
  Deploy = "DEPLOY",
7230
+ Fingerprint = "FINGERPRINT",
7086
7231
  GetBuild = "GET_BUILD",
7087
7232
  MaestroTest = "MAESTRO_TEST",
7088
7233
  RequireApproval = "REQUIRE_APPROVAL",
@@ -7165,6 +7310,8 @@ export type WorkflowRun = ActivityTimelineProjectActivity & {
7165
7310
  sourceExpiresAt?: Maybe<Scalars['DateTime']['output']>;
7166
7311
  status: WorkflowRunStatus;
7167
7312
  triggerEventType: WorkflowRunTriggerEventType;
7313
+ triggeringLabelName?: Maybe<Scalars['String']['output']>;
7314
+ triggeringSchedule?: Maybe<Scalars['String']['output']>;
7168
7315
  updatedAt: Scalars['DateTime']['output'];
7169
7316
  workflow: Workflow;
7170
7317
  workflowRevision?: Maybe<WorkflowRevision>;
@@ -7217,11 +7364,13 @@ export declare enum WorkflowRunStatus {
7217
7364
  Success = "SUCCESS"
7218
7365
  }
7219
7366
  export declare enum WorkflowRunTriggerEventType {
7367
+ GithubPullRequestLabeled = "GITHUB_PULL_REQUEST_LABELED",
7220
7368
  GithubPullRequestOpened = "GITHUB_PULL_REQUEST_OPENED",
7221
7369
  GithubPullRequestReopened = "GITHUB_PULL_REQUEST_REOPENED",
7222
7370
  GithubPullRequestSynchronize = "GITHUB_PULL_REQUEST_SYNCHRONIZE",
7223
7371
  GithubPush = "GITHUB_PUSH",
7224
- Manual = "MANUAL"
7372
+ Manual = "MANUAL",
7373
+ Schedule = "SCHEDULE"
7225
7374
  }
7226
7375
  export type WorkflowRunsConnection = {
7227
7376
  __typename?: 'WorkflowRunsConnection';