Noteworthy Programming Masterpiece
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


    regenerator Build Status

    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.


    From NPM:

    npm install -g regenerator

    From GitHub:

    cd path/to/node_modules
    git clone git://
    cd regenerator
    npm install .
    npm test


    You have several options for using this module.

    Simplest usage:

    regenerator es6.js > es5.js # Just the transform. 
    regenerator --include-runtime es6.js > es5.js # Add the runtime too. 

    Programmatic usage:

    var es5Source = require("regenerator")(es6Source);
    var es5SourceWithRuntime = require("regenerator")(es6Source, { includeRuntime: true });

    AST transformation:

    var recast = require("recast");
    var ast = recast.parse(es6Source);
    ast = require("regenerator").transform(ast);
    var es5Source = recast.print(ast);

    How can you get involved?

    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).

    Alternatively, you can fork the repository, create some failing tests cases in test/tests.es6.js, and send pull requests for me to fix.

    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.


    npm i ali.regenerator

    Downloadsweekly downloads








    last publish


    • avatar