rally-tools
Version:
The rally tools cli interface
44 lines (35 loc) • 875 B
JavaScript
import {homedir} from "os";
import {readFileSync} from "fs";
export let configFile = null
if(homedir){
configFile = homedir() + "/.rallyconfig";
}
let configObject;
export function loadConfig(file){
if(file) configFile = file;
if(!configFile) return;
configObject = {hasConfig: true};
try{
let json = readFileSync(configFile);
configObject = JSON.parse(json);
configObject.hasConfig = true;
}catch(e){
if(e.code == "ENOENT"){
configObject.hasConfig = false;
//ok, they should probably make a config
}else{
throw e;
}
}
}
export function loadConfigFromArgs(args){
let tempConfig = {
hasConfig: true,
...args.config
};
configObject = tempConfig;
}
export function setConfig(obj){
configObject = obj;
}
export {configObject};