-
-
Notifications
You must be signed in to change notification settings - Fork 141
/
Copy pathmiso.cabal
193 lines (179 loc) · 4.23 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
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
cabal-version: 2.2
name: miso
version: 1.9.0.0
category: Web, Miso, Data Structures
license: BSD-3-Clause
license-file: LICENSE
author: David M. Johnson <[email protected]>
maintainer: David M. Johnson <[email protected]>
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
synopsis: A tasty Haskell front-end web framework
description:
Miso is a small, production-ready, component-oriented, 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 GHC FFI and therefore has minimal dependencies.
extra-source-files:
README.md
source-repository head
type: git
location: https://github.com/dmjio/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:
-DNATIVE
common js-only-tests
if !(impl(ghcjs) || arch(javascript)) || !flag(tests)
buildable: False
common string-selector
if impl(ghcjs) || arch(javascript) || flag (jsstring-only) || arch(wasm32)
hs-source-dirs:
jsstring-src
else
hs-source-dirs:
text-src
common jsaddle
if !(impl(ghcjs) || arch(javascript) || arch(wasm32))
build-depends:
jsaddle-warp < 0.10
if !(impl(ghcjs) || arch(javascript))
build-depends:
file-embed < 0.1
if arch(wasm32)
build-depends:
jsaddle-wasm < 0.2
common client
if impl(ghcjs) || arch(javascript)
build-depends:
ghcjs-base -any
if impl(ghcjs) || arch(javascript) || arch(wasm32)
js-sources:
js/miso.js
flag tests
manual:
True
default:
False
description:
Builds Miso's tests
flag jsstring-only
manual:
True
default:
False
description:
Always set MisoString = JSString
executable tests
import:
js-only-tests, cpp
default-language:
Haskell2010
main-is:
Main.hs
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
library
import:
string-selector,
jsaddle,
client,
cpp
default-language:
Haskell2010
other-modules:
Miso.Concurrent
Miso.Delegate
Miso.Diff
Miso.Effect
Miso.Event
Miso.Event.Decoder
Miso.Event.Types
Miso.Exception
Miso.FFI
Miso.FFI.History
Miso.FFI.SSE
Miso.FFI.Storage
Miso.FFI.WebSocket
Miso.Html
Miso.Html.Element
Miso.Html.Event
Miso.Html.Property
Miso.Html.Types
Miso.Internal
Miso.Mathml
Miso.Mathml.Element
Miso.Render
Miso.Router
Miso.Run
Miso.Storage
Miso.Subscription
Miso.Subscription.History
Miso.Subscription.Keyboard
Miso.Subscription.Mouse
Miso.Subscription.WebSocket
Miso.Subscription.Window
Miso.Subscription.SSE
Miso.Svg.Attribute
Miso.Svg.Element
Miso.Svg.Event
Miso.Types
Miso.Util
Miso.WebSocket
exposed-modules:
Miso
Miso.Svg
Miso.String
ghc-options:
-Wall
hs-source-dirs:
src
build-depends:
aeson < 2.3,
base < 5,
bytestring < 0.13,
containers < 0.9,
http-api-data < 0.9,
http-media < 0.9,
http-types < 0.13,
jsaddle < 0.10,
mtl < 2.4,
network-uri < 2.7,
servant < 0.21,
tagsoup < 0.15,
text < 2.2,
transformers < 0.7,