Grunt Task for ECMAScript 6 to ECMAScript 5 Transpiling with Traceur
npm install grunt-traceur-simpleGrunt task that uses the Google Traceur compiler
to transpile source files from ECMAScript 6
to ECMAScript 5 syntax. It supports the passing of arbitrary Traceur
options and the use of either the dependent Traceur version or an
arbitrary peer-installed Traceur version.
The independence of the Traceur internals (which options are supported)
and the independence of the Traceur version is _the_ killer feature of this
Grunt plugin -- in contrast to similar Grunt Traceur integration plugins.


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:
``shell`
npm install grunt-traceur-simple --save-dev
Once the plugin has been installed, it may be enabled inside your
Gruntfile with this line of JavaScript:
`js`
grunt.loadNpmTasks("grunt-traceur-simple");
- traceurRuntime:traceur-runtime.js
The path to the file of Traceur. It can bebin/traceur-runtime.js
usually found in the path oftraceur-runtime.js
a Traceur distribution. The default is the path to the
file of the dependent traceur module. Usepath.resolve(path.join(__dirname, "node_modules/traceur/bin/traceur-runtime.js"))
if you
want to use a peer-installed Traceur.
- traceurCommand:traceur
Either the path to the executable of a Traceur installationsrc/node/command.js
or distribution or the path to the command.js
file of a Traceur distribution. The default is the path to
the file of the dependent traceur module. Usepath.resolve(path.join(__dirname, "node_modules/traceur/src/node/command.js"))
if you want
to use a peer-installed Traceur.
- traceurOptions:traceur
The additional command-line options passed to the ""
executable. Usually used to enable or disable certain transpiling
options. The default is . Use, e.g., --experimental
--source-maps for enabling all experimental transpiling features and
generate a source-map file.
- includeRuntime:true
Set to for including the Traceur runtime (see traceurRuntimetraceur-runtime
for the path) into the generated output file. Alternatively install
the Twitter Bower component with bower install
traceur-runtime and load its traceur-runtime.js yourself in the
application. Dependending of the used ECMAScript 6 funtionality
in the code, this runtime is needed or not.
_Run this task with the grunt traceur command._
Task targets, files and options may be specified according to the Grunt
Configuring tasks guide.
Assuming we have the following build environment:
- Gruntfile.js:
`js`
// [...]
grunt.initConfig({
traceur: {
options: {
includeRuntime: true,
traceurOptions: "--experimental --source-maps"
},
"app": {
files: {
"out/app.js": [ "src/*/.js" ]
}
}
}
});
grunt.registerTask("default", [ "traceur" ]);
// [...]
Then running grunt traceur is functionality-wise somewhat equivalenttraceur --experimental --source-maps --out out/app.js src/*.js`.
to running