packages feed

elmental-0.1.0.2: elmental.cabal

cabal-version:      3.0

maintainer:         Gaël Deest
name:               elmental
version:            0.1.0.2

license:            BSD-3-Clause
synopsis: Generate Elm datatype definitions, encoders and decoders from Haskell datatypes.

description: Elmental is a code generator that takes in Haskell type definitions and generates Elm datatypes, along with Aeson-compatible encoders and decoders.
             It emphasizes flexibility, support for a large number of Haskell types, and integration into existing Elm codebases.

homepage:           https://github.com/gdeest/elmental
author:             Gaël Deest

category:           Codegen

extra-doc-files: CHANGELOG.md
extra-source-files:
  test-output/codegen/golden/*.txt
  test-output/extraction/golden/*.txt
source-repository head
  type: git
  location: https://github.com/gdeest/elmental.git

common warnings
    ghc-options:
      -- force all warnings to be on and selectively disable some
      -Weverything
      -Wno-unticked-promoted-constructors
      -Wno-unsafe
      -Wno-missing-import-lists
      -Wno-implicit-prelude
      -Wno-missing-safe-haskell-mode
      -Wno-missing-deriving-strategies
      -Wno-missing-local-signatures
      -Wno-monomorphism-restriction
      -Wno-safe
      -Wno-all-missed-specialisations
      -Wno-missing-kind-signatures
      -Wno-ambiguous-fields
      -Wno-missing-export-lists
      -Wunused-packages

library
    import: warnings
    hs-source-dirs:   src
    default-language: GHC2021

    exposed-modules:  Elmental
                      Elmental.ElmStructure
                      Elmental.Generate
 
    build-depends:    base >=4.16.4.0 && < 5.0,
                      containers >= 0.6.7 && < 0.8,
                      directory >= 1.3.7 && < 1.4,
                      filepath >= 1.4.2 && < 1.6,
                      kind-generics >= 0.5.0 && < 0.6,
                      neat-interpolation >= 0.5.1 && < 0.6,
                      text >= 2.0.2 && < 2.2,


test-suite elmental-test
    import: warnings
    hs-source-dirs:   test
    default-language: GHC2021

    type:             exitcode-stdio-1.0
    main-is:          Main.hs

    other-modules:    Codegen.SampleTypes
    build-depends:    base >=4.16.4.0 && < 5.0,
                      containers,
                      elmental,
                      text,
                      kind-generics-th < 0.3,
                      hspec,
                      hspec-golden,
                      pretty-show

executable generate-test-app-code
    import: warnings
    hs-source-dirs:   test
    default-language: GHC2021

    main-is:          GenerateMain.hs

    other-modules:    Codegen.SampleTypes
    build-depends:    base >=4.16.4.0 && < 5.0,
                      elmental,
                      text,
                      kind-generics-th < 0.3