Kargi-Sitesi/node_modules/cosmiconfig/dist/index.js

148 lines
No EOL
6.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.defaultLoadersSync = exports.defaultLoaders = exports.globalConfigSearchPlacesSync = exports.globalConfigSearchPlaces = exports.getDefaultSearchPlacesSync = exports.getDefaultSearchPlaces = exports.cosmiconfigSync = exports.cosmiconfig = void 0;
const defaults_1 = require("./defaults");
Object.defineProperty(exports, "defaultLoaders", { enumerable: true, get: function () { return defaults_1.defaultLoaders; } });
Object.defineProperty(exports, "defaultLoadersSync", { enumerable: true, get: function () { return defaults_1.defaultLoadersSync; } });
Object.defineProperty(exports, "getDefaultSearchPlaces", { enumerable: true, get: function () { return defaults_1.getDefaultSearchPlaces; } });
Object.defineProperty(exports, "getDefaultSearchPlacesSync", { enumerable: true, get: function () { return defaults_1.getDefaultSearchPlacesSync; } });
Object.defineProperty(exports, "globalConfigSearchPlaces", { enumerable: true, get: function () { return defaults_1.globalConfigSearchPlaces; } });
Object.defineProperty(exports, "globalConfigSearchPlacesSync", { enumerable: true, get: function () { return defaults_1.globalConfigSearchPlacesSync; } });
const Explorer_js_1 = require("./Explorer.js");
const ExplorerSync_js_1 = require("./ExplorerSync.js");
const util_1 = require("./util");
const identity = function identity(x) {
return x;
};
function getUserDefinedOptionsFromMetaConfig() {
const metaExplorer = new ExplorerSync_js_1.ExplorerSync({
moduleName: 'cosmiconfig',
stopDir: process.cwd(),
searchPlaces: defaults_1.metaSearchPlaces,
ignoreEmptySearchPlaces: false,
applyPackagePropertyPathToConfiguration: true,
loaders: defaults_1.defaultLoaders,
transform: identity,
cache: true,
metaConfigFilePath: null,
mergeImportArrays: true,
mergeSearchPlaces: true,
searchStrategy: 'none',
});
const metaConfig = metaExplorer.search();
if (!metaConfig) {
return null;
}
if (metaConfig.config?.loaders) {
throw new Error('Can not specify loaders in meta config file');
}
if (metaConfig.config?.searchStrategy) {
throw new Error('Can not specify searchStrategy in meta config file');
}
const overrideOptions = {
mergeSearchPlaces: true,
...(metaConfig.config ?? {}),
};
return {
config: (0, util_1.removeUndefinedValuesFromObject)(overrideOptions),
filepath: metaConfig.filepath,
};
}
function getResolvedSearchPlaces(moduleName, toolDefinedSearchPlaces, userConfiguredOptions) {
const userConfiguredSearchPlaces = userConfiguredOptions.searchPlaces?.map((path) => path.replace('{name}', moduleName));
if (userConfiguredOptions.mergeSearchPlaces) {
return [...(userConfiguredSearchPlaces ?? []), ...toolDefinedSearchPlaces];
}
return (userConfiguredSearchPlaces ??
/* istanbul ignore next */ toolDefinedSearchPlaces);
}
function mergeOptionsBase(moduleName, defaults, options) {
const userDefinedConfig = getUserDefinedOptionsFromMetaConfig();
if (!userDefinedConfig) {
return {
...defaults,
...(0, util_1.removeUndefinedValuesFromObject)(options),
loaders: {
...defaults.loaders,
...options.loaders,
},
};
}
const userConfiguredOptions = userDefinedConfig.config;
const toolDefinedSearchPlaces = options.searchPlaces ?? defaults.searchPlaces;
return {
...defaults,
...(0, util_1.removeUndefinedValuesFromObject)(options),
metaConfigFilePath: userDefinedConfig.filepath,
...userConfiguredOptions,
searchPlaces: getResolvedSearchPlaces(moduleName, toolDefinedSearchPlaces, userConfiguredOptions),
loaders: {
...defaults.loaders,
...options.loaders,
},
};
}
function validateOptions(options) {
if (options.searchStrategy != null &&
options.searchStrategy !== 'global' &&
options.stopDir) {
throw new Error('Can not supply `stopDir` option with `searchStrategy` other than "global"');
}
}
function mergeOptions(moduleName, options) {
validateOptions(options);
const defaults = {
moduleName,
searchPlaces: (0, defaults_1.getDefaultSearchPlaces)(moduleName),
ignoreEmptySearchPlaces: true,
cache: true,
transform: identity,
loaders: defaults_1.defaultLoaders,
metaConfigFilePath: null,
mergeImportArrays: true,
mergeSearchPlaces: true,
searchStrategy: options.stopDir ? 'global' : 'none',
};
return mergeOptionsBase(moduleName, defaults, options);
}
function mergeOptionsSync(moduleName, options) {
validateOptions(options);
const defaults = {
moduleName,
searchPlaces: (0, defaults_1.getDefaultSearchPlacesSync)(moduleName),
ignoreEmptySearchPlaces: true,
cache: true,
transform: identity,
loaders: defaults_1.defaultLoadersSync,
metaConfigFilePath: null,
mergeImportArrays: true,
mergeSearchPlaces: true,
searchStrategy: options.stopDir ? 'global' : 'none',
};
return mergeOptionsBase(moduleName, defaults, options);
}
function cosmiconfig(moduleName, options = {}) {
const normalizedOptions = mergeOptions(moduleName, options);
const explorer = new Explorer_js_1.Explorer(normalizedOptions);
return {
search: explorer.search.bind(explorer),
load: explorer.load.bind(explorer),
clearLoadCache: explorer.clearLoadCache.bind(explorer),
clearSearchCache: explorer.clearSearchCache.bind(explorer),
clearCaches: explorer.clearCaches.bind(explorer),
};
}
exports.cosmiconfig = cosmiconfig;
function cosmiconfigSync(moduleName, options = {}) {
const normalizedOptions = mergeOptionsSync(moduleName, options);
const explorerSync = new ExplorerSync_js_1.ExplorerSync(normalizedOptions);
return {
search: explorerSync.search.bind(explorerSync),
load: explorerSync.load.bind(explorerSync),
clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync),
clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync),
clearCaches: explorerSync.clearCaches.bind(explorerSync),
};
}
exports.cosmiconfigSync = cosmiconfigSync;
//# sourceMappingURL=index.js.map