ES6 Tools
Contents
Transpilers
Turn ES6+ code into vanilla ES5 with no runtime
Traceur compiler wrapped as a Browserify v2 transform
Babel transpiler wrapped as a Browserify transform
ES6 > ES5. Includes classes, destructuring, default parameters, spread
ES6 modules to AMD or CJS
transform ES6 yield/generator functions to ES5
A simple utility for pluggable JS syntax transforms. Comes with a small set of ES6 -> ES5 transforms
ES6 block-scoped const and let variables to ES3 vars
ES6 Modules in the Rails Asset Pipeline
that compile from ES6 to ES5
Converts ES6 to AMD, CJS, and StealJS.
Transform Unicode-aware ES6 regular expressions to ES5
Transformations for ES5 code to ES6 (approximates)
Parsers
also has built-in parser available under traceur.syntax.Parser.
A small, fast, JavaScript-based JavaScript parser with ES6 support, parses to SpiderMonkey AST format.
ES6 parser written in ES6.
Build-time transpilation
Gulp Plugins
Grunt Tasks
Turn ES6+ code into vanilla ES5 with no runtime
ES6 > ES5 transpilation, grunt-traceur-build
ES6 generator functions to ES5
tools for libs using ES6 module transpiler (sample Gruntfile)
ES6 block scoped const and let variables, to ES3
ES6 → ES5
ES6+ > ES5/ES3 transpilation
Broccoli Plugins
Module Loaders
Connect plugins
Gobble plugins
Jade plugins
Jest plugins
Karma plugins
Sprockets plugins
Browser plugins
Mocha plugins
Boilerplates
Tooling to allow the community to use es6 now via traceur in conjunction with amd and browser global modules, with source maps, concatenation, minification, compression, and unit testing in real browsers.
Tooling to allow the community to use es6 now via babel in conjunction jspm, with source maps, concatenation, minification, compression, and unit testing in real browsers using es6.
Code generation
Polyfills
Modular and compact polyfills for ES6 including Symbols, Map, Set, Iterators, Promises, setImmediate, Array generics, etc. The standard library used by Babel.
almost all new ES6 methods — from Map, Set, String, Array, Object, Object.is and more.
polyfill for Promises matching the ES6 API
destructive shim that follows the latest specification as closely as possible.
ES6 reflection module (contains the Proxy API)
Array, Object, Number, Math and String functions/methods, plus Map, Set, Symbol and WeakMap objects
Editors
Other
real-world usage examples of ES6 features
static analysis tools for ES6
Generate a list of imports and exports from ES6 module files, useful for preloading, bundling, etc.
validate matching named/default import statements in ES6 modules.
transpiles let-block block-scoping (not accepted into ES6) into either ES3 or ES6
Esprima-based JavaScript syntax tree transformer, conservative pretty-printer, and automatic source map generator. Used by several of the transpilers listed above, including regenerator and es6-arrow-function.
Minimalist examples of ES6 functionalities.
Uses the ES6 loader hooks to load (node flavored) commonjs packages in ES6.
A simple setup for transpiling ES6 to ES5 using Babel or traceur with gulp and jasmine support.