function finishLocal(err,result) {
if (argv.zip) {
// create archive
var zip = new admzip();
// add files directly
for (let f in zipFiles) {
zip.addFile(f, new Buffer(zipFiles[f]), 'Created with OpenAPI-CodeGen');
}
// write everything to disk
zip.writeZip(path.join(config.outputDir,configName+'.zip'));
}
}
var AdmZip = require('adm-zip');
// reading archives
var zip = new AdmZip("./my_file.zip");
var zipEntries = zip.getEntries(); // an array of ZipEntry records
zipEntries.forEach(function(zipEntry) {
console.log(zipEntry.toString()); // outputs zip entries information
if (zipEntry.entryName == "my_file.txt") {
console.log(zipEntry.data.toString('utf8'));
}
});
// outputs the content of some_folder/my_file.txt
console.log(zip.readAsText("some_folder/my_file.txt"));
// extracts the specified file to the specified location
zip.extractEntryTo(/*entry name*/"some_folder/my_file.txt", /*target path*/"/home/me/tempfolder", /*overwrite*/true)
// extracts everything
zip.extractAllTo(/*target path*/"/home/me/zipcontent/", /*overwrite*/true);
// creating archives
var zip = new AdmZip();
// add file directly
zip.addFile("test.txt", new Buffer("inner content of the file"), "entry comment goes here");
// add local file
zip.addLocalFile("/home/me/some_picture.png");
// get everything as a buffer
var willSendthis = zip.toBuffer();
// or write everything to disk
zip.writeZip(/*target file name*/"/home/me/files.zip");
const zipContents = (zipPath, { cwd } = {}) => {
const zip = new AdmZip(cwd ? path.resolve(cwd, zipPath) : zipPath);
return zip.getEntries().map(({ entryName }) => entryName);
};
function stageToCDN(version, latest) {
//...
if (fse.existsSync(CDN_ROOT)) {
var dest = makeCDNPath(version);
var zip = new AdmZip();
zip.addLocalFolder('dist', PROJECT_NAME);
zip.writeZip(path.join('dist', PROJECT_NAME+".zip"));
fse.copySync('dist', dest, onErr);
console.log('copied to ' + dest);
//...
} else {
console.error("CDN directory " + CDN_ROOT + "does not exist; nothing was copied")
}
}
async function parseZipFile(cloudOptions) {
//...
const data = await readFile(cloudOptions.secureConnectBundle);
const zip = new AdmZip(data);
const zipEntries = new Map(zip.getEntries().map(e => [e.entryName, e.getData()]));
if (!zipEntries.get('config.json')) {
throw new TypeError('Config file must be contained in secure bundle');
}
const config = JSON.parse(zipEntries.get('config.json').toString('utf8'));
//...
}