-
-
Notifications
You must be signed in to change notification settings - Fork 139
/
miso.cabal
173 lines (165 loc) · 3.84 KB
/
miso.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
name: miso
version: 1.8.5.0
category: Web, Miso, Data Structures
license: BSD3
license-file: LICENSE
author: David M. Johnson <code@dmj.io>
maintainer: David M. Johnson <code@dmj.io>
homepage: http://github.com/dmjio/miso
copyright: Copyright (c) 2016-2025 David M. Johnson
bug-reports: https://github.com/dmjio/miso/issues
build-type: Simple
extra-source-files: README.md
cabal-version: 1.22
synopsis: A tasty Haskell front-end web framework
description:
Miso is a small, production-ready, "isomorphic" Haskell front-end 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, Redux and Bobril. Miso is pure by default, but side 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
flag tests
default:
False
description:
Builds Miso's tests
flag jsaddle
manual: True
default:
False
description:
Compile with JSaddle
flag ios
manual: True
default:
False
description:
Cross compile to iOS
flag jsstring-only
manual: True
default:
False
description:
Always set MisoString = JSString
executable tests
main-is:
Main.hs
if !(impl(ghcjs) || arch(javascript)) || !flag(tests)
buildable: False
else
ghcjs-options:
-dedupe
cpp-options:
-DGHCJS_BROWSER
hs-source-dirs:
tests
build-depends:
aeson,
base < 5,
bytestring,
ghcjs-base,
QuickCheck,
quickcheck-instances,
miso,
http-types,
network-uri,
http-api-data,
containers,
scientific,
servant,
text,
unordered-containers,
transformers,
vector
default-language:
Haskell2010
library
default-language:
Haskell2010
exposed-modules:
Miso
Miso.Util
Miso.Dev
Miso.Html
Miso.Html.Element
Miso.Html.Event
Miso.Html.Property
Miso.Html.Types
Miso.Delegate
Miso.Diff
Miso.Event
Miso.Event.Decoder
Miso.Event.Types
Miso.Router
Miso.Effect
Miso.Effect.Storage
Miso.Effect.DOM
Miso.FFI
Miso.FFI.History
Miso.FFI.SSE
Miso.FFI.Storage
Miso.FFI.WebSocket
Miso.JSBits
Miso.Subscription
Miso.Subscription.History
Miso.Subscription.Keyboard
Miso.Subscription.Mouse
Miso.Subscription.WebSocket
Miso.Subscription.Window
Miso.Subscription.SSE
Miso.Svg
Miso.Svg.Attribute
Miso.Svg.Element
Miso.Svg.Event
Miso.Types
Miso.Mathml
Miso.Mathml.Element
Miso.String
Miso.WebSocket
if !(impl(ghcjs) || arch(javascript))
exposed-modules:
Miso.TypeLevel
other-modules:
Miso.Concurrent
ghc-options:
-Wall
hs-source-dirs:
src
if impl(ghcjs) || arch(javascript) || flag (jsstring-only)
hs-source-dirs:
jsstring-src
else
hs-source-dirs:
text-src
build-depends:
aeson,
base < 5,
bytestring,
containers,
file-embed,
http-api-data,
http-types,
jsaddle,
lucid,
network-uri,
servant,
tagsoup,
text,
transformers
if impl(ghcjs) || arch(javascript)
build-depends:
ghcjs-base
else
build-depends:
servant-lucid
if impl(ghcjs) || arch(javascript) || flag (jsaddle)
if flag (ios)
cpp-options:
-DIOS
if impl(ghcjs) || arch(javascript)
js-sources:
jsbits/diff.js
jsbits/delegate.js
jsbits/isomorphic.js
jsbits/util.js
source-repository head
type: git
location: https://github.com/dmjio/miso.git