react-native/local-cli/util
eacaps e53046b9ec pass polyfillModuleNames into packager
Summary:
After examining how React Native sets up `process.env.NODE_ENV` using `global.__DEV__` from `prelude_dev.js` or `prelude.js` by treating them like polyfills I decided to use the same approach for environment variables. I setup my own rn-project.config.js file like so:

```
const blacklist = require('react-native/packager/blacklist');
const pathJoin = require('path').join;

module.exports = {
  getBlacklistRE: function() {
    return blacklist([/build\/.*/, /app\/assets\/webpack.*/]);
  },
  polyfillModuleNames: [pathJoin(__dirname, 'globals.js')]
};
```

I ran the packaging server using:
`react-native start --config=config/react-native/rn-project.config.js --reset-cache`

I expected my polyfillModuleNames to be passed into the Packager properly and be handled the same way the built-in polyfills worked. Unfortunately I noticed the Packager wasn't actually getting `opt.polyfillModuleNames`. Digging into the code a bit, it seems the local-cli wasn't passing the polyfillModuleNames from the config.

There are no specs for runServer.js but this change can be tested by using a config that contains polyfillModuleNames. Sample config and run command provided above simple `global.js` provided below:

```
global.process = global.process ? global.process : {};
global.process.env = global.process.env ? global.process.env : {};
global.process.env['PROJECT_ENV'] = 'staging';
```
Closes https://github.com/facebook/react-native/pull/13725

Differential Revision: D5077615

Pulled By: jeanlauliac

fbshipit-source-id: f66a8a8bda2702cd9a4e5b92f5335f43ab2f9089
2017-05-17 05:03:41 -07:00
..
__mocks__ Revert "Add folders to attempt to unblock sync" 2015-10-26 22:48:10 +00:00
Config.js pass polyfillModuleNames into packager 2017-05-17 05:03:41 -07:00
PackageManager.js Stop yarn error message appearing for Windows users of local-cli 2017-04-07 11:17:00 -07:00
assertRequiredOptions.js Merge `rnpm cli` into react-native 2016-07-30 09:13:46 -07:00
copyAndReplace.js Rewrite 'react-native init' and 'react-native upgrade' without using Yeoman in preparation for templates support 2016-11-18 18:28:51 -08:00
findSymlinksPaths.js Add symlinks under node_modules as part of projectRoots 2017-01-31 03:43:39 -08:00
isPackagerRunning.js Fix comment typos 2016-06-03 02:43:57 -07:00
isValidPackageName.js Move `private-cli` commands to `local-cli` 2015-10-26 15:36:04 -07:00
log.js Add ability to silence packager logs to stdout 2016-03-15 12:10:31 -07:00
parseCommandLine.js Merge `rnpm cli` into react-native 2016-07-30 09:13:46 -07:00
walk.js Move `private-cli` commands to `local-cli` 2015-10-26 15:36:04 -07:00
yarn.js Stop yarn error message appearing for Windows users of local-cli 2017-04-07 11:17:00 -07:00