@ringofstorms/dotenv-multi v0.2.0
dotenv-multi
Dotenv-multi is a module that uses dotenv and dotenv-expand to load files similarly to Create React App script's. It allows the use of NODE_ENV and local specific env files.
This is useful because now you can commit your default env files into the repo and still have a sane way to override them locally without having changes in your local git on one .env file.
Example root files:
.env
.env.development
.env.development.local (not pushed to git)Install
# with npm
npm install @ringofstorms/dotenv-multi dotenv dotenv-expand ynUsage
# js
const dotenvMulti = require('@ringofstorms/dotenv-multi');
dotenvMulti.config();# typescript
import { config } from '@ringofstorms/multi-env';
config();Boolean support
This package also uses the yn package to convert environment variables into javascript strings that will resolve as true false. (It replaces values like 0, no, false, etc into an empty string "")
config({
convertToBooleanPredicate: variable => variable.includes("BOOL"),
/* and or */ convertToBoolean: ["BOOL_VARIABLE_TO_CONVERT"]
});Debug
You can enable debug logs which will also enable debug mode on dotenv calls to see what is going on when a variable does not resolve how you expect.
config({
debug: true,
});Configuring .gitignore
You should add the following to your .gitignore file:
# .env local files
.env.development.local
.env.local
.env.production.local
.env.test.localContributing
building
npm run build
publishing
if not already done npm login
npm publish --access public