eas-cli 5.9.0 → 5.9.2
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 +67 -65
- package/build/build/graphql.d.ts +3 -3
- package/build/build/graphql.js +10 -14
- package/build/build/local.js +1 -1
- package/build/build/metadata.js +0 -1
- package/build/build/runBuildAndSubmit.js +5 -1
- package/build/build/utils/devClient.js +10 -0
- package/build/credentials/ios/actions/SetUpAdhocProvisioningProfile.js +5 -9
- package/build/project/customBuildConfig.d.ts +6 -1
- package/build/project/customBuildConfig.js +4 -1
- package/oclif.manifest.json +2714 -1
- package/package.json +10 -10
|
@@ -29,6 +29,16 @@ async function ensureExpoDevClientInstalledForDevClientBuildsAsync({ projectDir,
|
|
|
29
29
|
.map(i => chalk_1.default.bold(platform_1.appPlatformDisplayNames[(0, AppPlatform_1.toAppPlatform)(i)]))
|
|
30
30
|
.join(', ')}`);
|
|
31
31
|
log_1.default.error(`However, we detected that you don't have ${chalk_1.default.bold('expo-dev-client')} installed for your project.`);
|
|
32
|
+
if (nonInteractive) {
|
|
33
|
+
log_1.default.error(`You'll need to install ${chalk_1.default.bold('expo-dev-client')} manually.`);
|
|
34
|
+
log_1.default.error((0, log_1.learnMore)('https://docs.expo.dev/clients/installation/', {
|
|
35
|
+
learnMoreMessage: 'See installation instructions on how to do it.',
|
|
36
|
+
dim: false,
|
|
37
|
+
}));
|
|
38
|
+
core_1.Errors.error(`Install ${chalk_1.default.bold('expo-dev-client')} manually and try again later.`, {
|
|
39
|
+
exit: 1,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
32
42
|
const areAllManaged = workflowPerPlatformList.every(i => i === eas_build_job_1.Workflow.MANAGED);
|
|
33
43
|
if (areAllManaged) {
|
|
34
44
|
const install = await (0, prompts_1.confirmAsync)({
|
|
@@ -86,9 +86,9 @@ class SetUpAdhocProvisioningProfile {
|
|
|
86
86
|
const provisioningProfileStoreInfo = await ctx.appStore.createOrReuseAdhocProvisioningProfileAsync(chosenDevices.map(({ identifier }) => identifier), app.bundleIdentifier, distCert.serialNumber, profileType);
|
|
87
87
|
// 5. Create or update the profile on servers
|
|
88
88
|
const appleAppIdentifier = await ctx.ios.createOrGetExistingAppleAppIdentifierAsync(ctx.graphqlClient, app, appleTeam);
|
|
89
|
-
let appleProvisioningProfile
|
|
89
|
+
let appleProvisioningProfile;
|
|
90
90
|
if (currentBuildCredentials === null || currentBuildCredentials === void 0 ? void 0 : currentBuildCredentials.provisioningProfile) {
|
|
91
|
-
appleProvisioningProfile = await this.reuseCurrentProvisioningProfileAsync(currentBuildCredentials.provisioningProfile, provisioningProfileStoreInfo, ctx, app, appleAppIdentifier
|
|
91
|
+
appleProvisioningProfile = await this.reuseCurrentProvisioningProfileAsync(currentBuildCredentials.provisioningProfile, provisioningProfileStoreInfo, ctx, app, appleAppIdentifier);
|
|
92
92
|
}
|
|
93
93
|
else {
|
|
94
94
|
appleProvisioningProfile = await ctx.ios.createProvisioningProfileAsync(ctx.graphqlClient, app, appleAppIdentifier, {
|
|
@@ -109,7 +109,7 @@ class SetUpAdhocProvisioningProfile {
|
|
|
109
109
|
(0, assert_1.default)(appleProvisioningProfile);
|
|
110
110
|
return await (0, BuildCredentialsUtils_1.assignBuildCredentialsAsync)(ctx, app, generated_1.IosDistributionType.AdHoc, distCert, appleProvisioningProfile, appleTeam);
|
|
111
111
|
}
|
|
112
|
-
async reuseCurrentProvisioningProfileAsync(currentProvisioningProfile, provisioningProfileStoreInfo, ctx, app, appleAppIdentifier
|
|
112
|
+
async reuseCurrentProvisioningProfileAsync(currentProvisioningProfile, provisioningProfileStoreInfo, ctx, app, appleAppIdentifier) {
|
|
113
113
|
if (currentProvisioningProfile.developerPortalIdentifier !==
|
|
114
114
|
provisioningProfileStoreInfo.provisioningProfileId) {
|
|
115
115
|
// If IDs don't match, the profile needs to be deleted and re-created
|
|
@@ -121,17 +121,13 @@ class SetUpAdhocProvisioningProfile {
|
|
|
121
121
|
developerPortalIdentifier: provisioningProfileStoreInfo.provisioningProfileId,
|
|
122
122
|
});
|
|
123
123
|
}
|
|
124
|
-
else
|
|
125
|
-
// If
|
|
124
|
+
else {
|
|
125
|
+
// If not, the profile needs to be updated first
|
|
126
126
|
return await ctx.ios.updateProvisioningProfileAsync(ctx.graphqlClient, currentProvisioningProfile.id, {
|
|
127
127
|
appleProvisioningProfile: provisioningProfileStoreInfo.provisioningProfile,
|
|
128
128
|
developerPortalIdentifier: provisioningProfileStoreInfo.provisioningProfileId,
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
|
-
else {
|
|
132
|
-
// Otherwise the current profile can be reused
|
|
133
|
-
return currentProvisioningProfile;
|
|
134
|
-
}
|
|
135
131
|
}
|
|
136
132
|
async areBuildCredentialsSetupAsync(ctx) {
|
|
137
133
|
const { app, target } = this.options;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
import { Platform } from '@expo/eas-build-job';
|
|
2
2
|
import { BuildProfile } from '@expo/eas-json';
|
|
3
|
+
import { Client } from '../vcs/vcs';
|
|
3
4
|
export interface CustomBuildConfigMetadata {
|
|
4
5
|
workflowName?: string;
|
|
5
6
|
}
|
|
6
|
-
export declare function validateCustomBuildConfigAsync(projectDir
|
|
7
|
+
export declare function validateCustomBuildConfigAsync({ profile, projectDir, vcsClient, }: {
|
|
8
|
+
projectDir: string;
|
|
9
|
+
profile: BuildProfile<Platform>;
|
|
10
|
+
vcsClient: Client;
|
|
11
|
+
}): Promise<CustomBuildConfigMetadata | undefined>;
|
|
7
12
|
export declare function getCustomBuildConfigPath(configFilename: string): string;
|
|
@@ -6,7 +6,7 @@ const steps_1 = require("@expo/steps");
|
|
|
6
6
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
7
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
8
8
|
const path_1 = tslib_1.__importDefault(require("path"));
|
|
9
|
-
async function validateCustomBuildConfigAsync(projectDir,
|
|
9
|
+
async function validateCustomBuildConfigAsync({ profile, projectDir, vcsClient, }) {
|
|
10
10
|
if (!profile.config) {
|
|
11
11
|
return undefined;
|
|
12
12
|
}
|
|
@@ -15,6 +15,9 @@ async function validateCustomBuildConfigAsync(projectDir, profile) {
|
|
|
15
15
|
if (!(await fs_extra_1.default.pathExists(configPath))) {
|
|
16
16
|
throw new Error(`Custom build configuration file ${chalk_1.default.bold(relativeConfigPath)} does not exist.`);
|
|
17
17
|
}
|
|
18
|
+
if (await vcsClient.isFileIgnoredAsync(relativeConfigPath)) {
|
|
19
|
+
throw new Error(`Custom build configuration file ${chalk_1.default.bold(relativeConfigPath)} is ignored by your version control system. Remove it from the ignore list to successfully create custom build.`);
|
|
20
|
+
}
|
|
18
21
|
try {
|
|
19
22
|
const config = await (0, steps_1.readAndValidateBuildConfigAsync)(configPath, {
|
|
20
23
|
skipNamespacedFunctionsCheck: true,
|