seedgoose
Version:
Mongoose data seeding with smart id references tracking.
31 lines (30 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const load_any_file_1 = require("load-any-file");
const path = require("path");
const type_args_1 = require("type-args");
const optionDefs_1 = require("./optionDefs");
function loadConfig(projRoot, argv = process.argv) {
const confFileName = type_args_1.parse(argv, {
'configFile': {
alias: 'c',
desc: 'the config file to load',
type: 'string',
default: '.seedgooserc'
}
})[0].configFile;
// Load config from package.json
const pkgJson = path.join(projRoot, 'package.json');
const configFromPkgJson = require(pkgJson).seedgoose;
// Load config from config file
let configFromConfFile;
try {
configFromConfFile = load_any_file_1.default(path.join(projRoot, confFileName));
}
catch (e) {
configFromConfFile = {};
}
const [options, [command, ...args]] = type_args_1.parse(argv, optionDefs_1.default, configFromPkgJson, configFromConfFile);
return [command, args, options];
}
exports.default = loadConfig;