in packages/metro-config/src/loadConfig.js [99:168]
function mergeConfig<T: InputConfigT>(
defaultConfig: T,
...configs: Array<InputConfigT>
): T {
// If the file is a plain object we merge the file with the default config,
// for the function we don't do this since that's the responsibility of the user
return configs.reduce(
(totalConfig, nextConfig) => ({
...totalConfig,
...nextConfig,
cacheStores:
nextConfig.cacheStores != null
? typeof nextConfig.cacheStores === 'function'
? nextConfig.cacheStores(MetroCache)
: nextConfig.cacheStores
: totalConfig.cacheStores,
resolver: {
/* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment suppresses
* an error found when Flow v0.111 was deployed. To see the error,
* delete this comment and run Flow. */
...totalConfig.resolver,
...(nextConfig.resolver || {}),
dependencyExtractor:
nextConfig.resolver && nextConfig.resolver.dependencyExtractor != null
? resolve(nextConfig.resolver.dependencyExtractor)
: totalConfig.resolver.dependencyExtractor,
hasteImplModulePath:
nextConfig.resolver && nextConfig.resolver.hasteImplModulePath != null
? resolve(nextConfig.resolver.hasteImplModulePath)
: totalConfig.resolver.hasteImplModulePath,
},
serializer: {
/* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment suppresses
* an error found when Flow v0.111 was deployed. To see the error,
* delete this comment and run Flow. */
...totalConfig.serializer,
...(nextConfig.serializer || {}),
},
transformer: {
/* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment suppresses
* an error found when Flow v0.111 was deployed. To see the error,
* delete this comment and run Flow. */
...totalConfig.transformer,
...(nextConfig.transformer || {}),
babelTransformerPath:
nextConfig.transformer &&
nextConfig.transformer.babelTransformerPath != null
? resolve(nextConfig.transformer.babelTransformerPath)
: totalConfig.transformer.babelTransformerPath,
},
server: {
/* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment suppresses
* an error found when Flow v0.111 was deployed. To see the error,
* delete this comment and run Flow. */
...totalConfig.server,
...(nextConfig.server || {}),
},
symbolicator: {
/* $FlowFixMe(>=0.111.0 site=react_native_fb) This comment suppresses
* an error found when Flow v0.111 was deployed. To see the error,
* delete this comment and run Flow. */
...totalConfig.symbolicator,
...(nextConfig.symbolicator || {}),
},
}),
defaultConfig,
);
}