Skip to content
This is a grunt task for adding a grunt task to compiler ES6 JS into ES3 JS using Traceur Compiler
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.

published the 0.5.0 release to


Build Status

A grunt plugin for Google's Traceur-Compile, a lib to compile ES6 JavaScript into ES5 JavaScript.

Getting Started

This plugin requires Grunt ~0.4.0

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

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


The "traceur" task


In your project's Gruntfile, add a section named traceur to the data object passed into grunt.initConfig().

  traceur: {
    options: {
      // traceur options here
      experimental: true,
      // module naming options,
      moduleNaming: {
        stripPrefix: "src/es6",
        addPrefix: "com/mycompany/project"
      copyRuntime: 'src/es5'
    custom: {
      files: [{
        expand: true,
        cwd: 'src/es6',
        src: ['*.js'],
        dest: 'src/es5'

Once the files have been transpiled into ES5, you can minify or concat them.


Any specified option will be passed through directly to traceur, thus you can specify any option that traceur supports.

Some common options:

  • experimental - Turn on all experimental features
  • blockBinding - Turn on support for let and const
  • copyRuntime - Copies the traceur_runtime.js to the location which you specify here
  • moduleNames - Generate named module (default: true)
  • moduleNaming.stripPrefix - Strip the specified prefix from generated module names
  • moduleNaming.addPrefix - Add the specified prefix to the generated module names (applied AFTER the moduleNaming.stripPrefix option)


In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

(Nothing yet)

You can’t perform that action at this time.