cabal-version: 2.4
name: servant-polysemy
version: 0.1.2
synopsis: Utilities for using servant in a polysemy stack
description: It's possible to use servant and polysemy together without this library, but it's not easy. This library makes it easy.
homepage: https://github.com/AJChapman/servant-polysemy#readme
bug-reports: https://github.com/AJChapman/servant-polysemy/issues
license: BSD-3-Clause
license-file: LICENSE
author: Alex Chapman
maintainer: alex@farfromthere.net
copyright: 2020 Alex Chapman
category: Servant, Web
build-type: Simple
extra-source-files: CHANGELOG.md
README.md
extra-doc-files: example/Server.hs
example/ServerGeneric.hs
example/ServerWithSwagger.hs
example/Client.hs
tested-with: GHC == 8.8.4
, GHC == 8.10.1
-- GHC == 8.4.4 -- Not working due to missing extension BlockArguments
--, GHC == 8.6.5 -- Not working due to Polysemy.Plugin not found when generating haddocks
common deps
build-depends: base >= 4.11.0.0 && < 5
, deepseq >= 1.4.3.0 && < 1.5
, http-client ^>= 0.6.4.1
, http-client-tls ^>= 0.3.5.3
, mtl ^>= 2.2.2
, polysemy >= 1.3.0.0 && < 1.6
, polysemy-plugin ^>= 0.2.4.0
, polysemy-zoo ^>= 0.7.0.1
, servant-server >= 0.16 && < 0.19
, servant-client >= 0.16 && < 0.19
, wai ^>= 3.2.1.2
, warp >= 3.2.22 && < 3.4
-- Warnings list list taken from
-- https://medium.com/mercury-bank/enable-all-the-warnings-a0517bc081c3
-- Enable all warnings with -Weverything, then disable the ones we
-- don’t care about
default-language: Haskell2010
ghc-options: -Weverything
-Wno-all-missed-specialisations
-Wno-implicit-prelude
-Wno-missed-specialisations
-Wno-missing-exported-signatures
-Wno-missing-import-lists
-Wno-missing-local-signatures
-Wno-monomorphism-restriction
-Wno-missing-deriving-strategies
-Wno-safe
-Wno-unsafe
-fprint-potential-instances
-fplugin=Polysemy.Plugin
if impl(ghc >= 8.10)
ghc-options: -Wno-prepositive-qualified-module
-Wno-missing-safe-haskell-mode
library
import: deps
hs-source-dirs: src
default-language: Haskell2010
exposed-modules: Servant.Polysemy.Client
Servant.Polysemy.Server
executable example-server
import: deps
main-is: Server.hs
autogen-modules: Paths_servant_polysemy
other-modules: Paths_servant_polysemy
hs-source-dirs: example
default-language: Haskell2010
ghc-options: -threaded
-rtsopts
-with-rtsopts=-N
build-depends: servant-polysemy
, lens
executable example-server-generic
import: deps
main-is: ServerGeneric.hs
autogen-modules: Paths_servant_polysemy
other-modules: Paths_servant_polysemy
hs-source-dirs: example
default-language: Haskell2010
ghc-options: -threaded
-rtsopts
-with-rtsopts=-N
build-depends: servant-polysemy
, lens
, servant
executable example-server-with-swagger
import: deps
main-is: ServerWithSwagger.hs
autogen-modules: Paths_servant_polysemy
other-modules: Paths_servant_polysemy
hs-source-dirs: example
default-language: Haskell2010
ghc-options: -threaded
-rtsopts
-with-rtsopts=-N
build-depends: servant-polysemy
, lens
, servant-swagger ^>= 1.1
, servant-swagger-ui ^>= 0.3
, swagger2 >= 2.4 && < 2.7
, text ^>= 1.2.3.1
executable example-client
import: deps
main-is: Client.hs
hs-source-dirs: example
default-language: Haskell2010
ghc-options: -threaded
-rtsopts
-with-rtsopts=-N
build-depends: servant-polysemy
source-repository head
type: git
location: https://github.com/AJChapman/servant-polysemy