Compress a whole directory (including subdirectories) into a zip file, with options to exclude specific files, or directories.
$ npm install dir-archiver
// Require modules.
var DirArchiver = require('dir-archiver');
// Create an array with the files and directories to exclude.
const excludes = ['directory_name', 'file.extension'];
/**
* Create a dir-archiver object.
* @param {string} directoryPath - The path of the folder to archive.
* @param {string} zipPath - The path of the zip file to create.
* @param {Boolean} includeBaseDirectory - Includes a base directory at the root of the archive.
* For example, if the root folder of your project is named "your-project", setting
* includeBaseDirectory to true will create an archive that includes this base directory.
* If this option is set to false the archive created will unzip its content to
* the current directory.
* @param {array} excludes - A list with the names of the files and folders to exclude.
*/
var archive = new DirArchiver('path/to/directory', 'path/to/desination/zipfile.zip', true, excludes);
// Create the zip file.
archive.createZip();
Usage: dir-archiver --src <path-to-directory> --dest <path-to-file>.zip --includebasedir true|false --exclude folder-name file-name.extention
Options:
--src The path of the folder to archive. [string][required]
--dest The path of the zip file to create. [string][required]
--includebasedir Includes a base directory at the root of the archive.
For example, if the root folder of your project is named
"your-project", setting this option to true will create
an archive that includes this base directory.
If this option is set to false the archive created will
unzip its content to the current directory. [bool]
--exclude A list with the names of the files and folders to exclude. [array]