Socket
Socket
Sign inDemoInstall

tar-fs

Package Overview
Dependencies
11
Maintainers
2
Versions
62
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.0 to 3.0.1

2

package.json
{
"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
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc