Skip to content

coderaiser/node-jaguar

Repository files navigation

Jaguar License NPM version Dependency Status Build Status Coverage Status

Pack and extract .tar.gz archives with emitter.

Global

Jaguar could be installed global with

npm i jaguar -g

And used this way:

Usage: jaguar [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

Local

Jaguar could be used localy. It will emit event on every packed/extracted file. Good for making progress bars.

Install

npm i jaguar --save

How to use?

pack(from, to, names)

  • from - string directory that would be packed
  • to - string or stream, name of archive
  • names - array of names in directory from that would be packed.
const jaguar = require('jaguar');
const path = require('path');
const cwd = process.cwd();
const name = 'pipe.tar.gz';
const from = cwd + '/pipe-io';
const to = path.join(cwd, name);

const pack = jaguar.pack(from, to, [
    'LICENSE',
    'README.md',
    'package.json'
]);

pack.on('file', (name) => {
    console.log(name);
});

pack.on('start', () => {
    console.log('start of packing');
});

pack.on('progress', (percent) => {
    console.log(percent + '%');
});

pack.on('error', (error) => {
    console.error(error);
});

pack.on('end', () => {
    console.log('done');
});

extract(from, to)

  • from - path to .tar.gz archive
  • to - path to directory where files would be stored.
const jaguar = require('jaguar');
const path = require('path');
const cwd = process.cwd();
const name = 'pipe.tar.gz';
const to = cwd + '/pipe-io';
const from = path.join(cwd, name);

const extract = jaguar.extract(from, to);

extract.on('file', (name) => {
    console.log(name);
});

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:

33%
67%
100%
done

Related

  • Bizzy - Pack and extract .tar.bz2 archives with emitter.
  • Jag - Pack files and folders with tar and gzip.
  • OneZip - Pack and extract zip archives with emitter.
  • Tar-to-zip - Convert tar and tar.gz archives to zip.
  • Copymitter - Copy files with emitter.
  • Remy - Remove files with emitter.

License

MIT