packages feed

json-spec-2.0.0.0: json-spec.cabal

cabal-version:       3.0
name:                json-spec
version:             2.0.0.0
synopsis:            Type-level JSON specification
maintainer:          rick@owensmurray.com
description:
  See the README at: https://github.com/owensmurray/json-spec#json-spec

  = Modules

  ["Data.JsonSpec"]
    Type-level JSON specifications.

  ["Data.JsonSpec.Codec.Tuple"]
    Encode and decode via nested tuples.

  ["Data.JsonSpec.Language.Parser"]
    Parser for the JsonSpec textual language.

  ["Data.JsonSpec.Language.QQ"]
    Quasi-quoters for the JsonSpec language.
homepage:            https://github.com/owensmurray/json-spec
license:             MIT
license-file:        LICENSE
author:              Rick Owens
category:            JSON
copyright:           2026 Owens Murray, LLC.
build-type:          Simple
extra-doc-files:
  CHANGELOG.md
  README.md
  LICENSE

common dependencies
  build-depends:
    , aeson            >= 2.2.1.0  && < 2.4
    , base             >= 4.19.0.0 && < 4.23
    , containers       >= 0.6.8    && < 0.9
    , megaparsec       >= 9.6.0    && < 9.9
    , scientific       >= 0.3.7.0  && < 0.4
    , template-haskell >= 2.21.0.0 && < 2.25
    , text             >= 2.1      && < 2.2
    , time             >= 1.9.3    && < 1.16
    , vector           >= 0.13.0.0 && < 0.14

common warnings
  ghc-options:
    -Wmissing-deriving-strategies
    -Wmissing-export-lists
    -Wmissing-import-lists
    -Wredundant-constraints
    -Wall

library
  import: dependencies, warnings
  exposed-modules:
    Data.JsonSpec
    Data.JsonSpec.Language.Parser
    Data.JsonSpec.Language.QQ
    Data.JsonSpec.Codec.Tuple
  other-modules:
    Data.JsonSpec.Spec
    Data.JsonSpec.Codec.Tuple.Internal
    Data.JsonSpec.Codec.Tuple.Decode
    Data.JsonSpec.Codec.Tuple.Encode
  -- other-extensions:    
  hs-source-dirs:      src
  default-language:    Haskell2010

test-suite jsonspec
  import: dependencies, warnings
  main-is: jsonspec.hs
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  default-language: Haskell2010
  build-depends:
    , json-spec
    , bytestring >= 0.12.0.2 && < 0.13
    , hspec      >= 2.11.0   && < 2.12
    , om-show    >= 0.1.2.9  && < 0.2


test-suite stable-environment
  import: dependencies, warnings
  main-is: stable-environment.hs
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  default-language: Haskell2010
  build-depends:
    , json-spec
    , bytestring >= 0.12.0.2 && < 0.13
    , hspec      >= 2.11.0   && < 2.12
    , om-show    >= 0.1.2.9  && < 0.2

test-suite language
  import: dependencies, warnings
  main-is: language.hs
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  default-language: Haskell2010
  build-depends:
    , json-spec
    , hspec >= 2.11.0 && < 2.12


test-suite json-let
  import: dependencies, warnings
  main-is: jsonlet.hs
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  default-language: Haskell2010
  build-depends:
    , json-spec

test-suite json-let2
  import: dependencies, warnings
  main-is: jsonlet2.hs
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  default-language: Haskell2010
  build-depends:
    , json-spec

test-suite json-let3
  import: dependencies, warnings
  main-is: jsonlet3.hs
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  default-language: Haskell2010
  build-depends:
    , json-spec