Wondering what’s next for npm?Check out our public roadmap! »

    pkgresolve

    1.1.4 • Public • Published

    pkgresolve

    Resolve a dependency from within the context of another package.

    Build Status

    Useful for hacks, monkeypatching or wrappers that require manipulation of the exact dependency that would be loaded by a package.

    Installation

    npm install --save pkgresolve
    

    Example

    var resolve = require('pkgresolve')
     
    // Resolve 'through' from locally installed 'tape'
    resolve('through').from('tape', function(err, pkgPath) {
      // pkgPath - path to through or null
    })
     
    // Resolve 'npmconf' from globally installed 'npm'
    resolve('npmconf').fromGlobal('npm', function(err, pkgPath) {
      // pkgPath - path to npmconf or null
    })

    CLI

    # Resolve 'through' from locally installed 'tape' 
    pkgresolve tape through
     
    # Resolve 'npmconf' from globally installed 'npm' 
    pkgresolve --global npm npmconf

    Why not require('parent/node_modules/child')?

    Due to deduplication, child is not guaranteed to exist at that location. You don't even need to call npm dedupe for this to happen – npm will not install something that is already installed in the hierarchy. pkgresolve is a more robust method.

    Use Responsibly.

    This intentially breaks the encapsulation provided by node/npm's module system. Don't use this unless you have to.

    See Also

    License

    MIT

    Install

    npm i pkgresolve

    DownloadsWeekly Downloads

    143

    Version

    1.1.4

    License

    MIT

    Last publish

    Collaborators

    • avatar