zip-dir

Zips up directories into buffers or saves zipped files to disk

zip-dir

Zips up a directory and saves the zip to disk or returns as a buffer.

$ npm install zip-dir
var zipdir = require('zip-dir');
 
zipdir('/path/to/be/zipped', function (errbuffer) {
  // `buffer` is the buffer of the zipped file 
});
 
zipdir('/path/to/be/zipped', { saveTo: '~/myzip.zip' }, function (errbuffer) {
  // `buffer` is the buffer of the zipped file 
  // And the buffer was saved to `~/myzip.zip` 
});
 
// Use a filter option to prevent zipping other zip files! 
// Keep in mind you have to allow a directory to descend into! 
zipdir('/path/to/be/zipped', { filter: (path, stat) => !/\.zip$/.test(path) }, function (errbuffer) {
  
});
 
// Use an `each` option to call a function everytime a file is added, and receives the path 
zipdir('/path/to/be/zipped', { each: path => console.log(p, "added!"), function (errbuffer) {
 
});
  
var zipdir = require('zip-dir');

Zips up dirPath recursively preserving directory structure and returns the compressed buffer into callback on success. If options defined with a saveTo path, then the callback will be delayed until the buffer has also been saved to disk.

  • saveTo A path to save the buffer to.
  • filter A function that is called for all items to determine whether or not they should be added to the zip buffer. Function is called with the fullPath and a stats object (fs.Stats). Return true to add the item; false otherwise. To include files within directories, directories must also pass this filter.
  • each A function that is called everytime a file or directory is added to the zip.
  • Add an option to not add empty directories if there are no valid children inside

MIT