eas-cli
Version:
EAS command line tool
58 lines (57 loc) • 2.3 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.maybeUploadFingerprintAsync = void 0;
const tslib_1 = require("tslib");
const eas_build_job_1 = require("@expo/eas-build-job");
const fs_extra_1 = tslib_1.__importDefault(require("fs-extra"));
const path_1 = tslib_1.__importDefault(require("path"));
const uuid_1 = require("uuid");
const local_1 = require("../build/local");
const generated_1 = require("../graphql/generated");
const log_1 = tslib_1.__importDefault(require("../log"));
const uploads_1 = require("../uploads");
const paths_1 = require("../utils/paths");
async function maybeUploadFingerprintAsync({ hash, fingerprint, graphqlClient, localBuildMode, }) {
await fs_extra_1.default.mkdirp((0, paths_1.getTmpDirectory)());
const fingerprintLocation = path_1.default.join((0, paths_1.getTmpDirectory)(), `${(0, uuid_1.v4)()}-runtime-fingerprint.json`);
await fs_extra_1.default.writeJSON(fingerprintLocation, {
hash,
sources: fingerprint.fingerprintSources,
});
if (localBuildMode === local_1.LocalBuildMode.LOCAL_BUILD_PLUGIN) {
return {
hash,
fingerprintSource: {
type: eas_build_job_1.FingerprintSourceType.PATH,
path: fingerprintLocation,
isDebugFingerprint: fingerprint.isDebugFingerprintSource,
},
};
}
let fingerprintGCSBucketKey = undefined;
try {
fingerprintGCSBucketKey = await (0, uploads_1.uploadFileAtPathToGCSAsync)(graphqlClient, generated_1.UploadSessionType.EasUpdateFingerprint, fingerprintLocation);
}
catch (err) {
let errMessage = 'Failed to upload fingerprint to EAS';
if (err.message) {
errMessage += `\n\nReason: ${err.message}`;
}
log_1.default.warn(errMessage);
return {
hash,
};
}
finally {
await fs_extra_1.default.remove(fingerprintLocation);
}
return {
hash,
fingerprintSource: {
type: eas_build_job_1.FingerprintSourceType.GCS,
bucketKey: fingerprintGCSBucketKey,
isDebugFingerprint: fingerprint.isDebugFingerprintSource,
},
};
}
exports.maybeUploadFingerprintAsync = maybeUploadFingerprintAsync;
;