JSPM

  • Created
  • Published
  • Downloads 2631
  • Score
    100M100P100Q113419F
  • License Apache-2.0

Robust Environment Configuration for Universal Applications.

Package Exports

  • universal-dotenv

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (universal-dotenv) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Universal DotEnv
Sponsored by Version Downloads Build Status Unix Build Status Windows Dependencies Tested with Jest

Universal DotEnv - A Robust Environment Configuration for Universal Applications.

Features

  • Supports loading .env files with overriding between different NODE_ENV settings and BUILD_TARGET configurations.
  • Serializes all APP_ prefixed environment variables for usage as raw, stringified or webpack (for DefinePlugin)
  • Supports variable expansion between different settings.
  • Allows local overrides using files which use a ".local" postfix.

Variables

  • NODE_ENV: Typically either production, development or test
  • BUILD_TARGET: Either client or server

File Priority

Files are being loaded in this order. Values which are already set are never overwritten. Command line environment settings e.g. via cross-env always win.

  • .env.${BUILD_TARGET}.${NODE_ENV}.local
  • .env.${BUILD_TARGET}.${NODE_ENV}
  • .env.${BUILD_TARGET}.local
  • .env.${BUILD_TARGET}
  • .env.${NODE_ENV}.local
  • .env.${NODE_ENV}
  • .env.local
  • .env

Note: local files without NODE_ENV are not respected when running in NODE_ENV=test.

Basic Usage

All loading features are enabled by importing the core module itself:

import "dotenv-universal"

After this you can access all environment settings you have defined in one of your .env files.

console.log(process.env.APP_MY_ENV)

Serialization

The module offers access to all app specific environment settings which should be prefixed with APP_ e.g. APP_TITLE = "My App".

import { getEnvironment } from "dotenv-universal"

// This also loads all environment specific settings into `process.env`

const { raw, stringified, webpack } = getEnvironment()

Return values:

  • raw: Just a plain JS object containing all app settings
  • stringified: Plain object but with JSON stringified values
  • webpack: For usage with Webpacks Define Plugin

License

Apache License Version 2.0, January 2004

Sebastian Software GmbH Logo

Copyright 2018
Sebastian Software GmbH