packages feed

firebase-hs-0.1.0.0: firebase-hs.cabal

cabal-version:      3.0
name:               firebase-hs
version:            0.1.0.0
synopsis:           Firebase Auth, Firestore, and Servant integration for Haskell
description:
  Firebase Authentication (JWT verification), Firestore REST API client
  (CRUD, queries, transactions), and optional WAI middleware and Servant
  auth combinator. Verify ID tokens against Google's public keys, read and
  write Firestore documents, and protect any Haskell web server with Firebase
  auth — all from pure, composable Haskell.

license:            MIT
license-file:       LICENSE
author:             Devon Tomlin
maintainer:         devon.tomlin@novavero.ai
homepage:           https://github.com/Gondola-Bros-Entertainment/firebase-hs
bug-reports:        https://github.com/Gondola-Bros-Entertainment/firebase-hs/issues
category:           Web, Authentication, Database
stability:          experimental
build-type:         Simple
tested-with:        GHC == 9.6.7
extra-doc-files:
    CHANGELOG.md
    README.md

flag wai
  description: Enable WAI auth middleware (Firebase.Auth.WAI)
  default:     False
  manual:      True

flag servant
  description: Enable Servant auth combinator (Firebase.Servant)
  default:     False
  manual:      True

library
  exposed-modules:
    Firebase.Auth
    Firebase.Auth.Types
    Firebase.Firestore
    Firebase.Firestore.Internal
    Firebase.Firestore.Query
    Firebase.Firestore.Types

  build-depends:
      base             >= 4.17 && < 5
    , aeson            >= 2.0 && < 2.3
    , bytestring       >= 0.11 && < 0.13
    , containers       >= 0.6 && < 0.8
    , http-client      >= 0.7 && < 0.8
    , http-client-tls  >= 0.3 && < 0.4
    , http-types       >= 0.12 && < 0.13
    , jose             >= 0.11 && < 0.13
    , lens             >= 5.0 && < 5.4
    , stm              >= 2.5 && < 2.6
    , text             >= 2.0 && < 2.2
    , time             >= 1.12 && < 1.15
    , transformers     >= 0.5 && < 0.7

  if flag(wai)
    exposed-modules: Firebase.Auth.WAI
    build-depends:
        vault            >= 0.3 && < 0.4
      , wai              >= 3.2 && < 3.3

  if flag(servant)
    exposed-modules: Firebase.Servant
    build-depends:
        servant-server   >= 0.19 && < 0.21
      , wai              >= 3.2 && < 3.3

  hs-source-dirs:   src
  default-language:  Haskell2010
  ghc-options:
    -Wall
    -Wcompat
    -Wincomplete-record-updates
    -Wincomplete-uni-patterns

test-suite firebase-hs-test
  type:             exitcode-stdio-1.0
  main-is:          Main.hs
  hs-source-dirs:   test
  build-depends:
      base             >= 4.17 && < 5
    , aeson            >= 2.0 && < 2.3
    , bytestring       >= 0.11 && < 0.13
    , containers       >= 0.6 && < 0.8
    , firebase-hs
    , http-types       >= 0.12 && < 0.13
    , text             >= 2.0 && < 2.2
    , time             >= 1.12 && < 1.15
  default-language:  Haskell2010
  ghc-options:       -Wall -Wcompat

source-repository head
  type:     git
  location: https://github.com/Gondola-Bros-Entertainment/firebase-hs
  branch:   main