UNPKG

tarifa

Version:

Your friendly toolchain for mobile app development on top of Apache Cordova

47 lines (42 loc) 1.49 kB
var Q = require('q'), path = require('path'), exec = require('child_process').exec, platforms = require('cordova-lib/src/platforms/platforms'), platformHelper = require('../helper/platform'); function getPlatformVersion(root) { return function (platform) { platform = platformHelper.getName(platform); var cmd = path.resolve(root, 'platforms', platform, 'cordova', 'version'), defer = Q.defer(), options = { timeout: 0, maxBuffer: 1024 * 500 }; exec('"' + cmd + '"', options, function (err, stdout) { if(err) { defer.reject(cmd + ' ' + err); return; } var rslt = { version: stdout.toString().replace(/\n/g, '').trim(), name: platform }; defer.resolve(rslt); }); return defer.promise; }; } function getCordovaPlatformsVersion(root, somePlatforms) { return Q.all(somePlatforms.map(getPlatformVersion(root))); } function getAvailablePlatformsVersion(ps){ return Q.resolve(ps.map(function (platform) { return { name: platform, version: platforms[platform].version }; })); } module.exports.getCordovaPlatformsVersion = getCordovaPlatformsVersion; module.exports.getAvailablePlatformsVersion = getAvailablePlatformsVersion; module.exports.getPlatformVersion = getPlatformVersion;