Skip to content

Commit a42d20f

Browse files
authored
fix: remove vulnerable "zip-folder" package for "archiver" (Kocal#347)
| Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | Tests pass? | yes <!-- please add some, will be required by reviewers --> | Fixed tickets | Kocal#338 <!-- #-prefixed issue number(s), if any -->
1 parent d5c067c commit a42d20f

File tree

11 files changed

+529
-415
lines changed

11 files changed

+529
-415
lines changed

examples/full-airbnb/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
"@babel/core": "^7.1.2",
2727
"@babel/plugin-proposal-optional-chaining": "^7.0.0",
2828
"@babel/preset-env": "^7.1.0",
29+
"archiver": "^3.0.0",
2930
"babel-eslint": "^10.0.1",
3031
"babel-loader": "^8.0.2",
3132
"copy-webpack-plugin": "^4.5.3",
@@ -54,7 +55,6 @@
5455
"webpack": "^4.20.2",
5556
"webpack-chrome-extension-reloader": "^0.8.3",
5657
"webpack-cli": "^3.1.2",
57-
"webpack-shell-plugin": "^0.5.0",
58-
"zip-folder": "^1.0.0"
58+
"webpack-shell-plugin": "^0.5.0"
5959
}
6060
}

examples/full-airbnb/scripts/build-zip.js

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
const fs = require('fs');
44
const path = require('path');
5-
const zipFolder = require('zip-folder');
5+
const archiver = require('archiver');
66

77
const DEST_DIR = path.join(__dirname, '../dist');
88
const DEST_ZIP_DIR = path.join(__dirname, '../dist-zip');
@@ -25,14 +25,17 @@ const makeDestZipDirIfNotExists = () => {
2525
const buildZip = (src, dist, zipFilename) => {
2626
console.info(`Building ${zipFilename}...`);
2727

28+
const archive = archiver('zip', { zlib: { level: 9 }});
29+
const stream = fs.createWriteStream(path.join(dist, zipFilename));
30+
2831
return new Promise((resolve, reject) => {
29-
zipFolder(src, path.join(dist, zipFilename), (err) => {
30-
if(err) {
31-
reject(err);
32-
} else {
33-
resolve();
34-
}
35-
});
32+
archive
33+
.directory(src, false)
34+
.on('error', err => reject(err))
35+
.pipe(stream);
36+
37+
stream.on('close', () => resolve());
38+
archive.finalize();
3639
});
3740
};
3841

0 commit comments

Comments
 (0)