function collectTransitiveDependencies(collected, depGraph, fromName) {
  var immediateDeps = depGraph[fromName];
  if (immediateDeps) {
    Object.keys(immediateDeps).forEach(function (toName) {
      if (!collected[toName]) {
        collected[toName] = true;
        collectTransitiveDependencies(collected, depGraph, toName);
      }
    });
  }
}
// recursing through a dependency graph.
recursing through a dependency graph.
recursing through a dependency graph .
function collectTransitiveDependencies(collected, depGraph, fromName) {
  var immediateDeps = depGraph[fromName];
  if (immediateDeps) {
    Object.keys(immediateDeps).forEach(function (toName) {
      if (!collected[toName]) {
        collected[toName] = true;
        collectTransitiveDependencies(collected, depGraph, toName);
      }
    });
  }
}
function collectTransitiveDependencies ( collected , depGraph , fromName ) { var immediateDeps = depGraph [ fromName ] ; if ( immediateDeps ) { Object . keys ( immediateDeps ) . forEach ( function ( toName ) { if ( ! collected [ toName ] ) { collected [ toName ] = true ; collectTransitiveDependencies ( collected , depGraph , toName ) ; } } ) ; } }
recursing through a dependency graph.
recursing through a dependency graph .