eas-cli 3.3.1 → 3.4.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 (95) hide show
  1. package/README.md +59 -64
  2. package/build/analytics/AnalyticsManager.d.ts +2 -2
  3. package/build/build/android/prepareJob.js +2 -0
  4. package/build/build/build.d.ts +5 -3
  5. package/build/build/build.js +93 -27
  6. package/build/build/configure.js +20 -2
  7. package/build/build/context.d.ts +1 -1
  8. package/build/build/graphql.d.ts +2 -1
  9. package/build/build/graphql.js +11 -1
  10. package/build/build/ios/graphql.js +1 -1
  11. package/build/build/ios/prepareJob.js +2 -0
  12. package/build/build/local.d.ts +18 -1
  13. package/build/build/local.js +19 -1
  14. package/build/build/runBuildAndSubmit.js +3 -1
  15. package/build/channel/utils.d.ts +1 -1
  16. package/build/commandUtils/EasCommand.d.ts +2 -2
  17. package/build/commandUtils/context/DynamicProjectConfigContextField.d.ts +1 -1
  18. package/build/commandUtils/pagination.d.ts +1 -1
  19. package/build/commands/build/index.js +5 -6
  20. package/build/commands/build/inspect.js +2 -1
  21. package/build/commands/build/internal.d.ts +21 -0
  22. package/build/commands/build/internal.js +60 -0
  23. package/build/commands/build/resign.js +2 -0
  24. package/build/commands/config.d.ts +3 -0
  25. package/build/commands/config.js +44 -15
  26. package/build/commands/update/index.js +1 -1
  27. package/build/commands/update/republish.d.ts +2 -2
  28. package/build/commands/update/view.js +2 -2
  29. package/build/credentials/android/api/graphql/mutations/AndroidAppBuildCredentialsMutation.d.ts +1 -1
  30. package/build/credentials/android/credentials.d.ts +3 -3
  31. package/build/credentials/context.d.ts +1 -1
  32. package/build/credentials/credentialsJson/types.d.ts +2 -2
  33. package/build/credentials/ios/api/graphql/mutations/AppleDistributionCertificateMutation.d.ts +1 -1
  34. package/build/credentials/ios/api/graphql/mutations/AppleProvisioningProfileMutation.d.ts +1 -1
  35. package/build/credentials/ios/api/graphql/mutations/AppleTeamMutation.d.ts +1 -1
  36. package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.d.ts +4 -4
  37. package/build/credentials/ios/api/graphql/queries/AppleProvisioningProfileQuery.d.ts +1 -1
  38. package/build/credentials/ios/appstore/Credentials.types.d.ts +2 -2
  39. package/build/credentials/ios/appstore/authenticate.d.ts +1 -1
  40. package/build/credentials/ios/appstore/authenticateTypes.d.ts +4 -4
  41. package/build/credentials/ios/appstore/bundleIdCapabilities.d.ts +2 -2
  42. package/build/credentials/ios/credentials.d.ts +1 -1
  43. package/build/credentials/ios/types.d.ts +3 -3
  44. package/build/credentials/manager/Actions.d.ts +1 -1
  45. package/build/credentials/utils/promptForCredentials.d.ts +2 -2
  46. package/build/devices/utils/formatDevice.d.ts +3 -3
  47. package/build/graphql/generated.d.ts +792 -746
  48. package/build/graphql/mutations/PublishMutation.d.ts +2 -2
  49. package/build/graphql/mutations/PublishMutation.js +4 -4
  50. package/build/graphql/queries/BranchQuery.d.ts +1 -1
  51. package/build/graphql/queries/ChannelQuery.d.ts +2 -2
  52. package/build/graphql/queries/EnvironmentSecretsQuery.d.ts +1 -1
  53. package/build/graphql/queries/SubmissionQuery.d.ts +1 -1
  54. package/build/graphql/queries/UserQuery.js +3 -0
  55. package/build/graphql/types/Build.js +1 -0
  56. package/build/graphql/types/Update.js +1 -0
  57. package/build/metadata/apple/config/reader.d.ts +1 -1
  58. package/build/metadata/apple/data.d.ts +2 -2
  59. package/build/metadata/apple/task.d.ts +3 -3
  60. package/build/metadata/apple/tasks/age-rating.d.ts +1 -1
  61. package/build/metadata/apple/tasks/app-info.d.ts +1 -1
  62. package/build/metadata/apple/tasks/app-review-detail.d.ts +1 -1
  63. package/build/metadata/apple/tasks/app-version.d.ts +2 -2
  64. package/build/metadata/apple/tasks/index.d.ts +1 -1
  65. package/build/metadata/apple/types.d.ts +3 -3
  66. package/build/metadata/auth.d.ts +1 -1
  67. package/build/metadata/config/resolve.js +2 -1
  68. package/build/metadata/utils/asc.d.ts +1 -1
  69. package/build/metadata/utils/log.d.ts +1 -1
  70. package/build/metadata/utils/retry.d.ts +1 -1
  71. package/build/metadata/utils/telemetry.d.ts +1 -1
  72. package/build/project/publish.d.ts +8 -8
  73. package/build/prompts.d.ts +1 -1
  74. package/build/submit/ArchiveSource.d.ts +2 -2
  75. package/build/submit/android/ServiceAccountSource.d.ts +5 -5
  76. package/build/submit/ios/AppProduce.d.ts +1 -1
  77. package/build/submit/ios/AppSpecificPasswordSource.d.ts +1 -1
  78. package/build/submit/ios/AscApiKeySource.d.ts +4 -4
  79. package/build/update/utils.d.ts +9 -5
  80. package/build/update/utils.js +15 -1
  81. package/build/user/SessionManager.d.ts +2 -2
  82. package/build/user/User.d.ts +1 -1
  83. package/build/user/User.js +1 -1
  84. package/build/user/UserSettings.d.ts +1 -1
  85. package/build/utils/code-signing.d.ts +1 -1
  86. package/build/utils/code-signing.js +1 -1
  87. package/build/utils/formatFields.d.ts +2 -2
  88. package/build/utils/profiles.d.ts +2 -2
  89. package/build/utils/progress.d.ts +2 -2
  90. package/build/utils/queries.d.ts +3 -3
  91. package/build/vcs/index.js +6 -2
  92. package/build/vcs/local.d.ts +0 -1
  93. package/build/vcs/local.js +2 -11
  94. package/oclif.manifest.json +1 -1
  95. package/package.json +34 -34
