git ssb

1+

clemo / helperjs



Tree: fbad0279dd4439c8eb8da96d385e27acd5755c74

Files: fbad0279dd4439c8eb8da96d385e27acd5755c74 / lib / config.js

1151 bytesRaw
1import fs from 'fs';
2import debug from 'debug';
3import path from 'path';
4import env2obj from 'env2obj';
5import _ from 'lodash';
6const log = debug('helper:config:info');
7const error = debug('helper:config:error');
8const debg = debug('helper:config:debug');
9export class Config {
10 constructor(basedir = process.env.PWD, prefix = 'APP') {
11 let env = process.env.NODE_ENV || 'development';
12 process.env.NODE_ENV = env;
13 this.file = {};
14 if (fs.existsSync(path.join(basedir, 'config.js'))) {
15 this.file = require(path.join(basedir, 'config.js'), 'utf-8')[env];
16 } else {
17 debg('file', 'did not use ', path.join(basedir, 'config.js'))
18 }
19 this.fileDefault = {};
20 if (fs.existsSync(path.join(basedir, 'config.default.js'))) {
21 this.fileDefault =
22 require(path.join(basedir, 'config.default.js'), 'utf-8')[env]
23 } else {
24 debg('file', 'did not use ', path.join(basedir, 'config.default.js'))
25 }
26 this.env = env2obj(prefix);
27 this.config = _.merge(this.fileDefault, this.file, this.env);
28 debg('used config', this.config)
29 }
30}
31const config = new Config();
32
33exports.default = config.config;
34

Built with git-ssb-web