Babel (transcompiler)

Short description: Backwards compatible JavaScript compiler

BabelLogo

Original author(s)| Sebastian McKenzie
Developer(s)| Contributors
Initial release| September 28, 2014; 11 years ago (2014-09-28)[1]
Stable release|

7.13.14 / March 29, 2021; 5 years ago (2021-03-29)[2]

Written in| JavaScript
Operating system| Linux, macOS, Solaris, FreeBSD, OpenBSD, AIX, Microsoft Windows
Type| Compiler
License| MIT[3]
Website| babeljs.io

Babel is a free and open-source JavaScript transcompiler that is mainly used to convert ECMAScript 2015+ (ES6+) code into backwards-compatible JavaScript code that can be run by older JavaScript engines. It allows web developers to take advantage of the newest features of the language.[4]

Developers can use new JavaScript language features by using Babel to convert their source code into versions of JavaScript that a Web browser can process.[5] Babel is used to compile TypeScript into JavaScript.[6] The core version of Babel was downloaded 5 million times a month in 2016, and this increased to 16 million times a week in 2019.[7][8]

Babel plugins transform syntax that is not widely supported into a backward-compatible version. For example, arrow functions, which are specified in ES6, are converted into regular function declarations.[9] Non-standard JavaScript syntax such as JSX can also be transformed.[10][11]

Babel can automatically inject polyfills provided by core-js[12] for support features that are missing entirely from JavaScript environments. For example, static methods such as `Array.from` and built-ins such as `Promise` are available only in ES6 and above, but they can be used in older environments if core-js is used.

## See also

* Comparison of web browsers
* TypeScript
* Web development tools
* Webpack JavaScript bundler
* JavaScript library

## References

1. ↑ "first commit". https://github.com/babel/babel/commit/c97696c224d718d96848df9e1577f337b45464be.
2. ↑ "Babel Latest Release". https://github.com/babel/babel/releases/latest. Retrieved 29 March 2021.
3. ↑ "babel/LICENSE at master". https://github.com/babel/babel/blob/master/LICENSE. Retrieved 12 May 2018.
4. ↑ "Technology Radar | Emerging Technology Trends for 2017 | ThoughtWorks". https://www.thoughtworks.com/radar/tools/babel.
5. ↑ "Why Babel Matters | codemix". https://codemix.com/blog/why-babel-matters/.
6. ↑ Using Babel with TypeScript, TypeScript official website
7. ↑ "The State of Babel · Babel". https://babeljs.io/blog/2016/12/07/the-state-of-babel.
8. ↑ "Babel's Funding Plans · Babel". https://babeljs.io/blog/2019/11/08/babels-funding-plans.
9. ↑ "Plugins · Babel". https://babeljs.io/docs/en/plugins. Retrieved 5 July 2019.
10. ↑ "Introducing JSX - React". https://reactjs.org/docs/introducing-jsx.html.
11. ↑ "Using React and building a web site on Azure". Microsoft Faculty Connection. https://blogs.msdn.microsoft.com/uk_faculty_connection/2017/07/21/using-react-and-building-a-web-site-on-azure/.
12. ↑ "core-js". https://github.com/zloirock/core-js.

## External links

* GitHub project
* Origin story

* v
* t
* e

JavaScript

Code analysis|

* ESLint
* JSHint
* JSLint

Transcompilers|

* Babel.js
* CoffeeScript
* LiveScript
* Dart
* Emscripten
* Google Closure Compiler
* Google Web Toolkit
* Morfik
* TypeScript
* AtScript
* Opa
* Nim
* Haxe
* ClojureScript
* WebSharper
* PureScript
* Reason
* Elm

Concepts|

* Client-side
* JavaScript library
* JavaScript syntax
* Unobtrusive JavaScript

Debuggers|

* Firebug
* Komodo IDE
* Microsoft Script Debugger
* Microsoft Script Editor
* Opera Dragonfly
* Web Inspector

Doc generators|

* JSDoc

Editors (comparison)|

* Ace
* Cloud9 IDE
* Atom
* CodeMirror
* Light Table
* Brackets
* Koding
* PhpStorm
* Orion
* Visual Studio
* Visual Studio Express
* Visual Studio Code
* Visual Studio Team Services

Engines|

* Comparison of engines
* DOM support
* List of ECMAScript engines

Frameworks|

* Comparison of JavaScript frameworks
* List of JavaScript libraries

Related technologies|

* Cascading Style Sheets
* Document Object Model
* HTML
* Dynamic HTML
* Ajax
* JSON
* WebAssembly
* asm.js

Package managers|

* npm

Application Bundlers|

* Webpack

Server-side|

* Active Server Pages
* CommonJS
* JSGI
* Node.js
* Wakanda

Unit testing|

* Jasmine
* Mocha
* QUnit
* List of JavaScript unit testing frameworks
* Jest

People|

* Douglas Crockford
* Brendan Eich
* John Resig

0.00

(0 votes)

Original source: https://en.wikipedia.org/wiki/Babel (transcompiler). Read more

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Babel_(transcompiler)&oldid=753767"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template