Babel

A compiler for writing next generation JavaScript.

README

babel

  The compiler for writing next generation JavaScript.

Gitpod ready-to-code

v7 npm Downloads v6 npm Downloads

Travis Status CircleCI Status Coverage Status Slack Status Follow on Twitter

Supporting Babel

Backers on Open Collective Sponsors on Open Collective Business Strategy Status


Babel (pronounced "babble")  is a community-driven project used by many companies and projects, and is maintained by a group of volunteers. If you'd like to help support the future of the project, please consider:

- Giving developer time on the project. (Message us on Twitter or Slack for guidance!)
- Giving funds by becoming a sponsor on Open Collective or Patreon!

Sponsors


Our top sponsors are shown below! [Become a sponsor]


Intro


Babel is a tool that helps you write code in the latest version of JavaScript. When your supported environments don't support certain features natively, Babel will help you compile those features down to a supported version.

In

  1. ``` js
  2. // ES2015 arrow function
  3. [1, 2, 3].map((n) => n + 1);
  4. ```

Out

  1. ``` js
  2. [1, 2, 3].map(function(n) {
  3.   return n + 1;
  4. });
  5. ```

Try it out at our REPL.

FAQ


Who maintains Babel?


Mostly a handful of volunteers, funded by you! Please check out our team page!

Is there a Babel song?


I'm so glad you asked: Hallelujah —— In Praise of Babel by @angus-c, audio version by @swyx. Tweet us your recordings!

Looking for support?


For questions and support please join our Slack Community (you can sign-up here for an invite), ask a question on Stack Overflow, or ping us on Twitter.

Where are the docs?


Check out our website: babeljs.io, and report issues/features at babel/website.

Want to report a bug or request a feature?


Please read through our CONTRIBUTING.md and fill out the issue template at babel/issues!

Want to contribute to Babel?


Check out:

- Our #development Slack channel and say hi (signup)!
- Issues with the good first issue and help wanted label. We suggest also looking at the closed ones to get a sense of the kinds of issues you can tackle.

Some resources:

- Our CONTRIBUTING.md to get started with setting up the repo.
- Our discussions/notes/roadmap: babel/notes
- Our progress on TC39 proposals: babel/proposals
- Our blog which contains release posts and explanations: /blog
- Our videos page with talks about open source and Babel: /videos
- Our podcast

How is the repo structured?


The Babel repo is managed as a monorepo that is composed of many npm packages.

License