stack-1.1.2: The Haskell Tool Stack

Safe HaskellNone




dot :: (HasEnvConfig env, HasHttpManager env, HasLogLevel env, MonadBaseUnlift IO m, MonadCatch m, MonadLogger m, MonadIO m, MonadMask m, MonadReader env m) => DotOpts -> m () Source

Visualize the project's dependencies as a graphviz graph

data DotOpts Source

Options record for stack dot




dotIncludeExternal :: Bool

Include external dependencies

dotIncludeBase :: Bool

Include dependencies on base

dotDependencyDepth :: Maybe Int

Limit the depth of dependency resolution to (Just n) or continue until fixpoint

dotPrune :: Set String

Package names to prune from the graph

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

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

printGraph Source


:: (Applicative m, MonadIO m) 
=> DotOpts 
-> Set PackageName

all locals

-> Map PackageName (Set PackageName, Maybe Version) 
-> m () 

Print a graphviz graph of the edges in the Map and highlight the given local packages

pruneGraph :: (Foldable f, Foldable g, Eq a) => f PackageName -> g String -> 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