PackageGraph.fromRoot constructor

PackageGraph.fromRoot(
  1. PackageNode root
)

Creates a PackageGraph given the root PackageNode.

Implementation

factory PackageGraph.fromRoot(PackageNode root) {
  final allPackages = <String, PackageNode>{root.name: root};

  void addDeps(PackageNode package) {
    for (var dep in package.dependencies) {
      if (allPackages.containsKey(dep.name)) continue;
      allPackages[dep.name] = dep;
      addDeps(dep);
    }
  }

  addDeps(root);

  return PackageGraph._(root, allPackages);
}