1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- 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();
|