eas-cli 13.4.1 → 14.0.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.
- package/README.md +73 -73
- package/build/ApiV2Error.js +5 -1
- package/build/analytics/AnalyticsManager.js +5 -4
- package/build/api.js +1 -0
- package/build/branch/actions/SelectBranch.js +1 -0
- package/build/branch/queries.d.ts +3 -3
- package/build/branch/queries.js +7 -5
- package/build/build/validate.js +6 -3
- package/build/channel/actions/SelectChannel.js +1 -0
- package/build/channel/queries.d.ts +0 -1
- package/build/channel/queries.js +11 -16
- package/build/commandUtils/EasCommand.js +100 -90
- package/build/commandUtils/builds.d.ts +1 -0
- package/build/commandUtils/builds.js +3 -0
- package/build/commandUtils/context/contextUtils/findProjectDirAndVerifyProjectSetupAsync.js +1 -1
- package/build/commandUtils/context/contextUtils/getProjectIdAsync.js +0 -2
- package/build/commandUtils/gating/FeatureGateEnvOverrides.js +1 -1
- package/build/commandUtils/gating/FeatureGating.js +2 -0
- package/build/commands/account/login.js +16 -18
- package/build/commands/account/logout.js +6 -8
- package/build/commands/account/view.js +8 -10
- package/build/commands/analytics.js +2 -2
- package/build/commands/branch/create.js +18 -20
- package/build/commands/branch/delete.js +17 -19
- package/build/commands/branch/list.js +11 -13
- package/build/commands/branch/publish.js +2 -2
- package/build/commands/branch/rename.js +18 -20
- package/build/commands/branch/view.js +19 -21
- package/build/commands/build/cancel.js +22 -24
- package/build/commands/build/configure.js +15 -17
- package/build/commands/build/delete.js +22 -24
- package/build/commands/build/index.js +81 -83
- package/build/commands/build/inspect.js +42 -44
- package/build/commands/build/internal.js +32 -34
- package/build/commands/build/list.js +58 -60
- package/build/commands/build/resign.js +36 -38
- package/build/commands/build/run.js +36 -38
- package/build/commands/build/version/get.js +21 -23
- package/build/commands/build/version/set.js +20 -22
- package/build/commands/build/version/sync.js +20 -22
- package/build/commands/build/view.js +12 -14
- package/build/commands/channel/create.js +17 -19
- package/build/commands/channel/delete.js +18 -20
- package/build/commands/channel/edit.js +20 -22
- package/build/commands/channel/list.js +12 -14
- package/build/commands/channel/pause.js +20 -22
- package/build/commands/channel/resume.js +20 -22
- package/build/commands/channel/rollout.js +74 -76
- package/build/commands/channel/view.js +18 -20
- package/build/commands/config.js +21 -23
- package/build/commands/credentials/configure-build.js +21 -23
- package/build/commands/credentials/index.js +13 -15
- package/build/commands/device/create.js +6 -8
- package/build/commands/device/delete.js +12 -14
- package/build/commands/device/list.js +12 -14
- package/build/commands/device/rename.js +13 -15
- package/build/commands/device/view.js +8 -10
- package/build/commands/diagnostics.js +6 -8
- package/build/commands/env/create.js +39 -41
- package/build/commands/env/delete.js +25 -27
- package/build/commands/env/exec.js +22 -24
- package/build/commands/env/get.js +26 -28
- package/build/commands/env/link.js +27 -29
- package/build/commands/env/list.js +27 -29
- package/build/commands/env/pull.js +23 -25
- package/build/commands/env/push.js +21 -23
- package/build/commands/env/unlink.js +23 -25
- package/build/commands/env/update.js +38 -40
- package/build/commands/fingerprint/compare.d.ts +28 -0
- package/build/commands/fingerprint/compare.js +324 -0
- package/build/commands/metadata/lint.js +18 -20
- package/build/commands/metadata/pull.js +15 -17
- package/build/commands/metadata/push.js +15 -17
- package/build/commands/open.js +6 -8
- package/build/commands/project/info.js +6 -8
- package/build/commands/project/init.js +26 -30
- package/build/commands/project/onboarding.js +10 -12
- package/build/commands/secret/create.js +30 -32
- package/build/commands/secret/delete.js +14 -16
- package/build/commands/secret/list.js +7 -9
- package/build/commands/secret/push.js +23 -25
- package/build/commands/submit/internal.js +23 -25
- package/build/commands/submit.js +54 -56
- package/build/commands/update/configure.js +18 -20
- package/build/commands/update/delete.js +16 -18
- package/build/commands/update/edit.js +25 -27
- package/build/commands/update/index.js +65 -67
- package/build/commands/update/list.js +21 -23
- package/build/commands/update/republish.js +45 -47
- package/build/commands/update/roll-back-to-embedded.d.ts +2 -1
- package/build/commands/update/roll-back-to-embedded.js +92 -84
- package/build/commands/update/rollback.js +7 -7
- package/build/commands/update/view.js +16 -18
- package/build/commands/webhook/create.js +20 -22
- package/build/commands/webhook/delete.js +17 -19
- package/build/commands/webhook/list.js +14 -16
- package/build/commands/webhook/update.js +23 -25
- package/build/commands/webhook/view.js +13 -15
- package/build/commands/worker/alias.js +30 -32
- package/build/commands/worker/deploy.js +38 -40
- package/build/commands/workflow/create.js +16 -18
- package/build/commands/workflow/run.js +13 -15
- package/build/commands/workflow/validate.js +18 -20
- package/build/credentials/android/AndroidCredentialsProvider.js +3 -1
- package/build/credentials/android/actions/AssignFcm.js +1 -0
- package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForFcmV1.js +1 -0
- package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForSubmissions.js +1 -0
- package/build/credentials/android/actions/CreateFcm.js +1 -0
- package/build/credentials/android/actions/CreateGoogleServiceAccountKey.js +1 -0
- package/build/credentials/android/actions/CreateKeystore.js +1 -0
- package/build/credentials/android/actions/DownloadKeystore.js +2 -0
- package/build/credentials/android/actions/RemoveFcm.js +1 -0
- package/build/credentials/android/actions/RemoveGoogleServiceAccountKey.js +2 -0
- package/build/credentials/android/actions/RemoveKeystore.js +1 -0
- package/build/credentials/android/actions/SetUpBuildCredentials.js +1 -0
- package/build/credentials/android/actions/SetUpBuildCredentialsFromCredentialsJson.js +1 -0
- package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForFcmV1.js +1 -0
- package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForSubmissions.js +1 -0
- package/build/credentials/android/actions/UseExistingGoogleServiceAccountKey.js +1 -0
- package/build/credentials/context.js +14 -5
- package/build/credentials/errors.js +1 -0
- package/build/credentials/ios/IosCredentialsProvider.js +3 -1
- package/build/credentials/ios/actions/AssignAscApiKey.js +1 -0
- package/build/credentials/ios/actions/AssignPushKey.js +1 -0
- package/build/credentials/ios/actions/ConfigureProvisioningProfile.js +4 -0
- package/build/credentials/ios/actions/CreateAscApiKey.js +1 -0
- package/build/credentials/ios/actions/CreateDistributionCertificate.js +1 -0
- package/build/credentials/ios/actions/CreateProvisioningProfile.js +3 -0
- package/build/credentials/ios/actions/CreatePushKey.js +1 -0
- package/build/credentials/ios/actions/RemoveAscApiKey.js +2 -0
- package/build/credentials/ios/actions/RemoveDistributionCertificate.js +3 -0
- package/build/credentials/ios/actions/RemoveProvisioningProfile.js +2 -0
- package/build/credentials/ios/actions/RemovePushKey.js +2 -0
- package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +1 -0
- package/build/credentials/ios/actions/SetUpAscApiKey.js +9 -7
- package/build/credentials/ios/actions/SetUpBuildCredentials.js +1 -0
- package/build/credentials/ios/actions/SetUpBuildCredentialsFromCredentialsJson.js +3 -0
- package/build/credentials/ios/actions/SetUpDistributionCertificate.js +3 -0
- package/build/credentials/ios/actions/SetUpInternalProvisioningProfile.js +1 -0
- package/build/credentials/ios/actions/SetUpProvisioningProfile.js +3 -0
- package/build/credentials/ios/actions/SetUpPushKey.js +1 -0
- package/build/credentials/ios/actions/SetUpTargetBuildCredentials.js +1 -0
- package/build/credentials/ios/actions/SetUpTargetBuildCredentialsFromCredentialsJson.js +3 -0
- package/build/credentials/ios/actions/UpdateCredentialsJson.js +3 -0
- package/build/credentials/ios/appstore/AppStoreApi.js +2 -0
- package/build/credentials/manager/CheckBuildProfileFlagAgainstEasJson.js +3 -0
- package/build/credentials/manager/CreateAndroidBuildCredentials.js +1 -0
- package/build/credentials/manager/ManageAndroid.js +2 -0
- package/build/credentials/manager/ManageIos.js +2 -0
- package/build/credentials/manager/SelectAndroidBuildCredentials.js +2 -0
- package/build/credentials/manager/SelectBuildProfileFromEasJson.js +2 -0
- package/build/credentials/manager/SelectIosDistributionTypeGraphqlFromBuildProfile.js +1 -0
- package/build/credentials/manager/SelectPlatform.js +7 -0
- package/build/credentials/manager/SetDefaultAndroidKeystore.js +1 -0
- package/build/credentials/manager/SetUpAndroidBuildCredentials.js +1 -0
- package/build/credentials/manager/SetUpBuildCredentialsCommandAction.js +9 -0
- package/build/credentials/manager/SetUpIosBuildCredentials.js +1 -0
- package/build/devices/actions/create/action.js +4 -0
- package/build/devices/manager.js +4 -0
- package/build/fetch.js +1 -0
- package/build/graphql/generated.d.ts +179 -3
- package/build/graphql/generated.js +8 -3
- package/build/graphql/mutations/AppMutation.d.ts +0 -2
- package/build/graphql/queries/BuildQuery.d.ts +4 -1
- package/build/graphql/queries/BuildQuery.js +19 -0
- package/build/graphql/types/Build.d.ts +1 -0
- package/build/graphql/types/Build.js +15 -1
- package/build/graphql/types/Fingerprint.d.ts +1 -0
- package/build/graphql/types/Fingerprint.js +12 -0
- package/build/log.js +2 -2
- package/build/metadata/apple/config/reader.js +1 -0
- package/build/metadata/apple/config/writer.js +1 -0
- package/build/metadata/apple/tasks/age-rating.js +1 -4
- package/build/metadata/apple/tasks/app-info.js +1 -4
- package/build/metadata/apple/tasks/app-review-detail.js +1 -4
- package/build/metadata/apple/tasks/app-version.js +2 -1
- package/build/metadata/errors.js +5 -0
- package/build/project/fetchOrCreateProjectIDForWriteToConfigWithConfirmationAsync.d.ts +0 -2
- package/build/project/fetchOrCreateProjectIDForWriteToConfigWithConfirmationAsync.js +0 -1
- package/build/project/projectUtils.d.ts +1 -2
- package/build/project/projectUtils.js +1 -14
- package/build/rollout/actions/CreateRollout.d.ts +9 -10
- package/build/rollout/actions/CreateRollout.js +2 -0
- package/build/rollout/actions/EditRollout.d.ts +2 -3
- package/build/rollout/actions/EditRollout.js +2 -0
- package/build/rollout/actions/EndRollout.d.ts +4 -6
- package/build/rollout/actions/EndRollout.js +2 -0
- package/build/rollout/actions/ManageRollout.d.ts +2 -3
- package/build/rollout/actions/ManageRollout.js +2 -0
- package/build/rollout/actions/NonInteractiveRollout.d.ts +6 -27
- package/build/rollout/actions/NonInteractiveRollout.js +1 -0
- package/build/rollout/actions/RolloutMainMenu.d.ts +6 -7
- package/build/rollout/actions/RolloutMainMenu.js +1 -0
- package/build/rollout/actions/SelectRuntime.d.ts +6 -20
- package/build/rollout/actions/SelectRuntime.js +3 -0
- package/build/submit/BaseSubmitter.js +4 -0
- package/build/submit/android/AndroidSubmitCommand.js +1 -0
- package/build/submit/ios/IosSubmitCommand.js +1 -0
- package/build/update/configure.js +2 -1
- package/build/update/getBranchFromChannelNameAndCreateAndLinkIfNotExistsAsync.js +3 -3
- package/build/user/SessionManager.js +2 -0
- package/build/utils/fingerprint.d.ts +97 -0
- package/build/utils/fingerprint.js +5 -0
- package/build/utils/fingerprintCli.d.ts +5 -7
- package/build/utils/fingerprintCli.js +11 -1
- package/build/utils/fingerprintDiff.d.ts +33 -0
- package/build/utils/fingerprintDiff.js +122 -0
- package/build/vcs/clients/git.js +2 -1
- package/build/vcs/local.js +2 -1
- package/oclif.manifest.json +51 -7
- package/package.json +15 -13
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { EASUpdateAction, EASUpdateContext } from '../../eas-update/utils';
|
|
2
|
-
import {
|
|
3
|
-
import { UpdateChannelObject } from '../../graphql/queries/ChannelQuery';
|
|
2
|
+
import { UpdateChannelBasicInfoFragment } from '../../graphql/generated';
|
|
4
3
|
export type NonInteractiveOptions = {
|
|
5
4
|
branchNameToRollout: string;
|
|
6
5
|
percent: number;
|
|
@@ -14,12 +13,12 @@ export declare class CreateRollout implements EASUpdateAction<UpdateChannelBasic
|
|
|
14
13
|
private readonly options;
|
|
15
14
|
constructor(channelInfo: UpdateChannelBasicInfoFragment, options?: Partial<NonInteractiveOptions>);
|
|
16
15
|
runAsync(ctx: EASUpdateContext): Promise<UpdateChannelBasicInfoFragment>;
|
|
17
|
-
confirmCreationAsync
|
|
18
|
-
getChannelObjectAsync
|
|
19
|
-
getLatestUpdateGroupOnBranchAsync
|
|
20
|
-
selectRuntimeVersionAsync
|
|
21
|
-
selectRuntimeVersionFromAlternativeSourceAsync
|
|
22
|
-
selectRuntimeVersionFromProjectConfigAsync
|
|
23
|
-
selectBranchAsync
|
|
24
|
-
resolveBranchNameAsync
|
|
16
|
+
private confirmCreationAsync;
|
|
17
|
+
private getChannelObjectAsync;
|
|
18
|
+
private getLatestUpdateGroupOnBranchAsync;
|
|
19
|
+
private selectRuntimeVersionAsync;
|
|
20
|
+
private selectRuntimeVersionFromAlternativeSourceAsync;
|
|
21
|
+
private selectRuntimeVersionFromProjectConfigAsync;
|
|
22
|
+
private selectBranchAsync;
|
|
23
|
+
private resolveBranchNameAsync;
|
|
25
24
|
}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { EASUpdateAction, EASUpdateContext } from '../../eas-update/utils';
|
|
2
2
|
import { UpdateChannelBasicInfoFragment } from '../../graphql/generated';
|
|
3
|
-
import { UpdateChannelObject } from '../../graphql/queries/ChannelQuery';
|
|
4
3
|
export type NonInteractiveOptions = {
|
|
5
4
|
percent: number;
|
|
6
5
|
};
|
|
@@ -12,6 +11,6 @@ export declare class EditRollout implements EASUpdateAction<UpdateChannelBasicIn
|
|
|
12
11
|
private readonly options;
|
|
13
12
|
constructor(channelInfo: UpdateChannelBasicInfoFragment, options?: Partial<NonInteractiveOptions>);
|
|
14
13
|
runAsync(ctx: EASUpdateContext): Promise<UpdateChannelBasicInfoFragment>;
|
|
15
|
-
confirmEditAsync
|
|
16
|
-
getChannelObjectAsync
|
|
14
|
+
private confirmEditAsync;
|
|
15
|
+
private getChannelObjectAsync;
|
|
17
16
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { EASUpdateAction, EASUpdateContext } from '../../eas-update/utils';
|
|
2
2
|
import { UpdateChannelBasicInfoFragment } from '../../graphql/generated';
|
|
3
|
-
import { UpdateBranchObject, UpdateChannelObject } from '../../graphql/queries/ChannelQuery';
|
|
4
|
-
import { Rollout } from '../branch-mapping';
|
|
5
3
|
export declare enum EndOutcome {
|
|
6
4
|
REPUBLISH_AND_REVERT = "republish-and-revert",
|
|
7
5
|
REVERT = "revert"
|
|
@@ -20,8 +18,8 @@ export declare class EndRollout implements EASUpdateAction<UpdateChannelBasicInf
|
|
|
20
18
|
private readonly options;
|
|
21
19
|
constructor(channelInfo: UpdateChannelBasicInfoFragment, options: Partial<NonInteractiveOptions> & GeneralOptions);
|
|
22
20
|
runAsync(ctx: EASUpdateContext): Promise<UpdateChannelBasicInfoFragment>;
|
|
23
|
-
getChannelObjectAsync
|
|
24
|
-
selectOutcomeAsync
|
|
25
|
-
performOutcomeAsync
|
|
26
|
-
confirmOutcomeAsync
|
|
21
|
+
private getChannelObjectAsync;
|
|
22
|
+
private selectOutcomeAsync;
|
|
23
|
+
private performOutcomeAsync;
|
|
24
|
+
private confirmOutcomeAsync;
|
|
27
25
|
}
|
|
@@ -2,7 +2,6 @@ import { NonInteractiveOptions as EditRolloutNonInteractiveOptions } from './Edi
|
|
|
2
2
|
import { GeneralOptions as EndRolloutGeneralOptions, NonInteractiveOptions as EndRolloutNonInteractiveOptions } from './EndRollout';
|
|
3
3
|
import { EASUpdateAction, EASUpdateContext } from '../../eas-update/utils';
|
|
4
4
|
import { UpdateChannelBasicInfoFragment } from '../../graphql/generated';
|
|
5
|
-
import { UpdateChannelObject } from '../../graphql/queries/ChannelQuery';
|
|
6
5
|
export declare enum ManageRolloutActions {
|
|
7
6
|
EDIT = "Edit",
|
|
8
7
|
END = "End",
|
|
@@ -20,6 +19,6 @@ export declare class ManageRollout implements EASUpdateAction<EASUpdateAction> {
|
|
|
20
19
|
action?: ManageRolloutActions.EDIT | ManageRolloutActions.END | ManageRolloutActions.VIEW;
|
|
21
20
|
} & Partial<EditRolloutNonInteractiveOptions> & Partial<EndRolloutNonInteractiveOptions> & EndRolloutGeneralOptions);
|
|
22
21
|
runAsync(ctx: EASUpdateContext): Promise<EASUpdateAction>;
|
|
23
|
-
selectActionAsync
|
|
24
|
-
getChannelObjectAsync
|
|
22
|
+
private selectActionAsync;
|
|
23
|
+
private getChannelObjectAsync;
|
|
25
24
|
}
|
|
@@ -3,20 +3,6 @@ import { NonInteractiveOptions as EditRolloutNonInteractiveOptions } from './Edi
|
|
|
3
3
|
import { GeneralOptions as EndRolloutGeneralOptions, NonInteractiveOptions as EndRolloutNonInteractiveOptions } from './EndRollout';
|
|
4
4
|
import { RolloutActions } from './RolloutMainMenu';
|
|
5
5
|
import { EASUpdateAction, EASUpdateContext } from '../../eas-update/utils';
|
|
6
|
-
import { UpdateChannelBasicInfoFragment } from '../../graphql/generated';
|
|
7
|
-
import { UpdateBranchObject, UpdateChannelObject } from '../../graphql/queries/ChannelQuery';
|
|
8
|
-
type JSONRolloutOutput = {
|
|
9
|
-
defaultBranch: UpdateBranchObject;
|
|
10
|
-
rolledOutBranch: UpdateBranchObject;
|
|
11
|
-
percentRolledOut: number;
|
|
12
|
-
runtimeVersion?: string;
|
|
13
|
-
updatedAt: Date;
|
|
14
|
-
};
|
|
15
|
-
type JSONOutput = {
|
|
16
|
-
hasRollout: boolean;
|
|
17
|
-
originalRolloutInfo?: JSONRolloutOutput;
|
|
18
|
-
currentRolloutInfo?: JSONRolloutOutput;
|
|
19
|
-
};
|
|
20
6
|
/**
|
|
21
7
|
* Control a rollout in non interactive mode.
|
|
22
8
|
*/
|
|
@@ -28,17 +14,10 @@ export declare class NonInteractiveRollout implements EASUpdateAction<void> {
|
|
|
28
14
|
action?: RolloutActions;
|
|
29
15
|
} & Partial<EditRolloutNonInteractiveOptions> & Partial<EndRolloutNonInteractiveOptions> & EndRolloutGeneralOptions & Partial<CreateRolloutNonInteractiveOptions>);
|
|
30
16
|
runAsync(ctx: EASUpdateContext): Promise<void>;
|
|
31
|
-
runActionAsync
|
|
32
|
-
viewRollout
|
|
33
|
-
getJsonAsync
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
getRolloutJsonAsync(channelObject: UpdateChannelObject): Promise<JSONRolloutOutput>;
|
|
38
|
-
getRuntimeVersion(channelInfo: UpdateChannelBasicInfoFragment): string | undefined;
|
|
39
|
-
getChannelObjectAsync(ctx: EASUpdateContext, { channelName, runtimeVersion }: {
|
|
40
|
-
channelName: string;
|
|
41
|
-
runtimeVersion?: string;
|
|
42
|
-
}): Promise<UpdateChannelObject>;
|
|
17
|
+
private runActionAsync;
|
|
18
|
+
private viewRollout;
|
|
19
|
+
private getJsonAsync;
|
|
20
|
+
private getRolloutJsonAsync;
|
|
21
|
+
private getRuntimeVersion;
|
|
22
|
+
private getChannelObjectAsync;
|
|
43
23
|
}
|
|
44
|
-
export {};
|
|
@@ -3,7 +3,6 @@ import { NonInteractiveOptions as EditRolloutNonInteractiveOptions } from './Edi
|
|
|
3
3
|
import { GeneralOptions as EndRolloutGeneralOptions, NonInteractiveOptions as EndRolloutNonInteractiveOptions } from './EndRollout';
|
|
4
4
|
import { ManageRolloutActions } from './ManageRollout';
|
|
5
5
|
import { EASUpdateAction, EASUpdateContext } from '../../eas-update/utils';
|
|
6
|
-
import { UpdateChannelBasicInfoFragment } from '../../graphql/generated';
|
|
7
6
|
export declare enum MainMenuActions {
|
|
8
7
|
CREATE_NEW = "Create a new rollout",
|
|
9
8
|
MANAGE_EXISTING = "Manage an existing rollout"
|
|
@@ -19,10 +18,10 @@ export declare class RolloutMainMenu implements EASUpdateAction<void> {
|
|
|
19
18
|
action?: RolloutActions;
|
|
20
19
|
} & Partial<EditRolloutNonInteractiveOptions> & Partial<EndRolloutNonInteractiveOptions> & EndRolloutGeneralOptions & Partial<CreateRolloutNonInteractiveOptions>);
|
|
21
20
|
runAsync(ctx: EASUpdateContext): Promise<void>;
|
|
22
|
-
runActionAsync
|
|
23
|
-
selectRolloutAsync
|
|
24
|
-
selectChannelToRolloutAsync
|
|
25
|
-
resolveChannelNameAsync
|
|
26
|
-
toMainMenuAction
|
|
27
|
-
promptMenuActionAsync
|
|
21
|
+
private runActionAsync;
|
|
22
|
+
private selectRolloutAsync;
|
|
23
|
+
private selectChannelToRolloutAsync;
|
|
24
|
+
private resolveChannelNameAsync;
|
|
25
|
+
private toMainMenuAction;
|
|
26
|
+
private promptMenuActionAsync;
|
|
28
27
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { ExpoGraphqlClient } from '../../commandUtils/context/contextUtils/createGraphqlClient';
|
|
2
1
|
import { EASUpdateAction, EASUpdateContext } from '../../eas-update/utils';
|
|
3
|
-
import {
|
|
4
|
-
import { Connection } from '../../utils/relay';
|
|
2
|
+
import { UpdateBranchBasicInfoFragment } from '../../graphql/generated';
|
|
5
3
|
/**
|
|
6
4
|
* Select a runtime from a branch
|
|
7
5
|
*/
|
|
@@ -12,22 +10,10 @@ export declare class SelectRuntime implements EASUpdateAction<string | null> {
|
|
|
12
10
|
constructor(branchInfo: UpdateBranchBasicInfoFragment, options?: {
|
|
13
11
|
anotherBranchToIntersectRuntimesBy?: UpdateBranchBasicInfoFragment;
|
|
14
12
|
});
|
|
15
|
-
warnNoRuntime
|
|
16
|
-
formatCantFindRuntime
|
|
13
|
+
private warnNoRuntime;
|
|
14
|
+
private formatCantFindRuntime;
|
|
17
15
|
runAsync(ctx: EASUpdateContext): Promise<string | null>;
|
|
18
|
-
getNewestRuntimeAsync
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
anotherBranchIdToIntersectRuntimesBy?: string;
|
|
22
|
-
}): Promise<Connection<RuntimeFragment>>;
|
|
23
|
-
displayLatestUpdateGroupAsync({ graphqlClient, appId, branchName, runtime, }: {
|
|
24
|
-
graphqlClient: ExpoGraphqlClient;
|
|
25
|
-
appId: string;
|
|
26
|
-
branchName: string;
|
|
27
|
-
runtime: RuntimeFragment;
|
|
28
|
-
}): Promise<string>;
|
|
29
|
-
selectRuntimesAsync(graphqlClient: ExpoGraphqlClient, { appId, batchSize, }: {
|
|
30
|
-
appId: string;
|
|
31
|
-
batchSize?: number;
|
|
32
|
-
}): Promise<RuntimeFragment | null>;
|
|
16
|
+
private getNewestRuntimeAsync;
|
|
17
|
+
private displayLatestUpdateGroupAsync;
|
|
18
|
+
private selectRuntimesAsync;
|
|
33
19
|
}
|
|
@@ -10,6 +10,10 @@ const log_1 = tslib_1.__importDefault(require("../log"));
|
|
|
10
10
|
const ora_1 = require("../ora");
|
|
11
11
|
const platform_1 = require("../platform");
|
|
12
12
|
class BaseSubmitter {
|
|
13
|
+
ctx;
|
|
14
|
+
options;
|
|
15
|
+
sourceOptionResolver;
|
|
16
|
+
sourceOptionAnalytics;
|
|
13
17
|
constructor(ctx, options, sourceOptionResolver, sourceOptionAnalytics) {
|
|
14
18
|
this.ctx = ctx;
|
|
15
19
|
this.options = options;
|
|
@@ -13,6 +13,7 @@ const capitalize_1 = tslib_1.__importDefault(require("../../utils/expodash/capit
|
|
|
13
13
|
const ArchiveSource_1 = require("../ArchiveSource");
|
|
14
14
|
const commons_1 = require("../commons");
|
|
15
15
|
class AndroidSubmitCommand {
|
|
16
|
+
ctx;
|
|
16
17
|
constructor(ctx) {
|
|
17
18
|
this.ctx = ctx;
|
|
18
19
|
}
|
|
@@ -6,6 +6,7 @@ const eas_build_job_1 = require("@expo/eas-build-job");
|
|
|
6
6
|
const eas_json_1 = require("@expo/eas-json");
|
|
7
7
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
8
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
9
|
+
const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
|
|
9
10
|
const semver_1 = tslib_1.__importDefault(require("semver"));
|
|
10
11
|
const UpdatesModule_1 = require("./android/UpdatesModule");
|
|
11
12
|
const UpdatesModule_2 = require("./ios/UpdatesModule");
|
|
@@ -115,7 +116,7 @@ async function ensureEASUpdatesIsConfiguredInExpoConfigAsync({ exp, projectId, p
|
|
|
115
116
|
return {
|
|
116
117
|
projectChanged: true,
|
|
117
118
|
// TODO(cedric): fix return type of `modifyConfigAsync` to avoid `null` for type === success repsonses
|
|
118
|
-
exp: result.config
|
|
119
|
+
exp: (0, nullthrows_1.default)(result.config, 'Expected config to be defined'),
|
|
119
120
|
};
|
|
120
121
|
case 'warn':
|
|
121
122
|
warnEASUpdatesManualConfig({ modifyConfig, workflows });
|
|
@@ -27,19 +27,19 @@ async function getBranchFromChannelNameAndCreateAndLinkIfNotExistsAsync(graphqlC
|
|
|
27
27
|
if (!(error instanceof errors_1.ChannelNotFoundError)) {
|
|
28
28
|
throw error;
|
|
29
29
|
}
|
|
30
|
-
const {
|
|
30
|
+
const { branch } = await (0, queries_1.ensureBranchExistsAsync)(graphqlClient, {
|
|
31
31
|
appId: projectId,
|
|
32
32
|
branchName: channelName,
|
|
33
33
|
});
|
|
34
34
|
const { updateChannel: { createUpdateChannelForApp: newChannel }, } = await (0, queries_2.createChannelOnAppAsync)(graphqlClient, {
|
|
35
35
|
appId: projectId,
|
|
36
36
|
channelName,
|
|
37
|
-
branchId,
|
|
37
|
+
branchId: branch.id,
|
|
38
38
|
});
|
|
39
39
|
if (!newChannel) {
|
|
40
40
|
throw new Error(`Could not create channel with name ${channelName} on project with id ${projectId}`);
|
|
41
41
|
}
|
|
42
|
-
branchInfo = { branchId, branchName: channelName };
|
|
42
|
+
branchInfo = { branchId: branch.id, branchName: channelName };
|
|
43
43
|
}
|
|
44
44
|
return branchInfo;
|
|
45
45
|
}
|
|
@@ -22,6 +22,8 @@ var UserSecondFactorDeviceMethod;
|
|
|
22
22
|
UserSecondFactorDeviceMethod["SMS"] = "sms";
|
|
23
23
|
})(UserSecondFactorDeviceMethod || (exports.UserSecondFactorDeviceMethod = UserSecondFactorDeviceMethod = {}));
|
|
24
24
|
class SessionManager {
|
|
25
|
+
analytics;
|
|
26
|
+
currentActor;
|
|
25
27
|
constructor(analytics) {
|
|
26
28
|
this.analytics = analytics;
|
|
27
29
|
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DO NOT EDIT unless the same change is made in `@expo/fingerprint`
|
|
3
|
+
*/
|
|
4
|
+
/// <reference types="node" />
|
|
5
|
+
export interface HashSourceFile {
|
|
6
|
+
type: 'file';
|
|
7
|
+
filePath: string;
|
|
8
|
+
/**
|
|
9
|
+
* Reasons of this source coming from
|
|
10
|
+
*/
|
|
11
|
+
reasons: string[];
|
|
12
|
+
}
|
|
13
|
+
export interface HashSourceDir {
|
|
14
|
+
type: 'dir';
|
|
15
|
+
filePath: string;
|
|
16
|
+
/**
|
|
17
|
+
* Reasons of this source coming from
|
|
18
|
+
*/
|
|
19
|
+
reasons: string[];
|
|
20
|
+
}
|
|
21
|
+
export interface HashSourceContents {
|
|
22
|
+
type: 'contents';
|
|
23
|
+
id: string;
|
|
24
|
+
contents: string | Buffer;
|
|
25
|
+
/**
|
|
26
|
+
* Reasons of this source coming from
|
|
27
|
+
*/
|
|
28
|
+
reasons: string[];
|
|
29
|
+
}
|
|
30
|
+
export type HashSource = HashSourceFile | HashSourceDir | HashSourceContents;
|
|
31
|
+
export interface Fingerprint {
|
|
32
|
+
/**
|
|
33
|
+
* Sources and their hash values to generate a fingerprint
|
|
34
|
+
*/
|
|
35
|
+
sources: FingerprintSource[];
|
|
36
|
+
/**
|
|
37
|
+
* The final hash value of the whole fingerprint
|
|
38
|
+
*/
|
|
39
|
+
hash: string;
|
|
40
|
+
}
|
|
41
|
+
export interface DebugInfoFile {
|
|
42
|
+
path: string;
|
|
43
|
+
hash: string;
|
|
44
|
+
}
|
|
45
|
+
export interface DebugInfoDir {
|
|
46
|
+
path: string;
|
|
47
|
+
hash: string;
|
|
48
|
+
children: (DebugInfoFile | DebugInfoDir | undefined)[];
|
|
49
|
+
}
|
|
50
|
+
export interface DebugInfoContents {
|
|
51
|
+
hash: string;
|
|
52
|
+
}
|
|
53
|
+
export type DebugInfo = DebugInfoFile | DebugInfoDir | DebugInfoContents;
|
|
54
|
+
export type FingerprintSource = HashSource & {
|
|
55
|
+
/**
|
|
56
|
+
* Hash value of the `source`.
|
|
57
|
+
* If the source is excluding by `Options.dirExcludes`, the value will be null.
|
|
58
|
+
*/
|
|
59
|
+
hash: string | null;
|
|
60
|
+
/**
|
|
61
|
+
* Debug info from the hashing process. Differs based on source type. Designed to be consumed by humans
|
|
62
|
+
* as opposed to programmatically.
|
|
63
|
+
*/
|
|
64
|
+
debugInfo?: DebugInfo;
|
|
65
|
+
};
|
|
66
|
+
export type FingerprintDiffItem = {
|
|
67
|
+
/**
|
|
68
|
+
* The operation type of the diff item.
|
|
69
|
+
*/
|
|
70
|
+
op: 'added';
|
|
71
|
+
/**
|
|
72
|
+
* The added source.
|
|
73
|
+
*/
|
|
74
|
+
addedSource: FingerprintSource;
|
|
75
|
+
} | {
|
|
76
|
+
/**
|
|
77
|
+
* The operation type of the diff item.
|
|
78
|
+
*/
|
|
79
|
+
op: 'removed';
|
|
80
|
+
/**
|
|
81
|
+
* The removed source.
|
|
82
|
+
*/
|
|
83
|
+
removedSource: FingerprintSource;
|
|
84
|
+
} | {
|
|
85
|
+
/**
|
|
86
|
+
* The operation type of the diff item.
|
|
87
|
+
*/
|
|
88
|
+
op: 'changed';
|
|
89
|
+
/**
|
|
90
|
+
* The source before.
|
|
91
|
+
*/
|
|
92
|
+
beforeSource: FingerprintSource;
|
|
93
|
+
/**
|
|
94
|
+
* The source after.
|
|
95
|
+
*/
|
|
96
|
+
afterSource: FingerprintSource;
|
|
97
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Env, Workflow } from '@expo/eas-build-job';
|
|
2
|
+
import { Fingerprint, FingerprintDiffItem } from './fingerprint';
|
|
2
3
|
export type FingerprintOptions = {
|
|
3
4
|
workflow: Workflow;
|
|
4
5
|
platforms: string[];
|
|
@@ -6,11 +7,10 @@ export type FingerprintOptions = {
|
|
|
6
7
|
env: Env | undefined;
|
|
7
8
|
cwd?: string;
|
|
8
9
|
};
|
|
9
|
-
export declare function
|
|
10
|
-
|
|
11
|
-
sources: object[];
|
|
10
|
+
export declare function diffFingerprint(projectDir: string, fingerprint1: Fingerprint, fingerprint2: Fingerprint): FingerprintDiffItem[] | null;
|
|
11
|
+
export declare function createFingerprintAsync(projectDir: string, options: FingerprintOptions): Promise<(Fingerprint & {
|
|
12
12
|
isDebugSource: boolean;
|
|
13
|
-
} | null>;
|
|
13
|
+
}) | null>;
|
|
14
14
|
/**
|
|
15
15
|
* Computes project fingerprints based on provided options and returns a map of fingerprint data keyed by a string.
|
|
16
16
|
*
|
|
@@ -23,8 +23,6 @@ export declare function createFingerprintAsync(projectDir: string, options: Fing
|
|
|
23
23
|
*
|
|
24
24
|
* @throws Will throw an error if fingerprint computation fails.
|
|
25
25
|
*/
|
|
26
|
-
export declare function createFingerprintsByKeyAsync(projectDir: string, fingerprintOptionsByKey: Map<string, FingerprintOptions>): Promise<Map<string, {
|
|
27
|
-
hash: string;
|
|
28
|
-
sources: object[];
|
|
26
|
+
export declare function createFingerprintsByKeyAsync(projectDir: string, fingerprintOptionsByKey: Map<string, FingerprintOptions>): Promise<Map<string, Fingerprint & {
|
|
29
27
|
isDebugSource: boolean;
|
|
30
28
|
}>>;
|
|
@@ -1,12 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createFingerprintsByKeyAsync = exports.createFingerprintAsync = void 0;
|
|
3
|
+
exports.createFingerprintsByKeyAsync = exports.createFingerprintAsync = exports.diffFingerprint = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
6
6
|
const resolve_from_1 = require("resolve-from");
|
|
7
7
|
const mapMapAsync_1 = tslib_1.__importDefault(require("./expodash/mapMapAsync"));
|
|
8
8
|
const log_1 = tslib_1.__importDefault(require("../log"));
|
|
9
9
|
const ora_1 = require("../ora");
|
|
10
|
+
function diffFingerprint(projectDir, fingerprint1, fingerprint2) {
|
|
11
|
+
// @expo/fingerprint is exported in the expo package for SDK 52+
|
|
12
|
+
const fingerprintPath = (0, resolve_from_1.silent)(projectDir, 'expo/fingerprint');
|
|
13
|
+
if (!fingerprintPath) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const Fingerprint = require(fingerprintPath);
|
|
17
|
+
return Fingerprint.diffFingerprints(fingerprint1, fingerprint2);
|
|
18
|
+
}
|
|
19
|
+
exports.diffFingerprint = diffFingerprint;
|
|
10
20
|
async function createFingerprintAsync(projectDir, options) {
|
|
11
21
|
// @expo/fingerprint is exported in the expo package for SDK 52+
|
|
12
22
|
const fingerprintPath = (0, resolve_from_1.silent)(projectDir, 'expo/fingerprint');
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Computes and prints a line-based diff between two strings, displaying changes as chunks.
|
|
3
|
+
*
|
|
4
|
+
* Each chunk contains lines that were added or removed, prefixed with contextual lines
|
|
5
|
+
* from the unchanged parts of the strings. The output is styled similarly to `git diff`
|
|
6
|
+
* with headers indicating line ranges for the changes in the original and modified strings.
|
|
7
|
+
*
|
|
8
|
+
* @param {string} str1 - The original string to compare.
|
|
9
|
+
* @param {string} str2 - The modified string to compare against the original.
|
|
10
|
+
* @param {number} [contextLines=2] - The number of unchanged lines to display before and after each chunk of changes.
|
|
11
|
+
*
|
|
12
|
+
* ### Output:
|
|
13
|
+
* - Each chunk begins with a header in the format `@@ -<original range> +<modified range> @@`.
|
|
14
|
+
* - Removed lines are prefixed with a red `-` and the original line number.
|
|
15
|
+
* - Added lines are prefixed with a green `+` and the modified line number.
|
|
16
|
+
* - Context lines are displayed in gray without a `+` or `-` prefix.
|
|
17
|
+
*
|
|
18
|
+
* ### Notes:
|
|
19
|
+
* - Consecutive changes are grouped into a single chunk if separated by no more than the specified number of context lines.
|
|
20
|
+
*
|
|
21
|
+
* ### Example:
|
|
22
|
+
* ```typescript
|
|
23
|
+
* abridgedDiff("Line1\nLine2\nLine3", "Line1\nLineX\nLine3", 1);
|
|
24
|
+
*
|
|
25
|
+
* Output:
|
|
26
|
+
* `@@ -2,1 +2,1 @@`
|
|
27
|
+
* Line1
|
|
28
|
+
* -Line2
|
|
29
|
+
* +LineX
|
|
30
|
+
* Line3
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export declare function abridgedDiff(str1: string, str2: string, contextLines?: number): void;
|