31 lines
781 B
JavaScript
31 lines
781 B
JavaScript
const nconf = require('nconf');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const rootUtils = require('@tryghost/root-utils');
|
|
|
|
const env = process.env.NODE_ENV || 'development';
|
|
|
|
module.exports = function getConfig() {
|
|
const defaults = {};
|
|
const parentPath = rootUtils.getProcessRoot();
|
|
|
|
const config = new nconf.Provider();
|
|
|
|
if (parentPath && fs.existsSync(path.join(parentPath, 'config.example.json'))) {
|
|
Object.assign(defaults, require(path.join(parentPath, 'config.example.json')));
|
|
}
|
|
|
|
config.argv()
|
|
.env({
|
|
separator: '__'
|
|
})
|
|
.file({
|
|
file: path.join(parentPath, 'config.' + env + '.json')
|
|
});
|
|
|
|
config.set('env', env);
|
|
|
|
config.defaults(defaults);
|
|
|
|
return config;
|
|
}; |