Summary: This makes the Metro config type readonly, only a couple of things inside Metro needed to be tweaked :)

Reviewed By: mjesun

Differential Revision: D10028083

fbshipit-source-id: 15f5d957a8ee7384d6156c973639d86240fd251f
This commit is contained in:
Rafael Oleza 2018-09-26 16:45:44 -07:00 коммит произвёл Facebook Github Bot
Родитель 4052816467
Коммит 2c1057062e
2 изменённых файлов: 11 добавлений и 0 удалений

Просмотреть файл

@ -131,12 +131,16 @@ async function getCliConfig(): Promise<RNConfig> {
cliArgs.config != null ? path.resolve(__dirname, cliArgs.config) : null, cliArgs.config != null ? path.resolve(__dirname, cliArgs.config) : null,
); );
// $FlowFixMe Metro configuration is immutable.
config.transformer.assetRegistryPath = ASSET_REGISTRY_PATH; config.transformer.assetRegistryPath = ASSET_REGISTRY_PATH;
// $FlowFixMe Metro configuration is immutable.
config.resolver.hasteImplModulePath = config.resolver.hasteImplModulePath =
config.resolver.hasteImplModulePath || defaultConfig.hasteImplModulePath; config.resolver.hasteImplModulePath || defaultConfig.hasteImplModulePath;
// $FlowFixMe Metro configuration is immutable.
config.resolver.platforms = config.resolver.platforms config.resolver.platforms = config.resolver.platforms
? config.resolver.platforms.concat(defaultConfig.getPlatforms()) ? config.resolver.platforms.concat(defaultConfig.getPlatforms())
: defaultConfig.getPlatforms(); : defaultConfig.getPlatforms();
// $FlowFixMe Metro configuration is immutable.
config.resolver.providesModuleNodeModules = config.resolver config.resolver.providesModuleNodeModules = config.resolver
.providesModuleNodeModules .providesModuleNodeModules
? config.resolver.providesModuleNodeModules.concat( ? config.resolver.providesModuleNodeModules.concat(

Просмотреть файл

@ -54,12 +54,19 @@ async function runServer(args: Args, config: ConfigT) {
args.watchFolders.forEach(middlewareManager.serveStatic); args.watchFolders.forEach(middlewareManager.serveStatic);
// $FlowFixMe Metro configuration is immutable.
config.maxWorkers = args.maxWorkers; config.maxWorkers = args.maxWorkers;
// $FlowFixMe Metro configuration is immutable.
config.server.port = args.port; config.server.port = args.port;
// $FlowFixMe Metro configuration is immutable.
config.reporter = reporter; config.reporter = reporter;
// $FlowFixMe Metro configuration is immutable.
config.resetCache = args.resetCache; config.resetCache = args.resetCache;
// $FlowFixMe Metro configuration is immutable.
config.projectRoot = args.projectRoot; config.projectRoot = args.projectRoot;
// $FlowFixMe Metro configuration is immutable.
config.watchFolders = args.watchFolders.slice(0); config.watchFolders = args.watchFolders.slice(0);
// $FlowFixMe Metro configuration is immutable.
config.server.enhanceMiddleware = middleware => config.server.enhanceMiddleware = middleware =>
middlewareManager.getConnectInstance().use(middleware); middlewareManager.getConnectInstance().use(middleware);