js/script/zip.js (28 lines of code) (raw):

var fs = require('fs'); var path = require('path'); var process = require('process'); var archiver = require('archiver'); function zipFolder(srcFolder, zipFilePath) { fs.mkdirSync(path.dirname(zipFilePath), { recursive: true }); var output = fs.createWriteStream(zipFilePath); var zipArchive = archiver('zip'); output.on('close', function() { console.log('Successfully created a zip file at ' + zipFilePath); }); zipArchive.on('error', function(error) { console.log('Couldn\'t zip a folder due to: ' + error); }); zipArchive.pipe(output); zipArchive.directory(path.resolve(srcFolder), false); zipArchive.finalize(); } var sccFolder = process.argv[2]; if (!sccFolder) { console.error('The folder is not selected!'); } else { if (sccFolder[sccFolder.length - 1] === '/') { sccFolder = sccFolder.slice(0, sccFolder.length - 1); } var output = 'zips/' + sccFolder + '.zip'; zipFolder(sccFolder, output) }