]> Git — Sourcephile - haskell/literate-web.git/blob - literate-web.cabal
feat(live): init `Literate.Web.Live`
[haskell/literate-web.git] / literate-web.cabal
1 cabal-version: 3.0
2 name: literate-web
3 maintainer: mailto:literate-web@sourcephile.fr
4 bug-reports: https://mails.sourcephile.fr/inbox/literate-web
5 homepage: https://git.sourcephile.fr/literate-web.git
6 author: Julien Moutinho <julm+literate-web@sourcephile.fr>
7 copyright: Julien Moutinho <julm+literate-web@sourcephile.fr>
8 license: AGPL-3.0-or-later
9 license-file: LICENSES/AGPL-3.0-or-later.txt
10
11 -- PVP: +-+------- breaking API changes
12 -- | | +----- non-breaking API additions
13 -- | | | +--- code changes with no API change
14 version: 0.0.0.20240908
15 stability: experimental
16 category: Web
17 synopsis: Haskell-website compiler
18 description:
19 Exploring the design space of static, live and dynamic website generators
20 by using a domain-specific language (DSL)
21 embedded into the Haskell language.
22 .
23 Alternatives:
24 .
25 * <https://hackage.haskell.org/package/ema ema>
26
27 build-type: Simple
28 tested-with: GHC ==9.6.7
29 extra-doc-files: ChangeLog.md
30 extra-source-files:
31 .envrc
32 cabal.project
33 flake.lock
34 flake.nix
35 www/live-error.html
36 www/live-indicator.html
37 www/live-shim.js
38
39 extra-tmp-files:
40
41 source-repository head
42 type: git
43 location: git://git.sourcephile.fr/haskell/literate-web.git
44
45 common haskell-variant
46 default-language: Haskell2010
47 default-extensions:
48 BlockArguments
49 DataKinds
50 DefaultSignatures
51 DeriveDataTypeable
52 DeriveFunctor
53 DeriveGeneric
54 DerivingVia
55 FlexibleContexts
56 FlexibleInstances
57 GADTs
58 ImportQualifiedPost
59 LambdaCase
60 MultiParamTypeClasses
61 NamedFieldPuns
62 NoImplicitPrelude
63 NumericUnderscores
64 OverloadedStrings
65 RecordWildCards
66 ScopedTypeVariables
67 TupleSections
68 TypeApplications
69 TypeFamilies
70 TypeOperators
71 ViewPatterns
72
73 ghc-options:
74 -Wall -Wincomplete-record-updates -Wincomplete-uni-patterns
75 -Wmonomorphism-restriction -Wpartial-fields
76 -fprint-potential-instances
77
78 common library-deps
79 build-depends:
80 , async >=2.2
81 , base >=4.6 && <5
82 , bytestring >=0.10
83 , containers >=0.5
84 , directory >=1.3
85 , file-embed
86 , filepath >=1.4
87 , filepattern >=0.1
88 , ghc-prim
89 , hashable
90 , http-client >=0.6
91 , http-media >=0.7
92 , http-types
93 , monad-classes
94 , peano
95 , stm
96 , symantic-base >=0.5
97 , template-haskell
98 , text
99 , text-short
100 , transformers >=0.5
101 , unicode-transforms >=0.2
102 , unordered-containers
103 , uri-encode >=1.5
104 , wai
105 , wai-middleware-static
106 , wai-websockets
107 , warp
108 , websockets >=0.12
109
110 -- , reflection
111 -- , mvc
112 -- , mvc-updates
113 -- , pipes
114 -- , pipes-concurrency
115 -- , pipes-group
116 -- , pipes-parse
117 -- , pipes-safe
118
119 library
120 import: haskell-variant, library-deps
121 hs-source-dirs: src
122 exposed-modules:
123 Literate.Web
124 Literate.Web.Live
125 Literate.Web.Live.Asset
126 Literate.Web.Live.Common
127 Literate.Web.Live.HTTP
128 Literate.Web.Live.WebSocket
129 Literate.Web.Semantics.Addresser
130 Literate.Web.Semantics.Compiler
131 Literate.Web.Syntaxes
132 Literate.Web.Types.MIME
133 Literate.Web.Types.URL
134
135 --Literate.Web.Semantics.Server
136 --Literate.Web.Semantics.Client
137 --Literate.Web.Decoder
138 --Literate.Web.Encoder
139 --Literate.Web.Generator
140 --Literate.Web.MIME
141
142 -- library relactive
143 -- import: haskell-variant, library-deps
144 -- hs-source-dirs: src
145 -- build-depends:
146 -- , async
147 -- , contravariant >=1.5
148 -- , monad-classes
149 -- , stm
150 --
151 -- exposed-modules:
152 -- Control.Reactive
153 -- Control.Reactive.IORef
154 -- Control.Reactive.MVar
155 -- Control.Reactive.Relation
156 -- Control.Reactive.STRef
157 -- Control.Reactive.TVar
158 -- Control.Reactive.Value
159
160 test-suite literate-web-tests
161 -- library-deps is only to have ghcid reloaded on changes in src
162 import: haskell-variant, library-deps
163 type: exitcode-stdio-1.0
164 hs-source-dirs: tests
165 main-is: Main.hs
166 other-modules:
167 Examples.Ex01
168 Examples.Ex02
169 Examples.Ex03
170 Examples.Ex04
171 Examples.Ex05
172 Goldens
173 Paths_literate_web
174 Utils
175
176 autogen-modules: Paths_literate_web
177 build-depends:
178 , base >=4.6 && <5
179 , containers >=0.5
180 , literate-web
181 , monad-classes
182 , relude
183 , symantic-base >=0.5
184 , tasty >=0.11
185 , tasty-golden >=2.3
186 , tasty-hunit >=0.9
187 , text >=1.2
188 , transformers >=0.5
189
190 -- , relude >=1 && <2
191 -- benchmark time
192 -- import: haskell-variant, library-deps
193 -- type: exitcode-stdio-1.0
194 -- hs-source-dirs: benchmarks/time
195 -- main-is: Main.hs
196 -- build-depends:
197 -- , base >=4.6 && <5
198 -- --, relactive
199 -- , tasty
200 -- , tasty-bench
201 --
202 -- -- , relude >= 1
203 -- -- Set a larger allocation area (nursery)
204 -- -- to remove some noisiness of the garbage collection.
205 -- ghc-options: -with-rtsopts=-A32m
206 --
207 -- benchmark weigh
208 -- import: haskell-variant, library-deps
209 -- type: exitcode-stdio-1.0
210 -- hs-source-dirs: benchmarks/weigh src
211 -- build-depends:
212 -- , async
213 -- , contravariant >=1.5
214 -- , stm
215 --
216 -- main-is: Main.hs
217 -- build-depends:
218 -- , base >=4.6 && <5
219 -- , relude >=1
220 -- , weigh
221 --
222 -- executable async
223 -- import: haskell-variant, library-deps
224 -- hs-source-dirs: executables/async
225 -- main-is: Main.hs
226 -- build-depends:
227 -- , async
228 -- , base >=4.6 && <5
229 -- --, relactive
230 -- , relude
231 -- , symantic-base
232 -- , tasty
233 -- , tasty-bench
234 --
235 -- -- , relude >= 1
236 --
237 -- executable fsnotify
238 -- import: haskell-variant, library-deps
239 -- hs-source-dirs: executables/fsnotify
240 -- main-is: Main.hs
241 -- build-depends:
242 -- , async
243 -- , base >=4.6 && <5
244 -- , directory
245 -- , filepath
246 -- , fsnotify
247 -- --, relactive
248 -- , relude >=1
249 -- , symantic-base
250 -- , tasty
251 -- , tasty-bench
252 -- , time