index.js
function tree (dir, opts, cb) {
  var i = 0
  findPackage(dir, function (err, pkg) {
    pull(
      pull.depthFirst(pkg, function (pkg) {
        pkg.tree = {}
        return pull(
          pfs.readdir(path.resolve(pkg.path, 'node_modules')),
          paramap(maybe(readPackage)),
          pull.filter(function (_pkg) {
            if(!_pkg) return
            _pkg.parent = pkg
            
            pkg.tree[_pkg.name] = _pkg
            return pkg
          })
        )
      }),
      opts.post ? paramap(function (data, cb) {
        //run a post install-style hook.
        opts.post(data, cb)
      }) : pull.through(),
      pull.drain(null, function (err) {
        cb(err === true ? null : err, clean(pkg))
      })
    )
  })
}
function tree (dir, opts, cb) {
  var i = 0
  findPackage(dir, function (err, pkg) {
    pull(
      pull.depthFirst(pkg, function (pkg) {
        pkg.tree = {}
        return pull(
          pfs.readdir(path.resolve(pkg.path, 'node_modules')),
          paramap(maybe(readPackage)),
          pull.filter(function (_pkg) {
            if(!_pkg) return
            _pkg.parent = pkg
            
            pkg.tree[_pkg.name] = _pkg
            return pkg
          })
        )
      }),
      opts.post ? paramap(function (data, cb) {
        //run a post install-style hook.
        opts.post(data, cb)
      }) : pull.through(),
      pull.drain(null, function (err) {
        cb(err === true ? null : err, clean(pkg))
      })
    )
  })
}
function tree ( dir , opts , cb ) { var i = 0 findPackage ( dir , function ( err , pkg ) { pull ( pull . depthFirst ( pkg , function ( pkg ) { pkg . tree = { } return pull ( pfs . readdir ( path . resolve ( pkg . path , 'node_modules' ) ) , paramap ( maybe ( readPackage ) ) , pull . filter ( function ( _pkg ) { if ( ! _pkg ) return _pkg . parent = pkg pkg . tree [ _pkg . name ] = _pkg return pkg } ) ) } ) , opts . post ? paramap ( function ( data , cb ) { //run a post install-style hook. opts . post ( data , cb ) } ) : pull . through ( ) , pull . drain ( null , function ( err ) { cb ( err === true ? null : err , clean ( pkg ) ) } ) ) } ) }
creates the same datastructure as resolve, selecting all dependencies...
creates the same datastructure as resolve selecting all dependencies ...