-
Notifications
You must be signed in to change notification settings - Fork 22
/
ede.cabal
133 lines (122 loc) · 4.03 KB
/
ede.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
cabal-version: 2.2
name: ede
version: 0.3.3.0
synopsis:
Templating language with similar syntax and features to Liquid or Jinja2.
homepage: http://github.com/brendanhay/ede
license: MPL-2.0
license-file: LICENSE
author: Brendan Hay
maintainer: Brendan Hay <brendan.g.hay@gmail.com>
copyright: Copyright (c) 2013-2022 Brendan Hay
stability: Experimental
category: Text, Template, Web
build-type: Simple
description:
ED-E is a templating language written in Haskell with a specific set of features:
.
* Logicless within reason. A small set of consistent predicates
and expressions for formatting and presentational logic are provided.
.
* Secure. No arbitrary code evaluation, with input data required to be fully specified
at render time.
.
* Stateless. Parsing and rendering are separate steps so that loading, parsing,
include resolution, and embedding of the compiled template can optionally be
done ahead of time, amortising cost.
.
* Markup agnostic. ED-E is used to write out everything from configuration files for
system services, to HTML and formatted emails.
.
* Control over purity. Users can choose pure or IO-based resolution of
@include@ expressions.
.
* No surprises. All parsing, type assurances, and rendering steps report helpful
error messages with line/column metadata. Variable shadowing, unprintable expressions,
implicit type coercion, and unbound variable access are all treated as errors.
extra-source-files: README.md
data-files:
test/resources/*.ede
test/resources/*.golden
source-repository head
type: git
location: git://github.com/brendanhay/ede.git
flag AttoparsecAeson
description: Build attoparsec-aeson.
common base
default-language: Haskell2010
ghc-options:
-Wall -funbox-strict-fields -fwarn-incomplete-uni-patterns
-fwarn-incomplete-record-updates -fwarn-unused-packages
build-depends: base >=4.13 && <5
autogen-modules: Paths_ede
other-modules: Paths_ede
library
import: base
hs-source-dirs: lib
exposed-modules:
Text.EDE
Text.EDE.Filters
Text.EDE.Internal.AST
Text.EDE.Internal.Compat
Text.EDE.Internal.Eval
Text.EDE.Internal.Filters
Text.EDE.Internal.Parser
Text.EDE.Internal.Quoting
Text.EDE.Internal.Syntax
Text.EDE.Internal.Types
build-depends:
, aeson >=1.4
, bytestring >=0.10.4
, comonad >=4.2
, directory >=1.2
, filepath >=1.2
, free >=4.8
, lens >=4.0
, mtl >=2.1.3.1
, parsers >=0.12.1.1
, prettyprinter >=1.7
, prettyprinter-ansi-terminal >=1.1
, scientific >=0.3.1
, text >=1.2
, text-manipulate >=0.1.2
, trifecta >=2.1
, unordered-containers >=0.2.3
, vector >=0.7.1
executable ede
import: base
hs-source-dirs: app
main-is: Main.hs
ghc-options: -threaded -rtsopts -with-rtsopts=-A128m
build-depends:
, attoparsec >=0.13
, bytestring >=0.10.4
, ede
, optparse-applicative >=0.18
, prettyprinter >=1.7
, prettyprinter-ansi-terminal >=1.1
, text >=1.2
, unordered-containers >=0.2.3
if flag(AttoparsecAeson)
build-depends:
, aeson >=2.2
, attoparsec-aeson >=2.2
else
build-depends:
, aeson >=1.4
test-suite tests
import: base
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
ghc-options: -threaded
build-depends:
, aeson
, bifunctors
, bytestring
, directory
, ede
, filepath
, tasty
, tasty-golden
, text