pub fn root_internal_dependency_explanation(
        &self,
        package: &WorkspacePackage,
    ) -> Option<String> {
        let from = *self
            .node_lookup
            .get(&PackageNode::Workspace(PackageName::Root))
            .expect("all graphs should have a root");
        let to = *self
            .node_lookup
            .get(&PackageNode::Workspace(package.name.clone()))?;
        let (_cost, path) =
            petgraph::algo::astar(&self.graph, from, |node| node == to, |_| 1, |_| 1)?;
        Some(
            self.path_display(&path)
                .expect("path should only contain valid node indices"),
        )
    }
Provides a path from the root package to package

Currently only provides the shortest path as calculating all paths can
be O(n!)
crates/turborepo-repository/src/package_graph/mod.rs