var tar = require('tar-async'),
  streamBuffers = require('stream-buffers'),
  fs = require('fs'),
  zlib = require('zlib');
  
var myWritableStreamBuffer = new streamBuffers.WritableStreamBuffer({
    initialSize: (100 * 1024),      // start as 100 kilobytes.
    incrementAmount: (10 * 1024)    // grow by 10 kilobytes each time buffer overflows.
});

tape = new tar({output: myWritableStreamBuffer});

tape.append('test.json', '{"test":"bla"}');
tape.append('test2.json', '{"test2":"bla"}');
tape.append('justText.txt', 'This is just some text. Fun, huh?', function () {
	tape.close();
	
	myWritableStreamBuffer.destroy();
  
  var gzip = zlib.createGzip()
  fs.open('./export.tar.gz', 'w+', function(e, fd) {
    zlib.gzip(myWritableStreamBuffer.getContents(), function(err, buffer) {
      if (!err) {
         fs.write(fd, buffer, 0, buffer.length, 0, function(e, w, buffer) {
           console.log("error:",e);
         })
       }
    });
    
  });
  
  
});