Skip to content

Commit

Permalink
chore(core): remove unused download-to-file util (#3774)
Browse files Browse the repository at this point in the history
* chore: remove unused `download-to-file` util

* remove types
  • Loading branch information
erickzhao authored Dec 3, 2024
1 parent 8e99305 commit f9c33f8
Show file tree
Hide file tree
Showing 3 changed files with 0 additions and 60 deletions.
2 changes: 0 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@
"mime-types": "^2.1.25",
"node-fetch": "^2.6.7",
"parse-author": "^2.0.0",
"progress": "^2.0.3",
"rechoir": "^0.8.0",
"resolve-package": "^1.0.1",
"semver": "^7.2.1",
Expand Down Expand Up @@ -103,7 +102,6 @@
"@types/mocha": "^9.0.0",
"@types/node": "^18.0.3",
"@types/node-fetch": "^2.5.5",
"@types/progress": "^2.0.5",
"@types/proxyquire": "^1.3.28",
"@types/rechoir": "^0.6.1",
"@types/semver": "^7.3.4",
Expand Down
1 change: 0 additions & 1 deletion packages/api/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@
"lodash": "^4.17.20",
"log-symbols": "^4.0.0",
"node-fetch": "^2.6.7",
"progress": "^2.0.3",
"rechoir": "^0.8.0",
"resolve-package": "^1.0.1",
"semver": "^7.2.1",
Expand Down
57 changes: 0 additions & 57 deletions packages/api/core/src/util/download-to-file.ts
Original file line number Diff line number Diff line change
@@ -1,57 +0,0 @@
import * as path from 'path';

import * as fs from 'fs-extra';
import got, { HTTPError } from 'got';
import ProgressBar from 'progress';

const PROGRESS_BAR_DELAY_IN_SECONDS = 30;

export async function downloadToFile(targetFilePath: string, url: string): Promise<void> {
let downloadCompleted = false;
let bar: ProgressBar | undefined;
let progressPercent: number;
await fs.mkdirp(path.dirname(targetFilePath));
const writeStream = fs.createWriteStream(targetFilePath);

const start = new Date();
const timeout = setTimeout(() => {
if (!downloadCompleted) {
bar = new ProgressBar(`Downloading ${path.basename(url)}: [:bar] :percent ETA: :eta seconds `, {
curr: progressPercent,
total: 100,
});
// https://github.com/visionmedia/node-progress/issues/159
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(bar as any).start = start;
}
}, PROGRESS_BAR_DELAY_IN_SECONDS * 1000);

await new Promise<void>((resolve, reject) => {
const downloadStream = got.stream(url);
downloadStream.on('downloadProgress', async (progress) => {
progressPercent = progress.percent;
if (bar) {
bar.update(progress.percent);
}
});
downloadStream.on('error', (error) => {
if (error instanceof HTTPError && error.response.statusCode === 404) {
error.message += ` for ${error.response.url}`;
}
if (writeStream.destroy) {
writeStream.destroy(error);
}

reject(error);
});
writeStream.on('error', (error) => reject(error));
writeStream.on('close', () => resolve());

downloadStream.pipe(writeStream);
});

downloadCompleted = true;
if (timeout) {
clearTimeout(timeout);
}
}

0 comments on commit f9c33f8

Please sign in to comment.