12factor-dotenv

    0.1.6 • Public • Published

    12factor-dotenv

    npm version Build Status

    NPM downloads

    Automagically Load Dotenv Files (.env)

    This module looks for .env files loads them with node-env-file and returns a 12factor-config

    Features

    • relative to parent module
      • note: Parent module is one that requires 12factor-dotenv
    • loads .env files in an ascending relative path:
      • ./
      • ../
      • ../../

    Install

    npm install 12factor-dotenv --save

    Config schema

    This module uses 12factor-config to manage a config schema, for configuration support, Read More Here

    Usage

    in a single config file (obey 12factor and unify your config location), do something like:

    // in ./app/lib/config.js
    
    var config = require('12factor-dotenv');
    var schema = {
        DEBUG: {
            env: 'DEBUG', // the environment export var to read
            type: 'boolean', // config var type (string, integer, boolean - maybe more see 12factor-config)
            default: false
        },
        PORT: {
            env: 'PORT',
            type: 'integer',
            default: 4000
        },
        MY_CUSTOM_VAR: {
            env: 'MY_LOCAL_ENVIRONMENT_EXPORT_VAR',
            type: 'string'
        },
        NODE_ENV: {
            env: 'NODE_ENV',
            type: 'string',
            default: 'development'
        }
    };
    
    var cfg = config(schema, { debug: true, env: { overwrite: true } });
    
    ## See https://www.npmjs.com/package/node-env-file#api for more details on `env` options
    
    console.log('info: -- PORT is', cfg.PORT);
    console.log('info: -- NODE_ENV is', cfg.NODE_ENV);
    
    console.log('debug: -- ENV Debug is', process.env.DEBUG);
    console.log('debug: -- ENV Port is', process.env.PORT);
    
    console.log('info: < Configured.');
    
    module.exports = exports = cfg;
    
    

    now var cfg = require('./path/to/app/lib/config.js'); wherever you want your unified config - and keep .env(s) updated per environment.

    Note!

    This package also loads native process.env variables, when parsing .env files

    Install

    npm i 12factor-dotenv

    DownloadsWeekly Downloads

    5

    Version

    0.1.6

    License

    none

    Last publish

    Collaborators

    • electblake