karma-runner / karma-coffee-preprocessor

A Karma plugin. Compile coffee script on the fly.
MIT License
53 stars 34 forks source link

karma-coffee-preprocessor

js-standard-style npm version npm downloads

Build Status Dependency Status devDependency Status

Preprocessor to compile CoffeeScript on the fly.

Installation

The easiest way is to keep karma-coffee-preprocessor as a devDependency. You can simple do it by:

npm install karma-coffee-preprocessor --save-dev

Configuration

Following code shows the default configuration

// karma.conf.js
module.exports = function(config) {
  config.set({
    preprocessors: {
      '**/*.coffee': ['coffee']
    },

    coffeePreprocessor: {
      // options passed to the coffee compiler
      options: {
        bare: true,
        sourceMap: false
      },
      // transforming the filenames
      transformPath: function(path) {
        return path.replace(/\.coffee$/, '.js')
      }
    },

    // make sure to include the .coffee files not the compiled .js files
    files: [
      '**/*.coffee'
    ]
  })
}

If you set the sourceMap coffee compiler option to true then the generated source map will be inlined as a data-uri.

Note that paths like "/.coffee" inside your "preprocessor" list will not match files where you are traversing up a directory (like "../app/.coffee" inside your "files" list) or where your basePath goes up a directory. If you need to match these, use something like `preprocessors: { '..//*.coffee': ['coffee'] }`.

For more information on Karma see the homepage.