64 lines
1.9 KiB
Markdown
64 lines
1.9 KiB
Markdown
# resolve-pkg [](https://travis-ci.org/sindresorhus/resolve-pkg)
|
|
|
|
> Resolve the path of a package regardless of it having an entry point
|
|
|
|
Some packages like CLI tools and grunt tasks don't have a entry point, like `"main": "foo.js"` in package.json, resulting in them not being resolvable by `require.resolve()`. Unlike `require.resolve()`, this module also resolves packages without an entry point, returns `undefined` instead of throwing when the module can't be found, and resolves from `process.cwd()` instead `__dirname` by default.
|
|
|
|
|
|
## Install
|
|
|
|
```
|
|
$ npm install resolve-pkg
|
|
```
|
|
|
|
|
|
## Usage
|
|
|
|
```js
|
|
const resolvePkg = require('resolve-pkg');
|
|
|
|
// $ npm install --save-dev grunt-svgmin
|
|
|
|
resolvePkg('grunt-svgmin/tasks', {cwd: __dirname});
|
|
//=> '/Users/sindresorhus/unicorn/node_modules/grunt-svgmin/tasks'
|
|
|
|
// Fails here as Grunt tasks usually don't have a defined main entry point
|
|
require.resolve('grunt-svgmin/tasks');
|
|
//=> Error: Cannot find module 'grunt-svgmin'
|
|
```
|
|
|
|
|
|
## API
|
|
|
|
### resolvePkg(moduleId, [options])
|
|
|
|
#### moduleId
|
|
|
|
Type: `string`
|
|
|
|
What you would use in `require()`.
|
|
|
|
#### options
|
|
|
|
##### cwd
|
|
|
|
Type: `string`<br>
|
|
Default: `process.cwd()`
|
|
|
|
Directory to resolve from.
|
|
|
|
|
|
## Related
|
|
|
|
- [resolve-cwd](https://github.com/sindresorhus/resolve-cwd) - Resolve the path of a module from the current working directory
|
|
- [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module from a given path
|
|
- [resolve-global](https://github.com/sindresorhus/resolve-global) - Resolve the path of a globally installed module
|
|
- [import-from](https://github.com/sindresorhus/import-from) - Import a module from a given path
|
|
- [import-cwd](https://github.com/sindresorhus/import-cwd) - Import a module from the current working directory
|
|
- [import-lazy](https://github.com/sindresorhus/import-lazy) - Import a module lazily
|
|
|
|
|
|
## License
|
|
|
|
MIT © [Sindre Sorhus](https://sindresorhus.com)
|