lib/get-module-tree.js
function traverseLeaf(next, requireString, requireIndex) {
        var reqPath
          , reqDeps
          ;

        if ('.' === requireString[0]) {
          reqPath = url.resolve('/' + leaf.modulepath, requireString).substr(1); // strip leading '/'
        } else {
          // TODO handle absolute paths
          reqPath = requireString;
        }

        // check that we haven't visited this dependency tree already
        reqDeps = allDepsList[reqPath];
        if (reqDeps) {
          reqDeps.requiredAs[requireString] = true;
          leaf.dependencyList[requireIndex] = reqDeps;
          next();
          return;
        }

        getModuleTreeHelper(null, allDepsList, pkg, leaf, requireString, function (err, deps) {
          if (err) {
            callback(err);
            return;
          }

          leaf.dependencyList[requireIndex] = deps;
          next();
        });
      }
function traverseLeaf(next, requireString, requireIndex) {
        var reqPath
          , reqDeps
          ;

        if ('.' === requireString[0]) {
          reqPath = url.resolve('/' + leaf.modulepath, requireString).substr(1); // strip leading '/'
        } else {
          // TODO handle absolute paths
          reqPath = requireString;
        }

        // check that we haven't visited this dependency tree already
        reqDeps = allDepsList[reqPath];
        if (reqDeps) {
          reqDeps.requiredAs[requireString] = true;
          leaf.dependencyList[requireIndex] = reqDeps;
          next();
          return;
        }

        getModuleTreeHelper(null, allDepsList, pkg, leaf, requireString, function (err, deps) {
          if (err) {
            callback(err);
            return;
          }

          leaf.dependencyList[requireIndex] = deps;
          next();
        });
      }
function traverseLeaf ( next , requireString , requireIndex ) { var reqPath , reqDeps ; if ( '.' === requireString [ 0 ] ) { reqPath = url . resolve ( '/' + leaf . modulepath , requireString ) . substr ( 1 ) ; // strip leading '/' } else { // TODO handle absolute paths reqPath = requireString ; } // check that we haven't visited this dependency tree already reqDeps = allDepsList [ reqPath ] ; if ( reqDeps ) { reqDeps . requiredAs [ requireString ] = true ; leaf . dependencyList [ requireIndex ] = reqDeps ; next ( ) ; return ; } getModuleTreeHelper ( null , allDepsList , pkg , leaf , requireString , function ( err , deps ) { if ( err ) { callback ( err ) ; return ; } leaf . dependencyList [ requireIndex ] = deps ; next ( ) ; } ) ; }
turns require strings into dependency objects
turns require strings into dependency objects