adm-zip icon indicating copy to clipboard operation
adm-zip copied to clipboard

When the length of zipEntries is 0, extractAllToAsync callback is not invoked.

Open baijunjie opened this issue 5 years ago • 1 comments

This Promise will waiting forever

const zip = new AdmZip(zipPath);
const zipEntries = zip.getEntries();

for (let zipEntry of Object.values(zipEntries)) {
  zip.deleteFile(zipEntry.entryName);
}

// zipEntries.length === 0;
new Promise((resolve, reject) => {
  zip.extractAllToAsync(distDir, true, err => {
    if (err) return reject(err);
    resolve();
  });
});

baijunjie avatar Feb 07 '19 08:02 baijunjie

Same problem here. I faced it when using promisify:

const { promisify } = require('util');
const Zip = require('adm-zip');

const zip = new Zip(srcPath);
await promisify(zip.extractAllToAsync)(dstPath, true, (err) => { });

albertodiazdorado avatar Jan 28 '20 07:01 albertodiazdorado