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

node-env-type

v0.0.8

Published

NodeJS Environment Type detection.

Downloads

87,724

Readme

node-env-type

Easy detection of NodeJS environment type from NODE_ENV variable.

This library is 100% compatible with the standard development/test/production approach, with a friendlier interface, while also supporting a more verbose syntax, to allow for a flexible environment configuration.

Installing

$ npm i node-env-type

Usage

  • In TypeScript:
import {env} from 'node-env-type';

if(env.isDev) {
 // this is a DEV environment
}
  • In JavaScript:
const {env} = require('node-env-type');

if(env.isProd) {
 // this is a PROD environment
}

Environment Flags

Table below explains available flags and when they are set.

| Flag | Environment | Condition | |:--------:|:--------------------------:|:-----------| | isDev | Development | NODE_ENV includes dev (case-insensitive) | | isUAT | User Acceptance Testing | NODE_ENV includes uat (case-insensitive) | | isSIT | System Integration Testing | NODE_ENV includes sit (case-insensitive) | | isCI | Continuous Integration | NODE_ENV includes ci (case-insensitive) | | isTest | General Testing | NODE_ENV includes any of: test, tst, uat, sit, ci (case-insensitive)| | isProd | Production | NODE_ENV includes prod (case-insensitive), or not set at all. |

Flags are tested in the order as shown in the table, to use only the first one found, in case there's a conflict.

Special Cases

  • isTest - set not only when NODE_ENV includes test or tst, but also when isUAT, isSIT or isCI is set, because all those environments are essentially for testing.
  • isProd - set not only when NODE_ENV includes prod, but also when NODE_ENV is not set at all, i.e. when environment is not configured, we should assume it to be production.
  • When NODE_ENV is set to something we cannot recognize at all, each flag is set to false.

API

The only API available other than the environment flags is function refresh, in case you want to refresh flags from the environment without restarting the process.

import {env} from 'node-env-type';

if(env.refresh()) {
    // successfully recognized the environment;
    // each flag updated from NODE_ENV
} else {
    // failed to recognize the environment;
    // each flag is set to false
} 

And if, for some reasons, you decide to read configuration from a different place, rather than the standard NODE_ENV, you can pass such optional string to the function:

const otherVar = 'dev1.pc'; // just some other value

if(env.refresh(otherVar)) {
    // successfully recognized the environment;
    // each flag updated from otherVar
} else {
    // failed to recognize the environment;
    // each flag is set to false
}