kep

karma-env-preprocessor

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

Showing:

Popularity

Downloads/wk

24.2K

GitHub Stars

6

Maintenance

Last Commit

5yrs ago

Contributors

3

Package

Dependencies

0

Size (min+gzip)

0.3KB

License

MIT

Type Definitions

Tree-Shakeable

No?

Categories

Readme

karma-env-preprocessor

npm version

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

To load karma-env-preprocessor into Karma you should add it to the plugins array in the Karma configuration file. For more information see the Plugins section of the Karma documentation.

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'
    ],

    plugins: [
      'karma-env-preprocessor'
    ],
  });
};

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.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100