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

Stack.Dot

Synopsis

Documentation

dot :: DotOpts -> RIO Runner () Source #

Visualize the project's dependencies as a graphviz graph

data DotOpts Source #

Options record for stack dot

Constructors

DotOpts 

Fields

data DotPayload Source #

Information about a package in the dependency graph, when available.

Constructors

DotPayload 

Fields

Instances

Instances details
Show DotPayload Source # 
Instance details

Defined in Stack.Dot

Eq DotPayload Source # 
Instance details

Defined in Stack.Dot

data ListDepsOpts Source #

Constructors

ListDepsOpts 

Fields

data ListDepsFormatOpts Source #

Constructors

ListDepsFormatOpts 

Fields

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

printGraph Source #

Arguments

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

all locals

-> Map PackageName (Set PackageName, DotPayload) 
-> 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 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