karma-es6-shim
v1.0.0
Published
es6-shim adapter for Karma
Downloads
21,681
Readme
karma-es6-shim
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:
- You can work around it using Babel's transform
- You are polyfilling in some other way that is accessible to PhantomJS in Karma