valenv

Customizable process.env checker with NODE_ENV preset. Has a value validation feature.

Usage no npm install needed!

<script type="module">
  import valenv from 'https://cdn.skypack.dev/valenv';
</script>

README

Logo

Process environment checking utility with value validation

Console output example 📦 https://www.npmjs.com/package/valenv

Install

npm install valenv --save-dev

Usage A - Development NODE_ENV checker

  • require("valenv").NODE_ENV variable allows process.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.

Where to use?

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.

Example 1

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

Example 2 (Errors)

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

Usage B - Your own checker

You can create your own checkers for any environment variable.

Example

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