decompress-targz
Advanced tools
Comparing version 1.0.3 to 2.0.0
28
index.js
'use strict'; | ||
var File = require('vinyl'); | ||
var isGzip = require('is-gzip'); | ||
@@ -7,2 +8,3 @@ var sbuff = require('simple-bufferstream'); | ||
var tar = require('tar'); | ||
var through = require('through2'); | ||
var zlib = require('zlib'); | ||
@@ -21,7 +23,17 @@ | ||
return function (file, decompress, cb) { | ||
var files = []; | ||
return through.obj(function (file, enc, cb) { | ||
var self = this; | ||
if (file.isNull()) { | ||
cb(null, file); | ||
return; | ||
} | ||
if (file.isStream()) { | ||
cb(new Error('Streaming is not supported')); | ||
return; | ||
} | ||
if (!isGzip(file.contents)) { | ||
cb(); | ||
cb(null, file); | ||
return; | ||
@@ -47,12 +59,14 @@ } | ||
file.on('end', function () { | ||
chunk = Buffer.concat(chunk, len); | ||
files.push({ contents: chunk, path: stripDirs(file.path, opts.strip) }); | ||
self.push(new File({ | ||
contents: Buffer.concat(chunk, len), | ||
path: stripDirs(file.path, opts.strip) | ||
})); | ||
}); | ||
} | ||
}) | ||
.on('end', function () { | ||
decompress.files = files; | ||
cb(); | ||
}); | ||
}; | ||
}); | ||
}; |
{ | ||
"name": "decompress-targz", | ||
"version": "1.0.3", | ||
"version": "2.0.0", | ||
"description": "decompress tar.gz plugin", | ||
@@ -32,9 +32,11 @@ "license": "MIT", | ||
"strip-dirs": "^0.1.1", | ||
"tar": "^1.0.0" | ||
"tar": "^1.0.0", | ||
"through2": "^0.6.1", | ||
"vinyl": "^0.4.3" | ||
}, | ||
"devDependencies": { | ||
"ava": "0.0.4", | ||
"decompress": "^1.0.0", | ||
"rimraf": "^2.2.8" | ||
"is-jpg": "^1.0.0", | ||
"vinyl-file": "^1.1.0" | ||
} | ||
} |
@@ -1,2 +0,2 @@ | ||
# decompress-targz [![Build Status](https://travis-ci.org/kevva/decompress-targz.svg?branch=master)](https://travis-ci.org/kevva/decompress-targz) | ||
# decompress-targz [![Build Status](http://img.shields.io/travis/kevva/decompress-targz.svg?style=flat)](https://travis-ci.org/kevva/decompress-targz) | ||
@@ -19,8 +19,27 @@ > tar.gz decompress plugin | ||
.src('foo.tar.gz') | ||
.dest('destFolder') | ||
.dest('dest') | ||
.use(targz({ strip: 1 })); | ||
decompress.decompress(); | ||
decompress.run(function (err, files) { | ||
if (err) { | ||
throw err; | ||
} | ||
console.log('Files extracted successfully!'); | ||
}); | ||
``` | ||
You can also use this plugin with [gulp](http://gulpjs.com): | ||
```js | ||
var gulp = require('gulp'); | ||
var targz = require('decompress-targz'); | ||
gulp.task('default', function () { | ||
return gulp.src('foo.tar.gz') | ||
.pipe(targz({ strip: 1 })) | ||
.pipe(gulp.dest('dest')); | ||
}); | ||
``` | ||
## Options | ||
@@ -27,0 +46,0 @@ |
3545
57
56
6
+ Addedthrough2@^0.6.1
+ Addedvinyl@^0.4.3
+ Addedclone@0.2.0(transitive)
+ Addedclone-stats@0.0.1(transitive)
+ Addedcore-util-is@1.0.3(transitive)
+ Addedisarray@0.0.1(transitive)
+ Addedreadable-stream@1.0.34(transitive)
+ Addedstring_decoder@0.10.31(transitive)
+ Addedthrough2@0.6.5(transitive)
+ Addedvinyl@0.4.6(transitive)
+ Addedxtend@4.0.2(transitive)