Have ideas to improve npm?Join in the discussion! »

resolve-pkg
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

resolve-pkg Build Status

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

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
Default: process.cwd()

Directory to resolve from.

Related

  • resolve-cwd - Resolve the path of a module from the current working directory
  • resolve-from - Resolve the path of a module from a given path
  • resolve-global - Resolve the path of a globally installed module
  • import-from - Import a module from a given path
  • import-cwd - Import a module from the current working directory
  • import-lazy - Import a module lazily

License

MIT © Sindre Sorhus

Install

npm i resolve-pkg

DownloadsWeekly Downloads

290,497

Version

2.0.0

License

MIT

Unpacked Size

5.61 kB

Total Files

5

Last publish

Collaborators

  • avatar