Copy files with emitter (even from and to zip archives). It will emit event on every percent of copied chunk of data.
Good for making progress bars.
npm i copymitter
import{copymitter}from'copymitter';constcwd=process.cwd();constfrom=`${cwd}/pipe-io`;constto=`${cwd}/example`;constabortOnError=false;constcp=copymitter(from,to,['LICENSE','README.md','package.json']);cp.on('file',(from,to)=>{console.log(`${from} -> ${to}`);});cp.on('directory',(from,to)=>{console.log(`${from} -> ${to}`);});cp.on('progress',(percent)=>{console.log(percent);if(percent>=50){cp.pause();cp.continue();}});cp.on('pause',()=>{console.log('paused');cp.continue();});cp.on('error',(error)=>{console.error(error.message);if(abortOnError){cp.abort();return;}cp.continue();});cp.on('abort',()=>{console.log('Copying aborted');});cp.on('end',({errors})=>{console.log('Copying ended up');});cp.pause();- Remy - Remove files with emitter.
- Jaguar - Pack and extract .tar.gz archives with emitter.
- OneZip - Pack and extract zip archives with emitter.
- Tar-to-zip - Convert tar and tar.gz archives to zip.
MIT