react-native-tvos 0.72.4-0rc0 → 0.72.5-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/Components/Pressable/Pressable.js +11 -5
- package/Libraries/Components/ScrollView/ScrollView.d.ts +7 -0
- package/Libraries/Components/ScrollView/ScrollView.js +8 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +1 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponentType.js +1 -0
- package/Libraries/Components/ScrollView/ScrollViewViewConfig.js +1 -0
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/README-core.md +147 -0
- package/README.md +32 -39
- package/React/Base/RCTBundleURLProvider.h +33 -2
- package/React/Base/RCTBundleURLProvider.mm +78 -15
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTTiming.mm +5 -0
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +4 -0
- package/React/Fabric/RCTThirdPartyFabricComponentsProvider.h +29 -0
- package/React/Fabric/RCTThirdPartyFabricComponentsProvider.mm +29 -0
- package/React/Views/ScrollView/RCTScrollView.h +1 -0
- package/React/Views/ScrollView/RCTScrollView.m +12 -0
- package/React/Views/ScrollView/RCTScrollViewManager.m +1 -0
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/hermes-engine/build.gradle +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/MaintainVisibleScrollPositionHelper.java +4 -0
- package/ReactAndroid/src/main/jni/CMakeLists.txt +5 -0
- package/ReactCommon/React-Fabric.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/jsc/JSCRuntime.cpp +10 -0
- package/ReactCommon/react/debug/React-debug.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
- package/ReactCommon/react/renderer/components/rncore/ComponentDescriptors.h +29 -0
- package/ReactCommon/react/renderer/components/rncore/EventEmitters.cpp +111 -0
- package/ReactCommon/react/renderer/components/rncore/EventEmitters.h +186 -0
- package/ReactCommon/react/renderer/components/rncore/Props.cpp +157 -0
- package/ReactCommon/react/renderer/components/rncore/Props.h +395 -0
- package/ReactCommon/react/renderer/components/rncore/RCTComponentViewHelpers.h +257 -0
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.cpp +26 -0
- package/ReactCommon/react/renderer/components/rncore/ShadowNodes.h +111 -0
- package/ReactCommon/react/renderer/components/rncore/States.cpp +18 -0
- package/ReactCommon/react/renderer/components/rncore/States.h +141 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.cpp +15 -1
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewProps.h +1 -0
- package/ReactCommon/react/renderer/core/RawPropsKeyMap.cpp +2 -0
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +1 -0
- package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +4 -4
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +1 -1
- package/ReactCommon/react/renderer/imagemanager/platform/ios/React-ImageManager.podspec +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
- package/ReactCommon/react/utils/React-utils.podspec +1 -1
- package/package.json +7 -6
- package/scripts/cocoapods/helpers.rb +16 -0
- package/scripts/cocoapods/utils.rb +98 -8
- package/scripts/react_native_pods.rb +6 -2
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/utils/build-apple-framework.sh +8 -1
- package/sdks/hermes-engine/utils/build-hermes-xcode.sh +8 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/template/ios/HelloWorld.xcodeproj/project.pbxproj +95 -13
- package/template/package.json +5 -4
- package/types/index.d.ts +1 -0
- package/types/public/ReactNativeTVTypes.d.ts +192 -0
- package/scripts/cocoapods/__tests__/codegen-test.rb +0 -242
- package/scripts/cocoapods/__tests__/codegen_utils-test.rb +0 -602
- package/scripts/cocoapods/__tests__/fabric-test.rb +0 -68
- package/scripts/cocoapods/__tests__/flipper-test.rb +0 -161
- package/scripts/cocoapods/__tests__/jsengine-test.rb +0 -130
- package/scripts/cocoapods/__tests__/local_podspec_patch-test.rb +0 -167
- package/scripts/cocoapods/__tests__/new_architecture-test.rb +0 -303
- package/scripts/cocoapods/__tests__/test_utils/CodegenScriptPhaseExtractorMock.rb +0 -21
- package/scripts/cocoapods/__tests__/test_utils/CodegenUtilsMock.rb +0 -108
- package/scripts/cocoapods/__tests__/test_utils/DirMock.rb +0 -72
- package/scripts/cocoapods/__tests__/test_utils/EnvironmentMock.rb +0 -21
- package/scripts/cocoapods/__tests__/test_utils/FileMock.rb +0 -113
- package/scripts/cocoapods/__tests__/test_utils/FileUtilsMock.rb +0 -40
- package/scripts/cocoapods/__tests__/test_utils/FinderMock.rb +0 -28
- package/scripts/cocoapods/__tests__/test_utils/InstallerMock.rb +0 -222
- package/scripts/cocoapods/__tests__/test_utils/LocalPodspecPatchMock.rb +0 -14
- package/scripts/cocoapods/__tests__/test_utils/Open3Mock.rb +0 -43
- package/scripts/cocoapods/__tests__/test_utils/PathnameMock.rb +0 -42
- package/scripts/cocoapods/__tests__/test_utils/PodMock.rb +0 -144
- package/scripts/cocoapods/__tests__/test_utils/SpecMock.rb +0 -30
- package/scripts/cocoapods/__tests__/test_utils/SysctlCheckerMock.rb +0 -21
- package/scripts/cocoapods/__tests__/test_utils/TargetDefinitionMock.rb +0 -12
- package/scripts/cocoapods/__tests__/test_utils/podSpy.rb +0 -39
- package/scripts/cocoapods/__tests__/test_utils/systemUtils.rb +0 -14
- package/scripts/cocoapods/__tests__/utils-test.rb +0 -766
- package/scripts/codegen/__test_fixtures__/fixtures.js +0 -132
- package/scripts/codegen/__tests__/generate-artifacts-executor-test.js +0 -500
- package/scripts/codegen/__tests__/generate-specs-cli-executor-test.js +0 -88
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateShadowNodeH.js
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#pragma once
|
|
12
|
+
|
|
13
|
+
#include <react/renderer/components/rncore/EventEmitters.h>
|
|
14
|
+
#include <react/renderer/components/rncore/Props.h>
|
|
15
|
+
#include <react/renderer/components/rncore/States.h>
|
|
16
|
+
#include <react/renderer/components/view/ConcreteViewShadowNode.h>
|
|
17
|
+
#include <jsi/jsi.h>
|
|
18
|
+
|
|
19
|
+
namespace facebook {
|
|
20
|
+
namespace react {
|
|
21
|
+
|
|
22
|
+
JSI_EXPORT extern const char AndroidHorizontalScrollContentViewComponentName[];
|
|
23
|
+
|
|
24
|
+
/*
|
|
25
|
+
* `ShadowNode` for <AndroidHorizontalScrollContentView> component.
|
|
26
|
+
*/
|
|
27
|
+
using AndroidHorizontalScrollContentViewShadowNode = ConcreteViewShadowNode<
|
|
28
|
+
AndroidHorizontalScrollContentViewComponentName,
|
|
29
|
+
AndroidHorizontalScrollContentViewProps,
|
|
30
|
+
AndroidHorizontalScrollContentViewEventEmitter,
|
|
31
|
+
AndroidHorizontalScrollContentViewState>;
|
|
32
|
+
|
|
33
|
+
JSI_EXPORT extern const char AndroidSwipeRefreshLayoutComponentName[];
|
|
34
|
+
|
|
35
|
+
/*
|
|
36
|
+
* `ShadowNode` for <AndroidSwipeRefreshLayout> component.
|
|
37
|
+
*/
|
|
38
|
+
using AndroidSwipeRefreshLayoutShadowNode = ConcreteViewShadowNode<
|
|
39
|
+
AndroidSwipeRefreshLayoutComponentName,
|
|
40
|
+
AndroidSwipeRefreshLayoutProps,
|
|
41
|
+
AndroidSwipeRefreshLayoutEventEmitter,
|
|
42
|
+
AndroidSwipeRefreshLayoutState>;
|
|
43
|
+
|
|
44
|
+
JSI_EXPORT extern const char PullToRefreshViewComponentName[];
|
|
45
|
+
|
|
46
|
+
/*
|
|
47
|
+
* `ShadowNode` for <PullToRefreshView> component.
|
|
48
|
+
*/
|
|
49
|
+
using PullToRefreshViewShadowNode = ConcreteViewShadowNode<
|
|
50
|
+
PullToRefreshViewComponentName,
|
|
51
|
+
PullToRefreshViewProps,
|
|
52
|
+
PullToRefreshViewEventEmitter,
|
|
53
|
+
PullToRefreshViewState>;
|
|
54
|
+
|
|
55
|
+
JSI_EXPORT extern const char AndroidDrawerLayoutComponentName[];
|
|
56
|
+
|
|
57
|
+
/*
|
|
58
|
+
* `ShadowNode` for <AndroidDrawerLayout> component.
|
|
59
|
+
*/
|
|
60
|
+
using AndroidDrawerLayoutShadowNode = ConcreteViewShadowNode<
|
|
61
|
+
AndroidDrawerLayoutComponentName,
|
|
62
|
+
AndroidDrawerLayoutProps,
|
|
63
|
+
AndroidDrawerLayoutEventEmitter,
|
|
64
|
+
AndroidDrawerLayoutState>;
|
|
65
|
+
|
|
66
|
+
JSI_EXPORT extern const char ActivityIndicatorViewComponentName[];
|
|
67
|
+
|
|
68
|
+
/*
|
|
69
|
+
* `ShadowNode` for <ActivityIndicatorView> component.
|
|
70
|
+
*/
|
|
71
|
+
using ActivityIndicatorViewShadowNode = ConcreteViewShadowNode<
|
|
72
|
+
ActivityIndicatorViewComponentName,
|
|
73
|
+
ActivityIndicatorViewProps,
|
|
74
|
+
ActivityIndicatorViewEventEmitter,
|
|
75
|
+
ActivityIndicatorViewState>;
|
|
76
|
+
|
|
77
|
+
JSI_EXPORT extern const char UnimplementedNativeViewComponentName[];
|
|
78
|
+
|
|
79
|
+
/*
|
|
80
|
+
* `ShadowNode` for <UnimplementedNativeView> component.
|
|
81
|
+
*/
|
|
82
|
+
using UnimplementedNativeViewShadowNode = ConcreteViewShadowNode<
|
|
83
|
+
UnimplementedNativeViewComponentName,
|
|
84
|
+
UnimplementedNativeViewProps,
|
|
85
|
+
UnimplementedNativeViewEventEmitter,
|
|
86
|
+
UnimplementedNativeViewState>;
|
|
87
|
+
|
|
88
|
+
JSI_EXPORT extern const char SwitchComponentName[];
|
|
89
|
+
|
|
90
|
+
/*
|
|
91
|
+
* `ShadowNode` for <Switch> component.
|
|
92
|
+
*/
|
|
93
|
+
using SwitchShadowNode = ConcreteViewShadowNode<
|
|
94
|
+
SwitchComponentName,
|
|
95
|
+
SwitchProps,
|
|
96
|
+
SwitchEventEmitter,
|
|
97
|
+
SwitchState>;
|
|
98
|
+
|
|
99
|
+
JSI_EXPORT extern const char TraceUpdateOverlayComponentName[];
|
|
100
|
+
|
|
101
|
+
/*
|
|
102
|
+
* `ShadowNode` for <TraceUpdateOverlay> component.
|
|
103
|
+
*/
|
|
104
|
+
using TraceUpdateOverlayShadowNode = ConcreteViewShadowNode<
|
|
105
|
+
TraceUpdateOverlayComponentName,
|
|
106
|
+
TraceUpdateOverlayProps,
|
|
107
|
+
TraceUpdateOverlayEventEmitter,
|
|
108
|
+
TraceUpdateOverlayState>;
|
|
109
|
+
|
|
110
|
+
} // namespace react
|
|
111
|
+
} // namespace facebook
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
|
|
2
|
+
/**
|
|
3
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
4
|
+
*
|
|
5
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
6
|
+
* once the code is regenerated.
|
|
7
|
+
*
|
|
8
|
+
* @generated by codegen project: GenerateStateCpp.js
|
|
9
|
+
*/
|
|
10
|
+
#include <react/renderer/components/rncore/States.h>
|
|
11
|
+
|
|
12
|
+
namespace facebook {
|
|
13
|
+
namespace react {
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
} // namespace react
|
|
18
|
+
} // namespace facebook
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This code was generated by [react-native-codegen](https://www.npmjs.com/package/react-native-codegen).
|
|
3
|
+
*
|
|
4
|
+
* Do not edit this file as changes may cause incorrect behavior and will be lost
|
|
5
|
+
* once the code is regenerated.
|
|
6
|
+
*
|
|
7
|
+
* @generated by codegen project: GenerateStateH.js
|
|
8
|
+
*/
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#ifdef ANDROID
|
|
12
|
+
#include <folly/dynamic.h>
|
|
13
|
+
#include <react/renderer/mapbuffer/MapBuffer.h>
|
|
14
|
+
#include <react/renderer/mapbuffer/MapBufferBuilder.h>
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
namespace facebook {
|
|
18
|
+
namespace react {
|
|
19
|
+
|
|
20
|
+
class AndroidHorizontalScrollContentViewState {
|
|
21
|
+
public:
|
|
22
|
+
AndroidHorizontalScrollContentViewState() = default;
|
|
23
|
+
|
|
24
|
+
#ifdef ANDROID
|
|
25
|
+
AndroidHorizontalScrollContentViewState(AndroidHorizontalScrollContentViewState const &previousState, folly::dynamic data){};
|
|
26
|
+
folly::dynamic getDynamic() const {
|
|
27
|
+
return {};
|
|
28
|
+
};
|
|
29
|
+
MapBuffer getMapBuffer() const {
|
|
30
|
+
return MapBufferBuilder::EMPTY();
|
|
31
|
+
};
|
|
32
|
+
#endif
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
class AndroidSwipeRefreshLayoutState {
|
|
36
|
+
public:
|
|
37
|
+
AndroidSwipeRefreshLayoutState() = default;
|
|
38
|
+
|
|
39
|
+
#ifdef ANDROID
|
|
40
|
+
AndroidSwipeRefreshLayoutState(AndroidSwipeRefreshLayoutState const &previousState, folly::dynamic data){};
|
|
41
|
+
folly::dynamic getDynamic() const {
|
|
42
|
+
return {};
|
|
43
|
+
};
|
|
44
|
+
MapBuffer getMapBuffer() const {
|
|
45
|
+
return MapBufferBuilder::EMPTY();
|
|
46
|
+
};
|
|
47
|
+
#endif
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
class PullToRefreshViewState {
|
|
51
|
+
public:
|
|
52
|
+
PullToRefreshViewState() = default;
|
|
53
|
+
|
|
54
|
+
#ifdef ANDROID
|
|
55
|
+
PullToRefreshViewState(PullToRefreshViewState const &previousState, folly::dynamic data){};
|
|
56
|
+
folly::dynamic getDynamic() const {
|
|
57
|
+
return {};
|
|
58
|
+
};
|
|
59
|
+
MapBuffer getMapBuffer() const {
|
|
60
|
+
return MapBufferBuilder::EMPTY();
|
|
61
|
+
};
|
|
62
|
+
#endif
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
class AndroidDrawerLayoutState {
|
|
66
|
+
public:
|
|
67
|
+
AndroidDrawerLayoutState() = default;
|
|
68
|
+
|
|
69
|
+
#ifdef ANDROID
|
|
70
|
+
AndroidDrawerLayoutState(AndroidDrawerLayoutState const &previousState, folly::dynamic data){};
|
|
71
|
+
folly::dynamic getDynamic() const {
|
|
72
|
+
return {};
|
|
73
|
+
};
|
|
74
|
+
MapBuffer getMapBuffer() const {
|
|
75
|
+
return MapBufferBuilder::EMPTY();
|
|
76
|
+
};
|
|
77
|
+
#endif
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
class ActivityIndicatorViewState {
|
|
81
|
+
public:
|
|
82
|
+
ActivityIndicatorViewState() = default;
|
|
83
|
+
|
|
84
|
+
#ifdef ANDROID
|
|
85
|
+
ActivityIndicatorViewState(ActivityIndicatorViewState const &previousState, folly::dynamic data){};
|
|
86
|
+
folly::dynamic getDynamic() const {
|
|
87
|
+
return {};
|
|
88
|
+
};
|
|
89
|
+
MapBuffer getMapBuffer() const {
|
|
90
|
+
return MapBufferBuilder::EMPTY();
|
|
91
|
+
};
|
|
92
|
+
#endif
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
class UnimplementedNativeViewState {
|
|
96
|
+
public:
|
|
97
|
+
UnimplementedNativeViewState() = default;
|
|
98
|
+
|
|
99
|
+
#ifdef ANDROID
|
|
100
|
+
UnimplementedNativeViewState(UnimplementedNativeViewState const &previousState, folly::dynamic data){};
|
|
101
|
+
folly::dynamic getDynamic() const {
|
|
102
|
+
return {};
|
|
103
|
+
};
|
|
104
|
+
MapBuffer getMapBuffer() const {
|
|
105
|
+
return MapBufferBuilder::EMPTY();
|
|
106
|
+
};
|
|
107
|
+
#endif
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
class SwitchState {
|
|
111
|
+
public:
|
|
112
|
+
SwitchState() = default;
|
|
113
|
+
|
|
114
|
+
#ifdef ANDROID
|
|
115
|
+
SwitchState(SwitchState const &previousState, folly::dynamic data){};
|
|
116
|
+
folly::dynamic getDynamic() const {
|
|
117
|
+
return {};
|
|
118
|
+
};
|
|
119
|
+
MapBuffer getMapBuffer() const {
|
|
120
|
+
return MapBufferBuilder::EMPTY();
|
|
121
|
+
};
|
|
122
|
+
#endif
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
class TraceUpdateOverlayState {
|
|
126
|
+
public:
|
|
127
|
+
TraceUpdateOverlayState() = default;
|
|
128
|
+
|
|
129
|
+
#ifdef ANDROID
|
|
130
|
+
TraceUpdateOverlayState(TraceUpdateOverlayState const &previousState, folly::dynamic data){};
|
|
131
|
+
folly::dynamic getDynamic() const {
|
|
132
|
+
return {};
|
|
133
|
+
};
|
|
134
|
+
MapBuffer getMapBuffer() const {
|
|
135
|
+
return MapBufferBuilder::EMPTY();
|
|
136
|
+
};
|
|
137
|
+
#endif
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
} // namespace react
|
|
141
|
+
} // namespace facebook
|
|
@@ -328,6 +328,15 @@ ScrollViewProps::ScrollViewProps(
|
|
|
328
328
|
rawProps,
|
|
329
329
|
"isInvertedVirtualizedList",
|
|
330
330
|
sourceProps.isInvertedVirtualizedList,
|
|
331
|
+
{})),
|
|
332
|
+
showsScrollIndex(
|
|
333
|
+
CoreFeatures::enablePropIteratorSetter
|
|
334
|
+
? sourceProps.showsScrollIndex
|
|
335
|
+
: convertRawProp(
|
|
336
|
+
context,
|
|
337
|
+
rawProps,
|
|
338
|
+
"showsScrollIndex",
|
|
339
|
+
sourceProps.showsScrollIndex,
|
|
331
340
|
{})) {}
|
|
332
341
|
|
|
333
342
|
void ScrollViewProps::setProp(
|
|
@@ -378,6 +387,7 @@ void ScrollViewProps::setProp(
|
|
|
378
387
|
RAW_SET_PROP_SWITCH_CASE_BASIC(contentInsetAdjustmentBehavior);
|
|
379
388
|
RAW_SET_PROP_SWITCH_CASE_BASIC(scrollToOverflowEnabled);
|
|
380
389
|
RAW_SET_PROP_SWITCH_CASE_BASIC(isInvertedVirtualizedList);
|
|
390
|
+
RAW_SET_PROP_SWITCH_CASE_BASIC(showsScrollIndex);
|
|
381
391
|
}
|
|
382
392
|
}
|
|
383
393
|
|
|
@@ -506,7 +516,11 @@ SharedDebugStringConvertibleList ScrollViewProps::getDebugProps() const {
|
|
|
506
516
|
debugStringConvertibleItem(
|
|
507
517
|
"isInvertedVirtualizedList",
|
|
508
518
|
snapToEnd,
|
|
509
|
-
defaultScrollViewProps.isInvertedVirtualizedList)
|
|
519
|
+
defaultScrollViewProps.isInvertedVirtualizedList),
|
|
520
|
+
debugStringConvertibleItem(
|
|
521
|
+
"showsScrollIndex",
|
|
522
|
+
snapToEnd,
|
|
523
|
+
defaultScrollViewProps.showsScrollIndex)};
|
|
510
524
|
}
|
|
511
525
|
#endif
|
|
512
526
|
|
|
@@ -38,6 +38,8 @@ void RawPropsKeyMap::insert(
|
|
|
38
38
|
item.value = value;
|
|
39
39
|
key.render(item.name, &item.length);
|
|
40
40
|
items_.push_back(item);
|
|
41
|
+
react_native_assert(
|
|
42
|
+
items_.size() < std::numeric_limits<RawPropsPropNameLength>::max());
|
|
41
43
|
}
|
|
42
44
|
|
|
43
45
|
void RawPropsKeyMap::reindex() noexcept {
|
|
@@ -42,6 +42,7 @@ RawValue const *RawPropsParser::at(
|
|
|
42
42
|
// This is not thread-safe part; this happens only during initialization of
|
|
43
43
|
// a `ComponentDescriptor` where it is actually safe.
|
|
44
44
|
keys_.push_back(key);
|
|
45
|
+
react_native_assert(size < std::numeric_limits<RawPropsValueIndex>::max());
|
|
45
46
|
nameToIndex_.insert(key, static_cast<RawPropsValueIndex>(size));
|
|
46
47
|
return nullptr;
|
|
47
48
|
}
|
|
@@ -16,11 +16,11 @@ namespace react {
|
|
|
16
16
|
/*
|
|
17
17
|
* Type used to represent an index of some stored values in small arrays.
|
|
18
18
|
*/
|
|
19
|
-
using RawPropsValueIndex =
|
|
19
|
+
using RawPropsValueIndex = uint16_t;
|
|
20
20
|
static_assert(
|
|
21
|
-
sizeof(RawPropsValueIndex) ==
|
|
22
|
-
"RawPropsValueIndex must be
|
|
23
|
-
using RawPropsPropNameLength =
|
|
21
|
+
sizeof(RawPropsValueIndex) == 2,
|
|
22
|
+
"RawPropsValueIndex must be two byte size.");
|
|
23
|
+
using RawPropsPropNameLength = uint16_t;
|
|
24
24
|
using RawPropsPropNameHash = uint32_t;
|
|
25
25
|
|
|
26
26
|
/*
|
|
@@ -45,7 +45,7 @@ Pod::Spec.new do |s|
|
|
|
45
45
|
|
|
46
46
|
if ENV['USE_FRAMEWORKS']
|
|
47
47
|
s.module_name = "React_graphics"
|
|
48
|
-
s.header_mappings_dir =
|
|
48
|
+
s.header_mappings_dir = "../../.."
|
|
49
49
|
header_search_paths = header_search_paths + ["\"$(PODS_TARGET_SRCROOT)/platform/ios\""]
|
|
50
50
|
end
|
|
51
51
|
|
|
@@ -42,7 +42,7 @@ Pod::Spec.new do |s|
|
|
|
42
42
|
|
|
43
43
|
if ENV['USE_FRAMEWORKS']
|
|
44
44
|
s.module_name = "React_ImageManager"
|
|
45
|
-
s.header_mappings_dir =
|
|
45
|
+
s.header_mappings_dir = "./"
|
|
46
46
|
header_search_paths = header_search_paths + [
|
|
47
47
|
"\"${PODS_CONFIGURATION_BUILD_DIR}/React-Fabric/React_Fabric.framework/Headers\"",
|
|
48
48
|
"\"$(PODS_ROOT)/DoubleConversion\"",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-tvos",
|
|
3
|
-
"version": "0.72.
|
|
3
|
+
"version": "0.72.5-0",
|
|
4
4
|
"bin": "./cli.js",
|
|
5
5
|
"description": "A framework for building native apps using React",
|
|
6
6
|
"license": "MIT",
|
|
@@ -34,6 +34,7 @@
|
|
|
34
34
|
"ReactAndroid",
|
|
35
35
|
"ReactCommon",
|
|
36
36
|
"README.md",
|
|
37
|
+
"README-core.md",
|
|
37
38
|
"rn-get-polyfills.js",
|
|
38
39
|
"scripts/compose-source-maps.js",
|
|
39
40
|
"scripts/find-node-for-xcode.sh",
|
|
@@ -72,18 +73,18 @@
|
|
|
72
73
|
"types"
|
|
73
74
|
],
|
|
74
75
|
"scripts": {
|
|
75
|
-
"prepack": "cp ../../README-
|
|
76
|
+
"prepack": "cp ../../README.md ./README.md; cp ../../README-core.md ./README-core.md"
|
|
76
77
|
},
|
|
77
78
|
"peerDependencies": {
|
|
78
79
|
"react": "18.2.0"
|
|
79
80
|
},
|
|
80
81
|
"dependencies": {
|
|
81
82
|
"@jest/create-cache-key-function": "^29.2.1",
|
|
82
|
-
"@react-native-community/cli": "11.3.
|
|
83
|
-
"@react-native-community/cli-platform-android": "11.3.
|
|
84
|
-
"@react-native-community/cli-platform-ios": "11.3.
|
|
83
|
+
"@react-native-community/cli": "11.3.7",
|
|
84
|
+
"@react-native-community/cli-platform-android": "11.3.7",
|
|
85
|
+
"@react-native-community/cli-platform-ios": "11.3.7",
|
|
85
86
|
"@react-native/assets-registry": "^0.72.0",
|
|
86
|
-
"@react-native/codegen": "^0.72.
|
|
87
|
+
"@react-native/codegen": "^0.72.7",
|
|
87
88
|
"@react-native/gradle-plugin": "^0.72.11",
|
|
88
89
|
"@react-native/js-polyfills": "^0.72.1",
|
|
89
90
|
"@react-native/normalize-colors": "^0.72.0",
|
|
@@ -11,6 +11,14 @@ class SysctlChecker
|
|
|
11
11
|
end
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Helper class that is used to easily send commands to Xcodebuild
|
|
15
|
+
# And that can be subclassed for testing purposes.
|
|
16
|
+
class Xcodebuild
|
|
17
|
+
def self.version
|
|
18
|
+
`xcodebuild -version`
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
14
22
|
# Helper object to wrap system properties like RUBY_PLATFORM
|
|
15
23
|
# This makes it easier to mock the behaviour in tests
|
|
16
24
|
class Environment
|
|
@@ -26,3 +34,11 @@ class Finder
|
|
|
26
34
|
return `find #{path} -type f \\( #{js_files} -or #{ts_files} \\)`.split("\n").sort()
|
|
27
35
|
end
|
|
28
36
|
end
|
|
37
|
+
|
|
38
|
+
module Helpers
|
|
39
|
+
class Constants
|
|
40
|
+
def self.min_ios_version_supported
|
|
41
|
+
return '12.4'
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -122,16 +122,31 @@ class ReactNativePodsUtils
|
|
|
122
122
|
end
|
|
123
123
|
end
|
|
124
124
|
|
|
125
|
-
def self.apply_xcode_15_patch(installer)
|
|
126
|
-
installer
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
125
|
+
def self.apply_xcode_15_patch(installer, xcodebuild_manager: Xcodebuild)
|
|
126
|
+
projects = self.extract_projects(installer)
|
|
127
|
+
|
|
128
|
+
gcc_preprocessor_definition_key = 'GCC_PREPROCESSOR_DEFINITIONS'
|
|
129
|
+
other_ld_flags_key = 'OTHER_LDFLAGS'
|
|
130
|
+
libcpp_cxx17_fix = '_LIBCPP_ENABLE_CXX17_REMOVED_UNARY_BINARY_FUNCTION'
|
|
131
|
+
xcode15_compatibility_flags = '-Wl -ld_classic '
|
|
132
|
+
|
|
133
|
+
projects.each do |project|
|
|
134
|
+
project.build_configurations.each do |config|
|
|
135
|
+
# fix for unary_function and binary_function
|
|
136
|
+
self.safe_init(config, gcc_preprocessor_definition_key)
|
|
137
|
+
self.add_value_to_setting_if_missing(config, gcc_preprocessor_definition_key, libcpp_cxx17_fix)
|
|
138
|
+
|
|
139
|
+
# fix for weak linking
|
|
140
|
+
self.safe_init(config, other_ld_flags_key)
|
|
141
|
+
if self.is_using_xcode15_or_greter(:xcodebuild_manager => xcodebuild_manager)
|
|
142
|
+
self.add_value_to_setting_if_missing(config, other_ld_flags_key, xcode15_compatibility_flags)
|
|
143
|
+
else
|
|
144
|
+
self.remove_value_to_setting_if_present(config, other_ld_flags_key, xcode15_compatibility_flags)
|
|
145
|
+
end
|
|
133
146
|
end
|
|
147
|
+
project.save()
|
|
134
148
|
end
|
|
149
|
+
|
|
135
150
|
end
|
|
136
151
|
|
|
137
152
|
def self.apply_flags_for_fabric(installer, fabric_enabled: false)
|
|
@@ -233,6 +248,38 @@ class ReactNativePodsUtils
|
|
|
233
248
|
end
|
|
234
249
|
end
|
|
235
250
|
|
|
251
|
+
def self.updateIphoneOSDeploymentTarget(installer)
|
|
252
|
+
pod_to_update = Set.new([
|
|
253
|
+
"boost",
|
|
254
|
+
"CocoaAsyncSocket",
|
|
255
|
+
"Flipper",
|
|
256
|
+
"Flipper-DoubleConversion",
|
|
257
|
+
"Flipper-Fmt",
|
|
258
|
+
"Flipper-Boost-iOSX",
|
|
259
|
+
"Flipper-Folly",
|
|
260
|
+
"Flipper-Glog",
|
|
261
|
+
"Flipper-PeerTalk",
|
|
262
|
+
"FlipperKit",
|
|
263
|
+
"fmt",
|
|
264
|
+
"libevent",
|
|
265
|
+
"OpenSSL-Universal",
|
|
266
|
+
"RCT-Folly",
|
|
267
|
+
"SocketRocket",
|
|
268
|
+
"YogaKit"
|
|
269
|
+
])
|
|
270
|
+
|
|
271
|
+
installer.target_installation_results.pod_target_installation_results
|
|
272
|
+
.each do |pod_name, target_installation_result|
|
|
273
|
+
unless pod_to_update.include?(pod_name)
|
|
274
|
+
next
|
|
275
|
+
end
|
|
276
|
+
target_installation_result.native_target.build_configurations.each do |config|
|
|
277
|
+
config.build_settings["IPHONEOS_DEPLOYMENT_TARGET"] = Helpers::Constants.min_ios_version_supported
|
|
278
|
+
config.build_settings["TVOS_DEPLOYMENT_TARGET"] = Helpers::Constants.min_ios_version_supported
|
|
279
|
+
end
|
|
280
|
+
end
|
|
281
|
+
end
|
|
282
|
+
|
|
236
283
|
# ========= #
|
|
237
284
|
# Utilities #
|
|
238
285
|
# ========= #
|
|
@@ -244,6 +291,49 @@ class ReactNativePodsUtils
|
|
|
244
291
|
.push(installer.pods_project)
|
|
245
292
|
end
|
|
246
293
|
|
|
294
|
+
def self.safe_init(config, setting_name)
|
|
295
|
+
old_config = config.build_settings[setting_name]
|
|
296
|
+
if old_config == nil
|
|
297
|
+
config.build_settings[setting_name] ||= '$(inherited) '
|
|
298
|
+
end
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
def self.add_value_to_setting_if_missing(config, setting_name, value)
|
|
302
|
+
old_config = config.build_settings[setting_name]
|
|
303
|
+
if !old_config.include?(value)
|
|
304
|
+
config.build_settings[setting_name] << value
|
|
305
|
+
end
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
def self.remove_value_to_setting_if_present(config, setting_name, value)
|
|
309
|
+
old_config = config.build_settings[setting_name]
|
|
310
|
+
if old_config.include?(value)
|
|
311
|
+
# Old config can be either an Array or a String
|
|
312
|
+
if old_config.is_a?(Array)
|
|
313
|
+
old_config = old_config.join(" ")
|
|
314
|
+
end
|
|
315
|
+
new_config = old_config.gsub(value, "")
|
|
316
|
+
config.build_settings[setting_name] = new_config
|
|
317
|
+
end
|
|
318
|
+
end
|
|
319
|
+
|
|
320
|
+
def self.is_using_xcode15_or_greter(xcodebuild_manager: Xcodebuild)
|
|
321
|
+
xcodebuild_version = xcodebuild_manager.version
|
|
322
|
+
|
|
323
|
+
# The output of xcodebuild -version is something like
|
|
324
|
+
# Xcode 15.0
|
|
325
|
+
# or
|
|
326
|
+
# Xcode 14.3.1
|
|
327
|
+
# We want to capture the version digits
|
|
328
|
+
regex = /(\d+)\.(\d+)(?:\.(\d+))?/
|
|
329
|
+
if match_data = xcodebuild_version.match(regex)
|
|
330
|
+
major = match_data[1].to_i
|
|
331
|
+
return major >= 15
|
|
332
|
+
end
|
|
333
|
+
|
|
334
|
+
return false
|
|
335
|
+
end
|
|
336
|
+
|
|
247
337
|
def self.add_compiler_flag_to_project(installer, flag, configuration: nil)
|
|
248
338
|
projects = self.extract_projects(installer)
|
|
249
339
|
|
|
@@ -16,6 +16,7 @@ require_relative './cocoapods/codegen_utils.rb'
|
|
|
16
16
|
require_relative './cocoapods/utils.rb'
|
|
17
17
|
require_relative './cocoapods/new_architecture.rb'
|
|
18
18
|
require_relative './cocoapods/local_podspec_patch.rb'
|
|
19
|
+
require_relative './cocoapods/helpers.rb'
|
|
19
20
|
|
|
20
21
|
$CODEGEN_OUTPUT_DIR = 'build/generated/ios'
|
|
21
22
|
$CODEGEN_COMPONENT_DIR = 'react/renderer/components'
|
|
@@ -35,11 +36,12 @@ require Pod::Executable.execute_command('node', ['-p',
|
|
|
35
36
|
{paths: [process.argv[1]]},
|
|
36
37
|
)', __dir__]).strip
|
|
37
38
|
|
|
38
|
-
|
|
39
|
+
|
|
40
|
+
# This function returns the min supported OS versions supported by React Native
|
|
39
41
|
# By using this function, you won't have to manually change your Podfile
|
|
40
42
|
# when we change the minimum version supported by the framework.
|
|
41
43
|
def min_ios_version_supported
|
|
42
|
-
return
|
|
44
|
+
return Helpers::Constants.min_ios_version_supported
|
|
43
45
|
end
|
|
44
46
|
|
|
45
47
|
# This function prepares the project for React Native, before processing
|
|
@@ -250,11 +252,13 @@ def react_native_post_install(
|
|
|
250
252
|
ReactNativePodsUtils.set_node_modules_user_settings(installer, react_native_path)
|
|
251
253
|
ReactNativePodsUtils.apply_flags_for_fabric(installer, fabric_enabled: fabric_enabled)
|
|
252
254
|
ReactNativePodsUtils.apply_xcode_15_patch(installer)
|
|
255
|
+
ReactNativePodsUtils.updateIphoneOSDeploymentTarget(installer)
|
|
253
256
|
|
|
254
257
|
NewArchitectureHelper.set_clang_cxx_language_standard_if_needed(installer)
|
|
255
258
|
is_new_arch_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == "1"
|
|
256
259
|
NewArchitectureHelper.modify_flags_for_new_architecture(installer, is_new_arch_enabled)
|
|
257
260
|
|
|
261
|
+
|
|
258
262
|
Pod::UI.puts "Pod install took #{Time.now.to_i - $START_TIME} [s] to run".green
|
|
259
263
|
end
|
|
260
264
|
|
package/sdks/.hermesversion
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
hermes-2023-08-
|
|
1
|
+
hermes-2023-08-25-RNv0.72.4-e4a5a201e51cc583b148e8d264a2b061e9408988
|
|
@@ -56,7 +56,7 @@ function build_host_hermesc {
|
|
|
56
56
|
|
|
57
57
|
# Utility function to configure an Apple framework
|
|
58
58
|
function configure_apple_framework {
|
|
59
|
-
local build_cli_tools enable_bitcode enable_debugger cmake_build_type
|
|
59
|
+
local build_cli_tools enable_bitcode enable_debugger cmake_build_type xcode_15_flags xcode_major_version
|
|
60
60
|
|
|
61
61
|
# if [[ $1 == appletvos || $1 == iphoneos || $1 == catalyst ]]; then
|
|
62
62
|
# enable_bitcode="true"
|
|
@@ -84,8 +84,15 @@ function configure_apple_framework {
|
|
|
84
84
|
cmake_build_type="MinSizeRel"
|
|
85
85
|
fi
|
|
86
86
|
|
|
87
|
+
xcode_15_flags=""
|
|
88
|
+
xcode_major_version=$(xcodebuild -version | grep -oE '[0-9]*' | head -n 1)
|
|
89
|
+
if [[ $xcode_major_version -ge 15 ]]; then
|
|
90
|
+
xcode_15_flags="LINKER:-ld_classic"
|
|
91
|
+
fi
|
|
92
|
+
|
|
87
93
|
pushd "$HERMES_PATH" > /dev/null || exit 1
|
|
88
94
|
cmake -S . -B "build_$1" \
|
|
95
|
+
-DHERMES_EXTRA_LINKER_FLAGS="$xcode_15_flags" \
|
|
89
96
|
-DHERMES_APPLE_TARGET_PLATFORM:STRING="$1" \
|
|
90
97
|
-DCMAKE_OSX_ARCHITECTURES:STRING="$2" \
|
|
91
98
|
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="$3" \
|
|
@@ -33,6 +33,13 @@ if [ -z "$deployment_target" ]; then
|
|
|
33
33
|
deployment_target=${MACOSX_DEPLOYMENT_TARGET}
|
|
34
34
|
fi
|
|
35
35
|
|
|
36
|
+
xcode_15_flags=""
|
|
37
|
+
xcode_major_version=$(xcodebuild -version | grep -oE '[0-9]*' | head -n 1)
|
|
38
|
+
if [[ $xcode_major_version -ge 15 ]]; then
|
|
39
|
+
echo "########### Using LINKER:-ld_classic ###########"
|
|
40
|
+
xcode_15_flags="LINKER:-ld_classic"
|
|
41
|
+
fi
|
|
42
|
+
|
|
36
43
|
architectures=$( echo "$ARCHS" | tr " " ";" )
|
|
37
44
|
|
|
38
45
|
echo "Configure Apple framework"
|
|
@@ -40,6 +47,7 @@ echo "Configure Apple framework"
|
|
|
40
47
|
"$CMAKE_BINARY" \
|
|
41
48
|
-S "${PODS_ROOT}/hermes-engine" \
|
|
42
49
|
-B "${PODS_ROOT}/hermes-engine/build/${PLATFORM_NAME}" \
|
|
50
|
+
-DHERMES_EXTRA_LINKER_FLAGS="$xcode_15_flags" \
|
|
43
51
|
-DHERMES_APPLE_TARGET_PLATFORM:STRING="$PLATFORM_NAME" \
|
|
44
52
|
-DCMAKE_OSX_ARCHITECTURES:STRING="$architectures" \
|
|
45
53
|
-DCMAKE_OSX_DEPLOYMENT_TARGET:STRING="$deployment_target" \
|
|
Binary file
|