scanclient-electron/download.js

21 lines
777 B
JavaScript

const unzip = require('unzip-stream');
const fs = require('fs');
//
(async function () {
const releaseInfo = await (await fetch("https://git.odit.services/api/v1/repos/lfk/scanclient/releases")).json();
if (releaseInfo.length > 0) {
const download_file = releaseInfo[0].assets.find((a) => a.name === 'dist.zip').browser_download_url;
//
const { Readable } = require('stream');
const { finished } = require('stream/promises');
const stream = fs.createWriteStream('./appcode.zip');
const { body } = await fetch(download_file);
await finished(Readable.fromWeb(body).pipe(stream));
//
fs.createReadStream('appcode.zip').pipe(unzip.Parse()).on('entry', () => {
fs.createReadStream('appcode.zip').pipe(unzip.Extract({ path: './appcode/' }));
});
}
})()