A framework for building native applications using React
Community CLI: Don't clobber user config of Metro resolver/serializer, expose CLI config to user as defaults (#51836)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/51836 Currently, `community-cli-plugin` loads the user config and then overrides parts of it - specifically `resolver.resolveRequest` and `serializer.getModulesRunBeforeMainModule`, making it impossible for a user to modify this config. Instead, treat the CLI's resolver and serializer customisations as "Framework defaults", layered on top of `react-native/metro-config` defaults but beneath a user's `metro.config.js`. This allows the user to obtain (via `react-native/metro-config`'s `getDefaultConfig`) and extend or override them, if they need to. This is technically breaking because users who currently have a custom `resolveRequest` or `getModulesRunBeforeMainModule` in their `metro.config.js` will have that config respected from this change, whereas currently they won't have any effect. Changelog: [General][Breaking] Community CLI users: user-defined `resolver.resolveRequest` and `serializer.getModulesRunBeforeMainModule` Metro config now takes precedence over CLI defaults Reviewed By: huntie Differential Revision: D74811395 fbshipit-source-id: c250caf798fdaedb0822bea3d6e65c0c3ae4d691
R
Rob Hogan committed
fe2bcbf4ba7ce983fac0cd09727c165517b6337f
Parent: 85498ad
Committed by Facebook GitHub Bot <[email protected]>
on 6/9/2025, 2:44:02 PM