packages feed

freckle-app-1.15.2.0: freckle-app.cabal

cabal-version:      1.18
name:               freckle-app
version:            1.15.2.0
license:            MIT
license-file:       LICENSE
maintainer:         Freckle Education
homepage:           https://github.com/freckle/freckle-app#readme
bug-reports:        https://github.com/freckle/freckle-app/issues
synopsis:           Haskell application toolkit used at Freckle
description:        Please see README.md
category:           Utils
build-type:         Simple
extra-source-files: package.yaml
extra-doc-files:
    README.md
    CHANGELOG.md

source-repository head
    type:     git
    location: https://github.com/freckle/freckle-app

library
    exposed-modules:
        Freckle.App
        Freckle.App.Async
        Freckle.App.Bugsnag
        Freckle.App.Bugsnag.HttpException
        Freckle.App.Bugsnag.MetaData
        Freckle.App.Bugsnag.SqlError
        Freckle.App.Csv
        Freckle.App.Database
        Freckle.App.Database.XRay
        Freckle.App.Dotenv
        Freckle.App.Ecs
        Freckle.App.Env
        Freckle.App.Exception
        Freckle.App.Exception.MonadThrow
        Freckle.App.Exception.MonadUnliftIO
        Freckle.App.Exception.Types
        Freckle.App.Faktory.ProducerPool
        Freckle.App.Ghci
        Freckle.App.GlobalCache
        Freckle.App.Http
        Freckle.App.Http.Cache
        Freckle.App.Http.Cache.Gzip
        Freckle.App.Http.Cache.Memcached
        Freckle.App.Http.Cache.State
        Freckle.App.Http.Header
        Freckle.App.Http.Paginate
        Freckle.App.Http.Retry
        Freckle.App.Json.Empty
        Freckle.App.Kafka
        Freckle.App.Kafka.Consumer
        Freckle.App.Kafka.Producer
        Freckle.App.Memcached
        Freckle.App.Memcached.CacheKey
        Freckle.App.Memcached.CacheTTL
        Freckle.App.Memcached.Client
        Freckle.App.Memcached.MD5
        Freckle.App.Memcached.Servers
        Freckle.App.OpenTelemetry
        Freckle.App.Prelude
        Freckle.App.Random
        Freckle.App.Scientist
        Freckle.App.Stats
        Freckle.App.Stats.Rts
        Freckle.App.Test
        Freckle.App.Test.DocTest
        Freckle.App.Test.Hspec.Runner
        Freckle.App.Test.Http
        Freckle.App.Test.Http.MatchRequest
        Freckle.App.Test.Properties.JSON
        Freckle.App.Test.Properties.PathPiece
        Freckle.App.Test.Yesod
        Freckle.App.Wai
        Freckle.App.Yesod
        Freckle.App.Yesod.Routes
        Network.Wai.Middleware.Cors
        Network.Wai.Middleware.OpenTelemetry
        Network.Wai.Middleware.Stats
        Yesod.Core.Lens

    hs-source-dirs:     library
    other-modules:      Paths_freckle_app
    default-language:   Haskell2010
    default-extensions:
        BangPatterns DataKinds DeriveAnyClass DeriveFoldable DeriveFunctor
        DeriveGeneric DeriveLift DeriveTraversable DerivingVia
        DerivingStrategies FlexibleContexts FlexibleInstances GADTs
        GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses
        NoImplicitPrelude NoMonomorphismRestriction OverloadedStrings
        RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving
        TypeApplications TypeFamilies

    ghc-options:
        -fignore-optim-changes -fwrite-ide-info -Weverything
        -Wno-all-missed-specialisations -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missing-local-signatures
        -Wno-missing-safe-haskell-mode -Wno-monomorphism-restriction
        -Wno-prepositive-qualified-module -Wno-safe -Wno-unsafe

    build-depends:
        Blammo >=1.1.2.0,
        Glob >=0.10.2,
        MonadRandom >=0.5.3,
        QuickCheck >=2.14.3,
        aeson >=2.0.3.0,
        annotated-exception >=0.2.0.4,
        autodocodec >=0.2.0.3,
        autodocodec-openapi3 >=0.2.1.1,
        aws-xray-client-persistent >=0.1.0.5,
        aws-xray-client-wai >=0.1.0.2,
        base >=4.16.4.0 && <5,
        bcp47 >=0.2.0.6,
        bugsnag >=1.1.0.0,
        bytestring >=0.11.4.0,
        case-insensitive >=1.2.1.0,
        cassava >=0.5.3.0,
        conduit >=1.3.5,
        conduit-extra >=1.3.6,
        containers >=0.6.5.1,
        cookie >=0.4.6,
        datadog >=0.3.0.0,
        directory >=1.3.6.2,
        doctest >=0.20.1,
        dotenv >=0.10.0.0,
        ekg-core >=0.1.1.7,
        envparse >=0.5.0,
        errors >=2.3.0,
        exceptions >=0.10.4,
        extra >=1.7.13,
        faktory >=1.1.2.4,
        filepath >=1.4.2.2,
        hashable >=1.4.2.0,
        hs-opentelemetry-api >=0.1.0.0,
        hs-opentelemetry-instrumentation-persistent >=0.1.0.0,
        hs-opentelemetry-instrumentation-wai >=0.1.0.0,
        hs-opentelemetry-propagator-datadog >=0.0.0.0,
        hs-opentelemetry-sdk >=0.0.3.6,
        hspec >=2.8.1,
        hspec-core >=2.8.1,
        hspec-expectations-lifted >=0.10.0,
        hspec-junit-formatter >=1.1.0.1,
        http-client >=0.7.13.1,
        http-conduit >=2.3.5,
        http-link-header >=1.2.1,
        http-types >=0.12.3,
        hw-kafka-client >=4.0.3 && <5.0.0,
        immortal >=0.3,
        lens >=5.1.1,
        memcache >=0.3.0.1,
        monad-control >=1.0.3.1,
        monad-logger >=0.3.40,
        monad-logger-aeson >=0.4.0.4,
        monad-validate >=1.3.0.0,
        mtl >=2.2.2,
        network-uri >=2.6.4.2,
        nonempty-containers >=0.3.4.4,
        openapi3 >=3.2.3,
        path-pieces >=0.2.1,
        persistent >=2.13.3.5,
        persistent-postgresql >=2.13.5.2,
        postgresql-simple >=0.6.4,
        primitive >=0.7.3.0,
        pureMD5 >=2.1.4,
        resource-pool >=0.4.0.0,
        resourcet >=1.2.6,
        retry >=0.8.1.0,
        safe >=0.3.19,
        scientist >=0.0.0.0,
        semigroupoids >=5.3.7,
        serialise >=0.2.6.0,
        template-haskell >=2.18.0.0,
        text >=1.2.5.0,
        time >=1.11.1.1,
        transformers >=0.5.6.2,
        transformers-base >=0.4.6,
        typed-process >=0.2.11.0,
        unliftio >=0.2.25.0,
        unliftio-core >=0.2.1.0,
        unordered-containers >=0.2.19.1,
        vector >=0.12.3.1,
        wai >=3.2.3,
        wai-extra >=3.1.13.0,
        yaml >=0.11.11.1,
        yesod-core >=1.6.24.2,
        yesod-test >=1.6.15

    if impl(ghc >=9.8)
        ghc-options: -Wno-missing-role-annotations

    if impl(ghc >=9.2)
        ghc-options: -Wno-missing-kind-signatures

