packages feed

freckle-app-1.23.2.0: freckle-app.cabal

cabal-version:      1.22
name:               freckle-app
version:            1.23.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.Faktory.ProducerPool
        Freckle.App.Ghci
        Freckle.App.GlobalCache
        Freckle.App.Json.Empty
        Freckle.App.Random
        Freckle.App.Scientist
        Freckle.App.Test
        Freckle.App.Test.DocTest
        Freckle.App.Test.Hspec.AnnotatedException
        Freckle.App.Test.Hspec.Runner
        Freckle.App.Test.Properties.JSON
        Freckle.App.Test.Properties.PathPiece
        Freckle.App.Test.Properties.PersistValue
        Freckle.App.Test.Yesod
        Freckle.App.TextualEnum
        Freckle.App.Wai
        Freckle.App.Yesod
        Freckle.App.Yesod.Routes
        Network.Wai.Middleware.Cors
        Network.Wai.Middleware.Stats
        Yesod.Core.Lens

    reexported-modules:
        Freckle.App.Dotenv,
        Freckle.App.Env,
        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.Prelude,
        Freckle.App.Exception,
        Freckle.App.Exception.MonadThrow,
        Freckle.App.Exception.MonadUnliftIO,
        Freckle.App.Exception.Types,
        Freckle.App.Test.Http,
        Freckle.App.Test.Http.MatchRequest

    hs-source-dirs:     library
    other-modules:      Paths_freckle_app
    default-language:   GHC2021
    default-extensions:
        DataKinds DeriveAnyClass DerivingVia DerivingStrategies GADTs
        LambdaCase NoImplicitPrelude NoMonomorphismRestriction
        OverloadedStrings RecordWildCards TypeFamilies

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

    build-depends:
        Blammo >=2.1.0.0,
        Blammo-wai >=0.0.0.2,
        Glob >=0.10.2,
        HUnit >=1.6.2.0,
        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,
        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,
        doctest >=0.20.1,
        exceptions >=0.10.4,
        faktory >=1.1.2.4,
        freckle-env >=0.0.1.2,
        freckle-exception >=0.0.0.0,
        freckle-http >=0.1.0.0,
        freckle-otel >=0.0.0.2,
        freckle-prelude >=0.0.1.1,
        freckle-stats >=0.0.0.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-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.1.0,
        http-client >=0.7.13.1,
        http-types >=0.12.3,
        immortal >=0.3,
        lens >=5.1.1,
        monad-control >=1.0.3.1,
        monad-validate >=1.3.0.0,
        mtl >=2.2.2,
        nonempty-containers >=0.3.4.4,
        openapi3 >=3.2.3,
        path-pieces >=0.2.1,
        persistent >=2.14.0.1,
        persistent-postgresql >=2.13.5.2,
        persistent-sql-lifted >=0.1.0.0,
        postgresql-simple >=0.6.4,
        primitive >=0.7.3.0,
        resource-pool >=0.4.0.0,
        resourcet >=1.2.6,
        scientist >=0.0.0.0,
        semigroupoids >=5.3.7,
        servant-server >=0.19.2,
        template-haskell >=2.18.0.0,
        text >=1.2.5.0,
        transformers >=0.5.6.2,
        transformers-base >=0.4.6,
        typed-process >=0.2.11.0,
        unliftio >=0.2.25.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 -Wno-missing-poly-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:   GHC2021
    default-extensions:
        DataKinds DeriveAnyClass DerivingVia DerivingStrategies GADTs
        LambdaCase NoImplicitPrelude NoMonomorphismRestriction
        OverloadedStrings RecordWildCards TypeFamilies

    ghc-options:
        -fignore-optim-changes -fwrite-ide-info -Weverything
        -Wno-all-missed-specialisations -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missing-kind-signatures
        -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 -Wno-missing-poly-kind-signatures

test-suite spec
    type:               exitcode-stdio-1.0
    main-is:            Main.hs
    hs-source-dirs:     tests
    other-modules:
        Freckle.App.AsyncSpec
        Freckle.App.Bugsnag.MetaDataSpec
        Freckle.App.BugsnagSpec
        Freckle.App.CsvSpec
        Freckle.App.Test.Hspec.AnnotatedExceptionSpec
        Freckle.App.Test.Properties.JSONSpec
        Freckle.App.Test.Properties.PathPieceSpec
        Freckle.App.Test.Properties.PersistValueSpec
        Freckle.App.TextualEnumSpec
        Freckle.App.WaiSpec
        Spec
        Paths_freckle_app

    default-language:   GHC2021
    default-extensions:
        DataKinds DeriveAnyClass DerivingVia DerivingStrategies GADTs
        LambdaCase NoImplicitPrelude NoMonomorphismRestriction
        OverloadedStrings RecordWildCards TypeFamilies

    ghc-options:
        -fignore-optim-changes -fwrite-ide-info -Weverything
        -Wno-all-missed-specialisations -Wno-missing-exported-signatures
        -Wno-missing-import-lists -Wno-missing-kind-signatures
        -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 >=2.1.0.0,
        HUnit >=1.6.2.0,
        QuickCheck >=2.14.3,
        aeson >=2.0.3.0,
        annotated-exception >=0.2.0.4,
        async >=2.2.4,
        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,
        freckle-app,
        freckle-stats >=0.0.0.0,
        hs-opentelemetry-api >=0.1.0.0,
        hspec >=2.10.10,
        http-types >=0.12.3,
        monad-validate >=1.3.0.0,
        nonempty-containers >=0.3.4.4,
        path-pieces >=0.2.1,
        persistent >=2.14.0.1,
        postgresql-simple >=0.6.4,
        servant-server >=0.19.2,
        vector >=0.12.3.1,
        wai >=3.2.3,
        wai-extra >=3.1.13.0

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