packages feed

shomei-client-0.3.0.0: shomei-client.cabal

cabal-version: 3.0
name: shomei-client
version: 0.3.0.0
synopsis: Haskell client for the standalone Shōmei auth service
description:
  A typed Haskell client derived from the same ShomeiAPI definition that
  shomei-servant serves, so the client and the server cannot drift apart.
  Wraps the generated servant-client functions in a small record with
  connection management and token handling for calling a standalone
  shomei-server from another service.

homepage: https://github.com/shinzui/shomei
bug-reports: https://github.com/shinzui/shomei/issues
license: MIT
license-file: LICENSE
author: Nadeem Bitar
maintainer: nadeem@gmail.com
copyright: 2026 Nadeem Bitar
category: Web, Security
tested-with: ghc ==9.12.4
extra-doc-files: CHANGELOG.md

source-repository head
  type: git
  location: https://github.com/shinzui/shomei.git

common warnings
  ghc-options:
    -Wall
    -Wcompat
    -Widentities
    -Wincomplete-record-updates
    -Wincomplete-uni-patterns
    -Wpartial-fields
    -Wredundant-constraints

common shared
  default-language: GHC2024
  default-extensions:
    BlockArguments
    DataKinds
    DeriveAnyClass
    DuplicateRecordFields
    MultilineStrings
    OverloadedLabels
    OverloadedRecordDot
    OverloadedStrings
    QualifiedDo
    TemplateHaskell
    TypeFamilies

library
  import: warnings, shared
  hs-source-dirs: src
  exposed-modules: Shomei.Client
  build-depends:
    base >=4.18 && <5,
    base64 >=1.0 && <1.1,
    bytestring >=0.11 && <0.13,
    http-api-data >=0.6 && <0.8,
    http-client >=0.7 && <0.8,
    http-client-tls >=0.3 && <0.5,
    servant >=0.20.3 && <0.21,
    servant-client >=0.20.3 && <0.21,
    servant-client-core >=0.20.3 && <0.21,
    servant-health >=0.1 && <0.2,
    shomei-core ^>=0.3.0.0,
    shomei-servant ^>=0.3.0.0,
    text >=2.0 && <2.2,

test-suite shomei-client-test
  import: warnings, shared
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  ghc-options:
    -threaded
    -rtsopts
    -with-rtsopts=-N

  build-depends:
    base >=4.18 && <5,
    bytestring >=0.11 && <0.13,
    http-client >=0.7 && <0.8,
    http-types >=0.12 && <0.13,
    servant-client >=0.20.3 && <0.21,
    servant-health >=0.1 && <0.2,
    shomei-client ^>=0.3.0.0,
    shomei-core ^>=0.3.0.0,
    shomei-jwt ^>=0.3.0.0,
    shomei-migrations:test-support ^>=0.2.0.1,
    shomei-postgres ^>=0.3.0.0,
    shomei-servant ^>=0.3.0.0,
    shomei-server ^>=0.3.0.0,
    tasty >=1.4 && <1.6,
    tasty-hunit >=0.10 && <0.11,
    text >=2.0 && <2.2,
    warp >=3.3 && <3.5,