react-native 0.71.1 → 0.71.3

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 (28) hide show
  1. package/Libraries/Alert/Alert.d.ts +1 -0
  2. package/Libraries/Blob/React-RCTBlob.podspec +4 -0
  3. package/Libraries/Components/TextInput/TextInput.d.ts +15 -0
  4. package/Libraries/Components/View/ViewAccessibility.d.ts +13 -0
  5. package/Libraries/Core/ReactNativeVersion.js +1 -1
  6. package/Libraries/Lists/VirtualizedList.js +13 -10
  7. package/Libraries/StyleSheet/processAspectRatio.js +12 -2
  8. package/Libraries/TurboModule/TurboModuleRegistry.d.ts +2 -4
  9. package/React/Base/RCTVersion.m +1 -1
  10. package/React/CoreModules/React-CoreModules.podspec +1 -0
  11. package/React-Core.podspec +21 -6
  12. package/ReactAndroid/gradle.properties +1 -1
  13. package/ReactAndroid/src/main/java/com/facebook/react/ReactRootView.java +38 -41
  14. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  15. package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +25 -0
  16. package/ReactAndroid/src/main/jni/react/jscexecutor/CMakeLists.txt +13 -0
  17. package/ReactCommon/ReactCommon.podspec +7 -1
  18. package/ReactCommon/cxxreact/React-cxxreact.podspec +4 -0
  19. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  20. package/ReactCommon/hermes/React-hermes.podspec +1 -0
  21. package/ReactCommon/jsiexecutor/React-jsiexecutor.podspec +4 -0
  22. package/package.json +8 -5
  23. package/scripts/react_native_pods.rb +2 -1
  24. package/sdks/hermesc/osx-bin/hermesc +0 -0
  25. package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
  26. package/template/_node-version +1 -1
  27. package/template/package.json +2 -2
  28. package/types/index.d.ts +1 -1
@@ -77,6 +77,7 @@ export interface AlertStatic {
77
77
  type?: AlertType,
78
78
  defaultValue?: string,
79
79
  keyboardType?: string,
80
+ options?: AlertOptions,
80
81
  ) => void;
81
82
  }
82
83
 
@@ -45,4 +45,8 @@ Pod::Spec.new do |s|
45
45
  s.dependency "React-Core/RCTBlobHeaders", version
46
46
  s.dependency "React-Core/RCTWebSocket", version
47
47
  s.dependency "React-RCTNetwork", version
48
+
49
+ if ENV["USE_HERMES"] == nil || ENV["USE_HERMES"] == "1"
50
+ s.dependency "hermes-engine"
51
+ end
48
52
  end
@@ -45,6 +45,16 @@ export type KeyboardTypeOptions =
45
45
  | KeyboardTypeAndroid
46
46
  | KeyboardTypeIOS;
47
47
 
48
+ export type InputModeOptions =
49
+ | 'none'
50
+ | 'text'
51
+ | 'decimal'
52
+ | 'numeric'
53
+ | 'tel'
54
+ | 'search'
55
+ | 'email'
56
+ | 'url';
57
+
48
58
  export type ReturnKeyType = 'done' | 'go' | 'next' | 'search' | 'send';
49
59
  export type ReturnKeyTypeAndroid = 'none' | 'previous';
50
60
  export type ReturnKeyTypeIOS =
@@ -588,6 +598,11 @@ export interface TextInputProps
588
598
  */
589
599
  keyboardType?: KeyboardTypeOptions | undefined;
590
600
 
601
+ /**
602
+ * Works like the inputmode attribute in HTML, it determines which keyboard to open, e.g. numeric and has precedence over keyboardType.
603
+ */
604
+ inputMode?: InputModeOptions | undefined;
605
+
591
606
  /**
592
607
  * Limits the maximum number of characters that can be entered.
593
608
  * Use this instead of implementing the logic in JS to avoid flicker.
@@ -251,6 +251,12 @@ export interface AccessibilityPropsAndroid {
251
251
  | 'no'
252
252
  | 'no-hide-descendants'
253
253
  | undefined;
254
+
255
+ /**
256
+ * A reference to another element `nativeID` used to build complex forms. The value of `accessibilityLabelledBy` should match the `nativeID` of the related element.
257
+ * @platform android
258
+ */
259
+ accessibilityLabelledBy?: string | string[] | undefined;
254
260
  }
