tar-to-zip
v3.0.0
Published
convert tar and tar.gz archives to zip
Downloads
3,853
Maintainers
Readme
tar-to-zip
Convert tar and tar.gz archives to zip.
Global
tar-to-zip
could be installed globally and used as tar-to-zip
or tar2zip
:
npm i tar-to-zip -g
Usage
Convert all tar.gz
archives to zip
in same directory:
tar2zip *.tar.gz
Make every program a filter
(c) Mike Gancarz: The UNIX Philosophy
Convert tar
data from stdin
and pipe it to stdout
.
cat arc.tar | tar2zip > arc.zip
Local
tar-to-zip
could be used localy. It will emit event on every file from converted archive.
Install
npm i tar-to-zip --save
API
tar-to-zip
can work with filename
and ReadableStream
. When filename
used tar-to-zip
can emit
progress of coverting (with options
: {progress: true}
).
tar-to-zip
can transform the files as they are being processed using options
: map
and filter
.
tarToZip(filename, {progress})
filename
- string name of the fileoptions
- object with properties:progress
- whether emitprogress
event.
const tarToZip = require('tar-to-zip');
const fs = require('fs');
const {stdout} = process;
const onProgress = (n) => {
stdout.write(`\r${n}`);
};
const onFinish = (e) => {
stdout.write('\n');
};
const onError = ({message}) => {
console.error(message);
};
const zip = fs.createWriteStream('file.zip');
const progress = true;
tarToZip('file.tar.gz', {progress})
.on('progress', onProgress)
.on('file', console.log)
.on('error', onError)
.getStream()
.pipe(zip)
.on('finish', onFinish);
tarToZip(stream)
stream
- ReadableStream withtar
data.
const tarToZip = require('tar-to-zip');
const fs = require('fs');
const {stdout} = process;
const onProgress = (n) => {
stdout.write(`\r${n}`);
};
const onFinish = (e) => {
stdout.write('\n');
};
const onError = ({message}) => {
console.error(message)
};
const tar = fs.createReadStream('file.tar.gz');
const zip = fs.createWriteStream('file.zip');
const progress = true;
tarToZip(tar, {progress})
.on('progress', onProgress)
.on('file', console.log)
.on('error', onError)
.getStream()
.pipe(zip)
.on('finish', onFinish);
tarToZip(stream, {filter, map})
options
- ReadableStream withtar
data.filter
- function to filter out files. Returnfalse
to exclude a file.map
- function to transform file name/type.
const tarToZip = require('tar-to-zip');
const fs = require('fs');
const {stdout} = process;
const onProgress = (n) => {
stdout.write(`\r${n}`);
};
const onFinish = (e) => {
stdout.write('\n');
};
const onError = ({message}) => {
console.error(message);
};
const zip = fs.createWriteStream('file.zip');
const progress = false;
// exclude all but example.txt
const filter = ({name}) => {
return name === 'example.txt';
};
// replace all .txt extensions with .doc
const map = ({name}) => {
return {
name: name.replace(/\.txt$/, '.doc')
};
};
tarToZip('file.tar.gz', {filter, map, progress})
.on('progress', onProgress)
.on('file', console.log)
.on('error', onError)
.getStream()
.pipe(zip)
.on('finish', onFinish);
Related
- Jag - Pack files and folders with tar and gzip.
- Jaguar - Pack and extract .tar.gz archives with emitter.
- OneZip - Pack and extract zip archives with emitter.
- zip-to-tar - Convert zip archives to tar.
License
MIT