test-suite doctest
    type:               exitcode-stdio-1.0
    main-is:            Main.hs
    hs-source-dirs:     doctest
    other-modules:      Paths_freckle_app
    default-language:   Haskell2010
    default-extensions:
        BangPatterns DataKinds DeriveAnyClass DeriveFoldable DeriveFunctor
        DeriveGeneric DeriveLift DeriveTraversable DerivingVia
        DerivingStrategies FlexibleContexts FlexibleInstances GADTs
        GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses
        NoImplicitPrelude NoMonomorphismRestriction OverloadedStrings
        RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving
        TypeApplications TypeFamilies

    ghc-options:
        -fignore-optim-changes -fwrite-ide-info -Weverything
        -Wno-all-missed-specialisations -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missing-local-signatures
        -Wno-missing-safe-haskell-mode -Wno-monomorphism-restriction
        -Wno-prepositive-qualified-module -Wno-safe -Wno-unsafe

    build-depends:
        base >=4.16.4.0 && <5,
        freckle-app

    if impl(ghc >=9.8)
        ghc-options: -Wno-missing-role-annotations

    if impl(ghc >=9.2)
        ghc-options: -Wno-missing-kind-signatures

test-suite spec
    type:               exitcode-stdio-1.0
    main-is:            Main.hs
    hs-source-dirs:     tests
    other-modules:
        Freckle.App.Bugsnag.MetaDataSpec
        Freckle.App.BugsnagSpec
        Freckle.App.CsvSpec
        Freckle.App.Http.CacheSpec
        Freckle.App.HttpSpec
        Freckle.App.Memcached.ServersSpec
        Freckle.App.MemcachedSpec
        Freckle.App.Test.Http.MatchRequestSpec
        Freckle.App.Test.Properties.JSONSpec
        Freckle.App.Test.Properties.PathPieceSpec
        Freckle.App.WaiSpec
        Spec
        Paths_freckle_app

    default-language:   Haskell2010
    default-extensions:
        BangPatterns DataKinds DeriveAnyClass DeriveFoldable DeriveFunctor
        DeriveGeneric DeriveLift DeriveTraversable DerivingVia
        DerivingStrategies FlexibleContexts FlexibleInstances GADTs
        GeneralizedNewtypeDeriving LambdaCase MultiParamTypeClasses
        NoImplicitPrelude NoMonomorphismRestriction OverloadedStrings
        RankNTypes RecordWildCards ScopedTypeVariables StandaloneDeriving
        TypeApplications TypeFamilies

    ghc-options:
        -fignore-optim-changes -fwrite-ide-info -Weverything
        -Wno-all-missed-specialisations -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missing-local-signatures
        -Wno-missing-safe-haskell-mode -Wno-monomorphism-restriction
        -Wno-prepositive-qualified-module -Wno-safe -Wno-unsafe -threaded
        -rtsopts -with-rtsopts=-N

    build-depends:
        Blammo >=1.1.2.0,
        QuickCheck >=2.14.3,
        aeson >=2.0.3.0,
        base >=4.16.4.0 && <5,
        bugsnag >=1.1.0.0,
        bytestring >=0.11.4.0,
        cassava >=0.5.3.0,
        conduit >=1.3.5,
        errors >=2.3.0,
        freckle-app,
        hspec >=2.9.7,
        hspec-expectations-json >=1.0.0.7,
        hspec-expectations-lifted >=0.10.0,
        http-types >=0.12.3,
        lens >=5.1.1,
        lens-aeson >=1.2.2,
        memcache >=0.3.0.1,
        monad-validate >=1.3.0.0,
        mtl >=2.2.2,
        nonempty-containers >=0.3.4.4,
        postgresql-simple >=0.6.4,
        text >=1.2.5.0,
        time >=1.11.1.1,
        unordered-containers >=0.2.19.1,
        vector >=0.12.3.1,
        wai >=3.2.3,
        wai-extra >=3.1.13.0,
        zlib >=0.6.3.0

    if impl(ghc >=9.8)
        ghc-options: -Wno-missing-role-annotations

    if impl(ghc >=9.2)
        ghc-options: -Wno-missing-kind-signatures