king
Version:
A powerful server infrastructure management platform - "The King of your Nodes"
45 lines (33 loc) • 1.21 kB
JavaScript
// Generated by CoffeeScript 1.6.3
var action, addr, pkg, port, program, server, str, type;
pkg = require("../../package.json");
program = require("commander");
program.version(pkg.version);
program.usage("<rule [port]|serve host[:port]>");
program.on('--help', function() {
return console.log("\ Examples:\n king rule\n king rule 5464\n king serve 10.0.1.2\n king serve 10.0.1.2:5464\n\ Notes:\n default port is KING (5464)");
});
program.parse(process.argv);
action = program.args[0];
if (action !== "rule" && action !== "serve") {
console.log("You must either 'rule' or 'serve'...");
program.help();
}
type = action === "rule" ? "king" : "servant";
server = require("../" + type + "/" + type + "-server");
if (type === "king") {
str = program.args[1];
port = str ? parseInt(str, 10) : void 0;
if (str !== undefined && isNaN(port) || ((0 >= port && port >= 65535))) {
console.log("A king cannot rule on the port: '" + str + "'...");
program.help();
}
server.start(port);
} else if (type === "servant") {
addr = program.args[1];
if (!addr) {
console.log("You must serve a particular king...");
program.help();
}
server.start(addr);
}