11# Prebuilt ReactNativeDependencies — self-serving headers + deps facades
22
3- How the third-party C/C++ deps (` RCT-Folly ` , ` glog ` , ` boost ` , ` DoubleConversion ` ,
4- ` fmt ` , ` fast_float ` , ` SocketRocket ` ) are served when
3+ How the third-party C/C++ deps (` RCT-Folly ` , ` glog ` , ` boost ` ,
4+ ` DoubleConversion ` , ` fmt ` , ` fast_float ` , ` SocketRocket ` ) are served when
55` ReactNativeDependenciesUtils.build_react_native_deps_from_source() ` is false
66(prebuilt-deps mode). Source-deps mode is unaffected by everything below.
77
88## Pod-served headers, CocoaPods only (` rndependencies.rb ` )
99
10- In prebuilt-deps mode the ` ReactNativeDependencies ` POD (CocoaPods) is the single authority
11- for the third-party deps: compiled code lives in its xcframework binary, and the
12- artifact's own `Headers/{folly,glog,boost,fmt,double-conversion,fast_float,
13- SocketRocket}` are flattened into the pod's ` Headers/` by the podspec's
14- ` prepare_command ` . Consumers resolve bare ` <folly/...> ` / ` <SocketRocket/...> `
15- via CocoaPods public-header linkage from ` s.dependency "ReactNativeDependencies" ` ,
16- plus an explicit ` HEADER_SEARCH_PATHS ` entry
17- (` $(PODS_ROOT)/ReactNativeDependencies/Headers ` ). The real source pods are neither depended on nor searched.
10+ In prebuilt-deps mode the ` ReactNativeDependencies ` POD (CocoaPods) is the
11+ single authority for the third-party deps: compiled code lives in its
12+ xcframework binary, and the artifact's own
13+ ` Headers/{folly,glog,boost,fmt,double-conversion,fast_float, SocketRocket} ` are
14+ flattened into the pod's ` Headers/ ` by the podspec's ` prepare_command ` .
15+ Consumers resolve bare ` <folly/...> ` / ` <SocketRocket/...> ` via CocoaPods
16+ public-header linkage from ` s.dependency "ReactNativeDependencies" ` , plus an
17+ explicit ` HEADER_SEARCH_PATHS ` entry
18+ (` $(PODS_ROOT)/ReactNativeDependencies/Headers ` ). The real source pods are
19+ neither depended on nor searched.
1820
1921NOTE: this is a CocoaPods-level contract. The deps XCFRAMEWORK itself is NOT
2022self-serving: it is framework-type without ` HeadersPath ` , so its root ` Headers/ `
@@ -42,22 +44,23 @@ compile from source next to the prebuilt binary. `RNDepsFacades` generates
4244dependency-only facade podspecs (` build/rndeps-facades/<Name>/ ` ), installed as
4345LOCAL pods (` :path ` , so Podfile-local resolution beats trunk, nothing fetched):
4446no sources, no headers, single dependency on ` ReactNativeDependencies ` .
45- Versions + subspecs are DERIVED from the real podspecs in ` third-party-podspecs/ `
46- (RCT-Folly keeps ` /Default ` + ` /Fabric ` , ` default_subspecs = ["Default"] ` ).
47- SocketRocket has no local podspec — its facade version is SYNTHESIZED from
47+ Versions + subspecs are DERIVED from the real podspecs in
48+ ` third-party-podspecs/ ` (RCT-Folly keeps ` /Default ` + ` /Fabric ` ,
49+ ` default_subspecs = ["Default"] ` ). SocketRocket has no local podspec — its
50+ facade version is SYNTHESIZED from
4851` Helpers::Constants::socket_rocket_config[:version] ` , fail-closed if absent.
4952` :modular_headers ` is intentionally dropped on facade declarations: a
5053dependency-only placeholder builds no module; consumers get modules from
5154` ReactNativeDependencies ` .
5255
5356## Mode × supplier table
5457
55- | core × deps | real 3P pods in graph | SocketRocket headers supplier |
56- | ---| ---| ---|
57- | source + source | yes (` react_native_pods.rb ` deps-source branch) | real pod |
58- | source + prebuilt | no | RNDeps artifact (sole supplier) |
59- | prebuilt + source | yes | real pod |
60- | prebuilt + prebuilt | no | RNDeps artifact |
58+ | core × deps | real 3P pods in graph | SocketRocket headers supplier |
59+ | ------------------- | ----------------------------------------------- | ------------------------------- |
60+ | source + source | yes (` react_native_pods.rb ` deps-source branch) | real pod |
61+ | source + prebuilt | no | RNDeps artifact (sole supplier) |
62+ | prebuilt + source | yes | real pod |
63+ | prebuilt + prebuilt | no | RNDeps artifact |
6164
6265## SocketRocket privacy manifest
6366
@@ -67,6 +70,5 @@ work: the deps prebuild (`scripts/releases/ios-prebuild/configuration.js`) now
6770embeds ` ReactNativeDependencies_SocketRocket.bundle/PrivacyInfo.xcprivacy ` ,
6871sourced from an RN-authored manifest at
6972` scripts/releases/ios-prebuild/resources/SocketRocket/PrivacyInfo.xcprivacy `
70- (accurate-empty:
71- SocketRocket uses no Required Reason APIs). Facades remain resource-free by
72- design.
73+ (accurate-empty: SocketRocket uses no Required Reason APIs). Facades remain
74+ resource-free by design.
0 commit comments