tar-fs
Advanced tools
Comparing version 3.0.0 to 3.0.1
{ | ||
"name": "tar-fs", | ||
"version": "3.0.0", | ||
"version": "3.0.1", | ||
"description": "filesystem bindings for tar-stream", | ||
@@ -5,0 +5,0 @@ "dependencies": { |
# tar-fs | ||
filesystem bindings for [tar-stream](https://github.com/mafintosh/tar-stream). | ||
Filesystem bindings for [tar-stream](https://github.com/mafintosh/tar-stream). | ||
@@ -9,4 +9,2 @@ ``` | ||
[![build status](https://secure.travis-ci.org/mafintosh/tar-fs.png)](http://travis-ci.org/mafintosh/tar-fs) | ||
## Usage | ||
@@ -19,4 +17,4 @@ | ||
``` js | ||
var tar = require('tar-fs') | ||
var fs = require('fs') | ||
const tar = require('tar-fs') | ||
const fs = require('fs') | ||
@@ -35,4 +33,4 @@ // packing a directory | ||
``` js | ||
var pack = tar.pack('./my-directory', { | ||
ignore: function(name) { | ||
const pack = tar.pack('./my-directory', { | ||
ignore (name) { | ||
return path.extname(name) === '.bin' // ignore .bin files when packing | ||
@@ -42,4 +40,4 @@ } | ||
var extract = tar.extract('./my-other-directory', { | ||
ignore: function(name) { | ||
const extract = tar.extract('./my-other-directory', { | ||
ignore (name) { | ||
return path.extname(name) === '.bin' // ignore .bin files inside the tarball when extracing | ||
@@ -49,4 +47,4 @@ } | ||
var extractFilesDirs = tar.extract('./my-other-other-directory', { | ||
ignore: function(_, header) { | ||
const extractFilesDirs = tar.extract('./my-other-other-directory', { | ||
ignore (_, header) { | ||
// pass files & directories, ignore e.g. symlinks | ||
@@ -61,3 +59,3 @@ return header.type !== 'file' && header.type !== 'directory' | ||
```js | ||
var pack = tar.pack('./my-directory', { | ||
const pack = tar.pack('./my-directory', { | ||
entries: ['file1', 'subdir/file2'] // only the specific entries will be packed | ||
@@ -70,4 +68,4 @@ }) | ||
``` js | ||
var pack = tar.pack('./my-directory', { | ||
map: function(header) { | ||
const pack = tar.pack('./my-directory', { | ||
map (header) { | ||
header.name = 'prefixed/'+header.name | ||
@@ -78,4 +76,4 @@ return header | ||
var extract = tar.extract('./my-directory', { | ||
map: function(header) { | ||
const extract = tar.extract('./my-directory', { | ||
map (header) { | ||
header.name = 'another-prefix/'+header.name | ||
@@ -90,4 +88,4 @@ return header | ||
``` js | ||
var pack = tar.pack('./my-directory', { | ||
mapStream: function(fileStream, header) { | ||
const pack = tar.pack('./my-directory', { | ||
mapStream (fileStream, header) { | ||
// NOTE: the returned stream HAS to have the same length as the input stream. | ||
@@ -98,12 +96,12 @@ // If not make sure to update the size in the header passed in here. | ||
} | ||
return fileStream; | ||
return fileStream | ||
} | ||
}) | ||
var extract = tar.extract('./my-directory', { | ||
mapStream: function(fileStream, header) { | ||
const extract = tar.extract('./my-directory', { | ||
mapStream (fileStream, header) { | ||
if (path.extname(header.name) === '.js') { | ||
return fileStream.pipe(someTransform) | ||
} | ||
return fileStream; | ||
return fileStream | ||
} | ||
@@ -116,3 +114,3 @@ }) | ||
``` js | ||
var extract = tar.extract('./my-directory', { | ||
const extract = tar.extract('./my-directory', { | ||
dmode: parseInt(555, 8), // all dirs should be readable | ||
@@ -154,5 +152,5 @@ fmode: parseInt(444, 8) // all files should be readable | ||
``` js | ||
var mypack = tar.pack('./my-directory', { | ||
const mypack = tar.pack('./my-directory', { | ||
finalize: false, | ||
finish: function(sameAsMypack) { | ||
finish (sameAsMypack) { | ||
mypack.entry({name: 'generated-file.txt'}, "hello") | ||
@@ -166,13 +164,4 @@ tar.pack('./other-directory', { | ||
## Performance | ||
Packing and extracting a 6.1 GB with 2496 directories and 2398 files yields the following results on my Macbook Air. | ||
[See the benchmark here](https://gist.github.com/mafintosh/8102201) | ||
* tar-fs: 34.261 seconds | ||
* [node-tar](https://github.com/isaacs/node-tar): 366.123 seconds (or 10x slower) | ||
## License | ||
MIT |
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
0
16595
155