eas-cli 16.28.0 → 16.31.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 +97 -94
- package/build/analytics/AnalyticsManager.js +4 -4
- package/build/analytics/common.js +1 -2
- package/build/api.js +5 -5
- package/build/branch/delete.js +1 -2
- package/build/branch/queries.js +5 -5
- package/build/branch/utils.js +2 -2
- package/build/build/android/build.js +3 -4
- package/build/build/android/graphql.js +1 -2
- package/build/build/android/prepareJob.js +1 -2
- package/build/build/android/syncProjectConfiguration.js +2 -3
- package/build/build/android/version.js +6 -6
- package/build/build/build.js +3 -4
- package/build/build/configure.js +4 -5
- package/build/build/createContext.js +1 -2
- package/build/build/evaluateConfigWithEnvVarsAsync.js +1 -2
- package/build/build/graphql.js +7 -7
- package/build/build/ios/build.js +2 -3
- package/build/build/ios/credentials.js +2 -3
- package/build/build/ios/graphql.js +2 -3
- package/build/build/ios/prepareJob.js +2 -3
- package/build/build/ios/syncProjectConfiguration.js +1 -2
- package/build/build/ios/version.js +10 -10
- package/build/build/local.js +2 -2
- package/build/build/metadata.js +3 -4
- package/build/build/queries.js +4 -4
- package/build/build/runBuildAndSubmit.js +2 -3
- package/build/build/utils/appJson.js +2 -3
- package/build/build/utils/credentials.js +1 -2
- package/build/build/utils/devClient.js +1 -2
- package/build/build/utils/formatBuild.js +2 -3
- package/build/build/utils/printBuildInfo.js +4 -5
- package/build/build/utils/repository.js +8 -9
- package/build/build/utils/resourceClass.js +1 -2
- package/build/build/utils/url.js +8 -9
- package/build/build/utils/version.js +2 -3
- package/build/build/validate.js +3 -4
- package/build/channel/branch-mapping.js +24 -24
- package/build/channel/delete.d.ts +5 -0
- package/build/channel/delete.js +23 -0
- package/build/channel/print-utils.js +2 -3
- package/build/channel/queries.js +8 -8
- package/build/channel/utils.js +1 -2
- package/build/commandUtils/builds.js +3 -4
- package/build/commandUtils/context/contextUtils/createGraphqlClient.js +1 -2
- package/build/commandUtils/context/contextUtils/findProjectDirAndVerifyProjectSetupAsync.js +2 -3
- package/build/commandUtils/context/contextUtils/getProjectIdAsync.js +3 -4
- package/build/commandUtils/context/contextUtils/loadServerSideEnvironmentVariablesAsync.js +1 -2
- package/build/commandUtils/experienceParser.d.ts +6 -0
- package/build/commandUtils/experienceParser.js +42 -0
- package/build/commandUtils/new/commands.js +3 -4
- package/build/commandUtils/new/configs.js +4 -5
- package/build/commandUtils/new/projectFiles.js +6 -7
- package/build/commandUtils/new/utils.js +1 -2
- package/build/commandUtils/projectNameValidation.d.ts +8 -0
- package/build/commandUtils/projectNameValidation.js +30 -0
- package/build/commandUtils/workflow/buildProfileUtils.js +12 -13
- package/build/commandUtils/workflow/creation.js +5 -5
- package/build/commandUtils/workflow/fetchLogs.js +2 -3
- package/build/commandUtils/workflow/inputs.js +5 -5
- package/build/commandUtils/workflow/stateMachine.js +7 -7
- package/build/commandUtils/workflow/utils.js +12 -12
- package/build/commandUtils/workflow/validation.js +4 -5
- package/build/commands/build/cancel.js +1 -2
- package/build/commands/build/delete.js +1 -2
- package/build/commands/build/index.js +1 -2
- package/build/commands/channel/delete.js +7 -23
- package/build/commands/channel/edit.js +1 -2
- package/build/commands/channel/pause.js +1 -2
- package/build/commands/channel/resume.js +1 -2
- package/build/commands/deploy/index.js +1 -1
- package/build/commands/project/init.js +3 -1
- package/build/commands/project/new.js +3 -4
- package/build/commands/update/index.d.ts +8 -0
- package/build/commands/update/index.js +39 -56
- package/build/commands/update/list.d.ts +3 -0
- package/build/commands/update/list.js +30 -1
- package/build/commands/update/revert-update-rollout.js +1 -2
- package/build/credentials/android/actions/BuildCredentialsUtils.js +6 -7
- package/build/credentials/android/api/GraphqlClient.js +21 -21
- package/build/credentials/android/api/graphql/queries/AndroidAppCredentialsQuery.d.ts +2 -2
- package/build/credentials/android/api/graphql/queries/GoogleServiceAccountKeyQuery.d.ts +5 -5
- package/build/credentials/android/utils/googleServiceAccountKey.js +4 -4
- package/build/credentials/android/utils/keystore.js +2 -3
- package/build/credentials/android/utils/keystoreNew.js +3 -4
- package/build/credentials/android/utils/printCredentials.js +3 -4
- package/build/credentials/credentialsJson/read.js +3 -4
- package/build/credentials/credentialsJson/update.js +2 -3
- package/build/credentials/credentialsJson/utils.js +2 -3
- package/build/credentials/ios/actions/AppleTeamFormatting.js +1 -2
- package/build/credentials/ios/actions/AppleTeamUtils.js +1 -2
- package/build/credentials/ios/actions/AscApiKeyUtils.js +10 -10
- package/build/credentials/ios/actions/BuildCredentialsUtils.js +7 -8
- package/build/credentials/ios/actions/DeviceUtils.js +2 -3
- package/build/credentials/ios/actions/DistributionCertificateUtils.js +4 -5
- package/build/credentials/ios/actions/ProvisioningProfileUtils.js +2 -3
- package/build/credentials/ios/actions/PushKeyUtils.js +5 -6
- package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +2 -2
- package/build/credentials/ios/actions/SetUpTargetBuildCredentials.js +6 -2
- package/build/credentials/ios/api/GraphqlClient.js +24 -25
- package/build/credentials/ios/api/graphql/queries/AppStoreConnectApiKeyQuery.d.ts +5 -5
- package/build/credentials/ios/api/graphql/queries/AppleDeviceQuery.d.ts +8 -8
- package/build/credentials/ios/api/graphql/queries/AppleDistributionCertificateQuery.d.ts +5 -5
- package/build/credentials/ios/api/graphql/queries/ApplePushKeyQuery.d.ts +5 -5
- package/build/credentials/ios/api/graphql/queries/IosAppCredentialsQuery.d.ts +1 -1
- package/build/credentials/ios/appstore/AppStoreApi.d.ts +0 -2
- package/build/credentials/ios/appstore/Credentials.js +4 -5
- package/build/credentials/ios/appstore/Credentials.types.d.ts +0 -1
- package/build/credentials/ios/appstore/CredentialsUtils.js +6 -7
- package/build/credentials/ios/appstore/ascApiKey.d.ts +0 -1
- package/build/credentials/ios/appstore/ascApiKey.js +6 -7
- package/build/credentials/ios/appstore/authenticate.d.ts +0 -1
- package/build/credentials/ios/appstore/authenticate.js +4 -5
- package/build/credentials/ios/appstore/authenticateTypes.d.ts +0 -1
- package/build/credentials/ios/appstore/bundleId.d.ts +0 -1
- package/build/credentials/ios/appstore/bundleId.js +2 -3
- package/build/credentials/ios/appstore/bundleIdCapabilities.d.ts +0 -1
- package/build/credentials/ios/appstore/bundleIdCapabilities.js +3 -3
- package/build/credentials/ios/appstore/capabilityIdentifiers.d.ts +0 -1
- package/build/credentials/ios/appstore/capabilityIdentifiers.js +1 -2
- package/build/credentials/ios/appstore/capabilityList.d.ts +0 -1
- package/build/credentials/ios/appstore/contractMessages.d.ts +0 -1
- package/build/credentials/ios/appstore/contractMessages.js +2 -3
- package/build/credentials/ios/appstore/distributionCertificate.d.ts +0 -1
- package/build/credentials/ios/appstore/distributionCertificate.js +7 -7
- package/build/credentials/ios/appstore/ensureAppExists.d.ts +6 -1
- package/build/credentials/ios/appstore/ensureAppExists.js +55 -18
- package/build/credentials/ios/appstore/ensureTestFlightGroup.d.ts +0 -1
- package/build/credentials/ios/appstore/ensureTestFlightGroup.js +1 -2
- package/build/credentials/ios/appstore/keychain.js +4 -4
- package/build/credentials/ios/appstore/provisioningProfile.d.ts +0 -1
- package/build/credentials/ios/appstore/provisioningProfile.js +5 -5
- package/build/credentials/ios/appstore/provisioningProfileAdhoc.d.ts +0 -1
- package/build/credentials/ios/appstore/provisioningProfileAdhoc.js +1 -2
- package/build/credentials/ios/appstore/pushKey.js +4 -4
- package/build/credentials/ios/appstore/resolveCredentials.d.ts +0 -1
- package/build/credentials/ios/appstore/resolveCredentials.js +6 -7
- package/build/credentials/ios/credentials.d.ts +0 -1
- package/build/credentials/ios/credentials.js +2 -2
- package/build/credentials/ios/utils/authType.d.ts +0 -1
- package/build/credentials/ios/utils/authType.js +1 -2
- package/build/credentials/ios/utils/convertHTMLToASCII.js +1 -2
- package/build/credentials/ios/utils/p12Certificate.d.ts +0 -1
- package/build/credentials/ios/utils/p12Certificate.js +3 -4
- package/build/credentials/ios/utils/printCredentials.js +3 -4
- package/build/credentials/ios/utils/provisioningProfile.js +5 -6
- package/build/credentials/ios/validators/validateAscApiKey.js +2 -3
- package/build/credentials/ios/validators/validateDistributionCertificate.js +1 -2
- package/build/credentials/ios/validators/validateProvisioningProfile.js +1 -2
- package/build/credentials/ios/validators/validatePushKey.js +1 -2
- package/build/credentials/manager/IosActions.js +4 -4
- package/build/credentials/manager/SelectPlatform.js +1 -1
- package/build/credentials/utils/promptForCredentials.js +3 -4
- package/build/devices/actions/create/currentMachineMethod.js +1 -2
- package/build/devices/actions/create/developerPortalMethod.d.ts +0 -1
- package/build/devices/actions/create/developerPortalMethod.js +2 -3
- package/build/devices/actions/create/inputMethod.js +1 -2
- package/build/devices/actions/create/registrationUrlMethod.js +1 -2
- package/build/devices/actions/create/utils.js +4 -5
- package/build/devices/context.js +1 -2
- package/build/devices/queries.js +4 -4
- package/build/devices/udids.js +2 -3
- package/build/devices/utils/formatDevice.js +2 -3
- package/build/fetch.d.ts +0 -1
- package/build/fetch.js +1 -1
- package/build/fingerprint/cli.js +3 -4
- package/build/fingerprint/diff.js +1 -2
- package/build/fingerprint/types.d.ts +0 -1
- package/build/fingerprint/utils.js +4 -5
- package/build/graphql/client.js +2 -2
- package/build/graphql/generated.d.ts +177 -88
- package/build/graphql/generated.js +39 -3
- package/build/graphql/mutations/PublishMutation.d.ts +2 -2
- package/build/graphql/queries/AccountUsageQuery.d.ts +1 -1
- package/build/graphql/queries/AppVersionQuery.d.ts +1 -1
- package/build/graphql/queries/BackgroundJobReceiptQuery.d.ts +1 -1
- package/build/graphql/queries/BranchQuery.d.ts +3 -3
- package/build/graphql/queries/BuildQuery.d.ts +3 -3
- package/build/graphql/queries/ChannelQuery.d.ts +2 -2
- package/build/graphql/queries/ChannelQuery.js +2 -2
- package/build/graphql/queries/EnvironmentVariablesQuery.d.ts +12 -12
- package/build/graphql/queries/FingerprintQuery.d.ts +6 -6
- package/build/graphql/queries/PublishQuery.d.ts +1 -1
- package/build/graphql/queries/SubmissionQuery.d.ts +1 -1
- package/build/graphql/queries/UserQuery.d.ts +1 -1
- package/build/graphql/queries/WorkflowJobQuery.d.ts +2 -2
- package/build/graphql/queries/WorkflowRunQuery.d.ts +4 -4
- package/build/graphql/types/AppPlatform.js +2 -3
- package/build/log.js +2 -3
- package/build/metadata/apple/config/reader.d.ts +0 -1
- package/build/metadata/apple/config/writer.d.ts +0 -1
- package/build/metadata/apple/data.d.ts +0 -1
- package/build/metadata/apple/tasks/age-rating.d.ts +0 -1
- package/build/metadata/apple/tasks/age-rating.js +0 -1
- package/build/metadata/apple/tasks/app-info.d.ts +0 -1
- package/build/metadata/apple/tasks/app-info.js +15 -4
- package/build/metadata/apple/tasks/app-review-detail.d.ts +0 -1
- package/build/metadata/apple/tasks/app-review-detail.js +0 -1
- package/build/metadata/apple/tasks/app-version.d.ts +0 -1
- package/build/metadata/apple/tasks/app-version.js +15 -3
- package/build/metadata/apple/tasks/index.js +1 -2
- package/build/metadata/apple/types.d.ts +0 -1
- package/build/metadata/auth.d.ts +0 -1
- package/build/metadata/auth.js +1 -2
- package/build/metadata/config/resolve.js +4 -5
- package/build/metadata/config/validate.js +1 -2
- package/build/metadata/download.js +1 -2
- package/build/metadata/errors.js +3 -3
- package/build/metadata/upload.js +1 -2
- package/build/metadata/utils/ajv.js +2 -3
- package/build/metadata/utils/asc.d.ts +0 -1
- package/build/metadata/utils/date.js +1 -2
- package/build/metadata/utils/log.js +1 -2
- package/build/metadata/utils/retry.js +2 -3
- package/build/metadata/utils/telemetry.d.ts +0 -1
- package/build/metadata/utils/telemetry.js +2 -3
- package/build/onboarding/git.js +3 -4
- package/build/onboarding/installDependencies.js +3 -3
- package/build/onboarding/runCommand.js +1 -2
- package/build/ora.js +1 -2
- package/build/platform.d.ts +1 -0
- package/build/platform.js +28 -10
- package/build/project/android/applicationId.js +6 -6
- package/build/project/android/gradle.js +1 -2
- package/build/project/android/gradleUtils.js +4 -4
- package/build/project/android/versions.js +3 -3
- package/build/project/applicationIdentifier.js +1 -2
- package/build/project/customBuildConfig.js +3 -4
- package/build/project/expoConfig.js +5 -6
- package/build/project/expoSdk.js +1 -2
- package/build/project/fetchOrCreateProjectIDForWriteToConfigWithConfirmationAsync.js +2 -3
- package/build/project/ios/bundleIdentifier.js +6 -6
- package/build/project/ios/entitlements.js +2 -3
- package/build/project/ios/exemptEncryption.js +1 -2
- package/build/project/ios/scheme.js +2 -3
- package/build/project/ios/target.d.ts +0 -1
- package/build/project/ios/target.js +8 -9
- package/build/project/ios/versions.js +3 -3
- package/build/project/maybeUploadAssetMapAsync.js +1 -2
- package/build/project/maybeUploadFingerprintAsync.js +1 -2
- package/build/project/metroConfig.js +1 -2
- package/build/project/projectUtils.js +15 -16
- package/build/project/publish.d.ts +15 -2
- package/build/project/publish.js +56 -29
- package/build/project/remoteVersionSource.js +6 -6
- package/build/project/resolveRuntimeVersionAsync.js +2 -3
- package/build/project/uploadAccountScopedFileAsync.js +1 -2
- package/build/project/uploadAccountScopedProjectSourceAsync.js +1 -2
- package/build/project/workflow.js +3 -4
- package/build/prompts.js +5 -6
- package/build/rollout/branch-mapping.js +14 -15
- package/build/rollout/utils.js +5 -6
- package/build/run/android/aapt.js +2 -3
- package/build/run/android/adb.js +8 -9
- package/build/run/android/emulator.js +6 -6
- package/build/run/android/run.js +1 -2
- package/build/run/android/sdk.d.ts +0 -1
- package/build/run/android/sdk.js +2 -2
- package/build/run/android/systemRequirements.js +1 -2
- package/build/run/ios/run.js +1 -2
- package/build/run/ios/simctl.js +1 -2
- package/build/run/ios/simulator.js +9 -10
- package/build/run/ios/systemRequirements.js +1 -2
- package/build/run/ios/xcode.js +5 -5
- package/build/run/ios/xcrun.js +3 -4
- package/build/run/run.js +2 -3
- package/build/run/utils.js +1 -2
- package/build/submit/ArchiveSource.js +3 -3
- package/build/submit/android/ServiceAccountSource.js +4 -4
- package/build/submit/commons.js +2 -3
- package/build/submit/context.js +1 -2
- package/build/submit/ios/AppProduce.js +1 -2
- package/build/submit/ios/AppSpecificPasswordSource.js +3 -3
- package/build/submit/ios/AscApiKeySource.js +4 -4
- package/build/submit/ios/utils/language.js +1 -2
- package/build/submit/submit.js +3 -4
- package/build/submit/utils/builds.js +1 -2
- package/build/submit/utils/errors.js +1 -2
- package/build/submit/utils/files.js +2 -3
- package/build/submit/utils/logs.js +1 -2
- package/build/submit/utils/summary.js +2 -3
- package/build/submit/utils/urls.js +2 -3
- package/build/submit/utils/wait.js +2 -3
- package/build/update/android/UpdatesModule.js +2 -3
- package/build/update/configure.js +4 -4
- package/build/update/delete.js +1 -2
- package/build/update/getBranchFromChannelNameAndCreateAndLinkIfNotExistsAsync.js +1 -2
- package/build/update/ios/UpdatesModule.js +2 -3
- package/build/update/queries.d.ts +5 -3
- package/build/update/queries.js +12 -9
- package/build/update/republish.js +5 -6
- package/build/update/roll-back-to-embedded.js +1 -2
- package/build/update/utils.js +15 -15
- package/build/uploads.js +3 -4
- package/build/user/User.js +2 -3
- package/build/user/actions.js +1 -2
- package/build/user/expoSsoLauncher.js +1 -2
- package/build/user/fetchSessionSecretAndSsoUser.js +1 -2
- package/build/user/fetchSessionSecretAndUser.js +1 -2
- package/build/user/fetchUser.js +1 -2
- package/build/utils/code-signing.d.ts +0 -1
- package/build/utils/code-signing.js +7 -8
- package/build/utils/date.js +1 -2
- package/build/utils/download.js +2 -3
- package/build/utils/expoCli.js +4 -4
- package/build/utils/expoUpdatesCli.js +2 -2
- package/build/utils/expodash/areSetsEqual.js +1 -1
- package/build/utils/expodash/capitalize.js +1 -1
- package/build/utils/expodash/chunk.js +1 -1
- package/build/utils/expodash/differenceBy.js +1 -1
- package/build/utils/expodash/filter.js +1 -2
- package/build/utils/expodash/groupBy.js +1 -1
- package/build/utils/expodash/intersection.js +1 -1
- package/build/utils/expodash/mapMapAsync.js +1 -1
- package/build/utils/expodash/memoize.js +1 -2
- package/build/utils/expodash/pick.js +1 -1
- package/build/utils/expodash/sortBy.js +1 -1
- package/build/utils/expodash/uniq.js +1 -1
- package/build/utils/expodash/uniqBy.js +1 -1
- package/build/utils/expodash/zipObject.js +1 -1
- package/build/utils/files.js +2 -3
- package/build/utils/formatFields.js +1 -1
- package/build/utils/image.js +3 -3
- package/build/utils/json.js +2 -3
- package/build/utils/plist.d.ts +0 -1
- package/build/utils/plist.js +3 -4
- package/build/utils/pollForBackgroundJobReceiptAsync.js +2 -2
- package/build/utils/profiles.js +3 -4
- package/build/utils/progress.js +1 -2
- package/build/utils/promise.js +1 -2
- package/build/utils/prompts.js +8 -9
- package/build/utils/queries.js +2 -3
- package/build/utils/relay.js +4 -4
- package/build/utils/statuspageService.js +1 -2
- package/build/utils/timer.js +4 -5
- package/build/utils/usage/checkForOverages.js +4 -5
- package/build/utils/variableUtils.js +4 -5
- package/build/vcs/clients/git.js +1 -2
- package/build/vcs/git.js +5 -6
- package/build/vcs/index.js +1 -2
- package/build/vcs/local.js +2 -2
- package/build/webhooks/formatWebhook.js +1 -2
- package/build/webhooks/input.js +3 -4
- package/build/worker/assets.d.ts +0 -1
- package/build/worker/assets.js +6 -7
- package/build/worker/deployment.js +8 -9
- package/build/worker/mutations.d.ts +1 -1
- package/build/worker/queries.d.ts +4 -4
- package/build/worker/upload.d.ts +0 -2
- package/build/worker/upload.js +5 -6
- package/build/worker/utils/logs.js +5 -5
- package/build/worker/utils/multipart.js +3 -3
- package/oclif.manifest.json +35 -1
- package/package.json +13 -11
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.listAscApiKeysAsync = listAscApiKeysAsync;
|
|
4
|
+
exports.getAscApiKeyAsync = getAscApiKeyAsync;
|
|
5
|
+
exports.downloadWithRetryAsync = downloadWithRetryAsync;
|
|
6
|
+
exports.createAscApiKeyAsync = createAscApiKeyAsync;
|
|
7
|
+
exports.revokeAscApiKeyAsync = revokeAscApiKeyAsync;
|
|
8
|
+
exports.getAscApiKeyInfo = getAscApiKeyInfo;
|
|
4
9
|
const tslib_1 = require("tslib");
|
|
5
10
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
6
11
|
const promise_retry_1 = tslib_1.__importDefault(require("promise-retry"));
|
|
@@ -25,7 +30,6 @@ async function listAscApiKeysAsync(userAuthCtx) {
|
|
|
25
30
|
throw error;
|
|
26
31
|
}
|
|
27
32
|
}
|
|
28
|
-
exports.listAscApiKeysAsync = listAscApiKeysAsync;
|
|
29
33
|
/**
|
|
30
34
|
* Get an App Store Connect API Key.
|
|
31
35
|
* **Does not support App Store Connect API (CI).**
|
|
@@ -49,7 +53,6 @@ async function getAscApiKeyAsync(userAuthCtx, keyId) {
|
|
|
49
53
|
throw error;
|
|
50
54
|
}
|
|
51
55
|
}
|
|
52
|
-
exports.getAscApiKeyAsync = getAscApiKeyAsync;
|
|
53
56
|
/**
|
|
54
57
|
* There is a bug in Apple's infrastructure that does not propagate newly created objects for a
|
|
55
58
|
* while. If the key has not propagated and you try to download it, Apple will error saying that
|
|
@@ -97,7 +100,6 @@ async function downloadWithRetryAsync(analytics, key, { minTimeout = 1000, retri
|
|
|
97
100
|
throw e;
|
|
98
101
|
}
|
|
99
102
|
}
|
|
100
|
-
exports.downloadWithRetryAsync = downloadWithRetryAsync;
|
|
101
103
|
/**
|
|
102
104
|
* Create an App Store Connect API Key.
|
|
103
105
|
* **Does not support App Store Connect API (CI).**
|
|
@@ -138,7 +140,6 @@ async function createAscApiKeyAsync(analytics, userAuthCtx, { nickname, allAppsV
|
|
|
138
140
|
throw err;
|
|
139
141
|
}
|
|
140
142
|
}
|
|
141
|
-
exports.createAscApiKeyAsync = createAscApiKeyAsync;
|
|
142
143
|
/**
|
|
143
144
|
* Revoke an App Store Connect API Key.
|
|
144
145
|
* **Does not support App Store Connect API (CI).**
|
|
@@ -158,7 +159,6 @@ async function revokeAscApiKeyAsync(userAuthCtx, keyId) {
|
|
|
158
159
|
throw error;
|
|
159
160
|
}
|
|
160
161
|
}
|
|
161
|
-
exports.revokeAscApiKeyAsync = revokeAscApiKeyAsync;
|
|
162
162
|
function getAscApiKeyInfo(apiKey, authCtx) {
|
|
163
163
|
return {
|
|
164
164
|
name: apiKey.attributes.nickname,
|
|
@@ -170,4 +170,3 @@ function getAscApiKeyInfo(apiKey, authCtx) {
|
|
|
170
170
|
isRevoked: !!apiKey.attributes.revokingDate,
|
|
171
171
|
};
|
|
172
172
|
}
|
|
173
|
-
exports.getAscApiKeyInfo = getAscApiKeyInfo;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
|
|
2
1
|
import { RequestContext, Session } from '@expo/apple-utils';
|
|
3
2
|
import { AppleTeamType, AuthCtx, AuthenticationMode, UserAuthCtx } from './authenticateTypes';
|
|
4
3
|
import { MinimalAscApiKey } from '../credentials';
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.isUserAuthCtx = isUserAuthCtx;
|
|
4
|
+
exports.assertUserAuthCtx = assertUserAuthCtx;
|
|
5
|
+
exports.getRequestContext = getRequestContext;
|
|
6
|
+
exports.authenticateAsync = authenticateAsync;
|
|
4
7
|
const tslib_1 = require("tslib");
|
|
5
8
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
6
9
|
const assert_1 = tslib_1.__importDefault(require("assert"));
|
|
@@ -14,19 +17,16 @@ const APPLE_IN_HOUSE_TEAM_TYPE = 'in-house';
|
|
|
14
17
|
function isUserAuthCtx(authCtx) {
|
|
15
18
|
return !!authCtx && typeof authCtx.appleId === 'string';
|
|
16
19
|
}
|
|
17
|
-
exports.isUserAuthCtx = isUserAuthCtx;
|
|
18
20
|
function assertUserAuthCtx(authCtx) {
|
|
19
21
|
if (isUserAuthCtx(authCtx)) {
|
|
20
22
|
return authCtx;
|
|
21
23
|
}
|
|
22
24
|
throw new Error('Expected user authentication context (login/password).');
|
|
23
25
|
}
|
|
24
|
-
exports.assertUserAuthCtx = assertUserAuthCtx;
|
|
25
26
|
function getRequestContext(authCtx) {
|
|
26
27
|
(0, assert_1.default)(authCtx.authState?.context, 'Apple request context must be defined');
|
|
27
28
|
return authCtx.authState.context;
|
|
28
29
|
}
|
|
29
|
-
exports.getRequestContext = getRequestContext;
|
|
30
30
|
async function loginAsync(userCredentials = {}, options) {
|
|
31
31
|
// First try login with cookies JSON
|
|
32
32
|
if (userCredentials.cookies) {
|
|
@@ -101,7 +101,6 @@ async function authenticateAsync(options = {}) {
|
|
|
101
101
|
return await authenticateAsUserAsync(options);
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
exports.authenticateAsync = authenticateAsync;
|
|
105
104
|
async function authenticateWithApiKeyAsync(options = {}) {
|
|
106
105
|
// Resolve the user credentials, optimizing for password-less login.
|
|
107
106
|
const ascApiKey = await (0, resolveCredentials_1.resolveAscApiKeyAsync)(options.ascApiKey);
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
|
|
2
1
|
import { BundleId, Profile, RequestContext } from '@expo/apple-utils';
|
|
3
2
|
export declare function getProfilesForBundleIdAsync(context: RequestContext, bundleIdentifier: string): Promise<Profile[]>;
|
|
4
3
|
export declare function getBundleIdForIdentifierAsync(context: RequestContext, bundleIdentifier: string): Promise<BundleId>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getProfilesForBundleIdAsync = getProfilesForBundleIdAsync;
|
|
4
|
+
exports.getBundleIdForIdentifierAsync = getBundleIdForIdentifierAsync;
|
|
4
5
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
5
6
|
async function getProfilesForBundleIdDangerousAsync(context, bundleIdentifier) {
|
|
6
7
|
const bundleId = await apple_utils_1.BundleId.findAsync(context, { identifier: bundleIdentifier });
|
|
@@ -31,7 +32,6 @@ async function getProfilesForBundleIdAsync(context, bundleIdentifier) {
|
|
|
31
32
|
}));
|
|
32
33
|
return profiles.filter(profile => validProfileIds.has(profile.id));
|
|
33
34
|
}
|
|
34
|
-
exports.getProfilesForBundleIdAsync = getProfilesForBundleIdAsync;
|
|
35
35
|
async function getBundleIdForIdentifierAsync(context, bundleIdentifier) {
|
|
36
36
|
const bundleId = await apple_utils_1.BundleId.findAsync(context, { identifier: bundleIdentifier });
|
|
37
37
|
if (!bundleId) {
|
|
@@ -39,4 +39,3 @@ async function getBundleIdForIdentifierAsync(context, bundleIdentifier) {
|
|
|
39
39
|
}
|
|
40
40
|
return bundleId;
|
|
41
41
|
}
|
|
42
|
-
exports.getBundleIdForIdentifierAsync = getBundleIdForIdentifierAsync;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.EXPO_NO_CAPABILITY_SYNC = void 0;
|
|
4
|
+
exports.syncCapabilitiesForEntitlementsAsync = syncCapabilitiesForEntitlementsAsync;
|
|
5
|
+
exports.assertValidOptions = assertValidOptions;
|
|
4
6
|
const tslib_1 = require("tslib");
|
|
5
7
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
6
8
|
const getenv_1 = tslib_1.__importDefault(require("getenv"));
|
|
@@ -49,7 +51,6 @@ async function syncCapabilitiesForEntitlementsAsync(bundleId, entitlements = {},
|
|
|
49
51
|
}
|
|
50
52
|
return { enabled: enabledCapabilityNames, disabled: disabledCapabilityNames };
|
|
51
53
|
}
|
|
52
|
-
exports.syncCapabilitiesForEntitlementsAsync = syncCapabilitiesForEntitlementsAsync;
|
|
53
54
|
function getCapabilitiesToEnable(currentRemoteCapabilities, entitlements, additionalOptions) {
|
|
54
55
|
const enabledCapabilityNames = [];
|
|
55
56
|
const request = [];
|
|
@@ -99,7 +100,6 @@ function assertValidOptions(classifier, value) {
|
|
|
99
100
|
throw new Error(`iOS entitlement "${classifier.entitlement}" has invalid value "${value}".${reason}`);
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
|
-
exports.assertValidOptions = assertValidOptions;
|
|
103
103
|
function getCapabilitiesToDisable(bundleId, currentCapabilities, request, entitlements) {
|
|
104
104
|
if (log_1.default.isDebug) {
|
|
105
105
|
log_1.default.log(`Existing to disable: `, currentCapabilities.map(({ id }) => id));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.syncCapabilityIdentifiersForEntitlementsAsync =
|
|
3
|
+
exports.syncCapabilityIdentifiersForEntitlementsAsync = syncCapabilityIdentifiersForEntitlementsAsync;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
6
6
|
const bundleIdCapabilities_1 = require("./bundleIdCapabilities");
|
|
@@ -107,4 +107,3 @@ async function syncCapabilityIdentifiersForEntitlementsAsync(bundleId, entitleme
|
|
|
107
107
|
}
|
|
108
108
|
return { created: createdIds, linked: linkedIds };
|
|
109
109
|
}
|
|
110
|
-
exports.syncCapabilityIdentifiersForEntitlementsAsync = syncCapabilityIdentifiersForEntitlementsAsync;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
|
|
2
1
|
import { ITCAgreements, RequestContext } from '@expo/apple-utils';
|
|
3
2
|
import type { Ora } from '../../../ora';
|
|
4
3
|
export declare function formatContractMessage(message: ITCAgreements.ITCContractMessage): string;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.formatContractMessage = formatContractMessage;
|
|
4
|
+
exports.assertContractMessagesAsync = assertContractMessagesAsync;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
6
7
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
@@ -71,7 +72,6 @@ function formatContractMessage(message) {
|
|
|
71
72
|
rootUrl,
|
|
72
73
|
});
|
|
73
74
|
}
|
|
74
|
-
exports.formatContractMessage = formatContractMessage;
|
|
75
75
|
/**
|
|
76
76
|
* **Does not support App Store Connect API (CI).**
|
|
77
77
|
*/
|
|
@@ -99,4 +99,3 @@ async function assertContractMessagesAsync(context, spinner) {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
exports.assertContractMessagesAsync = assertContractMessagesAsync;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
|
|
2
1
|
import { Certificate, RequestContext } from '@expo/apple-utils';
|
|
3
2
|
import { DistributionCertificate, DistributionCertificateStoreInfo } from './Credentials.types';
|
|
4
3
|
import { AuthCtx } from './authenticateTypes';
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.AppleTooManyCertsError = void 0;
|
|
4
|
+
exports.getCertificateBySerialNumberAsync = getCertificateBySerialNumberAsync;
|
|
5
|
+
exports.getDistributionCertificateAsync = getDistributionCertificateAsync;
|
|
6
|
+
exports.transformCertificate = transformCertificate;
|
|
7
|
+
exports.listDistributionCertificatesAsync = listDistributionCertificatesAsync;
|
|
8
|
+
exports.createDistributionCertificateAsync = createDistributionCertificateAsync;
|
|
9
|
+
exports.revokeDistributionCertificateAsync = revokeDistributionCertificateAsync;
|
|
4
10
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
5
11
|
const authenticate_1 = require("./authenticate");
|
|
6
12
|
const ora_1 = require("../../../ora");
|
|
@@ -14,7 +20,6 @@ async function getCertificateBySerialNumberAsync(context, serialNumber) {
|
|
|
14
20
|
}
|
|
15
21
|
return cert;
|
|
16
22
|
}
|
|
17
|
-
exports.getCertificateBySerialNumberAsync = getCertificateBySerialNumberAsync;
|
|
18
23
|
async function getDistributionCertificateAsync(context, serialNumber) {
|
|
19
24
|
// At most, this returns 2 values.
|
|
20
25
|
const certificates = await apple_utils_1.Certificate.getAsync(context, {
|
|
@@ -26,7 +31,6 @@ async function getDistributionCertificateAsync(context, serialNumber) {
|
|
|
26
31
|
});
|
|
27
32
|
return (certificates.find(certificate => certificate.attributes.serialNumber === serialNumber) ?? null);
|
|
28
33
|
}
|
|
29
|
-
exports.getDistributionCertificateAsync = getDistributionCertificateAsync;
|
|
30
34
|
function transformCertificate(cert) {
|
|
31
35
|
return {
|
|
32
36
|
id: cert.id,
|
|
@@ -39,7 +43,6 @@ function transformCertificate(cert) {
|
|
|
39
43
|
serialNumber: cert.attributes.serialNumber,
|
|
40
44
|
};
|
|
41
45
|
}
|
|
42
|
-
exports.transformCertificate = transformCertificate;
|
|
43
46
|
async function listDistributionCertificatesAsync(authCtx) {
|
|
44
47
|
const spinner = (0, ora_1.ora)(`Fetching Apple distribution certificates`).start();
|
|
45
48
|
try {
|
|
@@ -63,7 +66,6 @@ async function listDistributionCertificatesAsync(authCtx) {
|
|
|
63
66
|
throw error;
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
|
-
exports.listDistributionCertificatesAsync = listDistributionCertificatesAsync;
|
|
67
69
|
/**
|
|
68
70
|
* Run from `eas credentials` -> iOS -> Add new Distribution Certificate
|
|
69
71
|
*/
|
|
@@ -94,7 +96,6 @@ async function createDistributionCertificateAsync(authCtx) {
|
|
|
94
96
|
throw error;
|
|
95
97
|
}
|
|
96
98
|
}
|
|
97
|
-
exports.createDistributionCertificateAsync = createDistributionCertificateAsync;
|
|
98
99
|
async function revokeDistributionCertificateAsync(authCtx, ids) {
|
|
99
100
|
const name = `Apple distribution certificate${ids?.length === 1 ? '' : 's'}`;
|
|
100
101
|
const spinner = (0, ora_1.ora)(`Revoking ${name}`).start();
|
|
@@ -108,4 +109,3 @@ async function revokeDistributionCertificateAsync(authCtx, ids) {
|
|
|
108
109
|
throw error;
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
|
-
exports.revokeDistributionCertificateAsync = revokeDistributionCertificateAsync;
|
|
@@ -1,10 +1,15 @@
|
|
|
1
|
-
/// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
|
|
2
1
|
import { App, BundleId, RequestContext } from '@expo/apple-utils';
|
|
3
2
|
import { JSONObject } from '@expo/json-file';
|
|
4
3
|
import { AuthCtx, UserAuthCtx } from './authenticateTypes';
|
|
5
4
|
export interface IosCapabilitiesOptions {
|
|
6
5
|
entitlements: JSONObject;
|
|
7
6
|
usesBroadcastPushNotifications: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* The bundle identifier of the parent app. Required for App Clips.
|
|
9
|
+
* App Clips are detected by the presence of the
|
|
10
|
+
* `com.apple.developer.parent-application-identifiers` entitlement.
|
|
11
|
+
*/
|
|
12
|
+
parentBundleIdentifier?: string;
|
|
8
13
|
}
|
|
9
14
|
export interface AppLookupParams {
|
|
10
15
|
accountName: string;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ensureBundleIdExistsAsync = ensureBundleIdExistsAsync;
|
|
4
|
+
exports.ensureBundleIdExistsWithNameAsync = ensureBundleIdExistsWithNameAsync;
|
|
5
|
+
exports.syncCapabilitiesAsync = syncCapabilitiesAsync;
|
|
6
|
+
exports.syncCapabilityIdentifiersAsync = syncCapabilityIdentifiersAsync;
|
|
7
|
+
exports.ensureAppExistsAsync = ensureAppExistsAsync;
|
|
8
|
+
exports.createAppAsync = createAppAsync;
|
|
9
|
+
exports.isAppleError = isAppleError;
|
|
4
10
|
const tslib_1 = require("tslib");
|
|
5
11
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
6
12
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
@@ -11,36 +17,53 @@ const capabilityIdentifiers_1 = require("./capabilityIdentifiers");
|
|
|
11
17
|
const contractMessages_1 = require("./contractMessages");
|
|
12
18
|
const log_1 = tslib_1.__importDefault(require("../../../log"));
|
|
13
19
|
const ora_1 = require("../../../ora");
|
|
20
|
+
/**
|
|
21
|
+
* The entitlement key that indicates a target is an App Clip.
|
|
22
|
+
* When present, the target requires special bundle ID registration with a parent app relationship.
|
|
23
|
+
*/
|
|
24
|
+
const APP_CLIP_PARENT_APPLICATION_IDENTIFIERS_ENTITLEMENT = 'com.apple.developer.parent-application-identifiers';
|
|
14
25
|
async function ensureBundleIdExistsAsync(authCtx, { accountName, projectName, bundleIdentifier }, options) {
|
|
15
26
|
await ensureBundleIdExistsWithNameAsync(authCtx, {
|
|
16
27
|
name: `@${accountName}/${projectName}`,
|
|
17
28
|
bundleIdentifier,
|
|
18
29
|
}, options);
|
|
19
30
|
}
|
|
20
|
-
exports.ensureBundleIdExistsAsync = ensureBundleIdExistsAsync;
|
|
21
31
|
async function ensureBundleIdExistsWithNameAsync(authCtx, { name, bundleIdentifier }, options) {
|
|
22
32
|
const context = (0, authenticate_1.getRequestContext)(authCtx);
|
|
23
|
-
|
|
33
|
+
// Detect App Clips by the presence of the parent-application-identifiers entitlement
|
|
34
|
+
const isAppClip = Boolean(options?.entitlements?.[APP_CLIP_PARENT_APPLICATION_IDENTIFIERS_ENTITLEMENT]);
|
|
35
|
+
const typeLabel = isAppClip ? 'App Clip bundle identifier' : 'bundle identifier';
|
|
36
|
+
const spinner = (0, ora_1.ora)(`Linking ${typeLabel} ${chalk_1.default.dim(bundleIdentifier)}`).start();
|
|
24
37
|
let bundleId;
|
|
25
38
|
try {
|
|
26
39
|
// Get the bundle id
|
|
27
40
|
bundleId = await apple_utils_1.BundleId.findAsync(context, { identifier: bundleIdentifier });
|
|
28
41
|
if (!bundleId) {
|
|
29
|
-
spinner.text = `Registering
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
spinner.text = `Registering ${typeLabel} ${chalk_1.default.dim(bundleIdentifier)}`;
|
|
43
|
+
if (isAppClip && options?.parentBundleIdentifier) {
|
|
44
|
+
// App Clips require the parent bundle ID's opaque ID
|
|
45
|
+
bundleId = await createAppClipBundleIdAsync(context, {
|
|
46
|
+
name,
|
|
47
|
+
bundleIdentifier,
|
|
48
|
+
parentBundleIdentifier: options.parentBundleIdentifier,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// If it doesn't exist, create it
|
|
53
|
+
bundleId = await apple_utils_1.BundleId.createAsync(context, {
|
|
54
|
+
name,
|
|
55
|
+
identifier: bundleIdentifier,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
35
58
|
}
|
|
36
|
-
spinner.succeed(
|
|
59
|
+
spinner.succeed(`${isAppClip ? 'App Clip bundle' : 'Bundle'} identifier registered ${chalk_1.default.dim(bundleIdentifier)}`);
|
|
37
60
|
}
|
|
38
61
|
catch (err) {
|
|
39
62
|
if (err.message.match(/An App ID with Identifier '(.*)' is not available/)) {
|
|
40
|
-
spinner.fail(`The
|
|
63
|
+
spinner.fail(`The ${typeLabel} ${chalk_1.default.bold(bundleIdentifier)} is not available to team "${authCtx.team.name}" (${authCtx.team.id}), change it in your app config and try again.`);
|
|
41
64
|
}
|
|
42
65
|
else {
|
|
43
|
-
spinner.fail(`Failed to register
|
|
66
|
+
spinner.fail(`Failed to register ${typeLabel} ${chalk_1.default.dim(bundleIdentifier)}`);
|
|
44
67
|
// Assert contract errors for easier resolution when the user has an expired developer account.
|
|
45
68
|
if (err.message.match(/forbidden for security reasons/) ||
|
|
46
69
|
// Unable to process request - PLA Update available - You currently don't have access to this membership resource. To resolve this issue, agree to the latest Program License Agreement in your developer account.
|
|
@@ -59,7 +82,26 @@ async function ensureBundleIdExistsWithNameAsync(authCtx, { name, bundleIdentifi
|
|
|
59
82
|
await syncCapabilitiesAsync(bundleId, options);
|
|
60
83
|
}
|
|
61
84
|
}
|
|
62
|
-
|
|
85
|
+
/**
|
|
86
|
+
* Creates an App Clip bundle identifier.
|
|
87
|
+
* App Clips require the parent bundle ID's opaque ID for registration.
|
|
88
|
+
*/
|
|
89
|
+
async function createAppClipBundleIdAsync(context, { name, bundleIdentifier, parentBundleIdentifier, }) {
|
|
90
|
+
// First, find the parent bundle ID to get its opaque ID
|
|
91
|
+
const parentBundleId = await apple_utils_1.BundleId.findAsync(context, {
|
|
92
|
+
identifier: parentBundleIdentifier,
|
|
93
|
+
});
|
|
94
|
+
if (!parentBundleId) {
|
|
95
|
+
throw new Error(`Cannot create App Clip bundle identifier "${bundleIdentifier}" because the parent bundle identifier "${parentBundleIdentifier}" is not registered. ` +
|
|
96
|
+
`Please ensure the parent app's bundle identifier is registered first.`);
|
|
97
|
+
}
|
|
98
|
+
// Create the App Clip bundle ID with the parent relationship
|
|
99
|
+
return await apple_utils_1.BundleId.createAppClipAsync(context, {
|
|
100
|
+
name,
|
|
101
|
+
identifier: bundleIdentifier,
|
|
102
|
+
parentBundleIdId: parentBundleId.id,
|
|
103
|
+
});
|
|
104
|
+
}
|
|
63
105
|
async function syncCapabilitiesAsync(bundleId, { entitlements, ...rest }) {
|
|
64
106
|
const spinner = (0, ora_1.ora)(`Syncing capabilities`).start();
|
|
65
107
|
// Stop spinning in debug mode so we can print other information
|
|
@@ -80,7 +122,6 @@ async function syncCapabilitiesAsync(bundleId, { entitlements, ...rest }) {
|
|
|
80
122
|
// Always run this after syncing the capabilities...
|
|
81
123
|
await syncCapabilityIdentifiersAsync(bundleId, { entitlements, ...rest });
|
|
82
124
|
}
|
|
83
|
-
exports.syncCapabilitiesAsync = syncCapabilitiesAsync;
|
|
84
125
|
const buildMessage = (title, items) => items.length ? `${title}: ${items.join(', ')}` : '';
|
|
85
126
|
async function syncCapabilityIdentifiersAsync(bundleId, { entitlements }) {
|
|
86
127
|
const spinner = (0, ora_1.ora)(`Syncing capabilities identifiers`).start();
|
|
@@ -100,7 +141,6 @@ async function syncCapabilityIdentifiersAsync(bundleId, { entitlements }) {
|
|
|
100
141
|
throw err;
|
|
101
142
|
}
|
|
102
143
|
}
|
|
103
|
-
exports.syncCapabilityIdentifiersAsync = syncCapabilityIdentifiersAsync;
|
|
104
144
|
async function ensureAppExistsAsync(userAuthCtx, { name, language, companyName, bundleIdentifier, sku, }) {
|
|
105
145
|
const context = (0, authenticate_1.getRequestContext)(userAuthCtx);
|
|
106
146
|
const spinner = (0, ora_1.ora)(`Linking to App Store Connect ${chalk_1.default.dim(bundleIdentifier)}`).start();
|
|
@@ -137,7 +177,6 @@ async function ensureAppExistsAsync(userAuthCtx, { name, language, companyName,
|
|
|
137
177
|
spinner.succeed(`Prepared App Store Connect for ${chalk_1.default.bold(name)} ${chalk_1.default.dim(bundleIdentifier)}`);
|
|
138
178
|
return app;
|
|
139
179
|
}
|
|
140
|
-
exports.ensureAppExistsAsync = ensureAppExistsAsync;
|
|
141
180
|
function sanitizeName(name) {
|
|
142
181
|
return (name
|
|
143
182
|
// Replace emojis with a `-`
|
|
@@ -203,8 +242,6 @@ async function createAppAsync(context, props, retryCount = 0) {
|
|
|
203
242
|
throw error;
|
|
204
243
|
}
|
|
205
244
|
}
|
|
206
|
-
exports.createAppAsync = createAppAsync;
|
|
207
245
|
function isAppleError(error) {
|
|
208
246
|
return 'data' in error && 'errors' in error.data && Array.isArray(error.data.errors);
|
|
209
247
|
}
|
|
210
|
-
exports.isAppleError = isAppleError;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ensureTestFlightGroupExistsAsync =
|
|
3
|
+
exports.ensureTestFlightGroupExistsAsync = ensureTestFlightGroupExistsAsync;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
6
6
|
const ensureAppExists_1 = require("./ensureAppExists");
|
|
@@ -36,7 +36,6 @@ async function ensureTestFlightGroupExistsAsync(app) {
|
|
|
36
36
|
const admins = users.filter(user => user.attributes.roles?.includes(apple_utils_1.UserRole.ADMIN));
|
|
37
37
|
await addAllUsersToInternalGroupAsync(group, admins);
|
|
38
38
|
}
|
|
39
|
-
exports.ensureTestFlightGroupExistsAsync = ensureTestFlightGroupExistsAsync;
|
|
40
39
|
async function ensureInternalGroupAsync({ groups, app, }) {
|
|
41
40
|
let betaGroup = groups.find(group => group.attributes.name === AUTO_GROUP_NAME);
|
|
42
41
|
if (!betaGroup) {
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.EXPO_NO_KEYCHAIN = void 0;
|
|
4
|
+
exports.deletePasswordAsync = deletePasswordAsync;
|
|
5
|
+
exports.getPasswordAsync = getPasswordAsync;
|
|
6
|
+
exports.setPasswordAsync = setPasswordAsync;
|
|
4
7
|
const tslib_1 = require("tslib");
|
|
5
8
|
const keychain_1 = tslib_1.__importDefault(require("keychain"));
|
|
6
9
|
const KEYCHAIN_TYPE = 'internet';
|
|
@@ -28,7 +31,6 @@ async function deletePasswordAsync({ username, serviceName, }) {
|
|
|
28
31
|
});
|
|
29
32
|
});
|
|
30
33
|
}
|
|
31
|
-
exports.deletePasswordAsync = deletePasswordAsync;
|
|
32
34
|
async function getPasswordAsync({ username, serviceName, }) {
|
|
33
35
|
if (!IS_MAC) {
|
|
34
36
|
return null;
|
|
@@ -48,7 +50,6 @@ async function getPasswordAsync({ username, serviceName, }) {
|
|
|
48
50
|
});
|
|
49
51
|
});
|
|
50
52
|
}
|
|
51
|
-
exports.getPasswordAsync = getPasswordAsync;
|
|
52
53
|
async function setPasswordAsync({ serviceName, username, password, }) {
|
|
53
54
|
if (!IS_MAC) {
|
|
54
55
|
return await Promise.resolve(false);
|
|
@@ -64,4 +65,3 @@ async function setPasswordAsync({ serviceName, username, password, }) {
|
|
|
64
65
|
});
|
|
65
66
|
});
|
|
66
67
|
}
|
|
67
|
-
exports.setPasswordAsync = setPasswordAsync;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@expo/apple-utils/ts-declarations/expo__app-store" />
|
|
2
1
|
import { DistributionCertificate, ProvisioningProfile, ProvisioningProfileStoreInfo } from './Credentials.types';
|
|
3
2
|
import { AuthCtx } from './authenticateTypes';
|
|
4
3
|
import { ApplePlatform } from './constants';
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ProfileClass = void 0;
|
|
4
|
+
exports.useExistingProvisioningProfileAsync = useExistingProvisioningProfileAsync;
|
|
5
|
+
exports.listProvisioningProfilesAsync = listProvisioningProfilesAsync;
|
|
6
|
+
exports.createProvisioningProfileAsync = createProvisioningProfileAsync;
|
|
7
|
+
exports.revokeProvisioningProfileAsync = revokeProvisioningProfileAsync;
|
|
4
8
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
5
9
|
const authenticate_1 = require("./authenticate");
|
|
6
10
|
const bundleId_1 = require("./bundleId");
|
|
@@ -118,7 +122,6 @@ async function useExistingProvisioningProfileAsync(authCtx, bundleIdentifier, pr
|
|
|
118
122
|
throw error;
|
|
119
123
|
}
|
|
120
124
|
}
|
|
121
|
-
exports.useExistingProvisioningProfileAsync = useExistingProvisioningProfileAsync;
|
|
122
125
|
async function listProvisioningProfilesAsync(authCtx, bundleIdentifier, applePlatform, profileClass = ProfileClass.General) {
|
|
123
126
|
const spinner = (0, ora_1.ora)(`Fetching Apple provisioning profiles`).start();
|
|
124
127
|
try {
|
|
@@ -134,7 +137,6 @@ async function listProvisioningProfilesAsync(authCtx, bundleIdentifier, applePla
|
|
|
134
137
|
throw error;
|
|
135
138
|
}
|
|
136
139
|
}
|
|
137
|
-
exports.listProvisioningProfilesAsync = listProvisioningProfilesAsync;
|
|
138
140
|
async function createProvisioningProfileAsync(authCtx, bundleIdentifier, distCert, profileName, applePlatform, profileClass = ProfileClass.General) {
|
|
139
141
|
const spinner = (0, ora_1.ora)(`Creating Apple provisioning profile`).start();
|
|
140
142
|
try {
|
|
@@ -161,7 +163,6 @@ async function createProvisioningProfileAsync(authCtx, bundleIdentifier, distCer
|
|
|
161
163
|
throw error;
|
|
162
164
|
}
|
|
163
165
|
}
|
|
164
|
-
exports.createProvisioningProfileAsync = createProvisioningProfileAsync;
|
|
165
166
|
async function revokeProvisioningProfileAsync(authCtx, bundleIdentifier, applePlatform, profileClass = ProfileClass.General) {
|
|
166
167
|
const spinner = (0, ora_1.ora)(`Revoking Apple provisioning profile`).start();
|
|
167
168
|
try {
|
|
@@ -178,4 +179,3 @@ async function revokeProvisioningProfileAsync(authCtx, bundleIdentifier, applePl
|
|
|
178
179
|
throw error;
|
|
179
180
|
}
|
|
180
181
|
}
|
|
181
|
-
exports.revokeProvisioningProfileAsync = revokeProvisioningProfileAsync;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createOrReuseAdhocProvisioningProfileAsync =
|
|
3
|
+
exports.createOrReuseAdhocProvisioningProfileAsync = createOrReuseAdhocProvisioningProfileAsync;
|
|
4
4
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
5
5
|
const authenticate_1 = require("./authenticate");
|
|
6
6
|
const bundleId_1 = require("./bundleId");
|
|
@@ -190,4 +190,3 @@ async function createOrReuseAdhocProvisioningProfileAsync(authCtx, udids, bundle
|
|
|
190
190
|
throw error;
|
|
191
191
|
}
|
|
192
192
|
}
|
|
193
|
-
exports.createOrReuseAdhocProvisioningProfileAsync = createOrReuseAdhocProvisioningProfileAsync;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.APPLE_KEYS_TOO_MANY_GENERATED_ERROR = void 0;
|
|
4
|
+
exports.listPushKeysAsync = listPushKeysAsync;
|
|
5
|
+
exports.createPushKeyAsync = createPushKeyAsync;
|
|
6
|
+
exports.revokePushKeyAsync = revokePushKeyAsync;
|
|
4
7
|
const tslib_1 = require("tslib");
|
|
5
8
|
const apple_utils_1 = require("@expo/apple-utils");
|
|
6
9
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
@@ -31,7 +34,6 @@ async function listPushKeysAsync(userAuthCtx) {
|
|
|
31
34
|
throw error;
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
|
-
exports.listPushKeysAsync = listPushKeysAsync;
|
|
35
37
|
/**
|
|
36
38
|
* Create a new push key on Apple servers.
|
|
37
39
|
* **Does not support App Store Connect API (CI).**
|
|
@@ -60,7 +62,6 @@ async function createPushKeyAsync(userAuthCtx, name = `Expo Push Notifications K
|
|
|
60
62
|
throw err;
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
|
-
exports.createPushKeyAsync = createPushKeyAsync;
|
|
64
65
|
/**
|
|
65
66
|
* Revoke an existing push key on Apple servers.
|
|
66
67
|
* **Does not support App Store Connect API (CI).**
|
|
@@ -79,4 +80,3 @@ async function revokePushKeyAsync(userAuthCtx, ids) {
|
|
|
79
80
|
throw error;
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
|
-
exports.revokePushKeyAsync = revokePushKeyAsync;
|