-
Sigmund, Dominik authoredSigmund, Dominik authored
index.js 1.02 KiB
var fs = require('fs')
var path = require('path')
var merge = require('lodash.merge')
let configDefaults = path.join(path.dirname(require.main.filename || process.mainModule.filename), 'config.defaults.json')
let configLocal = path.join(path.dirname(require.main.filename || process.mainModule.filename), 'config.json')
let config = {}
const iterate = function (obj) {
for (let index = 0; index < Object.keys(obj).length; index++) {
const element = Object.keys(obj)[index]
if (process.env[element]) {
obj[element] = process.env[element]
}
// TODO: encode values here
if (typeof element === 'object') {
iterate(element)
}
}
}
try {
fs.accessSync(configDefaults)
config = JSON.parse(fs.readFileSync(configDefaults, 'utf8'))
} catch(error) {
console.log('No File ' + configDefaults)
}
try {
fs.accessSync(configLocal)
config = merge(config, JSON.parse(fs.readFileSync(configLocal, 'utf8')))
} catch (error) {
console.log('No File ' + configLocal)
}
iterate(config)
module.exports = config