1.1.6 • Published 5 years ago

execution-environment v1.1.6

Weekly downloads
80
License
Apache-2.0
Repository
github
Last release
5 years ago

execution-environment

Build Status devDependency Status devDependency Status

This module serves as a helper to expose the current execution environment by reading NODE_ENV environment variable.

Installation

$ npm install execution-environment --save

Example 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

  1. isDev: 'dev', 'development'
  2. isTest: 'test'
  3. 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;
1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

9 years ago

1.0.2

9 years ago