diff --git a/lib/manager/configManager.js b/lib/manager/configManager.js index 3fdeb2e9..1beceb26 100644 --- a/lib/manager/configManager.js +++ b/lib/manager/configManager.js @@ -15,6 +15,9 @@ console.log()s each entry in the config @param {string} instance Either undefined, "shared" or the instance to show the config for. */ module.exports.displayConfig = function(instance){ + console.log(asTable(this.getConfig(instance))); +} +module.exports.getConfig = async function(instance){ if(!instance || instance == "shared"){ let configArray = []; Object.keys(config).forEach(key=>{ @@ -24,7 +27,7 @@ module.exports.displayConfig = function(instance){ } else configArray.push({entry: key, value: config[key]}); } }); - console.log(asTable(configArray)); + return configArray; } } module.exports.editConfig = function(instance, entry, newValue){ @@ -36,12 +39,20 @@ module.exports.editConfig = function(instance, entry, newValue){ console.log("new config file:"); console.log(JSON.stringify(config, null, " ")) fs.writeFileSync("config.json", JSON.stringify(config, null, 4)); + return { + ok:true, + msg:`Changed config entry ${entry} from Object to ${JSON.stringify(newValue)}`, + } } else { config[entry] = newValue; console.log("Changed config entry "+entry+" from "+config[entry]+" to '"+newValue+"'"); console.log("new config file:"); console.log(JSON.stringify(config, null, " ")) fs.writeFileSync("config.json", JSON.stringify(config, null, 4)); + return { + ok:true, + msg:`Changed config entry ${entry} from ***** to '${newValue}'`, + }; } } } diff --git a/lib/manager/modManager.js b/lib/manager/modManager.js index 2b338d28..78a07ca4 100644 --- a/lib/manager/modManager.js +++ b/lib/manager/modManager.js @@ -7,7 +7,7 @@ const rightpad = require("right-pad"); const asTable = require("as-table").configure({delimiter: ' | '}); const moment = require("moment"); const syncRequest = require("sync-request"); -const fs = require("fs"); +const fs = require("fs-extra"); const https = require('follow-redirects').https; const factorioAPI = require("node-factorio-api"); const sLog = require("single-line-log").stdout; @@ -27,7 +27,6 @@ function formatBytes(a,b){if(0==a)return"0 Bytes";var c=1024,d=b||2,e=["Bytes"," module.exports = function(config){ if(!config) config = require("./../../config"); const instances = require("./../getInstances.js")(config).sync(); - return { /** Lists mods for an instance as a table. Warning, handles printing internally.