node package manager
Loosely couple your services. Use Orgs to version and reuse your code. Create a free org »

karma-es6-shim

karma-es6-shim

npm version Dependency Status

Karma wrapper that makes sure the ES6 and ES5 shims are BOTH available. See also the example usage project.

Modified from https://github.com/pokehanai/karma-es5-shim

es6-shim for karma including es5-shim.

Motivation

Most versions of PhantomJS do not support ES5, let alone ES6. This meant that you got all sorts of errors when you tried to test ES6 features, even if you had used the Babel/6to5 transpiler.

Therefore, we have modified pokehanai/karma-es5-shim in the following ways:

  • Use peerDependencies rather than submodules
  • Include both ES5 and ES6 so that PhantomJS can run tests

Links

Installation

Install the module from npm:

npm install karma-es6-shim --save

Add es6-shim to the frameworks key after requirejs in your Karma configuration:

module.exports = function(karma) {
  karma.set({
    // frameworks to use 
    frameworks: ['requirejs', 'es6-shim']
    // ... 
  });
};

Example usage

You will almost certainly need some kind of transpiler such as Babel or 6to5.

We have supplied an example repository at https://github.com/radify/karma-es6-shim-example.

When to use this and when not to

Use it if you meet all the following criteria:

  • You are using PhantomJS in Karma to test ES6
  • You use the es6-shim polyfill in your HTML
  • You need to use AMD-based module loading, e.g. RequireJS (see Babel's docs for more information)

Do not use it if: