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); } }); }); }
const zipEntries = zip.getEntries(); const writeFilePromises = []; for (const zipEntry of zipEntries)
}, {}) logger.info('Importing documents from file %s to user %s (#%s) ...', file, user.uid, user.id) return forEach(zip.getEntries(), (zipEntry) => { const name = zipEntry.entryName let action = Promise.resolve(doc)