Add babel plugin to @react-native/babel-preset
for console.warn
injection under deep react native imports
#50802
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary:
The plugin analyses the source of all
import
,require
, andexport
statements and injects theconsole.warn
statement for each path targeting deep react-native source code. It runs only on a dev mode so there is no need to keep that in theif (__DEV__)
block. It is possible to disable this plugin by settingdisableDeepImportWarnings: true
and resetting the Metro cache:Changelog:
[General][Internal] - Added plugin to react-native/babel-preset injecting
console.warn
for each react native deep import in dev mode.For a given code:
The transformed output should look like:
For more information about why this plugin was needed, please check RFC.
Reviewed By: huntie
Differential Revision: D70783145