/karma-coffee-extended-preprocessor

A Karma plugin. Compile coffee script on the fly.

Primary LanguageJavaScriptMIT LicenseMIT

karma-coffee-extended-preprocessor

Preprocessor to transform and compile CoffeeScript on the fly.

Installation

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

{
  "devDependencies": {
    "karma": "~0.10",
    "karma-coffee-preprocessor": "~0.1"
  }
}

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');
      },
      // transforming the coffee file content
      transformContent: function(content) {
        var replacement = "# this could be any valid coffeescript you want compiled only for the karma test run";
        return content.replace(/PATTERN_TO_MATCH/, replacement);
      }
    }
  });
};

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


For more information on Karma see the homepage.