diff --git a/lib/pass.js b/lib/pass.js index 3fefcfd..607cb90 100644 --- a/lib/pass.js +++ b/lib/pass.js @@ -257,17 +257,17 @@ Pass.prototype.pipe = function(output) { self.emit("error", lastError); } else { process.nextTick(function() { + zip.on("end", function() { + self.emit("end"); + }); + zip.on("error", function(error) { + self.emit("error", error); + }); self.signZip(zip, manifest, function(error) { if (error) { return self.emit("error", error); } zip.close(); - zip.on("end", function() { - self.emit("end"); - }); - zip.on("error", function(error) { - self.emit("error", error); - }); }); }); } @@ -342,6 +342,7 @@ Pass.prototype.signZip = function(zip, manifest, callback) { if (!error) { // Write signature file zip.addFile("signature").end(signature); + zip.emit("end"); } callback(error); });