react-native/babel-preset
Miguel Jimenez Esun 361f03badb BREAKING: Add regenerator-runtime on demand, based on the files
Summary:
Adding a Babel plugin that will analyze the file looking for any potential candidate to use `regenerator-runtime`, and if so, will inject dynamically the module. The module is injected per file, so we avoid polluting the global environment. The plugin is also able to inject the `require` call beforehand, so that the inliner can pick them and inline them.

The Babel plugin is part of `react-native-babel-preset`, so as long as you are using this preset you are safe. If not, you should include the specific transformer into your list of plugins, as `react-native-babel-preset/transforms/transform-regenerator-runtime-insertion.js`.

Reviewed By: davidaurelio

Differential Revision: D5321193

fbshipit-source-id: fd4805b28c8a2b986842e23570a64003370d2067
2017-07-07 07:47:13 -07:00
..
2016-02-03 08:15:32 -08:00
2016-02-03 08:15:32 -08:00
2016-05-26 13:43:29 -07:00
2016-02-03 08:15:32 -08:00

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.