Files
liberama/build/linux.js
2019-01-06 13:13:10 +07:00

45 lines
1.5 KiB
JavaScript

const fs = require('fs-extra');
const path = require('path');
const download = require('download');
const decompress = require('decompress');
const decompressTargz = require('decompress-targz');
const distDir = path.resolve(__dirname, '../dist');
const publicDir = `${distDir}/tmp/public`;
const outDir = `${distDir}/linux`;
const tempDownloadDir = `${distDir}/tmp/download`;
async function main() {
// перемещаем public на место
await fs.emptyDir(outDir);
await fs.move(publicDir, `${outDir}/public`);
await fs.ensureDir(tempDownloadDir);
// Скачиваем ipfs
const ipfsRemoteUrl = 'https://dist.ipfs.io/go-ipfs/v0.4.18/go-ipfs_v0.4.18_linux-amd64.tar.gz';
d = download(ipfsRemoteUrl);
d.pipe(fs.createWriteStream(`${tempDownloadDir}/ipfs.tar.gz`));
d.on('end', async() => {
console.log(`done downloading ${ipfsRemoteUrl}`);
//распаковываем
await decompress(`${tempDownloadDir}/ipfs.tar.gz`, `${tempDownloadDir}`, {
plugins: [
decompressTargz()
]
});
console.log('files decompressed');
// копируем в дистрибутив
await fs.copy(`${tempDownloadDir}/go-ipfs/ipfs`, `${outDir}/ipfs`);
console.log(`copied ${tempDownloadDir}/go-ipfs/ipfs to ${outDir}/ipfs`);
//для development
await fs.copy(`${tempDownloadDir}/go-ipfs/ipfs`, path.resolve(__dirname, '../server/ipfs'));
});
}
main();