packages feed

miso-0.1.1.0: miso.cabal

name:                miso
version:             0.1.1.0
category:            Web, Miso, Data Structures
license:             BSD3
license-file:        LICENSE
author:              David M. Johnson <djohnson.m@gmail.com>
maintainer:          David M. Johnson <djohnson.m@gmail.com>
homepage:            http://github.com/dmjio/miso
copyright:           Copyright (c) 2017 David M. Johnson
build-type:          Simple
extra-source-files:  README.md
cabal-version:       >=1.22
synopsis:            A tasty Haskell front-end framework
description:
            Miso is a small isomorphic Haskell front-end framework featuring a virtual-dom, diffing / patching algorithm, event delegation, event batching, SVG, Server-sent events, Websockets, and an extensible Subscription-based subsystem. Inspired by Elm, Redux and Bobril. `IO` and other effects (like `XHR`) can be introduced into the system via the `Effect` data type. Miso makes heavy use of the GHCJS FFI and therefore has minimal dependencies.

extra-source-files:
  README.md
  examples/todo-mvc/index.html
  examples/mario/imgs/jump/right.gif
  examples/mario/imgs/jump/left.gif
  examples/mario/imgs/stand/right.gif
  examples/mario/imgs/stand/left.gif
  examples/mario/imgs/walk/right.gif
  examples/mario/imgs/walk/left.gif

flag examples
  default:
    False
  description:
    Builds Miso's examples

flag tests
  default:
    False
  description:
    Builds Miso's tests

executable todo-mvc
  if !impl(ghcjs) || !flag(examples)
    buildable: False
  main-is:
    Main.hs
  hs-source-dirs:
    examples/todo-mvc
  build-depends:
    base < 5,
    aeson,
    containers,
    miso
  default-language:
    Haskell2010

executable mario
  if !impl(ghcjs) || !flag(examples)
    buildable: False
  main-is:
    Main.hs
  hs-source-dirs:
    examples/mario
  build-depends:
    base < 5,
    containers,
    miso
  default-language:
    Haskell2010

executable simple
  if !impl(ghcjs) || !flag(examples)
    buildable: False
  main-is:
    Main.hs
  hs-source-dirs:
    exe
  build-depends:
    aeson,
    base < 5,
    containers,
    miso
  default-language:
    Haskell2010

executable tests
  if !impl(ghcjs) || !flag(tests)
    buildable: False
  hs-source-dirs:
    tests
  main-is:
    Main.hs
  build-depends:
    aeson,
    base < 5,
    miso,
    hspec,
    hspec-core,
    ghcjs-base
  default-language:
    Haskell2010

library
  default-language:
    Haskell2010
  exposed-modules:
    Miso.Html
    Miso.Html.Element
    Miso.Html.Event
    Miso.Html.Property
    Miso.Event
    Miso.Event.Decoder
    Miso.Event.Types
    Miso.Svg
    Miso.Svg.Attribute
    Miso.Svg.Element
    Miso.Svg.Event
    Miso.String
  other-modules:
    Miso.Concurrent
    Miso.Html.Internal
  ghc-options:
    -Wall
  hs-source-dirs:
    src
  build-depends:
    aeson,
    base < 5,
    bytestring,
    containers,
    text
  if impl(ghcjs)
    hs-source-dirs:
      ghcjs-src
    build-depends:
      ghcjs-base,
      http-types,
      network-uri,
      http-api-data,
      containers,
      scientific,
      unordered-containers,
      servant,
      transformers,
      vector
    js-sources:
      jsbits/diff.js
      jsbits/delegate.js
      jsbits/isomorphic.js
      jsbits/util.js
    exposed-modules:
      Miso
      Miso.Effect
      Miso.Effect.Storage
      Miso.Effect.XHR
      Miso.Effect.DOM
      Miso.Router
      Miso.Subscription
      Miso.Subscription.History
      Miso.Subscription.Keyboard
      Miso.Subscription.Mouse
      Miso.Subscription.WebSocket
      Miso.Subscription.Window
      Miso.Subscription.SSE
      Miso.Types
    other-modules:
      Miso.Diff
      Miso.FFI
      Miso.Delegate
  else
    build-depends:
      lucid,
      vector
    hs-source-dirs:
      ghc-src

source-repository head
   type: git
   location: https://github.com/dmjio/miso.git