Conversation
|
@coado has exported this pull request. If you are a Meta employee, you can view the originating Diff in D122337018. |
Summary: Move View CSS parsing implementation details for color and length coercion, box shadows, and filters from exported headers into compiled source files. Keep only the supported `coerceColor`, `coerceLength`, and `fromRawValue` declarations in public headers while preserving existing parsing behavior. Update existing conversion tests to exercise the same paths through the public entry points, and regenerate the C++ API snapshots to remove private helper declarations. Changelog: [Internal] Differential Revision: D119507169
Summary: Move CSS-dependent View conversion implementations for Yoga lengths, value units, transforms, transform origins, and aspect ratios from the exported `conversions.h` header into `conversions.cpp`. Keep the supported conversion declarations public and preserve existing parsing behavior. Update existing conversion tests to exercise the same paths through supported public entry points, and regenerate the C++ API snapshots to remove private helper declarations. Changelog: [Internal] Differential Revision: D119507215
Summary: Reclassify the CSS-dependent View conversion headers as private implementation details: - `BackgroundImagePropsConversions.h` - `BoxShadowPropsConversions.h` - `CSSConversions.h` - `FilterPropsConversions.h` - `propsConversions.h` These headers now use the private guard and are removed from the `<React/View.h>` umbrella, along with `conversions.h` and `accessibilityPropsConversions.h`. `LayoutConformanceProps.h` now includes the public `conversions.h` and core `propsConversions.h` instead of the private View `propsConversions.h`, so the umbrella stays self-contained under the strict API. Following the Graphics module, renderer CSS becomes an implementation dependency of View in Buck instead of an exported one. Header publishing in Buck, CocoaPods, SwiftPM, and Gradle prefab is unchanged, consistent with other private headers, and the C++ API snapshots are unchanged. Changelog: [Internal] Differential Revision: D119970889
Summary: Reclassify the renderer CSS headers (`react/renderer/css/*.h`) as framework-tier APIs by switching them from the public umbrella guard to the for-frameworks guard. Framework integrations keep access to the fine-grained headers and acknowledge that usage by defining `RN_ALLOW_FRAMEWORKS`. Remove the `React/CSS.h` umbrella, which has no consumers, and stop publishing it from Buck, CocoaPods, Android prefab, the iOS prebuild header config, and the iOS prebuild header linking step. Changelog: [Internal] Differential Revision: D119642784
Summary: Pull Request resolved: react#58789 The renderer CSS headers are framework-tier APIs, but several of them included fine-grained public `react/utils/*` headers directly. Those headers are guarded by the public umbrella guard, so a strict consumer that includes a CSS header without first including `<React/Utils.h>` hit a hard error even after acknowledging framework-tier usage with `RN_ALLOW_FRAMEWORKS`. Include `<React/Utils.h>` from the affected CSS headers instead of the fine-grained utils headers, matching how other exported headers reach public modules. Export the utils dependency from the CSS Buck target, since utils is now part of the CSS headers' public interface; CMake and CocoaPods already expose it. Changelog: [Internal] Reviewed By: cipolleschi Differential Revision: D122337018
coado
force-pushed
the
export-D122337018
branch
from
October 2, 2026 11:03
48f038c to
84298a0
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 renderer CSS headers are framework-tier APIs, but several of them included fine-grained public
react/utils/*headers directly. Those headers are guarded by the public umbrella guard, so a strict consumer that includes a CSS header without first including<React/Utils.h>hit a hard error even after acknowledging framework-tier usage withRN_ALLOW_FRAMEWORKS.Include
<React/Utils.h>from the affected CSS headers instead of the fine-grained utils headers, matching how other exported headers reach public modules. Export the utils dependency from the CSS Buck target, since utils is now part of the CSS headers' public interface; CMake and CocoaPods already expose it.Changelog: [Internal]
Reviewed By: cipolleschi
Differential Revision: D122337018