@@ -1,7 +1,7 @@
1
1
  import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
2
- import { CodeSigningInfoInput, GetSignedUploadMutation, PublishUpdateGroupInput, SetCodeSigningInfoMutation, UpdatePublishMutation } from '../generated';
2
+ import { CodeSigningInfoInput, GetSignedUploadMutation, PublishUpdateGroupInput, SetCodeSigningInfoMutation, UpdateFragment } from '../generated';
3
3
  export declare const PublishMutation: {
4
4
  getUploadURLsAsync(graphqlClient: ExpoGraphqlClient, contentTypes: string[]): Promise<GetSignedUploadMutation['asset']['getSignedAssetUploadSpecifications']>;
5
- publishUpdateGroupAsync(graphqlClient: ExpoGraphqlClient, publishUpdateGroupsInput: PublishUpdateGroupInput[]): Promise<UpdatePublishMutation['updateBranch']['publishUpdateGroups']>;
5
+ publishUpdateGroupAsync(graphqlClient: ExpoGraphqlClient, publishUpdateGroupsInput: PublishUpdateGroupInput[]): Promise<UpdateFragment[]>;
6
6
  setCodeSigningInfoAsync(graphqlClient: ExpoGraphqlClient, updateId: string, codeSigningInfo: CodeSigningInfoInput): Promise<SetCodeSigningInfoMutation['update']['setCodeSigningInfo']>;
7
7
  };
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PublishMutation = void 0;
4
4
  const tslib_1 = require("tslib");
5
+ const graphql_1 = require("graphql");
5
6
  const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
6
7
  const client_1 = require("../client");
