cabal-version: 2.2 name: miso version: 1.9.0.0 x-revision: 1 category: Web, Miso, Data Structures license: BSD-3-Clause license-file: LICENSE author: David M. Johnson maintainer: David M. Johnson homepage: https://haskell-miso.org/ copyright: Copyright (c) 2016-2026 David M. Johnson bug-reports: https://github.com/haskell-miso/miso/issues build-type: Simple extra-source-files: README.md synopsis: A tasty Haskell front-end web framework description: Miso is a small, production-ready, component-oriented, isomorphic Haskell front-end web and mobile framework featuring a virtual-dom, recursive diffing / patching algorithm, event delegation, event batching, SVG, Server-sent events, Websockets, type-safe servant-style routing and an extensible Subscription-based subsystem. Inspired by Elm and React. Miso is pure by default, but side effects can be introduced into the system via the Effect data type. Miso makes heavy use of the GHC FFI and therefore has minimal dependencies. extra-source-files: README.md source-repository head type: git location: https://github.com/haskell-miso/miso.git common cpp if impl(ghcjs) || arch(javascript) cpp-options: -DGHCJS_BOTH if impl(ghcjs) cpp-options: -DGHCJS_OLD elif arch(javascript) cpp-options: -DGHCJS_NEW elif arch(wasm32) cpp-options: -DWASM else cpp-options: -DVANILLA if flag(production) cpp-options: -DPRODUCTION if flag(ssr) cpp-options: -DSSR if flag(benchmark) cpp-options: -DBENCH common client if impl(ghcjs) || arch(javascript) || arch(wasm32) if flag(production) js-sources: js/miso.prod.js else js-sources: js/miso.js flag benchmark manual: True default: False description: When enabled this outputs (in milliseconds) the time it takes to build the virtual DOM on page load. flag production manual: True default: False description: Uses miso's production quality JS (miso.prod.js). This is built from calling "bun build --production" flag ssr manual: True default: False description: Used to indicate if SSR (server-side rendering) is being used. Defaults to false. Enable when performing hydration / server rendering of Html using ToHtml. flag template-haskell manual: True default: False description: Checks if template-haskell is enabled. If so, allows Miso.Lens.TH library import: client, cpp default-language: Haskell2010 other-modules: Miso.Delegate Miso.Diff Miso.DSL.FFI Miso.Hydrate Miso.FFI.Internal Miso.Runtime exposed-modules: Miso Miso.Binding Miso.Canvas Miso.Concurrent Miso.Date Miso.Data.Map Miso.Data.Set Miso.Data.Array Miso.DSL Miso.Effect Miso.Event Miso.Event.Decoder Miso.Event.Types Miso.EventSource Miso.Fetch Miso.FFI Miso.Html Miso.Html.Element Miso.Html.Event Miso.Html.Property Miso.Html.Render Miso.JSON Miso.JSON.Lexer Miso.JSON.Parser Miso.JSON.Types Miso.Lens Miso.Mathml Miso.Mathml.Element Miso.Mathml.Property Miso.Media Miso.Navigator Miso.Prelude Miso.Property Miso.PubSub Miso.Random Miso.Router Miso.Reload Miso.Runtime.Internal Miso.State Miso.Subscription Miso.Subscription.History Miso.Subscription.Keyboard Miso.Subscription.Mouse Miso.Subscription.Window Miso.Subscription.OnLine Miso.Subscription.Util Miso.Svg Miso.Svg.Property Miso.Svg.Element Miso.Svg.Event Miso.Storage Miso.String Miso.CSS Miso.CSS.Color Miso.CSS.Types Miso.Types Miso.Util Miso.Util.Lexer Miso.Util.Parser Miso.WebSocket -- Live reload (meant for WASM or Vanilla) c-sources: cbits/foreign.c -- FFI declarations if arch(javascript) || impl(ghcjs) hs-source-dirs: ffi/js build-depends: ghcjs-base -any if impl(ghcjs) build-depends: ghcjs-prim elif arch(wasm32) hs-source-dirs: ffi/wasm build-depends: ghc-experimental, template-haskell >= 2.21 && < 2.25 exposed-modules: Miso.DSL.TH Miso.DSL.TH.File other-modules: Data.JSString else hs-source-dirs: ffi/ghc if flag (template-haskell) && !impl(ghcjs) exposed-modules: Miso.Lens.TH Miso.String.QQ Miso.FFI.QQ build-depends: template-haskell >= 2.21 && < 2.25 ghc-options: -Wall hs-source-dirs: src build-depends: base < 5, bytestring < 0.13, containers < 0.9, transformers < 0.7, mtl < 2.4, text < 2.2