56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			56 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|  | # which-module
 | ||
|  | 
 | ||
|  | > Find the module object for something that was require()d
 | ||
|  | 
 | ||
|  | [](https://travis-ci.org/nexdrew/which-module) | ||
|  | [](https://coveralls.io/github/nexdrew/which-module?branch=master) | ||
|  | [](https://github.com/conventional-changelog/standard-version) | ||
|  | 
 | ||
|  | Find the `module` object in `require.cache` for something that was `require()`d | ||
|  | or `import`ed - essentially a reverse `require()` lookup. | ||
|  | 
 | ||
|  | Useful for libs that want to e.g. lookup a filename for a module or submodule | ||
|  | that it did not `require()` itself. | ||
|  | 
 | ||
|  | ## Install and Usage
 | ||
|  | 
 | ||
|  | ``` | ||
|  | npm install --save which-module | ||
|  | ``` | ||
|  | 
 | ||
|  | ```js | ||
|  | const whichModule = require('which-module') | ||
|  | 
 | ||
|  | console.log(whichModule(require('something'))) | ||
|  | // Module { | ||
|  | //   id: '/path/to/project/node_modules/something/index.js', | ||
|  | //   exports: [Function], | ||
|  | //   parent: ..., | ||
|  | //   filename: '/path/to/project/node_modules/something/index.js', | ||
|  | //   loaded: true, | ||
|  | //   children: [], | ||
|  | //   paths: [ '/path/to/project/node_modules/something/node_modules', | ||
|  | //            '/path/to/project/node_modules', | ||
|  | //            '/path/to/node_modules', | ||
|  | //            '/path/node_modules', | ||
|  | //            '/node_modules' ] } | ||
|  | ``` | ||
|  | 
 | ||
|  | ## API
 | ||
|  | 
 | ||
|  | ### `whichModule(exported)`
 | ||
|  | 
 | ||
|  | Return the [`module` object](https://nodejs.org/api/modules.html#modules_the_module_object), | ||
|  | if any, that represents the given argument in the `require.cache`. | ||
|  | 
 | ||
|  | `exported` can be anything that was previously `require()`d or `import`ed as a | ||
|  | module, submodule, or dependency - which means `exported` is identical to the | ||
|  | `module.exports` returned by this method. | ||
|  | 
 | ||
|  | If `exported` did not come from the `exports` of a `module` in `require.cache`, | ||
|  | then this method returns `null`. | ||
|  | 
 | ||
|  | ## License
 | ||
|  | 
 | ||
|  | ISC © Contributors |