$ npm install [--save-dev] esnext
- Require as little runtime code as possible.
- Generate human-readable code.
- Line-by-line equivalence from source to compiled.
- arrow functions (via es6-arrow-function)
- classes (via es6-class)
- computed property keys (via es6-computed-properties)
- default params (via es6-default-params)
- destructuring (via es6-destructuring)
- generators (via regenerator)
- async-await (via regenerator)
- iterators + for-of (via regenerator)
- object literal concise definitions (via es6-object-concise)
- object literal shorthand (via es6-object-short)
- rest params (via es6-rest-params)
- spread (via es6-spread)
- template strings (via es6-templates)
- unicode regexes (via regexpu)
esnext ships with a command-line interface that can be used when installed
globally (or from within your project at
installed locally). Here's how to compile a single file an print it to stdout:
$ esnext myfile.js
To execute compiled code:
$ esnext -e myfile.js
If you don't care about a certain feature, such as arrow functions, you can omit support for them like so:
$ esnext --no-arrow-function myfile.js
To compile many files at once, specify an output directory:
$ esnext -o build lib/**/*.js
To enable source maps for these files, add the
var compile = require'esnext'compile;var result = compilees6Source;fswriteFileSync'result.js' resultcode 'utf8';fswriteFileSync'result.js.map' JSONstringifyresultmap 'utf8';
$ browserify -t esnext main.js
Or, use one of these libraries that integrate esnext with other tools:
First, install the development dependencies:
$ npm install
Then, try running the tests:
$ npm test
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request
Any contributors to the master esnext repository must sign the Individual Contributor License Agreement (CLA). It's a short form that covers our bases and makes sure you're eligible to contribute.
When you have a change you'd like to see in the master repository, send a pull request. Before we merge your request, we'll make sure you're in the list of people who have signed a CLA.
Huge thanks to Ben Newman for recast and regenerator. Thanks to Ariya Hidayat for esprima. Thanks also to Thomas Boyt for his work on the es6-module-transpiler, es6-class, es6-arrow-function, and others.