packages feed

ede-0.3.3.0: ede.cabal

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-2020 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

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:
    , aeson                        >=1.4
    , attoparsec                   >=0.13
    , bytestring                   >=0.10.4
    , ede
    , optparse-applicative         >=0.11
    , prettyprinter                >= 1.7
    , prettyprinter-ansi-terminal  >=1.1
    , text                         >=1.2
    , unordered-containers         >=0.2.3

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