255
261
 
256
262
  export interface AccessibilityPropsIOS {
@@ -290,6 +296,13 @@ export interface AccessibilityPropsIOS {
290
296
  * @platform ios
291
297
  */
292
298
  accessibilityIgnoresInvertColors?: boolean | undefined;
299
+
300
+ /**
301
+ * By using the accessibilityLanguage property, the screen reader will understand which language to use while reading the element's label, value and hint. The provided string value must follow the BCP 47 specification (https://www.rfc-editor.org/info/bcp47).
302
+ * https://reactnative.dev/docs/accessibility#accessibilitylanguage-ios
303
+ * @platform ios
304
+ */
305
+ accessibilityLanguage?: string | undefined;
293
306
  }
294
307
 
295
308
  export type Role =
@@ -12,6 +12,6 @@
12
12
  exports.version = {
13
13
  major: 0,
14
14
  minor: 71,
15
- patch: 1,
15
+ patch: 3,
16
16
  prerelease: null,
17
17
  };
@@ -860,16 +860,19 @@ export default class VirtualizedList extends StateSafePureComponent<
860
860
  <ListEmptyComponent />
861
861
  )): any);
862
862
  cells.push(
863
- React.cloneElement(element, {
864
- key: '$empty',
865
- onLayout: event => {
866
- this._onLayoutEmpty(event);
867
- if (element.props.onLayout) {
868
- element.props.onLayout(event);
869
- }
870
- },
871
- style: StyleSheet.compose(inversionStyle, element.props.style),
872
- }),
863
+ <VirtualizedListCellContextProvider
864
+ cellKey={this._getCellKey() + '-empty'}
865
+ key="$empty">
866
+ {React.cloneElement(element, {
867
+ onLayout: (event: LayoutEvent) => {
868
+ this._onLayoutEmpty(event);
869
+ if (element.props.onLayout) {
870
+ element.props.onLayout(event);
871
+ }
872
+ },
873
+ style: StyleSheet.compose(inversionStyle, element.props.style),
874
+ })}
875
+ </VirtualizedListCellContextProvider>,
873
876
  );
874
877
  }
875
878
 
@@ -12,10 +12,20 @@
12
12
 
13
13
  const invariant = require('invariant');
14
14
 
15
- function processAspectRatio(aspectRatio: number | string): ?number {
15
+ function processAspectRatio(aspectRatio?: number | string): ?number {
16
16
  if (typeof aspectRatio === 'number') {
17
17
  return aspectRatio;
18
18
  }
19
+ if (typeof aspectRatio !== 'string') {
20
+ if (__DEV__) {
21
+ invariant(
22
+ !aspectRatio,
23
+ 'aspectRatio must either be a number, a ratio string or `auto`. You passed: %s',
24
+ aspectRatio,
25
+ );
26
+ }
27
+ return;
28
+ }
19
29
 
20
30
  const matches = aspectRatio.split('/').map(s => s.trim());
21
31
 
@@ -34,7 +44,7 @@ function processAspectRatio(aspectRatio: number | string): ?number {
34
44
  if (__DEV__) {
35
45
  invariant(
36
46
  !hasNonNumericValues && (matches.length === 1 || matches.length === 2),
37
- 'aspectRatio must either be a number, a ratio or `auto`. You passed: %s',
47
+ 'aspectRatio must either be a number, a ratio string or `auto`. You passed: %s',
38
48
  aspectRatio,
39
49
  );
40
50
  }
@@ -9,7 +9,5 @@
9
9
 
10
10
  import {TurboModule} from './RCTExport';
11
11
 
12
- export const TurboModuleRegistry: {
13
- get<T extends TurboModule>(name: string): T | null;
14
- getEnforcing<T extends TurboModule>(name: string): T;
15
- };
12
+ export function get<T extends TurboModule>(name: string): T | null;
13
+ export function getEnforcing<T extends TurboModule>(name: string): T;
@@ -23,7 +23,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(71),
26
- RCTVersionPatch: @(1),
26
+ RCTVersionPatch: @(3),
27
27
  RCTVersionPrerelease: [NSNull null],
28
28
  };
29
29
  });
