📦 https://www.npmjs.com/package/valenvProcess environment checking utility with value validation
npm install valenv --save-dev
-
require("valenv").NODE_ENV
variable allowsprocess.env.NODE_ENV
to be one of these:"development"
,"production"
or"test"
. -
If it is
undefined
or something else, checking it will cause an error.
It's purely a development tool.
Use it where process.env.NODE_ENV
should be set (webpack.config.js
, babel.config.js
or other development scripts).
Don't use it in a code that will get bundled to enable/disable some parts of code.
const NODE_ENV = require("valenv").NODE_ENV;
// Set it like this, via CLI...
process.env.NODE_ENV = "development";
// or just set it like this
NODE_ENV.value = "development";
NODE_ENV.value;
// => "development"
NODE_ENV.is("development");
// => true
NODE_ENV.is("production");
// => false
NODE_ENV.isDev();
// => true
NODE_ENV.isProd();
// => false
NODE_ENV.isTest();
// => false
NODE_ENV.value = "production";
NODE_ENV.is("development");
// => false
const NODE_ENV = require("valenv").NODE_ENV;
NODE_ENV.value;
// => Was undefined, shows error and terminates app
NODE_ENV.is("development");
// => Was undefined, shows error and terminates app
NODE_ENV.isDev();
// => Was undefined, shows error and terminates app
NODE_ENV.value = "wrong";
// => Not allowed value, shows error and terminates app
You can create your own checkers for any environment variable.
const valenv = require("valenv");
const YOUR_VAR = valenv(
// will check process.env["YOUR_VAR"]
"YOUR_VAR",
// list of allowed values
["value1", "value2"],
// If true will terminate process on error
true
);
process.env.YOUR_VAR = "value1";
YOUR_VAR.is("value1");
// => true
YOUR_VAR.is("value2");
// => false
YOUR_VAR.value = "value2";
YOUR_VAR.is("value2");
// => true
YOUR_VAR.value = "value3";
// => Not allowed value, shows error and terminates app