react-native-tvos 0.77.0-0rc1 → 0.77.1-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/Animated/animations/Animation.js +1 -1
- package/Libraries/Components/Pressable/Pressable.d.ts +2 -2
- package/Libraries/Components/Pressable/Pressable.js +3 -3
- package/Libraries/Components/ScrollView/ScrollView.js +3 -2
- package/Libraries/Components/TV/TVFocusGuideView.js +2 -6
- package/Libraries/Components/TextInput/TextInput.js +1 -1
- package/Libraries/Components/Touchable/TouchableNativeFeedback.js +1 -1
- package/Libraries/Components/Touchable/TouchableOpacity.js +1 -2
- package/Libraries/Components/View/View.js +2 -3
- package/Libraries/Components/View/ViewNativeComponent.js +2 -2
- package/Libraries/Components/View/ViewPropTypes.d.ts +4 -2
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpDeveloperTools.js +2 -3
- package/Libraries/Image/RCTImageLoader.mm +9 -1
- package/Libraries/LogBox/LogBoxNotificationContainer.js +1 -1
- package/Libraries/LogBox/UI/LogBoxButton.js +2 -2
- package/Libraries/LogBox/UI/LogBoxNotification.js +1 -1
- package/Libraries/Pressability/Pressability.js +2 -2
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +1 -1
- package/Libraries/Utilities/BackHandler.ios.js +3 -8
- package/Libraries/Utilities/HMRClient.js +0 -28
- package/Libraries/Utilities/HMRClientProdShim.js +0 -1
- package/Libraries/Utilities/setAndForwardRef.js +2 -2
- package/React/Base/RCTConvert.mm +3 -1
- package/React/Base/RCTVersion.m +2 -2
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +89 -40
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +11 -1
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +5 -2
- package/React/Views/RCTTVView.m +5 -2
- package/React/Views/ScrollView/RCTScrollView.m +63 -26
- package/ReactAndroid/api/ReactAndroid.api +5 -0
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +13 -3
- package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +0 -13
- package/ReactAndroid/gradle.properties +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/HeadlessJsTaskService.java +12 -13
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivity.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactActivityDelegate.java +8 -0
- package/ReactAndroid/src/main/java/com/facebook/react/ReactDelegate.java +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/BaseJavaModule.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +6 -2
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +15 -8
- package/ReactAndroid/src/main/java/com/facebook/react/module/model/ReactModuleInfo.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +9 -8
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +22 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +16 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactClippingViewManager.kt +0 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +33 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +12 -0
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +13 -4
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +5 -0
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +27 -9
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +6 -0
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
- package/ReactCommon/react/renderer/attributedstring/conversions.h +5 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +12 -0
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +2 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +7 -3
- package/ReactCommon/react/runtime/ReactInstance.cpp +39 -35
- package/ReactCommon/react/runtime/ReactInstance.h +2 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +3 -2
- package/index.js +5 -5
- package/package.json +13 -10
- package/scripts/cocoapods/utils.rb +6 -6
- package/scripts/codegen/generate-artifacts-executor.js +10 -0
- package/sdks/hermes-engine/hermes-engine.podspec +1 -1
- package/sdks/hermes-engine/hermes-utils.rb +2 -2
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +2 -2
- package/types/public/ReactNativeTVTypes.d.ts +9 -7
|
@@ -73,6 +73,12 @@ static TextAttributes convertRawProp(
|
|
|
73
73
|
"allowFontScaling",
|
|
74
74
|
sourceTextAttributes.allowFontScaling,
|
|
75
75
|
defaultTextAttributes.allowFontScaling);
|
|
76
|
+
textAttributes.maxFontSizeMultiplier = convertRawProp(
|
|
77
|
+
context,
|
|
78
|
+
rawProps,
|
|
79
|
+
"maxFontSizeMultiplier",
|
|
80
|
+
sourceTextAttributes.maxFontSizeMultiplier,
|
|
81
|
+
defaultTextAttributes.maxFontSizeMultiplier);
|
|
76
82
|
textAttributes.dynamicTypeRamp = convertRawProp(
|
|
77
83
|
context,
|
|
78
84
|
rawProps,
|
|
@@ -266,6 +272,12 @@ void BaseTextProps::setProp(
|
|
|
266
272
|
defaults, value, textAttributes, fontVariant, "fontVariant");
|
|
267
273
|
REBUILD_FIELD_SWITCH_CASE(
|
|
268
274
|
defaults, value, textAttributes, allowFontScaling, "allowFontScaling");
|
|
275
|
+
REBUILD_FIELD_SWITCH_CASE(
|
|
276
|
+
defaults,
|
|
277
|
+
value,
|
|
278
|
+
textAttributes,
|
|
279
|
+
maxFontSizeMultiplier,
|
|
280
|
+
"maxFontSizeMultiplier");
|
|
269
281
|
REBUILD_FIELD_SWITCH_CASE(
|
|
270
282
|
defaults, value, textAttributes, letterSpacing, "letterSpacing");
|
|
271
283
|
REBUILD_FIELD_SWITCH_CASE(
|
|
@@ -208,8 +208,7 @@ inline bool operator==(
|
|
|
208
208
|
return areAttributedStringsEquivalentLayoutWise(
|
|
209
209
|
lhs.attributedString, rhs.attributedString) &&
|
|
210
210
|
lhs.paragraphAttributes == rhs.paragraphAttributes &&
|
|
211
|
-
lhs.layoutConstraints
|
|
212
|
-
rhs.layoutConstraints.maximumSize.width;
|
|
211
|
+
lhs.layoutConstraints == rhs.layoutConstraints;
|
|
213
212
|
}
|
|
214
213
|
|
|
215
214
|
inline bool operator!=(
|
|
@@ -243,7 +242,7 @@ struct hash<facebook::react::TextMeasureCacheKey> {
|
|
|
243
242
|
return facebook::react::hash_combine(
|
|
244
243
|
attributedStringHashLayoutWise(key.attributedString),
|
|
245
244
|
key.paragraphAttributes,
|
|
246
|
-
key.layoutConstraints
|
|
245
|
+
key.layoutConstraints);
|
|
247
246
|
}
|
|
248
247
|
};
|
|
249
248
|
|
|
@@ -139,6 +139,7 @@ inline static CGFloat RCTBaseSizeForDynamicTypeRamp(const DynamicTypeRamp &dynam
|
|
|
139
139
|
inline static CGFloat RCTEffectiveFontSizeMultiplierFromTextAttributes(const TextAttributes &textAttributes)
|
|
140
140
|
{
|
|
141
141
|
if (textAttributes.allowFontScaling.value_or(true)) {
|
|
142
|
+
CGFloat fontSizeMultiplier = !isnan(textAttributes.fontSizeMultiplier) ? textAttributes.fontSizeMultiplier : 1.0;
|
|
142
143
|
if (textAttributes.dynamicTypeRamp.has_value()) {
|
|
143
144
|
DynamicTypeRamp dynamicTypeRamp = textAttributes.dynamicTypeRamp.value();
|
|
144
145
|
UIFontMetrics *fontMetrics =
|
|
@@ -146,10 +147,11 @@ inline static CGFloat RCTEffectiveFontSizeMultiplierFromTextAttributes(const Tex
|
|
|
146
147
|
// Using a specific font size reduces rounding errors from -scaledValueForValue:
|
|
147
148
|
CGFloat requestedSize =
|
|
148
149
|
isnan(textAttributes.fontSize) ? RCTBaseSizeForDynamicTypeRamp(dynamicTypeRamp) : textAttributes.fontSize;
|
|
149
|
-
|
|
150
|
-
} else {
|
|
151
|
-
return textAttributes.fontSizeMultiplier;
|
|
150
|
+
fontSizeMultiplier = [fontMetrics scaledValueForValue:requestedSize] / requestedSize;
|
|
152
151
|
}
|
|
152
|
+
CGFloat maxFontSizeMultiplier =
|
|
153
|
+
!isnan(textAttributes.maxFontSizeMultiplier) ? textAttributes.maxFontSizeMultiplier : 0.0;
|
|
154
|
+
return maxFontSizeMultiplier >= 1.0 ? fminf(maxFontSizeMultiplier, fontSizeMultiplier) : fontSizeMultiplier;
|
|
153
155
|
} else {
|
|
154
156
|
return 1.0;
|
|
155
157
|
}
|
|
@@ -407,6 +409,7 @@ static NSMutableAttributedString *RCTNSAttributedStringFragmentWithAttributesFro
|
|
|
407
409
|
{
|
|
408
410
|
auto nsAttributedStringFragment = RCTNSAttributedStringFragmentFromFragment(fragment, placeholderImage);
|
|
409
411
|
|
|
412
|
+
#if !TARGET_OS_MACCATALYST
|
|
410
413
|
if (fragment.parentShadowView.componentHandle) {
|
|
411
414
|
RCTWeakEventEmitterWrapper *eventEmitterWrapper = [RCTWeakEventEmitterWrapper new];
|
|
412
415
|
eventEmitterWrapper.eventEmitter = fragment.parentShadowView.eventEmitter;
|
|
@@ -417,6 +420,7 @@ static NSMutableAttributedString *RCTNSAttributedStringFragmentWithAttributesFro
|
|
|
417
420
|
[nsAttributedStringFragment addAttributes:additionalTextAttributes
|
|
418
421
|
range:NSMakeRange(0, nsAttributedStringFragment.length)];
|
|
419
422
|
}
|
|
423
|
+
#endif
|
|
420
424
|
|
|
421
425
|
return nsAttributedStringFragment;
|
|
422
426
|
}
|
|
@@ -236,47 +236,51 @@ std::string simpleBasename(const std::string& path) {
|
|
|
236
236
|
*/
|
|
237
237
|
void ReactInstance::loadScript(
|
|
238
238
|
std::unique_ptr<const JSBigString> script,
|
|
239
|
-
const std::string& sourceURL
|
|
239
|
+
const std::string& sourceURL,
|
|
240
|
+
std::function<void(jsi::Runtime& runtime)>&& completion) {
|
|
240
241
|
auto buffer = std::make_shared<BigStringBuffer>(std::move(script));
|
|
241
242
|
std::string scriptName = simpleBasename(sourceURL);
|
|
242
243
|
|
|
243
|
-
runtimeScheduler_->scheduleWork(
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
244
|
+
runtimeScheduler_->scheduleWork([this,
|
|
245
|
+
scriptName,
|
|
246
|
+
sourceURL,
|
|
247
|
+
buffer = std::move(buffer),
|
|
248
|
+
weakBufferedRuntimeExecuter =
|
|
249
|
+
std::weak_ptr<BufferedRuntimeExecutor>(
|
|
250
|
+
bufferedRuntimeExecutor_),
|
|
251
|
+
completion](jsi::Runtime& runtime) {
|
|
252
|
+
SystraceSection s("ReactInstance::loadScript");
|
|
253
|
+
bool hasLogger(ReactMarker::logTaggedMarkerBridgelessImpl);
|
|
254
|
+
if (hasLogger) {
|
|
255
|
+
ReactMarker::logTaggedMarkerBridgeless(
|
|
256
|
+
ReactMarker::RUN_JS_BUNDLE_START, scriptName.c_str());
|
|
257
|
+
}
|
|
256
258
|
|
|
257
|
-
|
|
259
|
+
runtime.evaluateJavaScript(buffer, sourceURL);
|
|
258
260
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
261
|
+
/**
|
|
262
|
+
* TODO(T183610671): We need a safe/reliable way to enable the js
|
|
263
|
+
* pipeline from javascript. Remove this after we figure that out, or
|
|
264
|
+
* after we just remove the js pipeline.
|
|
265
|
+
*/
|
|
266
|
+
if (!jsErrorHandler_->hasHandledFatalError()) {
|
|
267
|
+
jsErrorHandler_->setRuntimeReady();
|
|
268
|
+
}
|
|
267
269
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
270
|
+
if (hasLogger) {
|
|
271
|
+
ReactMarker::logTaggedMarkerBridgeless(
|
|
272
|
+
ReactMarker::RUN_JS_BUNDLE_STOP, scriptName.c_str());
|
|
273
|
+
ReactMarker::logMarkerBridgeless(ReactMarker::INIT_REACT_RUNTIME_STOP);
|
|
274
|
+
ReactMarker::logMarkerBridgeless(ReactMarker::APP_STARTUP_STOP);
|
|
275
|
+
}
|
|
276
|
+
if (auto strongBufferedRuntimeExecuter =
|
|
277
|
+
weakBufferedRuntimeExecuter.lock()) {
|
|
278
|
+
strongBufferedRuntimeExecuter->flush();
|
|
279
|
+
}
|
|
280
|
+
if (completion) {
|
|
281
|
+
completion(runtime);
|
|
282
|
+
}
|
|
283
|
+
});
|
|
280
284
|
}
|
|
281
285
|
|
|
282
286
|
/*
|
|
@@ -49,7 +49,8 @@ class ReactInstance final : private jsinspector_modern::InstanceTargetDelegate {
|
|
|
49
49
|
|
|
50
50
|
void loadScript(
|
|
51
51
|
std::unique_ptr<const JSBigString> script,
|
|
52
|
-
const std::string& sourceURL
|
|
52
|
+
const std::string& sourceURL,
|
|
53
|
+
std::function<void(jsi::Runtime& runtime)>&& completion = nullptr);
|
|
53
54
|
|
|
54
55
|
void registerSegment(uint32_t segmentId, const std::string& segmentPath);
|
|
55
56
|
|
|
@@ -472,8 +472,9 @@ void RCTInstanceSetRuntimeDiagnosticFlags(NSString *flags)
|
|
|
472
472
|
|
|
473
473
|
auto script = std::make_unique<NSDataBigString>(source.data);
|
|
474
474
|
const auto *url = deriveSourceURL(source.url).UTF8String;
|
|
475
|
-
_reactInstance->loadScript(std::move(script), url)
|
|
476
|
-
|
|
475
|
+
_reactInstance->loadScript(std::move(script), url, [](jsi::Runtime &_) {
|
|
476
|
+
[[NSNotificationCenter defaultCenter] postNotificationName:@"RCTInstanceDidLoadBundle" object:nil];
|
|
477
|
+
});
|
|
477
478
|
}
|
|
478
479
|
|
|
479
480
|
- (void)_handleJSError:(const JsErrorHandler::ParsedError &)error withRuntime:(jsi::Runtime &)runtime
|
package/index.js
CHANGED
|
@@ -43,6 +43,11 @@ import typeof TouchableHighlight from './Libraries/Components/Touchable/Touchabl
|
|
|
43
43
|
import typeof TouchableNativeFeedback from './Libraries/Components/Touchable/TouchableNativeFeedback';
|
|
44
44
|
import typeof TouchableOpacity from './Libraries/Components/Touchable/TouchableOpacity';
|
|
45
45
|
import typeof TouchableWithoutFeedback from './Libraries/Components/Touchable/TouchableWithoutFeedback';
|
|
46
|
+
import typeof TVEventControl from './Libraries/Components/TV/TVEventControl';
|
|
47
|
+
import typeof TVEventHandler from './Libraries/Components/TV/TVEventHandler';
|
|
48
|
+
import typeof TVFocusGuideView from './Libraries/Components/TV/TVFocusGuideView';
|
|
49
|
+
import typeof TVTextScrollView from './Libraries/Components/TV/TVTextScrollView';
|
|
50
|
+
import typeof useTVEventHandler from './Libraries/Components/TV/useTVEventHandler';
|
|
46
51
|
import typeof View from './Libraries/Components/View/View';
|
|
47
52
|
import typeof RegisterCallableModule from './Libraries/Core/registerCallableModule';
|
|
48
53
|
import typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';
|
|
@@ -92,13 +97,8 @@ import typeof DevSettings from './Libraries/Utilities/DevSettings';
|
|
|
92
97
|
import typeof Dimensions from './Libraries/Utilities/Dimensions';
|
|
93
98
|
import typeof PixelRatio from './Libraries/Utilities/PixelRatio';
|
|
94
99
|
import typeof Platform from './Libraries/Utilities/Platform';
|
|
95
|
-
import typeof TVEventHandler from './Libraries/Components/TV/TVEventHandler';
|
|
96
|
-
import typeof TVFocusGuideView from './Libraries/Components/TV/TVFocusGuideView';
|
|
97
|
-
import typeof TVEventControl from './Libraries/Components/TV/TVEventControl';
|
|
98
|
-
import typeof TVTextScrollView from './Libraries/Components/TV/TVTextScrollView';
|
|
99
100
|
import typeof useColorScheme from './Libraries/Utilities/useColorScheme';
|
|
100
101
|
import typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions';
|
|
101
|
-
import typeof useTVEventHandler from './Libraries/Components/TV/useTVEventHandler';
|
|
102
102
|
import typeof Vibration from './Libraries/Vibration/Vibration';
|
|
103
103
|
import typeof YellowBox from './Libraries/YellowBox/YellowBoxDeprecated';
|
|
104
104
|
import typeof DevMenu from './src/private/devmenu/DevMenu';
|
package/package.json
CHANGED
|
@@ -1,19 +1,22 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-tvos",
|
|
3
|
-
"version": "0.77.0
|
|
3
|
+
"version": "0.77.1-0",
|
|
4
4
|
"description": "A framework for building native apps using React",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
|
-
"url": "git+https://github.com/
|
|
8
|
+
"url": "git+https://github.com/react-native-tvos/react-native-tvos.git",
|
|
9
9
|
"directory": "packages/react-native"
|
|
10
10
|
},
|
|
11
|
-
"homepage": "https://
|
|
11
|
+
"homepage": "https://github.com/react-native-tvos/react-native-tvos/wiki",
|
|
12
12
|
"keywords": [
|
|
13
13
|
"react",
|
|
14
14
|
"react-native",
|
|
15
15
|
"android",
|
|
16
16
|
"ios",
|
|
17
|
+
"tvos",
|
|
18
|
+
"apple tv",
|
|
19
|
+
"android tv",
|
|
17
20
|
"mobile",
|
|
18
21
|
"cross-platform",
|
|
19
22
|
"app-framework",
|
|
@@ -109,13 +112,13 @@
|
|
|
109
112
|
},
|
|
110
113
|
"dependencies": {
|
|
111
114
|
"@jest/create-cache-key-function": "^29.6.3",
|
|
112
|
-
"@react-native/assets-registry": "0.77.
|
|
113
|
-
"@react-native/codegen": "0.77.
|
|
114
|
-
"@react-native/community-cli-plugin": "0.77.
|
|
115
|
-
"@react-native/gradle-plugin": "0.77.
|
|
116
|
-
"@react-native/js-polyfills": "0.77.
|
|
117
|
-
"@react-native/normalize-colors": "0.77.
|
|
118
|
-
"@react-native-tvos/virtualized-lists": "0.77.0
|
|
115
|
+
"@react-native/assets-registry": "0.77.1",
|
|
116
|
+
"@react-native/codegen": "0.77.1",
|
|
117
|
+
"@react-native/community-cli-plugin": "0.77.1",
|
|
118
|
+
"@react-native/gradle-plugin": "0.77.1",
|
|
119
|
+
"@react-native/js-polyfills": "0.77.1",
|
|
120
|
+
"@react-native/normalize-colors": "0.77.1",
|
|
121
|
+
"@react-native-tvos/virtualized-lists": "0.77.1-0",
|
|
119
122
|
"abort-controller": "^3.0.0",
|
|
120
123
|
"anser": "^1.4.9",
|
|
121
124
|
"ansi-regex": "^5.0.0",
|
|
@@ -44,10 +44,10 @@ class ReactNativePodsUtils
|
|
|
44
44
|
end
|
|
45
45
|
|
|
46
46
|
def self.set_gcc_preprocessor_definition_for_React_hermes(installer)
|
|
47
|
-
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes",
|
|
48
|
-
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector",
|
|
49
|
-
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine",
|
|
50
|
-
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes",
|
|
47
|
+
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-hermes", :debug)
|
|
48
|
+
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-jsinspector", :debug)
|
|
49
|
+
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "hermes-engine", :debug)
|
|
50
|
+
self.add_build_settings_to_pod(installer, "GCC_PREPROCESSOR_DEFINITIONS", "HERMES_ENABLE_DEBUGGER=1", "React-RuntimeHermes", :debug)
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
def self.turn_off_resource_bundle_react_core(installer)
|
|
@@ -193,11 +193,11 @@ class ReactNativePodsUtils
|
|
|
193
193
|
|
|
194
194
|
private
|
|
195
195
|
|
|
196
|
-
def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name,
|
|
196
|
+
def self.add_build_settings_to_pod(installer, settings_name, settings_value, target_pod_name, configuration_type)
|
|
197
197
|
installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
|
|
198
198
|
if pod_name.to_s == target_pod_name
|
|
199
199
|
target_installation_result.native_target.build_configurations.each do |config|
|
|
200
|
-
if
|
|
200
|
+
if configuration_type == nil || (configuration_type != nil && config.type == configuration_type)
|
|
201
201
|
config.build_settings[settings_name] ||= '$(inherited) '
|
|
202
202
|
config.build_settings[settings_name] << settings_value
|
|
203
203
|
end
|
|
@@ -764,6 +764,16 @@ function findFilesWithExtension(filePath, extension) {
|
|
|
764
764
|
const dir = fs.readdirSync(filePath);
|
|
765
765
|
dir.forEach(file => {
|
|
766
766
|
const absolutePath = path.join(filePath, file);
|
|
767
|
+
// Exclude files provided by react-native
|
|
768
|
+
if (absolutePath.includes(`${path.sep}react-native${path.sep}`)) {
|
|
769
|
+
return null;
|
|
770
|
+
}
|
|
771
|
+
|
|
772
|
+
// Skip hidden folders, that starts with `.`
|
|
773
|
+
if (absolutePath.includes(`${path.sep}.`)) {
|
|
774
|
+
return null;
|
|
775
|
+
}
|
|
776
|
+
|
|
767
777
|
if (
|
|
768
778
|
fs.existsSync(absolutePath) &&
|
|
769
779
|
fs.statSync(absolutePath).isDirectory()
|
|
@@ -113,8 +113,8 @@ def core_version(version)
|
|
|
113
113
|
prerelease = match[2]
|
|
114
114
|
prerelease_match = prerelease.match(/0rc(\d+)/)
|
|
115
115
|
if prerelease_match.nil?
|
|
116
|
-
hermes_log("core_version = #{
|
|
117
|
-
return
|
|
116
|
+
hermes_log("core_version = #{core_base_version}")
|
|
117
|
+
return core_base_version
|
|
118
118
|
end
|
|
119
119
|
|
|
120
120
|
cv = "#{core_base_version}-rc.#{prerelease_match[1]}"
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<aa51de14d1f085127ad410580beb15f6>>
|
|
8
8
|
* @flow strict
|
|
9
9
|
*/
|
|
10
10
|
|
|
@@ -170,7 +170,7 @@ export const shouldUseSetNativePropsInFabric: Getter<boolean> = createJavaScript
|
|
|
170
170
|
/**
|
|
171
171
|
* Changes construction of the animation graph to `useInsertionEffect` instead of `useLayoutEffect`.
|
|
172
172
|
*/
|
|
173
|
-
export const useInsertionEffectsForAnimations: Getter<boolean> = createJavaScriptFlagGetter('useInsertionEffectsForAnimations',
|
|
173
|
+
export const useInsertionEffectsForAnimations: Getter<boolean> = createJavaScriptFlagGetter('useInsertionEffectsForAnimations', false);
|
|
174
174
|
|
|
175
175
|
/**
|
|
176
176
|
* Enable a variant of TextInput that moves some state to refs to avoid unnecessary re-renders
|
|
@@ -2,6 +2,8 @@ import * as React from 'react';
|
|
|
2
2
|
import type { View, ScrollViewProps, HostComponent, EventSubscription } from 'react-native';
|
|
3
3
|
|
|
4
4
|
declare module 'react-native' {
|
|
5
|
+
export type FocusDestination = null | number | React.Component<any, any> | React.ComponentClass<any>;
|
|
6
|
+
|
|
5
7
|
interface ViewProps {
|
|
6
8
|
/**
|
|
7
9
|
* Android TV only prop
|
|
@@ -10,29 +12,29 @@ declare module 'react-native' {
|
|
|
10
12
|
/**
|
|
11
13
|
* TV next focus down (see documentation for the View component).
|
|
12
14
|
*/
|
|
13
|
-
nextFocusDown?:
|
|
15
|
+
nextFocusDown?: FocusDestination | undefined,
|
|
14
16
|
|
|
15
17
|
/**
|
|
16
18
|
* TV next focus forward (see documentation for the View component).
|
|
17
19
|
*
|
|
18
20
|
* @platform android
|
|
19
21
|
*/
|
|
20
|
-
nextFocusForward?:
|
|
22
|
+
nextFocusForward?: FocusDestination | undefined,
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
25
|
* TV next focus left (see documentation for the View component).
|
|
24
26
|
*/
|
|
25
|
-
nextFocusLeft?:
|
|
27
|
+
nextFocusLeft?: FocusDestination | undefined,
|
|
26
28
|
|
|
27
29
|
/**
|
|
28
30
|
* TV next focus right (see documentation for the View component).
|
|
29
31
|
*/
|
|
30
|
-
nextFocusRight?:
|
|
32
|
+
nextFocusRight?: FocusDestination | undefined,
|
|
31
33
|
|
|
32
34
|
/**
|
|
33
35
|
* TV next focus up (see documentation for the View component).
|
|
34
36
|
*/
|
|
35
|
-
nextFocusUp?:
|
|
37
|
+
nextFocusUp?: FocusDestination | undefined,
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
export interface NativeMethods {
|
|
@@ -118,7 +120,7 @@ declare module 'react-native' {
|
|
|
118
120
|
/**
|
|
119
121
|
* Array of `Component`s to register as destinations with `UIFocusGuide`
|
|
120
122
|
*/
|
|
121
|
-
destinations?:
|
|
123
|
+
destinations?: FocusDestination[] | undefined;
|
|
122
124
|
/**
|
|
123
125
|
* If true, `TVFocusGuide` will automatically manage focus for you.
|
|
124
126
|
* It will redirect the focus to the first focusable child on the first visit.
|
|
@@ -154,7 +156,7 @@ declare module 'react-native' {
|
|
|
154
156
|
|
|
155
157
|
export type FocusGuideMethods = {
|
|
156
158
|
setDestinations: (
|
|
157
|
-
destinations:
|
|
159
|
+
destinations: FocusDestination[],
|
|
158
160
|
) => void;
|
|
159
161
|
}
|
|
160
162
|
|