deps/npm/lib/update-dependents.js
function createDependencyLinks (dep, pkg, cb) {
  var depdir = path.join(npm.dir, dep.name, dep.version)
    , depsOn = path.join( depdir
                        , "dependson"
                        , pkg.name+"@"+pkg.version
                        )
    , deps = path.join(depdir, "node_modules", pkg.name)
    , targetRoot = path.join(npm.dir, pkg.name, pkg.version)
    , dependentLink = path.join( npm.dir
                               , pkg.name
                               , pkg.version
                               , "dependents"
                               , dep.name + "@" + dep.version
                               )
  asyncMap
    ( [ [ link, targetRoot, depsOn ]
      , [ link, depdir, dependentLink ]
      , [ linkBins, pkg, path.join(depdir, "dep-bin"), false ]
      , [ linkModules, pkg, deps ]
      ]
    , function (c, cb) {
        c.shift().apply(null, c.concat(cb))
      }
    , cb
    )
}
function createDependencyLinks (dep, pkg, cb) {
  var depdir = path.join(npm.dir, dep.name, dep.version)
    , depsOn = path.join( depdir
                        , "dependson"
                        , pkg.name+"@"+pkg.version
                        )
    , deps = path.join(depdir, "node_modules", pkg.name)
    , targetRoot = path.join(npm.dir, pkg.name, pkg.version)
    , dependentLink = path.join( npm.dir
                               , pkg.name
                               , pkg.version
                               , "dependents"
                               , dep.name + "@" + dep.version
                               )
  asyncMap
    ( [ [ link, targetRoot, depsOn ]
      , [ link, depdir, dependentLink ]
      , [ linkBins, pkg, path.join(depdir, "dep-bin"), false ]
      , [ linkModules, pkg, deps ]
      ]
    , function (c, cb) {
        c.shift().apply(null, c.concat(cb))
      }
    , cb
    )
}
function createDependencyLinks ( dep , pkg , cb ) { var depdir = path . join ( npm . dir , dep . name , dep . version ) , depsOn = path . join ( depdir , "dependson" , pkg . name + "@" + pkg . version ) , deps = path . join ( depdir , "node_modules" , pkg . name ) , targetRoot = path . join ( npm . dir , pkg . name , pkg . version ) , dependentLink = path . join ( npm . dir , pkg . name , pkg . version , "dependents" , dep . name + "@" + dep . version ) asyncMap ( [ [ link , targetRoot , depsOn ] , [ link , depdir , dependentLink ] , [ linkBins , pkg , path . join ( depdir , "dep-bin" ) , false ] , [ linkModules , pkg , deps ] ] , function ( c , cb ) { c . shift ( ) . apply ( null , c . concat ( cb ) ) } , cb ) }
dep depends on pkg
dep depends on pkg