Pack and extract .zip archives with emitter.
onezip could be installed global with
npm i onezip -g
And used this way:
Usage: onezip [filename]
Options:
-h, --help display this help and exit
-v, --version output version information and exit
-p, --pack pack files to archive
-x, --extract extract files from archive
onezip could be used locally. It will emit event on every packed/extracted file.
Good for making progress bars.
npm i onezip --save
from- string directory that would be packedto- string or stream, name of archivenames- array of names in directoryfromthat would be packed.
importpathfrom'node:path';import{onezip}from'onezip';constcwd=process.cwd();constname='pipe.tar.gz';constfrom=`${cwd}/pipe-io`;constto=path.join(cwd,name);constpack=onezip.pack(from,to,['LICENSE','README.md','package.json']);pack.on('file',(name)=>{console.log(name);});pack.on('start',()=>{console.log('start packing');});pack.on('progress',(percent)=>{console.log(`${percent}%`);});pack.on('error',(error)=>{console.error(error);});pack.on('end',()=>{console.log('done');});from- path to .zip archiveto- path to directory where files would be stored.
importpathfrom'node:path';import{onezip}from'onezip';constcwd=process.cwd();constname='pipe.zip';constto=`${cwd}/pipe-io`;constfrom=path.join(cwd,name);constextract=onezip.extract(from,to);extract.on('file',(name)=>{console.log(name);});extract.on('start',(percent)=>{console.log('extracting started');});extract.on('progress',(percent)=>{console.log(`${percent}%`);});extract.on('error',(error)=>{console.error(error);});extract.on('end',()=>{console.log('done');});In case of starting example output should be similar to (but with additional events):
33%
67%
100%
done
- Jag - Pack files and folders with tar and gzip.
- Jaguar - Pack and extract .tar.gz archives with emitter.
- Tar-to-zip - Convert tar and tar.gz archives to zip.
MIT