cabal-version: 3.0 name: nuthatch version: 0.1.0.0 synopsis: User-facing S3 BFF license: NONE author: Nuthatch maintainer: nuthatch@localhost category: Network build-type: Simple extra-source-files: sql/001_initial_schema.sql web/src/generated/contract.ts web/src/transport.ts web/test/contract-integration.mjs web/test/fixtures/contract.json web/test/fixtures/upload-content-sha256.json common shared default-language: Haskell2010 default-extensions: OverloadedStrings RecordWildCards DeriveGeneric DerivingStrategies GeneralizedNewtypeDeriving LambdaCase ScopedTypeVariables TupleSections NamedFieldPuns FlexibleContexts FlexibleInstances DataKinds TypeOperators TypeFamilies MultiParamTypeClasses UndecidableInstances ghc-options: -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-export-lists -Wpartial-fields -Wredundant-constraints build-depends: , aeson >= 2.1 && < 2.3 , async >= 2.2 && < 2.3 , aws >= 0.25.2 && < 0.26 , base >= 4.18 && < 5 , base16-bytestring >= 1.0 && < 1.1 , base64-bytestring >= 1.2 && < 1.3 , bytestring >= 0.11 && < 0.13 , case-insensitive >= 1.2 && < 1.3 , containers >= 0.6 && < 0.8 , conduit >= 1.3 && < 1.4 , cookie >= 0.5.1 && < 0.6 , crypton >= 0.34 && < 1.1 , directory >= 1.3 && < 1.4 , entropy >= 0.4 && < 0.5 , envparse >= 0.6 && < 0.7 , filepath >= 1.4 && < 1.6 , hedis >= 0.15 && < 0.16 , http-client >= 0.7 && < 0.8 , http-client-tls >= 0.3 && < 0.4 , http-conduit >= 2.3 && < 2.4 , http-api-data >= 0.7 && < 0.8 , http-media >= 0.8 && < 0.9 , http-types >= 0.12 && < 0.13 , jose >= 0.12 && < 0.13 , lens >= 5.2 && < 5.4 , memory >= 0.18 && < 0.19 , mime-types >= 0.1 && < 0.2 , modern-uri >= 0.3.6 && < 0.4 , mtl >= 2.3 && < 2.4 , network-uri >= 2.6 && < 2.8 , postgresql-simple >= 0.7 && < 0.8 , postgresql-migration >= 0.2.1.8 && < 0.3 , resource-pool >= 0.4 && < 0.5 , resourcet >= 1.3 && < 1.4 , retry >= 0.9 && < 0.10 , scientific >= 0.3 && < 0.4 , servant >= 0.20 && < 0.21 , servant-server >= 0.20 && < 0.21 , stm >= 2.5 && < 2.6 , temporary >= 1.3 && < 1.4 , text >= 2.0 && < 2.2 , time >= 1.12 && < 1.15 , transformers >= 0.6 && < 0.7 , unicode-transforms >= 0.4 && < 0.5 , unordered-containers >= 0.2 && < 0.3 , uuid >= 1.3 && < 1.4 , wai >= 3.2 && < 3.3 , wai-extra >= 3.1 && < 3.2 , warp >= 3.3 && < 3.5 , warp-tls >= 3.4 && < 3.5 , xml-conduit >= 1.9 && < 1.11 library import: shared hs-source-dirs: src exposed-modules: Nuthatch Nuthatch.Api Nuthatch.App Nuthatch.App.Env Nuthatch.Audit Nuthatch.Browse Nuthatch.Config Nuthatch.Db Nuthatch.Http.Auth Nuthatch.Http.Contract Nuthatch.Http.Error Nuthatch.Http.Server Nuthatch.Mutation.Effects Nuthatch.Mutation.Recovery Nuthatch.Mutation.Service Nuthatch.Oidc Nuthatch.Paths Nuthatch.Product.Limits Nuthatch.Protocol Nuthatch.Redis Nuthatch.Recovery Nuthatch.Runtime Nuthatch.S3 Nuthatch.Session Nuthatch.Streaming Nuthatch.Transfer Nuthatch.Types executable nuthatch import: shared main-is: Main.hs hs-source-dirs: app build-depends: , nuthatch , base ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-generate-web-contract import: shared main-is: GenerateContract.hs hs-source-dirs: app build-depends: , nuthatch , base executable nuthatch-web-contract-integration import: shared main-is: WebContractIntegration.hs hs-source-dirs: test build-depends: , nuthatch , base , bytestring , process , text ghc-options: -threaded executable nuthatch-storage-integration import: shared main-is: Integration.hs hs-source-dirs: test build-depends: , nuthatch , base , async , bytestring , text ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-recovery-probe import: shared main-is: RecoveryPhase.hs hs-source-dirs: test build-depends: , nuthatch , base , bytestring , text ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-protocol-conformance import: shared main-is: ProtocolConformance.hs hs-source-dirs: test other-modules: Nuthatch.ModelEvidence build-depends: , nuthatch , base , bytestring , crypton , memory , postgresql-simple , text ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-model-evidence import: shared main-is: ModelEvidenceMain.hs hs-source-dirs: test other-modules: Nuthatch.ModelEvidence build-depends: , nuthatch , aeson , base , text executable nuthatch-runtime-probe import: shared main-is: RuntimeProbe.hs hs-source-dirs: test build-depends: , nuthatch , base ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-auth-probe import: shared main-is: AuthProbe.hs hs-source-dirs: test other-modules: Nuthatch.Probe.Assert Nuthatch.Probe.Curl Nuthatch.Probe.Oidc Nuthatch.Probe.ProductClient build-depends: , nuthatch , aeson , base , bytestring , crypton , memory , process , temporary ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-product-probe import: shared main-is: ProductProbe.hs hs-source-dirs: test other-modules: Nuthatch.Probe.Assert Nuthatch.Probe.Curl Nuthatch.Probe.Oidc Nuthatch.Probe.ProductClient build-depends: , nuthatch , aeson , base , bytestring , crypton , memory , process , temporary ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-idempotency-probe import: shared main-is: IdempotencyProbe.hs hs-source-dirs: test other-modules: Nuthatch.Probe.Assert Nuthatch.Probe.Curl Nuthatch.Probe.Oidc Nuthatch.Probe.ProductClient build-depends: , nuthatch , aeson , async , base , bytestring , crypton , memory , process , temporary ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-streaming-probe import: shared main-is: StreamingProbe.hs hs-source-dirs: test other-modules: Nuthatch.Probe.Assert Nuthatch.Probe.Curl Nuthatch.Probe.Oidc Nuthatch.Probe.ProductClient build-depends: , nuthatch , aeson , async , base , bytestring , crypton , directory , memory , process , temporary ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-runtime-http-probe import: shared main-is: RuntimeHttpProbe.hs hs-source-dirs: test other-modules: Nuthatch.Probe.Assert Nuthatch.Probe.Curl Nuthatch.Probe.Oidc Nuthatch.Probe.ProductClient build-depends: , nuthatch , aeson , base , bytestring , crypton , memory , process , temporary ghc-options: -threaded -rtsopts -with-rtsopts=-N executable nuthatch-runtime-audit-probe import: shared main-is: RuntimeAuditProbe.hs hs-source-dirs: test other-modules: Nuthatch.Probe.Assert build-depends: , nuthatch , aeson , base , bytestring , text executable nuthatch-fixture-probe import: shared main-is: FixtureProbe.hs hs-source-dirs: test other-modules: Nuthatch.Probe.Assert Nuthatch.Probe.Curl build-depends: , nuthatch , base , bytestring , crypton , memory , postgresql-simple , process , temporary , text executable nuthatch-dependency-probe import: shared main-is: DependencyProbe.hs hs-source-dirs: test other-modules: Nuthatch.Probe.Assert Nuthatch.Probe.Curl build-depends: , nuthatch , base , bytestring , hedis , postgresql-simple , process , temporary executable nuthatch-browser-session-fixture import: shared main-is: BrowserSessionFixture.hs hs-source-dirs: test build-depends: , nuthatch , aeson , base , text test-suite nuthatch-unit import: shared type: exitcode-stdio-1.0 main-is: Spec.hs hs-source-dirs: test other-modules: Nuthatch.Test.Config Nuthatch.Test.Http Nuthatch.Test.HttpContract Nuthatch.Test.Identity Nuthatch.Test.Oidc Nuthatch.Test.Path Nuthatch.Test.PathFixture Nuthatch.Test.Product Nuthatch.Test.Protocol Nuthatch.Test.Recovery Nuthatch.Test.Runtime Nuthatch.Test.Streaming Nuthatch.Test.UploadIdentityFixture build-depends: , nuthatch , base , bytestring , hedgehog >= 1.7 && < 1.8 , tasty >= 1.5 && < 1.6 , tasty-hedgehog >= 1.4 && < 1.5 , tasty-hunit >= 0.10 && < 0.11 , text ghc-options: -threaded