Default enableBabelRCLookup (recursive) to false

Summary:
This is a breaking change that tells Metro to look at only the project's .babelrc file. Previously it would look at .babelrc files under node_modules and would run into issues because it didn't have the version of Babel nor the plugins/presets that `node_modules/randompackage/.babelrc` wanted. So as a workaround, people would write a postinstall step that deletes `node_modules/**/.babelrc`, which worked well. This flag (`getEnableBabelRCLookup = false`) has the same effect and hopefully fixes one source of cryptic bugs people run into.

To use the old behavior, create a config file named `rn-cli.config.js` with:
```js
module.exports = {
  getEnableBabelRCLookup() {
    return true;
  },
};
```

Go under node_modules, modify a used module to have a dummy .babelrc (`{"plugins": ["dummy"]}`) and ensure the JS bundle still loads.
Closes https://github.com/facebook/react-native/pull/15860

Differential Revision: D5798264

Pulled By: jeanlauliac

fbshipit-source-id: ce368b1d5671cc6c6261cbe3c39e61c9401fe37a
This commit is contained in:
James Ide 2017-09-11 03:33:14 -07:00 committed by Facebook Github Bot
parent c55fae1e26
commit 023ac57337
1 changed files with 1 additions and 1 deletions

View File

@ -189,7 +189,7 @@ const Config = {
extraNodeModules: Object.create(null),
getAssetExts: () => [],
getBlacklistRE: () => blacklist(),
getEnableBabelRCLookup: () => true,
getEnableBabelRCLookup: () => false,
getPlatforms: () => [],
getPolyfillModuleNames: () => [],
getProjectRoots: () => {