npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

enforcer-env

v0.1.2

Published

**A NodeJS package for validating environment variables**

Downloads

3

Readme

Env Enforcer

A NodeJS package for validating environment variables

Env Enforcer is a NodeJS package that allows you to validate environment variables defined in your .env file. It can help you ensure that all the variables your application needs are set before it starts.

Installation

npm install enforcer-env

Usage

import envEnforcer from 'enforcer-env';

const envs = ['NODE_ENV', 'PORT'];

envEnforcer(envs, {
  shouldExit: true,
  template: '%e is not set. Please set it in your .env file.',
});

Examples

Example 1: Checking for required environment variables

Suppose you have a NodeJS application that requires two environment variables, NODE_ENV and PORT. You can use Env Enforcer to check for the existence of these variables before starting your application:

import envEnforcer from 'enforcer-env';

const envs = ['NODE_ENV', 'PORT'];

envEnforcer(envs, {
  shouldExit: true,
});

If either of these variables is not set, Env Enforcer will print an error message and terminate the application with exit code 1.

Example 2: Using optional environment variables

You can also use Env Enforcer to check for optional environment variables. For example, suppose your application has a database but it can be used in a read-only mode if the DATABASE_URL environment variable is not set:

import envEnforcer from 'enforcer-env';

const envs = [
  {
    name: 'DATABASE_URL',
    optional: true,
  },
];

envEnforcer(envs, {
  shouldExit: false,
  template: '%e is not set. Using read-only mode.',
});

If the DATABASE_URL variable is not set, Env Enforcer will print a message indicating that the database will be used in read-only mode.

Options

Env Enforcer provides two optional options:

  • shouldExit: (default: true) If this option is true, Env Enforcer will terminate the application with exit code 1 if any errors are encountered. If false, it will only print an error message and allow the application to continue running.
  • template: (default: %e is not set. Please set it in your .env file.) You can use this option to customize the error message that Env Enforcer prints.

Use cases

Env Enforcer can be used for various purposes, including:

  • Checking for the existence of environment variables required for your application
  • Ensuring that environment variables have valid values
  • Preventing your application from starting if environment variables are not set correctly

Contributing

Env Enforcer is an open-source project and you can contribute to its development by submitting pull requests.

License

Env Enforcer is released under the MIT license.

Further examples

Here are some further examples of how Env Enforcer can be used:

  • Checking for a specific value for an environment variable:
import envEnforcer from 'enforcer-env';

const envs = [
  {
    name: 'NODE_ENV',
  },
];

envEnforcer(envs, {
  shouldExit: true,
});
  • Checking for multiple environment variables with different options:
import envEnforcer from 'enforcer-env';

const envs = [
  {
    name: 'NODE_ENV',
    optional: true,
  },
  {
    name: 'PORT',
  },
];

envEnforcer(envs, {
  shouldExit: false,
  template: '%e is not set. Using default value of %v.',
});
  • Using Env Enforcer with a custom logger:
import envEnforcer from 'enforcer-env';

const logger = (message: string) => {
  console.error(message);
};

envEnforcer(['NODE_ENV', 'PORT'], {
  shouldExit: true,
  logger,
});

I hope this helps!