code: function manualCompile(templateCompilerPath, template, grunt){
    'use strict';
  
    var fs = require('fs'),
        vm = require('vm'),
        templateCompilerJs;
  
    try {
      templateCompilerJs = fs.readFileSync(templateCompilerPath, 'utf8');
    } catch (e) {
      if (e.code !== 'ENOENT') {
        throw e;
      }
      grunt.fail.warn('ember-template-compiler.js is not found. You can install with `bower install ember --save`. If you would like to use a custom location you can setup `templateCompilerPath` option in Gruntfile.js. It has to point to ember-template-compiler.js which bundled with Ember.js. The default path: bower_components/ember/ember-template-compiler.js');
    }
  
    // Create a context into which we will load both the ember template compiler
    // as well as the template to be compiled. The ember template compiler expects
    // `exports` to be defined, and uses it to export `precompile()`. It also
    // expects `global` to be defined and to be an object.
    var context = vm.createContext({
      module: {},
      exports: {},
      global: {},
      template: template,
      mainContext: undefined,
      setTimeout: setTimeout
    });
  
    // Load the ember template compiler
    vm.runInContext(templateCompilerJs, context, 'ember-template-compiler.js');
  
    // Compile the template
    vm.runInContext('compiledJS = ((typeof Ember !== "undefined" && Ember.HTMLBars) || module.exports || exports).precompile(template);', context);
  
    return context.compiledJS;
  }
docs: /*
  grunt-ember-templates
  
  Copyright (c) 2012 Dan Gebhardt, Tim Branyen, contributors
  Licensed under the MIT license.
  https://github.com/dgeb/grunt-ember-templates/blob/master/LICENSE