/karma-handlebars-preprocessor

Karma preprocessor for Handlebars templates

Primary LanguageJavaScriptMIT LicenseMIT

karma-handlebars-preprocessor

Build Status npm version

Preprocessor to compile Handlebars on the fly.

Forked from hanachin's code (kudos!)

Works with Karma 0.9 or later.

For more information on Karma see the homepage.

Installation

  1. Install karma-handlebars-preprocessor plugin.
$ npm install karma-handlebars-preprocessor --save-dev
  1. Define it as a preprocessor in the config file
  preprocessors: {
    '**/*.hbs': 'handlebars'
  }

or pass through the command line

  $ karma start --preprocessors handlebars

Configuration

You can configure default behaviour in the handlebarsPreprocessor section of the config file. The following shows the default implementation:

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

    handlebarsPreprocessor: {
      // name of the variable to store the templates hash
      templates: "Handlebars.templates",

      // translates original file path to template name
      templateName: function(filepath) {
        return filepath.replace(/^.*\/([^\/]+)\.hbs$/, '$1');
      },

      // transforms original file path to path of the processed file
      transformPath: function(path) {
        return path.replace(/\.hbs$/, '.js');
      }
    }
  });
};

License

MIT License