packages feed

dotenv-0.11.0.1: dotenv.cabal

name:                dotenv
version:             0.11.0.1
synopsis:            Loads environment variables from dotenv files
homepage:            https://github.com/stackbuilders/dotenv-hs
description:
  .
  In most applications,
  <https://12factor.net/config configuration should be separated from code>.
  While it usually works well to keep configuration in the
  environment, there are cases where you may want to store
  configuration in a file outside of version control.
  .
  @Dotenv@ files have become popular for storing configuration,
  especially in development and test environments. In
  <https://github.com/bkeepers/dotenv Ruby>,
  <https://github.com/theskumar/python-dotenv Python> and
  <https://www.npmjs.com/package/dotenv JavaScript> there are libraries
  to facilitate loading of configuration options from configuration
  files. This library loads configuration to environment variables for
  programs written in Haskell.
  .
  To use, call `loadFile` from your application:
  .
  > import Configuration.Dotenv
  > loadFile defaultConfig
  .
  This package also includes an executable that can be used
  to inspect the results of applying one or more Dotenv files
  to the environment, or for invoking your executables with
  an environment after one or more Dotenv files is applied.
  .
  See the <https://github.com/stackbuilders/dotenv-hs#readme Github>
  page for more information on this package.
license:             MIT
license-file:        LICENSE
author:              Justin Leitgeb
maintainer:          hackage@stackbuilders.com
copyright:           2015-Present Stack Builders Inc.
category:            Configuration
build-type:          Simple
extra-source-files:    spec/fixtures/.dotenv
                     , CHANGELOG.md
                     , README.md
cabal-version:       >=1.10
bug-reports:         https://github.com/stackbuilders/dotenv-hs/issues

data-dir: spec/fixtures/
data-files:
  .dotenv
  .dotenv.example
  .dotenv.dup

flag static
  description:        Creates static binary.
  manual:             True
  default:            False

flag dev
  description:        Turn on development settings.
  manual:             True
  default:            False

executable dotenv
  main-is:             Main.hs
  build-depends:         base >= 4.9 && < 5.0
                       , base-compat >= 0.4
                       , dotenv
                       , optparse-applicative >= 0.11 && < 0.18
                       , megaparsec
                       , process
                       , text
  other-modules: Paths_dotenv

  hs-source-dirs:      app
  if flag(static)
    ghc-options:      -Wall -Werror
    ld-options:       -static -pthread
  if flag(dev)
    ghc-options:      -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  default-language:    Haskell2010

library
  exposed-modules:       Configuration.Dotenv
                       , Configuration.Dotenv.Internal
                       , Configuration.Dotenv.Environment
  other-modules:         Configuration.Dotenv.Parse
                       , Configuration.Dotenv.ParsedVariable
                       , Configuration.Dotenv.Text
                       , Configuration.Dotenv.Types

  build-depends:         base >= 4.9 && < 5.0
                       , directory
                       , megaparsec >= 7.0.1 && < 10.0
                       , containers
                       , process >= 1.6.3.0 && < 1.7
                       , shellwords >= 0.1.3.0
                       , text
                       , exceptions >= 0.8 && < 0.11
                       , mtl >= 2.2.2 && < 2.4
                       , data-default-class >= 0.1.2 && < 0.2

  hs-source-dirs:      src
  ghc-options:         -Wall
  if flag(dev)
    ghc-options:      -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  default-language:    Haskell2010

test-suite dotenv-test
  type: exitcode-stdio-1.0
  hs-source-dirs: spec
  main-is: Spec.hs
  other-modules:         Configuration.DotenvSpec
                       , Configuration.Dotenv.TextSpec
                       , Configuration.Dotenv.ParseSpec

  build-depends:       base >= 4.9 && < 5.0
                     , dotenv
                     , megaparsec
                     , hspec
                     , process
                     , text
                     , hspec-megaparsec >= 2.0 && < 3.0

  build-tools:        hspec-discover   >= 2.0 && < 3.0

  if flag(dev)
    ghc-options:      -Wall -Werror
  else
    ghc-options:      -O2 -Wall
  default-language:    Haskell2010

source-repository head
  type:     git
  location: git@github.com:stackbuilders/dotenv-hs.git