react-native/babel-preset
Miguel Jimenez Esun 3103258ca0 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: D5388655

fbshipit-source-id: dc403f3d5e2d807529eb8569a85c45fec36a6a3e
2017-07-19 11:04:33 -07:00
..
configs Revert D5409825: [RN] Convert easy files to Prettier 2017-07-12 19:23:58 -07:00
lib Revert D5409825: [RN] Convert easy files to Prettier 2017-07-12 19:23:58 -07:00
transforms Revert D5409825: [RN] Convert easy files to Prettier 2017-07-12 19:23:58 -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 BREAKING: Add regenerator-runtime on demand, based on the files 2017-07-19 11:04:33 -07:00
plugins.js Revert D5409825: [RN] Convert easy files to Prettier 2017-07-12 19:23:58 -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.