var http = require("http"), fs = require("fs"); function prettyCurrentTime() { var date = new Date(); return date.toLocaleString(); } function write_file(commands, path) { var file_contents, out_commands; console.log("Writing " + Object.keys(commands).length + " commands to " + path); file_contents = "// This file was generated by ./generate_commands.js on " + prettyCurrentTime() + "\n"; out_commands = Object.keys(commands).map(function (key) { return key.toLowerCase(); }); file_contents += "module.exports = " + JSON.stringify(out_commands, null, " ") + ";\n"; fs.writeFile(path, file_contents); } http.get({host: "redis.io", path: "/commands.json"}, function (res) { var body = ""; console.log("Response from redis.io/commands.json: " + res.statusCode); res.on('data', function (chunk) { body += chunk; }); res.on('end', function () { write_file(JSON.parse(body), "lib/commands.js"); }); }).on('error', function (e) { console.log("Error fetching command list from redis.io: " + e.message); });