The babel-preset-es20XX (15, 16, 17) presets include transforms needed to convert features added in that specific year to code that is compatible with the previous version.

babel-preset-env includes transforms for all features that have landed in the spec, but only enables the ones needed to make the features work based on the set of environments you've provided to it. If you pass no options to env it essentially works like es2015, es2016, es2017 all together.

babel-preset-react is the set of transformations needed to convert React/Facebook-related syntax extensions like Flowtype and React's JSX.

Answer from loganfsmyth on Stack Overflow
🌐
Babel
babeljs.io › docs › babel-preset-es2015
@babel/preset-es2015 · Babel
npm install --save-dev @babel/preset-es2015 · yarn add --dev @babel/preset-es2015 · pnpm add --save-dev @babel/preset-es2015 · bun add --dev @babel/preset-es2015 · babel.config.json · { "presets": ["@babel/preset-es2015"] } Shell · babel script.js --presets @babel/preset-es2015 ·
🌐
npm
npmjs.com › package › babel-preset-es2015
babel-preset-es2015 - npm
Babel preset for all es2015 plugins.. Latest version: 6.24.1, last published: 9 years ago. Start using babel-preset-es2015 in your project by running `npm i babel-preset-es2015`. There are 7816 other projects in the npm registry using babel-preset-es2015.
      » npm install babel-preset-es2015
    
Published   Apr 07, 2017
Version   6.24.1
Author   Sebastian McKenzie
Discussions

Babel @babel/preset-es2015 Module not found
npm install -D babel-loader @babel/core @babel/preset-env @babel/preset-es2015 --save-dev More on github.com
🌐 github.com
12
November 4, 2019
babel-cli vs babel-preset-es2015 vs babel-register vs babel-core?
Node actually has pretty good support for ES2015 now, so depending on which version of Node you're targeting, and which ES2015 features you're looking to use, you might not even need to use babel. That being said: babel-cli This gives you two scripts to use on the command line: babel: compiles your code babel-node: like the normal node command, only everything gets run through babel first You don't really need this, but babel-node can be handy for debugging. Do not use babel-node in production. babel-preset-es2015 Babel works by running your code through a bunch of plugins, each of which is responsible for performing one or more transformations on your code. On npm, babel plugins are almost always prefixed with babel-plugin-, e.g. babel-plugin-transform-es2015-arrow-functions, which converts arrow functions to normal functions. Presets are just bundles of plugins. For example, babel-preset-es2015 contains every plugin you need to transform code from the ES2015 spec to es5 spec. You could require each plugin separately, but that would be tedious. What happens if you don't include any plugins or presets? Nothing. Babel will run just fine, but it won't transform your code in any way, because it doesn't have any plugins to tell it what to transform. You should probably use either babel-preset-es2015 or babel-preset-es2015-node , which only includes plugins for ES2015 features that are not yet natively supported by Node. babel-register If you put this in a module, any subsequent file loaded using require will be automatically transpiled by babel. A common pattern is to set up a transpilation entry point for your app that looks something like this: // set up the `require`-hook require('babel-register'); // load your actual app, which will // now be transpiled by babel require('./path/to/main/app.js'); Then instead of calling your main app file (e.g. node app.js), you call this transpiling one (e.g. node app.babel.js), and ta-da! you to get the benefits of babel without having to run a build step every time you change your code. NB: The file containing require('babel-register') will not be transpiled. Code required by the file will be transpiled, but not the code in the file itself. You probably want to use this. It will make your life much easier. babel-core This is needed if you plan to require the babel transpiling engine directly in your own code. You probably don't need this More on reddit.com
🌐 r/node
9
13
June 5, 2016
Having some troubles with babel.
In your presets you have es2015 but it's not installed in your devDependencies. You need to install babel-preset-es2015. But... as we're here. You should use the new libraries that are prefixed with the @babel namespace. You should also use @babel/env as it maps your babel config to the browsers you specify. Install @babel/preset-env and @babel/preset-react Change your .babelrc presets to ['@babel/preset-env', '@babel/preset-env'] It should work from then on, but you should look at configuring your browserslist file as found here: https://babeljs.io/docs/en/babel-preset-env.html#browserslist-integration More on reddit.com
🌐 r/node
6
1
September 6, 2018
Couldn't find preset "es2015" (webpack|react|babel)

