mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Drop internal base config merge in metro-config (#36777)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/36777 Changelog: [Internal] Remove internal merge of `getDefaultConfig` (Metro base defaults) from `react-native/metro-config`. This is unnecessary given the config loading setup of RN CLI and Expo CLI, which use (or replicate) Metro's [`loadConfig`](https://github.com/facebook/metro/blob/1e47cb5b3cc289530fb18e402891f9d2816611dd/packages/metro-config/src/loadConfig.js#L182-L190) function — which will itself apply defaults appropriately. This relates to a previously-breaking behaviour documented in the test plan of https://github.com/react-native-community/cli/pull/1896 (independently fixed and no longer load-bearing) (**read: no need to cherry pick this change**). https://pxl.cl/2B8NS While this has no effect under the fixed RN CLI setup, this is a worthwhile simplification to this package that better-aligns with current Metro tooling expectations. ## Notes - `getDefaultConfig` no longer returns `ConfigT` (full config), and instead returns `MetroConfig` (partial config). This is non-breaking with the expected API of a given `metro.config.js` file. Reviewed By: cipolleschi Differential Revision: D44630645 fbshipit-source-id: 472c3967449dfb99f845a82d9e9c49efc343021c
This commit is contained in:
committed by
Facebook GitHub Bot
parent
e2116d277d
commit
1c4a505c17
@@ -8,9 +8,9 @@
|
||||
* @noformat
|
||||
*/
|
||||
|
||||
/*:: import type {ConfigT} from 'metro-config'; */
|
||||
/*:: import type {MetroConfig} from 'metro-config'; */
|
||||
|
||||
const {getDefaultConfig: getBaseConfig, mergeConfig} = require('metro-config');
|
||||
const {mergeConfig} = require('metro-config');
|
||||
|
||||
const INTERNAL_CALLSITES_REGEX = new RegExp(
|
||||
[
|
||||
@@ -37,8 +37,8 @@ const INTERNAL_CALLSITES_REGEX = new RegExp(
|
||||
*/
|
||||
function getDefaultConfig(
|
||||
projectRoot /*: string */
|
||||
) /*: ConfigT */ {
|
||||
const config = {
|
||||
) /*: MetroConfig */ {
|
||||
return {
|
||||
resolver: {
|
||||
resolverMainFields: ['react-native', 'browser', 'main'],
|
||||
platforms: ['android', 'ios'],
|
||||
@@ -76,11 +76,6 @@ function getDefaultConfig(
|
||||
},
|
||||
watchFolders: [],
|
||||
};
|
||||
|
||||
return mergeConfig(
|
||||
getBaseConfig.getDefaultValues(projectRoot),
|
||||
config,
|
||||
);
|
||||
}
|
||||
|
||||
module.exports = {getDefaultConfig, mergeConfig};
|
||||
|
||||
Reference in New Issue
Block a user