var args = process.argv.splice(2); if (args.length < 1) { console.log("Wrong number of arguments: " + prcess.argv[1] + " fooBar"); console.log(" to write 'fooBar/mods.json'") } var baseDir = args[0]; var _ = require("./lib") , async = require("async") , fs = require("fs"); var modInfo = []; var Q = async.queue(function(filename, next) { _.find_mod_info(baseDir + '/mods/' + filename , function(err, cleanedName, name) { if (!! err) { console.log("Error processing :" + filename); process.exit(); } modInfo.push(name); next(); }); }, 8); Q.drain = function() { console.log("Mod list length: " + modInfo.length); fs.writeFileSync("./" + baseDir + "/mods.json", JSON.stringify(modInfo)); process.exit(); }; _.eachFile("./" + baseDir + "/mods", function (err, file) { if (!! err ) throw err; Q.push(file); });