UNPKG

appcenter-cli

Version:

Command line tool for Visual Studio App Center

57 lines (56 loc) 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getCordovaOrPhonegapCLI = exports.isValidPlatform = exports.isValidOS = exports.getCordovaProjectAppVersion = void 0; const which = require("which"); const xml2js = require("xml2js"); const fs = require("fs"); const path = require("path"); function getCordovaProjectAppVersion(projectRoot) { return new Promise((resolve, reject) => { let configString; try { projectRoot = projectRoot || process.cwd(); configString = fs.readFileSync(path.join(projectRoot, "config.xml"), { encoding: "utf8" }); } catch (error) { return reject(new Error(`Unable to find or read "config.xml" in the CWD. The "release-cordova" command must be executed in a Cordova project folder.`)); } xml2js.parseString(configString, (err, parsedConfig) => { if (err || !parsedConfig || !parsedConfig.widget) { reject(new Error(`Unable to parse "config.xml" in the CWD. Ensure that the contents of "config.xml" is valid.`)); } const config = parsedConfig.widget; resolve(config["$"].version); }); }); } exports.getCordovaProjectAppVersion = getCordovaProjectAppVersion; function isValidOS(os) { switch (os.toLowerCase()) { case "android": case "ios": return true; default: return false; } } exports.isValidOS = isValidOS; function isValidPlatform(platform) { return platform.toLowerCase() === "cordova"; } exports.isValidPlatform = isValidPlatform; // Check whether the Cordova or PhoneGap CLIs are // installed, and if not, fail early function getCordovaOrPhonegapCLI() { let cordovaCLI = "cordova"; try { which.sync(cordovaCLI); return cordovaCLI; } catch (e) { cordovaCLI = "phonegap"; which.sync(cordovaCLI); return cordovaCLI; } } exports.getCordovaOrPhonegapCLI = getCordovaOrPhonegapCLI;