Skip to content

Emit umbrella header includes from codegen - #58730

Open
j-piasecki wants to merge 1 commit into
react:mainfrom
j-piasecki:export-D122317911
Open

j-piasecki wants to merge 1 commit into
react:mainfrom
j-piasecki:export-D122317911

Conversation

@j-piasecki

@j-piasecki j-piasecki commented Sep 29, 2026 •

Copy link
Copy Markdown
Contributor

Summary:
Codegen output is compiled in consumer targets, so it now includes React Native through module umbrella headers (<React/RendererCore.h>, <React/Graphics.h>, <React/NativeModuleCore.h>, etc.) instead of fine-grained paths, which hard-error under RN_STRICT_API.

The one exception is <react/renderer/debug/debugStringConvertibleUtils.h>, which Props.cpp still includes directly alongside <React/RendererDebug.h>. It is a private header not re-exported by any umbrella, but it is only emitted together with the getDebugProps implementation, which is generated solely for React Native's own core components library (FBReactNativeSpec). That library is built as part of React Native (RN_BUILDING), so the private-header guard does not apply.

Changelog:
[General][Changed] - Codegen-generated C++ includes React Native through module umbrella headers

Differential Revision: D122317911

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Sep 29, 2026
@facebook-github-tools facebook-github-tools Bot added p: Software Mansion Partner: Software Mansion Partner labels Sep 29, 2026
@meta-codesync

meta-codesync Bot commented Sep 29, 2026

Copy link
Copy Markdown

@j-piasecki has exported this pull request. If you are a Meta employee, you can view the originating Diff in D122317911.

@facebook-github-tools facebook-github-tools Bot added the p: Facebook Partner: Facebook label Sep 29, 2026
@meta-codesync meta-codesync Bot changed the title Emit umbrella header includes from codegen Emit umbrella header includes from codegen (#58730) Sep 29, 2026
j-piasecki added a commit to j-piasecki/react-native that referenced this pull request Sep 29, 2026
Summary:

Codegen output is compiled in consumer targets, so it now includes React Native through module umbrella headers (`<React/RendererCore.h>`, `<React/Graphics.h>`, `<React/NativeModuleCore.h>`, etc.) instead of fine-grained paths, which hard-error under `RN_STRICT_API`.

Changelog:
[General][Changed] - Codegen-generated C++ includes React Native through module umbrella headers

Differential Revision: D122317911
Summary:
Codegen output is compiled in consumer targets, so it now includes React Native through module umbrella headers (`<React/RendererCore.h>`, `<React/Graphics.h>`, `<React/NativeModuleCore.h>`, etc.) instead of fine-grained paths, which hard-error under `RN_STRICT_API`.

The one exception is `<react/renderer/debug/debugStringConvertibleUtils.h>`, which `Props.cpp` still includes directly alongside `<React/RendererDebug.h>`. It is a private header not re-exported by any umbrella, but it is only emitted together with the `getDebugProps` implementation, which is generated solely for React Native's own core components library (`FBReactNativeSpec`). That library is built as part of React Native (`RN_BUILDING`), so the private-header guard does not apply.

Changelog:
[General][Changed] - Codegen-generated C++ includes React Native through module umbrella headers

Differential Revision: D122317911
@meta-codesync meta-codesync Bot changed the title Emit umbrella header includes from codegen (#58730) Emit umbrella header includes from codegen Sep 29, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant