beyond
Version:
The Full Stack Universal Typescript Framework
27 lines (21 loc) • 774 B
JavaScript
const fs = require('fs');
const archiver = require('archiver');
module.exports = (builder, source, destination) => new Promise((resolve, reject) => {
'use strict';
const output = fs.createWriteStream(destination);
const archive = archiver('zip', {
'store': true // Sets the compression method to STORE
});
output.on('close', function () {
builder.emit('message', `Application "${builder.application.name}" has been archived, ` +
`${archive.pointer()} bytes processed`);
resolve();
});
archive.on('error', function (err) {
builder.emit('error', err);
reject(err);
});
archive.pipe(output);
archive.directory(source, false);
archive.finalize();
});