grunt-traceur-simple v0.9.10
grunt-traceur-simple
Grunt 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.
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-simple --save-devOnce the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks("grunt-traceur-simple");Options
traceurRuntime: The path to thetraceur-runtime.jsfile of Traceur. It can be usually found in the pathbin/traceur-runtime.jsof a Traceur distribution. The default is the path to thetraceur-runtime.jsfile of the dependenttraceurmodule. Usepath.resolve(path.join(__dirname, "node_modules/traceur/bin/traceur-runtime.js"))if you want to use a peer-installed Traceur.traceurCommand: Either the path to thetraceurexecutable of a Traceur installation or distribution or the path to thesrc/node/command.jsfile of a Traceur distribution. The default is the path to thecommand.jsfile of the dependenttraceurmodule. Usepath.resolve(path.join(__dirname, "node_modules/traceur/src/node/command.js"))if you want to use a peer-installed Traceur.traceurOptions: The additional command-line options passed to thetraceurexecutable. Usually used to enable or disable certain transpiling options. The default is"". Use, e.g.,--experimental --source-mapsfor enabling all experimental transpiling features and generate a source-map file.includeRuntime: Set totruefor including the Traceur runtime (seetraceurRuntimefor the path) into the generated output file. Alternatively install the Twitter Bower componenttraceur-runtimewithbower install traceur-runtimeand load itstraceur-runtime.jsyourself in the application. Dependending of the used ECMAScript 6 funtionality in the code, this runtime is needed or not.
Task Calling
Run this task with the grunt traceur command.
Task targets, files and options may be specified according to the Grunt Configuring tasks guide.
Usage Example
Assuming we have the following build environment:
Gruntfile.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 equivalent
to running traceur --experimental --source-maps --out out/app.js src/*.js.