eas-cli 16.28.0 → 16.30.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 -2
- 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
package/build/channel/queries.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.CHANNELS_LIMIT = void 0;
|
|
4
|
+
exports.selectChannelOnAppAsync = selectChannelOnAppAsync;
|
|
5
|
+
exports.listAndRenderChannelsOnAppAsync = listAndRenderChannelsOnAppAsync;
|
|
6
|
+
exports.listAndRenderBranchesAndUpdatesOnChannelAsync = listAndRenderBranchesAndUpdatesOnChannelAsync;
|
|
7
|
+
exports.createChannelOnAppAsync = createChannelOnAppAsync;
|
|
8
|
+
exports.ensureChannelExistsAsync = ensureChannelExistsAsync;
|
|
9
|
+
exports.doesChannelExistAsync = doesChannelExistAsync;
|
|
10
|
+
exports.createAndLinkChannelAsync = createAndLinkChannelAsync;
|
|
4
11
|
const tslib_1 = require("tslib");
|
|
5
12
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
13
|
const graphql_1 = require("graphql");
|
|
@@ -38,7 +45,6 @@ async function selectChannelOnAppAsync(graphqlClient, { projectId, selectionProm
|
|
|
38
45
|
}
|
|
39
46
|
return updateChannel;
|
|
40
47
|
}
|
|
41
|
-
exports.selectChannelOnAppAsync = selectChannelOnAppAsync;
|
|
42
48
|
async function listAndRenderChannelsOnAppAsync(graphqlClient, { projectId, paginatedQueryOptions, }) {
|
|
43
49
|
if (paginatedQueryOptions.nonInteractive) {
|
|
44
50
|
const channels = await queryChannelsOnAppAsync(graphqlClient, {
|
|
@@ -62,7 +68,6 @@ async function listAndRenderChannelsOnAppAsync(graphqlClient, { projectId, pagin
|
|
|
62
68
|
});
|
|
63
69
|
}
|
|
64
70
|
}
|
|
65
|
-
exports.listAndRenderChannelsOnAppAsync = listAndRenderChannelsOnAppAsync;
|
|
66
71
|
async function listAndRenderBranchesAndUpdatesOnChannelAsync(graphqlClient, { projectId: appId, channelName, paginatedQueryOptions, }) {
|
|
67
72
|
const channel = await ChannelQuery_1.ChannelQuery.viewUpdateChannelAsync(graphqlClient, { appId, channelName });
|
|
68
73
|
renderChannelHeaderContent({
|
|
@@ -98,7 +103,6 @@ async function listAndRenderBranchesAndUpdatesOnChannelAsync(graphqlClient, { pr
|
|
|
98
103
|
});
|
|
99
104
|
}
|
|
100
105
|
}
|
|
101
|
-
exports.listAndRenderBranchesAndUpdatesOnChannelAsync = listAndRenderBranchesAndUpdatesOnChannelAsync;
|
|
102
106
|
async function queryChannelsOnAppAsync(graphqlClient, { appId, offset, limit }) {
|
|
103
107
|
return await ChannelQuery_1.ChannelQuery.viewUpdateChannelsOnAppAsync(graphqlClient, {
|
|
104
108
|
appId,
|
|
@@ -174,7 +178,6 @@ async function createChannelOnAppAsync(graphqlClient, { appId, branchId, channel
|
|
|
174
178
|
})
|
|
175
179
|
.toPromise());
|
|
176
180
|
}
|
|
177
|
-
exports.createChannelOnAppAsync = createChannelOnAppAsync;
|
|
178
181
|
async function ensureChannelExistsAsync(graphqlClient, { appId, branchId, channelName }) {
|
|
179
182
|
try {
|
|
180
183
|
await createChannelOnAppAsync(graphqlClient, {
|
|
@@ -191,7 +194,6 @@ async function ensureChannelExistsAsync(graphqlClient, { appId, branchId, channe
|
|
|
191
194
|
}
|
|
192
195
|
}
|
|
193
196
|
}
|
|
194
|
-
exports.ensureChannelExistsAsync = ensureChannelExistsAsync;
|
|
195
197
|
async function doesChannelExistAsync(graphqlClient, { appId, channelName }) {
|
|
196
198
|
try {
|
|
197
199
|
await ChannelQuery_1.ChannelQuery.viewUpdateChannelBasicInfoAsync(graphqlClient, {
|
|
@@ -207,7 +209,6 @@ async function doesChannelExistAsync(graphqlClient, { appId, channelName }) {
|
|
|
207
209
|
}
|
|
208
210
|
return true;
|
|
209
211
|
}
|
|
210
|
-
exports.doesChannelExistAsync = doesChannelExistAsync;
|
|
211
212
|
/**
|
|
212
213
|
* Creates a channel and links it to a branch with the same name.
|
|
213
214
|
*
|
|
@@ -262,4 +263,3 @@ async function createAndLinkChannelAsync(graphqlClient, { appId, channelName, sh
|
|
|
262
263
|
}
|
|
263
264
|
return newChannel;
|
|
264
265
|
}
|
|
265
|
-
exports.createAndLinkChannelAsync = createAndLinkChannelAsync;
|
package/build/channel/utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getUpdateBranch =
|
|
3
|
+
exports.getUpdateBranch = getUpdateBranch;
|
|
4
4
|
function getUpdateBranchNullable(channel, branchId) {
|
|
5
5
|
const updateBranches = channel.updateBranches;
|
|
6
6
|
const updateBranch = updateBranches.find(branch => branch.id === branchId);
|
|
@@ -13,4 +13,3 @@ function getUpdateBranch(channel, branchId) {
|
|
|
13
13
|
}
|
|
14
14
|
return updateBranch;
|
|
15
15
|
}
|
|
16
|
-
exports.getUpdateBranch = getUpdateBranch;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ensureBuildExistsAsync = ensureBuildExistsAsync;
|
|
4
|
+
exports.fetchBuildsAsync = fetchBuildsAsync;
|
|
5
|
+
exports.formatBuild = formatBuild;
|
|
4
6
|
const tslib_1 = require("tslib");
|
|
5
7
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
8
|
const generated_1 = require("../graphql/generated");
|
|
@@ -18,7 +20,6 @@ async function ensureBuildExistsAsync(graphqlClient, buildId) {
|
|
|
18
20
|
throw new Error(`Couldn't find a build matching the id ${buildId}`);
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
|
-
exports.ensureBuildExistsAsync = ensureBuildExistsAsync;
|
|
22
23
|
async function fetchBuildsAsync({ graphqlClient, projectId, filters, }) {
|
|
23
24
|
let builds;
|
|
24
25
|
const queryFilters = {};
|
|
@@ -53,7 +54,6 @@ async function fetchBuildsAsync({ graphqlClient, projectId, filters, }) {
|
|
|
53
54
|
builds.sort((buildA, buildB) => (buildA.createdAt > buildB.createdAt ? -1 : 1));
|
|
54
55
|
return builds;
|
|
55
56
|
}
|
|
56
|
-
exports.fetchBuildsAsync = fetchBuildsAsync;
|
|
57
57
|
function formatBuild(build) {
|
|
58
58
|
const platform = platform_1.appPlatformEmojis[build.platform];
|
|
59
59
|
const startTime = new Date(build.createdAt).toLocaleString();
|
|
@@ -82,4 +82,3 @@ function formatBuild(build) {
|
|
|
82
82
|
const status = chalk_1.default.blue(statusText);
|
|
83
83
|
return `${platform} Started at: ${startTime}, Status: ${status}, Id: ${build.id}`;
|
|
84
84
|
}
|
|
85
|
-
exports.formatBuild = formatBuild;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createGraphqlClient =
|
|
3
|
+
exports.createGraphqlClient = createGraphqlClient;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const core_1 = require("@urql/core");
|
|
6
6
|
const exchange_retry_1 = require("@urql/exchange-retry");
|
|
@@ -39,4 +39,3 @@ function createGraphqlClient(authInfo) {
|
|
|
39
39
|
},
|
|
40
40
|
});
|
|
41
41
|
}
|
|
42
|
-
exports.createGraphqlClient = createGraphqlClient;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.findProjectRootAsync = findProjectRootAsync;
|
|
4
|
+
exports.findProjectDirAndVerifyProjectSetupAsync = findProjectDirAndVerifyProjectSetupAsync;
|
|
4
5
|
const tslib_1 = require("tslib");
|
|
5
6
|
const eas_json_1 = require("@expo/eas-json");
|
|
6
7
|
const PackageManagerUtils = tslib_1.__importStar(require("@expo/package-manager"));
|
|
@@ -83,7 +84,6 @@ async function findProjectRootAsync({ cwd, defaultToProcessCwd = false, } = {})
|
|
|
83
84
|
return projectRootDir;
|
|
84
85
|
}
|
|
85
86
|
}
|
|
86
|
-
exports.findProjectRootAsync = findProjectRootAsync;
|
|
87
87
|
let ranEnsureEasCliIsNotInDependencies = false;
|
|
88
88
|
/**
|
|
89
89
|
* Determine the project root directory and ensure some constraints about the project setup
|
|
@@ -101,4 +101,3 @@ async function findProjectDirAndVerifyProjectSetupAsync({ cwd, } = {}) {
|
|
|
101
101
|
}
|
|
102
102
|
return projectDir;
|
|
103
103
|
}
|
|
104
|
-
exports.findProjectDirAndVerifyProjectSetupAsync = findProjectDirAndVerifyProjectSetupAsync;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.saveProjectIdToAppConfigAsync = saveProjectIdToAppConfigAsync;
|
|
4
|
+
exports.getProjectIdAsync = getProjectIdAsync;
|
|
5
|
+
exports.validateOrSetProjectIdAsync = validateOrSetProjectIdAsync;
|
|
4
6
|
const tslib_1 = require("tslib");
|
|
5
7
|
const config_1 = require("@expo/config");
|
|
6
8
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
@@ -45,7 +47,6 @@ async function saveProjectIdToAppConfigAsync(projectDir, projectId, options = {}
|
|
|
45
47
|
throw new Error('Unexpected result type from modifyConfigAsync');
|
|
46
48
|
}
|
|
47
49
|
}
|
|
48
|
-
exports.saveProjectIdToAppConfigAsync = saveProjectIdToAppConfigAsync;
|
|
49
50
|
/**
|
|
50
51
|
* Get the EAS project ID from the app config. If the project ID is not set in the config,
|
|
51
52
|
* use the owner/slug to identify an EAS project on the server (asking for confirmation first),
|
|
@@ -67,7 +68,6 @@ async function getProjectIdAsync(sessionManager, exp, options) {
|
|
|
67
68
|
const projectId = await validateOrSetProjectIdAsync({ exp, graphqlClient, actor, options });
|
|
68
69
|
return projectId;
|
|
69
70
|
}
|
|
70
|
-
exports.getProjectIdAsync = getProjectIdAsync;
|
|
71
71
|
async function validateOrSetProjectIdAsync({ exp, graphqlClient, actor, options, cwd, }) {
|
|
72
72
|
const localProjectId = exp.extra?.eas?.projectId;
|
|
73
73
|
if (localProjectId) {
|
|
@@ -135,4 +135,3 @@ async function validateOrSetProjectIdAsync({ exp, graphqlClient, actor, options,
|
|
|
135
135
|
}
|
|
136
136
|
return projectId;
|
|
137
137
|
}
|
|
138
|
-
exports.validateOrSetProjectIdAsync = validateOrSetProjectIdAsync;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.loadServerSideEnvironmentVariablesAsync =
|
|
3
|
+
exports.loadServerSideEnvironmentVariablesAsync = loadServerSideEnvironmentVariablesAsync;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const EnvironmentVariablesQuery_1 = require("../../../graphql/queries/EnvironmentVariablesQuery");
|
|
6
6
|
const log_1 = tslib_1.__importDefault(require("../../../log"));
|
|
@@ -28,4 +28,3 @@ async function loadServerSideEnvironmentVariablesAsync({ environment, projectId,
|
|
|
28
28
|
cachedServerSideEnvironmentVariables[environment] = serverEnvVars;
|
|
29
29
|
return serverEnvVars;
|
|
30
30
|
}
|
|
31
|
-
exports.loadServerSideEnvironmentVariablesAsync = loadServerSideEnvironmentVariablesAsync;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const isValidExperienceName: (experienceName: string) => boolean;
|
|
2
|
+
export declare const experienceToAccountName: (experienceName: string) => string;
|
|
3
|
+
export declare const fullNameToSlug: (fullName: string) => string | null;
|
|
4
|
+
export declare const isValidSlugStrict: (slug: string) => boolean;
|
|
5
|
+
export declare const FORBIDDEN_NAMES: string[];
|
|
6
|
+
export declare function isSlugForbidden(slug: string): boolean;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FORBIDDEN_NAMES = exports.isValidSlugStrict = exports.fullNameToSlug = exports.experienceToAccountName = exports.isValidExperienceName = void 0;
|
|
4
|
+
exports.isSlugForbidden = isSlugForbidden;
|
|
5
|
+
const tslib_1 = require("tslib");
|
|
6
|
+
/**
|
|
7
|
+
* TODO: Move to eas-build repo
|
|
8
|
+
*/
|
|
9
|
+
const invariant_1 = tslib_1.__importDefault(require("invariant"));
|
|
10
|
+
const EXPERIENCE_NAME_REGEX = /^@(.*?)\/(.*)/; // @<captureGroup1>/<captureGroup2>
|
|
11
|
+
const SLUG_REGEX_STRICT = /^[a-zA-Z0-9_\\-]+$/; // from xdl-schemas slug
|
|
12
|
+
const isValidExperienceName = (experienceName) => {
|
|
13
|
+
const matches = experienceName.match(EXPERIENCE_NAME_REGEX);
|
|
14
|
+
return matches !== null && matches[1].length > 0 && matches[2].length > 0;
|
|
15
|
+
};
|
|
16
|
+
exports.isValidExperienceName = isValidExperienceName;
|
|
17
|
+
const experienceToAccountName = (experienceName) => {
|
|
18
|
+
const matches = experienceName.match(EXPERIENCE_NAME_REGEX);
|
|
19
|
+
const accountName = matches ? matches[1] : null;
|
|
20
|
+
(0, invariant_1.default)(accountName, `The experience name "${experienceName}" is malformed`);
|
|
21
|
+
return accountName;
|
|
22
|
+
};
|
|
23
|
+
exports.experienceToAccountName = experienceToAccountName;
|
|
24
|
+
const fullNameToSlug = (fullName) => {
|
|
25
|
+
const match = fullName.match(EXPERIENCE_NAME_REGEX);
|
|
26
|
+
return match ? match[2] : null;
|
|
27
|
+
};
|
|
28
|
+
exports.fullNameToSlug = fullNameToSlug;
|
|
29
|
+
const isValidSlugStrict = (slug) => SLUG_REGEX_STRICT.test(slug);
|
|
30
|
+
exports.isValidSlugStrict = isValidSlugStrict;
|
|
31
|
+
// keep this list in sync with our project creation CLI https://github.com/expo/expo/blob/main/packages/create-expo/src/Template.ts
|
|
32
|
+
exports.FORBIDDEN_NAMES = [
|
|
33
|
+
'react-native',
|
|
34
|
+
'react',
|
|
35
|
+
'react-dom',
|
|
36
|
+
'react-native-web',
|
|
37
|
+
'expo',
|
|
38
|
+
'expo-router',
|
|
39
|
+
];
|
|
40
|
+
function isSlugForbidden(slug) {
|
|
41
|
+
return exports.FORBIDDEN_NAMES.includes(slug);
|
|
42
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.cloneTemplateAsync = cloneTemplateAsync;
|
|
4
|
+
exports.installProjectDependenciesAsync = installProjectDependenciesAsync;
|
|
5
|
+
exports.initializeGitRepositoryAsync = initializeGitRepositoryAsync;
|
|
4
6
|
const tslib_1 = require("tslib");
|
|
5
7
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
8
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
@@ -30,7 +32,6 @@ async function cloneTemplateAsync(targetProjectDir) {
|
|
|
30
32
|
spinner.succeed(`Cloned the project to ${(0, utils_1.printDirectory)(finalTargetProjectDirectory)}`);
|
|
31
33
|
return finalTargetProjectDirectory;
|
|
32
34
|
}
|
|
33
|
-
exports.cloneTemplateAsync = cloneTemplateAsync;
|
|
34
35
|
async function installProjectDependenciesAsync(projectDir, packageManager) {
|
|
35
36
|
const spinner = (0, ora_1.ora)(`${chalk_1.default.bold('Installing project dependencies')}`).start();
|
|
36
37
|
await (0, installDependencies_1.installDependenciesAsync)({
|
|
@@ -51,7 +52,6 @@ async function installProjectDependenciesAsync(projectDir, packageManager) {
|
|
|
51
52
|
}
|
|
52
53
|
spinner.succeed(`Installed project dependencies`);
|
|
53
54
|
}
|
|
54
|
-
exports.installProjectDependenciesAsync = installProjectDependenciesAsync;
|
|
55
55
|
async function initializeGitRepositoryAsync(projectDir) {
|
|
56
56
|
const spinner = (0, ora_1.ora)(`${chalk_1.default.bold('Initializing Git repository')}`).start();
|
|
57
57
|
await fs_extra_1.default.remove(path_1.default.join(projectDir, '.git'));
|
|
@@ -67,4 +67,3 @@ async function initializeGitRepositoryAsync(projectDir) {
|
|
|
67
67
|
}
|
|
68
68
|
spinner.succeed(`Initialized Git repository`);
|
|
69
69
|
}
|
|
70
|
-
exports.initializeGitRepositoryAsync = initializeGitRepositoryAsync;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.generateProjectConfigAsync = generateProjectConfigAsync;
|
|
4
|
+
exports.promptForProjectAccountAsync = promptForProjectAccountAsync;
|
|
5
|
+
exports.getAccountChoices = getAccountChoices;
|
|
6
|
+
exports.findAvailableProjectNameAsync = findAvailableProjectNameAsync;
|
|
4
7
|
const tslib_1 = require("tslib");
|
|
5
8
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
6
9
|
const nanoid_1 = require("nanoid");
|
|
@@ -49,7 +52,6 @@ async function generateProjectConfigAsync(pathArg, options) {
|
|
|
49
52
|
projectDirectory,
|
|
50
53
|
};
|
|
51
54
|
}
|
|
52
|
-
exports.generateProjectConfigAsync = generateProjectConfigAsync;
|
|
53
55
|
function getAccountPermissionsMap(actor) {
|
|
54
56
|
const permissionsMap = new Map();
|
|
55
57
|
for (const account of actor.accounts) {
|
|
@@ -76,7 +78,6 @@ async function promptForProjectAccountAsync(actor) {
|
|
|
76
78
|
choices: getAccountChoices(actor, permissionsMap),
|
|
77
79
|
})).account.name;
|
|
78
80
|
}
|
|
79
|
-
exports.promptForProjectAccountAsync = promptForProjectAccountAsync;
|
|
80
81
|
function getAccountChoices(actor, permissionsMap) {
|
|
81
82
|
const permissions = permissionsMap ?? getAccountPermissionsMap(actor);
|
|
82
83
|
const sortedAccounts = [...actor.accounts].sort((a, _b) => (a.ownerUserActor ? 1 : -1));
|
|
@@ -99,7 +100,6 @@ function getAccountChoices(actor, permissionsMap) {
|
|
|
99
100
|
};
|
|
100
101
|
});
|
|
101
102
|
}
|
|
102
|
-
exports.getAccountChoices = getAccountChoices;
|
|
103
103
|
async function verifyProjectDoesNotExistAsync(graphqlClient, accountName, projectName, { silent = false } = {}) {
|
|
104
104
|
const existingProjectId = await (0, fetchOrCreateProjectIDForWriteToConfigWithConfirmationAsync_1.findProjectIdByAccountNameAndSlugNullableAsync)(graphqlClient, accountName, projectName);
|
|
105
105
|
const doesNotExist = existingProjectId === null;
|
|
@@ -127,4 +127,3 @@ async function findAvailableProjectNameAsync(baseName, parentDirectory, { graphq
|
|
|
127
127
|
projectDirectory,
|
|
128
128
|
};
|
|
129
129
|
}
|
|
130
|
-
exports.findAvailableProjectNameAsync = findAvailableProjectNameAsync;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.cleanAndPrefix = cleanAndPrefix;
|
|
4
|
+
exports.generateAppConfigAsync = generateAppConfigAsync;
|
|
5
|
+
exports.generateEasConfigAsync = generateEasConfigAsync;
|
|
6
|
+
exports.updatePackageJsonAsync = updatePackageJsonAsync;
|
|
7
|
+
exports.copyProjectTemplatesAsync = copyProjectTemplatesAsync;
|
|
8
|
+
exports.updateReadmeAsync = updateReadmeAsync;
|
|
4
9
|
const tslib_1 = require("tslib");
|
|
5
10
|
const eas_json_1 = require("@expo/eas-json");
|
|
6
11
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
@@ -21,7 +26,6 @@ function cleanAndPrefix(_string, type) {
|
|
|
21
26
|
const cleaned = string.replaceAll(pattern, '');
|
|
22
27
|
return prefix + cleaned;
|
|
23
28
|
}
|
|
24
|
-
exports.cleanAndPrefix = cleanAndPrefix;
|
|
25
29
|
async function generateAppConfigAsync(projectDir, app) {
|
|
26
30
|
const user = cleanAndPrefix(app.ownerAccount.name, 'user');
|
|
27
31
|
const slug = cleanAndPrefix(app.slug, 'app');
|
|
@@ -56,7 +60,6 @@ async function generateAppConfigAsync(projectDir, app) {
|
|
|
56
60
|
const appJsonPath = path_1.default.join(projectDir, 'app.json');
|
|
57
61
|
await fs_extra_1.default.writeJson(appJsonPath, { expo: mergedConfig }, { spaces: 2 });
|
|
58
62
|
}
|
|
59
|
-
exports.generateAppConfigAsync = generateAppConfigAsync;
|
|
60
63
|
async function generateEasConfigAsync(projectDir) {
|
|
61
64
|
const easBuildGitHubConfig = {
|
|
62
65
|
android: {
|
|
@@ -101,7 +104,6 @@ async function generateEasConfigAsync(projectDir) {
|
|
|
101
104
|
const easJsonPath = path_1.default.join(projectDir, 'eas.json');
|
|
102
105
|
await fs_extra_1.default.writeJson(easJsonPath, easJson, { spaces: 2 });
|
|
103
106
|
}
|
|
104
|
-
exports.generateEasConfigAsync = generateEasConfigAsync;
|
|
105
107
|
async function updatePackageJsonAsync(projectDir) {
|
|
106
108
|
const packageJsonPath = path_1.default.join(projectDir, 'package.json');
|
|
107
109
|
const packageJson = await fs_extra_1.default.readJson(packageJsonPath);
|
|
@@ -114,7 +116,6 @@ async function updatePackageJsonAsync(projectDir) {
|
|
|
114
116
|
packageJson.scripts.deploy = 'npx eas-cli@latest workflow:run deploy-to-production.yml';
|
|
115
117
|
await fs_extra_1.default.writeJson(packageJsonPath, packageJson, { spaces: 2 });
|
|
116
118
|
}
|
|
117
|
-
exports.updatePackageJsonAsync = updatePackageJsonAsync;
|
|
118
119
|
async function copyProjectTemplatesAsync(projectDir) {
|
|
119
120
|
const templatesSourceDir = path_1.default.join(__dirname, 'templates');
|
|
120
121
|
// Copy everything from templates to projectDir, skipping readme-additions.md
|
|
@@ -126,7 +127,6 @@ async function copyProjectTemplatesAsync(projectDir) {
|
|
|
126
127
|
},
|
|
127
128
|
});
|
|
128
129
|
}
|
|
129
|
-
exports.copyProjectTemplatesAsync = copyProjectTemplatesAsync;
|
|
130
130
|
async function updateReadmeAsync(projectDir, packageManager) {
|
|
131
131
|
const readmeTemplatePath = path_1.default.join(__dirname, 'templates', 'readme-additions.md');
|
|
132
132
|
const projectReadmePath = path_1.default.join(projectDir, 'README.md');
|
|
@@ -155,4 +155,3 @@ async function updateReadmeAsync(projectDir, packageManager) {
|
|
|
155
155
|
mergedReadme = mergedReadme.replaceAll('npm run', `${packageManager} run`);
|
|
156
156
|
await fs_extra_1.default.writeFile(projectReadmePath, mergedReadme);
|
|
157
157
|
}
|
|
158
|
-
exports.updateReadmeAsync = updateReadmeAsync;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.printDirectory =
|
|
3
|
+
exports.printDirectory = printDirectory;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
6
6
|
/**
|
|
@@ -18,4 +18,3 @@ function printDirectory(directory) {
|
|
|
18
18
|
}
|
|
19
19
|
return absoluteDir;
|
|
20
20
|
}
|
|
21
|
-
exports.printDirectory = printDirectory;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Perform the same validation as the server, to avoid GraphQL errors.
|
|
3
|
+
*/
|
|
4
|
+
export declare function validateFullNameAndSlug(fullName: string, slug: string): void;
|
|
5
|
+
/**
|
|
6
|
+
* Attempt to derive a valid slug name from the one passed in
|
|
7
|
+
*/
|
|
8
|
+
export declare function validSlugName(slug: string): string;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateFullNameAndSlug = validateFullNameAndSlug;
|
|
4
|
+
exports.validSlugName = validSlugName;
|
|
5
|
+
const experienceParser_1 = require("./experienceParser");
|
|
6
|
+
/**
|
|
7
|
+
* Perform the same validation as the server, to avoid GraphQL errors.
|
|
8
|
+
*/
|
|
9
|
+
function validateFullNameAndSlug(fullName, slug) {
|
|
10
|
+
if (!(0, experienceParser_1.isValidExperienceName)(fullName)) {
|
|
11
|
+
throw new Error(`Invalid project name: ${fullName}`);
|
|
12
|
+
}
|
|
13
|
+
if (!(0, experienceParser_1.isValidSlugStrict)(slug)) {
|
|
14
|
+
throw new Error(`Invalid slug: ${slug}`);
|
|
15
|
+
}
|
|
16
|
+
if ((0, experienceParser_1.isSlugForbidden)(slug)) {
|
|
17
|
+
throw new Error(`Cannot create an app named "${slug}" because it would conflict with a dependency of the same name.`);
|
|
18
|
+
}
|
|
19
|
+
if (fullName.length > 255) {
|
|
20
|
+
throw new Error(`Project full name (${fullName}) can not be longer than 255 characters.`);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Attempt to derive a valid slug name from the one passed in
|
|
25
|
+
*/
|
|
26
|
+
function validSlugName(slug) {
|
|
27
|
+
const chars = slug.split('');
|
|
28
|
+
const validChars = chars.filter(char => (0, experienceParser_1.isValidSlugStrict)(char));
|
|
29
|
+
return validChars.join('');
|
|
30
|
+
}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.buildProfileNamesFromProjectAsync = buildProfileNamesFromProjectAsync;
|
|
4
|
+
exports.getBuildProfileAsync = getBuildProfileAsync;
|
|
5
|
+
exports.buildProfilesFromProjectAsync = buildProfilesFromProjectAsync;
|
|
6
|
+
exports.isBuildProfileForDevelopment = isBuildProfileForDevelopment;
|
|
7
|
+
exports.isIosBuildProfileForSimulator = isIosBuildProfileForSimulator;
|
|
8
|
+
exports.addAndroidDevelopmentBuildProfileToEasJsonAsync = addAndroidDevelopmentBuildProfileToEasJsonAsync;
|
|
9
|
+
exports.addIosDevelopmentBuildProfileToEasJsonAsync = addIosDevelopmentBuildProfileToEasJsonAsync;
|
|
10
|
+
exports.addProductionBuildProfileToEasJsonIfNeededAsync = addProductionBuildProfileToEasJsonIfNeededAsync;
|
|
11
|
+
exports.hasBuildConfigureBeenRunAsync = hasBuildConfigureBeenRunAsync;
|
|
12
|
+
exports.hasUpdateConfigureBeenRunAsync = hasUpdateConfigureBeenRunAsync;
|
|
13
|
+
exports.runUpdateConfigureIfNeededAsync = runUpdateConfigureIfNeededAsync;
|
|
14
|
+
exports.runBuildConfigureIfNeededAsync = runBuildConfigureIfNeededAsync;
|
|
4
15
|
const tslib_1 = require("tslib");
|
|
5
16
|
const eas_json_1 = require("@expo/eas-json");
|
|
6
17
|
const configure_1 = tslib_1.__importDefault(require("../../commands/build/configure"));
|
|
@@ -12,13 +23,11 @@ async function buildProfileNamesFromProjectAsync(projectDir) {
|
|
|
12
23
|
const buildProfileNames = new Set(easJsonAccessor && (await eas_json_1.EasJsonUtils.getBuildProfileNamesAsync(easJsonAccessor)));
|
|
13
24
|
return buildProfileNames;
|
|
14
25
|
}
|
|
15
|
-
exports.buildProfileNamesFromProjectAsync = buildProfileNamesFromProjectAsync;
|
|
16
26
|
async function getBuildProfileAsync(projectDir, platform, profileName) {
|
|
17
27
|
const easJsonAccessor = eas_json_1.EasJsonAccessor.fromProjectPath(projectDir);
|
|
18
28
|
const buildProfile = await eas_json_1.EasJsonUtils.getBuildProfileAsync(easJsonAccessor, platform, profileName);
|
|
19
29
|
return buildProfile;
|
|
20
30
|
}
|
|
21
|
-
exports.getBuildProfileAsync = getBuildProfileAsync;
|
|
22
31
|
async function buildProfilesFromProjectAsync(projectDir) {
|
|
23
32
|
const buildProfileNames = await buildProfileNamesFromProjectAsync(projectDir);
|
|
24
33
|
const buildProfiles = new Map();
|
|
@@ -29,7 +38,6 @@ async function buildProfilesFromProjectAsync(projectDir) {
|
|
|
29
38
|
}
|
|
30
39
|
return buildProfiles;
|
|
31
40
|
}
|
|
32
|
-
exports.buildProfilesFromProjectAsync = buildProfilesFromProjectAsync;
|
|
33
41
|
function isBuildProfileForDevelopment(buildProfile, platform) {
|
|
34
42
|
if (buildProfile.developmentClient) {
|
|
35
43
|
return true;
|
|
@@ -42,11 +50,9 @@ function isBuildProfileForDevelopment(buildProfile, platform) {
|
|
|
42
50
|
}
|
|
43
51
|
return false;
|
|
44
52
|
}
|
|
45
|
-
exports.isBuildProfileForDevelopment = isBuildProfileForDevelopment;
|
|
46
53
|
function isIosBuildProfileForSimulator(buildProfile) {
|
|
47
54
|
return buildProfile.simulator ?? false;
|
|
48
55
|
}
|
|
49
|
-
exports.isIosBuildProfileForSimulator = isIosBuildProfileForSimulator;
|
|
50
56
|
async function addAndroidDevelopmentBuildProfileToEasJsonAsync(projectDir, buildProfileName) {
|
|
51
57
|
const easJsonAccessor = eas_json_1.EasJsonAccessor.fromProjectPath(projectDir);
|
|
52
58
|
await easJsonAccessor.readRawJsonAsync();
|
|
@@ -65,7 +71,6 @@ async function addAndroidDevelopmentBuildProfileToEasJsonAsync(projectDir, build
|
|
|
65
71
|
});
|
|
66
72
|
await easJsonAccessor.writeAsync();
|
|
67
73
|
}
|
|
68
|
-
exports.addAndroidDevelopmentBuildProfileToEasJsonAsync = addAndroidDevelopmentBuildProfileToEasJsonAsync;
|
|
69
74
|
async function addIosDevelopmentBuildProfileToEasJsonAsync(projectDir, buildProfileName, simulator) {
|
|
70
75
|
const easJsonAccessor = eas_json_1.EasJsonAccessor.fromProjectPath(projectDir);
|
|
71
76
|
await easJsonAccessor.readRawJsonAsync();
|
|
@@ -85,7 +90,6 @@ async function addIosDevelopmentBuildProfileToEasJsonAsync(projectDir, buildProf
|
|
|
85
90
|
});
|
|
86
91
|
await easJsonAccessor.writeAsync();
|
|
87
92
|
}
|
|
88
|
-
exports.addIosDevelopmentBuildProfileToEasJsonAsync = addIosDevelopmentBuildProfileToEasJsonAsync;
|
|
89
93
|
async function addProductionBuildProfileToEasJsonIfNeededAsync(projectDir) {
|
|
90
94
|
const easJsonAccessor = eas_json_1.EasJsonAccessor.fromProjectPath(projectDir);
|
|
91
95
|
await easJsonAccessor.readRawJsonAsync();
|
|
@@ -111,7 +115,6 @@ async function addProductionBuildProfileToEasJsonIfNeededAsync(projectDir) {
|
|
|
111
115
|
await easJsonAccessor.writeAsync();
|
|
112
116
|
return profileAdded;
|
|
113
117
|
}
|
|
114
|
-
exports.addProductionBuildProfileToEasJsonIfNeededAsync = addProductionBuildProfileToEasJsonIfNeededAsync;
|
|
115
118
|
async function hasBuildConfigureBeenRunAsync({ projectDir, expoConfig, }) {
|
|
116
119
|
// Is there a project ID in the Expo config?
|
|
117
120
|
if (!expoConfig.extra?.eas?.projectId) {
|
|
@@ -127,7 +130,6 @@ async function hasBuildConfigureBeenRunAsync({ projectDir, expoConfig, }) {
|
|
|
127
130
|
}
|
|
128
131
|
return true;
|
|
129
132
|
}
|
|
130
|
-
exports.hasBuildConfigureBeenRunAsync = hasBuildConfigureBeenRunAsync;
|
|
131
133
|
async function hasUpdateConfigureBeenRunAsync({ projectDir, expoConfig, }) {
|
|
132
134
|
// Does the Expo config have an updates URL?
|
|
133
135
|
if (!expoConfig.updates?.url) {
|
|
@@ -143,7 +145,6 @@ async function hasUpdateConfigureBeenRunAsync({ projectDir, expoConfig, }) {
|
|
|
143
145
|
return false;
|
|
144
146
|
}
|
|
145
147
|
}
|
|
146
|
-
exports.hasUpdateConfigureBeenRunAsync = hasUpdateConfigureBeenRunAsync;
|
|
147
148
|
/**
|
|
148
149
|
* Runs update:configure if needed. Returns a boolean (proceed with workflow creation, or not)
|
|
149
150
|
*/
|
|
@@ -175,7 +176,6 @@ async function runUpdateConfigureIfNeededAsync({ projectDir, expoConfig, }) {
|
|
|
175
176
|
return false;
|
|
176
177
|
}
|
|
177
178
|
}
|
|
178
|
-
exports.runUpdateConfigureIfNeededAsync = runUpdateConfigureIfNeededAsync;
|
|
179
179
|
/**
|
|
180
180
|
* Runs build:configure if needed. Returns a boolean (proceed with workflow creation, or not)
|
|
181
181
|
*/
|
|
@@ -207,4 +207,3 @@ async function runBuildConfigureIfNeededAsync({ projectDir, expoConfig, }) {
|
|
|
207
207
|
return false;
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
exports.runBuildConfigureIfNeededAsync = runBuildConfigureIfNeededAsync;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.workflowStarters = exports.WorkflowStarterName = void 0;
|
|
4
|
+
exports.howToRunWorkflow = howToRunWorkflow;
|
|
5
|
+
exports.addBuildJobsToDevelopmentBuildTemplateAsync = addBuildJobsToDevelopmentBuildTemplateAsync;
|
|
6
|
+
exports.ensureProductionBuildProfileExistsAsync = ensureProductionBuildProfileExistsAsync;
|
|
7
|
+
exports.customizeTemplateIfNeededAsync = customizeTemplateIfNeededAsync;
|
|
4
8
|
const tslib_1 = require("tslib");
|
|
5
9
|
const eas_build_job_1 = require("@expo/eas-build-job");
|
|
6
10
|
const buildProfileUtils_1 = require("./buildProfileUtils");
|
|
@@ -253,7 +257,6 @@ function howToRunWorkflow(workflowFileName, workflowStarter) {
|
|
|
253
257
|
}
|
|
254
258
|
return lines.join('\n');
|
|
255
259
|
}
|
|
256
|
-
exports.howToRunWorkflow = howToRunWorkflow;
|
|
257
260
|
exports.workflowStarters = [
|
|
258
261
|
{
|
|
259
262
|
displayName: 'Custom',
|
|
@@ -414,7 +417,6 @@ async function addBuildJobsToDevelopmentBuildTemplateAsync(projectDir, workflowS
|
|
|
414
417
|
workflowStarter.nextSteps = [...nextSteps];
|
|
415
418
|
return workflowStarter;
|
|
416
419
|
}
|
|
417
|
-
exports.addBuildJobsToDevelopmentBuildTemplateAsync = addBuildJobsToDevelopmentBuildTemplateAsync;
|
|
418
420
|
async function ensureProductionBuildProfileExistsAsync(projectDir, workflowStarter) {
|
|
419
421
|
await (0, buildProfileUtils_1.addProductionBuildProfileToEasJsonIfNeededAsync)(projectDir);
|
|
420
422
|
workflowStarter.nextSteps = [
|
|
@@ -423,7 +425,6 @@ async function ensureProductionBuildProfileExistsAsync(projectDir, workflowStart
|
|
|
423
425
|
];
|
|
424
426
|
return workflowStarter;
|
|
425
427
|
}
|
|
426
|
-
exports.ensureProductionBuildProfileExistsAsync = ensureProductionBuildProfileExistsAsync;
|
|
427
428
|
async function customizeTemplateIfNeededAsync(workflowStarter, projectDir, expoConfig) {
|
|
428
429
|
// Ensure EAS Build is configured
|
|
429
430
|
switch (workflowStarter.name) {
|
|
@@ -459,4 +460,3 @@ async function customizeTemplateIfNeededAsync(workflowStarter, projectDir, expoC
|
|
|
459
460
|
return workflowStarter;
|
|
460
461
|
}
|
|
461
462
|
}
|
|
462
|
-
exports.customizeTemplateIfNeededAsync = customizeTemplateIfNeededAsync;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.fetchRawLogsForCustomJobAsync = fetchRawLogsForCustomJobAsync;
|
|
4
|
+
exports.fetchRawLogsForBuildJobAsync = fetchRawLogsForBuildJobAsync;
|
|
4
5
|
const BuildQuery_1 = require("../../graphql/queries/BuildQuery");
|
|
5
6
|
// This function is in a separate module for testing purposes
|
|
6
7
|
async function fetchRawLogsForCustomJobAsync(job) {
|
|
@@ -14,7 +15,6 @@ async function fetchRawLogsForCustomJobAsync(job) {
|
|
|
14
15
|
const rawLogs = await response.text();
|
|
15
16
|
return rawLogs;
|
|
16
17
|
}
|
|
17
|
-
exports.fetchRawLogsForCustomJobAsync = fetchRawLogsForCustomJobAsync;
|
|
18
18
|
async function fetchRawLogsForBuildJobAsync(state, job) {
|
|
19
19
|
const buildId = job.outputs?.build_id;
|
|
20
20
|
if (!buildId) {
|
|
@@ -33,4 +33,3 @@ async function fetchRawLogsForBuildJobAsync(state, job) {
|
|
|
33
33
|
const rawLogs = await response.text();
|
|
34
34
|
return rawLogs;
|
|
35
35
|
}
|
|
36
|
-
exports.fetchRawLogsForBuildJobAsync = fetchRawLogsForBuildJobAsync;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.WorkflowDispatchInputZ = void 0;
|
|
4
|
+
exports.parseInputs = parseInputs;
|
|
5
|
+
exports.parseJsonInputs = parseJsonInputs;
|
|
6
|
+
exports.parseWorkflowInputsFromYaml = parseWorkflowInputsFromYaml;
|
|
7
|
+
exports.maybePromptForMissingInputsAsync = maybePromptForMissingInputsAsync;
|
|
4
8
|
const tslib_1 = require("tslib");
|
|
5
9
|
const YAML = tslib_1.__importStar(require("yaml"));
|
|
6
10
|
const zod_1 = require("zod");
|
|
@@ -60,7 +64,6 @@ function parseInputs(inputFlags) {
|
|
|
60
64
|
}
|
|
61
65
|
return inputs;
|
|
62
66
|
}
|
|
63
|
-
exports.parseInputs = parseInputs;
|
|
64
67
|
function parseJsonInputs(jsonString) {
|
|
65
68
|
try {
|
|
66
69
|
const parsed = JSON.parse(jsonString);
|
|
@@ -73,7 +76,6 @@ function parseJsonInputs(jsonString) {
|
|
|
73
76
|
throw new Error(`Invalid JSON input.`, { cause: error });
|
|
74
77
|
}
|
|
75
78
|
}
|
|
76
|
-
exports.parseJsonInputs = parseJsonInputs;
|
|
77
79
|
function parseWorkflowInputsFromYaml(yamlConfig) {
|
|
78
80
|
try {
|
|
79
81
|
const parsed = YAML.parse(yamlConfig);
|
|
@@ -87,7 +89,6 @@ function parseWorkflowInputsFromYaml(yamlConfig) {
|
|
|
87
89
|
return {};
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
|
-
exports.parseWorkflowInputsFromYaml = parseWorkflowInputsFromYaml;
|
|
91
92
|
async function maybePromptForMissingInputsAsync({ inputSpecs, inputs, }) {
|
|
92
93
|
const requiredInputs = Object.entries(inputSpecs).filter(([_, spec]) => spec.required);
|
|
93
94
|
const missingRequiredInputs = requiredInputs.filter(([key]) => inputs[key] === undefined);
|
|
@@ -103,7 +104,6 @@ async function maybePromptForMissingInputsAsync({ inputSpecs, inputs, }) {
|
|
|
103
104
|
}
|
|
104
105
|
return nextInputs;
|
|
105
106
|
}
|
|
106
|
-
exports.maybePromptForMissingInputsAsync = maybePromptForMissingInputsAsync;
|
|
107
107
|
async function promptForMissingInputAsync({ key, spec, }) {
|
|
108
108
|
const message = spec.description ? `${key} (${spec.description})` : key;
|
|
109
109
|
switch (spec.type) {
|