packages feed

plexus-synapse-3.5.0: plexus-synapse.cabal

cabal-version:      3.0
name:               plexus-synapse
version:            3.5.0
synopsis:           Schema-driven CLI for Plexus RPC servers
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.Walk
    Synapse.Algebra.Recursion
    Synapse.Transport
    Synapse.Cache
    Synapse.Renderer
    Synapse.IR.Types
    Synapse.IR.Builder
    Synapse.IR.Cache
    Synapse.Bidir
    Synapse.CLI.Help
    Synapse.CLI.Parse
    Synapse.CLI.Support
    Synapse.CLI.Template
    Synapse.CLI.Transform
    Synapse.CLI.Similarity
    Synapse.Backend.Discovery
    Synapse.Self.Commands
    Synapse.Self.Template
    Synapse.Self.Pattern
    Synapse.Self.Examples
  build-depends:
    base >= 4.17 && < 5,
    plexus-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,
    regex-tdfa >= 1.3 && < 1.4,
    time >= 1.12 && < 1.15,
    array >= 0.5 && < 0.6,
    process >= 1.6 && < 1.7
  hs-source-dirs:   src
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
    DeriveGeneric
    DeriveAnyClass
    DerivingStrategies
    GeneralizedNewtypeDeriving
    LambdaCase
    RecordWildCards

executable synapse
  main-is:          Main.hs
  autogen-modules:  Paths_plexus_synapse
  other-modules:    Paths_plexus_synapse
  build-depends:
    base >= 4.17 && < 5,
    plexus-protocol,
    plexus-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,
    filepath >= 1.4 && < 1.6,
    optparse-applicative >= 0.18 && < 0.19,
    prettyprinter >= 1.7 && < 1.8,
    time >= 1.12 && < 1.14
  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,
    plexus-protocol,
    plexus-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

test-suite ir-test
  type:             exitcode-stdio-1.0
  main-is:          IRSpec.hs
  build-depends:
    base >= 4.17 && < 5,
    plexus-synapse,
    text >= 2.0 && < 2.2,
    containers >= 0.6 && < 0.8,
    hspec >= 2.10 && < 2.12,
    aeson >= 2.2 && < 2.3,
    bytestring >= 0.11 && < 0.13
  hs-source-dirs:   test
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
    LambdaCase
    RecordWildCards
  ghc-options:      -threaded

test-suite typeref-json
  type:             exitcode-stdio-1.0
  main-is:          TypeRefJson.hs
  build-depends:
    base >= 4.17 && < 5,
    plexus-synapse,
    text >= 2.0 && < 2.2,
    aeson >= 2.2 && < 2.3,
    aeson-pretty >= 0.8 && < 0.9,
    bytestring >= 0.11 && < 0.13
  hs-source-dirs:   test
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
  ghc-options:      -threaded

test-suite parse-test
  type:             exitcode-stdio-1.0
  main-is:          ParseSpec.hs
  build-depends:
    base >= 4.17 && < 5,
    plexus-synapse,
    text >= 2.0 && < 2.2,
    aeson >= 2.2 && < 2.3,
    containers >= 0.6 && < 0.8,
    vector >= 0.12 && < 0.14,
    hspec >= 2.10 && < 2.12
  hs-source-dirs:   test
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
  ghc-options:      -threaded

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

test-suite bidir-test
  type:             exitcode-stdio-1.0
  main-is:          BidirSpec.hs
  build-depends:
    base >= 4.17 && < 5,
    plexus-protocol,
    plexus-synapse,
    text >= 2.0 && < 2.2,
    bytestring >= 0.11 && < 0.13,
    aeson >= 2.2 && < 2.3,
    hspec >= 2.10 && < 2.12
  hs-source-dirs:   test
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
    RecordWildCards
  ghc-options:      -threaded

test-suite bidir-integration-test
  type:             exitcode-stdio-1.0
  main-is:          BidirIntegrationSpec.hs
  build-depends:
    base >= 4.17 && < 5,
    plexus-synapse,
    text >= 2.0 && < 2.2,
    containers >= 0.6 && < 0.8,
    hspec >= 2.10 && < 2.12
  hs-source-dirs:   test
  default-language: GHC2021
  default-extensions:
    OverloadedStrings
    RecordWildCards
  ghc-options:      -threaded