node-env-type
v0.0.8
Published
NodeJS Environment Type detection.
Downloads
87,724
Maintainers
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 whenNODE_ENV
includestest
ortst
, but also whenisUAT
,isSIT
orisCI
is set, because all those environments are essentially for testing.isProd
- set not only whenNODE_ENV
includesprod
, but also whenNODE_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 tofalse
.
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
}