Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

karma-bro

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

karma-bro

A fast browserify integration for Karma that can easily handle large browserify projects

  • 0.2.0
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

karma-bro

A fast browserify integration for Karma that handles large CommonJS / browserify projects with ease.

Installation

Get the plug-in via npm:

npm install --save-dev karma-bro

Usage

Add browserify as the first framework used in your Karma configuration file. For each file that should be processed and bundled by karma, configure the browserify preprocessor. Optionally use the browserify config entry to configure how the bundle gets created.

module.exports = function(karma) {
  karma.set({

    frameworks: [ 'browserify', 'any', 'other', 'framework' ],

    preprocessors: {
      'test/**/*.js': [ 'browserify' ]
    },

    browserify: {
      debug: true,
      transform: [ 'brfs' ]
    }
  });
}

Look at the example directory for a simple browserify + jasmine project that uses karma-bro.

Supported Browserify Options

The following browserify configuration options are supported through the browserify: {} block to tune the way file bundles are created:

  • extensions
  • builtins
  • basedir
  • commondir
  • resolve
  • transform

In addition, specify debug: true in the options to generate source maps.

Detailed Configuration

The following code snippet shows a Karma configuration file with all karma-bro related options.

module.exports = function(karma) {
  karma.set({

    // include browserify first in used frameworks
    frameworks: [ 'browserify', 'jasmine' ],

    // add all your files here
    files: [
      'test/**/*.js'
    ],

    // add preprocessor to the files that should be
    // processed via browserify
    preprocessors: {
      'test/**/*.js': [ 'browserify' ]
    },

    // see what is going on
    logLevel: 'LOG_DEBUG',

    // use autoWatch=true for quick and easy test re-execution once files change
    autoWatch: true,

    // add additional browserify configurations here such as transforms
    // and/or debug=true to generate source maps
    browserify: {
      debug: true,
      transform: [ 'brfs' ]
    }
  });
};

Thanks goes to to karma-browserify and karma-browserifast. Both influenced this project by providing prior integrations of browserify into Karma.

Differences

There exist a number of noteworthy differences between karma-bro and the above mentioned projects:

  • It builds only one browserify bundle and keeps that bundle updated incrementally once changes occur
  • It makes sure that individual tests are only executed once per test run
  • For change detection during autoWatch=true it relies solely on watchify
  • It provides a clean(er) syntax for configuring browserify

License

MIT

Keywords

FAQs

Package last updated on 30 Apr 2014

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc