react-native 0.88.0-rc.0 → 0.88.0-rc.1

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.
Files changed (52) hide show
  1. package/Libraries/Core/ReactNativeVersion.js +1 -1
  2. package/Libraries/Renderer/implementations/ReactFabric-dev.js +3056 -1531
  3. package/Libraries/Renderer/implementations/ReactFabric-prod.js +2239 -1011
  4. package/Libraries/Renderer/implementations/ReactFabric-profiling.js +2451 -1124
  5. package/React/Base/RCTVersion.m +1 -1
  6. package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +8 -0
  7. package/ReactAndroid/gradle.properties +1 -1
  8. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +7 -1
  9. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +11 -1
  10. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +3 -1
  11. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +3 -1
  12. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +12 -1
  13. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android.kt +3 -1
  14. package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +3 -1
  15. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.kt +1 -1
  16. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +15 -1
  17. package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +4 -1
  18. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  19. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +5 -1
  20. package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +6 -1
  21. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +74 -56
  22. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +4 -2
  23. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +5 -1
  24. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +10 -1
  25. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsOverridesOSSCanary.h +5 -1
  26. package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +2 -1
  27. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +6 -1
  28. package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +3 -1
  29. package/package.json +10 -10
  30. package/scripts/codegen/generate-artifacts-executor/generateRCTThirdPartyComponents.js +18 -4
  31. package/scripts/setup-apple-spm.js +82 -4
  32. package/scripts/spm/autolinking-plugins.js +8 -5
  33. package/scripts/spm/expand-spm-dependencies.js +217 -156
  34. package/scripts/spm/generate-spm-autolinking.js +114 -88
  35. package/scripts/spm/generate-spm-xcodeproj.js +67 -22
  36. package/scripts/spm/ios-deployment-target.js +378 -0
  37. package/scripts/spm/read-podspec.js +156 -8
  38. package/scripts/spm/scaffold-package-swift.js +272 -105
  39. package/scripts/spm/spm-pbxproj.js +36 -21
  40. package/scripts/spm/spm-types.js +25 -8
  41. package/scripts/spm/spm-utils.js +26 -0
  42. package/scripts/spm/swiftpm-config.js +245 -0
  43. package/scripts/spm/sync-spm-autolinking.js +11 -2
  44. package/sdks/hermes-engine/version.properties +1 -1
  45. package/src/private/featureflags/ReactNativeFeatureFlags.js +10 -5
  46. package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +2 -1
  47. package/src/private/webapis/dom/nodes/ReactNativeElement.js +6 -4
  48. package/src/private/webapis/dom/nodes/ReadOnlyText.js +6 -4
  49. package/src/react-private-interface.js +4 -0
  50. package/src/react-private-interface.js.flow +2 -0
  51. package/types_generated/Libraries/ReactNative/FabricUIManager.d.ts +47 -0
  52. package/types_generated/src/react-private-interface.d.ts +4 -1
@@ -24,7 +24,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(88),
26
26
  RCTVersionPatch: @(0),
27
- RCTVersionPrerelease: @"rc.0",
27
+ RCTVersionPrerelease: @"rc.1",
28
28
  };
29
29
  });
30
30
  return __rnVersion;
@@ -255,6 +255,7 @@ protected:
255
255
  methodMap_["enableImagePrefetchingAndroid"] = MethodMetadata {.argCount = 0, .invoker = __enableImagePrefetchingAndroid};
256
256
  methodMap_["enableImageTransparentTintColor"] = MethodMetadata {.argCount = 0, .invoker = __enableImageTransparentTintColor};
257
257
  methodMap_["enableImmediateUpdateModeForContentOffsetChanges"] = MethodMetadata {.argCount = 0, .invoker = __enableImmediateUpdateModeForContentOffsetChanges};
258
+ methodMap_["enableImperativeEvents"] = MethodMetadata {.argCount = 0, .invoker = __enableImperativeEvents};
258
259
  methodMap_["enableImperativeFocus"] = MethodMetadata {.argCount = 0, .invoker = __enableImperativeFocus};
259
260
  methodMap_["enableInteropViewManagerClassLookUpOptimizationIOS"] = MethodMetadata {.argCount = 0, .invoker = __enableInteropViewManagerClassLookUpOptimizationIOS};
260
261
  methodMap_["enableIntersectionObserverByDefault"] = MethodMetadata {.argCount = 0, .invoker = __enableIntersectionObserverByDefault};
