1 | const confi = require('confi');
|
2 | const path = require('path');
|
3 |
|
4 | class LoadConfig {
|
5 | constructor(name, env, configPaths, context) {
|
6 | this.name = name;
|
7 | this.env = env;
|
8 | this.configPaths = configPaths;
|
9 | this.context = context;
|
10 | }
|
11 |
|
12 | get() {
|
13 | const config = confi({
|
14 | env: this.env,
|
15 | package: {
|
16 | key: this.name,
|
17 | path: process.cwd()
|
18 | },
|
19 | path: this.configPaths,
|
20 | context: this.context
|
21 | });
|
22 |
|
23 | if (!config.tasks) {
|
24 | config.tasks = {};
|
25 | }
|
26 | config.tasks.help = path.join(__dirname, '../tasks/help');
|
27 | config.tasks.config = path.join(__dirname, '../tasks/config');
|
28 | config.tasks.reloadConfig = path.join(__dirname, '../tasks/reload-config');
|
29 |
|
30 | return config;
|
31 | }
|
32 | }
|
33 | module.exports = LoadConfig;
|