packages:
  servant/
  servant-client/
  servant-client-core/
  servant-http-streams/
  servant-docs/
  servant-foreign/
  servant-server/
  doc/tutorial/

-- servant streaming
packages:
  servant-machines/
  servant-conduit/
  servant-pipes/

-- servant GHCJS
-- packages:
--   servant-jsaddle/

-- Cookbooks
packages:
  doc/cookbook/basic-auth
  doc/cookbook/curl-mock
  doc/cookbook/basic-streaming
  doc/cookbook/db-postgres-pool
--  doc/cookbook/db-sqlite-simple
  doc/cookbook/file-upload
  doc/cookbook/generic
  -- doc/cookbook/hoist-server-with-context
--  doc/cookbook/https
  -- doc/cookbook/jwt-and-basic-auth/
  doc/cookbook/pagination
  -- doc/cookbook/sentry
  doc/cookbook/testing
  doc/cookbook/structuring-apis
  doc/cookbook/using-custom-monad
  doc/cookbook/using-free-client
  -- doc/cookbook/open-id-connect

tests: True
optimization: False
-- reorder-goals: True

constraints:
  -- see https://github.com/haskell-infra/hackage-trustees/issues/119
  foundation >=0.0.14,
  memory <0.14.12 || >0.14.12

allow-newer: aeson-pretty-0.8.7:base-compat

allow-newer: vault-0.3.1.2:hashable
allow-newer: psqueues-0.2.7.1:hashable
allow-newer: sqlite-simple-0.4.16.0:semigroups
allow-newer: direct-sqlite-2.3.24:semigroups
allow-newer: io-streams-1.5.1.0:network
allow-newer: io-streams-1.5.1.0:primitive
allow-newer: openssl-streams-1.2.2.0:network

-- MonadFail
-- https://github.com/nurpax/sqlite-simple/issues/74
constraints: sqlite-simple < 0

-- jsaddle
allow-newer: jsaddle-0.9.6.0:lens
allow-newer: jsaddle-0.9.6.0:primitive
allow-newer: jsaddle-0.9.6.0:time
allow-newer: jsaddle-dom-0.9.3.1:base
allow-newer: jsaddle-dom-0.9.3.1:base-compat
allow-newer: jsaddle-dom-0.9.3.1:Cabal
allow-newer: jsaddle-dom-0.9.3.1:lens
allow-newer: jsaddle-dom-0.9.3.2:base
allow-newer: jsaddle-dom-0.9.3.2:base-compat
allow-newer: jsaddle-dom-0.9.3.2:Cabal
allow-newer: jsaddle-dom-0.9.3.2:lens
allow-newer: jsaddle-warp-0.9.6.0:time

constraints: base-compat ^>=0.11

-- needed for doctests
write-ghc-environment-files: always