@@ -44,4 +44,5 @@ Pod::Spec.new do |s|
44
44
  s.dependency "React-RCTImage", version
45
45
  s.dependency "ReactCommon/turbomodule/core", version
46
46
  s.dependency "React-jsi", version
47
+ s.dependency 'React-RCTBlob'
47
48
  end
@@ -75,12 +75,20 @@ Pod::Spec.new do |s|
75
75
 
76
76
  s.subspec "Default" do |ss|
77
77
  ss.source_files = "React/**/*.{c,h,m,mm,S,cpp}"
78
- ss.exclude_files = "React/CoreModules/**/*",
79
- "React/DevSupport/**/*",
80
- "React/Fabric/**/*",
81
- "React/FBReactNativeSpec/**/*",
82
- "React/Tests/**/*",
83
- "React/Inspector/**/*"
78
+ exclude_files = [
79
+ "React/CoreModules/**/*",
80
+ "React/DevSupport/**/*",
81
+ "React/Fabric/**/*",
82
+ "React/FBReactNativeSpec/**/*",
83
+ "React/Tests/**/*",
84
+ "React/Inspector/**/*"
85
+ ]
86
+ # If we are using Hermes (the default is use hermes, so USE_HERMES can be nil), we don't have jsc installed
87
+ # So we have to exclude the JSCExecutorFactory
88
+ if ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1"
89
+ exclude_files = exclude_files.append("React/CxxBridge/JSCExecutorFactory.{h,mm}")
90
+ end
91
+ ss.exclude_files = exclude_files
84
92
  ss.private_header_files = "React/Cxx*/*.h"
85
93
  end
86
94
 
@@ -114,4 +122,11 @@ Pod::Spec.new do |s|
114
122
  s.dependency "React-jsiexecutor", version
115
123
  s.dependency "Yoga"
116
124
  s.dependency "glog"
125
+
126
+ if ENV['USE_HERMES'] == "0"
127
+ s.dependency 'React-jsc'
128
+ else
129
+ s.dependency 'React-hermes'
130
+ s.dependency 'hermes-engine'
131
+ end
117
132
  end
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.71.1
1
+ VERSION_NAME=0.71.3
2
2
  GROUP=com.facebook.react
3
3
 
4
4
  # JVM Versions
@@ -15,6 +15,7 @@ import static com.facebook.systrace.Systrace.TRACE_TAG_REACT_JAVA_BRIDGE;
15
15
  import android.app.Activity;
16
16
  import android.content.Context;
17
17
  import android.graphics.Canvas;
18
+ import android.graphics.Insets;
18
19
  import android.graphics.Point;
19
20
  import android.graphics.Rect;
20
21
  import android.os.Build;
@@ -33,8 +34,6 @@ import android.view.WindowManager;
33
34
  import android.widget.FrameLayout;
34
35
  import androidx.annotation.Nullable;
35
36
  import androidx.annotation.RequiresApi;
36
- import androidx.core.graphics.Insets;
37
- import androidx.core.view.WindowInsetsCompat;
38
37
  import com.facebook.common.logging.FLog;
39
38
  import com.facebook.infer.annotation.Assertions;
40
39
  import com.facebook.infer.annotation.ThreadConfined;
@@ -776,7 +775,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
776
775
 
777
776
  @VisibleForTesting
