Safe Haskell | None |
---|---|
Language | Haskell2010 |
- dot :: HasEnvConfig env => DotOpts -> RIO env ()
- listDependencies :: HasEnvConfig env => ListDepsOpts -> RIO env ()
- data DotOpts = DotOpts {
- dotIncludeExternal :: !Bool
- dotIncludeBase :: !Bool
- dotDependencyDepth :: !(Maybe Int)
- dotPrune :: !(Set String)
- dotTargets :: [Text]
- dotFlags :: !(Map (Maybe PackageName) (Map FlagName Bool))
- dotTestTargets :: Bool
- dotBenchTargets :: Bool
- data DotPayload = DotPayload {}
- data ListDepsOpts = ListDepsOpts {
- listDepsDotOpts :: !DotOpts
- listDepsSep :: !Text
- listDepsLicense :: !Bool
- resolveDependencies :: (Applicative m, Monad m) => Maybe Int -> Map PackageName (Set PackageName, DotPayload) -> (PackageName -> m (Set PackageName, DotPayload)) -> m (Map PackageName (Set PackageName, DotPayload))
- printGraph :: (Applicative m, MonadIO m) => DotOpts -> Set PackageName -> Map PackageName (Set PackageName, DotPayload) -> m ()
- pruneGraph :: (Foldable f, Foldable g, Eq a) => f PackageName -> g String -> Map PackageName (Set PackageName, a) -> Map PackageName (Set PackageName, a)
Documentation
dot :: HasEnvConfig env => DotOpts -> RIO env () Source #
Visualize the project's dependencies as a graphviz graph
listDependencies :: HasEnvConfig env => ListDepsOpts -> RIO env () Source #
Options record for stack dot
DotOpts | |
|
data DotPayload Source #
Information about a package in the dependency graph, when available.
DotPayload | |
|
data ListDepsOpts Source #
ListDepsOpts | |
|
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
:: (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 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