Resolve the path of a package regardless of it having an entry point
MIT License
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.
$ npm install resolve-pkg
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'
Type: string
What you would use in require()
.
Type: string
Default: process.cwd()
Directory to resolve from.
MIT © Sindre Sorhus