Небольшой рефакторинг
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
|
const util = require('util');
|
||||||
|
const stream = require('stream');
|
||||||
|
const pipeline = util.promisify(stream.pipeline);
|
||||||
|
|
||||||
const download = require('download');
|
const download = require('download');
|
||||||
const decompress = require('decompress');
|
const decompress = require('decompress');
|
||||||
@@ -18,12 +21,13 @@ async function main() {
|
|||||||
await fs.move(publicDir, `${outDir}/public`);
|
await fs.move(publicDir, `${outDir}/public`);
|
||||||
|
|
||||||
await fs.ensureDir(tempDownloadDir);
|
await fs.ensureDir(tempDownloadDir);
|
||||||
|
|
||||||
|
const ipfsDecompressedFilename = `${tempDownloadDir}/go-ipfs/ipfs`;
|
||||||
|
if (!await fs.pathExists(ipfsDecompressedFilename)) {
|
||||||
// Скачиваем ipfs
|
// Скачиваем ipfs
|
||||||
const ipfsRemoteUrl = 'https://dist.ipfs.io/go-ipfs/v0.4.18/go-ipfs_v0.4.18_linux-amd64.tar.gz';
|
const ipfsRemoteUrl = 'https://dist.ipfs.io/go-ipfs/v0.4.18/go-ipfs_v0.4.18_linux-amd64.tar.gz';
|
||||||
|
|
||||||
d = download(ipfsRemoteUrl);
|
await pipeline(download(ipfsRemoteUrl), fs.createWriteStream(`${tempDownloadDir}/ipfs.tar.gz`));
|
||||||
d.pipe(fs.createWriteStream(`${tempDownloadDir}/ipfs.tar.gz`));
|
|
||||||
d.on('end', async() => {
|
|
||||||
console.log(`done downloading ${ipfsRemoteUrl}`);
|
console.log(`done downloading ${ipfsRemoteUrl}`);
|
||||||
|
|
||||||
//распаковываем
|
//распаковываем
|
||||||
@@ -32,14 +36,17 @@ async function main() {
|
|||||||
decompressTargz()
|
decompressTargz()
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('files decompressed');
|
console.log('files decompressed');
|
||||||
|
}
|
||||||
|
|
||||||
// копируем в дистрибутив
|
// копируем в дистрибутив
|
||||||
await fs.copy(`${tempDownloadDir}/go-ipfs/ipfs`, `${outDir}/ipfs`);
|
await fs.copy(ipfsDecompressedFilename, `${outDir}/ipfs`);
|
||||||
console.log(`copied ${tempDownloadDir}/go-ipfs/ipfs to ${outDir}/ipfs`);
|
console.log(`copied ${tempDownloadDir}/go-ipfs/ipfs to ${outDir}/ipfs`);
|
||||||
//для development
|
//для development
|
||||||
await fs.copy(`${tempDownloadDir}/go-ipfs/ipfs`, path.resolve(__dirname, '../server/ipfs'));
|
const devIpfsFile = path.resolve(__dirname, '../server/ipfs');
|
||||||
});
|
if (!await fs.pathExists(devIpfsFile)) {
|
||||||
|
await fs.copy(ipfsDecompressedFilename, devIpfsFile);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|||||||
26
build/win.js
26
build/win.js
@@ -1,5 +1,8 @@
|
|||||||
const path = require('path');
|
|
||||||
const fs = require('fs-extra');
|
const fs = require('fs-extra');
|
||||||
|
const path = require('path');
|
||||||
|
const util = require('util');
|
||||||
|
const stream = require('stream');
|
||||||
|
const pipeline = util.promisify(stream.pipeline);
|
||||||
|
|
||||||
const download = require('download');
|
const download = require('download');
|
||||||
const decompress = require('decompress');
|
const decompress = require('decompress');
|
||||||
@@ -18,13 +21,14 @@ async function main() {
|
|||||||
await fs.move(publicDir, `${outDir}/public`);
|
await fs.move(publicDir, `${outDir}/public`);
|
||||||
|
|
||||||
await fs.ensureDir(tempDownloadDir);
|
await fs.ensureDir(tempDownloadDir);
|
||||||
|
|
||||||
|
|
||||||
const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.0.4/node-v64-win32-x64.tar.gz';
|
const sqliteRemoteUrl = 'https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.0.4/node-v64-win32-x64.tar.gz';
|
||||||
const sqliteDecompressedFilename = `${tempDownloadDir}/node-v64-win32-x64/node_sqlite3.node`;
|
const sqliteDecompressedFilename = `${tempDownloadDir}/node-v64-win32-x64/node_sqlite3.node`;
|
||||||
|
|
||||||
|
if (!await fs.pathExists(sqliteDecompressedFilename)) {
|
||||||
// Скачиваем node_sqlite3.node для винды, т.к. pkg не включает его в сборку
|
// Скачиваем node_sqlite3.node для винды, т.к. pkg не включает его в сборку
|
||||||
let d = download(sqliteRemoteUrl);
|
await pipeline(download(sqliteRemoteUrl), fs.createWriteStream(`${tempDownloadDir}/sqlite.tar.gz`));
|
||||||
d.pipe(fs.createWriteStream(`${tempDownloadDir}/sqlite.tar.gz`));
|
|
||||||
d.on('end', async() => {
|
|
||||||
console.log(`done downloading ${sqliteRemoteUrl}`);
|
console.log(`done downloading ${sqliteRemoteUrl}`);
|
||||||
|
|
||||||
//распаковываем
|
//распаковываем
|
||||||
@@ -34,26 +38,26 @@ async function main() {
|
|||||||
]
|
]
|
||||||
});
|
});
|
||||||
console.log('files decompressed');
|
console.log('files decompressed');
|
||||||
|
}
|
||||||
// копируем в дистрибутив
|
// копируем в дистрибутив
|
||||||
await fs.copy(sqliteDecompressedFilename, `${outDir}/node_sqlite3.node`);
|
await fs.copy(sqliteDecompressedFilename, `${outDir}/node_sqlite3.node`);
|
||||||
console.log(`copied ${sqliteDecompressedFilename} to ${outDir}/node_sqlite3.node`);
|
console.log(`copied ${sqliteDecompressedFilename} to ${outDir}/node_sqlite3.node`);
|
||||||
});
|
|
||||||
|
|
||||||
|
const ipfsDecompressedFilename = `${tempDownloadDir}/go-ipfs/ipfs.exe`;
|
||||||
|
if (!await fs.pathExists(ipfsDecompressedFilename)) {
|
||||||
// Скачиваем ipfs
|
// Скачиваем ipfs
|
||||||
const ipfsRemoteUrl = 'https://dist.ipfs.io/go-ipfs/v0.4.18/go-ipfs_v0.4.18_windows-amd64.zip';
|
const ipfsRemoteUrl = 'https://dist.ipfs.io/go-ipfs/v0.4.18/go-ipfs_v0.4.18_windows-amd64.zip';
|
||||||
|
|
||||||
d = download(ipfsRemoteUrl);
|
await pipeline(download(ipfsRemoteUrl), fs.createWriteStream(`${tempDownloadDir}/ipfs.zip`));
|
||||||
d.pipe(fs.createWriteStream(`${tempDownloadDir}/ipfs.zip`));
|
|
||||||
d.on('end', async() => {
|
|
||||||
console.log(`done downloading ${ipfsRemoteUrl}`);
|
console.log(`done downloading ${ipfsRemoteUrl}`);
|
||||||
|
|
||||||
//распаковываем
|
//распаковываем
|
||||||
await decompress(`${tempDownloadDir}/ipfs.zip`, `${tempDownloadDir}`);
|
await decompress(`${tempDownloadDir}/ipfs.zip`, `${tempDownloadDir}`);
|
||||||
console.log('files decompressed');
|
console.log('files decompressed');
|
||||||
|
}
|
||||||
// копируем в дистрибутив
|
// копируем в дистрибутив
|
||||||
await fs.copy(`${tempDownloadDir}/go-ipfs/ipfs.exe`, `${outDir}/ipfs.exe`);
|
await fs.copy(ipfsDecompressedFilename, `${outDir}/ipfs.exe`);
|
||||||
console.log(`copied ${tempDownloadDir}/go-ipfs/ipfs.exe to ${outDir}/ipfs.exe`);
|
console.log(`copied ${ipfsDecompressedFilename} to ${outDir}/ipfs.exe`);
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main();
|
main();
|
||||||
Reference in New Issue
Block a user