graphwiz-3.0.0: graphwiz.cabal
cabal-version: 3.4
name: graphwiz
synopsis: Monadic DOT graph builder DSL
version: 3.0.0
category: Data, Text
license: BSD-3-Clause
license-file: LICENSE
copyright: Copyright (C) 2025 Antoine Leblanc
maintainer: nicuveo@gmail.com
author: Antoine Leblanc
homepage: https://github.com/nicuveo/graphwiz#readme
bug-reports: https://github.com/nicuveo/graphwiz/issues
tested-with: GHC ==9.8 || ==9.10 || ==9.12
description: Small monadic DSL to build Graphviz DOT files.
extra-source-files:
.gitignore
.stylish-haskell.yaml
README.md
extra-doc-files: CHANGELOG.md
source-repository head
type: git
location: https://github.com/nicuveo/graphwiz.git
flag export-internals-for-coverage
description:
Whether internal modules should be exported so that coverage can be analyzed.
default: False
manual: True
common setup
default-language: GHC2021
default-extensions:
AllowAmbiguousTypes
ApplicativeDo
BlockArguments
DataKinds
DefaultSignatures
DerivingVia
FunctionalDependencies
GADTs
LambdaCase
MultiWayIf
NoImplicitPrelude
OverloadedStrings
PackageImports
RecordWildCards
RoleAnnotations
StrictData
TypeFamilies
ViewPatterns
ghc-options:
-Wall -Wcompat -Widentities -Wincomplete-uni-patterns
-Winvalid-haddock -Wpartial-fields -Wredundant-constraints -Wtabs
-Wunused-packages -Wno-unused-do-bind -fhide-source-paths
-foptimal-applicative-do -funbox-small-strict-fields
-fwrite-ide-info
library
import: setup
if flag(export-internals-for-coverage)
other-modules: Prelude
exposed-modules:
Text.Dot
Text.Dot.Attributes
Text.Dot.Build
Text.Dot.Monad
Text.Dot.Render
Text.Dot.Types
else
exposed-modules: Text.Dot
other-modules:
Prelude
Text.Dot.Attributes
Text.Dot.Build
Text.Dot.Monad
Text.Dot.Render
Text.Dot.Types
hs-source-dirs: common src
build-depends:
, base >=4.16 && <5
, containers <1
, hashable >=1 && <2
, lens >=5 && <6
, mtl >=2 && <3
, text >=2 && <3
, text-builder >=1 && <2
, transformers <1
, unordered-containers <1
test-suite tests
import: setup
type: exitcode-stdio-1.0
main-is: Tests.hs
other-modules:
Golden
Prelude
Reporter
hs-source-dirs: common test
ghc-options: -F -pgmF=tasty-autocollect
build-tool-depends: tasty-autocollect:tasty-autocollect
build-depends:
, base >=4.16 && <5
, containers
, directory
, filepath
, graphwiz
, hashable
, lens
, mtl
, stm
, tagged
, tasty
, tasty-autocollect
, tasty-golden
, text
, text-builder
, transformers
, unordered-containers
executable example
import: setup
main-is: Main.hs
hs-source-dirs: example
default-extensions: ImplicitPrelude
build-depends:
, base
, graphwiz
, lens
, text
, text-builder