cabal-version: 3.0
name: openlab-tools
version: 0.1.0.0
author: Profpatsch
maintainer: mail@profpatsch.de
common common-options
ghc-options:
-Wall
-Wno-type-defaults
-Wunused-packages
-Wredundant-constraints
-fwarn-missing-deriving-strategies
-- See https://downloads.haskell.org/ghc/latest/docs/users_guide/exts.html
-- for a description of all these extensions
default-extensions:
-- Infer Applicative instead of Monad where possible
ApplicativeDo
-- Allow literal strings to be Text
OverloadedStrings
-- Syntactic sugar improvements
LambdaCase
MultiWayIf
-- Makes the (deprecated) usage of * instead of Data.Kind.Type an error
NoStarIsType
-- Convenient and crucial to deal with ambiguous field names, commonly
-- known as RecordDotSyntax
OverloadedRecordDot
-- does not export record fields as functions, use OverloadedRecordDot to access instead
NoFieldSelectors
-- Record punning
RecordWildCards
-- Improved Deriving
DerivingStrategies
DerivingVia
-- Type-level strings
DataKinds
-- to enable the `type` keyword in import lists (ormolu uses this automatically)
ExplicitNamespaces
default-language: GHC2021
library
import: common-options
hs-source-dirs: src
exposed-modules:
OpenlabTools
build-depends:
base >=4.15 && <5,
text,
my-prelude,
my-webstuff,
pa-prelude,
pa-error-tree,
pa-label,
pa-json,
pa-field-parser,
pa-pretty,
pa-run-command,
aeson-better-errors,
aeson,
blaze-html,
bytestring,
containers,
deepseq,
unordered-containers,
exceptions,
filepath,
hs-opentelemetry-sdk,
hs-opentelemetry-api,
http-conduit,
http-types,
ihp-hsx,
monad-logger,
mtl,
network-uri,
scientific,
selective,
unliftio,
wai-extra,
wai,
warp,
tagsoup,
time,
stm,
case-insensitive
executable openlab-tools
import: common-options
main-is: Main.hs
ghc-options:
-threaded
build-depends:
base >=4.15 && <5,
openlab-tools