778
777
  /* package */ void simulateCheckForKeyboardForTesting() {
779
- if (Build.VERSION.SDK_INT >= 23) {
778
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
780
779
  getCustomGlobalLayoutListener().checkForKeyboardEvents();
781
780
  } else {
782
781
  getCustomGlobalLayoutListener().checkForKeyboardEventsLegacy();
@@ -907,9 +906,7 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
907
906
  return;
908
907
  }
909
908
 
910
- // WindowInsetsCompat IME measurement is reliable for API level 23+.
911
- // https://developer.android.com/jetpack/androidx/releases/core#1.5.0-alpha02
912
- if (Build.VERSION.SDK_INT >= 23) {
909
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
913
910
  checkForKeyboardEvents();
914
911
  } else {
915
912
  checkForKeyboardEventsLegacy();
@@ -919,44 +916,44 @@ public class ReactRootView extends FrameLayout implements RootView, ReactRoot {
919
916
  checkForDeviceDimensionsChanges();
920
917
  }
921
918
 
922
- @RequiresApi(api = Build.VERSION_CODES.M)
919
+ @RequiresApi(api = Build.VERSION_CODES.R)
923
920
  private void checkForKeyboardEvents() {
924
921
  getRootView().getWindowVisibleDisplayFrame(mVisibleViewArea);
925
922
  WindowInsets rootInsets = getRootView().getRootWindowInsets();
926
- if (rootInsets != null) {
927
- WindowInsetsCompat compatRootInsets = WindowInsetsCompat.toWindowInsetsCompat(rootInsets);
928
-
929
- boolean keyboardIsVisible = compatRootInsets.isVisible(WindowInsetsCompat.Type.ime());
930
- if (keyboardIsVisible != mKeyboardIsVisible) {
931
- mKeyboardIsVisible = keyboardIsVisible;
932
-
933
- if (keyboardIsVisible) {
934
- Insets imeInsets = compatRootInsets.getInsets(WindowInsetsCompat.Type.ime());
935
- Insets barInsets = compatRootInsets.getInsets(WindowInsetsCompat.Type.systemBars());
936
- int height = imeInsets.bottom - barInsets.bottom;
937
-
938
- int softInputMode = ((Activity) getContext()).getWindow().getAttributes().softInputMode;
939
- int screenY =
940
- softInputMode == WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING
941
- ? mVisibleViewArea.bottom - height
942
- : mVisibleViewArea.bottom;
943
-
944
- sendEvent(
945
- "keyboardDidShow",
946
- createKeyboardEventPayload(
947
- PixelUtil.toDIPFromPixel(screenY),
948
- PixelUtil.toDIPFromPixel(mVisibleViewArea.left),
949
- PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
950
- PixelUtil.toDIPFromPixel(height)));
951
- } else {
952
- sendEvent(
953
- "keyboardDidHide",
954
- createKeyboardEventPayload(
955
- PixelUtil.toDIPFromPixel(mLastHeight),
956
- 0,
957
- PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
958
- 0));
959
- }
923
+ if (rootInsets == null) {
924
+ return;
925
+ }
926
+
927
+ boolean keyboardIsVisible = rootInsets.isVisible(WindowInsets.Type.ime());
928
+ if (keyboardIsVisible != mKeyboardIsVisible) {
929
+ mKeyboardIsVisible = keyboardIsVisible;
930
+
931
+ if (keyboardIsVisible) {
932
+ Insets imeInsets = rootInsets.getInsets(WindowInsets.Type.ime());
933
+ Insets barInsets = rootInsets.getInsets(WindowInsets.Type.systemBars());
934
+ int height = imeInsets.bottom - barInsets.bottom;
935
+
936
+ int softInputMode = ((Activity) getContext()).getWindow().getAttributes().softInputMode;
937
+ int screenY =
938
+ softInputMode == WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING
939
+ ? mVisibleViewArea.bottom - height
940
+ : mVisibleViewArea.bottom;
941
+
942
+ sendEvent(
943
+ "keyboardDidShow",
944
+ createKeyboardEventPayload(
945
+ PixelUtil.toDIPFromPixel(screenY),
946
+ PixelUtil.toDIPFromPixel(mVisibleViewArea.left),
947
+ PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
948
+ PixelUtil.toDIPFromPixel(height)));
949
+ } else {
950
+ sendEvent(
951
+ "keyboardDidHide",
952
+ createKeyboardEventPayload(
953
+ PixelUtil.toDIPFromPixel(mLastHeight),
954
+ 0,
955
+ PixelUtil.toDIPFromPixel(mVisibleViewArea.width()),
956
+ 0));
960
957
  }
961
958
  }
962
959
  }
@@ -17,6 +17,6 @@ public class ReactNativeVersion {
17
17
  public static final Map<String, Object> VERSION = MapBuilder.<String, Object>of(
18
18
  "major", 0,
19
19
  "minor", 71,
20
- "patch", 1,
20
+ "patch", 3,
21
21
  "prerelease", null);
22
22
  }
@@ -585,6 +585,10 @@ public class ReactEditText extends AppCompatEditText
585
585
  new SpannableStringBuilder(reactTextUpdate.getText());
586
586
 
587
587
  manageSpans(spannableStringBuilder, reactTextUpdate.mContainsMultipleFragments);
588
+
589
+ // Mitigation for https://github.com/facebook/react-native/issues/35936 (S318090)
590
+ stripAbsoluteSizeSpans(spannableStringBuilder);
591
+
588
592
  mContainsImages = reactTextUpdate.containsImages();
589
593
 
590
594
  // When we update text, we trigger onChangeText code that will
@@ -658,6 +662,27 @@ public class ReactEditText extends AppCompatEditText
658
662
  }
659
663
  }
660
664
 
665
+ private void stripAbsoluteSizeSpans(SpannableStringBuilder sb) {
666
+ // We have already set a font size on the EditText itself. We can safely remove sizing spans
667
+ // which are the same as the set font size, and not otherwise overlapped.
668
+ final int effectiveFontSize = mTextAttributes.getEffectiveFontSize();
669
+ ReactAbsoluteSizeSpan[] spans = sb.getSpans(0, sb.length(), ReactAbsoluteSizeSpan.class);
670
+
671
+ outerLoop:
672
+ for (ReactAbsoluteSizeSpan span : spans) {
673
+ ReactAbsoluteSizeSpan[] overlappingSpans =
674
+ sb.getSpans(sb.getSpanStart(span), sb.getSpanEnd(span), ReactAbsoluteSizeSpan.class);
675
+
676
+ for (ReactAbsoluteSizeSpan overlappingSpan : overlappingSpans) {
677
+ if (span.getSize() != effectiveFontSize) {
678
+ continue outerLoop;
679
+ }
680
+ }
681
+
682
+ sb.removeSpan(span);
683
+ }
684
+ }
685
+
661
686
  private static boolean sameTextForSpan(
662
687
  final Editable oldText,
663
688
  final SpannableStringBuilder newText,
@@ -13,9 +13,22 @@ add_library(jscexecutor SHARED ${jscexecutor_SRC})
13
13
 
14
14
  target_include_directories(jscexecutor PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
15
15
 
16
+ # Patch from Expo: https://github.com/expo/react-native/blob/02714ab44d1e206fa80e81aef618e61017cccdc1/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/CMakeLists.txt#L16-L25
17
+ # Explicitly link libgcc.a to prevent undefined `_Unwind_Resume` symbol and crash from throwing c++ exceptions even someone tries to catch the exceptions.
18
+ # according to https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md#unwinding,
19
+ # we should put the unwinder between static libs and shared libs.
20
+ #
21
+ # TODO(ncor): we don't need this patch anymore after upgrading to ndk r23
22
+ if(ANDROID_NDK_REVISION VERSION_LESS "23.0.0")
23
+ set(LIB_UNWIND gcc)
24
+ else()
25
+ set(LIB_UNWIND unwind)
26
+ endif()
27
+
16
28
  target_link_libraries(jscexecutor
17
29
  jsireact
18
30
  jscruntime
31
+ ${LIB_UNWIND}
19
32
  fb
20
33
  fbjni
21
34
  folly_runtime
@@ -19,7 +19,7 @@ end
19
19
  folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32 -Wno-gnu-zero-variadic-macro-arguments'
20
20
  folly_version = '2021.07.22.00'
21
21
  boost_compiler_flags = '-Wno-documentation'
22
-
22
+ using_hermes = ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1"
23
23
  Pod::Spec.new do |s|
24
24
  s.name = "ReactCommon"
25
25
  s.module_name = "ReactCommon"
@@ -49,6 +49,9 @@ Pod::Spec.new do |s|
49
49
  s.dependency "React-logger", version
50
50
  ss.dependency "DoubleConversion"
51
51
  ss.dependency "glog"
52
+ if using_hermes
53
+ ss.dependency "hermes-engine"
54
+ end
52
55
 
53
56
  ss.subspec "bridging" do |sss|
54
57
  sss.dependency "React-jsi", version
@@ -56,6 +59,9 @@ Pod::Spec.new do |s|
56
59
  sss.exclude_files = "react/bridging/tests"
57
60
  sss.header_dir = "react/bridging"
58
61
  sss.pod_target_xcconfig = { "HEADER_SEARCH_PATHS" => "\"$(PODS_TARGET_SRCROOT)/ReactCommon\" \"$(PODS_ROOT)/RCT-Folly\"" }
62
+ if using_hermes
63
+ sss.dependency "hermes-engine"
64
+ end
59
65
  end
60
66
 
61
67
  ss.subspec "core" do |sss|
@@ -46,4 +46,8 @@ Pod::Spec.new do |s|
46
46
  s.dependency "React-perflogger", version
47
47
  s.dependency "React-jsi", version
48
48
  s.dependency "React-logger", version
49
+
50
+ if ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1"
51
+ s.dependency 'hermes-engine'
52
+ end
49
53
  end
@@ -17,7 +17,7 @@ namespace facebook::react {
17
17
  constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 71;
20
- int32_t Patch = 1;
20
+ int32_t Patch = 3;
21
21
  std::string_view Prerelease = "";
22
22
  } ReactNativeVersion;
23
23
 
@@ -52,4 +52,5 @@ Pod::Spec.new do |s|
52
52
  s.dependency "glog"
53
53
  s.dependency "RCT-Folly/Futures", folly_version
54
54
  s.dependency "hermes-engine"
55
+ s.dependency "React-jsi"
55
56
  end
@@ -40,4 +40,8 @@ Pod::Spec.new do |s|
40
40
  s.dependency "RCT-Folly", folly_version
41
41
  s.dependency "DoubleConversion"
42
42
  s.dependency "glog"
43
+
44
+ if ENV['USE_HERMES'] == nil || ENV['USE_HERMES'] == "1"
45
+ s.dependency 'hermes-engine'
46
+ end
43
47
  end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.71.1",
3
+ "version": "0.71.3",
4
4
  "bin": "./cli.js",
5
5
  "description": "A framework for building native apps using React",
6
6
  "license": "MIT",
@@ -98,7 +98,9 @@
98
98
  "test-e2e-local-clean": "node ./scripts/test-e2e-local-clean.js",
99
99
  "test-ios": "./scripts/objc-test.sh test",
100
100
  "test-typescript": "dtslint types",
101
- "test-typescript-offline": "dtslint --localTs node_modules/typescript/lib types"
101
+ "test-typescript-offline": "dtslint --localTs node_modules/typescript/lib types",
102
+ "bump-all-updated-packages": "node ./scripts/monorepo/bump-all-updated-packages",
103
+ "align-package-versions": "node ./scripts/monorepo/align-package-versions.js"
102
104
  },
103
105
  "peerDependencies": {
104
106
  "react": "18.2.0"
@@ -118,7 +120,7 @@
118
120
  "event-target-shim": "^5.0.1",
119
121
  "invariant": "^2.2.4",
120
122
  "jest-environment-node": "^29.2.1",
121
- "jsc-android": "^250230.2.1",
123
+ "jsc-android": "^250231.0.0",
122
124
  "memoize-one": "^5.0.0",
123
125
  "metro-react-native-babel-transformer": "0.73.7",
124
126
  "metro-runtime": "0.73.7",
@@ -128,7 +130,7 @@
128
130
  "pretty-format": "^26.5.2",
129
131
  "promise": "^8.3.0",
130
132
  "react-devtools-core": "^4.26.1",
131
- "react-native-gradle-plugin": "^0.71.13",
133
+ "react-native-gradle-plugin": "^0.71.15",
132
134
  "react-refresh": "^0.4.0",
133
135
  "react-shallow-renderer": "^16.15.0",
134
136
  "regenerator-runtime": "^0.13.2",
@@ -137,7 +139,7 @@
137
139
  "use-sync-external-store": "^1.0.0",
138
140
  "whatwg-fetch": "^3.0.0",
139
141
  "ws": "^6.2.2",
140
- "react-native-codegen": "^0.71.3"
142
+ "react-native-codegen": "^0.71.5"
141
143
  },
142
144
  "devDependencies": {
143
145
  "flow-bin": "^0.191.0",
@@ -148,6 +150,7 @@
148
150
  "@babel/eslint-parser": "^7.18.2",
149
151
  "@babel/generator": "^7.20.0",
150
152
  "@babel/plugin-transform-regenerator": "^7.0.0",
153
+ "@babel/preset-flow": "^7.18.0",
151
154
  "@definitelytyped/dtslint": "^0.0.127",
152
155
  "@react-native-community/eslint-config": "*",
153
156
  "@react-native-community/eslint-plugin": "*",
@@ -209,7 +209,8 @@ def react_native_post_install(installer, react_native_path = "../node_modules/re
209
209
  flipper_post_install(installer)
210
210
  end
211
211
 
212
- package = JSON.parse(File.read(File.join(react_native_path, "package.json")))
212
+ package_path = File.join(Pod::Config.instance.installation_root, react_native_path, "package.json")
213
+ package = JSON.parse(File.read(package_path))
213
214
  version = package['version']
214
215
 
215
216
  if ReactNativePodsUtils.has_pod(installer, 'hermes-engine') && is_building_hermes_from_source(version, react_native_path)
Binary file
Binary file
@@ -1 +1 @@
1
- 16
1
+ 18
@@ -11,13 +11,13 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "18.2.0",
14
- "react-native": "0.71.1"
14
+ "react-native": "0.71.3"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.20.0",
18
18
  "@babel/preset-env": "^7.20.0",
19
19
  "@babel/runtime": "^7.20.0",
20
- "@react-native-community/eslint-config": "^3.0.0",
20
+ "@react-native-community/eslint-config": "^3.2.0",
21
21
  "@tsconfig/react-native": "^2.0.2",
22
22
  "@types/jest": "^29.2.1",
23
23
  "@types/react": "^18.0.24",
package/types/index.d.ts CHANGED
@@ -139,7 +139,7 @@ export * from '../Libraries/StyleSheet/StyleSheetTypes';
139
139
  export * from '../Libraries/StyleSheet/processColor';
140
140
  export * from '../Libraries/Text/Text';
141
141
  export * from '../Libraries/TurboModule/RCTExport';
142
- export * from '../Libraries/TurboModule/TurboModuleRegistry';
142
+ export * as TurboModuleRegistry from '../Libraries/TurboModule/TurboModuleRegistry';
143
143
  export * from '../Libraries/Types/CoreEventTypes';
144
144
  export * from '../Libraries/Utilities/Appearance';
145
145
  export * from '../Libraries/Utilities/BackHandler';