Version 5.0 of the Babel compiler, made available last week, includes ECMAScript 7 proposals like decorators, for annotating classes and properties at design time; class properties; and additional export-from statements. ECMAScript 7 is in development even as ECMAScript 6, the predecessor, still has yet to be formally released. With Babel, ECMAScript 6 or higher code is turned into ES5-friendly code, so it can be used without waiting for browser support.
Also in version 5.0, the internal traversal and transformation pipeline has been rewritten, increasing flexibility and enabling future performance optimizations. A plug-in API, meanwhile, allows consumers to plug in custom transformers to utilize Babel’s transformation mechanisms. Breaking changes include removal of the Babel "playground," ES7 abstract references, and the experimental option, which has been replaced with a stage option. "The playground has been removed so development can be focused on mainstream ES features and proposals," release notes state. "This also reduces the risk of syntactic conflicts preventing certain official features from being implemented." The upgrade starts to align with the ECMA TC39 process, named for the technical committee developing ECMAscript. Babel can work with Node.js applications as well as other technologies.