diff --git a/lib/manager/modManager.js b/lib/manager/modManager.js index 5ffc52c4..381ccecf 100644 --- a/lib/manager/modManager.js +++ b/lib/manager/modManager.js @@ -1,3 +1,5 @@ +const rightpad = require("right-pad"); + const factorioAPI = require("node-factorio-api"); const fileOps = require("./../fileOps.js"); @@ -18,7 +20,30 @@ module.exports.listMods = function(instance){ }); }); } else { - console.log(instance) + // list shared mods in /sharedMods/ + factorioAPI.init(false, 'sharedMods/', '', '0.15.37'); + console.log("Authenticating to factorio.com...") + factorioAPI.authenticate({ + username: 'Danielv123', + token: '53faebce0a608b1195f01dcfd95ee1', + require_ownership: false + }).then(() => { + factorioAPI.getInstalledMods().then(mods => { + let modNames = ["Name:"]; + let modVersions = ["Version:"]; + mods.forEach(mod=>{ + modNames.push(mod.name); + modVersions.push(mod.version); + }); + let longestName = modNames.reduce(function (a, b) { return a.length > b.length ? a : b; }); + let longestVersion = modVersions.reduce(function (a, b) { return a.length > b.length ? a : b; }); + + console.log("| "+rightpad("Name:", longestName.length, " ")+" | "+rightpad("Version:", longestVersion.length, " ")+" |"); + mods.forEach(mod => { + console.log("| "+rightpad(mod.name, longestName.length, " ")+" | "+rightpad(mod.version, longestVersion.length, " ")+" |"); + }); + }); + }); } // get JSON data about GH releases diff --git a/package-lock.json b/package-lock.json index a794999c..1eab07d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -3473,6 +3473,11 @@ "align-text": "0.1.4" } }, + "right-pad": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/right-pad/-/right-pad-1.0.1.tgz", + "integrity": "sha1-jKCMLLtbVedNr6lr9/0aJ9VoyNA=" + }, "rimraf": { "version": "2.6.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.1.tgz", diff --git a/package.json b/package.json index 1babefac..6cf03940 100644 --- a/package.json +++ b/package.json @@ -43,6 +43,7 @@ "node-factorio-api": "^0.1.28", "portfinder": "^1.0.9", "request": "^2.83.0", + "right-pad": "^1.0.1", "semver": "^5.4.1", "simple-rcon": "^0.3.1", "sync-request": "^4.0.1",