You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					82 lines
				
				2.9 KiB
			
		
		
			
		
	
	
					82 lines
				
				2.9 KiB
			| 
											3 years ago
										 | "use strict"; | ||
|  | 
 | ||
|  | Object.defineProperty(exports, "__esModule", { | ||
|  |   value: true | ||
|  | }); | ||
|  | exports.cosmiconfig = cosmiconfig; | ||
|  | exports.cosmiconfigSync = cosmiconfigSync; | ||
|  | exports.defaultLoaders = void 0; | ||
|  | 
 | ||
|  | var _os = _interopRequireDefault(require("os")); | ||
|  | 
 | ||
|  | var _Explorer = require("./Explorer"); | ||
|  | 
 | ||
|  | var _ExplorerSync = require("./ExplorerSync"); | ||
|  | 
 | ||
|  | var _loaders = require("./loaders"); | ||
|  | 
 | ||
|  | var _types = require("./types"); | ||
|  | 
 | ||
|  | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
|  | 
 | ||
|  | /* eslint-disable @typescript-eslint/explicit-module-boundary-types */ | ||
|  | // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
 | ||
|  | function cosmiconfig(moduleName, options = {}) { | ||
|  |   const normalizedOptions = normalizeOptions(moduleName, options); | ||
|  |   const explorer = new _Explorer.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) | ||
|  |   }; | ||
|  | } // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
 | ||
|  | 
 | ||
|  | 
 | ||
|  | function cosmiconfigSync(moduleName, options = {}) { | ||
|  |   const normalizedOptions = normalizeOptions(moduleName, options); | ||
|  |   const explorerSync = new _ExplorerSync.ExplorerSync(normalizedOptions); | ||
|  |   return { | ||
|  |     search: explorerSync.searchSync.bind(explorerSync), | ||
|  |     load: explorerSync.loadSync.bind(explorerSync), | ||
|  |     clearLoadCache: explorerSync.clearLoadCache.bind(explorerSync), | ||
|  |     clearSearchCache: explorerSync.clearSearchCache.bind(explorerSync), | ||
|  |     clearCaches: explorerSync.clearCaches.bind(explorerSync) | ||
|  |   }; | ||
|  | } // do not allow mutation of default loaders. Make sure it is set inside options
 | ||
|  | 
 | ||
|  | 
 | ||
|  | const defaultLoaders = Object.freeze({ | ||
|  |   '.cjs': _loaders.loaders.loadJs, | ||
|  |   '.js': _loaders.loaders.loadJs, | ||
|  |   '.json': _loaders.loaders.loadJson, | ||
|  |   '.yaml': _loaders.loaders.loadYaml, | ||
|  |   '.yml': _loaders.loaders.loadYaml, | ||
|  |   noExt: _loaders.loaders.loadYaml | ||
|  | }); | ||
|  | exports.defaultLoaders = defaultLoaders; | ||
|  | 
 | ||
|  | const identity = function identity(x) { | ||
|  |   return x; | ||
|  | }; | ||
|  | 
 | ||
|  | function normalizeOptions(moduleName, options) { | ||
|  |   const defaults = { | ||
|  |     packageProp: moduleName, | ||
|  |     searchPlaces: ['package.json', `.${moduleName}rc`, `.${moduleName}rc.json`, `.${moduleName}rc.yaml`, `.${moduleName}rc.yml`, `.${moduleName}rc.js`, `.${moduleName}rc.cjs`, `.config/${moduleName}rc`, `.config/${moduleName}rc.json`, `.config/${moduleName}rc.yaml`, `.config/${moduleName}rc.yml`, `.config/${moduleName}rc.js`, `.config/${moduleName}rc.cjs`, `${moduleName}.config.js`, `${moduleName}.config.cjs`], | ||
|  |     ignoreEmptySearchPlaces: true, | ||
|  |     stopDir: _os.default.homedir(), | ||
|  |     cache: true, | ||
|  |     transform: identity, | ||
|  |     loaders: defaultLoaders | ||
|  |   }; | ||
|  |   const normalizedOptions = { ...defaults, | ||
|  |     ...options, | ||
|  |     loaders: { ...defaults.loaders, | ||
|  |       ...options.loaders | ||
|  |     } | ||
|  |   }; | ||
|  |   return normalizedOptions; | ||
|  | } | ||
|  | //# sourceMappingURL=index.js.map
 |