react-native 0.83.9 → 0.83.10
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/ActionSheetIOS/React-RCTActionSheet.podspec +1 -1
- package/Libraries/Animated/components/AnimatedScrollView.js +1 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +1 -1
- package/Libraries/Blob/React-RCTBlob.podspec +1 -1
- package/Libraries/Components/Button.js +2 -2
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +1 -1
- package/Libraries/Components/TextInput/TextInput.flow.js +1 -1
- package/Libraries/Components/Touchable/Touchable.d.ts +1 -1
- package/Libraries/Components/View/ViewAccessibility.d.ts +1 -1
- package/Libraries/Components/View/ViewAccessibility.js +1 -1
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Core/Timers/JSTimers.js +1 -1
- package/Libraries/Core/setUpNavigator.js +1 -1
- package/Libraries/EventEmitter/RCTNativeAppEventEmitter.d.ts +1 -1
- package/Libraries/FBLazyVector/FBLazyVector.podspec +1 -1
- package/Libraries/Image/ImageSource.d.ts +1 -1
- package/Libraries/Image/RCTImageLoader.mm +1 -1
- package/Libraries/Image/React-RCTImage.podspec +1 -1
- package/Libraries/Interaction/PanResponder.js +1 -1
- package/Libraries/LinkingIOS/React-RCTLinking.podspec +1 -1
- package/Libraries/NativeAnimation/React-RCTAnimation.podspec +1 -1
- package/Libraries/Network/React-RCTNetwork.podspec +1 -1
- package/Libraries/PushNotificationIOS/React-RCTPushNotification.podspec +1 -1
- package/Libraries/Renderer/README.md +2 -2
- package/Libraries/Required/RCTRequired.podspec +1 -1
- package/Libraries/Settings/React-RCTSettings.podspec +1 -1
- package/Libraries/Text/React-RCTText.podspec +1 -1
- package/Libraries/TypeSafety/RCTTypeSafety.podspec +1 -1
- package/Libraries/Utilities/PolyfillFunctions.js +1 -1
- package/Libraries/Vibration/React-RCTVibration.podspec +1 -1
- package/README.md +6 -6
- package/React/Base/RCTVersion.m +1 -1
- package/React/CoreModules/React-CoreModules.podspec +1 -1
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +1 -1
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +34 -5
- package/React/React-RCTFBReactNativeSpec.podspec +1 -1
- package/React/React-RCTFabric.podspec +1 -1
- package/React/Runtime/React-RCTRuntime.podspec +1 -1
- package/React/Tests/Mounting/RCTViewComponentViewTests.mm +145 -0
- package/React/Views/ScrollView/RCTScrollView.m +1 -1
- package/React-Core.podspec +1 -1
- package/React.podspec +1 -1
- package/ReactAndroid/build.gradle.kts +1 -1
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/publish.gradle +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/CxxInspectorPackagerConnection.kt +99 -9
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/inspector/InspectorNetworkHelper.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/SurfaceMountingManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/core/JavaTimerManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/intent/IntentModule.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactTextView.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextInputManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactTextSelectionWatcher.kt +1 -1
- package/ReactAndroid/src/main/jni/react/devsupport/JCxxInspectorPackagerConnectionWebSocket.cpp +29 -2
- package/ReactApple/Libraries/RCTFoundation/RCTDeprecation/RCTDeprecation.podspec +1 -1
- package/ReactApple/RCTSwiftUI/RCTSwiftUI.podspec +1 -1
- package/ReactApple/RCTSwiftUIWrapper/RCTSwiftUIWrapper.podspec +1 -1
- package/ReactCommon/React-Fabric.podspec +1 -1
- package/ReactCommon/React-FabricComponents.podspec +1 -1
- package/ReactCommon/React-FabricImage.podspec +1 -1
- package/ReactCommon/React-Mapbuffer.podspec +1 -1
- package/ReactCommon/ReactCommon.podspec +1 -1
- package/ReactCommon/callinvoker/React-callinvoker.podspec +1 -1
- package/ReactCommon/cxxreact/React-cxxreact.podspec +1 -1
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/hermes/React-hermes.podspec +1 -1
- package/ReactCommon/hermes/executor/React-jsitracing.podspec +1 -1
- package/ReactCommon/jserrorhandler/React-jserrorhandler.podspec +1 -1
- package/ReactCommon/jsi/React-jsi.podspec +1 -1
- package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +1 -1
- package/ReactCommon/jsinspector-modern/InspectorInterfaces.cpp +7 -3
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +1 -1
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +1 -5
- package/ReactCommon/jsinspector-modern/cdp/React-jsinspectorcdp.podspec +1 -1
- package/ReactCommon/jsinspector-modern/network/React-jsinspectornetwork.podspec +1 -1
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +1 -1
- package/ReactCommon/jsitooling/React-jsitooling.podspec +1 -1
- package/ReactCommon/logger/React-logger.podspec +1 -1
- package/ReactCommon/oscompat/React-oscompat.podspec +1 -1
- package/ReactCommon/react/debug/React-debug.podspec +1 -1
- package/ReactCommon/react/debug/redbox/JscSafeUrl.h +1 -1
- package/ReactCommon/react/featureflags/React-featureflags.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/React-NativeModulesApple.podspec +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +1 -1
- package/ReactCommon/react/nativemodule/defaults/React-defaultsnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/dom/React-domnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/featureflags/React-featureflagsnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/intersectionobserver/React-intersectionobservernativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/microtasks/React-microtasksnativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/mutationobserver/React-mutationobservernativemodule.podspec +1 -1
- package/ReactCommon/react/nativemodule/samples/ReactCommon-Samples.podspec +1 -1
- package/ReactCommon/react/nativemodule/webperformance/React-webperformancenativemodule.podspec +1 -1
- package/ReactCommon/react/networking/React-networking.podspec +1 -1
- package/ReactCommon/react/performance/cdpmetrics/React-performancecdpmetrics.podspec +1 -1
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -1
- package/ReactCommon/react/renderer/animated/internal/primitives.h +1 -1
- package/ReactCommon/react/renderer/consistency/React-rendererconsistency.podspec +1 -1
- package/ReactCommon/react/renderer/css/React-renderercss.podspec +1 -1
- package/ReactCommon/react/renderer/debug/React-rendererdebug.podspec +1 -1
- 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/mounting/internal/CullingContext.cpp +1 -1
- package/ReactCommon/react/renderer/runtimescheduler/React-runtimescheduler.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeCore.podspec +1 -1
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -1
- package/ReactCommon/react/runtime/platform/ios/React-RuntimeApple.podspec +1 -1
- package/ReactCommon/react/timing/React-timing.podspec +1 -1
- package/ReactCommon/react/utils/React-utils.podspec +1 -1
- package/ReactCommon/reactperflogger/React-perflogger.podspec +1 -1
- package/ReactCommon/runtimeexecutor/React-runtimeexecutor.podspec +1 -1
- package/ReactCommon/yoga/Yoga.podspec +2 -2
- package/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +2 -0
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +11 -7
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.h +2 -0
- package/ReactCommon/yoga/yoga/node/Node.cpp +6 -1
- package/package.json +10 -10
- package/scripts/cocoapods/rncore.rb +26 -8
- package/scripts/cocoapods/rndependencies.rb +26 -5
- package/scripts/cocoapods/spm.rb +1 -1
- package/scripts/cocoapods/utils.rb +2 -2
- package/scripts/codegen/templates/ReactAppDependencyProvider.podspec.template +1 -1
- package/scripts/codegen/templates/ReactCodegen.podspec.template +1 -1
- package/scripts/ios-configure-glog.sh +1 -1
- package/sdks/hermes-engine/hermes-engine.podspec +6 -1
- package/sdks/hermes-engine/hermes-utils.rb +27 -5
- package/src/private/types/HostInstance.js +1 -1
- package/src/types/globals.d.ts +2 -2
- package/third-party-podspecs/RCT-Folly.podspec +1 -1
- package/third-party-podspecs/ReactNativeDependencies.podspec +1 -1
- package/third-party-podspecs/glog.podspec +1 -1
- package/types/public/ReactNativeTypes.d.ts +2 -2
- package/types_generated/Libraries/Animated/components/AnimatedScrollView.d.ts +2 -2
- package/types_generated/Libraries/Components/Button.d.ts +3 -3
- package/types_generated/Libraries/Components/TextInput/TextInput.flow.d.ts +2 -2
- package/types_generated/Libraries/Components/View/ViewAccessibility.d.ts +4 -4
- package/types_generated/Libraries/Interaction/PanResponder.d.ts +2 -2
- package/types_generated/src/private/types/HostInstance.d.ts +2 -2
|
@@ -553,6 +553,8 @@ bool layoutAbsoluteDescendants(
|
|
|
553
553
|
containingNodeAvailableInnerHeight) ||
|
|
554
554
|
hasNewLayout;
|
|
555
555
|
|
|
556
|
+
cleanupContentsNodesRecursively(
|
|
557
|
+
child, /* didPerformLayout */ hasNewLayout);
|
|
556
558
|
if (hasNewLayout) {
|
|
557
559
|
child->setHasNewLayout(hasNewLayout);
|
|
558
560
|
}
|
|
@@ -480,7 +480,9 @@ static void zeroOutLayoutRecursively(yoga::Node* const node) {
|
|
|
480
480
|
}
|
|
481
481
|
}
|
|
482
482
|
|
|
483
|
-
|
|
483
|
+
void cleanupContentsNodesRecursively(
|
|
484
|
+
yoga::Node* const node,
|
|
485
|
+
bool didPerformLayout) {
|
|
484
486
|
if (node->hasContentsChildren()) [[unlikely]] {
|
|
485
487
|
node->cloneContentsChildrenIfNeeded();
|
|
486
488
|
for (auto child : node->getChildren()) {
|
|
@@ -488,11 +490,13 @@ static void cleanupContentsNodesRecursively(yoga::Node* const node) {
|
|
|
488
490
|
child->getLayout() = {};
|
|
489
491
|
child->setLayoutDimension(0, Dimension::Width);
|
|
490
492
|
child->setLayoutDimension(0, Dimension::Height);
|
|
491
|
-
|
|
493
|
+
if (didPerformLayout) {
|
|
494
|
+
child->setHasNewLayout(true);
|
|
495
|
+
}
|
|
492
496
|
child->setDirty(false);
|
|
493
497
|
child->cloneChildrenIfNeeded();
|
|
494
498
|
|
|
495
|
-
cleanupContentsNodesRecursively(child);
|
|
499
|
+
cleanupContentsNodesRecursively(child, didPerformLayout);
|
|
496
500
|
}
|
|
497
501
|
}
|
|
498
502
|
}
|
|
@@ -1317,7 +1321,7 @@ static void calculateLayoutImpl(
|
|
|
1317
1321
|
|
|
1318
1322
|
// Clean and update all display: contents nodes with a direct path to the
|
|
1319
1323
|
// current node as they will not be traversed
|
|
1320
|
-
cleanupContentsNodesRecursively(node);
|
|
1324
|
+
cleanupContentsNodesRecursively(node, performLayout);
|
|
1321
1325
|
return;
|
|
1322
1326
|
}
|
|
1323
1327
|
|
|
@@ -1335,7 +1339,7 @@ static void calculateLayoutImpl(
|
|
|
1335
1339
|
|
|
1336
1340
|
// Clean and update all display: contents nodes with a direct path to the
|
|
1337
1341
|
// current node as they will not be traversed
|
|
1338
|
-
cleanupContentsNodesRecursively(node);
|
|
1342
|
+
cleanupContentsNodesRecursively(node, performLayout);
|
|
1339
1343
|
return;
|
|
1340
1344
|
}
|
|
1341
1345
|
|
|
@@ -1353,7 +1357,7 @@ static void calculateLayoutImpl(
|
|
|
1353
1357
|
ownerHeight)) {
|
|
1354
1358
|
// Clean and update all display: contents nodes with a direct path to the
|
|
1355
1359
|
// current node as they will not be traversed
|
|
1356
|
-
cleanupContentsNodesRecursively(node);
|
|
1360
|
+
cleanupContentsNodesRecursively(node, /* didPerformLayout */ false);
|
|
1357
1361
|
return;
|
|
1358
1362
|
}
|
|
1359
1363
|
|
|
@@ -1365,7 +1369,7 @@ static void calculateLayoutImpl(
|
|
|
1365
1369
|
|
|
1366
1370
|
// Clean and update all display: contents nodes with a direct path to the
|
|
1367
1371
|
// current node as they will not be traversed
|
|
1368
|
-
cleanupContentsNodesRecursively(node);
|
|
1372
|
+
cleanupContentsNodesRecursively(node, performLayout);
|
|
1369
1373
|
|
|
1370
1374
|
// STEP 1: CALCULATE VALUES FOR REMAINDER OF ALGORITHM
|
|
1371
1375
|
const FlexDirection mainAxis =
|
|
@@ -392,7 +392,12 @@ void Node::cloneChildrenIfNeeded() {
|
|
|
392
392
|
child = resolveRef(config_->cloneNode(child, this, i));
|
|
393
393
|
child->setOwner(this);
|
|
394
394
|
|
|
395
|
-
if (child->
|
|
395
|
+
if (child->style().display() == Display::Contents) [[unlikely]] {
|
|
396
|
+
// The contents node's children are treated as children of the
|
|
397
|
+
// contents node's parent for layout purposes, so they need
|
|
398
|
+
// to be cloned as well.
|
|
399
|
+
child->cloneChildrenIfNeeded();
|
|
400
|
+
} else if (child->hasContentsChildren()) [[unlikely]] {
|
|
396
401
|
child->cloneContentsChildrenIfNeeded();
|
|
397
402
|
}
|
|
398
403
|
}
|
package/package.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native",
|
|
3
|
-
"version": "0.83.
|
|
3
|
+
"version": "0.83.10",
|
|
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/react-native.git",
|
|
9
9
|
"directory": "packages/react-native"
|
|
10
10
|
},
|
|
11
11
|
"homepage": "https://reactnative.dev/",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"app-framework",
|
|
20
20
|
"mobile-development"
|
|
21
21
|
],
|
|
22
|
-
"bugs": "https://github.com/
|
|
22
|
+
"bugs": "https://github.com/react/react-native/issues",
|
|
23
23
|
"engines": {
|
|
24
24
|
"node": ">= 20.19.4"
|
|
25
25
|
},
|
|
@@ -160,13 +160,13 @@
|
|
|
160
160
|
},
|
|
161
161
|
"dependencies": {
|
|
162
162
|
"@jest/create-cache-key-function": "^29.7.0",
|
|
163
|
-
"@react-native/assets-registry": "0.83.
|
|
164
|
-
"@react-native/codegen": "0.83.
|
|
165
|
-
"@react-native/community-cli-plugin": "0.83.
|
|
166
|
-
"@react-native/gradle-plugin": "0.83.
|
|
167
|
-
"@react-native/js-polyfills": "0.83.
|
|
168
|
-
"@react-native/normalize-colors": "0.83.
|
|
169
|
-
"@react-native/virtualized-lists": "0.83.
|
|
163
|
+
"@react-native/assets-registry": "0.83.10",
|
|
164
|
+
"@react-native/codegen": "0.83.10",
|
|
165
|
+
"@react-native/community-cli-plugin": "0.83.10",
|
|
166
|
+
"@react-native/gradle-plugin": "0.83.10",
|
|
167
|
+
"@react-native/js-polyfills": "0.83.10",
|
|
168
|
+
"@react-native/normalize-colors": "0.83.10",
|
|
169
|
+
"@react-native/virtualized-lists": "0.83.10",
|
|
170
170
|
"abort-controller": "^3.0.0",
|
|
171
171
|
"anser": "^1.4.9",
|
|
172
172
|
"ansi-regex": "^5.0.0",
|
|
@@ -386,18 +386,36 @@ class ReactNativeCoreUtils
|
|
|
386
386
|
download_rncore_tarball(react_native_path, tarball_url, version, configuration, dsyms)
|
|
387
387
|
end
|
|
388
388
|
|
|
389
|
+
def self.shared_cache_dir()
|
|
390
|
+
return File.join(Dir.home, "Library", "Caches", "ReactNative")
|
|
391
|
+
end
|
|
392
|
+
|
|
389
393
|
def self.download_rncore_tarball(react_native_path, tarball_url, version, configuration, dsyms = false)
|
|
390
|
-
|
|
391
|
-
"
|
|
392
|
-
"
|
|
394
|
+
filename = configuration == nil ?
|
|
395
|
+
"reactnative-core-#{version}#{dsyms ? "-dSYM" : ""}.tar.gz" :
|
|
396
|
+
"reactnative-core-#{version}#{dsyms ? "-dSYM" : ""}-#{configuration}.tar.gz"
|
|
397
|
+
destination_path = "#{artifacts_dir()}/#{filename}"
|
|
398
|
+
|
|
399
|
+
if File.exist?(destination_path)
|
|
400
|
+
rncore_log("Tarball #{filename} already exists in Pods. Skipping download.")
|
|
401
|
+
return destination_path
|
|
402
|
+
end
|
|
393
403
|
|
|
394
|
-
|
|
404
|
+
`mkdir -p "#{artifacts_dir()}"`
|
|
405
|
+
|
|
406
|
+
cached_path = File.join(shared_cache_dir(), filename)
|
|
407
|
+
if File.exist?(cached_path)
|
|
408
|
+
rncore_log("Cache hit: copying #{filename} from shared cache (#{shared_cache_dir()})")
|
|
409
|
+
FileUtils.cp(cached_path, destination_path)
|
|
410
|
+
else
|
|
411
|
+
rncore_log("Cache miss: downloading #{filename} from #{tarball_url}")
|
|
395
412
|
# Download to a temporary file first so we don't cache incomplete downloads.
|
|
396
|
-
rncore_log("Downloading ReactNativeCore-prebuilt #{dsyms ? "dSYMs " : ""}#{configuration ? configuration.to_s : ""} tarball from #{tarball_url} to #{Pathname.new(destination_path).relative_path_from(Pathname.pwd).to_s}")
|
|
397
413
|
tmp_file = "#{artifacts_dir()}/reactnative-core.download"
|
|
398
|
-
`
|
|
399
|
-
|
|
400
|
-
|
|
414
|
+
`curl "#{tarball_url}" -Lo "#{tmp_file}" && mv "#{tmp_file}" "#{destination_path}"`
|
|
415
|
+
# Save to shared cache for future use
|
|
416
|
+
`mkdir -p "#{shared_cache_dir()}"`
|
|
417
|
+
FileUtils.cp(destination_path, cached_path)
|
|
418
|
+
rncore_log("Saved #{filename} to shared cache (#{shared_cache_dir()})")
|
|
401
419
|
end
|
|
402
420
|
|
|
403
421
|
return destination_path
|
|
@@ -232,15 +232,36 @@ class ReactNativeDependenciesUtils
|
|
|
232
232
|
return {:http => url}
|
|
233
233
|
end
|
|
234
234
|
|
|
235
|
+
def self.shared_cache_dir()
|
|
236
|
+
return File.join(Dir.home, "Library", "Caches", "ReactNative")
|
|
237
|
+
end
|
|
238
|
+
|
|
235
239
|
def self.download_rndeps_tarball(react_native_path, tarball_url, version, configuration)
|
|
236
|
-
|
|
237
|
-
"
|
|
238
|
-
"
|
|
240
|
+
filename = configuration == nil ?
|
|
241
|
+
"reactnative-dependencies-#{version}.tar.gz" :
|
|
242
|
+
"reactnative-dependencies-#{version}-#{configuration}.tar.gz"
|
|
243
|
+
destination_path = "#{artifacts_dir()}/#{filename}"
|
|
244
|
+
|
|
245
|
+
if File.exist?(destination_path)
|
|
246
|
+
rndeps_log("Tarball #{filename} already exists in Pods. Skipping download.")
|
|
247
|
+
return destination_path
|
|
248
|
+
end
|
|
239
249
|
|
|
240
|
-
|
|
250
|
+
`mkdir -p "#{artifacts_dir()}"`
|
|
251
|
+
|
|
252
|
+
cached_path = File.join(shared_cache_dir(), filename)
|
|
253
|
+
if File.exist?(cached_path)
|
|
254
|
+
rndeps_log("Cache hit: copying #{filename} from shared cache (#{shared_cache_dir()})")
|
|
255
|
+
FileUtils.cp(cached_path, destination_path)
|
|
256
|
+
else
|
|
257
|
+
rndeps_log("Cache miss: downloading #{filename} from #{tarball_url}")
|
|
241
258
|
# Download to a temporary file first so we don't cache incomplete downloads.
|
|
242
259
|
tmp_file = "#{artifacts_dir()}/reactnative-dependencies.download"
|
|
243
|
-
`
|
|
260
|
+
`curl "#{tarball_url}" -Lo "#{tmp_file}" && mv "#{tmp_file}" "#{destination_path}"`
|
|
261
|
+
# Save to shared cache for future use
|
|
262
|
+
`mkdir -p "#{shared_cache_dir()}"`
|
|
263
|
+
FileUtils.cp(destination_path, cached_path)
|
|
264
|
+
rndeps_log("Saved #{filename} to shared cache (#{shared_cache_dir()})")
|
|
244
265
|
end
|
|
245
266
|
|
|
246
267
|
return destination_path
|
package/scripts/cocoapods/spm.rb
CHANGED
|
@@ -45,7 +45,7 @@ class SPMManager
|
|
|
45
45
|
log_warning "If you're using Xcode 15 or earlier you might need to close and reopen the Xcode workspace"
|
|
46
46
|
unless ENV["USE_FRAMEWORKS"] == "dynamic"
|
|
47
47
|
@dependencies_by_pod.each do |pod_name, dependencies|
|
|
48
|
-
log_warning "Pod #{pod_name} is using swift package(s) #{dependencies.map{|i| i[:products]}.flatten.uniq.join(", ")} with static linking, this might cause linker errors. Consider using USE_FRAMEWORKS=dynamic, see https://github.com/
|
|
48
|
+
log_warning "Pod #{pod_name} is using swift package(s) #{dependencies.map{|i| i[:products]}.flatten.uniq.join(", ")} with static linking, this might cause linker errors. Consider using USE_FRAMEWORKS=dynamic, see https://github.com/react/react-native/pull/44627#issuecomment-2123119711 for more information"
|
|
49
49
|
end
|
|
50
50
|
end
|
|
51
51
|
end
|
|
@@ -69,7 +69,7 @@ class ReactNativePodsUtils
|
|
|
69
69
|
end
|
|
70
70
|
|
|
71
71
|
def self.turn_off_resource_bundle_react_core(installer)
|
|
72
|
-
# this is needed for Xcode 14, see more details here https://github.com/
|
|
72
|
+
# this is needed for Xcode 14, see more details here https://github.com/react/react-native/issues/34673
|
|
73
73
|
# we should be able to remove this once CocoaPods catches up to it, see more details here https://github.com/CocoaPods/CocoaPods/issues/11402
|
|
74
74
|
installer.target_installation_results.pod_target_installation_results.each do |pod_name, target_installation_result|
|
|
75
75
|
if pod_name.to_s == 'React-Core'
|
|
@@ -237,7 +237,7 @@ class ReactNativePodsUtils
|
|
|
237
237
|
# When installing pods with a yarn alias, yarn creates a fake yarn and node executables
|
|
238
238
|
# in a temporary folder.
|
|
239
239
|
# Using `node --print "process.argv[0]";` we are able to retrieve the actual path from which node is running.
|
|
240
|
-
# see https://github.com/
|
|
240
|
+
# see https://github.com/react/react-native/issues/43285 for more info. We've tweaked this slightly.
|
|
241
241
|
node_binary = Shellwords.escape(`node --print "process.argv[0]"`.strip)
|
|
242
242
|
system("echo 'export NODE_BINARY=#{node_binary}' > #{file_path}.local")
|
|
243
243
|
end
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# LICENSE file in the root directory of this source tree.
|
|
5
5
|
|
|
6
6
|
version = "{react-native-version}"
|
|
7
|
-
source = { :git => 'https://github.com/
|
|
7
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
8
8
|
if version == '1000.0.0'
|
|
9
9
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
10
10
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
# LICENSE file in the root directory of this source tree.
|
|
5
5
|
|
|
6
6
|
version = "{react-native-version}"
|
|
7
|
-
source = { :git => 'https://github.com/
|
|
7
|
+
source = { :git => 'https://github.com/react/react-native.git' }
|
|
8
8
|
if version == '1000.0.0'
|
|
9
9
|
# This is an unpublished version, use the latest commit hash of the react-native repo, which we’re presumably in.
|
|
10
10
|
source[:commit] = `git rev-parse HEAD`.strip if system("git rev-parse --git-dir > /dev/null 2>&1")
|
|
@@ -57,7 +57,7 @@ if [ -h "test-driver" ]; then
|
|
|
57
57
|
rm test-driver
|
|
58
58
|
fi
|
|
59
59
|
|
|
60
|
-
# Manually disable gflags include to fix issue https://github.com/
|
|
60
|
+
# Manually disable gflags include to fix issue https://github.com/react/react-native/issues/28446
|
|
61
61
|
sed -i.bak -e 's/\@ac_cv_have_libgflags\@/0/' src/glog/logging.h.in && rm src/glog/logging.h.in.bak
|
|
62
62
|
sed -i.bak -e 's/HAVE_LIB_GFLAGS/HAVE_LIB_GFLAGS_DISABLED/' src/config.h.in && rm src/config.h.in.bak
|
|
63
63
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# LICENSE file in the root directory of this source tree.
|
|
5
5
|
|
|
6
6
|
require "json"
|
|
7
|
+
require "pathname"
|
|
7
8
|
require_relative "./hermes-utils.rb"
|
|
8
9
|
|
|
9
10
|
begin
|
|
@@ -74,9 +75,13 @@ Pod::Spec.new do |spec|
|
|
|
74
75
|
hermes_compiler_path = File.dirname(Pod::Executable.execute_command('node', ['-p',
|
|
75
76
|
"require.resolve(\"hermes-compiler\", {paths: [\"#{react_native_path}\"]})", __dir__]).strip
|
|
76
77
|
)
|
|
78
|
+
hermesc_path = File.join(hermes_compiler_path, 'hermesc', 'osx-bin', 'hermesc')
|
|
79
|
+
|
|
80
|
+
pods_root = Pod::Config.instance.sandbox.root
|
|
81
|
+
relative_hermesc = Pathname.new(hermesc_path).relative_path_from(pods_root)
|
|
77
82
|
|
|
78
83
|
spec.user_target_xcconfig = {
|
|
79
|
-
'HERMES_CLI_PATH' => "
|
|
84
|
+
'HERMES_CLI_PATH' => "$(PODS_ROOT)/#{relative_hermesc}"
|
|
80
85
|
}
|
|
81
86
|
end
|
|
82
87
|
|
|
@@ -236,16 +236,38 @@ def download_stable_hermes(react_native_path, version, configuration)
|
|
|
236
236
|
download_hermes_tarball(react_native_path, tarball_url, version, configuration)
|
|
237
237
|
end
|
|
238
238
|
|
|
239
|
+
def shared_cache_dir()
|
|
240
|
+
return File.join(Dir.home, "Library", "Caches", "ReactNative")
|
|
241
|
+
end
|
|
242
|
+
|
|
239
243
|
def download_hermes_tarball(react_native_path, tarball_url, version, configuration)
|
|
240
|
-
|
|
241
|
-
"
|
|
242
|
-
"
|
|
244
|
+
filename = configuration == nil ?
|
|
245
|
+
"hermes-ios-#{version}.tar.gz" :
|
|
246
|
+
"hermes-ios-#{version}-#{configuration}.tar.gz"
|
|
247
|
+
destination_path = "#{artifacts_dir()}/#{filename}"
|
|
248
|
+
|
|
249
|
+
if File.exist?(destination_path)
|
|
250
|
+
hermes_log("Tarball #{filename} already exists in Pods. Skipping download.", :info)
|
|
251
|
+
return destination_path
|
|
252
|
+
end
|
|
243
253
|
|
|
244
|
-
|
|
254
|
+
`mkdir -p "#{artifacts_dir()}"`
|
|
255
|
+
|
|
256
|
+
cached_path = File.join(shared_cache_dir(), filename)
|
|
257
|
+
if File.exist?(cached_path)
|
|
258
|
+
hermes_log("Cache hit: copying #{filename} from shared cache (#{shared_cache_dir()})", :info)
|
|
259
|
+
FileUtils.cp(cached_path, destination_path)
|
|
260
|
+
else
|
|
261
|
+
hermes_log("Cache miss: downloading #{filename} from #{tarball_url}", :info)
|
|
245
262
|
# Download to a temporary file first so we don't cache incomplete downloads.
|
|
246
263
|
tmp_file = "#{artifacts_dir()}/hermes-ios.download"
|
|
247
|
-
`
|
|
264
|
+
`curl "#{tarball_url}" -Lo "#{tmp_file}" && mv "#{tmp_file}" "#{destination_path}"`
|
|
265
|
+
# Save to shared cache for future use
|
|
266
|
+
`mkdir -p "#{shared_cache_dir()}"`
|
|
267
|
+
FileUtils.cp(destination_path, cached_path)
|
|
268
|
+
hermes_log("Saved #{filename} to shared cache (#{shared_cache_dir()})", :info)
|
|
248
269
|
end
|
|
270
|
+
|
|
249
271
|
return destination_path
|
|
250
272
|
end
|
|
251
273
|
|
|
@@ -42,7 +42,7 @@ export type MeasureLayoutOnSuccessCallback = (
|
|
|
42
42
|
* Note, however, that they are not available on composite components that aren't directly backed by a
|
|
43
43
|
* native view. This will generally include most components that you define in your own app.
|
|
44
44
|
* For more information, see [Direct Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture).
|
|
45
|
-
* @see https://github.com/
|
|
45
|
+
* @see https://github.com/react/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
|
|
46
46
|
*/
|
|
47
47
|
export interface LegacyHostInstanceMethods {
|
|
48
48
|
/**
|
package/src/types/globals.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ declare global {
|
|
|
41
41
|
*
|
|
42
42
|
* global.XMLHttpRequest = global.originalXMLHttpRequest;
|
|
43
43
|
*
|
|
44
|
-
* @see https://github.com/
|
|
44
|
+
* @see https://github.com/react/react-native/issues/934
|
|
45
45
|
*/
|
|
46
46
|
const originalXMLHttpRequest: any;
|
|
47
47
|
|
|
@@ -237,7 +237,7 @@ declare global {
|
|
|
237
237
|
/**
|
|
238
238
|
* React Native's implementation of fetch allows this syntax for uploading files from
|
|
239
239
|
* local filesystem.
|
|
240
|
-
* See https://github.com/
|
|
240
|
+
* See https://github.com/react/react-native/blob/master/Libraries/Network/convertRequestBody.js#L22
|
|
241
241
|
*/
|
|
242
242
|
interface _SourceUri {
|
|
243
243
|
uri: string;
|
|
@@ -73,7 +73,7 @@ Pod::Spec.new do |spec|
|
|
|
73
73
|
'folly/portability/*.h',
|
|
74
74
|
'folly/system/*.h',
|
|
75
75
|
|
|
76
|
-
# workaround for https://github.com/
|
|
76
|
+
# workaround for https://github.com/react/react-native/issues/14326
|
|
77
77
|
spec.preserve_paths = 'folly/*.h',
|
|
78
78
|
'folly/algorithm/simd/*.h',
|
|
79
79
|
'folly/algorithm/simd/detail/*.h',
|
|
@@ -28,7 +28,7 @@ Pod::Spec.new do |spec|
|
|
|
28
28
|
spec.version = version
|
|
29
29
|
spec.summary = 'React Native Dependencies'
|
|
30
30
|
spec.description = 'ReactNativeDependencies is a podspec that contains all the third-party dependencies of React Native.'
|
|
31
|
-
spec.homepage = 'https://github.com/
|
|
31
|
+
spec.homepage = 'https://github.com/react/react-native'
|
|
32
32
|
spec.license = package['license']
|
|
33
33
|
spec.authors = 'meta'
|
|
34
34
|
spec.platforms = min_supported_versions
|
|
@@ -27,7 +27,7 @@ Pod::Spec.new do |spec|
|
|
|
27
27
|
'src/symbolize.cc',
|
|
28
28
|
'src/utilities.cc',
|
|
29
29
|
'src/vlog_is_on.cc'
|
|
30
|
-
# workaround for https://github.com/
|
|
30
|
+
# workaround for https://github.com/react/react-native/issues/14326
|
|
31
31
|
spec.preserve_paths = 'src/*.h',
|
|
32
32
|
'src/base/*.h'
|
|
33
33
|
spec.exclude_files = "src/windows/**/*"
|
|
@@ -40,7 +40,7 @@ export type MeasureLayoutOnSuccessCallback = (
|
|
|
40
40
|
* Note, however, that they are not available on composite components that aren't directly backed by a
|
|
41
41
|
* native view. This will generally include most components that you define in your own app.
|
|
42
42
|
* For more information, see [Direct Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture).
|
|
43
|
-
* @see https://github.com/
|
|
43
|
+
* @see https://github.com/react/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
|
|
44
44
|
*/
|
|
45
45
|
export interface NativeMethods {
|
|
46
46
|
/**
|
|
@@ -123,7 +123,7 @@ export type NativeMethodsMixinType = NativeMethods;
|
|
|
123
123
|
/**
|
|
124
124
|
* Represents a native component, such as those returned from `requireNativeComponent`.
|
|
125
125
|
*
|
|
126
|
-
* @see https://github.com/
|
|
126
|
+
* @see https://github.com/react/react-native/blob/v0.62.0-rc.5/Libraries/Renderer/shims/ReactNativeTypes.js
|
|
127
127
|
*
|
|
128
128
|
* @todo This should eventually be defined as an AbstractComponent, but that
|
|
129
129
|
* should first be introduced in the React typings.
|
|
@@ -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<<ccca8e1da0d30d12a67984ccadfcc654>>
|
|
8
8
|
*
|
|
9
9
|
* This file was translated from Flow by scripts/js-api/build-types/index.js.
|
|
10
10
|
* Original file: packages/react-native/Libraries/Animated/components/AnimatedScrollView.js
|
|
@@ -16,7 +16,7 @@ import * as React from "react";
|
|
|
16
16
|
type AnimatedScrollViewInstance = React.ComponentRef<typeof ScrollView>;
|
|
17
17
|
declare const AnimatedScrollView: AnimatedComponentType<ScrollViewProps, AnimatedScrollViewInstance>;
|
|
18
18
|
/**
|
|
19
|
-
* @see https://github.com/
|
|
19
|
+
* @see https://github.com/react/react-native/commit/b8c8562
|
|
20
20
|
*/
|
|
21
21
|
declare const $$AnimatedScrollView: typeof AnimatedScrollView;
|
|
22
22
|
declare type $$AnimatedScrollView = typeof $$AnimatedScrollView;
|
|
@@ -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<<7a4f5715c04a60392f2e9f86b0da8b94>>
|
|
8
8
|
*
|
|
9
9
|
* This file was translated from Flow by scripts/js-api/build-types/index.js.
|
|
10
10
|
* Original file: packages/react-native/Libraries/Components/Button.js
|
|
@@ -92,7 +92,7 @@ export type ButtonProps = Readonly<{
|
|
|
92
92
|
accessibilityLabel?: string | undefined;
|
|
93
93
|
/**
|
|
94
94
|
* Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
|
|
95
|
-
* https://github.com/
|
|
95
|
+
* https://github.com/react/react-native/issues/34424
|
|
96
96
|
*/
|
|
97
97
|
"aria-label"?: string | undefined;
|
|
98
98
|
/**
|
|
@@ -140,7 +140,7 @@ export type ButtonProps = Readonly<{
|
|
|
140
140
|
[button:examples].
|
|
141
141
|
|
|
142
142
|
[button:source]:
|
|
143
|
-
https://github.com/
|
|
143
|
+
https://github.com/react/react-native/blob/HEAD/Libraries/Components/Button.js
|
|
144
144
|
|
|
145
145
|
[button:examples]:
|
|
146
146
|
https://js.coach/?menu%5Bcollections%5D=React%20Native&page=1&query=button
|
|
@@ -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<<a8e95754ffbf8677e05e63df239faf23>>
|
|
8
8
|
*
|
|
9
9
|
* This file was translated from Flow by scripts/js-api/build-types/index.js.
|
|
10
10
|
* Original file: packages/react-native/Libraries/Components/TextInput/TextInput.flow.js
|
|
@@ -719,7 +719,7 @@ type TextInputBaseProps = Readonly<{
|
|
|
719
719
|
* - `borderBottomRightRadius`
|
|
720
720
|
* - `borderBottomLeftRadius`
|
|
721
721
|
*
|
|
722
|
-
* see [Issue#7070](https://github.com/
|
|
722
|
+
* see [Issue#7070](https://github.com/react/react-native/issues/7070)
|
|
723
723
|
* for more detail.
|
|
724
724
|
*
|
|
725
725
|
* [Styles](docs/style.html)
|
|
@@ -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<<d632f414daf92e9a1de00d6d4e2f1ffe>>
|
|
8
8
|
*
|
|
9
9
|
* This file was translated from Flow by scripts/js-api/build-types/index.js.
|
|
10
10
|
* Original file: packages/react-native/Libraries/Components/View/ViewAccessibility.js
|
|
@@ -223,7 +223,7 @@ export type AccessibilityProps = Readonly<Omit<AccessibilityPropsAndroid, keyof
|
|
|
223
223
|
accessibilityHint?: string | undefined;
|
|
224
224
|
/**
|
|
225
225
|
* Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
|
|
226
|
-
* https://github.com/
|
|
226
|
+
* https://github.com/react/react-native/issues/34424
|
|
227
227
|
*/
|
|
228
228
|
"aria-label"?: string | undefined;
|
|
229
229
|
/**
|
|
@@ -295,7 +295,7 @@ export type AccessibilityProps = Readonly<Omit<AccessibilityPropsAndroid, keyof
|
|
|
295
295
|
accessibilityHint?: string | undefined;
|
|
296
296
|
/**
|
|
297
297
|
* Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
|
|
298
|
-
* https://github.com/
|
|
298
|
+
* https://github.com/react/react-native/issues/34424
|
|
299
299
|
*/
|
|
300
300
|
"aria-label"?: string | undefined;
|
|
301
301
|
/**
|
|
@@ -367,7 +367,7 @@ export type AccessibilityProps = Readonly<Omit<AccessibilityPropsAndroid, keyof
|
|
|
367
367
|
accessibilityHint?: string | undefined;
|
|
368
368
|
/**
|
|
369
369
|
* Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel
|
|
370
|
-
* https://github.com/
|
|
370
|
+
* https://github.com/react/react-native/issues/34424
|
|
371
371
|
*/
|
|
372
372
|
"aria-label"?: string | undefined;
|
|
373
373
|
/**
|
|
@@ -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<<d55e74e2efd5ee21a5a6947b85b1c69f>>
|
|
8
8
|
*
|
|
9
9
|
* This file was translated from Flow by scripts/js-api/build-types/index.js.
|
|
10
10
|
* Original file: packages/react-native/Libraries/Interaction/PanResponder.js
|
|
@@ -103,7 +103,7 @@ import type { GestureResponderEvent } from "../Types/CoreEventTypes";
|
|
|
103
103
|
* ### Working Example
|
|
104
104
|
*
|
|
105
105
|
* To see it in action, try the
|
|
106
|
-
* [PanResponder example in RNTester](https://github.com/
|
|
106
|
+
* [PanResponder example in RNTester](https://github.com/react/react-native/blob/HEAD/packages/rn-tester/js/examples/PanResponder/PanResponderExample.js)
|
|
107
107
|
*/
|
|
108
108
|
|
|
109
109
|
export type PanResponderGestureState = {
|
|
@@ -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<<6bde5bbe9e632ac3407d08e6936ee032>>
|
|
8
8
|
*
|
|
9
9
|
* This file was translated from Flow by scripts/js-api/build-types/index.js.
|
|
10
10
|
* Original file: packages/react-native/src/private/types/HostInstance.js
|
|
@@ -22,7 +22,7 @@ export type MeasureLayoutOnSuccessCallback = (left: number, top: number, width:
|
|
|
22
22
|
* Note, however, that they are not available on composite components that aren't directly backed by a
|
|
23
23
|
* native view. This will generally include most components that you define in your own app.
|
|
24
24
|
* For more information, see [Direct Manipulation](https://reactnative.dev/docs/the-new-architecture/direct-manipulation-new-architecture).
|
|
25
|
-
* @see https://github.com/
|
|
25
|
+
* @see https://github.com/react/react-native/blob/master/Libraries/Renderer/shims/ReactNativeTypes.js#L87
|
|
26
26
|
*/
|
|
27
27
|
export interface LegacyHostInstanceMethods {
|
|
28
28
|
/**
|