eas-cli 7.1.3 → 7.3.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 +60 -61
- package/build/build/local.js +1 -1
- package/build/commands/project/init.js +13 -1
- package/build/commands/update/index.d.ts +0 -1
- package/build/commands/update/index.js +9 -9
- package/build/commands/update/roll-back-to-embedded.js +6 -1
- package/build/credentials/android/actions/{AssignGoogleServiceAccountKey.d.ts → AssignGoogleServiceAccountKeyForFcmV1.d.ts} +1 -1
- package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForFcmV1.js +19 -0
- package/build/credentials/android/actions/AssignGoogleServiceAccountKeyForSubmissions.d.ts +8 -0
- package/build/credentials/android/actions/{AssignGoogleServiceAccountKey.js → AssignGoogleServiceAccountKeyForSubmissions.js} +3 -3
- package/build/credentials/android/actions/CreateGoogleServiceAccountKey.js +1 -1
- package/build/credentials/android/actions/{SetUpGoogleServiceAccountKey.d.ts → SetUpGoogleServiceAccountKeyForFcmV1.d.ts} +1 -1
- package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForFcmV1.js +59 -0
- package/build/credentials/android/actions/SetUpGoogleServiceAccountKeyForSubmissions.d.ts +10 -0
- package/build/credentials/android/actions/{SetUpGoogleServiceAccountKey.js → SetUpGoogleServiceAccountKeyForSubmissions.js} +5 -5
- package/build/credentials/android/api/GraphqlClient.d.ts +2 -1
- package/build/credentials/android/api/GraphqlClient.js +5 -1
- package/build/credentials/android/api/graphql/mutations/AndroidAppCredentialsMutation.d.ts +1 -0
- package/build/credentials/android/api/graphql/mutations/AndroidAppCredentialsMutation.js +26 -0
- package/build/credentials/android/utils/googleServiceAccountKey.js +1 -1
- package/build/credentials/android/utils/printCredentials.js +24 -2
- package/build/credentials/manager/Actions.d.ts +22 -16
- package/build/credentials/manager/Actions.js +22 -16
- package/build/credentials/manager/AndroidActions.d.ts +3 -1
- package/build/credentials/manager/AndroidActions.js +46 -12
- package/build/credentials/manager/ManageAndroid.js +30 -12
- package/build/graphql/generated.d.ts +160 -0
- package/build/graphql/types/credentials/AndroidAppCredentials.js +4 -0
- package/build/project/customBuildConfig.js +1 -1
- package/build/project/publish.d.ts +7 -3
- package/build/project/publish.js +43 -24
- package/build/submit/android/ServiceAccountSource.js +2 -2
- package/build/utils/expoUpdatesCli.d.ts +1 -0
- package/build/utils/expoUpdatesCli.js +37 -0
- package/oclif.manifest.json +1 -7
- package/package.json +6 -6
|
@@ -5396,6 +5396,16 @@ export type CreateAndroidAppCredentialsMutation = {
|
|
|
5396
5396
|
clientId?: string | null;
|
|
5397
5397
|
};
|
|
5398
5398
|
} | null;
|
|
5399
|
+
googleServiceAccountKeyForFcmV1?: {
|
|
5400
|
+
__typename?: 'GoogleServiceAccountKey';
|
|
5401
|
+
id: string;
|
|
5402
|
+
projectIdentifier: string;
|
|
5403
|
+
privateKeyIdentifier: string;
|
|
5404
|
+
clientEmail: string;
|
|
5405
|
+
clientIdentifier: string;
|
|
5406
|
+
createdAt: any;
|
|
5407
|
+
updatedAt: any;
|
|
5408
|
+
} | null;
|
|
5399
5409
|
googleServiceAccountKeyForSubmissions?: {
|
|
5400
5410
|
__typename?: 'GoogleServiceAccountKey';
|
|
5401
5411
|
id: string;
|
|
@@ -5496,6 +5506,16 @@ export type SetFcmMutation = {
|
|
|
5496
5506
|
clientId?: string | null;
|
|
5497
5507
|
};
|
|
5498
5508
|
} | null;
|
|
5509
|
+
googleServiceAccountKeyForFcmV1?: {
|
|
5510
|
+
__typename?: 'GoogleServiceAccountKey';
|
|
5511
|
+
id: string;
|
|
5512
|
+
projectIdentifier: string;
|
|
5513
|
+
privateKeyIdentifier: string;
|
|
5514
|
+
clientEmail: string;
|
|
5515
|
+
clientIdentifier: string;
|
|
5516
|
+
createdAt: any;
|
|
5517
|
+
updatedAt: any;
|
|
5518
|
+
} | null;
|
|
5499
5519
|
googleServiceAccountKeyForSubmissions?: {
|
|
5500
5520
|
__typename?: 'GoogleServiceAccountKey';
|
|
5501
5521
|
id: string;
|
|
@@ -5596,6 +5616,126 @@ export type SetGoogleServiceAccountKeyForSubmissionsMutation = {
|
|
|
5596
5616
|
clientId?: string | null;
|
|
5597
5617
|
};
|
|
5598
5618
|
} | null;
|
|
5619
|
+
googleServiceAccountKeyForFcmV1?: {
|
|
5620
|
+
__typename?: 'GoogleServiceAccountKey';
|
|
5621
|
+
id: string;
|
|
5622
|
+
projectIdentifier: string;
|
|
5623
|
+
privateKeyIdentifier: string;
|
|
5624
|
+
clientEmail: string;
|
|
5625
|
+
clientIdentifier: string;
|
|
5626
|
+
createdAt: any;
|
|
5627
|
+
updatedAt: any;
|
|
5628
|
+
} | null;
|
|
5629
|
+
googleServiceAccountKeyForSubmissions?: {
|
|
5630
|
+
__typename?: 'GoogleServiceAccountKey';
|
|
5631
|
+
id: string;
|
|
5632
|
+
projectIdentifier: string;
|
|
5633
|
+
privateKeyIdentifier: string;
|
|
5634
|
+
clientEmail: string;
|
|
5635
|
+
clientIdentifier: string;
|
|
5636
|
+
createdAt: any;
|
|
5637
|
+
updatedAt: any;
|
|
5638
|
+
} | null;
|
|
5639
|
+
androidAppBuildCredentialsList: Array<{
|
|
5640
|
+
__typename?: 'AndroidAppBuildCredentials';
|
|
5641
|
+
id: string;
|
|
5642
|
+
isDefault: boolean;
|
|
5643
|
+
isLegacy: boolean;
|
|
5644
|
+
name: string;
|
|
5645
|
+
androidKeystore?: {
|
|
5646
|
+
__typename?: 'AndroidKeystore';
|
|
5647
|
+
id: string;
|
|
5648
|
+
type: AndroidKeystoreType;
|
|
5649
|
+
keystore: string;
|
|
5650
|
+
keystorePassword: string;
|
|
5651
|
+
keyAlias: string;
|
|
5652
|
+
keyPassword?: string | null;
|
|
5653
|
+
md5CertificateFingerprint?: string | null;
|
|
5654
|
+
sha1CertificateFingerprint?: string | null;
|
|
5655
|
+
sha256CertificateFingerprint?: string | null;
|
|
5656
|
+
createdAt: any;
|
|
5657
|
+
updatedAt: any;
|
|
5658
|
+
} | null;
|
|
5659
|
+
}>;
|
|
5660
|
+
};
|
|
5661
|
+
};
|
|
5662
|
+
};
|
|
5663
|
+
export type SetGoogleServiceAccountKeyForFcmV1MutationVariables = Exact<{
|
|
5664
|
+
androidAppCredentialsId: Scalars['ID']['input'];
|
|
5665
|
+
googleServiceAccountKeyId: Scalars['ID']['input'];
|
|
5666
|
+
}>;
|
|
5667
|
+
export type SetGoogleServiceAccountKeyForFcmV1Mutation = {
|
|
5668
|
+
__typename?: 'RootMutation';
|
|
5669
|
+
androidAppCredentials: {
|
|
5670
|
+
__typename?: 'AndroidAppCredentialsMutation';
|
|
5671
|
+
setGoogleServiceAccountKeyForFcmV1: {
|
|
5672
|
+
__typename?: 'AndroidAppCredentials';
|
|
5673
|
+
id: string;
|
|
5674
|
+
applicationIdentifier?: string | null;
|
|
5675
|
+
isLegacy: boolean;
|
|
5676
|
+
app: {
|
|
5677
|
+
__typename?: 'App';
|
|
5678
|
+
id: string;
|
|
5679
|
+
fullName: string;
|
|
5680
|
+
slug: string;
|
|
5681
|
+
ownerAccount: {
|
|
5682
|
+
__typename?: 'Account';
|
|
5683
|
+
id: string;
|
|
5684
|
+
name: string;
|
|
5685
|
+
ownerUserActor?: {
|
|
5686
|
+
__typename?: 'SSOUser';
|
|
5687
|
+
id: string;
|
|
5688
|
+
username: string;
|
|
5689
|
+
} | {
|
|
5690
|
+
__typename?: 'User';
|
|
5691
|
+
id: string;
|
|
5692
|
+
username: string;
|
|
5693
|
+
} | null;
|
|
5694
|
+
users: Array<{
|
|
5695
|
+
__typename?: 'UserPermission';
|
|
5696
|
+
role: Role;
|
|
5697
|
+
actor: {
|
|
5698
|
+
__typename?: 'Robot';
|
|
5699
|
+
id: string;
|
|
5700
|
+
} | {
|
|
5701
|
+
__typename?: 'SSOUser';
|
|
5702
|
+
id: string;
|
|
5703
|
+
} | {
|
|
5704
|
+
__typename?: 'User';
|
|
5705
|
+
id: string;
|
|
5706
|
+
};
|
|
5707
|
+
}>;
|
|
5708
|
+
};
|
|
5709
|
+
};
|
|
5710
|
+
androidFcm?: {
|
|
5711
|
+
__typename?: 'AndroidFcm';
|
|
5712
|
+
id: string;
|
|
5713
|
+
credential: any;
|
|
5714
|
+
version: AndroidFcmVersion;
|
|
5715
|
+
createdAt: any;
|
|
5716
|
+
updatedAt: any;
|
|
5717
|
+
snippet: {
|
|
5718
|
+
__typename?: 'FcmSnippetLegacy';
|
|
5719
|
+
firstFourCharacters: string;
|
|
5720
|
+
lastFourCharacters: string;
|
|
5721
|
+
} | {
|
|
5722
|
+
__typename?: 'FcmSnippetV1';
|
|
5723
|
+
projectId: string;
|
|
5724
|
+
keyId: string;
|
|
5725
|
+
serviceAccountEmail: string;
|
|
5726
|
+
clientId?: string | null;
|
|
5727
|
+
};
|
|
5728
|
+
} | null;
|
|
5729
|
+
googleServiceAccountKeyForFcmV1?: {
|
|
5730
|
+
__typename?: 'GoogleServiceAccountKey';
|
|
5731
|
+
id: string;
|
|
5732
|
+
projectIdentifier: string;
|
|
5733
|
+
privateKeyIdentifier: string;
|
|
5734
|
+
clientEmail: string;
|
|
5735
|
+
clientIdentifier: string;
|
|
5736
|
+
createdAt: any;
|
|
5737
|
+
updatedAt: any;
|
|
5738
|
+
} | null;
|
|
5599
5739
|
googleServiceAccountKeyForSubmissions?: {
|
|
5600
5740
|
__typename?: 'GoogleServiceAccountKey';
|
|
5601
5741
|
id: string;
|
|
@@ -5812,6 +5952,16 @@ export type CommonAndroidAppCredentialsWithBuildCredentialsByApplicationIdentifi
|
|
|
5812
5952
|
clientId?: string | null;
|
|
5813
5953
|
};
|
|
5814
5954
|
} | null;
|
|
5955
|
+
googleServiceAccountKeyForFcmV1?: {
|
|
5956
|
+
__typename?: 'GoogleServiceAccountKey';
|
|
5957
|
+
id: string;
|
|
5958
|
+
projectIdentifier: string;
|
|
5959
|
+
privateKeyIdentifier: string;
|
|
5960
|
+
clientEmail: string;
|
|
5961
|
+
clientIdentifier: string;
|
|
5962
|
+
createdAt: any;
|
|
5963
|
+
updatedAt: any;
|
|
5964
|
+
} | null;
|
|
5815
5965
|
googleServiceAccountKeyForSubmissions?: {
|
|
5816
5966
|
__typename?: 'GoogleServiceAccountKey';
|
|
5817
5967
|
id: string;
|
|
@@ -10793,6 +10943,16 @@ export type CommonAndroidAppCredentialsFragment = {
|
|
|
10793
10943
|
clientId?: string | null;
|
|
10794
10944
|
};
|
|
10795
10945
|
} | null;
|
|
10946
|
+
googleServiceAccountKeyForFcmV1?: {
|
|
10947
|
+
__typename?: 'GoogleServiceAccountKey';
|
|
10948
|
+
id: string;
|
|
10949
|
+
projectIdentifier: string;
|
|
10950
|
+
privateKeyIdentifier: string;
|
|
10951
|
+
clientEmail: string;
|
|
10952
|
+
clientIdentifier: string;
|
|
10953
|
+
createdAt: any;
|
|
10954
|
+
updatedAt: any;
|
|
10955
|
+
} | null;
|
|
10796
10956
|
googleServiceAccountKeyForSubmissions?: {
|
|
10797
10957
|
__typename?: 'GoogleServiceAccountKey';
|
|
10798
10958
|
id: string;
|
|
@@ -20,6 +20,10 @@ exports.CommonAndroidAppCredentialsFragmentNode = (0, graphql_tag_1.default) `
|
|
|
20
20
|
id
|
|
21
21
|
...AndroidFcmFragment
|
|
22
22
|
}
|
|
23
|
+
googleServiceAccountKeyForFcmV1 {
|
|
24
|
+
id
|
|
25
|
+
...GoogleServiceAccountKeyFragment
|
|
26
|
+
}
|
|
23
27
|
googleServiceAccountKeyForSubmissions {
|
|
24
28
|
id
|
|
25
29
|
...GoogleServiceAccountKeyFragment
|
|
@@ -20,7 +20,7 @@ async function validateCustomBuildConfigAsync({ profile, projectDir, vcsClient,
|
|
|
20
20
|
}
|
|
21
21
|
try {
|
|
22
22
|
const config = await (0, steps_1.readAndValidateBuildConfigAsync)(configPath, {
|
|
23
|
-
|
|
23
|
+
skipNamespacedFunctionsOrFunctionGroupsCheck: true,
|
|
24
24
|
});
|
|
25
25
|
return {
|
|
26
26
|
workflowName: config.build.name,
|
|
@@ -68,13 +68,12 @@ export declare function convertAssetToUpdateInfoGroupFormatAsync(asset: RawAsset
|
|
|
68
68
|
* This will be sorted later based on the platform's runtime versions.
|
|
69
69
|
*/
|
|
70
70
|
export declare function buildUnsortedUpdateInfoGroupAsync(assets: CollectedAssets, exp: ExpoConfig): Promise<UpdateInfoGroup>;
|
|
71
|
-
export declare function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache,
|
|
71
|
+
export declare function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, }: {
|
|
72
72
|
projectDir: string;
|
|
73
73
|
inputDir: string;
|
|
74
74
|
exp: Pick<ExpoConfig, 'sdkVersion' | 'web'>;
|
|
75
75
|
platformFlag: ExpoCLIExportPlatformFlag;
|
|
76
76
|
clearCache?: boolean;
|
|
77
|
-
dev?: boolean;
|
|
78
77
|
}): Promise<void>;
|
|
79
78
|
export declare function resolveInputDirectoryAsync(inputDir: string, { skipBundler }: {
|
|
80
79
|
skipBundler?: boolean;
|
|
@@ -137,7 +136,12 @@ export declare function getUpdateMessageForCommandAsync(vcsClient: Client, { upd
|
|
|
137
136
|
export declare const defaultPublishPlatforms: Platform[];
|
|
138
137
|
export declare function getRequestedPlatform(platform: ExpoCLIExportPlatformFlag): RequestedPlatform | null;
|
|
139
138
|
/** Get runtime versions grouped by platform. Runtime version is always `null` on web where the platform is always backwards compatible. */
|
|
140
|
-
export declare function getRuntimeVersionObjectAsync(exp
|
|
139
|
+
export declare function getRuntimeVersionObjectAsync({ exp, platforms, projectDir, vcsClient, }: {
|
|
140
|
+
exp: ExpoConfig;
|
|
141
|
+
platforms: Platform[];
|
|
142
|
+
projectDir: string;
|
|
143
|
+
vcsClient: Client;
|
|
144
|
+
}): Promise<{
|
|
141
145
|
platform: string;
|
|
142
146
|
runtimeVersion: string;
|
|
143
147
|
}[]>;
|
package/build/project/publish.js
CHANGED
|
@@ -27,6 +27,7 @@ const getBranchNameFromChannelNameAsync_1 = require("../update/getBranchNameFrom
|
|
|
27
27
|
const utils_2 = require("../update/utils");
|
|
28
28
|
const uploads_1 = require("../uploads");
|
|
29
29
|
const expoCli_1 = require("../utils/expoCli");
|
|
30
|
+
const expoUpdatesCli_1 = require("../utils/expoUpdatesCli");
|
|
30
31
|
const chunk_1 = tslib_1.__importDefault(require("../utils/expodash/chunk"));
|
|
31
32
|
const filter_1 = require("../utils/expodash/filter");
|
|
32
33
|
const uniqBy_1 = tslib_1.__importDefault(require("../utils/expodash/uniqBy"));
|
|
@@ -117,7 +118,7 @@ async function buildUnsortedUpdateInfoGroupAsync(assets, exp) {
|
|
|
117
118
|
return updateInfoGroup;
|
|
118
119
|
}
|
|
119
120
|
exports.buildUnsortedUpdateInfoGroupAsync = buildUnsortedUpdateInfoGroupAsync;
|
|
120
|
-
async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache,
|
|
121
|
+
async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clearCache, }) {
|
|
121
122
|
var _a;
|
|
122
123
|
const packageJSON = json_file_1.default.read(path_1.default.resolve(projectDir, 'package.json'));
|
|
123
124
|
if (!packageJSON) {
|
|
@@ -134,7 +135,6 @@ async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clea
|
|
|
134
135
|
'--dump-sourcemap',
|
|
135
136
|
'--dump-assetmap',
|
|
136
137
|
`--platform=${platformFlag}`,
|
|
137
|
-
...(dev ? ['--dev'] : []),
|
|
138
138
|
...(clearCache ? ['--clear'] : []),
|
|
139
139
|
]);
|
|
140
140
|
}
|
|
@@ -151,7 +151,6 @@ async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clea
|
|
|
151
151
|
'--dump-sourcemap',
|
|
152
152
|
'--dump-assetmap',
|
|
153
153
|
...platformArgs,
|
|
154
|
-
...(dev ? ['--dev'] : []),
|
|
155
154
|
...(clearCache ? ['--clear'] : []),
|
|
156
155
|
]);
|
|
157
156
|
}
|
|
@@ -169,7 +168,6 @@ async function buildBundlesAsync({ projectDir, inputDir, exp, platformFlag, clea
|
|
|
169
168
|
'--dump-sourcemap',
|
|
170
169
|
'--dump-assetmap',
|
|
171
170
|
`--platform=${platformFlag}`,
|
|
172
|
-
...(dev ? ['--dev'] : []),
|
|
173
171
|
...(clearCache ? ['--clear'] : []),
|
|
174
172
|
]);
|
|
175
173
|
}
|
|
@@ -466,32 +464,53 @@ function getRequestedPlatform(platform) {
|
|
|
466
464
|
}
|
|
467
465
|
exports.getRequestedPlatform = getRequestedPlatform;
|
|
468
466
|
/** Get runtime versions grouped by platform. Runtime version is always `null` on web where the platform is always backwards compatible. */
|
|
469
|
-
async function getRuntimeVersionObjectAsync(exp, platforms, projectDir, vcsClient) {
|
|
470
|
-
|
|
471
|
-
for (const platform of platforms) {
|
|
472
|
-
if (platform === 'web') {
|
|
473
|
-
continue;
|
|
474
|
-
}
|
|
475
|
-
const isPolicy = typeof ((_b = (_a = exp[platform]) === null || _a === void 0 ? void 0 : _a.runtimeVersion) !== null && _b !== void 0 ? _b : exp.runtimeVersion) === 'object';
|
|
476
|
-
if (isPolicy) {
|
|
477
|
-
const isManaged = (await (0, workflow_1.resolveWorkflowAsync)(projectDir, platform, vcsClient)) ===
|
|
478
|
-
eas_build_job_1.Workflow.MANAGED;
|
|
479
|
-
if (!isManaged) {
|
|
480
|
-
throw new Error(`You're currently using the bare workflow, where runtime version policies are not supported. You must set your runtime version manually. For example, define your runtime version as "1.0.0", not {"policy": "appVersion"} in your app config. ${(0, log_1.learnMore)('https://docs.expo.dev/eas-update/runtime-versions')}`);
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
}
|
|
484
|
-
return await Promise.all([...new Set(platforms)].map(async (platform) => {
|
|
485
|
-
if (platform === 'web') {
|
|
486
|
-
return { platform: 'web', runtimeVersion: 'UNVERSIONED' };
|
|
487
|
-
}
|
|
467
|
+
async function getRuntimeVersionObjectAsync({ exp, platforms, projectDir, vcsClient, }) {
|
|
468
|
+
return await Promise.all(platforms.map(async (platform) => {
|
|
488
469
|
return {
|
|
489
470
|
platform,
|
|
490
|
-
runtimeVersion:
|
|
471
|
+
runtimeVersion: await getRuntimeVersionForPlatformAsync({
|
|
472
|
+
exp,
|
|
473
|
+
platform,
|
|
474
|
+
projectDir,
|
|
475
|
+
vcsClient,
|
|
476
|
+
}),
|
|
491
477
|
};
|
|
492
478
|
}));
|
|
493
479
|
}
|
|
494
480
|
exports.getRuntimeVersionObjectAsync = getRuntimeVersionObjectAsync;
|
|
481
|
+
async function getRuntimeVersionForPlatformAsync({ exp, platform, projectDir, vcsClient, }) {
|
|
482
|
+
var _a, _b;
|
|
483
|
+
if (platform === 'web') {
|
|
484
|
+
return 'UNVERSIONED';
|
|
485
|
+
}
|
|
486
|
+
const runtimeVersion = (_b = (_a = exp[platform]) === null || _a === void 0 ? void 0 : _a.runtimeVersion) !== null && _b !== void 0 ? _b : exp.runtimeVersion;
|
|
487
|
+
if (typeof runtimeVersion === 'object') {
|
|
488
|
+
const policy = runtimeVersion.policy;
|
|
489
|
+
if (policy === 'fingerprintExperimental') {
|
|
490
|
+
// log to inform the user that the fingerprint has been calculated
|
|
491
|
+
log_1.default.warn(`Calculating native fingerprint for platform ${platform} using current state of the "${platform}" directory. ` +
|
|
492
|
+
`If the fingerprint differs from the build's fingerint, ensure the state of your project is consistent ` +
|
|
493
|
+
`(repository is clean, ios and android native directories are in the same state as the build if applicable).`);
|
|
494
|
+
const fingerprintRawString = await (0, expoUpdatesCli_1.expoUpdatesCommandAsync)(projectDir, [
|
|
495
|
+
'fingerprint:generate',
|
|
496
|
+
'--platform',
|
|
497
|
+
platform,
|
|
498
|
+
]);
|
|
499
|
+
const fingerprintObject = JSON.parse(fingerprintRawString);
|
|
500
|
+
const hash = (0, nullthrows_1.default)(fingerprintObject.hash, 'invalid response from expo-update CLI for fingerprint generation');
|
|
501
|
+
return hash;
|
|
502
|
+
}
|
|
503
|
+
const workflow = await (0, workflow_1.resolveWorkflowAsync)(projectDir, platform, vcsClient);
|
|
504
|
+
if (workflow !== eas_build_job_1.Workflow.MANAGED) {
|
|
505
|
+
throw new Error(`You're currently using the bare workflow, where runtime version policies are not supported. You must set your runtime version manually. For example, define your runtime version as "1.0.0", not {"policy": "appVersion"} in your app config. ${(0, log_1.learnMore)('https://docs.expo.dev/eas-update/runtime-versions')}`);
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
const resolvedRuntimeVersion = await config_plugins_1.Updates.getRuntimeVersionAsync(projectDir, exp, platform);
|
|
509
|
+
if (!resolvedRuntimeVersion) {
|
|
510
|
+
throw new Error(`Unable to determine runtime version for ${platform_1.requestedPlatformDisplayNames[platform]}. ${(0, log_1.learnMore)('https://docs.expo.dev/eas-update/runtime-versions/')}`);
|
|
511
|
+
}
|
|
512
|
+
return resolvedRuntimeVersion;
|
|
513
|
+
}
|
|
495
514
|
function getRuntimeToPlatformMappingFromRuntimeVersions(runtimeVersions) {
|
|
496
515
|
const runtimeToPlatformMapping = [];
|
|
497
516
|
for (const runtime of runtimeVersions) {
|
|
@@ -5,7 +5,7 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
6
6
|
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
|
|
7
7
|
const nullthrows_1 = tslib_1.__importDefault(require("nullthrows"));
|
|
8
|
-
const
|
|
8
|
+
const SetUpGoogleServiceAccountKeyForSubmissions_1 = require("../../credentials/android/actions/SetUpGoogleServiceAccountKeyForSubmissions");
|
|
9
9
|
const googleServiceAccountKey_1 = require("../../credentials/android/utils/googleServiceAccountKey");
|
|
10
10
|
const log_1 = tslib_1.__importStar(require("../../log"));
|
|
11
11
|
const applicationId_1 = require("../../project/android/applicationId");
|
|
@@ -67,7 +67,7 @@ async function getServiceAccountFromCredentialsServiceAsync(ctx, source) {
|
|
|
67
67
|
androidApplicationIdentifier: (_a = source.androidApplicationIdentifier) !== null && _a !== void 0 ? _a : (await promptForApplicationIdAsync()),
|
|
68
68
|
};
|
|
69
69
|
log_1.default.log(`Looking up credentials configuration for ${appLookupParams.androidApplicationIdentifier}...`);
|
|
70
|
-
const setupGoogleServiceAccountKeyAction = new
|
|
70
|
+
const setupGoogleServiceAccountKeyAction = new SetUpGoogleServiceAccountKeyForSubmissions_1.SetUpGoogleServiceAccountKeyForSubmissions(appLookupParams);
|
|
71
71
|
const androidAppCredentials = await setupGoogleServiceAccountKeyAction.runAsync(ctx.credentialsCtx);
|
|
72
72
|
const googleServiceAccountKey = (0, nullthrows_1.default)(androidAppCredentials.googleServiceAccountKeyForSubmissions, 'Credentials Service must provide a valid GoogleServiceAccountKey');
|
|
73
73
|
return {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function expoUpdatesCommandAsync(projectDir: string, args: string[]): Promise<string>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.expoUpdatesCommandAsync = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const spawn_async_1 = tslib_1.__importDefault(require("@expo/spawn-async"));
|
|
6
|
+
const chalk_1 = tslib_1.__importDefault(require("chalk"));
|
|
7
|
+
const resolve_from_1 = tslib_1.__importStar(require("resolve-from"));
|
|
8
|
+
const log_1 = tslib_1.__importStar(require("../log"));
|
|
9
|
+
async function expoUpdatesCommandAsync(projectDir, args) {
|
|
10
|
+
var _a;
|
|
11
|
+
let expoUpdatesCli;
|
|
12
|
+
try {
|
|
13
|
+
expoUpdatesCli =
|
|
14
|
+
(_a = (0, resolve_from_1.silent)(projectDir, 'expo-updates/bin/cli')) !== null && _a !== void 0 ? _a : (0, resolve_from_1.default)(projectDir, 'expo-updates/bin/cli.js');
|
|
15
|
+
}
|
|
16
|
+
catch (e) {
|
|
17
|
+
if (e.code === 'MODULE_NOT_FOUND') {
|
|
18
|
+
throw new Error(`The \`expo-updates\` package was not found. Follow the installation directions at ${(0, log_1.link)('https://docs.expo.dev/bare/installing-expo-modules/')}`);
|
|
19
|
+
}
|
|
20
|
+
throw e;
|
|
21
|
+
}
|
|
22
|
+
const spawnPromise = (0, spawn_async_1.default)(expoUpdatesCli, args, {
|
|
23
|
+
stdio: ['inherit', 'pipe', 'pipe'], // inherit stdin so user can install a missing expo-cli from inside this command
|
|
24
|
+
});
|
|
25
|
+
const { child: { stderr }, } = spawnPromise;
|
|
26
|
+
if (!stderr) {
|
|
27
|
+
throw new Error('Failed to spawn expo-updates cli');
|
|
28
|
+
}
|
|
29
|
+
stderr.on('data', data => {
|
|
30
|
+
for (const line of data.toString().trim().split('\n')) {
|
|
31
|
+
log_1.default.warn(`${chalk_1.default.gray('[expo-cli]')} ${line}`);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
const result = await spawnPromise;
|
|
35
|
+
return result.stdout;
|
|
36
|
+
}
|
|
37
|
+
exports.expoUpdatesCommandAsync = expoUpdatesCommandAsync;
|
package/oclif.manifest.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "7.
|
|
2
|
+
"version": "7.3.0",
|
|
3
3
|
"commands": {
|
|
4
4
|
"analytics": {
|
|
5
5
|
"id": "analytics",
|
|
@@ -2156,12 +2156,6 @@
|
|
|
2156
2156
|
],
|
|
2157
2157
|
"default": "all"
|
|
2158
2158
|
},
|
|
2159
|
-
"dev": {
|
|
2160
|
-
"name": "dev",
|
|
2161
|
-
"type": "boolean",
|
|
2162
|
-
"description": "Publish a development bundle",
|
|
2163
|
-
"allowNo": false
|
|
2164
|
-
},
|
|
2165
2159
|
"auto": {
|
|
2166
2160
|
"name": "auto",
|
|
2167
2161
|
"type": "boolean",
|
package/package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eas-cli",
|
|
3
3
|
"description": "EAS command line tool",
|
|
4
|
-
"version": "7.
|
|
4
|
+
"version": "7.3.0",
|
|
5
5
|
"author": "Expo <support@expo.dev>",
|
|
6
6
|
"bin": {
|
|
7
7
|
"eas": "./bin/run"
|
|
8
8
|
},
|
|
9
9
|
"bugs": "https://github.com/expo/eas-cli/issues",
|
|
10
10
|
"dependencies": {
|
|
11
|
-
"@expo/apple-utils": "1.
|
|
11
|
+
"@expo/apple-utils": "1.4.0",
|
|
12
12
|
"@expo/code-signing-certificates": "0.0.5",
|
|
13
13
|
"@expo/config": "8.5.4",
|
|
14
14
|
"@expo/config-plugins": "7.8.4",
|
|
15
15
|
"@expo/config-types": "50.0.0",
|
|
16
|
-
"@expo/eas-build-job": "1.0.
|
|
17
|
-
"@expo/eas-json": "7.
|
|
16
|
+
"@expo/eas-build-job": "1.0.71",
|
|
17
|
+
"@expo/eas-json": "7.3.0",
|
|
18
18
|
"@expo/json-file": "8.2.37",
|
|
19
19
|
"@expo/multipart-body-parser": "1.1.0",
|
|
20
20
|
"@expo/osascript": "2.0.33",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
"@expo/results": "1.0.0",
|
|
28
28
|
"@expo/rudder-sdk-node": "1.1.1",
|
|
29
29
|
"@expo/spawn-async": "1.7.0",
|
|
30
|
-
"@expo/steps": "1.0.
|
|
30
|
+
"@expo/steps": "1.0.70",
|
|
31
31
|
"@expo/timeago.js": "1.0.0",
|
|
32
32
|
"@oclif/core": "^1.26.2",
|
|
33
33
|
"@oclif/plugin-autocomplete": "^2.3.10",
|
|
@@ -222,5 +222,5 @@
|
|
|
222
222
|
"node": "20.11.0",
|
|
223
223
|
"yarn": "1.22.21"
|
|
224
224
|
},
|
|
225
|
-
"gitHead": "
|
|
225
|
+
"gitHead": "a074ce0cffabae81f5a313df393ba2d80086e4f9"
|
|
226
226
|
}
|