@dxatscale/sfprofiles
Version:
Salesforce Profile management
18 lines (14 loc) • 493 B
text/typescript
const archiver = require('archiver');
import * as fs from 'fs-extra';
export async function zipDirectory(source, out) {
const archive = archiver('zip', { zlib: { level: 9 } });
const stream = fs.createWriteStream(out);
return new Promise<void>((resolve, reject) => {
archive
.directory(source, false)
.on('error', (err) => reject(err))
.pipe(stream);
stream.on('close', () => resolve());
archive.finalize();
});
}