cabal-version: 3.0

name:           graphql
version:        1.4.0.0
synopsis:       Haskell GraphQL implementation
description:    Haskell <https://spec.graphql.org/June2018/ GraphQL> implementation.
category:       Language
homepage:       https://git.caraus.tech/OSS/graphql
bug-reports:    https://git.caraus.tech/OSS/graphql/issues
author:         Danny Navarro <j@dannynavarro.net>,
                Matthías Páll Gissurarson <mpg@mpg.is>,
                Sólrún Halla Einarsdóttir <she@mpg.is>
maintainer:     belka@caraus.de
copyright:      (c) 2019-2024 Eugen Wissner,
                (c) 2015-2017 J. Daniel Navarro
license:        MPL-2.0 AND BSD-3-Clause
license-files:  LICENSE,
                LICENSE.MPL
build-type:     Simple
extra-source-files:
  CHANGELOG.md
  README.md
tested-with:
  GHC == 9.8.2

source-repository head
  type: git
  location: https://git.caraus.tech/OSS/graphql.git

library
  exposed-modules:
    Language.GraphQL
    Language.GraphQL.AST
    Language.GraphQL.AST.DirectiveLocation
    Language.GraphQL.AST.Document
    Language.GraphQL.AST.Encoder
    Language.GraphQL.AST.Lexer
    Language.GraphQL.AST.Parser
    Language.GraphQL.Error
    Language.GraphQL.Execute
    Language.GraphQL.Execute.Coerce
    Language.GraphQL.Execute.OrderedMap
    Language.GraphQL.Type
    Language.GraphQL.Type.In
    Language.GraphQL.Type.Out
    Language.GraphQL.Type.Schema
    Language.GraphQL.Validate
    Language.GraphQL.Validate.Validation
  other-modules:
    Language.GraphQL.Execute.Transform
    Language.GraphQL.Type.Definition
    Language.GraphQL.Type.Internal
    Language.GraphQL.Validate.Rules
  hs-source-dirs:
    src
  ghc-options: -Wall

  build-depends:
    base >= 4.15 && < 5,
    conduit ^>= 1.3.4,
    containers >= 0.6 && < 0.8,
    exceptions ^>= 0.10.4,
    megaparsec >= 9.0 && < 10,
    parser-combinators >= 1.3 && < 2,
    text >= 1.2 && < 3,
    transformers >= 0.5.6 && < 0.7,
    unordered-containers ^>= 0.2.14,
    vector >= 0.12 && < 0.14

  default-language: Haskell2010

test-suite graphql-test
  type: exitcode-stdio-1.0
  main-is: Spec.hs
  other-modules:
    Language.GraphQL.AST.DocumentSpec
    Language.GraphQL.AST.EncoderSpec
    Language.GraphQL.AST.LexerSpec
    Language.GraphQL.AST.ParserSpec
    Language.GraphQL.AST.Arbitrary
    Language.GraphQL.ErrorSpec
    Language.GraphQL.Execute.CoerceSpec
    Language.GraphQL.Execute.OrderedMapSpec
    Language.GraphQL.ExecuteSpec
    Language.GraphQL.Type.OutSpec
    Language.GraphQL.Validate.RulesSpec
    Schemas.HeroSchema
  hs-source-dirs:
    tests
  ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall

  build-depends:
    QuickCheck >= 2.14 && < 2.16,
    base,
    conduit,
    exceptions,
    graphql,
    hspec >= 2.10.9 && < 2.12,
    hspec-expectations ^>= 0.8.2,
    hspec-megaparsec ^>= 2.2.0,
    megaparsec,
    text,
    unordered-containers,
    containers,
    vector
  build-tool-depends:
    hspec-discover:hspec-discover
  default-language: Haskell2010