Skip to content

Commit 06fb19d

Browse files
authored
[AzureRMDeployCommon] Replace decompress-zip with node-stream-zip (#290)
* [AzureRMDeployCommon] Replace decompress-zip with node-stream-zip * Update ziputility.ts
1 parent 152876b commit 06fb19d

File tree

3 files changed

+21
-128
lines changed

3 files changed

+21
-128
lines changed

common-npm-packages/azurermdeploycommon/package-lock.json

Lines changed: 1 addition & 101 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

common-npm-packages/azurermdeploycommon/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "azure-pipelines-tasks-azurermdeploycommon",
3-
"version": "3.235.0",
3+
"version": "3.236.0",
44
"description": "Common Lib for Azure ARM REST apis",
55
"repository": {
66
"type": "git",
@@ -21,7 +21,6 @@
2121
"@types/q": "1.0.7",
2222
"archiver": "2.1.1",
2323
"azure-pipelines-task-lib": "^3.1.0",
24-
"decompress-zip": "^0.3.3",
2524
"jsonwebtoken": "^8.5.1",
2625
"ltx": "2.6.2",
2726
"node-stream-zip": "1.7.0",

common-npm-packages/azurermdeploycommon/webdeployment-common/ziputility.ts

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,28 +2,23 @@ import tl = require('azure-pipelines-task-lib/task');
22
import path = require('path');
33
import Q = require('q');
44
import fs = require('fs');
5-
import StreamZip = require('node-stream-zip');
6-
var DecompressZip = require('decompress-zip');
5+
import StreamZip from 'node-stream-zip';
76
var archiver = require('archiver');
87

98
export async function unzip(zipLocation, unzipLocation) {
109
var defer = Q.defer();
1110
if(tl.exist(unzipLocation)) {
1211
tl.rmRF(unzipLocation);
1312
}
14-
var unzipper = new DecompressZip(zipLocation);
15-
tl.debug('extracting ' + zipLocation + ' to ' + unzipLocation);
16-
unzipper.on('error', function (error) {
17-
defer.reject(error);
18-
});
19-
unzipper.on('extract', function (log) {
20-
tl.debug('extracted ' + zipLocation + ' to ' + unzipLocation + ' Successfully');
21-
defer.resolve(unzipLocation);
22-
});
23-
unzipper.extract({
24-
path: unzipLocation
25-
});
26-
return defer.promise;
13+
tl.mkdirP(unzipLocation);
14+
const zip = new StreamZip.async({ file: zipLocation});
15+
zip.extract(null, unzipLocation).then(() => {
16+
zip.close();
17+
defer.resolve();
18+
}).catch((error) => {
19+
console.log(`error extracting ${zipLocation}: ${error}`);
20+
defer.reject(error);
21+
})
2722
}
2823

2924
export async function archiveFolder(folderPath, targetPath, zipName) {
@@ -53,17 +48,16 @@ export async function archiveFolder(folderPath, targetPath, zipName) {
5348
*/
5449
export async function getArchivedEntries(archivedPackage: string) {
5550
var deferred = Q.defer();
56-
var unzipper = new DecompressZip(archivedPackage);
57-
unzipper.on('error', function (error) {
51+
const zip = new StreamZip.async({file: archivedPackage});
52+
zip.entries().then(entries => {
53+
var packageConmponent = {
54+
'entries': Object.keys(entries)
55+
}
56+
zip.close();
57+
deferred.resolve(packageConmponent);
58+
}).catch(error => {
5859
deferred.reject(error);
59-
});
60-
unzipper.on('list', function (files) {
61-
var packageComponent = {
62-
"entries":files
63-
};
64-
deferred.resolve(packageComponent);
65-
});
66-
unzipper.list();
60+
})
6761
return deferred.promise;
6862
}
6963

0 commit comments

Comments
 (0)