From 37de9e3745a85cfdd81894c8e725e360ba506ea0 Mon Sep 17 00:00:00 2001 From: Matias Singers Date: Mon, 26 Jan 2015 10:39:27 +0800 Subject: [PATCH] Use async.parallel to run #provisioning() and #entitlements() in parallel - also avoids nested callbacks, closes #5 --- index.js | 22 ++++++++-------------- package.json | 1 + 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/index.js b/index.js index 3525ca4..61c9e14 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,6 @@ 'use strict'; +var async = require('async'); var plist = require('simple-plist'); var decompress = require('decompress-zip'); var provisioning = require('provisioning'); @@ -25,27 +26,20 @@ module.exports = function (file, callback){ data.metadata = plist.readFileSync(path + 'Info.plist'); - if(!fs.existsSync(path + 'embedded.mobileprovision')){ - return cleanUp(); - } - - provisioning(path + 'embedded.mobileprovision', function(error, provision){ + async.parallel([ + async.apply(provisioning, path + 'embedded.mobileprovision'), + async.apply(entitlements, path) + ], function(error, results){ if(error){ return cleanUp(error); } - data.provisioning = provision; + data.provisioning = results[0]; delete data.provisioning.DeveloperCertificates; - if(!which.sync('codesign')){ - return cleanUp(); - } + data.entitlements = results[1]; - entitlements(path, function(error, entitlement) { - data.entitlements = entitlement; - - return cleanUp(); - }); + return cleanUp(); }); }); diff --git a/package.json b/package.json index 047a0f9..3be252d 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,7 @@ }, "homepage": "https://github.com/matiassingers/ipa-metadata", "dependencies": { + "async": "0.9.0", "chalk": "0.5.1", "cli-table": "0.3.1", "decompress-zip": "0.0.8",