blob: 2ed5cf1a95fba354d02f5e593315a3dae8652109 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
const minimist = require('minimist');
const fromFunction = (config, argv) => {
const result = config(argv);
return Promise.resolve(result);
};
const fromObject = (config) => Promise.resolve(config);
const handlers = {
function: fromFunction,
object: fromObject,
};
module.exports = (configSet, argv) => {
const { config, configPath } = configSet;
const type = typeof (config.default || config);
const handler = handlers[type];
// eslint-disable-next-line no-param-reassign
argv = argv || minimist(process.argv.slice(2));
return handler(config.default || config, argv).then((configResult) => {
return {
config: configResult,
configPath,
};
});
};
|