import axios from "axios"; import fs from "node:fs"; export async function downloadFile( url: string, destFile: string, ): Promise { const file = fs.createWriteStream(destFile); let response = await axios.request({ url: url, method: "GET", responseType: "stream", }); return new Promise((resolve, reject) => { response.data.pipe(file); let error: Error | null = null; file.on("error", (e) => { error = e; reject(e); }); file.on("close", () => { if (error) { return; } file.close(); resolve(); }); }); }