Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

karma-env-preprocessor

jsok88.8kMIT0.1.1TypeScript support: definitely-typed

A Karma plugin to read environment variables and make them available inside your tests.

karma-plugin, karma-preprocessor, environment-variables

readme

karma-env-preprocessor

Preprocessor which makes environment variables available to your tests.

Installation

The easiest way is to keep karma-env-preprocessor as a devDependency in your package.json.

{
  "devDependencies": {
    "karma": "~0.10",
    "karma-env-preprocessor": "~0.1"
  }
}

You can simple do it by:

npm install karma-env-preprocessor --save-dev

Configuration

Any files you preprocess using this plugin will be affected, e.g for all JavaScript files:

// karma.conf.js
module.exports = function(config) {
  config.set({
    preprocessors: {
      '**/*.js': ['env']
    },

    envPreprocessor: [
      'PATH',
      'HOME'
    ]
  });
};

How does it work ?

This preprocessor uses process.env to read the value of each environment variable specified in envPreprocessor and publishes them in the global window.__env__, so you can read these values in your tests.

For example, the above configuration will be served as:

window.__env__ = window.__env__ || []
window.__env__['PATH'] = '/usr/sbin:/usr/bin:/sbin:/bin';
window.__env__['HOME'] = '/home/jsok';

For more information on Karma see the homepage.