you don't have babel-preset-es2015in your package.json, but you're referencing it on line 4.

More on reddit.com
🌐 r/reactjs
1
0
July 31, 2017
🌐
GitHub
github.com › babel › babel › issues › 10633
Babel @babel/preset-es2015 Module not found · Issue #10633 · babel/babel
November 4, 2019 - npm install -D babel-loader @babel/core @babel/preset-env @babel/preset-es2015 --save-dev
Author   babel
🌐
Babel
babeljs.io › docs › env
babel-preset-es2015 -> babel-preset-env · Babel
We're super 😸 excited that you're trying to use ES2015 syntax, but instead of continuing yearly presets, the team recommends using babel-preset-env. By default, it has the same behavior as previous presets to compile ES2015+ to ES5. Please check out the v1.x readme for more info.
🌐
npm
npmjs.com › package › babel-preset-es2015-node
babel-preset-es2015-node - npm
Babel preset for all es2015 plugins needed with latest stable node.. Latest version: 6.1.1, last published: 9 years ago. Start using babel-preset-es2015-node in your project by running `npm i babel-preset-es2015-node`. There are 57 other projects ...
      » npm install babel-preset-es2015-node
    
Published   Aug 25, 2016
Version   6.1.1
Author   Ryan Tsao
Find elsewhere
🌐
UNPKG
app.unpkg.com › babel-preset-es2015-minimal@2.1.0 › files › README.md
babel-preset-es2015-minimal
# babel-preset-es2015-minimal [![npm](https://img.shields.io/npm/v/babel-preset-es2015-minimal.svg)](http://npm.im/babel-preset-es2015-minimal) [![travis](https://travis-ci.org/developit/babel-preset-es2015-minimal.svg?branch=master)](https://travis-ci.org/developit/babel-preset-es2015-minimal) > Babel es2015 preset in loose mode without frills.
🌐
GitHub
github.com › vercel › next.js › issues › 5096
Cannot find module 'babel-preset-es2015' · Issue #5096 · vercel/next.js
September 4, 2018 - Error Error in ./pages/index.js Module build failed: Error: Cannot find module 'babel-preset-es2015' from '/home/innoventes' at Function.module.exports [as sync] (/home/innoventes/k...
Author   vercel
🌐
Reddit
reddit.com › r/node › babel-cli vs babel-preset-es2015 vs babel-register vs babel-core?
r/node on Reddit: babel-cli vs babel-preset-es2015 vs babel-register vs babel-core?
June 5, 2016 -

What are all these babel dependencies? What are each of them for and how do they differ? Which one should I use for my nodejs web app?

I have looked on the API website but is there any guide that puts these into simple human English?

Top answer
1 of 1
26
Node actually has pretty good support for ES2015 now, so depending on which version of Node you're targeting, and which ES2015 features you're looking to use, you might not even need to use babel. That being said: babel-cli This gives you two scripts to use on the command line: babel: compiles your code babel-node: like the normal node command, only everything gets run through babel first You don't really need this, but babel-node can be handy for debugging. Do not use babel-node in production. babel-preset-es2015 Babel works by running your code through a bunch of plugins, each of which is responsible for performing one or more transformations on your code. On npm, babel plugins are almost always prefixed with babel-plugin-, e.g. babel-plugin-transform-es2015-arrow-functions, which converts arrow functions to normal functions. Presets are just bundles of plugins. For example, babel-preset-es2015 contains every plugin you need to transform code from the ES2015 spec to es5 spec. You could require each plugin separately, but that would be tedious. What happens if you don't include any plugins or presets? Nothing. Babel will run just fine, but it won't transform your code in any way, because it doesn't have any plugins to tell it what to transform. You should probably use either babel-preset-es2015 or babel-preset-es2015-node , which only includes plugins for ES2015 features that are not yet natively supported by Node. babel-register If you put this in a module, any subsequent file loaded using require will be automatically transpiled by babel. A common pattern is to set up a transpilation entry point for your app that looks something like this: // set up the `require`-hook require('babel-register'); // load your actual app, which will // now be transpiled by babel require('./path/to/main/app.js'); Then instead of calling your main app file (e.g. node app.js), you call this transpiling one (e.g. node app.babel.js), and ta-da! you to get the benefits of babel without having to run a build step every time you change your code. NB: The file containing require('babel-register') will not be transpiled. Code required by the file will be transpiled, but not the code in the file itself. You probably want to use this. It will make your life much easier. babel-core This is needed if you plan to require the babel transpiling engine directly in your own code. You probably don't need this
🌐
CodeBlocQ
codeblocq.com › 2016 › 02 › How-to-setup-Babel6-for-NodeJs
How to setup Babel6 for NodeJs - CodeBlocQ
This article gives you a basic way of setting up your environment if you want to use ES2015 with Node (using v4.3.0 in this tutorial). ... Put a .babelrc configuration file at the root of your project.
🌐
jsDelivr
cdn.jsdelivr.net › babel-preset-es2015@6.24.1
babel-preset-es2015 CDN by jsDelivr - A free, fast, and reliable Open Source CDN
babel-preset-es2015 CDN by jsDelivr - A free, fast, and reliable Open Source CDN for npm and GitHub
🌐
webpack
webpack.js.org › loaders › babel-loader
babel-loader | webpack
{ "loader": "babel-loader", "options": { "exclude": [ // \\ for Windows, / for macOS and Linux /node_modules[\\/]core-js/, /node_modules[\\/]webpack[\\/]buildin/, ], "presets": [ "@babel/preset-env" ] } } That function is injected by Webpack itself after running babel-loader. By default Webpack asumes that your target environment supports some ES2015 features, but you can overwrite this behavior using the output.environment Webpack option (documentation).
🌐
Mperdikeas
mperdikeas.github.io › babel-webpack.html.files › babel-preset-es2015-vs-es2016-browser.html
babel-preset-es2015 vs babel-preset-es2016 in the browser
For the browser (i.e. when the output of Babel is further processed by Webpack), you have to use the es2015 Babel preset and not the es2016 one (at least for the time of this writing, July 2016).
🌐
npm
npmjs.com › package › @babel › preset-es2015
@babel/preset-es2015 - npm
July 11, 2018 - Babel preset for all es2015 plugins.. Latest version: 7.0.0-beta.53, last published: 6 years ago. Start using @babel/preset-es2015 in your project by running `npm i @babel/preset-es2015`. There are 71 other projects in the npm registry using @babel/preset-es2015.
      » npm install @babel/preset-es2015
    
Published   Jul 11, 2018
Version   7.0.0-beta.53
Author   Sebastian McKenzie
🌐
DevDocs
devdocs.io › babel
DevDocs — Babel 7 documentation
Babel 7.21.4 API documentation with instant search, offline support, keyboard shortcuts, mobile version, and more.
🌐
dackdive's blog
dackdive.hateblo.jp › entry › 2018 › 01 › 18 › 100000
babel-preset-envの使い方(babel-preset-es2015からの移行) - dackdive's blog
January 18, 2018 - babel-preset-env は何もオプションを指定しなければ、全部 ES5 の記法にトランスパイルする · が、モダンなブラウザでは Class など ES2015+ の構文に対応しているので、サポート対象ブラウザに応じて必要なところまでトランスパイルするのが望ましい
🌐
Enyojs
nightly.enyojs.com › enyo-nightly-20180328015137 › sampler › node_modules › babel-preset-es2015
Index of /enyo-nightly-20180328015137/sampler/node_modules/babel-preset-es2015
Index of /enyo-nightly-20180328015137/sampler/node_modules/babel-preset-es2015 · Name Last modified Size Description · Parent Directory - README.md 2017-04-01 07:50 865 lib/ 2017-04-07 08:06 - package.json 2018-03-28 01:51 4.3K