| var localinstancesPath = `${instanceroot}/${p}.elxr`; | var localinstancesPath = `${instanceroot}/${p}.elxr`; | ||||
| if(existsSync( localinstancesPath )) { | if(existsSync( localinstancesPath )) { | ||||
| try { | try { | ||||
| var chessinstances = acquirelocalinstances( `${instanceroot}/${p}` ) | |||||
| var chessinstances = acquirelocalinstances( { root : `${instanceroot}/${p}` } ) | |||||
| if(chessinstances.error) delete chessinstances.error | if(chessinstances.error) delete chessinstances.error | ||||
| return Object.keys(chessinstances).earlyreduce( ( reduced, instanceName) => { | return Object.keys(chessinstances).earlyreduce( ( reduced, instanceName) => { | ||||
| return Object.keys(chessinstances[instanceName]).earlyreduce( (reduced, instanceType) => { | return Object.keys(chessinstances[instanceName]).earlyreduce( (reduced, instanceType) => { | ||||
| } | } | ||||
| var cacheWriteInstanceConfig = function(chessinstances, instanceroot, selectedinstance){ | var cacheWriteInstanceConfig = function(chessinstances, instanceroot, selectedinstance){ | ||||
| var instanceName = selectedinstance.instanceName ; | |||||
| var node_env = selectedinstance.node_env; | |||||
| // PB : TODO -- handle current_run switch... | |||||
| // console.dir(chessinstances) | |||||
| // PB : TODO -- We should be able to do simply merge at a higher level using assign | |||||
| chessinstances[instanceName][node_env].repos = mergeObjByKey(chessinstances[instanceName][node_env].repos || [], 'repo') ; | |||||
| chessinstances[instanceName][node_env].elevated = mergeObjByKey(chessinstances[instanceName][node_env].elevated || [], 'repo') ; | |||||
| if(selectedinstance) { | |||||
| var instanceName = selectedinstance.instanceName ; | |||||
| var node_env = selectedinstance.node_env; | |||||
| // PB : TODO -- handle current_run switch... | |||||
| // console.dir(chessinstances) | |||||
| // PB : TODO -- We should be able to do simply merge at a higher level using assign | |||||
| chessinstances[instanceName][node_env].repos = mergeObjByKey(chessinstances[instanceName][node_env].repos || [], 'repo') ; | |||||
| chessinstances[instanceName][node_env].elevated = mergeObjByKey(chessinstances[instanceName][node_env].elevated || [], 'repo') ; | |||||
| } | |||||
| fs.writeFileSync(instanceroot + '/chessinstances.js', 'module.exports = ' + JSON.stringify(chessinstances, null, 2) + '', { 'flag': 'w' }) | fs.writeFileSync(instanceroot + '/chessinstances.js', 'module.exports = ' + JSON.stringify(chessinstances, null, 2) + '', { 'flag': 'w' }) | ||||
| } | } | ||||
| , selected, selectedinstance) | , selected, selectedinstance) | ||||
| chessinstances[selected.instanceName][selected.node_env].reposervers = Array.from(new Set(chessinstances[selected.instanceName][selected.node_env].reposervers)) | chessinstances[selected.instanceName][selected.node_env].reposervers = Array.from(new Set(chessinstances[selected.instanceName][selected.node_env].reposervers)) | ||||
| selectedinstance.reposerver = selectedinstance.reposerver || selectedinstance.reposervers[0] // PB : TODO -- Attempt first one that is available and online... | selectedinstance.reposerver = selectedinstance.reposerver || selectedinstance.reposervers[0] // PB : TODO -- Attempt first one that is available and online... | ||||
| cacheWriteInstanceConfig(chessinstances, selectedinstance.root) | |||||
| cacheWriteInstanceConfig(chessinstances, selectedinstance.root, selectedinstance) | |||||
| // ENV.NODE_ENV = selectedinstance.node_env; | // ENV.NODE_ENV = selectedinstance.node_env; | ||||
| throw e | throw e | ||||
| } | } |