aboutsummaryrefslogtreecommitdiff
path: root/node_modules/cosmiconfig/dist/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/cosmiconfig/dist/index.js')
-rw-r--r--node_modules/cosmiconfig/dist/index.js81
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;
+}