|
12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 'use strict';
- const path = require('path');
- const Conf = require('./lib/conf');
- const defaults = require('./lib/defaults');
-
- // https://github.com/npm/npm/blob/latest/lib/config/core.js#L101-L200
- module.exports = opts => {
- const conf = new Conf(Object.assign({}, defaults.defaults));
-
- conf.add(Object.assign({}, opts), 'cli');
- conf.addEnv();
- conf.loadPrefix();
-
- const projectConf = path.resolve(conf.localPrefix, '.npmrc');
- const userConf = conf.get('userconfig');
-
- if (!conf.get('global') && projectConf !== userConf) {
- conf.addFile(projectConf, 'project');
- } else {
- conf.add({}, 'project');
- }
-
- conf.addFile(conf.get('userconfig'), 'user');
-
- if (conf.get('prefix')) {
- const etc = path.resolve(conf.get('prefix'), 'etc');
- conf.root.globalconfig = path.resolve(etc, 'npmrc');
- conf.root.globalignorefile = path.resolve(etc, 'npmignore');
- }
-
- conf.addFile(conf.get('globalconfig'), 'global');
- conf.loadUser();
-
- const caFile = conf.get('cafile');
-
- if (caFile) {
- conf.loadCAFile(caFile);
- }
-
- return conf;
- };
-
- module.exports.defaults = Object.assign({}, defaults.defaults);
|