diff options
Diffstat (limited to 'node_modules/cosmiconfig/dist/index.js')
| -rw-r--r-- | node_modules/cosmiconfig/dist/index.js | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/node_modules/cosmiconfig/dist/index.js b/node_modules/cosmiconfig/dist/index.js new file mode 100644 index 00000000..e88224f1 --- /dev/null +++ b/node_modules/cosmiconfig/dist/index.js @@ -0,0 +1,81 @@ +// +'use strict'; + +const os = require('os'); +const createExplorer = require('./createExplorer'); +const loaders = require('./loaders'); + +module.exports = cosmiconfig; + +function cosmiconfig( + moduleName , + options + + + + + + + + +) { + options = options || {}; + const defaults = { + packageProp: moduleName, + searchPlaces: [ + 'package.json', + `.${moduleName}rc`, + `.${moduleName}rc.json`, + `.${moduleName}rc.yaml`, + `.${moduleName}rc.yml`, + `.${moduleName}rc.js`, + `${moduleName}.config.js`, + ], + ignoreEmptySearchPlaces: true, + stopDir: os.homedir(), + cache: true, + transform: identity, + }; + const normalizedOptions = Object.assign( + {}, + defaults, + options, + { + loaders: normalizeLoaders(options.loaders), + } + ); + + return createExplorer(normalizedOptions); +} + +cosmiconfig.loadJs = loaders.loadJs; +cosmiconfig.loadJson = loaders.loadJson; +cosmiconfig.loadYaml = loaders.loadYaml; + +function normalizeLoaders(rawLoaders ) { + const defaults = { + '.js': { sync: loaders.loadJs, async: loaders.loadJs }, + '.json': { sync: loaders.loadJson, async: loaders.loadJson }, + '.yaml': { sync: loaders.loadYaml, async: loaders.loadYaml }, + '.yml': { sync: loaders.loadYaml, async: loaders.loadYaml }, + noExt: { sync: loaders.loadYaml, async: loaders.loadYaml }, + }; + + if (!rawLoaders) { + return defaults; + } + + return Object.keys(rawLoaders).reduce((result, ext) => { + const entry = rawLoaders && rawLoaders[ext]; + if (typeof entry === 'function') { + result[ext] = { sync: entry, async: entry }; + } else { + result[ext] = entry; + } + return result; + }, defaults); +} + +function identity(x) { + return x; +} |
