1
|
# which-module
|
2
|
|
3
|
> Find the module object for something that was require()d
|
4
|
|
5
|
[![Build Status](https://travis-ci.org/nexdrew/which-module.svg?branch=master)](https://travis-ci.org/nexdrew/which-module)
|
6
|
[![Coverage Status](https://coveralls.io/repos/github/nexdrew/which-module/badge.svg?branch=master)](https://coveralls.io/github/nexdrew/which-module?branch=master)
|
7
|
[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)
|
8
|
|
9
|
Find the `module` object in `require.cache` for something that was `require()`d
|
10
|
or `import`ed - essentially a reverse `require()` lookup.
|
11
|
|
12
|
Useful for libs that want to e.g. lookup a filename for a module or submodule
|
13
|
that it did not `require()` itself.
|
14
|
|
15
|
## Install and Usage
|
16
|
|
17
|
```
|
18
|
npm install --save which-module
|
19
|
```
|
20
|
|
21
|
```js
|
22
|
const whichModule = require('which-module')
|
23
|
|
24
|
console.log(whichModule(require('something')))
|
25
|
// Module {
|
26
|
// id: '/path/to/project/node_modules/something/index.js',
|
27
|
// exports: [Function],
|
28
|
// parent: ...,
|
29
|
// filename: '/path/to/project/node_modules/something/index.js',
|
30
|
// loaded: true,
|
31
|
// children: [],
|
32
|
// paths: [ '/path/to/project/node_modules/something/node_modules',
|
33
|
// '/path/to/project/node_modules',
|
34
|
// '/path/to/node_modules',
|
35
|
// '/path/node_modules',
|
36
|
// '/node_modules' ] }
|
37
|
```
|
38
|
|
39
|
## API
|
40
|
|
41
|
### `whichModule(exported)`
|
42
|
|
43
|
Return the [`module` object](https://nodejs.org/api/modules.html#modules_the_module_object),
|
44
|
if any, that represents the given argument in the `require.cache`.
|
45
|
|
46
|
`exported` can be anything that was previously `require()`d or `import`ed as a
|
47
|
module, submodule, or dependency - which means `exported` is identical to the
|
48
|
`module.exports` returned by this method.
|
49
|
|
50
|
If `exported` did not come from the `exports` of a `module` in `require.cache`,
|
51
|
then this method returns `null`.
|
52
|
|
53
|
## License
|
54
|
|
55
|
ISC © Contributors
|