stack-2.15.1: The Haskell Tool Stack
Safe HaskellSafe-Inferred
LanguageGHC2021

Stack.DependencyGraph

Description

Module exporting a function to create a pruned dependency graph given a DotOpts value.

Synopsis

Documentation

createPrunedDependencyGraph :: DotOpts -> RIO Runner (Set PackageName, Map PackageName (Set PackageName, DotPayload)) Source #

Create the dependency graph and also prune it as specified in the dot options. Returns a set of local names and a map from package names to dependencies.

resolveDependencies :: (Applicative m, Monad m) => Maybe Int -> Map PackageName (Set PackageName, DotPayload) -> (PackageName -> m (Set PackageName, DotPayload)) -> m (Map PackageName (Set PackageName, DotPayload)) Source #

Resolve the dependency graph up to (Just depth) or until fixpoint is reached

pruneGraph :: (Foldable f, Foldable g, Eq a) => f PackageName -> g PackageName -> Map PackageName (Set PackageName, a) -> Map PackageName (Set PackageName, a) Source #

pruneGraph dontPrune toPrune graph prunes all packages in graph with a name in toPrune and removes resulting orphans unless they are in dontPrune