This package implements a fully-functional source transformation that
takes the proposed syntax for generators/
yield from future versions of
JS (ECMAScript6 or ES6, experimentally implemented in Node.js v0.11) and
spits out efficient JS-of-today (ES5) that behaves the same way.
A small runtime library (less than 1KB compressed) is required to provide the
wrapGenerator function. You can install it either as a CommonJS module
or as a standalone .js file, whichever you prefer.
npm install -g regenerator
cd path/to/node_modulesgit clone git://github.com/facebook/regenerator.gitcd regeneratornpm install .npm test
You have several options for using this module.
regenerator es6.js > es5.js # Just the transform.regenerator --include-runtime es6.js > es5.js # Add the runtime too.
var es5Source = require"regenerator"es6Source;var es5SourceWithRuntime = require"regenerator"es6Source includeRuntime: true ;
var recast = require"recast";var ast = recastparsees6Source;ast = require"regenerator"transformast;var es5Source = recastprintast;
The easiest way to get involved is to look for buggy examples using the sandbox, and when you find something strange just click the "report a bug" link (the new issue form will be populated automatically with the problematic code).
If you're feeling especially brave, you are more than welcome to dive into the transformer code and fix the bug(s) yourself, but I must warn you that the code could really benefit from better implementation comments.