eas-cli 0.46.0 → 0.48.1
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 +845 -2
- package/build/analytics/rudderstackClient.js +3 -3
- package/build/api.d.ts +25 -1
- package/build/api.js +70 -38
- package/build/build/android/build.js +4 -4
- package/build/build/android/prepareJob.js +2 -2
- package/build/build/android/syncProjectConfiguration.js +7 -7
- package/build/build/android/version.js +3 -3
- package/build/build/build.js +4 -4
- package/build/build/configure.js +3 -3
- package/build/build/createContext.js +2 -2
- package/build/build/ios/credentials.js +1 -1
- package/build/build/ios/graphql.js +1 -1
- package/build/build/ios/prepareJob.js +2 -2
- package/build/build/ios/syncProjectConfiguration.js +3 -3
- package/build/build/ios/version.js +3 -3
- package/build/build/local.js +3 -3
- package/build/build/metadata.js +7 -18
- package/build/build/runBuildAndSubmit.js +3 -3
- package/build/build/utils/appJson.js +3 -3
- package/build/build/utils/credentials.js +2 -2
- package/build/build/utils/devClient.js +3 -3
- package/build/build/utils/formatBuild.js +2 -2
- package/build/build/utils/printBuildInfo.js +5 -5
- package/build/build/utils/repository.js +5 -5
- package/build/build/utils/url.js +1 -1
- package/build/build/utils/version.js +4 -4
- package/build/build/validate.js +3 -3
- package/build/commandUtils/EasCommand.js +2 -2
- package/build/commands/account/login.js +2 -2
- package/build/commands/account/logout.js +2 -2
- package/build/commands/account/view.js +3 -3
- package/build/commands/analytics.js +3 -3
- package/build/commands/branch/create.js +4 -4
- package/build/commands/branch/delete.js +4 -4
- package/build/commands/branch/list.js +5 -5
- package/build/commands/branch/publish.js +1 -1
- package/build/commands/branch/rename.js +4 -4
- package/build/commands/branch/view.js +6 -6
- package/build/commands/build/cancel.js +4 -4
- package/build/commands/build/configure.js +6 -7
- package/build/commands/build/index.js +12 -8
- package/build/commands/build/inspect.js +5 -5
- package/build/commands/build/list.js +3 -3
- package/build/commands/build/view.js +2 -2
- package/build/commands/channel/create.js +12 -11
- package/build/commands/channel/delete.js +3 -3
- package/build/commands/channel/edit.js +38 -32
- package/build/commands/channel/list.js +4 -4
- package/build/commands/channel/rollout.js +50 -41
- package/build/commands/channel/view.d.ts +0 -2
- package/build/commands/channel/view.js +9 -53
- package/build/commands/config.js +3 -3
- package/build/commands/credentials.js +1 -1
- package/build/commands/device/create.js +3 -3
- package/build/commands/device/delete.js +4 -4
- package/build/commands/device/list.js +5 -5
- package/build/commands/device/view.js +3 -3
- package/build/commands/diagnostics.js +3 -3
- package/build/commands/project/info.js +4 -4
- package/build/commands/project/init.js +3 -3
- package/build/commands/secret/create.js +3 -3
- package/build/commands/secret/delete.js +2 -2
- package/build/commands/secret/list.js +5 -5
- package/build/commands/submit.js +4 -4
- package/build/commands/update/configure.d.ts +3 -0
- package/build/commands/update/configure.js +151 -36
- package/build/commands/update/delete.js +6 -6
- package/build/commands/update/index.d.ts +1 -0
- package/build/commands/update/index.js +65 -12
- package/build/commands/update/list.js +6 -6
- package/build/commands/update/view.js +4 -4
- package/build/commands/webhook/create.js +1 -1
- package/build/commands/webhook/delete.js +5 -5
- package/build/commands/webhook/list.js +3 -3
- package/build/commands/webhook/update.js +2 -2
- package/build/commands/webhook/view.js +2 -2
- package/build/credentials/android/AndroidCredentialsProvider.js +2 -2
- package/build/credentials/android/actions/AssignFcm.js +1 -1
- package/build/credentials/android/actions/AssignGoogleServiceAccountKey.js +1 -1
- package/build/credentials/android/actions/BuildCredentialsUtils.js +1 -1
- package/build/credentials/android/actions/CreateFcm.js +1 -1
- package/build/credentials/android/actions/CreateGoogleServiceAccountKey.js +1 -1
- package/build/credentials/android/actions/CreateKeystore.js +1 -1
- package/build/credentials/android/actions/DownloadKeystore.js +3 -3
- package/build/credentials/android/actions/RemoveFcm.js +1 -1
- package/build/credentials/android/actions/RemoveGoogleServiceAccountKey.js +1 -1
- package/build/credentials/android/actions/RemoveKeystore.js +2 -2
- package/build/credentials/android/actions/SetUpBuildCredentials.js +2 -2
- package/build/credentials/android/actions/SetUpBuildCredentialsFromCredentialsJson.js +1 -1
- package/build/credentials/android/actions/SetUpGoogleServiceAccountKey.js +2 -2
- package/build/credentials/android/actions/UpdateCredentialsJson.js +1 -1
- package/build/credentials/android/actions/UseExistingGoogleServiceAccountKey.js +1 -1
- package/build/credentials/android/api/graphql/mutations/AndroidAppBuildCredentialsMutation.js +2 -2
- package/build/credentials/android/api/graphql/mutations/AndroidAppCredentialsMutation.js +2 -2
- package/build/credentials/android/api/graphql/mutations/AndroidFcmMutation.js +2 -2
- package/build/credentials/android/api/graphql/mutations/AndroidKeystoreMutation.js +2 -2
- package/build/credentials/android/api/graphql/mutations/GoogleServiceAccountKeyMutation.js +2 -2
- package/build/credentials/android/api/graphql/queries/AndroidAppCredentialsQuery.js +2 -2
- package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.js +1 -1
- package/build/credentials/android/utils/googleServiceAccountKey.js +6 -6
- package/build/credentials/android/utils/keystore.js +9 -12
- package/build/credentials/android/utils/keystoreNew.js +2 -2
- package/build/credentials/android/utils/printCredentials.js +3 -3
- package/build/credentials/context.js +7 -7
- package/build/credentials/credentialsJson/read.js +2 -2
- package/build/credentials/credentialsJson/types.js +1 -1
- package/build/credentials/credentialsJson/update.js +6 -6
- package/build/credentials/credentialsJson/utils.js +1 -1
- package/build/credentials/ios/IosCredentialsProvider.js +2 -2
- package/build/credentials/ios/actions/AscApiKeyUtils.js +4 -4
- package/build/credentials/ios/actions/AssignAscApiKey.js +1 -1
- package/build/credentials/ios/actions/AssignPushKey.js +1 -1
- package/build/credentials/ios/actions/BuildCredentialsUtils.js +1 -1
- package/build/credentials/ios/actions/ConfigureProvisioningProfile.js +3 -3
- package/build/credentials/ios/actions/CreateAscApiKey.js +1 -1
- package/build/credentials/ios/actions/CreateDistributionCertificate.js +1 -1
- package/build/credentials/ios/actions/CreateProvisioningProfile.js +3 -3
- package/build/credentials/ios/actions/CreatePushKey.js +1 -1
- package/build/credentials/ios/actions/DistributionCertificateUtils.js +4 -4
- package/build/credentials/ios/actions/ProvisioningProfileUtils.js +1 -1
- package/build/credentials/ios/actions/PushKeyUtils.js +2 -2
- package/build/credentials/ios/actions/RemoveAscApiKey.d.ts +1 -2
- package/build/credentials/ios/actions/RemoveAscApiKey.js +3 -4
- package/build/credentials/ios/actions/RemoveDistributionCertificate.js +1 -1
- package/build/credentials/ios/actions/RemoveProvisioningProfile.js +2 -2
- package/build/credentials/ios/actions/RemovePushKey.d.ts +1 -2
- package/build/credentials/ios/actions/RemovePushKey.js +3 -4
- package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +6 -6
- package/build/credentials/ios/actions/SetUpAscApiKey.js +3 -3
- package/build/credentials/ios/actions/SetUpBuildCredentials.js +3 -3
- package/build/credentials/ios/actions/SetUpBuildCredentialsFromCredentialsJson.js +2 -2
- package/build/credentials/ios/actions/SetUpDistributionCertificate.js +4 -4
- package/build/credentials/ios/actions/SetUpInternalProvisioningProfile.js +4 -1
- package/build/credentials/ios/actions/SetUpProvisioningProfile.js +1 -1
- package/build/credentials/ios/actions/SetUpPushKey.js +3 -3
- package/build/credentials/ios/actions/SetUpSubmissionCredentials.js +4 -4
- package/build/credentials/ios/actions/SetUpTargetBuildCredentials.js +1 -1
- package/build/credentials/ios/actions/SetUpTargetBuildCredentialsFromCredentialsJson.js +3 -3
- package/build/credentials/ios/actions/UpdateCredentialsJson.js +1 -1
- package/build/credentials/ios/api/GraphqlClient.js +1 -1
- package/build/credentials/ios/api/graphql/mutations/AppStoreConnectApiKeyMutation.js +2 -2
- package/build/credentials/ios/api/graphql/mutations/AppleAppIdentifierMutation.js +2 -2
- package/build/credentials/ios/api/graphql/mutations/AppleDeviceMutation.js +1 -1
- package/build/credentials/ios/api/graphql/mutations/AppleDeviceRegistrationRequestMutation.js +1 -1
- package/build/credentials/ios/api/graphql/mutations/AppleDistributionCertificateMutation.js +2 -2
- package/build/credentials/ios/api/graphql/mutations/AppleProvisioningProfileMutation.js +1 -1
- package/build/credentials/ios/api/graphql/mutations/ApplePushKeyMutation.js +2 -2
- package/build/credentials/ios/api/graphql/mutations/AppleTeamMutation.js +1 -1
- package/build/credentials/ios/api/graphql/mutations/IosAppBuildCredentialsMutation.js +2 -2
- package/build/credentials/ios/api/graphql/mutations/IosAppCredentialsMutation.js +2 -2
- package/build/credentials/ios/api/graphql/queries/AppQuery.js +2 -2
- package/build/credentials/ios/api/graphql/queries/AppStoreConnectApiKeyQuery.js +1 -1
- package/build/credentials/ios/api/graphql/queries/AppleAppIdentifierQuery.js +1 -1
- package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.js +2 -2
- package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.js +2 -2
- package/build/credentials/ios/api/graphql/queries/AppleProvisioningProfileQuery.js +2 -2
- package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.js +1 -1
- package/build/credentials/ios/api/graphql/queries/AppleTeamQuery.js +1 -1
- package/build/credentials/ios/api/graphql/queries/IosAppBuildCredentialsQuery.js +2 -2
- package/build/credentials/ios/api/graphql/queries/IosAppCredentialsQuery.js +2 -2
- package/build/credentials/ios/appstore/AppStoreApi.d.ts +1 -1
- package/build/credentials/ios/appstore/AppStoreApi.js +2 -2
- package/build/credentials/ios/appstore/Credentials.js +1 -1
- package/build/credentials/ios/appstore/ascApiKey.js +1 -1
- package/build/credentials/ios/appstore/authenticate.js +3 -3
- package/build/credentials/ios/appstore/bundleIdCapabilities.js +2 -2
- package/build/credentials/ios/appstore/capabilityIdentifiers.js +1 -1
- package/build/credentials/ios/appstore/contractMessages.js +2 -2
- package/build/credentials/ios/appstore/ensureAppExists.js +2 -2
- package/build/credentials/ios/appstore/keychain.js +1 -1
- package/build/credentials/ios/appstore/provisioningProfile.d.ts +1 -1
- package/build/credentials/ios/appstore/provisioningProfile.js +1 -1
- package/build/credentials/ios/appstore/pushKey.js +3 -3
- package/build/credentials/ios/appstore/resolveCredentials.js +5 -5
- package/build/credentials/ios/credentials.js +1 -1
- package/build/credentials/ios/utils/convertHTMLToASCII.js +4 -4
- package/build/credentials/ios/utils/p12Certificate.js +1 -1
- package/build/credentials/ios/utils/printCredentials.js +4 -4
- package/build/credentials/ios/utils/provisioningProfile.js +1 -1
- package/build/credentials/ios/validators/validateProvisioningProfile.js +5 -5
- package/build/credentials/manager/HelperActions.js +1 -1
- package/build/credentials/manager/ManageAndroid.js +2 -2
- package/build/credentials/manager/ManageIos.js +3 -3
- package/build/credentials/manager/SelectAndroidBuildCredentials.js +1 -1
- package/build/credentials/manager/SelectBuildProfileFromEasJson.js +1 -1
- package/build/credentials/utils/promptForCredentials.js +5 -6
- package/build/devices/actions/create/action.js +2 -2
- package/build/devices/actions/create/inputMethod.js +3 -3
- package/build/devices/actions/create/registrationUrlMethod.js +4 -4
- package/build/devices/manager.js +4 -4
- package/build/devices/utils/formatDevice.js +1 -1
- package/build/fetch.d.ts +7 -0
- package/build/fetch.js +21 -0
- package/build/graphql/client.js +2 -5
- package/build/graphql/generated.d.ts +770 -703
- package/build/graphql/generated.js +6 -1
- package/build/graphql/mutations/AppMutation.js +2 -2
- package/build/graphql/mutations/BuildMutation.js +2 -2
- package/build/graphql/mutations/EnvironmentSecretMutation.js +1 -1
- package/build/graphql/mutations/KeystoreGenerationUrlMutation.js +1 -1
- package/build/graphql/mutations/PublishMutation.d.ts +2 -1
- package/build/graphql/mutations/PublishMutation.js +26 -1
- package/build/graphql/mutations/SubmissionMutation.js +2 -2
- package/build/graphql/mutations/UploadSessionMutation.js +1 -1
- package/build/graphql/mutations/WebhookMutation.js +1 -1
- package/build/graphql/queries/BranchQuery.d.ts +7 -0
- package/build/graphql/queries/BranchQuery.js +29 -0
- package/build/graphql/queries/BuildQuery.js +1 -1
- package/build/graphql/queries/ChannelQuery.d.ts +4 -0
- package/build/graphql/queries/ChannelQuery.js +49 -0
- package/build/graphql/queries/EnvironmentSecretsQuery.js +1 -1
- package/build/graphql/queries/ProjectQuery.js +1 -1
- package/build/graphql/queries/PublishQuery.js +1 -1
- package/build/graphql/queries/SubmissionQuery.js +1 -1
- package/build/graphql/queries/UpdateQuery.js +1 -1
- package/build/graphql/queries/UserQuery.js +1 -1
- package/build/graphql/queries/WebhookQuery.js +1 -1
- package/build/graphql/types/App.js +1 -1
- package/build/graphql/types/Build.js +1 -1
- package/build/graphql/types/EnvironmentSecret.js +1 -1
- package/build/graphql/types/Submission.js +1 -1
- package/build/graphql/types/UpdateBranch.js +1 -1
- package/build/graphql/types/Webhook.js +1 -1
- package/build/graphql/types/credentials/AndroidAppBuildCredentials.js +1 -1
- package/build/graphql/types/credentials/AndroidAppCredentials.js +1 -1
- package/build/graphql/types/credentials/AndroidFcm.js +1 -1
- package/build/graphql/types/credentials/AndroidKeystore.js +1 -1
- package/build/graphql/types/credentials/AppStoreConnectApiKey.js +1 -1
- package/build/graphql/types/credentials/AppleAppIdentifier.js +1 -1
- package/build/graphql/types/credentials/AppleDevice.js +1 -1
- package/build/graphql/types/credentials/AppleDeviceRegistrationRequest.js +1 -1
- package/build/graphql/types/credentials/AppleDistributionCertificate.js +1 -1
- package/build/graphql/types/credentials/AppleProvisioningProfile.js +1 -1
- package/build/graphql/types/credentials/ApplePushKey.js +1 -1
- package/build/graphql/types/credentials/AppleTeam.js +1 -1
- package/build/graphql/types/credentials/GoogleServiceAccountKey.js +1 -1
- package/build/graphql/types/credentials/IosAppBuildCredentials.js +1 -1
- package/build/graphql/types/credentials/IosAppCredentials.js +1 -1
- package/build/log.js +4 -4
- package/build/ora.js +2 -2
- package/build/platform.js +1 -1
- package/build/project/android/applicationId.js +6 -6
- package/build/project/android/gradle.js +2 -2
- package/build/project/android/gradleUtils.js +2 -2
- package/build/project/ensureProjectExists.js +3 -3
- package/build/project/expoSdk.js +3 -3
- package/build/project/ios/bundleIdentifier.js +4 -4
- package/build/project/ios/scheme.js +3 -3
- package/build/project/metroConfig.js +3 -3
- package/build/project/projectUtils.d.ts +3 -5
- package/build/project/projectUtils.js +37 -38
- package/build/project/publish.js +8 -8
- package/build/project/workflow.js +2 -2
- package/build/prompts.js +1 -1
- package/build/submit/ArchiveSource.js +3 -3
- package/build/submit/BaseSubmitter.js +1 -1
- package/build/submit/android/AndroidSubmitCommand.js +3 -3
- package/build/submit/android/AndroidSubmitter.js +3 -3
- package/build/submit/android/ServiceAccountSource.js +4 -4
- package/build/submit/ios/AppProduce.js +2 -2
- package/build/submit/ios/AppSpecificPasswordSource.js +3 -4
- package/build/submit/ios/AscApiKeySource.js +2 -2
- package/build/submit/ios/CredentialsServiceSource.js +2 -2
- package/build/submit/ios/IosSubmitCommand.js +5 -5
- package/build/submit/ios/IosSubmitter.js +3 -3
- package/build/submit/ios/utils/language.js +1 -1
- package/build/submit/submit.js +4 -4
- package/build/submit/utils/errors.js +1 -1
- package/build/submit/utils/files.js +1 -1
- package/build/submit/utils/logs.js +5 -5
- package/build/submit/utils/summary.js +3 -3
- package/build/submit/utils/urls.js +2 -2
- package/build/submit/utils/wait.js +2 -2
- package/build/{build → update}/android/UpdatesModule.d.ts +0 -0
- package/build/{build → update}/android/UpdatesModule.js +4 -3
- package/build/{build → update}/ios/UpdatesModule.d.ts +0 -0
- package/build/{build → update}/ios/UpdatesModule.js +7 -8
- package/build/update/utils.d.ts +3 -0
- package/build/update/utils.js +20 -2
- package/build/uploads.d.ts +2 -10
- package/build/uploads.js +32 -12
- package/build/user/User.js +3 -5
- package/build/user/UserSettings.js +2 -2
- package/build/user/actions.js +5 -5
- package/build/user/otp.js +6 -8
- package/build/user/sessionStorage.js +1 -1
- package/build/utils/code-signing.d.ts +29 -0
- package/build/utils/code-signing.js +165 -0
- package/build/utils/expoCli.js +4 -4
- package/build/utils/files.js +3 -3
- package/build/utils/formatFields.js +1 -1
- package/build/utils/json.js +2 -2
- package/build/utils/paths.js +2 -2
- package/build/utils/plist.js +3 -3
- package/build/utils/profiles.js +2 -2
- package/build/utils/progress.d.ts +6 -3
- package/build/utils/progress.js +1 -1
- package/build/vcs/clients/git.js +3 -3
- package/build/vcs/clients/gitNoCommit.js +3 -3
- package/build/vcs/git.js +1 -1
- package/build/vcs/index.js +3 -3
- package/build/vcs/local.js +4 -4
- package/build/webhooks/formatWebhook.js +1 -1
- package/build/webhooks/input.js +2 -2
- package/oclif.manifest.json +1 -1
- package/package.json +33 -27
- package/build/ApiV2Error.d.ts +0 -16
- package/build/ApiV2Error.js +0 -14
- package/build/build/utils/updates.d.ts +0 -3
- package/build/build/utils/updates.js +0 -15
|
@@ -3,45 +3,169 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const config_1 = require("@expo/config");
|
|
5
5
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
6
|
-
const
|
|
6
|
+
const core_1 = require("@oclif/core");
|
|
7
|
+
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
8
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
9
|
const api_1 = require("../../api");
|
|
8
|
-
const EasCommand_1 =
|
|
9
|
-
const
|
|
10
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
11
|
+
const generated_1 = require("../../graphql/generated");
|
|
12
|
+
const log_1 = tslib_1.__importStar(require("../../log"));
|
|
13
|
+
const platform_1 = require("../../platform");
|
|
10
14
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
11
15
|
const workflow_1 = require("../../project/workflow");
|
|
16
|
+
const UpdatesModule_1 = require("../../update/android/UpdatesModule");
|
|
17
|
+
const UpdatesModule_2 = require("../../update/ios/UpdatesModule");
|
|
12
18
|
const DEFAULT_MANAGED_RUNTIME_VERSION = { policy: 'sdkVersion' };
|
|
13
19
|
const DEFAULT_BARE_RUNTIME_VERSION = '1.0.0';
|
|
14
|
-
|
|
15
|
-
|
|
20
|
+
class UpdateConfigure extends EasCommand_1.default {
|
|
21
|
+
async runAsync() {
|
|
22
|
+
log_1.default.log('💡 The following process will configure your project to run EAS Update. These changes only apply to your local project files and you can safely revert them at any time.');
|
|
23
|
+
const { flags } = await this.parse(UpdateConfigure);
|
|
24
|
+
const platform = flags.platform;
|
|
25
|
+
const projectDir = await (0, projectUtils_1.findProjectRootAsync)();
|
|
26
|
+
const { exp } = (0, config_1.getConfig)(projectDir, {
|
|
27
|
+
skipSDKVersionRequirement: true,
|
|
28
|
+
});
|
|
29
|
+
if (!(0, projectUtils_1.isExpoUpdatesInstalledOrAvailable)(projectDir, exp.sdkVersion)) {
|
|
30
|
+
await (0, projectUtils_1.installExpoUpdatesAsync)(projectDir);
|
|
31
|
+
}
|
|
32
|
+
const [androidWorkflow, iosWorkflow] = await Promise.all([
|
|
33
|
+
(0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.ANDROID),
|
|
34
|
+
(0, workflow_1.resolveWorkflowAsync)(projectDir, eas_build_job_1.Platform.IOS),
|
|
35
|
+
]);
|
|
36
|
+
const updatedExp = await configureAppJSONForEASUpdateAsync({
|
|
37
|
+
projectDir,
|
|
38
|
+
exp,
|
|
39
|
+
platform,
|
|
40
|
+
workflows: {
|
|
41
|
+
android: androidWorkflow,
|
|
42
|
+
ios: iosWorkflow,
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
log_1.default.withTick(`Configured ${chalk_1.default.bold('app.json')} for EAS Update`);
|
|
46
|
+
// configure native files for EAS Update
|
|
47
|
+
if ([platform_1.RequestedPlatform.Android, platform_1.RequestedPlatform.All].includes(platform) &&
|
|
48
|
+
androidWorkflow === eas_build_job_1.Workflow.GENERIC) {
|
|
49
|
+
await (0, UpdatesModule_1.syncUpdatesConfigurationAsync)(projectDir, updatedExp);
|
|
50
|
+
log_1.default.withTick(`Configured ${chalk_1.default.bold('AndroidManifest.xml')} for EAS Update`);
|
|
51
|
+
}
|
|
52
|
+
if ([platform_1.RequestedPlatform.Ios, platform_1.RequestedPlatform.All].includes(platform) &&
|
|
53
|
+
iosWorkflow === eas_build_job_1.Workflow.GENERIC) {
|
|
54
|
+
await (0, UpdatesModule_2.syncUpdatesConfigurationAsync)(projectDir, updatedExp);
|
|
55
|
+
log_1.default.withTick(`Configured ${chalk_1.default.bold('Expo.plist')} for EAS Update`);
|
|
56
|
+
}
|
|
57
|
+
log_1.default.addNewLineIfNone();
|
|
58
|
+
log_1.default.log(`🎉 Your app is configured to run EAS Update!`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
exports.default = UpdateConfigure;
|
|
62
|
+
UpdateConfigure.description = 'configure the project to support EAS Update';
|
|
63
|
+
UpdateConfigure.flags = {
|
|
64
|
+
platform: core_1.Flags.enum({
|
|
65
|
+
description: 'Platform to configure',
|
|
66
|
+
char: 'p',
|
|
67
|
+
options: ['android', 'ios', 'all'],
|
|
68
|
+
default: 'all',
|
|
69
|
+
}),
|
|
70
|
+
};
|
|
71
|
+
async function configureAppJSONForEASUpdateAsync({ projectDir, exp, platform, workflows, }) {
|
|
72
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
16
73
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
17
74
|
const easUpdateURL = (0, api_1.getEASUpdateURL)(projectId);
|
|
18
|
-
const
|
|
19
|
-
const
|
|
75
|
+
const updates = { ...exp.updates, url: easUpdateURL };
|
|
76
|
+
const androidDefaultRuntimeVersion = workflows['android'] === eas_build_job_1.Workflow.GENERIC
|
|
77
|
+
? DEFAULT_BARE_RUNTIME_VERSION
|
|
78
|
+
: DEFAULT_MANAGED_RUNTIME_VERSION;
|
|
79
|
+
const iosDefaultRuntimeVersion = workflows['ios'] === eas_build_job_1.Workflow.GENERIC
|
|
20
80
|
? DEFAULT_BARE_RUNTIME_VERSION
|
|
21
81
|
: DEFAULT_MANAGED_RUNTIME_VERSION;
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
82
|
+
const newAndroidRuntimeVersion = (_c = (_b = (_a = exp.android) === null || _a === void 0 ? void 0 : _a.runtimeVersion) !== null && _b !== void 0 ? _b : exp.runtimeVersion) !== null && _c !== void 0 ? _c : androidDefaultRuntimeVersion;
|
|
83
|
+
const newIosRuntimeVersion = (_f = (_e = (_d = exp.ios) === null || _d === void 0 ? void 0 : _d.runtimeVersion) !== null && _e !== void 0 ? _e : exp.runtimeVersion) !== null && _f !== void 0 ? _f : iosDefaultRuntimeVersion;
|
|
84
|
+
let newConfig;
|
|
85
|
+
switch (platform) {
|
|
86
|
+
case platform_1.RequestedPlatform.All: {
|
|
87
|
+
if (isRuntimeEqual(newAndroidRuntimeVersion, newIosRuntimeVersion)) {
|
|
88
|
+
newConfig = {
|
|
89
|
+
runtimeVersion: newAndroidRuntimeVersion,
|
|
90
|
+
android: {
|
|
91
|
+
...exp.android,
|
|
92
|
+
runtimeVersion: undefined,
|
|
93
|
+
},
|
|
94
|
+
ios: { ...exp.ios, runtimeVersion: undefined },
|
|
95
|
+
updates,
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
newConfig = {
|
|
100
|
+
runtimeVersion: undefined,
|
|
101
|
+
android: {
|
|
102
|
+
...exp.android,
|
|
103
|
+
runtimeVersion: newAndroidRuntimeVersion,
|
|
104
|
+
},
|
|
105
|
+
ios: {
|
|
106
|
+
...exp.ios,
|
|
107
|
+
runtimeVersion: newIosRuntimeVersion,
|
|
108
|
+
},
|
|
109
|
+
updates,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
break;
|
|
113
|
+
}
|
|
114
|
+
case platform_1.RequestedPlatform.Android: {
|
|
115
|
+
newConfig = {
|
|
116
|
+
android: {
|
|
117
|
+
...exp.android,
|
|
118
|
+
runtimeVersion: newAndroidRuntimeVersion,
|
|
119
|
+
},
|
|
120
|
+
updates,
|
|
121
|
+
};
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
case platform_1.RequestedPlatform.Ios: {
|
|
125
|
+
newConfig = {
|
|
126
|
+
ios: {
|
|
127
|
+
...exp.ios,
|
|
128
|
+
runtimeVersion: newIosRuntimeVersion,
|
|
129
|
+
},
|
|
130
|
+
updates,
|
|
131
|
+
};
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
default: {
|
|
135
|
+
throw new Error(`Unsupported platform: ${platform}`);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
const result = await (0, config_1.modifyConfigAsync)(projectDir, newConfig);
|
|
139
|
+
const prexistingAndroidRuntimeVersion = (_h = (_g = exp.android) === null || _g === void 0 ? void 0 : _g.runtimeVersion) !== null && _h !== void 0 ? _h : exp.runtimeVersion;
|
|
140
|
+
const prexistingIosRuntimeVersion = (_k = (_j = exp.ios) === null || _j === void 0 ? void 0 : _j.runtimeVersion) !== null && _k !== void 0 ? _k : exp.runtimeVersion;
|
|
26
141
|
switch (result.type) {
|
|
27
142
|
case 'success':
|
|
28
|
-
if ((
|
|
143
|
+
if ((_l = exp.updates) === null || _l === void 0 ? void 0 : _l.url) {
|
|
29
144
|
if (exp.updates.url !== easUpdateURL) {
|
|
30
|
-
log_1.default.withTick(`Overwrote "${(
|
|
145
|
+
log_1.default.withTick(`Overwrote "${(_m = exp.updates) === null || _m === void 0 ? void 0 : _m.url}" with "${easUpdateURL}" for the updates.url value in app.json`);
|
|
31
146
|
}
|
|
32
147
|
}
|
|
33
148
|
else {
|
|
34
149
|
log_1.default.withTick(`Set updates.url value, to "${easUpdateURL}" in app.json`);
|
|
35
150
|
}
|
|
36
|
-
if (!
|
|
37
|
-
|
|
151
|
+
if (!prexistingAndroidRuntimeVersion &&
|
|
152
|
+
[platform_1.RequestedPlatform.Android, platform_1.RequestedPlatform.All].includes(platform)) {
|
|
153
|
+
log_1.default.withTick(`Set ${platform_1.appPlatformDisplayNames[generated_1.AppPlatform.Android]} runtimeVersion to "${JSON.stringify((_p = (_o = newConfig.android) === null || _o === void 0 ? void 0 : _o.runtimeVersion) !== null && _p !== void 0 ? _p : newConfig.runtimeVersion)}" in app.json`);
|
|
154
|
+
}
|
|
155
|
+
if (!prexistingIosRuntimeVersion &&
|
|
156
|
+
[platform_1.RequestedPlatform.Ios, platform_1.RequestedPlatform.All].includes(platform)) {
|
|
157
|
+
log_1.default.withTick(`Set ${platform_1.appPlatformDisplayNames[generated_1.AppPlatform.Ios]} runtimeVersion to "${JSON.stringify((_r = (_q = newConfig.ios) === null || _q === void 0 ? void 0 : _q.runtimeVersion) !== null && _r !== void 0 ? _r : newConfig.runtimeVersion)}" in app.json`);
|
|
38
158
|
}
|
|
39
159
|
break;
|
|
40
160
|
case 'warn': {
|
|
41
161
|
log_1.default.addNewLineIfNone();
|
|
42
162
|
log_1.default.warn(`It looks like you are using a dynamic configuration! ${(0, log_1.learnMore)('https://docs.expo.dev/workflow/configuration/#dynamic-configuration-with-appconfigjs)')}`);
|
|
43
163
|
log_1.default.warn(`In order to finish configuring your project for EAS Update, you are going to need manually add the following to your app.config.js:\n${(0, log_1.learnMore)('https://expo.fyi/eas-update-config.md')}\n`);
|
|
44
|
-
log_1.default.log(chalk_1.default.bold(
|
|
164
|
+
log_1.default.log(chalk_1.default.bold(JSON.stringify(newConfig, null, 2)));
|
|
165
|
+
log_1.default.addNewLineIfNone();
|
|
166
|
+
if (workflows['android'] === eas_build_job_1.Workflow.GENERIC || workflows['ios'] === eas_build_job_1.Workflow.GENERIC) {
|
|
167
|
+
log_1.default.warn(`You will also have to manually edit the projects ${chalk_1.default.bold('Expo.plist/AndroidManifest.xml')}. ${(0, log_1.learnMore)('https://expo.fyi/eas-update-config.md#native-configuration')}`);
|
|
168
|
+
}
|
|
45
169
|
log_1.default.addNewLineIfNone();
|
|
46
170
|
throw new Error(result.message);
|
|
47
171
|
}
|
|
@@ -50,26 +174,17 @@ async function configureProjectForEASUpdateAsync(projectDir, exp, isBare) {
|
|
|
50
174
|
default:
|
|
51
175
|
throw new Error('Unexpected result type from modifyConfigAsync');
|
|
52
176
|
}
|
|
177
|
+
(0, assert_1.default)(result.config, 'A successful result should have a config');
|
|
178
|
+
return result.config.expo;
|
|
53
179
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
const isBare = hasAndroidNativeProject || hasIosNativeProject;
|
|
64
|
-
await configureProjectForEASUpdateAsync(projectDir, exp, isBare);
|
|
65
|
-
log_1.default.addNewLineIfNone();
|
|
66
|
-
if (isBare) {
|
|
67
|
-
log_1.default.log(`🧐 It seems you are on the bare workflow! Please also update your native files. You can do this by either running ${chalk_1.default.bold('eas build:configure')} or manually editing Expo.plist/AndroidManifest.xml. ${(0, log_1.learnMore)('https://expo.fyi/eas-update-config.md#native-configuration')}`);
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
log_1.default.log(`🎉 Your app is configured to run EAS Update!`);
|
|
71
|
-
}
|
|
180
|
+
function isRuntimeEqual(runtimeVersionA, runtimeVersionB) {
|
|
181
|
+
if (typeof runtimeVersionA === 'string' && typeof runtimeVersionB === 'string') {
|
|
182
|
+
return runtimeVersionA === runtimeVersionB;
|
|
183
|
+
}
|
|
184
|
+
else if (typeof runtimeVersionA === 'object' && typeof runtimeVersionB === 'object') {
|
|
185
|
+
return runtimeVersionA.policy === runtimeVersionB.policy;
|
|
186
|
+
}
|
|
187
|
+
else {
|
|
188
|
+
return false;
|
|
72
189
|
}
|
|
73
190
|
}
|
|
74
|
-
exports.default = UpdateConfigure;
|
|
75
|
-
UpdateConfigure.description = 'configure the project to support EAS Update';
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const core_1 = require("@oclif/core");
|
|
5
|
-
const chalk_1 =
|
|
6
|
-
const graphql_tag_1 =
|
|
7
|
-
const EasCommand_1 =
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
7
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
8
8
|
const client_1 = require("../../graphql/client");
|
|
9
|
-
const log_1 =
|
|
9
|
+
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
10
10
|
const prompts_1 = require("../../prompts");
|
|
11
11
|
const json_1 = require("../../utils/json");
|
|
12
12
|
async function deleteUpdateGroupAsync({ group, }) {
|
|
@@ -32,8 +32,8 @@ class UpdateDelete extends EasCommand_1.default {
|
|
|
32
32
|
const shouldAbort = await (0, prompts_1.confirmAsync)({
|
|
33
33
|
message: `🚨${chalk_1.default.red('CAUTION')}🚨\n\n` +
|
|
34
34
|
`${chalk_1.default.yellow(`This will delete all of the updates in group "${group}".`)} ${chalk_1.default.red('This is a permanent operation.')}\n\n` +
|
|
35
|
-
`If you want to revert to a previous publish, you should use '
|
|
36
|
-
`An update group should only be deleted in an emergency like an accidental publish of a secret. In this case user '
|
|
35
|
+
`If you want to revert to a previous publish, you should use 'update --republish' targeted at the last working update group instead.\n\n` +
|
|
36
|
+
`An update group should only be deleted in an emergency like an accidental publish of a secret. In this case user 'update --republish' to revert to the last working update group first and then proceed with the deletion. Deleting an update group when it is the latest publish can lead to inconsistent cacheing behavior by clients.\n\n` +
|
|
37
37
|
`Would you like to abort?`,
|
|
38
38
|
});
|
|
39
39
|
if (shouldAbort) {
|
|
@@ -13,6 +13,7 @@ export default class UpdatePublish extends EasCommand {
|
|
|
13
13
|
platform: import("@oclif/core/lib/interfaces").OptionFlag<string>;
|
|
14
14
|
json: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
15
15
|
auto: import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
|
|
16
|
+
'private-key-path': import("@oclif/core/lib/interfaces").OptionFlag<string | undefined>;
|
|
16
17
|
};
|
|
17
18
|
runAsync(): Promise<void>;
|
|
18
19
|
}
|
|
@@ -6,24 +6,27 @@ const config_1 = require("@expo/config");
|
|
|
6
6
|
const config_plugins_1 = require("@expo/config-plugins");
|
|
7
7
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
8
8
|
const core_1 = require("@oclif/core");
|
|
9
|
-
const assert_1 =
|
|
10
|
-
const chalk_1 =
|
|
11
|
-
const dateformat_1 =
|
|
12
|
-
const graphql_tag_1 =
|
|
9
|
+
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
10
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
11
|
+
const dateformat_1 = tslib_1.__importDefault(require("dateformat"));
|
|
12
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
13
|
+
const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
|
|
13
14
|
const api_1 = require("../../api");
|
|
14
|
-
const EasCommand_1 =
|
|
15
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
16
|
+
const fetch_1 = tslib_1.__importDefault(require("../../fetch"));
|
|
15
17
|
const client_1 = require("../../graphql/client");
|
|
16
18
|
const PublishMutation_1 = require("../../graphql/mutations/PublishMutation");
|
|
17
19
|
const UpdateQuery_1 = require("../../graphql/queries/UpdateQuery");
|
|
18
|
-
const log_1 =
|
|
20
|
+
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
19
21
|
const ora_1 = require("../../ora");
|
|
20
22
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
21
23
|
const publish_1 = require("../../project/publish");
|
|
22
24
|
const workflow_1 = require("../../project/workflow");
|
|
23
25
|
const prompts_1 = require("../../prompts");
|
|
24
26
|
const utils_1 = require("../../update/utils");
|
|
25
|
-
const
|
|
26
|
-
const
|
|
27
|
+
const code_signing_1 = require("../../utils/code-signing");
|
|
28
|
+
const uniqBy_1 = tslib_1.__importDefault(require("../../utils/expodash/uniqBy"));
|
|
29
|
+
const formatFields_1 = tslib_1.__importDefault(require("../../utils/formatFields"));
|
|
27
30
|
const json_1 = require("../../utils/json");
|
|
28
31
|
const vcs_1 = require("../../vcs");
|
|
29
32
|
const create_1 = require("../branch/create");
|
|
@@ -86,7 +89,7 @@ async function ensureBranchExistsAsync({ appId, name: branchName, }) {
|
|
|
86
89
|
class UpdatePublish extends EasCommand_1.default {
|
|
87
90
|
async runAsync() {
|
|
88
91
|
var _a, _b, _c;
|
|
89
|
-
let { flags: { branch: branchName, json: jsonFlag, auto: autoFlag, message, republish, group, 'input-dir': inputDir, 'skip-bundler': skipBundler, platform, }, } = await this.parse(UpdatePublish);
|
|
92
|
+
let { flags: { branch: branchName, json: jsonFlag, auto: autoFlag, message, republish, group, 'input-dir': inputDir, 'skip-bundler': skipBundler, platform, 'private-key-path': privateKeyPath, }, } = await this.parse(UpdatePublish);
|
|
90
93
|
if (jsonFlag) {
|
|
91
94
|
(0, json_1.enableJsonOutput)();
|
|
92
95
|
}
|
|
@@ -98,6 +101,21 @@ class UpdatePublish extends EasCommand_1.default {
|
|
|
98
101
|
skipSDKVersionRequirement: true,
|
|
99
102
|
isPublicConfig: true,
|
|
100
103
|
});
|
|
104
|
+
const codeSigningInfo = await (0, code_signing_1.getCodeSigningInfoAsync)(exp, privateKeyPath);
|
|
105
|
+
if (!(0, projectUtils_1.isExpoUpdatesInstalledOrAvailable)(projectDir, exp.sdkVersion)) {
|
|
106
|
+
const install = await (0, prompts_1.confirmAsync)({
|
|
107
|
+
message: `You are creating an update which requires ${chalk_1.default.bold('expo-updates')} to be installed in your app.\n Do you want EAS CLI to install it for you?`,
|
|
108
|
+
instructions: 'The command will abort unless you agree.',
|
|
109
|
+
});
|
|
110
|
+
if (install) {
|
|
111
|
+
await (0, projectUtils_1.installExpoUpdatesAsync)(projectDir);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
core_1.Errors.error(`Install ${chalk_1.default.bold('expo-updates')} manually and come back later.`, {
|
|
115
|
+
exit: 1,
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
101
119
|
const runtimeVersions = await getRuntimeVersionObjectAsync(exp, platformFlag, projectDir);
|
|
102
120
|
const projectId = await (0, projectUtils_1.getProjectIdAsync)(exp);
|
|
103
121
|
await checkEASUpdateURLIsSetAsync(exp);
|
|
@@ -262,19 +280,47 @@ class UpdatePublish extends EasCommand_1.default {
|
|
|
262
280
|
unsortedUpdateInfoGroups[platform],
|
|
263
281
|
]));
|
|
264
282
|
if (republish && !oldRuntimeVersion) {
|
|
265
|
-
throw new Error('
|
|
283
|
+
throw new Error('Cannot find the runtime version of the update group that is being republished.');
|
|
266
284
|
}
|
|
267
285
|
return {
|
|
268
286
|
branchId,
|
|
269
287
|
updateInfoGroup: localUpdateInfoGroup,
|
|
270
288
|
runtimeVersion: republish ? oldRuntimeVersion : runtime,
|
|
271
289
|
message,
|
|
290
|
+
awaitingCodeSigningInfo: !!codeSigningInfo,
|
|
272
291
|
};
|
|
273
292
|
});
|
|
274
293
|
let newUpdates;
|
|
275
294
|
const publishSpinner = (0, ora_1.ora)('Publishing...').start();
|
|
276
295
|
try {
|
|
277
296
|
newUpdates = await PublishMutation_1.PublishMutation.publishUpdateGroupAsync(updateGroups);
|
|
297
|
+
if (codeSigningInfo) {
|
|
298
|
+
log_1.default.log('🔒 Signing updates');
|
|
299
|
+
const updatesTemp = [...newUpdates];
|
|
300
|
+
const updateGroupsAndTheirUpdates = updateGroups.map(updateGroup => {
|
|
301
|
+
const newUpdates = updatesTemp.splice(0, Object.keys(updateGroup.updateInfoGroup).length);
|
|
302
|
+
return {
|
|
303
|
+
updateGroup,
|
|
304
|
+
newUpdates,
|
|
305
|
+
};
|
|
306
|
+
});
|
|
307
|
+
await Promise.all(updateGroupsAndTheirUpdates.map(async ({ updateGroup, newUpdates }) => {
|
|
308
|
+
await Promise.all(newUpdates.map(async (newUpdate) => {
|
|
309
|
+
const response = await (0, fetch_1.default)(newUpdate.manifestPermalink, {
|
|
310
|
+
method: 'GET',
|
|
311
|
+
headers: { accept: 'multipart/mixed' },
|
|
312
|
+
});
|
|
313
|
+
const manifestBody = (0, nullthrows_1.default)(await (0, code_signing_1.getManifestBodyAsync)(response));
|
|
314
|
+
(0, code_signing_1.checkManifestBodyAgainstUpdateInfoGroup)(manifestBody, (0, nullthrows_1.default)(updateGroup.updateInfoGroup[newUpdate.platform]));
|
|
315
|
+
const manifestSignature = (0, code_signing_1.signManifestBody)(manifestBody, codeSigningInfo);
|
|
316
|
+
await PublishMutation_1.PublishMutation.setCodeSigningInfoAsync(newUpdate.id, {
|
|
317
|
+
alg: codeSigningInfo.codeSigningMetadata.alg,
|
|
318
|
+
keyid: codeSigningInfo.codeSigningMetadata.keyid,
|
|
319
|
+
sig: manifestSignature,
|
|
320
|
+
});
|
|
321
|
+
}));
|
|
322
|
+
}));
|
|
323
|
+
}
|
|
278
324
|
publishSpinner.succeed('Published!');
|
|
279
325
|
}
|
|
280
326
|
catch (e) {
|
|
@@ -352,6 +398,10 @@ UpdatePublish.flags = {
|
|
|
352
398
|
description: 'Use the current git branch and commit message for the EAS branch and update message',
|
|
353
399
|
default: false,
|
|
354
400
|
}),
|
|
401
|
+
'private-key-path': core_1.Flags.string({
|
|
402
|
+
description: `File containing the PEM-encoded private key corresponding to the certificate in expo-updates' configuration. Defaults to a file named "private-key.pem" in the certificate's directory.`,
|
|
403
|
+
required: false,
|
|
404
|
+
}),
|
|
355
405
|
};
|
|
356
406
|
async function getRuntimeVersionObjectAsync(exp, platformFlag, projectDir) {
|
|
357
407
|
var _a, _b;
|
|
@@ -361,11 +411,14 @@ async function getRuntimeVersionObjectAsync(exp, platformFlag, projectDir) {
|
|
|
361
411
|
if (isPolicy) {
|
|
362
412
|
const isManaged = (await (0, workflow_1.resolveWorkflowAsync)(projectDir, platform)) === eas_build_job_1.Workflow.MANAGED;
|
|
363
413
|
if (!isManaged) {
|
|
364
|
-
throw new Error('Runtime version policies are only supported in the managed workflow.');
|
|
414
|
+
throw new Error('Runtime version policies are only supported in the managed workflow. In the bare workflow, runtime version needs to be set manually.');
|
|
365
415
|
}
|
|
366
416
|
}
|
|
367
417
|
}
|
|
368
|
-
return Object.fromEntries(platforms.map(platform => [
|
|
418
|
+
return Object.fromEntries(platforms.map(platform => [
|
|
419
|
+
platform,
|
|
420
|
+
(0, nullthrows_1.default)(config_plugins_1.Updates.getRuntimeVersion(exp, platform), `Unable to determine runtime version for ${platform}`),
|
|
421
|
+
]));
|
|
369
422
|
}
|
|
370
423
|
function formatUpdateTitle(update) {
|
|
371
424
|
const { message, createdAt, actor, runtimeVersion } = update;
|
|
@@ -3,16 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const config_1 = require("@expo/config");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
-
const assert_1 =
|
|
7
|
-
const chalk_1 =
|
|
8
|
-
const cli_table3_1 =
|
|
9
|
-
const EasCommand_1 =
|
|
6
|
+
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
7
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
8
|
+
const cli_table3_1 = tslib_1.__importDefault(require("cli-table3"));
|
|
9
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
10
10
|
const UpdateQuery_1 = require("../../graphql/queries/UpdateQuery");
|
|
11
|
-
const log_1 =
|
|
11
|
+
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
12
12
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
13
13
|
const prompts_1 = require("../../prompts");
|
|
14
14
|
const utils_1 = require("../../update/utils");
|
|
15
|
-
const groupBy_1 =
|
|
15
|
+
const groupBy_1 = tslib_1.__importDefault(require("../../utils/expodash/groupBy"));
|
|
16
16
|
const json_1 = require("../../utils/json");
|
|
17
17
|
const vcs_1 = require("../../vcs");
|
|
18
18
|
class BranchView extends EasCommand_1.default {
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.viewUpdateAsync = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
-
const cli_table3_1 =
|
|
7
|
-
const graphql_tag_1 =
|
|
8
|
-
const EasCommand_1 =
|
|
6
|
+
const cli_table3_1 = tslib_1.__importDefault(require("cli-table3"));
|
|
7
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
8
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
9
9
|
const client_1 = require("../../graphql/client");
|
|
10
|
-
const log_1 =
|
|
10
|
+
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
11
11
|
const utils_1 = require("../../update/utils");
|
|
12
12
|
const json_1 = require("../../utils/json");
|
|
13
13
|
async function viewUpdateAsync({ groupId, }) {
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const config_1 = require("@expo/config");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
-
const EasCommand_1 =
|
|
6
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
7
7
|
const generated_1 = require("../../graphql/generated");
|
|
8
8
|
const WebhookMutation_1 = require("../../graphql/mutations/WebhookMutation");
|
|
9
9
|
const ora_1 = require("../../ora");
|
|
@@ -2,13 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const config_1 = require("@expo/config");
|
|
5
|
-
const assert_1 =
|
|
6
|
-
const chalk_1 =
|
|
7
|
-
const nullthrows_1 =
|
|
8
|
-
const EasCommand_1 =
|
|
5
|
+
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
+
const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
|
|
8
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
9
9
|
const WebhookMutation_1 = require("../../graphql/mutations/WebhookMutation");
|
|
10
10
|
const WebhookQuery_1 = require("../../graphql/queries/WebhookQuery");
|
|
11
|
-
const log_1 =
|
|
11
|
+
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
12
12
|
const ora_1 = require("../../ora");
|
|
13
13
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
14
14
|
const prompts_1 = require("../../prompts");
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const config_1 = require("@expo/config");
|
|
5
5
|
const core_1 = require("@oclif/core");
|
|
6
|
-
const chalk_1 =
|
|
7
|
-
const EasCommand_1 =
|
|
6
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
8
8
|
const generated_1 = require("../../graphql/generated");
|
|
9
9
|
const WebhookQuery_1 = require("../../graphql/queries/WebhookQuery");
|
|
10
|
-
const log_1 =
|
|
10
|
+
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
11
11
|
const ora_1 = require("../../ora");
|
|
12
12
|
const projectUtils_1 = require("../../project/projectUtils");
|
|
13
13
|
const formatWebhook_1 = require("../../webhooks/formatWebhook");
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const core_1 = require("@oclif/core");
|
|
5
|
-
const EasCommand_1 =
|
|
5
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
6
6
|
const generated_1 = require("../../graphql/generated");
|
|
7
7
|
const WebhookMutation_1 = require("../../graphql/mutations/WebhookMutation");
|
|
8
8
|
const WebhookQuery_1 = require("../../graphql/queries/WebhookQuery");
|
|
9
9
|
const ora_1 = require("../../ora");
|
|
10
|
-
const pick_1 =
|
|
10
|
+
const pick_1 = tslib_1.__importDefault(require("../../utils/expodash/pick"));
|
|
11
11
|
const input_1 = require("../../webhooks/input");
|
|
12
12
|
class WebhookUpdate extends EasCommand_1.default {
|
|
13
13
|
async runAsync() {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
const EasCommand_1 =
|
|
4
|
+
const EasCommand_1 = tslib_1.__importDefault(require("../../commandUtils/EasCommand"));
|
|
5
5
|
const WebhookQuery_1 = require("../../graphql/queries/WebhookQuery");
|
|
6
|
-
const log_1 =
|
|
6
|
+
const log_1 = tslib_1.__importDefault(require("../../log"));
|
|
7
7
|
const ora_1 = require("../../ora");
|
|
8
8
|
const formatWebhook_1 = require("../../webhooks/formatWebhook");
|
|
9
9
|
class WebhookView extends EasCommand_1.default {
|
|
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
5
5
|
const eas_json_1 = require("@expo/eas-json");
|
|
6
|
-
const nullthrows_1 =
|
|
7
|
-
const credentialsJsonReader =
|
|
6
|
+
const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
|
|
7
|
+
const credentialsJsonReader = tslib_1.__importStar(require("../credentialsJson/read"));
|
|
8
8
|
const SetUpBuildCredentials_1 = require("./actions/SetUpBuildCredentials");
|
|
9
9
|
class AndroidCredentialsProvider {
|
|
10
10
|
constructor(ctx, options) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AssignFcm = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const log_1 =
|
|
5
|
+
const log_1 = tslib_1.__importDefault(require("../../../log"));
|
|
6
6
|
class AssignFcm {
|
|
7
7
|
constructor(app) {
|
|
8
8
|
this.app = app;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AssignGoogleServiceAccountKey = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const log_1 =
|
|
5
|
+
const log_1 = tslib_1.__importDefault(require("../../../log"));
|
|
6
6
|
class AssignGoogleServiceAccountKey {
|
|
7
7
|
constructor(app) {
|
|
8
8
|
this.app = app;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.sortBuildCredentials = exports.promptForNameAsync = exports.createOrUpdateDefaultAndroidAppBuildCredentialsAsync = exports.getAppLookupParamsFromContextAsync = exports.promptUserAndCopyLegacyCredentialsAsync = exports.canCopyLegacyCredentialsAsync = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const assert_1 =
|
|
5
|
+
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
6
6
|
const nanoid_1 = require("nanoid");
|
|
7
7
|
const ora_1 = require("../../../ora");
|
|
8
8
|
const applicationId_1 = require("../../../project/android/applicationId");
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.CreateFcm = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const generated_1 = require("../../../graphql/generated");
|
|
6
|
-
const log_1 =
|
|
6
|
+
const log_1 = tslib_1.__importDefault(require("../../../log"));
|
|
7
7
|
const prompts_1 = require("../../../prompts");
|
|
8
8
|
class CreateFcm {
|
|
9
9
|
constructor(account) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CreateGoogleServiceAccountKey = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const log_1 =
|
|
5
|
+
const log_1 = tslib_1.__importDefault(require("../../../log"));
|
|
6
6
|
const prompts_1 = require("../../../prompts");
|
|
7
7
|
const googleServiceAccountKey_1 = require("../utils/googleServiceAccountKey");
|
|
8
8
|
class CreateGoogleServiceAccountKey {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.CreateKeystore = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const log_1 =
|
|
5
|
+
const log_1 = tslib_1.__importDefault(require("../../../log"));
|
|
6
6
|
const projectUtils_1 = require("../../../project/projectUtils");
|
|
7
7
|
const promptForCredentials_1 = require("../../utils/promptForCredentials");
|
|
8
8
|
const credentials_1 = require("../credentials");
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BackupKeystore = exports.DownloadKeystore = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const chalk_1 =
|
|
6
|
-
const fs_extra_1 =
|
|
7
|
-
const log_1 =
|
|
5
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
|
+
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
7
|
+
const log_1 = tslib_1.__importDefault(require("../../../log"));
|
|
8
8
|
const prompts_1 = require("../../../prompts");
|
|
9
9
|
const files_1 = require("../../../utils/files");
|
|
10
10
|
const GraphqlClient_1 = require("../api/GraphqlClient");
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RemoveFcm = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
|
-
const log_1 =
|
|
5
|
+
const log_1 = tslib_1.__importDefault(require("../../../log"));
|
|
6
6
|
const prompts_1 = require("../../../prompts");
|
|
7
7
|
const GraphqlClient_1 = require("../api/GraphqlClient");
|
|
8
8
|
class RemoveFcm {
|