mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 10:47:04 +02:00
27 lines
784 B
TypeScript
27 lines
784 B
TypeScript
import decompress from 'decompress';
|
|||
|
|
import { existsSync } from 'fs';
|
||
|
|
import { mkdir, writeFile } from 'fs/promises';
|
||
|
|
|
||
|
|
if (!existsSync('temp')) {
|
||
|
|
console.log('Creating temp directory...');
|
||
|
|
await mkdir('temp');
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('Downloading depot downloader...');
|
||
|
|
await fetch(
|
||
|
|
'https://api.github.com/repos/SteamRE/DepotDownloader/releases/latest',
|
||
|
|
)
|
||
|
|
.then(
|
||
|
|
(response) =>
|
||
|
|
response.json() as Promise<{
|
||
|
|
assets: { browser_download_url: string }[];
|
||
|
|
}>,
|
||
|
|
)
|
||
|
|
.then(({ assets }) => fetch(assets[0].browser_download_url))
|
||
|
|
.then((response) => response.arrayBuffer())
|
||
|
|
.then((arrayBuffer) =>
|
||
|
|
writeFile('temp/depotDownloader.zip', Buffer.from(arrayBuffer)),
|
||
|
|
);
|
||
|
|
|
||
|
|
console.log('Unzipping...');
|
||
|
|
decompress('temp/depotDownloader.zip', 'temp/depotDownloader');
|