Skip to content

Instantly share code, notes, and snippets.

@cranic
Created March 18, 2014 18:58
Show Gist options
  • Save cranic/2c718ddfa20ab1724c70 to your computer and use it in GitHub Desktop.
Save cranic/2c718ddfa20ab1724c70 to your computer and use it in GitHub Desktop.
compress/000000 000000 000000 0000000000 0000000000 010637 5ustar00000000 000000
compress/dolor/000755 001750 000006 0000000000 12312110650012070 5ustar00000000 000000
compress/dolor/ipsum.txt000644 001750 000006 0000000566 12312110650013775 0ustar00000000 000000
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sodales ligula lobortis ornare dictum. Donec vitae nisl diam. Praesent sodales risus vel molestie laoreet. Sed interdum vulputate lectus non fermentum. Maecenas sagittis velit ut ante commodo tristique. Nulla et dolor vulputate, suscipit massa eu, rhoncus augue. Donec quis libero ac diam scelerisque bibendum.
compress/lorem.txt000644 001750 000006 0000000566 12312110644012642 0ustar00000000 000000
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sodales ligula lobortis ornare dictum. Donec vitae nisl diam. Praesent sodales risus vel molestie laoreet. Sed interdum vulputate lectus non fermentum. Maecenas sagittis velit ut ante commodo tristique. Nulla et dolor vulputate, suscipit massa eu, rhoncus augue. Donec quis libero ac diam scelerisque bibendum.
@cranic
Copy link
Author

cranic commented Mar 18, 2014

This is the code:

var fstream = require('fstream');
var tar = require('tar');

var packer = tar.Pack({});
packer.on('data', function(data){
    console.log(data.toString());
});

var reader = fstream.Reader({
    path: __dirname + '/../compress',
    type: 'Directory',

    // Fixing directory permissions
    // https://github.com/cranic/node-tar.gz/pull/9
    filter: function (entry) {
        if (entry.props.type === "Directory")
            entry.props.mode |= (entry.props.mode >>> 2) & 0111;

        return true;
    }
});

reader.pipe(packer);

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment