packages feed

rfc-0.0.0.20: rfc.cabal

name:                rfc
version:             0.0.0.20
synopsis:            Robert Fischer's Common library
description:         An enhanced Prelude and various utilities for Aeson, Servant, PSQL, and Redis that Robert Fischer uses.
homepage:            https://github.com/RobertFischer/rfc#README.md
license:             BSD3
license-file:        LICENSE
author:              Robert Fischer
maintainer:          smokejumperit+rfc@gmail.com
copyright:           (c)2018 Robert Fischer
category:            Library
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.10

Flag Browser
  Description: Build assuming GHCJS for the browser.
  Default:     False
  Manual:      False

Flag Development
  Description: Turn on errors for warnings
  Default: False
  Manual: True

library
  hs-source-dirs:      src
  build-depends:       base >= 4.7 && < 5
  default-language:    Haskell2010
  default-extensions:  NoImplicitPrelude
  ghc-options:         -Wall -fno-warn-orphans -fno-warn-name-shadowing -fno-warn-tabs
  if flag(Development)
    ghc-options:       -Werror
  build-depends:       base >= 4.7 && < 5
                     , servant
                     , classy-prelude >= 1.3 && < 1.4
                     , uuid-types
                     , containers
                     , unordered-containers
                     , string-conversions
                     , monad-control
                     , resource-pool
                     , async
                     , data-default
                     , servant-blaze
                     , blaze-html
                     , url
                     , lens
                     , http-types
                     , exceptions
                     , http-api-data >= 0.3.7.1
                     , time-units
                     , aeson-diff
                     , vector
                     , lifted-async
                     , text
                     , bifunctors
                     , lifted-base >= 0.2.3.11
  if flag(Browser)
    build-depends:     aeson
                     , attoparsec
                     , miso >= 0.12.0.0
  if !flag(Browser)
    build-depends:     servant-server
                     , wai >= 3.2.1.1
                     , aeson >= 1.2.3.0
                     , wai-extra
                     , wai-cors
                     , postgresql-simple >= 0.5.3.0
                     , hedis
                     , simple-logger
                     , servant-docs
                     , temporary
                     , http-client
                     , http-client-tls
                     , wreq >= 0.5.2.0
                     , servant-swagger
                     , swagger2
                     , binary
                     , markdown
                     , servant-client

  exposed-modules:     RFC.Prelude
                     , RFC.String
                     , RFC.Concurrent
                     , RFC.Throttle
                     , RFC.JSON
                     , RFC.API
                     , RFC.HTTP.Types
                     , RFC.Data.LatLng
                     , RFC.Data.IdAnd
                     , RFC.Data.ListMoveDirection
                     , RFC.Data.UUID
  if flag(Browser)
    exposed-modules:   RFC.Miso
                     , RFC.Miso.String
                     , RFC.Miso.XHR
                     , RFC.Miso.Inject
  if !flag(Browser)
    exposed-modules:   RFC.Psql
                     , RFC.Redis
                     , RFC.Log
                     , RFC.Wai
                     , RFC.Env
                     , RFC.HTTP.Client
                     , RFC.Servant
                     , RFC.Servant.ApiDoc
                     , RFC.Client.Coinhive
  if flag(Browser)
    cpp-options:       -DCLIENT -DGHCJS_BROWSER -DBROWSER


source-repository head
  type:     git
  location: https://github.com/RobertFischer/rfc