1.0.4 • Published 2 years ago

@jsdotenv/autoload v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

dotenv

A Javascript (nodejs) port of the Go dotenv project (which loads env vars from a .env file).

From the original Library:

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 load variables from a .env file into ENV when the environment is bootstrapped.

It can be used as a library (for loading in env for your own daemons etc.)

Installation

npm i @jsdotenv/core

Usage

Add your application configuration to your .env file in the root of your project:

S3_BUCKET=YOURS3BUCKET
SECRET_KEY=YOURSECRETKEYGOESHERE

Then in your Nodejs app you can do something like

import dotenv from "@jsdotenv/core";

dotenv.load(__dirname + "/.env");
console.log(process.env["S3_BUCKET"]);

If you're even lazier than that, you can just take advantage of the autoload package which will read in .env on import

import dotenvAuto from "@jsdotenv/autoload";

While .env in the project root is the default, you don't have to be constrained, both examples below are 100% legit

If you want to be really fancy with your env file you can do comments and exports (below is a valid env file)

# I am a comment and that is OK
SOME_VAR=someval
FOO=BAR # comments at line end are OK too
export BAR=BAZ

Or finally you can do YAML(ish) style

FOO: bar
BAR: baz