Runs JavaScript.next code in Node by compiling it with Traceur on the fly, seamlessly
JavaScript
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib
test
.editorconfig
.gitignore
.jscsrc
.jshintrc
.travis.yml
LICENSE.txt
README.md
package.json

README.md

Run JavaScript.next code in Node, seamlessly

Traceur Runner allows you to run code authored for Traceur seamlessly in Node.js. It does so by compiling the code on the fly using Traceur's mechanism for overriding require, but with some additional smarts.

In particular, Traceur Runner will avoid compiling any dependent packages (i.e. those found in node_modules), unless those packages are marked with "traceur-runner": true in their package.json. This way, you can seamlessly consume most packages without Traceur trying to transpile them, while still getting Traceur compilation for those of your dependencies that are targeted at Traceur themselves.

Additionally, whenever you use Traceur Runner, you will automatically get all error stacks rewritten to have the correct line and column numbers, via the excellent traceur-source-maps package!

Usage

You can use traceur-runner as a binary, pointing it at some code that needs transpiling:

$ traceur-runner my-script.js

You can also use command-line arguments:

$ traceur-runner my-script.js arg1 arg2

If you do this latter, then my-script.js will have a process.argv such that "arg1" is at index 2, "arg2" at index 3, and so on.

Finally, you can also use it programmatically: if you do

require("traceur-runner");

in your source file, any further requires will be transpiled as appropriate.

Traceur Dependency

Traceur Runner peer-depends on Traceur, allowing you to use it with whatever version of Traceur you are already using in your project. This means you should add traceur as a dependency in your package.json, if you haven't already.