nuthatch/nuthatch.cabal
ms2k 15eb0038d2 Replace planning-era names and squash initial schema
Use descriptive test and executable names so implementation surfaces do not depend on journal organization. Consolidate the unreleased migration history into the authoritative initial schema because no deployed database requires an upgrade path.
2026-07-19 15:21:24 +09:00

203 lines
5.1 KiB
Text

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
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.Audit
Nuthatch.Config
Nuthatch.Db
Nuthatch.Oidc
Nuthatch.Paths
Nuthatch.Protocol
Nuthatch.Redis
Nuthatch.Recovery
Nuthatch.Runtime
Nuthatch.S3
Nuthatch.Session
Nuthatch.Streaming
Nuthatch.Types
Nuthatch.Ui
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-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
build-depends:
, nuthatch
, base
, bytestring
, crypton
, memory
, postgresql-simple
, text
ghc-options:
-threaded
-rtsopts
-with-rtsopts=-N
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
test-suite nuthatch-unit
import: shared
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs: test
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