node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »



Compile EGS packages to JavaScript.

Getting Started

This plugin requires Grunt ~0.4.1

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-egs --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile 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.

Egs task

Run this task with the grunt egs command.

Task targets, files and options may be specified according to the grunt Configuring tasks guide.



Type: String Default: on Windows, "\r\n", otherwise "\n"

Compilation will use this to join lines.


Type: boolean Default: false

Compile JavaScript and create a .map file linking it to the GorillaScript source.


Type: string Default: ""

Specify the sourceRoot property in the created .map file.


Type: string Default: grunt.file.defaultEncoding, which is "utf8" unless overridden.

The encoding of the resultant .js files. Not recommended to change.


Type: boolean or string Default: false

Instruments output .js files with instrumented coverage support. If true, then '_$jscoverage' will be the name of the coverage variable, but you can define your own.


Type: string Default: "EGSTemplates"

Sets the global export when run in a browser rather than in node.js or with an AMD loader.


Type: string or { open: string, close: string, openWrite: string, closeWrite: string, openComment: string, closeComment: string, openLiteral: string, closeLiteral: string } Default: "<%" or { open: "<%", close: "%>", openWrite: "<%=", closeWrite: "%>", openComment: "<%--", closeComment: "--%>", openLiteral: "<%@", closeLiteral: "@%>" }

Sets the embed tokens to parse for template compilation.

If "{{" is provided, that works as { open: "", openWrite: "{{", closeWrite: "}}", openComment: "{#", closeComment: "#}", openLiteral: "{@", closeLiteral: "@}" }.


Type: boolean Default: false

Include the full egs-runtime.js file into the package. This will allow you to only ship a single file.

Usage Examples

gorilla: {
  compile: {
    files: {
      'path/to/views.js': 'path/to/views',
  compileWithMaps: {
    options: {
      sourceMap: true,
      sourceRoot: "path/to" // defaults to "" 
    files: {
      'path/to/views.js': 'path/to/views',

Release History

  • 2013-08-26   v0.1.2   Add the "includeRuntime" option.
  • 2013-06-06   v0.1.1   Add the "openLiteral" and "closeLiteral" to the "tokens" option.
  • 2013-06-05   v0.1.0   Initial release

Task submitted by Cameron Kenneth Knight

This file was generated on Mon Aug 26 2013 01:33:32.