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-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt;
Options
-
traceurRuntime
: The path to thetraceur-runtime.js
file of Traceur. It can be usually found in the pathbin/traceur-runtime.js
of a Traceur distribution. The default is the path to thetraceur-runtime.js
file of the dependenttraceur
module. 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 thetraceur
executable of a Traceur installation or distribution or the path to thesrc/node/command.js
file of a Traceur distribution. The default is the path to thecommand.js
file of the dependenttraceur
module. 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 thetraceur
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
: Set totrue
for including the Traceur runtime (seetraceurRuntime
for the path) into the generated output file. Alternatively install the Twitter Bower componenttraceur-runtime
withbower install traceur-runtime
and load itstraceur-runtime.js
yourself 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;grunt;// [...]
Then running grunt traceur
is functionality-wise somewhat equivalent
to running traceur --experimental --source-maps --out out/app.js src/*.js
.