packages feed

sauron-0.0.0.0: sauron.cabal

cabal-version:       3.0
name:                sauron
version:             0.0.0.0
synopsis:            The eye that watches everything you did on Twitter
description:
    The eye that watches everything you did on Twitter.
    See [README.md](https://github.com/chshersh/sauron#sauron) for more details.
homepage:            https://github.com/chshersh/sauron
bug-reports:         https://github.com/chshersh/sauron/issues
license:             MPL-2.0
license-file:        LICENSE
author:              Dmitrii Kovanikov
maintainer:          Dmitrii Kovanikov <kovanikov@gmail.com>
copyright:           2022 Dmitrii Kovanikov
build-type:          Simple
extra-doc-files:     README.md
                     CHANGELOG.md
tested-with:         GHC == 9.2.4

source-repository head
  type:                git
  location:            https://github.com/chshersh/sauron.git

common common-options
  build-depends:       base   ^>= 4.16
                     , relude ^>= 1.1

  mixins:              base hiding (Prelude)
                     , relude (Relude as Prelude)
                     , relude

  ghc-options:         -Wall
                       -Wcompat
                       -Widentities
                       -Wincomplete-uni-patterns
                       -Wincomplete-record-updates
                       -Wredundant-constraints
                       -Wnoncanonical-monad-instances
  if impl(ghc >= 8.2)
    ghc-options:       -fhide-source-paths
  if impl(ghc >= 8.4)
    ghc-options:       -Wmissing-export-lists
                       -Wpartial-fields
  if impl(ghc >= 8.8)
    ghc-options:       -Wmissing-deriving-strategies
                       -fwrite-ide-info
                       -hiedir=.hie
  if impl(ghc >= 9.0)
    ghc-options:       -Winvalid-haddock
  if impl(ghc >= 9.2)
    ghc-options:       -Wredundant-bang-patterns
                       -Woperator-whitespace

  default-language:    Haskell2010
  default-extensions:  ConstraintKinds
                       DeriveGeneric
                       DerivingStrategies
                       GeneralizedNewtypeDeriving
                       InstanceSigs
                       KindSignatures
                       LambdaCase
                       NumericUnderscores
                       OverloadedStrings
                       RecordWildCards
                       ScopedTypeVariables
                       StandaloneDeriving
                       StrictData
                       TupleSections
                       TypeApplications
                       ViewPatterns

library
  import:              common-options
  hs-source-dirs:      src

  autogen-modules:     Paths_sauron
  other-modules:       Paths_sauron

  exposed-modules:
    Sauron
      Sauron.App
      Sauron.Cli
      Sauron.Top
        Sauron.Top.Client
        Sauron.Top.Json
        Sauron.Top.User
        Sauron.Top.Tweet

  build-depends:
    , aeson                ^>= 2.1
    , aeson-pretty         ^>= 0.8
    , http-client          ^>= 0.7
    , http-client-tls      ^>= 0.3
    , iris                 ^>= 0.0
    , optparse-applicative ^>= 0.17
    , servant              ^>= 0.19
    , servant-client       ^>= 0.19
    , servant-client-core  ^>= 0.19
    , time                 ^>= 1.11

executable sauron
  import:              common-options
  hs-source-dirs:      app
  main-is:             Main.hs
  build-depends:       sauron
  ghc-options:         -threaded
                       -rtsopts
                       -with-rtsopts=-N

test-suite sauron-test
  import:              common-options
  type:                exitcode-stdio-1.0
  hs-source-dirs:      test
  main-is:             Spec.hs

  other-modules:
    Test.Sauron
      Test.Sauron.Top
        Test.Sauron.Top.Client
        Test.Sauron.Top.Tweet

  build-depends:
    , sauron
    , aeson
    , hedgehog       ^>= 1.2
    , hspec           >= 2.9.7 && < 2.11
    , hspec-hedgehog ^>= 0.0
    , servant
    , servant-client-core
    , time

  ghc-options:         -threaded
                       -rtsopts
                       -with-rtsopts=-N