8
+ const Update_1 = require("../types/Update");
7
9
  exports.PublishMutation = {
8
10
  async getUploadURLsAsync(graphqlClient, contentTypes) {
9
11
  const data = await (0, client_1.withErrorHandlingAsync)(graphqlClient
@@ -28,13 +30,11 @@ exports.PublishMutation = {
28
30
  updateBranch {
29
31
  publishUpdateGroups(publishUpdateGroupsInput: $publishUpdateGroupsInput) {
30
32
  id
31
- group
32
- runtimeVersion
33
- platform
34
- manifestPermalink
33
+ ...UpdateFragment
35
34
  }
36
35
  }
37
36
  }
37
+ ${(0, graphql_1.print)(Update_1.UpdateFragmentNode)}
38
38
  `, { publishUpdateGroupsInput })
39
39
  .toPromise());
40
40
  return data.updateBranch.publishUpdateGroups;
@@ -1,6 +1,6 @@
1
1
  import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
2
2
  import { BranchesByAppQueryVariables, UpdateBranchFragment, ViewBranchQuery, ViewBranchQueryVariables, ViewBranchesOnUpdateChannelQuery, ViewBranchesOnUpdateChannelQueryVariables } from '../generated';
3
- export declare type UpdateBranchOnChannelObject = NonNullable<ViewBranchesOnUpdateChannelQuery['app']['byId']['updateChannelByName']>['updateBranches'][number];
3
+ export type UpdateBranchOnChannelObject = NonNullable<ViewBranchesOnUpdateChannelQuery['app']['byId']['updateChannelByName']>['updateBranches'][number];
4
4
  export declare const BranchQuery: {
5
5
  getBranchByNameAsync(graphqlClient: ExpoGraphqlClient, { appId, name }: ViewBranchQueryVariables): Promise<NonNullable<ViewBranchQuery['app']['byId']['updateBranchByName']>>;
6
6
  listBranchesOnAppAsync(graphqlClient: ExpoGraphqlClient, { appId, limit, offset }: BranchesByAppQueryVariables): Promise<UpdateBranchFragment[]>;
@@ -1,7 +1,7 @@
1
1
  import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
2
2
  import { ViewUpdateChannelOnAppQuery, ViewUpdateChannelOnAppQueryVariables, ViewUpdateChannelsOnAppQuery, ViewUpdateChannelsOnAppQueryVariables } from '../generated';
3
- export declare type UpdateChannelObject = NonNullable<ViewUpdateChannelsOnAppQuery['app']['byId']['updateChannels']>[number];
4
- export declare type UpdateChannelByNameObject = NonNullable<ViewUpdateChannelOnAppQuery['app']['byId']['updateChannelByName']>;
3
+ export type UpdateChannelObject = NonNullable<ViewUpdateChannelsOnAppQuery['app']['byId']['updateChannels']>[number];
4
+ export type UpdateChannelByNameObject = NonNullable<ViewUpdateChannelOnAppQuery['app']['byId']['updateChannelByName']>;
5
5
  export declare const ChannelQuery: {
6
6
  viewUpdateChannelAsync(graphqlClient: ExpoGraphqlClient, { appId, channelName }: ViewUpdateChannelOnAppQueryVariables): Promise<UpdateChannelByNameObject>;
7
7
  viewUpdateChannelsOnAppAsync(graphqlClient: ExpoGraphqlClient, { appId, limit, offset }: ViewUpdateChannelsOnAppQueryVariables): Promise<UpdateChannelObject[]>;
@@ -4,7 +4,7 @@ export declare enum EnvironmentSecretScope {
4
4
  ACCOUNT = "account",
5
5
  PROJECT = "project"
6
6
  }
7
- export declare type EnvironmentSecretWithScope = EnvironmentSecretFragment & {
7
+ export type EnvironmentSecretWithScope = EnvironmentSecretFragment & {
8
8
  scope: EnvironmentSecretScope;
9
9
  };
10
10
  export declare const EnvironmentSecretsQuery: {
@@ -1,6 +1,6 @@
1
1
  import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
2
2
  import { AppPlatform, SubmissionFragment, SubmissionStatus } from '../generated';
3
- declare type Filters = {
3
+ type Filters = {
4
4
  platform?: AppPlatform;
5
5
  status?: SubmissionStatus;
6
6
  offset?: number;
@@ -24,6 +24,9 @@ exports.UserQuery = {
24
24
  ... on Robot {
25
25
  firstName
26
26
  }
27
+ ... on SSOUser {
28
+ username
29
+ }
27
30
  accounts {
28
31
  id
29
32
  ...AccountFragment
@@ -55,6 +55,7 @@ exports.BuildFragmentNode = (0, graphql_tag_1.default) `
55
55
  createdAt
56
56
  updatedAt
57
57
  completedAt
58
+ resourceClass
58
59
  }
59
60
  `;
60
61
  exports.BuildFragmentWithSubmissionsNode = (0, graphql_tag_1.default) `
@@ -12,6 +12,7 @@ exports.UpdateFragmentNode = (0, graphql_tag_1.default) `
12
12
  runtimeVersion
13
13
  platform
14
14
  manifestFragment
15
+ manifestPermalink
15
16
  gitCommitHash
16
17
  actor {
17
18
  __typename
@@ -2,7 +2,7 @@
2
2
  import { AgeRatingDeclaration, AppInfoLocalization, AppStoreReviewDetail, AppStoreVersion, AppStoreVersionLocalization, AppStoreVersionPhasedRelease, CategoryIds } from '@expo/apple-utils';
3
3
  import { AttributesOf } from '../../utils/asc';
4
4
  import { AppleMetadata } from '../types';
5
- declare type PartialExcept<T, K extends keyof T> = Pick<T, K> & Partial<Omit<T, K>>;
5
+ type PartialExcept<T, K extends keyof T> = Pick<T, K> & Partial<Omit<T, K>>;
6
6
  export declare const DEFAULT_WHATSNEW = "Bug fixes and improved stability";
7
7
  /**
8
8
  * Deserializes the metadata config schema into attributes for different models.
@@ -8,7 +8,7 @@ import type { AppVersionData } from './tasks/app-version';
8
8
  * The fully prepared apple data, used within the `downloadAsync` or `uploadAsync` tasks.
9
9
  * It contains references to each individual models, to either upload or download App Store data.
10
10
  */
11
- export declare type AppleData = {
11
+ export type AppleData = {
12
12
  app: App;
13
13
  } & AppInfoData & AppVersionData & AgeRatingData & AppReviewData;
14
14
  /**
@@ -16,6 +16,6 @@ export declare type AppleData = {
16
16
  * It contains a reference to the app, each task should populate the necessary data.
17
17
  * If an entity fails to prepare the data, individual tasks should raise errors about the missing data.
18
18
  */
19
- export declare type PartialAppleData = {
19
+ export type PartialAppleData = {
20
20
  app: App;
21
21
  } & Partial<Omit<AppleData, 'app'>>;
@@ -11,14 +11,14 @@ export declare abstract class AppleTask {
11
11
  /** Upload all information from the store configuration to the App Store */
12
12
  abstract uploadAsync(options: TaskUploadOptions): Promise<void>;
13
13
  }
14
- export declare type TaskPrepareOptions = {
14
+ export type TaskPrepareOptions = {
15
15
  context: PartialAppleData;
16
16
  };
17
- export declare type TaskDownloadOptions = {
17
+ export type TaskDownloadOptions = {
18
18
  config: AppleConfigWriter;
19
19
  context: AppleData;
20
20
  };
21
- export declare type TaskUploadOptions = {
21
+ export type TaskUploadOptions = {
22
22
  config: AppleConfigReader;
23
23
  context: AppleData;
24
24
  };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
2
  import { AgeRatingDeclaration } from '@expo/apple-utils';
3
3
  import { AppleTask, TaskDownloadOptions, TaskPrepareOptions, TaskUploadOptions } from '../task';
4
- export declare type AgeRatingData = {
4
+ export type AgeRatingData = {
5
5
  /** The app age rating declaration for the app version */
6
6
  ageRating: AgeRatingDeclaration;
7
7
  };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
2
  import { AppInfo, AppInfoLocalization } from '@expo/apple-utils';
3
3
  import { AppleTask, TaskDownloadOptions, TaskPrepareOptions, TaskUploadOptions } from '../task';
4
- export declare type AppInfoData = {
4
+ export type AppInfoData = {
5
5
  /** The current app info that should be edited */
6
6
  info: AppInfo;
7
7
  /** All info locales that are enabled */
@@ -1,7 +1,7 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
2
  import { AppStoreReviewDetail } from '@expo/apple-utils';
3
3
  import { AppleTask, TaskDownloadOptions, TaskPrepareOptions, TaskUploadOptions } from '../task';
4
- export declare type AppReviewData = {
4
+ export type AppReviewData = {
5
5
  /** The current app info that should be edited */
6
6
  reviewDetail: AppStoreReviewDetail;
7
7
  };
@@ -1,7 +1,7 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
2
  import { AppStoreVersion, AppStoreVersionLocalization, AppStoreVersionPhasedRelease, Platform } from '@expo/apple-utils';
3
3
  import { AppleTask, TaskDownloadOptions, TaskPrepareOptions, TaskUploadOptions } from '../task';
4
- export declare type AppVersionOptions = {
4
+ export type AppVersionOptions = {
5
5
  /** If we should use the live version of the app (if available - defaults to false) */
6
6
  editLive: boolean;
7
7
  /** The platform to use (defaults to IOS) */
@@ -9,7 +9,7 @@ export declare type AppVersionOptions = {
9
9
  /** A version to create or select, if defined in the store configuration */
10
10
  version: string | null;
11
11
  };
12
- export declare type AppVersionData = {
12
+ export type AppVersionData = {
13
13
  /** The current selected app store version to update */
14
14
  version: AppStoreVersion;
15
15
  /** If the current selected version is a live version, where not all properties are editable */
@@ -1,6 +1,6 @@
1
1
  import { AppleTask } from '../task';
2
2
  import { AppVersionOptions } from './app-version';
3
- declare type AppleTaskOptions = {
3
+ type AppleTaskOptions = {
4
4
  version?: AppVersionOptions['version'];
5
5
  };
6
6
  /**
@@ -1,6 +1,6 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
2
  import type { AgeRatingDeclarationProps } from '@expo/apple-utils';
3
- export declare type AppleLocale = string;
3
+ export type AppleLocale = string;
4
4
  export interface AppleMetadata {
5
5
  version?: string;
6
6
  copyright?: string;
@@ -11,9 +11,9 @@ export interface AppleMetadata {
11
11
  preview?: Record<string, string[]>;
12
12
  review?: AppleReview;
13
13
  }
14
- export declare type AppleAdvisory = Partial<AgeRatingDeclarationProps>;
14
+ export type AppleAdvisory = Partial<AgeRatingDeclarationProps>;
15
15
  /** Apps can define up to two categories, or categories with up to two subcategories */
16
- export declare type AppleCategory = (string | string[])[];
16
+ export type AppleCategory = (string | string[])[];
17
17
  export interface AppleRelease {
18
18
  automaticRelease?: boolean | string;
19
19
  phasedRelease?: boolean;
@@ -3,7 +3,7 @@ import { App, Session } from '@expo/apple-utils';
3
3
  import { ExpoConfig } from '@expo/config';
4
4
  import { SubmitProfile } from '@expo/eas-json';
5
5
  import { CredentialsContext } from '../credentials/context';
6
- export declare type MetadataAppStoreAuthentication = {
6
+ export type MetadataAppStoreAuthentication = {
7
7
  /** The root entity of the App store */
8
8
  app: App;
9
9
  /** The authentication state we used to fetch the root entity */
@@ -14,7 +14,8 @@ const validate_1 = require("./validate");
14
14
  * It supports methods, async methods, or objects (json).
15
15
  */
16
16
  async function resolveDynamicConfigAsync(configFile) {
17
- const userConfigOrFunction = await Promise.resolve().then(() => tslib_1.__importStar(require(configFile))).then(file => { var _a; return (_a = file.default) !== null && _a !== void 0 ? _a : file; });
17
+ var _a;
18
+ const userConfigOrFunction = await (_a = configFile, Promise.resolve().then(() => tslib_1.__importStar(require(_a)))).then(file => { var _a; return (_a = file.default) !== null && _a !== void 0 ? _a : file; });
18
19
  return typeof userConfigOrFunction === 'function'
19
20
  ? await userConfigOrFunction()
20
21
  : userConfigOrFunction;
@@ -1,4 +1,4 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
2
  import { ConnectModel } from '@expo/apple-utils';
3
3
  /** Get the properties of a single App Store Connect entity */
4
- export declare type AttributesOf<T extends ConnectModel> = T['attributes'];
4
+ export type AttributesOf<T extends ConnectModel> = T['attributes'];
@@ -1,5 +1,5 @@
1
1
  import { Ora } from '../../ora';
2
- declare type LogAsyncOptions = {
2
+ type LogAsyncOptions = {
3
3
  /** If the spinner representing the async action should be hidden, e.g. for JSON output */
4
4
  hidden?: boolean;
5
5
  /** The message to display when the action is pending */
@@ -1,5 +1,5 @@
1
1
  export declare function waitAsync(duration: number): Promise<void>;
2
- declare type WithRetryOptions = {
2
+ type WithRetryOptions = {
3
3
  tries?: number;
4
4
  delay?: number;
5
5
  onRetry?: (triesLeft: number) => void;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
2
2
  import { App, Session } from '@expo/apple-utils';
3
3
  import { Analytics, MetadataEvent } from '../../analytics/AnalyticsManager';
4
- export declare type TelemetryContext = {
4
+ export type TelemetryContext = {
5
5
  app: App;
6
6
  auth: Partial<Session.AuthState>;
7
7
  };
@@ -3,8 +3,8 @@ import { ExpoConfig, Platform } from '@expo/config';
3
3
  import Joi from 'joi';
4
4
  import { ExpoGraphqlClient } from '../commandUtils/context/contextUtils/createGraphqlClient';
5
5
  import { PartialManifestAsset } from '../graphql/generated';
6
- export declare type ExpoCLIExportPlatformFlag = Platform | 'all';
7
- declare type Metadata = {
6
+ export type ExpoCLIExportPlatformFlag = Platform | 'all';
7
+ type Metadata = {
8
8
  version: number;
9
9
  bundler: 'metro';
10
10
  fileMetadata: {
@@ -17,29 +17,29 @@ declare type Metadata = {
17
17
  };
18
18
  };
19
19
  };
20
- export declare type RawAsset = {
20
+ export type RawAsset = {
21
21
  fileExtension?: string;
22
22
  contentType: string;
23
23
  path: string;
24
24
  };
25
- declare type CollectedAssets = {
25
+ type CollectedAssets = {
26
26
  [platform in Platform]?: {
27
27
  launchAsset: RawAsset;
28
28
  assets: RawAsset[];
29
29
  };
30
30
  };
31
- declare type ManifestExtra = {
31
+ type ManifestExtra = {
32
32
  expoClient?: {
33
33
  [key: string]: any;
34
34
  };
35
35
  [key: string]: any;
36
36
  };
37
- declare type ManifestFragment = {
37
+ type ManifestFragment = {
38
38
  launchAsset: PartialManifestAsset;
39
39
  assets: PartialManifestAsset[];
40
40
  extra?: ManifestExtra;
41
41
  };
42
- declare type UpdateInfoGroup = {
42
+ type UpdateInfoGroup = {
43
43
  [key in Platform]: ManifestFragment;
44
44
  };
45
45
  export declare const MetadataJoi: Joi.ObjectSchema<any>;
@@ -76,7 +76,7 @@ export declare function filterOutAssetsThatAlreadyExistAsync(graphqlClient: Expo
76
76
  })[]): Promise<(RawAsset & {
77
77
  storageKey: string;
78
78
  })[]>;
79
- declare type AssetUploadResult = {
79
+ type AssetUploadResult = {
80
80
  assetCount: number;
81
81
  uniqueAssetCount: number;
82
82
  uniqueUploadedAssetCount: number;
@@ -3,7 +3,7 @@ export { PromptType, Question, Choice };
3
3
  export interface ExpoChoice<T> extends Choice {
4
4
  value: T;
5
5
  }
6
- declare type NamelessQuestion = Omit<Question<'value'>, 'name' | 'type'>;
6
+ type NamelessQuestion = Omit<Question<'value'>, 'name' | 'type'>;
7
7
  export declare function promptAsync<T extends string = string>(questions: Question<T> | Question<T>[], options?: Options): Promise<Answers<T>>;
8
8
  export declare function confirmAsync(question: NamelessQuestion, options?: Options): Promise<boolean>;
9
9
  export declare function selectAsync<T>(message: string, choices: ExpoChoice<T>[], config?: {
@@ -51,8 +51,8 @@ interface ArchiveGCSSource extends ArchiveSourceBase {
51
51
  bucketKey: string;
52
52
  localSource: ArchivePathSource;
53
53
  }
54
- export declare type ArchiveSource = ArchiveUrlSource | ArchiveLatestSource | ArchivePathSource | ArchiveBuildIdSource | ArchiveBuildSource | ArchiveBuildListSource | ArchivePromptSource | ArchiveGCSSource;
55
- export declare type ResolvedArchiveSource = ArchiveUrlSource | ArchiveGCSSource | ArchiveBuildSource;
54
+ export type ArchiveSource = ArchiveUrlSource | ArchiveLatestSource | ArchivePathSource | ArchiveBuildIdSource | ArchiveBuildSource | ArchiveBuildListSource | ArchivePromptSource | ArchiveGCSSource;
55
+ export type ResolvedArchiveSource = ArchiveUrlSource | ArchiveGCSSource | ArchiveBuildSource;
56
56
  export declare function getArchiveAsync(ctx: ArchiveResolverContext, source: ArchiveSource): Promise<ResolvedArchiveSource>;
57
57
  export declare function isUuidV4(s: string): boolean;
58
58
  export {};
@@ -19,22 +19,22 @@ export interface ServiceAccountCredentialsServiceSource extends ServiceAccountSo
19
19
  sourceType: ServiceAccountSourceType.credentialsService;
20
20
  androidApplicationIdentifier?: string;
21
21
  }
22
- export declare type ServiceAccountKeyResult = {
22
+ export type ServiceAccountKeyResult = {
23
23
  result: ServiceAccountKeyFile | ServiceAccountKeyFromExpoServers;
24
24
  summary: ServiceAccountKeySummary;
25
25
  };
26
- declare type ServiceAccountKeySummary = {
26
+ type ServiceAccountKeySummary = {
27
27
  source: 'local' | 'EAS servers';
28
28
  path?: string;
29
29
  email: string;
30
30
  };
31
- declare type ServiceAccountKeyFile = {
31
+ type ServiceAccountKeyFile = {
32
32
  googleServiceAccountKeyJson: string;
33
33
  };
34
- declare type ServiceAccountKeyFromExpoServers = {
34
+ type ServiceAccountKeyFromExpoServers = {
35
35
  googleServiceAccountKeyId: string;
36
36
  };
37
- export declare type ServiceAccountSource = ServiceAccountPathSource | ServiceAccountPromptSource | ServiceAccountCredentialsServiceSource;
37
+ export type ServiceAccountSource = ServiceAccountPathSource | ServiceAccountPromptSource | ServiceAccountCredentialsServiceSource;
38
38
  export declare function getServiceAccountKeyResultAsync(ctx: SubmissionContext<Platform.ANDROID>, source: ServiceAccountSource): Promise<ServiceAccountKeyResult>;
39
39
  export declare function getServiceAccountKeyPathAsync(source: ServiceAccountSource): Promise<string>;
40
40
  export declare function getServiceAccountFromCredentialsServiceAsync(ctx: SubmissionContext<Platform.ANDROID>, source: ServiceAccountCredentialsServiceSource): Promise<ServiceAccountKeyResult>;
@@ -1,6 +1,6 @@
1
1
  import { Platform } from '@expo/eas-build-job';
2
2
  import { SubmissionContext } from '../context';
3
- declare type AppStoreResult = {
3
+ type AppStoreResult = {
4
4
  ascAppIdentifier: string;
5
5
  };
6
6
  export declare function ensureAppStoreConnectAppExistsAsync(ctx: SubmissionContext<Platform.IOS>): Promise<AppStoreResult>;
@@ -14,7 +14,7 @@ export interface AppSpecificPasswordCredentials {
14
14
  password: string;
15
15
  appleIdUsername: string;
16
16
  }
17
- export declare type AppSpecificPasswordSource = AppSpecificPasswordUserDefinedSource;
17
+ export type AppSpecificPasswordSource = AppSpecificPasswordUserDefinedSource;
18
18
  export declare function getAppSpecificPasswordLocallyAsync(ctx: SubmissionContext<Platform.IOS>, source: AppSpecificPasswordSource): Promise<AppSpecificPasswordCredentials>;
19
19
  export declare function getAppleIdUsernameAsync(ctx: SubmissionContext<Platform.IOS>): Promise<string>;
20
20
  export {};
@@ -15,17 +15,17 @@ interface AscApiKeyEnvVarSource extends AscApiKeySourceBase {
15
15
  sourceType: AscApiKeySourceType.path;
16
16
  path: AscApiKeyPath;
17
17
  }
18
- export declare type AscApiKeySource = AscApiKeyEnvVarSource | AscApiKeyPromptSource;
19
- declare type AscApiKeySummary = {
18
+ export type AscApiKeySource = AscApiKeyEnvVarSource | AscApiKeyPromptSource;
19
+ type AscApiKeySummary = {
20
20
  source: 'local' | 'EAS servers';
21
21
  path?: string;
22
22
  keyId: string;
23
23
  name?: string;
24
24
  };
25
- export declare type AscApiKeyFromExpoServers = {
25
+ export type AscApiKeyFromExpoServers = {
26
26
  ascApiKeyId: string;
27
27
  };
28
- export declare type AscApiKeyResult = {
28
+ export type AscApiKeyResult = {
29
29
  result: MinimalAscApiKey | AscApiKeyFromExpoServers;
30
30
  summary: AscApiKeySummary;
31
31
  };
@@ -2,27 +2,30 @@ import { ExpoConfig } from '@expo/config';
2
2
  import { Maybe, Robot, Update, UpdateBranchFragment, UpdateFragment, User } from '../graphql/generated';
3
3
  import { RequestedPlatform } from '../platform';
4
4
  import { ProfileData } from '../utils/profiles';
5
- export declare type FormatUpdateParameter = Pick<Update, 'id' | 'createdAt' | 'message'> & {
5
+ export type FormatUpdateParameter = Pick<Update, 'id' | 'createdAt' | 'message'> & {
6
6
  actor?: Maybe<Pick<User, 'username' | 'id'> | Pick<Robot, 'firstName' | 'id'>>;
7
7
  };
8
- export declare type UpdateGroupDescription = FormatUpdateParameter & {
8
+ export type UpdateJsonInfo = {
9
+ branch: string;
10
+ } & Pick<UpdateFragment, 'id' | 'createdAt' | 'group' | 'message' | 'runtimeVersion' | 'platform' | 'manifestPermalink' | 'gitCommitHash'>;
11
+ export type UpdateGroupDescription = FormatUpdateParameter & {
9
12
  branch: string;
10
13
  group: string;
11
14
  platforms: string;
12
15
  runtimeVersion: string;
13
16
  };
14
- export declare type FormattedUpdateGroupDescription = {
17
+ export type FormattedUpdateGroupDescription = {
15
18
  message: string;
16
19
  group: string;
17
20
  platforms: string;
18
21
  runtimeVersion: string;
19
22
  };
20
- export declare type FormattedBranchDescription = {
23
+ export type FormattedBranchDescription = {
21
24
  branch: string;
22
25
  branchRolloutPercentage?: number;
23
26
  update?: FormattedUpdateGroupDescription;
24
27
  };
25
- export declare type FormattedUpdateGroupDescriptionWithBranch = FormattedUpdateGroupDescription & {
28
+ export type FormattedUpdateGroupDescriptionWithBranch = FormattedUpdateGroupDescription & {
26
29
  branch: string;
27
30
  };
28
31
  export declare const UPDATE_COLUMNS: string[];
@@ -44,6 +47,7 @@ export declare function truncateString(originalMessage: string, length?: number)
44
47
  export declare function formatUpdateMessage(update: FormatUpdateParameter): string;
45
48
  export declare function ensureValidVersions(exp: ExpoConfig, platform: RequestedPlatform): void;
46
49
  export declare function formatUpdateTitle(update: UpdateFragment): string;
50
+ export declare function getUpdateGroupJsonInfo(updateGroups: UpdateFragment[]): UpdateJsonInfo[];
47
51
  export declare function getUpdateGroupDescriptions(updateGroups: UpdateFragment[][]): FormattedUpdateGroupDescription[];
48
52
  export declare function getUpdateGroupDescriptionsWithBranch(updateGroups: UpdateFragment[][]): FormattedUpdateGroupDescriptionWithBranch[];
49
53
  export declare function getBranchDescription(branch: UpdateBranchFragment): FormattedBranchDescription;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateBuildProfileConfigMatchesProjectConfigAsync = exports.checkEASUpdateURLIsSetAsync = exports.getBranchDescription = exports.getUpdateGroupDescriptionsWithBranch = exports.getUpdateGroupDescriptions = exports.formatUpdateTitle = exports.ensureValidVersions = exports.formatUpdateMessage = exports.truncateString = exports.formatPlatformForUpdateGroup = exports.getPlatformsForGroup = exports.formatBranch = exports.formatUpdateGroup = exports.UPDATE_COLUMNS_WITH_BRANCH = exports.UPDATE_COLUMNS = void 0;
3
+ exports.validateBuildProfileConfigMatchesProjectConfigAsync = exports.checkEASUpdateURLIsSetAsync = exports.getBranchDescription = exports.getUpdateGroupDescriptionsWithBranch = exports.getUpdateGroupDescriptions = exports.getUpdateGroupJsonInfo = exports.formatUpdateTitle = exports.ensureValidVersions = exports.formatUpdateMessage = exports.truncateString = exports.formatPlatformForUpdateGroup = exports.getPlatformsForGroup = exports.formatBranch = exports.formatUpdateGroup = exports.UPDATE_COLUMNS_WITH_BRANCH = exports.UPDATE_COLUMNS = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const timeago_js_1 = require("@expo/timeago.js");
6
6
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -106,6 +106,20 @@ function formatUpdateTitle(update) {
106
106
  return `[${(0, dateformat_1.default)(createdAt, 'mmm dd HH:MM')} by ${actorName}, runtimeVersion: ${runtimeVersion}] ${message}`;
107
107
  }
108
108
  exports.formatUpdateTitle = formatUpdateTitle;
109
+ function getUpdateGroupJsonInfo(updateGroups) {
110
+ return updateGroups.map(update => ({
111
+ id: update.id,
112
+ createdAt: update.createdAt,
113
+ group: update.group,
114
+ branch: update.branch.name,
115
+ message: update.message,
116
+ runtimeVersion: update.runtimeVersion,
117
+ platform: update.platform,
118
+ manifestPermalink: update.manifestPermalink,
119
+ gitCommitHash: update.gitCommitHash,
120
+ }));
121
+ }
122
+ exports.getUpdateGroupJsonInfo = getUpdateGroupJsonInfo;
109
123
  function getUpdateGroupDescriptions(updateGroups) {
110
124
  return updateGroups.map(updateGroup => ({
111
125
  message: formatUpdateMessage(updateGroup[0]),
@@ -4,14 +4,14 @@ export declare enum UserSecondFactorDeviceMethod {
4
4
  AUTHENTICATOR = "authenticator",
5
5
  SMS = "sms"
6
6
  }
7
- declare type LoggedInAuthenticationInfo = {
7
+ type LoggedInAuthenticationInfo = {
8
8
  accessToken: string;
9
9
  sessionSecret: null;
10
10
  } | {
11
11
  accessToken: null;
12
12
  sessionSecret: string;
13
13
  };
14
- declare type Actor = NonNullable<CurrentUserQuery['meActor']>;
14
+ type Actor = NonNullable<CurrentUserQuery['meActor']>;
15
15
  export default class SessionManager {
16
16
  private readonly analytics;
17
17
  private currentActor;
@@ -1,5 +1,5 @@
1
1
  import { CurrentUserQuery } from '../graphql/generated';
2
- export declare type Actor = NonNullable<CurrentUserQuery['meActor']>;
2
+ export type Actor = NonNullable<CurrentUserQuery['meActor']>;
3
3
  /**
4
4
  * Resolve the name of the actor, either normal user or robot user.
5
5
  * This should be used whenever the "current user" needs to be displayed.
@@ -13,7 +13,7 @@ function getActorDisplayName(user) {
13
13
  case 'Robot':
14
14
  return user.firstName ? `${user.firstName} (robot)` : 'robot';
15
15
  case 'SSOUser':
16
- return 'sso';
16
+ return user.username ? `${user.username} (sso user)` : 'sso user';
17
17
  default:
18
18
  return 'anonymous';
19
19
  }
@@ -1,5 +1,5 @@
1
1
  import JsonFile from '@expo/json-file';
2
- export declare type UserSettingsData = {
2
+ export type UserSettingsData = {
3
3
  appleId?: string;
4
4
  amplitudeDeviceId?: string;
5
5
  amplitudeEnabled?: boolean;
@@ -2,7 +2,7 @@ import { ExpoConfig } from '@expo/config';
2
2
  import { pki as PKI } from 'node-forge';
3
3
  import { Response } from '../fetch';
4
4
  import { PartialManifest } from '../graphql/generated';
5
- declare type CodeSigningInfo = {
5
+ type CodeSigningInfo = {
6
6
  privateKey: PKI.rsa.PrivateKey;
7
7
  certificate: PKI.Certificate;
8
8
  codeSigningMetadata: {
@@ -74,7 +74,7 @@ async function getManifestBodyAsync(res) {
74
74
  }
75
75
  exports.getManifestBodyAsync = getManifestBodyAsync;
76
76
  function signManifestBody(body, codeSigningInfo) {
77
- return (0, code_signing_certificates_1.signStringRSASHA256AndVerify)(codeSigningInfo.privateKey, codeSigningInfo.certificate, body);
77
+ return (0, code_signing_certificates_1.signBufferRSASHA256AndVerify)(codeSigningInfo.privateKey, codeSigningInfo.certificate, Buffer.from(body, 'utf-8'));
78
78
  }
79
79
  exports.signManifestBody = signManifestBody;
80
80
  function assertAssetParity(manifestResponseBodyAssetJSON, partialManifestAsset) {
@@ -1,7 +1,7 @@
1
- declare type FormatFieldsOptions = {
1
+ type FormatFieldsOptions = {
2
2
  labelFormat: (raw: string) => string;
3
3
  };
4
- export declare type FormatFieldsItem = {
4
+ export type FormatFieldsItem = {
5
5
  label: string;
6
6
  value: string;
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import { Platform } from '@expo/eas-build-job';
2
2
  import { BuildProfile, EasJsonAccessor, ProfileType, SubmitProfile } from '@expo/eas-json';
3
- declare type EasProfile<T extends ProfileType> = T extends 'build' ? BuildProfile<Platform> : SubmitProfile<Platform>;
4
- export declare type ProfileData<T extends ProfileType> = {
3
+ type EasProfile<T extends ProfileType> = T extends 'build' ? BuildProfile<Platform> : SubmitProfile<Platform>;
4
+ export type ProfileData<T extends ProfileType> = {
5
5
  profile: EasProfile<T>;
6
6
  platform: Platform;
7
7
  profileName: string;
@@ -1,9 +1,9 @@
1
- export declare type Progress = {
1
+ export type Progress = {
2
2
  total: number;
3
3
  percent: number;
4
4
  transferred: number;
5
5
  };
6
- export declare type ProgressHandler = (props: {
6
+ export type ProgressHandler = (props: {
7
7
  progress?: Progress;
8
8
  isComplete?: boolean;
9
9
  error?: Error;