Compiles embedded CoffeeScript templates into IIFEs (Immediately Invoked Function Expressions)
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Compiles Embedded CoffeeScript templates (.eco) into JavaScript IIFEs (Immediately Invoked Function Expressions).

Getting Started

This plugin requires Grunt ~0.4.x

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

npm install grunt-eco-iife --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile.js with this line of JavaScript:


This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that you upgrade, but in case you can't please use v0.3.1.


Two most common ways of compiling all globbed paths into single file:

eco: {
  app: {
    files: {
      'path/to/templates.js': ['src/templates/**/*.eco']
eco: {
  app: {
    src: ['src/templates/**/*.eco'],
    dest: 'path/to/templates.js'

If you need to compile .eco templates into individual files in some sort of destination folder, you can dynamiccally build path object:

eco: {
  app: {
    files: [{
      expand: true,
      src: ['src/templates/**/*.eco'],
      dest: 'path/to/templates',
      ext: '.js'

If you ommit dest key, templates will be compiled right next to your .eco files.

To configure eco task simply define options object:


This grunt plugin is basically a copy of grunt-eco. I just didn't need any JST features. I only compiled templates in the form of Javascript or Coffeescript. That is why it is so close to the original.