packages feed

servant-effectful-1.0.0: servant-effectful.cabal

cabal-version: 3.0
name: servant-effectful
version: 1.0.0
synopsis: Effectful bindings for the Servant library
description:
  Adaptation of the @<https://hackage.haskell.org/package/servant Servant>@ library for the @<https://hackage.haskell.org/package/effectful effectful>@ ecosystem.

homepage: https://digital-autonomy.institute
license: EUPL-1.2
license-file: LICENCE
author: IDA
maintainer: IDA
bug-reports: https://issues.digital-autonomy.institute
category: Network
build-type: Simple
extra-doc-files:
  CHANGELOG.md

common common
  default-language: Haskell2010
  ghc-options:
    -Weverything
    -Wno-unsafe
    -Wno-missing-safe-haskell-mode
    -Wno-missing-export-lists
    -Wno-missing-import-lists
    -Wno-missing-kind-signatures
    -Wno-all-missed-specialisations
    -Wno-missing-role-annotations

  default-extensions:
    BlockArguments
    ConstraintKinds
    DataKinds
    DeriveGeneric
    DerivingStrategies
    DerivingVia
    ExplicitNamespaces
    FlexibleContexts
    ImportQualifiedPost
    LambdaCase
    NoImplicitPrelude
    OverloadedStrings
    PatternSynonyms
    PolyKinds
    RankNTypes
    RecordWildCards
    ScopedTypeVariables
    TypeApplications
    TypeFamilies
    TypeOperators
    ViewPatterns

  build-depends:
    base >=4.10 && <5,
    bytestring >=0.12 && <0.13,
    effectful >=2.6 && <2.7,
    wai-effectful >=1.0 && <1.1,

library
  import: common
  hs-source-dirs: src
  exposed-modules:
    Effectful.Servant
    Effectful.Servant.API
    Effectful.Servant.Server
    Effectful.Servant.Server.Generic
    Effectful.Servant.Server.StaticFiles

  build-depends:
    effectful-core >=2 && <3,
    servant >=0.20 && <0.21,
    servant-server >=0.20 && <0.21,
    transformers >=0.4 && <0.7,

test-suite test
  import: common
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  build-depends:
    hspec-effectful >=1.0 && <1.2,
    http-client-effectful >=1.0 && <1.1,
    http-types >=0.12 && <0.13,
    servant-effectful,
    warp-effectful >=1.0 && <1.1,