"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.downloadFile = downloadFile;
exports.runFastlaneAsync = runFastlaneAsync;
function _xdl() {
const data = require("@expo/xdl");
_xdl = function () {
return data;
};
return data;
}
function _get() {
const data = _interopRequireDefault(require("lodash/get"));
_get = function () {
return data;
};
return data;
}
function _fsExtra() {
const data = _interopRequireDefault(require("fs-extra"));
_fsExtra = function () {
return data;
};
return data;
}
function _progress() {
const data = _interopRequireDefault(require("progress"));
_progress = function () {
return data;
};
return data;
}
function _axios() {
const data = _interopRequireDefault(require("axios"));
_axios = function () {
return data;
};
return data;
}
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const {
spawnAsyncThrowError
} = _xdl().ExponentTools;
async function downloadFile(url, dest) {
const response = await _axios().default.get(url, {
responseType: 'stream'
});
const fileSize = Number(response.headers['content-length']);
const bar = new (_progress().default)('Downloading [:bar] :percent :etas', {
complete: '=',
incomplete: ' ',
total: fileSize
});
response.data.pipe(_fsExtra().default.createWriteStream(dest));
return new Promise((resolve, reject) => {
response.data.on('data', data => bar.tick(data.length));
response.data.on('end', () => resolve(dest));
response.data.on('error', reject);
});
}
async function runFastlaneAsync(program, args, {
appleId,
appleIdPassword,
appleTeamId,
itcTeamId
}, pipeToLogger = false) {
const {
stderr
} = await spawnAsyncThrowError(program, args, { ...(pipeToLogger ? {
pipeToLogger: {
stdout: 1
}
} : {
stdio: [0, 1, 'pipe']
}),
env: { ...process.env,
...(appleId && appleIdPassword && {
FASTLANE_USER: appleId,
FASTLANE_PASSWORD: appleIdPassword,
FASTLANE_DONT_STORE_PASSWORD: '1',
FASTLANE_TEAM_ID: appleTeamId,
...(itcTeamId ? {
FASTLANE_ITC_TEAM_ID: itcTeamId
} : {})
})
}
});
const res = JSON.parse(stderr);
if (res.result !== 'failure') {
return res;
} else {
const message = res.reason !== 'Unknown reason' ? res.reason : (0, _get().default)(res, 'rawDump.message', 'Unknown error when running fastlane');
throw new Error(message);
}
}
//# sourceMappingURL=../../__sourcemaps__/commands/upload/utils.js.map