king
Version:
A powerful server infrastructure management platform - "The King of your Nodes"
48 lines (42 loc) • 940 B
JavaScript
// Generated by CoffeeScript 1.6.3
var async, exec, version, versionCmds;
async = require("async");
exec = require("child_process").exec;
version = /\d+\.\d+\.\d+/;
versionCmds = [
{
name: "node"
}, {
name: "ruby"
}, {
name: "go"
}, {
name: "git"
}, {
name: "npm"
}, {
name: "mongod"
}, {
name: "redis"
}
];
exports.calculate = function(callback) {
var caps, has;
caps = {};
has = function(cmd, callback) {
var cmdString;
if (!cmd.args) {
cmd.args = '--version';
}
cmdString = "" + cmd.name + " " + cmd.args;
return exec(cmdString, function(err, stdout, stderr) {
var m;
caps[cmd.name] = (m = stdout != null ? stdout.match(version || (m = stderr != null ? stderr.match(version) : void 0)) : void 0) ? m[0] : null;
return callback();
});
};
async.each(versionCmds, has, function() {
return callback(caps);
});
return null;
};