Parse and load environment files (containing ENV variable exports) into Node.js environment, i.e. `process.env`.
JavaScript Makefile
Latest commit 73cbf9c Jan 5, 2016 @grimen travis ci: node versions

README.md

NODE-ENV-FILE Build Status

Parse and load environment files (containing ENV variable exports) into Node.js environment, i.e. process.env.

Example

.env

  # some env variables

  FOO=foo1
  BAR=bar1
  BAZ=1
  QUX=
  # QUUX=

.env2

  # some env variables using exports syntax

  exports FOO=foo2
  exports BAR=bar2
  exports BAZ=2
  exports QUX=
  # exports QUUX=

index.js

  var assert = require('assert');
  var env = require('node-env-file');

  process.env.FOO = "defaultfoo";

  // Load any undefined ENV variables from a specified file.
  env(__dirname + '/.env');
  assert.equal(process.env.FOO, "defaultfoo");
  assert.equal(process.env.BAR, "bar1");
  assert.equal(process.env.BAZ, "1");
  assert.equal(process.env.QUX, "");
  assert.equal(process.env.QUUX, undefined);

  // Load another ENV file - and overwrite any defined ENV variables.
  env(__dirname + '/.env2', {overwrite: true});
  assert.equal(process.env.FOO, "foo2");
  assert.equal(process.env.BAR, "bar2");
  assert.equal(process.env.BAZ, "2");
  assert.equal(process.env.QUX, "");
  assert.equal(process.env.QUUX, undefined);

  // Load any undefined ENV variables from a specified file, but don't crash if the file doesn't exist
  // Usefull for testing env vars in development, but using "real" env vars in production
  envfile(__dirname + '/.env', {raise: false});

API

  • (filepath)

    env('./path/to/.env');
  • (filepath, options)

    env('./path/to/.env', {verbose: true, overwrite: true, raise: false, logger: console});

Installation

  $ npm install node-env-file

Test

Local tests:

  $ make test

Examples

Local examples:

  $ make example

Related Libraries

License

Released under the MIT license.

Copyright (c) Jonas Grimfelt

Bitdeli Badge