-
-
Notifications
You must be signed in to change notification settings - Fork 141
/
Copy pathmiso.cabal
184 lines (170 loc) · 3.96 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
cabal-version: 2.2
name: miso
version: 1.8.7.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, "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
source-repository head
type: git
location: https://github.com/dmjio/miso.git
common js-only-tests
if !(impl(ghcjs) || arch(javascript)) || !flag(tests)
buildable: False
common jsaddle-selector
if arch(wasm32)
build-depends:
jsaddle-wasm
else
build-depends:
jsaddle-warp
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 server
if !(impl(ghcjs) || arch(javascript))
build-depends:
servant-lucid
common client
if impl(ghcjs) || arch(javascript)
build-depends:
ghcjs-base
if impl(ghcjs) || arch(javascript) || arch(wasm32)
js-sources:
jsbits/diff.js
jsbits/delegate.js
jsbits/isomorphic.js
jsbits/util.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
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:
jsaddle-selector,
string-selector,
server,
client
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.Runner
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
Miso.Concurrent
-- dmj: see if common-stanzas can suport 'exposed-modules'
if !(impl(ghcjs) || arch(javascript))
exposed-modules:
Miso.TypeLevel
ghc-options:
-Wall
hs-source-dirs:
src
build-depends:
aeson,
base < 5,
bytestring,
containers,
file-embed,
http-api-data,
http-types,
jsaddle,
lucid,
network-uri,
servant,
tagsoup,
text,
transformers