pub fn immediate_dependencies(&self, package: &PackageNode) -> Option<HashSet<&PackageNode>> {
        let index = self.node_lookup.get(package)?;
        Some(
            self.graph
                .neighbors_directed(*index, petgraph::Outgoing)
                .map(|index| {
                    self.graph
                        .node_weight(index)
                        .expect("node index from neighbors should be present")
                })
                .collect(),
        )
    }
Gets all the nodes that directly depend on this one, that is to say
have a edge to `package`.

Example:

a -> b -> c

immediate_dependencies(a) -> {b}
crates/turborepo-repository/src/package_graph/mod.rs