execution-environment v1.1.6
execution-environment
This module serves as a helper to expose the current execution environment by reading NODE_ENV environment variable.
Installation
$ npm install execution-environment --saveExample usage
When writing a module, you may want to add conditional logic based on the execution environment. By default, the module sets default values for the dev, test and prod environments:
Default Values
- isDev: 'dev', 'development'
- isTest: 'test'
- isProd: 'prod', 'production'
var environment = require('environment');
var Ajax = {
get: function(method, path, params) {
if (environment.isTest()) {
throw new Error('Attempted to make a network call in the test environment. Shame!');
}
fetch(method, path, params);
}
};
module.exports = Ajax;When Ajax#get is executed in the test environment (defined by setting NODE_ENV=test), environment.isTest() will return true.
Additionally, custom environments and values can be registered on the environment module using registerEnvironments. The following code will register staging and canary environments, which will look for ['staging', 'stg'] and ['canary'] NODE_ENV values, respectively. Code that modifies the environment keys and values should live in a setup or config file rather modules that are require environment.
var environment = require('environment');
environment.registerEnvironments({
staging: ['staging', 'stg'],
canary: ['canary']
});Usage with custom environments
var environment = require('environment');
var Tracking = {
trackEvent: function(name, category, payload) {
if (environment.staging() || environment.canary()) {
return;
}
trackEsp(name, category, payload);
}
};
module.exports = Tracking;