regenerator

Source transformer enabling ECMAScript 6 generator functions in JavaScript-of-today.

Github星跟踪图

regenerator Build Status

This package implements a fully-functional source transformation that
takes the syntax for generators/yield from ECMAScript 2015 or ES2015 and Asynchronous Iteration proposal 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.

Installation

From npm:

npm install -g regenerator

From GitHub:

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

Usage

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.
regenerator src lib # Transform every .js file in src and output to lib.

Programmatic usage:

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

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
.

主要指标

概览
名称与所有者facebook/regenerator
主编程语言JavaScript
编程语言JavaScript (语言数: 3)
平台
许可证MIT License
所有者活动
创建于2013-10-05 22:37:03
推送于2024-02-29 19:04:34
最后一次提交
发布数205
最新版本名称regenerator-runtime@0.14.1 (发布于 )
第一版名称v0.1.2 (发布于 )
用户参与
星数3.8k
关注者数84
派生数1.1k
提交数1.1k
已启用问题?
问题数269
打开的问题数63
拉请求数199
打开的拉请求数18
关闭的拉请求数231
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?