zipEntries.forEach(function(entry) { if (entry.isDirectory) { return; var entryName = entry.entryName; var filename = entryName.substring(4); var dashIndex = filename.lastIndexOf('_'); return; var content = zip.readFile(entryName); if (!content) { return;
util.log('Extracting contents...'.green); const zip = new AdmZip(zipFile); zip.extractAllTo('', true); fs.move(fromDir, directories[dir], function(err) { if (err) {
zip.toBuffer((buffer, err) => { if(err) reject(err) resolve(buffer) })
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')); } }
async _unpackVersion (DVP) { const versionArchive = new Unzip(DVP); await versionArchive.extractAllTo(this._downloadPath, true); return versionArchive; }
const unzipFile = async function({ path }) { const zip = new AdmZip(path) const pExtractAll = promisify(zip.extractAllToAsync.bind(zip)) await pExtractAll(`${path}/..`, false) }
async extractPackage (options = this.options) { if (options.clientPackage.startsWith('http')) { await this.downloadAsync(options.clientPackage, options.root, 'clientPackage.zip', true, 'client-package') options.clientPackage = path.join(options.root, 'clientPackage.zip') } new Zip(options.clientPackage).extractAllTo(options.root, true) if (options.removePackage) fs.unlinkSync(options.clientPackage) return this.client.emit('package-extract', true) }
dirFiles.forEach((file) => { if(fs.lstatSync(path.join(dir, file)).isDirectory()) { zip.addLocalFolder(path.resolve(dir, file), file) } else { zip.addLocalFile(file) } })
function extractProjectZipfiles() { console.log("Extracting zip files..."); const zip = new admZip(tempZip); const mainEntry = zip.getEntries()[0].entryName; zip.extractAllTo(tempDir, true); // use copySync instead of moveSync as the later one can remove execution dir // in linux on `cmints --example` copySync(path.join(tempDir, mainEntry), srcPath, {overwrite: true}); removeSync(tempDir); }
function inferAssetNameFromZip(conn, source, cb) { // temporarily unzip the file and then scan the dir var toplevelXmlRe = new RegExp('^apiproxy/[^/]+\\.xml$'); var zip = new AdmZip(source); var zipEntries = zip.getEntries(); var foundit = false; zipEntries.forEach(function(entry){ if ( ! foundit) { if (toplevelXmlRe.test(entry.entryName)) { let data = entry.getData(); doParseForName(conn, data.toString('utf8'), cb); foundit = true; } } }); }
function needNpmInstall(collection, zipArchive) { if (collection != 'apis') { return false; } var foundPackage = false; var foundNodeModules = false; var zip = new AdmZip(zipArchive); var zipEntries = zip.getEntries(); zipEntries.forEach(function(entry) { if (entry.entryName == 'apiproxy/resources/node/package.json') { foundPackage = true; } if (entry.entryName == 'apiproxy/resources/node/node_modules.zip') { foundNodeModules = true; } }); return foundPackage && !foundNodeModules; }
function finishRemote(err,result) { configName = configName.split(':').pop(); if (argv.verbose) console.log('Making/cleaning output directories'); mkdirp(path.join(config.outputDir,configName),function(){ rimraf(path.join(config.outputDir,configName)+'/*',function(){ if (argv.zip) { fs.writeFileSync(path.join(config.outputDir,configName,configName+'.zip'),result); } else { const zip = new admzip(result); if (argv.verbose) { console.log('Unzipping...'); const zipEntries = zip.getEntries(); // an array of ZipEntry records zipEntries.forEach(function(zipEntry) { console.log(zipEntry.entryName); }); } zip.extractAllTo(config.outputDir,true); } }); }); }
pkg = JSON.parse(zip.readAsText('package.json')); } catch (e) { return Promise.reject(new SystemError('Zip file does not contain a valid package.json.'));
zip.extractAllTo(folder); // zip.extractEntryTo(entry, folder, /*maintainEntryPath*/false, /*overwrite*/true);
const zipEntries = zip.getEntries(); const writeFilePromises = []; for (const zipEntry of zipEntries) const notTranslated = zip.readAsText(entryName).startsWith("["); if (zipEntry.isDirectory || notTranslated) continue; writeFilePromises.push(outputFile(target, zipEntry.getData()));