Use "babel-preset-react-native"

Summary:
Rather than specifying Babel plugins in the `.babelrc` packaged with react-native, leverage a Babel preset to define the plugins (https://github.com/exponentjs/babel-preset-react-native).

This allows for a much better user experience for those who want (or need) to override options in their project's `.babelrc`.

Prior to this PR, if a user wanted to use a custom babel-plugin (or a custom set of babel plugins), they'd have either 1) manually override the `.babelrc` in the react-packager directory (or fork RN), or 2) specify a custom transformer to use when running the packager that loaded their own `.babelrc`. Note - the custom transformer was necessary because without it, RN's `.babelrc` options would supersede the options defined in the project's `.babelrc`...potentially causing issues with plugin ordering.

This PR makes the transformer check for the existence of a project-level `.babelrc`, and if it it's there, it _doesn't_ use the react-native `.babelrc`. This prevents any oddities with Babel plug
Closes https://github.com/facebook/react-native/pull/5214

Reviewed By: davidaurelio

Differential Revision: D2881814

Pulled By: martinbigio

fb-gh-sync-id: 4168144b7a365fae62bbeed094d8a03a48b4798c
This commit is contained in:
Adam Miskiewicz
2016-02-03 08:14:38 -08:00
committed by facebook-github-bot-3
parent 34389c529d
commit e6cb02d61a
19 changed files with 2071 additions and 4798 deletions

View File

@@ -15,7 +15,6 @@ useGracefulFs();
var debug = require('debug');
var omit = require('underscore').omit;
var Activity = require('./src/Activity');
var Transforms = require('./src/transforms');
exports.createServer = createServer;
exports.middleware = function(options) {
@@ -24,7 +23,6 @@ exports.middleware = function(options) {
};
exports.Activity = Activity;
exports.getTransforms = Transforms.getAll;
// Renamed "package" to "bundle". But maintain backwards
// compat.