UNPKG

@guoyunhe/downloader

Version:

Download large files with minimum RAM usage. Support tar.gz and zip extraction.

62 lines (45 loc) 1.33 kB
# @guoyunhe/downloader Download large files with minimum RAM usage. Support tar.gz and zip extraction. ## Install ```bash npm i @guoyunhe/downloader ``` ## Usage Download a simple file ```ts import { download } from '@guoyunhe/downloader'; await download('https://example.com/logo.png', 'dist/path/logo.png'); ``` Download and extract tar.gz or zip archive ```ts import { download } from '@guoyunhe/downloader'; await download('https://example.com/data.tar.gz', 'dist/path/', { extract: true }); // Output: // └── export-2023-01-01 // └── data // ├── spec.xml // ├── report.pdf // └── raw.dat ``` Reduce extraction file path by two folder ```ts import { download } from '@guoyunhe/downloader'; await download('https://example.com/data.tar.gz', 'dist/path/', { extract: true, strip: 2 }); // Output: // ├── spec.xml // ├── report.pdf // └── raw.dat ``` Receive download progress updates ```ts import { download } from '@guoyunhe/downloader'; await download('https://example.com/data.tar.gz', 'dist/path/data.tar.gz', { onProgress(progress) { if (progress.totalBytes === null) { console.log(`${progress.downloadedBytes} bytes downloaded`); } else { console.log(`${progress.percentage?.toFixed(2)}%`); } }, }); ```