packages feed

substrate-synapse-0.1.0.0: substrate-synapse.cabal

cabal-version:      3.0
name:               substrate-synapse
version:            0.1.0.0
synopsis:           Algebraic CLI for Plexus - coalgebraic schema navigation
license:            MIT
author:
maintainer:
build-type:         Simple

flag build-examples
  description: Build example programs (schema-discovery)
  default:     False
  manual:      True

library
  exposed-modules:
    Synapse.Schema.Types
    Synapse.Schema.Functor
    Synapse.Monad
    Synapse.Algebra.Navigate
    Synapse.Algebra.Render
    Synapse.Algebra.Complete
    Synapse.Algebra.Walk
    Synapse.Algebra.TemplateGen
    Synapse.Algebra.Recursion
    Synapse.Transport
    Synapse.Cache
    Synapse.Renderer
  build-depends:
    base >= 4.17 && < 5,
    substrate-protocol,
    aeson >= 2.0 && < 2.3,
    text >= 2.0 && < 2.2,
    bytestring >= 0.11 && < 0.13,
    websockets >= 0.13 && < 0.14,
    network >= 3.1 && < 3.3,
    async >= 2.2 && < 2.3,
    stm >= 2.5 && < 2.6,
    streaming >= 0.2 && < 0.3,
    mtl >= 2.3 && < 2.4,
    transformers >= 0.6 && < 0.7,
    containers >= 0.6 && < 0.8,
    unordered-containers >= 0.2 && < 0.3,
    hashable >= 1.4 && < 1.6,
    prettyprinter >= 1.7 && < 1.8,
    mustache >= 2.4 && < 2.5,
    directory >= 1.3 && < 1.4,
    filepath >= 1.4 && < 1.6,
    yaml >= 0.11 && < 0.12,
    vector >= 0.12 && < 0.14,
    scientific >= 0.3 && < 0.4
  hs-source-dirs:   src
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
    DeriveGeneric
    DeriveAnyClass
    DerivingStrategies
    GeneralizedNewtypeDeriving
    LambdaCase
    RecordWildCards

executable synapse
  main-is:          Main.hs
  build-depends:
    base >= 4.17 && < 5,
    substrate-protocol,
    substrate-synapse,
    aeson >= 2.0 && < 2.3,
    text >= 2.0 && < 2.2,
    bytestring >= 0.11 && < 0.13,
    mtl >= 2.3 && < 2.4,
    containers >= 0.6 && < 0.8,
    directory >= 1.3 && < 1.4,
    optparse-applicative >= 0.18 && < 0.19,
    prettyprinter >= 1.7 && < 1.8
  hs-source-dirs:   app
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
    RecordWildCards
    LambdaCase

executable schema-discovery
  main-is:          SchemaDiscovery.hs
  build-depends:
    base >= 4.17 && < 5,
    substrate-protocol,
    substrate-synapse,
    aeson >= 2.0 && < 2.3,
    text >= 2.0 && < 2.2,
    streaming >= 0.2 && < 0.3
  hs-source-dirs:   examples
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
  if !flag(build-examples)
    buildable: False

test-suite cli-test
  type:             exitcode-stdio-1.0
  main-is:          CLISpec.hs
  build-depends:
    base >= 4.17 && < 5,
    text >= 2.0 && < 2.2,
    process >= 1.6 && < 1.7,
    hspec >= 2.10 && < 2.12
  hs-source-dirs:   test
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
  ghc-options:      -threaded