@@ -537,6 +538,13 @@ private:
537
538
  return bridging::callFromJs<bool>(rt, &T::enableImmediateUpdateModeForContentOffsetChanges, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
538
539
  }
539
540
 
541
+ static jsi::Value __enableImperativeEvents(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
542
+ static_assert(
543
+ bridging::getParameterCount(&T::enableImperativeEvents) == 1,
544
+ "Expected enableImperativeEvents(...) to have 1 parameters");
545
+ return bridging::callFromJs<bool>(rt, &T::enableImperativeEvents, static_cast<NativeReactNativeFeatureFlagsCxxSpec*>(&turboModule)->jsInvoker_, static_cast<T*>(&turboModule));
546
+ }
547
+
540
548
  static jsi::Value __enableImperativeFocus(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* /*args*/, size_t /*count*/) {
541
549
  static_assert(
542
550
  bridging::getParameterCount(&T::enableImperativeFocus) == 1,
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.88.0-rc.0
1
+ VERSION_NAME=0.88.0-rc.1
2
2
  react.internal.publishingGroup=com.facebook.react
3
3
  react.internal.hermesPublishingGroup=com.facebook.hermes
4
4
 
@@ -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<<b7ef80c2c39c734ae511fe6457b89ce7>>
7
+ * @generated SignedSource<<de19deb8eaa373fc2048f5a9453674b7>>
8
8
  */
9
9
 
10
10
  /**
@@ -216,6 +216,12 @@ public object ReactNativeFeatureFlags {
216
216
  @JvmStatic
217
217
  public fun enableImmediateUpdateModeForContentOffsetChanges(): Boolean = accessor.enableImmediateUpdateModeForContentOffsetChanges()
218
218
 
219
+ /**
220
+ * When enabled, ReactNativeElement and ReadOnlyText expose the public EventTarget API (addEventListener, removeEventListener, dispatchEvent). When disabled, those methods are removed from those final classes.
221
+ */
222
+ @JvmStatic
223
+ public fun enableImperativeEvents(): Boolean = accessor.enableImperativeEvents()
224
+
219
225
  /**
220
226
  * Enable ref.focus() and ref.blur() for all views, not just TextInput.
221
227
  */
@@ -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<<68aefd0293540d56f57e8badc0de04c8>>
7
+ * @generated SignedSource<<a1c52a57a980eaab23d92416340a6734>>
8
8
  */
9
9
 
10
10
  /**
@@ -51,6 +51,7 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
51
51
  private var enableImagePrefetchingAndroidCache: Boolean? = null
52
52
  private var enableImageTransparentTintColorCache: Boolean? = null
53
53
  private var enableImmediateUpdateModeForContentOffsetChangesCache: Boolean? = null
54
+ private var enableImperativeEventsCache: Boolean? = null
54
55
  private var enableImperativeFocusCache: Boolean? = null
55
56
  private var enableInteropViewManagerClassLookUpOptimizationIOSCache: Boolean? = null
56
57
  private var enableIntersectionObserverByDefaultCache: Boolean? = null
@@ -386,6 +387,15 @@ internal class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAcces
386
387
  return cached
387
388
  }
388
389
 
390
+ override fun enableImperativeEvents(): Boolean {
391
+ var cached = enableImperativeEventsCache
392
+ if (cached == null) {
393
+ cached = ReactNativeFeatureFlagsCxxInterop.enableImperativeEvents()
394
+ enableImperativeEventsCache = cached
395
+ }
396
+ return cached
397
+ }
398
+
389
399
  override fun enableImperativeFocus(): Boolean {
390
400
  var cached = enableImperativeFocusCache
391
401
  if (cached == null) {
@@ -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<<247f721796621af8615014477518bcd9>>
7
+ * @generated SignedSource<<8a0d1f134b175ada7550499896c09203>>
8
8
  */
9
9
 
10
10
  /**
@@ -90,6 +90,8 @@ public object ReactNativeFeatureFlagsCxxInterop {
90
90
 
91
91
  @DoNotStrip @JvmStatic public external fun enableImmediateUpdateModeForContentOffsetChanges(): Boolean
92
92
 
93
+ @DoNotStrip @JvmStatic public external fun enableImperativeEvents(): Boolean
94
+
93
95
  @DoNotStrip @JvmStatic public external fun enableImperativeFocus(): Boolean
94
96
 
95
97
  @DoNotStrip @JvmStatic public external fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean
@@ -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<<33071257f9c96a8664c9af429e387061>>
7
+ * @generated SignedSource<<891abee69433c105d062b45ed357fd5c>>
8
8
  */
9
9
 
10
10
  /**
@@ -85,6 +85,8 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
85
85
 
86
86
  override fun enableImmediateUpdateModeForContentOffsetChanges(): Boolean = false
87
87
 
88
+ override fun enableImperativeEvents(): Boolean = false
89
+
88
90
  override fun enableImperativeFocus(): Boolean = false
89
91
 
90
92
  override fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean = false
@@ -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<<f218220c66b8367211cae49adba46afc>>
7
+ * @generated SignedSource<<4c62625780d9f767714f8481c7496342>>
8
8
  */
9
9
 
10
10
  /**
@@ -55,6 +55,7 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
55
55
  private var enableImagePrefetchingAndroidCache: Boolean? = null
56
56
  private var enableImageTransparentTintColorCache: Boolean? = null
57
57
  private var enableImmediateUpdateModeForContentOffsetChangesCache: Boolean? = null
58
+ private var enableImperativeEventsCache: Boolean? = null
58
59
  private var enableImperativeFocusCache: Boolean? = null
59
60
  private var enableInteropViewManagerClassLookUpOptimizationIOSCache: Boolean? = null
60
61
  private var enableIntersectionObserverByDefaultCache: Boolean? = null
@@ -421,6 +422,16 @@ internal class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcc
421
422
  return cached
422
423
  }
423
424
 
425
+ override fun enableImperativeEvents(): Boolean {
426
+ var cached = enableImperativeEventsCache
427
+ if (cached == null) {
428
+ cached = currentProvider.enableImperativeEvents()
429
+ accessedFeatureFlags.add("enableImperativeEvents")
430
+ enableImperativeEventsCache = cached
431
+ }
432
+ return cached
433
+ }
434
+
424
435
  override fun enableImperativeFocus(): Boolean {
425
436
  var cached = enableImperativeFocusCache
426
437
  if (cached == null) {
@@ -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<<22ab94c6b0cc8f7ee39d546d9b93540a>>
7
+ * @generated SignedSource<<843b2fa7e358dd73c9db083e42b93be6>>
8
8
  */
9
9
 
10
10
  /**
@@ -27,6 +27,8 @@ public open class ReactNativeFeatureFlagsOverrides_RNOSS_Canary_Android : ReactN
27
27
 
28
28
  override fun enableAccessibilityOrder(): Boolean = true
29
29
 
30
+ override fun enableImperativeEvents(): Boolean = true
31
+
30
32
  override fun enableIntersectionObserverByDefault(): Boolean = true
31
33
 
32
34
  override fun enableSwiftUIBasedFilters(): Boolean = true
@@ -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<<915bf918212b9898319de61d4cadaa13>>
7
+ * @generated SignedSource<<e991f910f4be27f532c6b81c436bcdf1>>
8
8
  */
9
9
 
10
10
  /**
@@ -85,6 +85,8 @@ public interface ReactNativeFeatureFlagsProvider {
85
85
 
86
86
  @DoNotStrip public fun enableImmediateUpdateModeForContentOffsetChanges(): Boolean
87
87
 
88
+ @DoNotStrip public fun enableImperativeEvents(): Boolean
89
+
88
90
  @DoNotStrip public fun enableImperativeFocus(): Boolean
89
91
 
90
92
  @DoNotStrip public fun enableInteropViewManagerClassLookUpOptimizationIOS(): Boolean
@@ -15,6 +15,6 @@ public object ReactNativeVersion {
15
15
  "major" to 0,
16
16
  "minor" to 88,
17
17
  "patch" to 0,
18
- "prerelease" to "rc.0"
18
+ "prerelease" to "rc.1"
19
19
  )
20
20
  }
@@ -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<<177c5cc7f6e970a2d4454c32d7f777ef>>
7
+ * @generated SignedSource<<dc98fadf7aac306d7cdb4f5ab511f690>>
8
8
  */
9
9
 
10
10
  /**
@@ -225,6 +225,12 @@ class ReactNativeFeatureFlagsJavaProvider
225
225
  return method(javaProvider_);
226
226
  }
227
227
 
228
+ bool enableImperativeEvents() override {
229
+ static const auto method =
230
+ getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableImperativeEvents");
231
+ return method(javaProvider_);
232
+ }
233
+
228
234
  bool enableImperativeFocus() override {
229
235
  static const auto method =
230
236
  getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableImperativeFocus");
@@ -714,6 +720,11 @@ bool JReactNativeFeatureFlagsCxxInterop::enableImmediateUpdateModeForContentOffs
714
720
  return ReactNativeFeatureFlags::enableImmediateUpdateModeForContentOffsetChanges();
715
721
  }
716
722
 
723
+ bool JReactNativeFeatureFlagsCxxInterop::enableImperativeEvents(
724
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
725
+ return ReactNativeFeatureFlags::enableImperativeEvents();
726
+ }
727
+
717
728
  bool JReactNativeFeatureFlagsCxxInterop::enableImperativeFocus(
718
729
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
719
730
  return ReactNativeFeatureFlags::enableImperativeFocus();
@@ -1113,6 +1124,9 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
1113
1124
  makeNativeMethod(
1114
1125
  "enableImmediateUpdateModeForContentOffsetChanges",
1115
1126
  JReactNativeFeatureFlagsCxxInterop::enableImmediateUpdateModeForContentOffsetChanges),
1127
+ makeNativeMethod(
1128
+ "enableImperativeEvents",
1129
+ JReactNativeFeatureFlagsCxxInterop::enableImperativeEvents),
1116
1130
  makeNativeMethod(
1117
1131
  "enableImperativeFocus",
1118
1132
  JReactNativeFeatureFlagsCxxInterop::enableImperativeFocus),
@@ -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<<eab10e240a16c8ef3f659bd8ded290f0>>
7
+ * @generated SignedSource<<c17b71e1b754ff1773bb370681de06e4>>
8
8
  */
9
9
 
10
10
  /**
@@ -123,6 +123,9 @@ class JReactNativeFeatureFlagsCxxInterop
123
123
  static bool enableImmediateUpdateModeForContentOffsetChanges(
124
124
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
125
125
 
126
+ static bool enableImperativeEvents(
127
+ facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
128
+
126
129
  static bool enableImperativeFocus(
127
130
  facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
128
131
 
@@ -22,7 +22,7 @@ struct ReactNativeVersionType {
22
22
  int32_t Major = 0;
23
23
  int32_t Minor = 88;
24
24
  int32_t Patch = 0;
25
- std::string_view Prerelease = "rc.0";
25
+ std::string_view Prerelease = "rc.1";
26
26
  };
27
27
 
28
28
  constexpr ReactNativeVersionType ReactNativeVersion;
@@ -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<<7b726d7483bb35062b79e582323f0d7e>>
7
+ * @generated SignedSource<<023b0be9315450130aac118c65ac53eb>>
8
8
  */
9
9
 
10
10
  /**
@@ -150,6 +150,10 @@ bool ReactNativeFeatureFlags::enableImmediateUpdateModeForContentOffsetChanges()
150
150
  return getAccessor().enableImmediateUpdateModeForContentOffsetChanges();
151
151
  }
152
152
 
153
+ bool ReactNativeFeatureFlags::enableImperativeEvents() {
154
+ return getAccessor().enableImperativeEvents();
155
+ }
156
+
153
157
  bool ReactNativeFeatureFlags::enableImperativeFocus() {
154
158
  return getAccessor().enableImperativeFocus();
155
159
  }
@@ -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<<1e9009301b79f977132c4fa5599aebdd>>
7
+ * @generated SignedSource<<0537b7ab2bf0250ddd0cfaec6c52111b>>
8
8
  */
9
9
 
10
10
  /**
@@ -196,6 +196,11 @@ class ReactNativeFeatureFlags {
196
196
  */
197
197
  RN_EXPORT static bool enableImmediateUpdateModeForContentOffsetChanges();
198
198
 
199
+ /**
200
+ * When enabled, ReactNativeElement and ReadOnlyText expose the public EventTarget API (addEventListener, removeEventListener, dispatchEvent). When disabled, those methods are removed from those final classes.
201
+ */
202
+ RN_EXPORT static bool enableImperativeEvents();
203
+
199
204
  /**
200
205
  * Enable ref.focus() and ref.blur() for all views, not just TextInput.
201
206
  */