1.0.4 • Published 5 years ago

dotenv-plus-options v1.0.4

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

Build Status

dotenv-plus-options

This module loads environment variables from a .env file, if there is one .env file at CWD, (with dotenv package) and any options given to the constructor, mixing it all into config.options

Constructor options always takes preference over options from .env file.

Install

$> npm i dotenv-plus-options

Prerequisites

  • NodeJs >=v6.17.1 (npm v3.10.10)

Usage

Instantiate Config module

const {Config} = require('dotenv-plus-options');
let config;

config = new Config();
config = new Config(options);
config = new Config(options, dotenv_options);
config = new Config(null, dotenv_options);

console.log(config.options);

Example Extends Config Class

/**
 .env file on CWD:
 DB_USER=John
 ALLOWED=["foo", "bar"]
 OBJ={"id": 1, "op": ["one","two"]}
 */

const {Config} = require('dotenv-plus-options');

class App extends Config {
    constructor(opt){
        super(opt)
    }
}

const app = new App({db_user: 'root', baz: 2});

console.log(app.options);

/**
 {
  db_user: 'root', //constructor options always takes preference
  allowed: [ 'foo', 'bar' ],
  obj: { id: 1, op: [ 'one', 'two' ] },
  baz: 2
  }
 */

dotenv options

Errors

Only one error is thrown, named AdsegConfigError when you force dotenv custom .env path and dotenv cannot parse it.

const {Config} = require('dotenv-plus-options');

config = new Config(options, {path: 'nonExistingEnvFile'});

//or

config = new Config(null, {path: 'nonExistingEnvFile'});

//throws AdsegConfigError

Tests

> npm run test

Dependencies

Contributing

Pull requests are welcome.

License

MIT

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago