f5edabf3db
Summary:PR does as it says -- updates Babel dependencies to latest versions. In general, this changes nothing for 99.9% of users (everyone that isn't FB). If they were to `npm install react-native` right now, they would get all of these dependencies anyway. However, this does revert a previous change where we were using "~" instead of "^" in front of the Babel deps in order to attempt to lock them to minor dependencies. However, due to the fact that each Babel package uses "^", and there are so many interdependencies, this actually would cause an issue where multiple versions of babel-core, et. al. to be installed. *Edit* - In addition, we add React to `devDependencies` so that it behaves properly in testing, now that it's a peer dependency. Closes https://github.com/facebook/react-native/pull/5811 Reviewed By: davidaurelio Differential Revision: D2931184 Pulled By: martinbigio fb-gh-sync-id: 7b9fc640d37fb2d98fc1808860f9f64074aff475 shipit-source-id: 7b9fc640d37fb2d98fc1808860f9f64074aff475 |
||
---|---|---|
.. | ||
configs | ||
lib | ||
transforms | ||
README.md | ||
index.js | ||
package.json | ||
plugins.js |
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.