react-native/babel-preset
Dylan Vann 30b057fa9c Add babel-plugin-transform-exponentiation-operator to babel-preset-react-native
Summary:
Adds the dependency to the Babel preset's package.json and enables the plugin only when `**` exists in a source file.

This is https://github.com/facebook/react-native/pull/12339 with merge conflicts resolved and putting the plugin behind a cheaper heuristic.
Closes https://github.com/facebook/react-native/pull/16191

Differential Revision: D6023857

Pulled By: hramos

fbshipit-source-id: 16f4a5f14780c27d2ef95fa7e8d8b611fa992aa0
2017-10-18 16:46:49 -07:00
..
configs Add babel-plugin-transform-exponentiation-operator to babel-preset-react-native 2017-10-18 16:46:49 -07:00
lib Revert D5409825: [RN] Convert easy files to Prettier 2017-07-12 19:23:58 -07:00
transforms Revert "Add a new babel transformer for inlining regenerator-runtime per file" 2017-08-23 08:06:11 -07:00
README.md Use "babel-preset-react-native" 2016-02-03 08:15:32 -08:00
index.js Revert D5409825: [RN] Convert easy files to Prettier 2017-07-12 19:23:58 -07:00
package.json Add babel-plugin-transform-exponentiation-operator to babel-preset-react-native 2017-10-18 16:46:49 -07:00
plugins.js RN babel preset: add import() syntax 2017-08-15 08:19:27 -07:00

README.md

babel-preset-react-native

Babel presets for React Native applications. React Native itself uses this Babel preset by default when transforming your app's source code.

If you wish to use a custom Babel configuration by writing a .babelrc file in your project's root directory, you must specify all the plugins necessary to transform your code. React Native does not apply its default Babel configuration in this case. So, to make your life easier, you can use this preset to get the default configuration and then specify more plugins that run before it.

Usage

As mentioned above, you only need to use this preset if you are writing a custom .babelrc file.

Installation

Install babel-preset-react-native in your app:

npm i babel-preset-react-native --save-dev

Configuring Babel

Then, create a file called .babelrc in your project's root directory. The existence of this .babelrc file will tell React Native to use your custom Babel configuration instead of its own. Then load this preset:

{
  "presets": ["react-native"]
}

You can further customize your Babel configuration by specifying plugins and other options. See Babel's .babelrc documentation to learn more.

Help and Support

If you get stuck configuring Babel, please ask a question on Stack Overflow or find a consultant for help. If you discover a bug, please open up an issue.