const createProtocallResolver = options => { const protocallResolver = _.get('noDefaultProtocols', options) ? new protocall.Resolver() : protocall.getDefaultResolver(_.getOr(process.cwd(), 'baseDir', options)); if (_.has('protocols', options)) protocallResolver.use(options.protocols); return protocallResolver; }
/** * Load env step * @param nconf - nconf instance * @param options - plugin options */ const loadEnv = (nconf, options) => { if (_.has('disable.env', options)) return promiseIfNeeded(options); const envOpts = _.isArray(options.env) ? {whitelist: options.env} : options.env || {}; envOpts.parseValues = options.parse; envOpts.separator = options.separator; const transformer = getTransformer(options); if (options.normalize) { envOpts.whitelist = _.map(_[options.normalize], envOpts.whitelist); } if (transformer) envOpts.transform = transformer; nconf.env(envOpts); return promiseIfNeeded(options); }
/** * Load argv step adding eventualy file passed by command line * @param nconf - nconf instance * @param options - plugin options */ const loadArgv = (nconf, options) => { if (_.has('disable.argv', options)) return promiseIfNeeded(options); const argOpts = options.argv || {}; // craft own yargs if needed that is transmit to nconf const yargs = _.has('argv', argOpts) ? argOpts : Yargs(process.argv.slice(2)).options(argOpts); yargs.separator = options.separator; if (options.parse !== undefined) yargs.parseValues = options.parse; const transformer = getTransformer(options); if (transformer) yargs.transform = transformer; nconf.argv(yargs); nconf._yargs = yargs; const argvFile = nconf.get('configue'); if (argvFile) { nconf.file('argv-configue', argvFile); } return promiseIfNeeded(options); }