lbry-desktop/build/downloadDaemon.js
Igor Gassmann b80faabf52 .
2018-02-09 11:46:17 -03:00

42 lines
1.2 KiB
JavaScript

/* eslint-disable */
const path = require('path');
const fs = require('fs');
const packageJSON = require('../package.json');
const axios = require('axios');
const decompress = require('decompress');
module.exports = function(context) {
const daemonURLTemplate = packageJSON.lbrySettings.lbrynetDaemonUrlTemplate;
const daemonVersion = packageJSON.lbrySettings.lbrynetDaemonVersion;
let currentPlatform = context.platform.toString();
if (currentPlatform === 'mac') currentPlatform = 'macos';
const daemonURL = daemonURLTemplate
.replace(/DAEMONVER/g, daemonVersion)
.replace(/OSNAME/g, currentPlatform);
const tmpZipPath = 'build/daemon.zip';
return new Promise(resolve => {
axios
.request({
responseType: 'arraybuffer',
url: daemonURL,
method: 'get',
headers: {
'Content-Type': 'application/zip',
},
})
.then(result => {
fs.writeFileSync(tmpZipPath, result.data);
return true;
})
.then(() => {
return decompress(tmpZipPath, 'static/daemon', {
filter: file => path.basename(file.path).replace(path.extname(file.path), '') === 'lbrynet-daemon',
});
})
.then(() => {
return resolve(true);
});
});
};