-
-
Notifications
You must be signed in to change notification settings - Fork 143
/
Copy pathmiso.cabal
212 lines (197 loc) · 4.58 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
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
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 <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
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 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/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
if flag(production)
cpp-options:
-DPRODUCTION
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)
if flag(production)
js-sources:
js/miso.prod.js
else
js-sources:
js/miso.js
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 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.Fetch
Miso.FFI
Miso.FFI.History
Miso.FFI.SSE
Miso.FFI.Storage
Miso.FFI.WebSocket
Miso.FFI.Internal
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.Lens
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,