Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Compiler for ES6 with no runtime component
JavaScript
branch: master

README.md

yieldify

Transpiler for ES6 to ES5 with no runtime component. The design goals of this project are:

  1. Use the esprima parser rather than writing a custom parser. Using the harmony branch gives pretty good support, and if it turns out to be lacking, it can be patched.
  2. Produce output code that is as readable as possible.
  3. Produce output code that is as performant as the input code where possible.

Non goals include:

  1. Performance of the conversion, unless it gets unreasonably slow.
  2. Supporting features that can be "polyfilled"
  3. Supporting the entirety of ES6

In short, this gives you those helpful syntactic shortcuts without the bloat that often acompanies transpilers.

You can see a live demo of yieldify at demos.forbeslindesay.co.uk/yieldify

Build Status Dependency Status NPM version

Features supported

  • template strings I am a ${"template"} string
  • classes class Dog extends Animal { constructor() { super('Dog') }}
  • arrow functions var squares = [1, 2, 3, 4].map(x => x * x)

Ironically not yield a this stage :(

Installation

npm install yieldify

CLI

To compile from the CLI you can use a number of methods:

$ yieldify input.js > output.js
$ yieldify < input.js > output.js
$ yieldify input.js output.js
$ yieldify input.js | uglify-js --minify > output.js

You can also compile an entire directory

$ yieldify input output

API

Individual files:

var compile = require('yieldify')

fs.writeFileSync('output.js', compile('input.js', fs.readFileSync('input.js', 'utf8')))

Entire direcotries:

var compile = require('yieldify')

compile.folder(input, output)

License

MIT

Something went wrong with that request. Please try again.