karma-gzipdeprecated

[DEPRECATED] A gzip preprocessor for Karma

Usage no npm install needed!

<script type="module">
  import karmaGzip from 'https://cdn.skypack.dev/karma-gzip';
</script>

README

DEPRECATED This package has been moved to karma-gzip-preprocessor

karma-gzip NPM version

A Karma preprocessor and server handler for serving gzipped test assets.

Particularly handy when working with large test bundles and remote browser-cloud services like Browserstack or Saucelabs.

Installation

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

npm install karma-gzip --save-dev

Configuration

// karma.conf.js
module.exports = function(config) {
  config.set({
    // We need to add some extra server middleware so that we can correctly
    // serve gzipped files
    plugins: [ 'karma-gzip' ],
    frameworks: [ 'gzip' ],
    files: [
      'src/**/*.js',
      'test/**/*.js'
    ],

    preprocessors: {
      // Only files marked for gzip preprocessing will be compressed.
      'test/large_test_bundle.js': [ 'gzip' ],
      'test/test_helper.coffee': [ 'coffee', 'gzip' ]
    }
  });
};

You can tell that your assets are being gzipped when you see output something like the following:

$ karma start --log-level=debug

INFO [preprocessor.gzip]: compressed /MyProject/test/test_helper.js [2MB -> 437KB]
INFO [preprocessor.gzip]: compressed /MyProject/test/test_index.js [5MB -> 1MB]
DEBUG [gzip-plugin]: serving (gzip): /MyProject/test/test_helper.js
DEBUG [gzip-plugin]: serving (gzip): /MyProject/test/test_index.js

License

MIT (http://www.opensource.org/licenses/mit-license.php)