I found the following code snippet for zipping a directory using node-archiver (I've modified it a bit):
function zipDirectory(source, dest) {
const stream = fs.createWriteStream(dest);
const archive = archiver('zip', { zlib: { level: 9 } });
return new Promise((resolve, reject) => {
archive
.directory(source, false)
.on("error", (err) => reject(err))
.pipe(stream);
stream.on("close", () => resolve());
archive.finalize();
});
}
I want to test it with Jest, however I haven't been able to even mock the package.