'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
// istanbul ignore next
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
exports.executeShellCommand = executeShellCommand;
exports.getParsedJsonFromFile = getParsedJsonFromFile;
exports.getParsedPackageJsonFromPath = getParsedPackageJsonFromPath;
exports.isArray = isArray;
exports.isFunction = isFunction;
exports.isString = isString;
/**
* Executes the command passed to it at the path requested
* using the instance of shelljs passed in
*/
function executeShellCommand(sh, path, installCommand) {
sh.cd(path);
sh.exec(installCommand);
}
/**
* Gets the parsed contents of a json file
*/
function getParsedJsonFromFile(filePath, fileName) {
var encoding = arguments.length <= 2 || arguments[2] === undefined ? 'utf8' : arguments[2];
try {
var packageJsonContents = _fs2['default'].readFileSync(_path2['default'].join(filePath, fileName), encoding);
return JSON.parse(packageJsonContents);
} catch (e) {
console.error(e);
}
}
/**
* A helper method for getting the contents of package.json at a given path
*/
function getParsedPackageJsonFromPath(path) {
return getParsedJsonFromFile(path, 'package.json');
}
/**
* Test if the passed argument is an array
*/
function isArray(arr) {
if (typeof arr === "undefined") {
return false;
} else if (arr === null) {
return false;
} else {
return arr.constructor === Array;
}
}
/**
* Test if the passed argument is a function
*/
function isFunction(functionToCheck) {
if (typeof functionToCheck === "undefined") {
return false;
} else if (functionToCheck === null) {
return false;
} else {
var getType = {};
return functionToCheck && getType.toString.call(functionToCheck) === '[object Function]';
}
}
/**
* Test if the passed argument is a string
*/
function isString(str) {
if (typeof str === "undefined") {
return false;
} else if (str === null) {
return false;
} else {
return Object.prototype.toString.call(str) == '[object String]';
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3RyYXZpcy9idWlsZC9jb21taXRpemVuL2N6LWNsaS9zcmMvY29tbW9uL3V0aWwuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O2tCQUFlLElBQUk7Ozs7b0JBQ0YsTUFBTTs7OztRQUdyQixtQkFBbUIsR0FBbkIsbUJBQW1CO1FBQ25CLHFCQUFxQixHQUFyQixxQkFBcUI7UUFDckIsNEJBQTRCLEdBQTVCLDRCQUE0QjtRQUM1QixPQUFPLEdBQVAsT0FBTztRQUNQLFVBQVUsR0FBVixVQUFVO1FBQ1YsUUFBUSxHQUFSLFFBQVE7Ozs7OztBQU9WLFNBQVMsbUJBQW1CLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUU7QUFDckQsSUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNaLElBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Q0FDekI7Ozs7O0FBS0QsU0FBUyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFxQjtNQUFuQixRQUFRLHlEQUFHLE1BQU07O0FBQ2xFLE1BQUk7QUFDRixRQUFJLG1CQUFtQixHQUFHLGdCQUFHLFlBQVksQ0FBQyxrQkFBSyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ25GLFdBQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0dBQ3hDLENBQUMsT0FBTyxDQUFDLEVBQUU7QUFDVixXQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0dBQ2xCO0NBQ0Y7Ozs7O0FBS0QsU0FBUyw0QkFBNEIsQ0FBQyxJQUFJLEVBQUU7QUFDMUMsU0FBTyxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsY0FBYyxDQUFDLENBQUM7Q0FDcEQ7Ozs7O0FBS0QsU0FBUyxPQUFPLENBQUMsR0FBRyxFQUFFO0FBQ2xCLE1BQUcsT0FBTyxHQUFHLEtBQUssV0FBVyxFQUMvQjtBQUNFLFdBQU8sS0FBSyxDQUFDO0dBQ2QsTUFBTSxJQUFJLEdBQUcsS0FBSyxJQUFJLEVBQUU7QUFDdkIsV0FBTyxLQUFLLENBQUM7R0FDZCxNQUFNO0FBQ0wsV0FBTyxHQUFHLENBQUMsV0FBVyxLQUFLLEtBQUssQ0FBQztHQUNsQztDQUNGOzs7OztBQUtELFNBQVMsVUFBVSxDQUFDLGVBQWUsRUFBRTtBQUNuQyxNQUFHLE9BQU8sZUFBZSxLQUFLLFdBQVcsRUFDekM7QUFDRSxXQUFPLEtBQUssQ0FBQztHQUNkLE1BQU0sSUFBSSxlQUFlLEtBQUssSUFBSSxFQUFFO0FBQ25DLFdBQU8sS0FBSyxDQUFDO0dBQ2QsTUFBTTtBQUNMLFFBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztBQUNqQixXQUFPLGVBQWUsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxtQkFBbUIsQ0FBQztHQUMxRjtDQUNGOzs7OztBQUtELFNBQVMsUUFBUSxDQUFDLEdBQUcsRUFBRTtBQUNyQixNQUFHLE9BQU8sR0FBRyxLQUFLLFdBQVcsRUFDN0I7QUFDRSxXQUFPLEtBQUssQ0FBQztHQUNkLE1BQU0sSUFBSSxHQUFHLEtBQUssSUFBSSxFQUFFO0FBQ3ZCLFdBQU8sS0FBSyxDQUFDO0dBQ2QsTUFBTTtBQUNMLFdBQU8sTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLGlCQUFpQixDQUFDO0dBQ2pFO0NBQ0YiLCJmaWxlIjoiL2hvbWUvdHJhdmlzL2J1aWxkL2NvbW1pdGl6ZW4vY3otY2xpL3NyYy9jb21tb24vdXRpbC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tICdmcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxuZXhwb3J0IHtcbiAgZXhlY3V0ZVNoZWxsQ29tbWFuZCxcbiAgZ2V0UGFyc2VkSnNvbkZyb21GaWxlLFxuICBnZXRQYXJzZWRQYWNrYWdlSnNvbkZyb21QYXRoLFxuICBpc0FycmF5LFxuICBpc0Z1bmN0aW9uLFxuICBpc1N0cmluZ1xufVxuXG4vKipcbiAqIEV4ZWN1dGVzIHRoZSBjb21tYW5kIHBhc3NlZCB0byBpdCBhdCB0aGUgcGF0aCByZXF1ZXN0ZWRcbiAqIHVzaW5nIHRoZSBpbnN0YW5jZSBvZiBzaGVsbGpzIHBhc3NlZCBpblxuICovXG5mdW5jdGlvbiBleGVjdXRlU2hlbGxDb21tYW5kKHNoLCBwYXRoLCBpbnN0YWxsQ29tbWFuZCkge1xuICBzaC5jZChwYXRoKTtcbiAgc2guZXhlYyhpbnN0YWxsQ29tbWFuZCk7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgcGFyc2VkIGNvbnRlbnRzIG9mIGEganNvbiBmaWxlXG4gKi9cbmZ1bmN0aW9uIGdldFBhcnNlZEpzb25Gcm9tRmlsZShmaWxlUGF0aCwgZmlsZU5hbWUsIGVuY29kaW5nID0gJ3V0ZjgnKSB7XG4gIHRyeSB7XG4gICAgdmFyIHBhY2thZ2VKc29uQ29udGVudHMgPSBmcy5yZWFkRmlsZVN5bmMocGF0aC5qb2luKGZpbGVQYXRoLCBmaWxlTmFtZSksIGVuY29kaW5nKTtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShwYWNrYWdlSnNvbkNvbnRlbnRzKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGNvbnNvbGUuZXJyb3IoZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGhlbHBlciBtZXRob2QgZm9yIGdldHRpbmcgdGhlIGNvbnRlbnRzIG9mIHBhY2thZ2UuanNvbiBhdCBhIGdpdmVuIHBhdGhcbiAqL1xuZnVuY3Rpb24gZ2V0UGFyc2VkUGFja2FnZUpzb25Gcm9tUGF0aChwYXRoKSB7XG4gIHJldHVybiBnZXRQYXJzZWRKc29uRnJvbUZpbGUocGF0aCwgJ3BhY2thZ2UuanNvbicpO1xufVxuXG4vKipcbiAqIFRlc3QgaWYgdGhlIHBhc3NlZCBhcmd1bWVudCBpcyBhbiBhcnJheVxuICovXG5mdW5jdGlvbiBpc0FycmF5KGFycikge1xuICAgIGlmKHR5cGVvZiBhcnIgPT09IFwidW5kZWZpbmVkXCIpXG4gIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSBpZiAoYXJyID09PSBudWxsKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBhcnIuY29uc3RydWN0b3IgPT09IEFycmF5O1xuICB9XG59XG5cbi8qKlxuICogVGVzdCBpZiB0aGUgcGFzc2VkIGFyZ3VtZW50IGlzIGEgZnVuY3Rpb25cbiAqL1xuZnVuY3Rpb24gaXNGdW5jdGlvbihmdW5jdGlvblRvQ2hlY2spIHtcbiAgaWYodHlwZW9mIGZ1bmN0aW9uVG9DaGVjayA9PT0gXCJ1bmRlZmluZWRcIilcbiAge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSBlbHNlIGlmIChmdW5jdGlvblRvQ2hlY2sgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH0gZWxzZSB7XG4gICAgdmFyIGdldFR5cGUgPSB7fTtcbiAgICByZXR1cm4gZnVuY3Rpb25Ub0NoZWNrICYmIGdldFR5cGUudG9TdHJpbmcuY2FsbChmdW5jdGlvblRvQ2hlY2spID09PSAnW29iamVjdCBGdW5jdGlvbl0nO1xuICB9XG59XG5cbi8qKlxuICogVGVzdCBpZiB0aGUgcGFzc2VkIGFyZ3VtZW50IGlzIGEgc3RyaW5nXG4gKi9cbmZ1bmN0aW9uIGlzU3RyaW5nKHN0cikge1xuICBpZih0eXBlb2Ygc3RyID09PSBcInVuZGVmaW5lZFwiKVxuICB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2UgaWYgKHN0ciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHN0cikgPT0gJ1tvYmplY3QgU3RyaW5nXSc7XG4gIH1cbn1cbiJdfQ== |