cabal-version:      3.0
name:               react
version:            0.1.0.0
license:            BSD-3-Clause
license-file:       LICENSE
author:             Obsidian Systems LLC
maintainer:         maintainer@obsidian.systems
category:           Web
build-type:         Simple
extra-doc-files:    CHANGELOG.md
synopsis:           Create React components in Haskell
description:
  This library provides bindings to React that allow you to write components in
  Haskell.  Typically, these components will be compiled with GHCJS to produce
  JavaScript for inclusion in a React application.

common warnings
    ghc-options: -Wall -Wunused-packages

library
  import:           warnings
  exposed-modules:
    React
    React.Component
    React.Element
    React.Export
    React.Hook
    React.JSaddle
    React.Misc
    React.Types

  build-depends:
    base                               >= 4.14.3 && < 4.15,
    containers                         >= 0.6.5 && < 0.7,
    jsaddle                            >= 0.9.8 && < 0.10,
    template-haskell                   >= 2.16.0 && < 2.17,
    text                               >= 1.2.4 && < 1.3,
    mtl                                >= 2.2.2 && < 2.3
  hs-source-dirs:
    src

  if impl(ghcjs)
    build-depends: ghcjs-base == 0.2.*
                  , ghcjs-prim
                  -- This is to allow the hashable patches to work
                  -- the hashable should to be pinned in reflex-platform
                  , hashable == 1.3.5.0
  else
    build-depends: jsaddle-warp >= 0.9.8 && < 0.10

  default-language: Haskell2010
  default-extensions:
    FlexibleInstances
    GeneralizedNewtypeDeriving
    LambdaCase
    OverloadedStrings