load-env-0.2.1.0: Load environment variables from a file.

Safe Haskell | None
Language | Haskell2010

LoadEnv

Description

This is effectively a port of dotenv, whose README explains it best:

    Storing configuration in the environment is one of the tenets of a
    twelve-factor app. Anything that is likely to change between deployment
    environments–such as resource handles for databases or credentials for
    external services–should be extracted from the code into environment
    variables.

    But it is not always practical to set environment variables on development
    machines or continuous integration servers where multiple projects are run.
    dotenv loads variables from a .env file into ENV when the environment is
    bootstrapped.

https://github.com/bkeepers/dotenv

This library exposes functions for doing just that.

Synopsis

- loadEnv :: IO ()
- loadEnvFrom :: FilePath -> IO ()
- loadEnvFromAbsolute :: FilePath -> IO ()

# Documentation

loadEnv :: IO () Source #

    loadEnvFrom ".env"

loadEnvFrom :: FilePath -> IO () Source #

Parse the given file and set variables in the process's environment

Variables can be declared in the following form:

    FOO=bar
    FOO="bar"
    FOO='bar'

Declarations may optionally be preceded by `"export "`, which will be ignored. Trailing whitespace is ignored. Quotes inside quoted values or spaces in unquoted values must be escaped with a backlash. Invalid lines are silently ignored.

NOTE: If the file-name is relative, the directory tree will be traversed up to `/` looking for the file in each parent. Use ``loadEnvFromAbsolute`` to avoid this.

loadEnvFromAbsolute :: FilePath -> IO () Source #

``loadEnvFrom``, but don't traverse up the directory tree