Unpack .tar
, .tar.gz
and .zip
archives, provide progress info, and an idempotent + resumable API.
const unpacker = require('unpacker-with-progress')
const zip = './some-zip.zip'
const tar = './some-zip.tar.gz'
const dest = './some-dest'
function unpack () {
return Promise.all([
unpacker(zip, dest, { onprogress (progress) { console.log(progress.percent) } }),
unpacker(tar, dest, { onprogress (progress) { console.log(progress.percent) } })
])
}
unpack().then(stats => console.log('done'))
$ npm install unpacker-with-progress -g
Unpack a zip
or tar.gz
at the given src
path, to the dest
path. Returns a promise that resolves to a stats
object.
Opts include:
{
resume: true, // Skip files if they are already extracted in dest
onprogress (stats) { /* noop */ } // progress function. Use this to track progress while extraacting.
}
The stats
object contains the following properties:
{
entriesProcessed, // running total of entries processed
percent, // percentage of extraction complete 0.0 - 1.0
skipped, // number of entries skipped
unpacked, // number of files extracted
totalEntries, // Total number of entries
total, // total number of bytes after extraction
loaded // running total of bytes written
}
This module implements the desired interface over the following modules:
MIT