packages feed

wireform-yaml-0.1.0.0: wireform-yaml.cabal

cabal-version: 3.0
name: wireform-yaml
version: 0.1.0.0
synopsis: Spec-conformant YAML 1.2 encoding/decoding
description:
  YAML 1.2 codecs with a dynamic value model, generic and Template Haskell
  derivation, and an aeson bridge. Supports block and flow collections,
  tags, anchors, aliases, literal and folded scalars, and document streams.
  An annotated syntax tree supports source-preserving edits. Decoders bound
  nesting depth and alias expansion.
category: Data, Codec, Serialization
homepage: https://github.com/iand675/wireform-
bug-reports: https://github.com/iand675/wireform-/issues
tested-with: GHC == 9.10.3, GHC == 9.12.4, GHC == 9.14.1
license: BSD-3-Clause
license-file: LICENSE
author: Ian Duncan
maintainer: ian@iankduncan.com
copyright: 2026 Ian Duncan
build-type: Simple
extra-doc-files:
  README.md
  CHANGELOG.md
  bench-results/charts/*.svg

source-repository head
  type: git
  location: https://github.com/iand675/wireform-.git
  subdir: wireform-yaml

common defaults
  ghc-options:
    -Wall
    -Wcompat
    -Widentities
    -Wincomplete-record-updates
    -Wincomplete-uni-patterns
    -Wpartial-fields
    -Wredundant-constraints
    -O2
    -funbox-strict-fields
    -fspec-constr
    -fspec-constr-keen
    -flate-dmd-anal
  default-language: GHC2021
  default-extensions:
    StrictData
    DerivingStrategies
    DeriveGeneric
    DeriveAnyClass
    OverloadedStrings
    LambdaCase

library
  import: defaults
  hs-source-dirs: src
  exposed-modules:
    YAML
    YAML.Annotated
    YAML.Class
    YAML.Decode
    YAML.Decode.Annotated
    YAML.Derive
    YAML.Encode
    YAML.Encoding
    YAML.JSON
    YAML.Pretty
    YAML.Value
  other-modules:
    YAML.Internal
    YAML.Decode.Flow
  build-depends:
    base >= 4.20 && < 5,
    wireform-derive ^>= 0.2.0.0,
    mtl >= 2.2 && < 2.4,
    hashable >= 1.4 && < 1.6,
    unordered-containers >= 0.2 && < 0.3,
    bytestring >= 0.11 && < 0.13,
    text >= 2.0 && < 2.2,
    vector >= 0.13 && < 0.14,
    containers >= 0.6 && < 0.9,
    aeson >= 2.1 && < 2.4,
    scientific >= 0.3 && < 0.4,
    deepseq >= 1.4 && < 1.6,
    template-haskell >= 2.18 && < 2.25

benchmark wireform-yaml-bench
  import: defaults
  type: exitcode-stdio-1.0
  hs-source-dirs: bench
  main-is: Bench.hs
  ghc-options: -O2 -fproc-alignment=64 -rtsopts
  build-depends:
    base,
    wireform-yaml,
    bytestring,
    text,
    vector,
    HsYAML,
    yaml,
    aeson,
    deepseq,
    containers,
    criterion >= 1.5

test-suite wireform-yaml-test
  import: defaults
  type: exitcode-stdio-1.0
  hs-source-dirs: test
  main-is: Main.hs
  other-modules:
    Test.YAML.Annotated
    Test.YAML.Class
    Test.YAML.Conformance
    Test.YAML.Decode
    Test.YAML.Derive
    Test.YAML.Derive.Instances
    Test.YAML.Derive.Types
    Test.YAML.Encode
    Test.YAML.Helpers
    Test.YAML.JSON
    Test.YAML.Pretty
    Test.YAML.Roundtrip
    Test.YAML.Security
  default-extensions:
    ScopedTypeVariables
    TemplateHaskell
  build-depends:
    base,
    deepseq,
    wireform-yaml,
    wireform-derive ^>= 0.2.0.0,
    aeson >= 2.2 && < 2.4,
    bytestring,
    scientific,
    text,
    vector,
    containers,
    unordered-containers,
    directory,
    filepath,
    sydtest,
    sydtest-hedgehog,
    hedgehog