packages feed

openapi-hs-4.0.0: openapi-hs.cabal

cabal-version:      3.0
name:               openapi-hs
version:            4.0.0
synopsis:           OpenAPI 3.1 data model
category:           Web, OpenApi
description:
  openapi-hs (a fork of the openapi3 library) is intended to be used for decoding and
  encoding OpenAPI 3.1 API specifications as well as manipulating them. The Haskell
  module namespace remains Data.OpenApi.*, so only the package dependency name changes
  for downstream users migrating from openapi3.
  .
  The OpenAPI 3.1 specification is available at https://spec.openapis.org/oas/v3.1.0

homepage:           https://github.com/shinzui/openapi-hs
bug-reports:        https://github.com/shinzui/openapi-hs/issues
license:            BSD-3-Clause
license-file:       LICENSE
author:             Nickolay Kudasov, Maxim Koltsov, Nadeem Bitar
maintainer:         nadeem@gmail.com
copyright:
  (c) 2015-2016, GetShopTV, (c) 2020, Biocad, (c) 2026, Nadeem Bitar

build-type:         Simple
extra-source-files: examples/*.hs
extra-doc-files:
  CHANGELOG.md
  MIGRATION_3.0_TO_3.1.md
  README.md

tested-with:        GHC ==9.12.4 || ==9.14.1

library
  hs-source-dirs:     src
  exposed-modules:
    Data.HashMap.Strict.InsOrd.Compat
    Data.OpenApi
    Data.OpenApi.Aeson.Compat
    Data.OpenApi.Declare
    Data.OpenApi.Internal
    Data.OpenApi.Internal.AesonUtils
    Data.OpenApi.Internal.ParamSchema
    Data.OpenApi.Internal.Schema
    Data.OpenApi.Internal.Schema.Validation
    Data.OpenApi.Internal.TypeShape
    Data.OpenApi.Internal.Utils
    Data.OpenApi.Lens
    Data.OpenApi.Migration
    Data.OpenApi.Operation
    Data.OpenApi.Optics
    Data.OpenApi.ParamSchema
    Data.OpenApi.Schema
    Data.OpenApi.Schema.Generator
    Data.OpenApi.Schema.Validation
    Data.OpenApi.SchemaOptions

  -- internal modules
  -- GHC boot libraries
  build-depends:
    , base              >=4.11.1.0 && <4.23
    , bytestring        >=0.10.8.2 && <0.13
    , containers        >=0.5.11.0 && <0.9
    , template-haskell  >=2.13.0.0 && <2.25
    , time              >=1.8.0.2  && <1.16
    , transformers      >=0.5.5.0  && <0.7

  build-depends:
    , mtl   >=2.2.2   && <2.4
    , text  >=1.2.3.1 && <2.2

  -- other dependencies
  build-depends:
    , aeson                      >=2.0.1.0  && <2.3
    , aeson-pretty               >=0.8.7    && <0.9
    , base-compat-batteries      >=0.11.1   && <0.16
    , cookie                     >=0.4.3    && <0.6
    , generics-sop               >=0.5.1.0  && <0.6
    , hashable                   >=1.2.7.0  && <1.6
    , http-media                 >=0.8.0.0  && <0.9
    , insert-ordered-containers  >=0.2.3    && <0.4
    , lens                       >=4.16.1   && <5.4
    , optics-core                >=0.2      && <0.5
    , optics-th                  >=0.2      && <0.5
    , QuickCheck                 >=2.10.1   && <2.19
    , scientific                 >=0.3.6.2  && <0.4
    , unordered-containers       >=0.2.9.0  && <0.3
    , uuid-types                 >=1.0.3    && <1.1
    , vector                     >=0.12.0.1 && <0.14

  default-language:   GHC2024
  default-extensions:
    DefaultSignatures
    FunctionalDependencies
    OverloadedLabels
    OverloadedStrings
    PackageImports
    RecordWildCards
    TemplateHaskell
    TypeFamilies
    UndecidableInstances
    UndecidableSuperClasses
    ViewPatterns

test-suite spec
  type:               exitcode-stdio-1.0
  hs-source-dirs:     test
  main-is:            Spec.hs

  -- From library part
  -- We need aeson's toEncoding for doctests too
  build-depends:
    , aeson
    , base
    , base-compat-batteries
    , bytestring
    , containers
    , hashable
    , insert-ordered-containers
    , lens
    , mtl
    , openapi-hs
    , QuickCheck
    , template-haskell
    , text
    , time
    , unordered-containers
    , vector

  -- test-suite only dependencies
  build-depends:
    , hspec                 >=2.5.5   && <2.12
    , HUnit                 >=1.6.0.0 && <1.7
    , quickcheck-instances  >=0.3.19  && <0.14
    , utf8-string           >=1.0.1.1 && <1.1

  -- https://github.com/haskell/cabal/issues/3708
  build-tool-depends: hspec-discover:hspec-discover >=2.5.5 && <2.12
  other-modules:
    Data.OpenApi.CommonTestTypes
    Data.OpenApi.MigrationSpec
    Data.OpenApi.ParamSchemaSpec
    Data.OpenApi.Schema.CoreTypes31Spec
    Data.OpenApi.Schema.GeneratorSpec
    Data.OpenApi.Schema.RoundtripSpec
    Data.OpenApi.Schema.Validation31Spec
    Data.OpenApi.Schema.ValidationSpec
    Data.OpenApi.Schema31Spec
    Data.OpenApi.SchemaSpec
    Data.OpenApi.TopLevel31Spec
    Data.OpenApiSpec
    SpecCommon

  default-language:   GHC2024

executable example
  hs-source-dirs:   examples
  main-is:          hackage.hs
  default-language: GHC2024
  build-depends:
    , aeson
    , base
    , bytestring
    , lens
    , openapi-hs
    , text

source-repository head
  type:     git
  location: https://github.com/shinzui/openapi-hs.git