_resolveDependencies() {
    logger.info('Resolving dependencies...');

    let packageInfos = this._getPackageInfos();
    packageInfos.forEach((pkgInfo) => {
      if (!pkgInfo.processed) {
        let pkgs = pkgInfo.addDependencies(pkgInfo.pkg.dependencies);
        if (pkgs) {
          pkgInfo.dependencyPackages = pkgs;
        }

        // for Projects only, we also add the devDependencies
        if (pkgInfo.project) {
          pkgs = pkgInfo.addDependencies(pkgInfo.pkg.devDependencies);
          if (pkgs) {
            pkgInfo.devDependencyPackages = pkgs;
          }
        }

        pkgInfo.processed = true;
      }
    });
  }
Resolve the node_module dependencies across all packages after they have
been loaded into the cache, because we don't know when a particular package
will enter the cache.

Since loadProject can be called multiple times for different projects,
we don't want to reprocess any packages that happen to be common
between them. We'll handle this by marking any packageInfo once it
has been processed here, then ignore it in any later processing.

@private
@method _resolveDependencies