Rigging tasks for elegant includes


This is a grunt plugin for the buildJS tool rigger.

Rigger provides targetted include functionality (similar to sprockets) but with some additional functionality. A highlight of rigger functionality is outlined below:

  • Simple include format for including files using a special comment syntax (//= foo.js)
  • Ability to include remote resources as well as local: (
  • Ability to intelligently transpile from coffee-script, stylus, etc to their natural web equivalents (js, css, etc).

To use grunt-rigger you will need to include it in your package.json file (I'd recommend under the devDependencies section):

  "name": "myproject",
  "devDependencies": {
    "coffee-script": "1.3.x",
    "grunt-rigger": "0.4.x"

You will see in the example above, coffee-script is also included in the devDependencies section. In cases where you would like to leverage riggers ability to transpile files (e.g. .coffee => .js) you will need to include the appropriate node package in your devDependencies as these are not automatically included in rigger itself (to avoid library bloat).

Using grunt-rigger within grunt itself is very simple. Consider the following sample grunt.js file:

module.exports = function(grunt) {
        rig: {
            compile: {        
                options: {
                    banner: '/* THIS BANNER USES TEMPLATE FUNCTIONALITY <%= banner_property %> */\n',
                    footer: '\n/* SOME FOOTER */'
                files: {
                    'dist/simple.js': ['src/simple.js']

That should be pretty much it, if your source file contains any rigger comments they will be parsed and executed accordingly.