react-native 0.71.2 → 0.71.4

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.
@@ -301,9 +301,8 @@ class TouchableOpacity extends React.Component<Props, State> {
301
301
  this.state.pressability.configure(this._createPressabilityConfig());
302
302
  if (
303
303
  this.props.disabled !== prevProps.disabled ||
304
- (flattenStyle(prevProps.style)?.opacity !==
305
- flattenStyle(this.props.style)?.opacity) !==
306
- undefined
304
+ flattenStyle(prevProps.style)?.opacity !==
305
+ flattenStyle(this.props.style)?.opacity
307
306
  ) {
308
307
  this._opacityInactive(250);
309
308
  }
@@ -69,7 +69,7 @@ export interface TouchableWithoutFeedbackProps
69
69
  * the Z-index of sibling views always takes precedence if a touch hits
70
70
  * two overlapping views.
71
71
  */
72
- hitSlop?: Insets | undefined;
72
+ hitSlop?: null | Insets | number | undefined;
73
73
 
74
74
  /**
75
75
  * Used to reference react managed views from native code.
@@ -121,7 +121,7 @@ export interface TouchableWithoutFeedbackProps
121
121
  * while the scroll view is disabled. Ensure you pass in a constant
122
122
  * to reduce memory allocations.
123
123
  */
124
- pressRetentionOffset?: Insets | undefined;
124
+ pressRetentionOffset?: null | Insets | number | undefined;
125
125
 
126
126
  /**
127
127
  * Used to locate this view in end-to-end tests.
@@ -15,7 +15,7 @@ import type {
15
15
  AccessibilityState,
16
16
  AccessibilityValue,
17
17
  } from '../../Components/View/ViewAccessibility';
18
- import type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';
18
+ import type {EdgeInsetsOrSizeProp} from '../../StyleSheet/EdgeInsetsPropType';
19
19
  import type {
20
20
  BlurEvent,
21
21
  FocusEvent,
@@ -67,7 +67,7 @@ type Props = $ReadOnly<{|
67
67
  delayPressOut?: ?number,
68
68
  disabled?: ?boolean,
69
69
  focusable?: ?boolean,
70
- hitSlop?: ?EdgeInsetsProp,
70
+ hitSlop?: ?EdgeInsetsOrSizeProp,
71
71
  id?: string,
72
72
  importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),
73
73
  nativeID?: ?string,
@@ -79,7 +79,7 @@ type Props = $ReadOnly<{|
79
79
  onPress?: ?(event: PressEvent) => mixed,
80
80
  onPressIn?: ?(event: PressEvent) => mixed,
81
81
  onPressOut?: ?(event: PressEvent) => mixed,
82
- pressRetentionOffset?: ?EdgeInsetsProp,
82
+ pressRetentionOffset?: ?EdgeInsetsOrSizeProp,
83
83
  rejectResponderTermination?: ?boolean,
84
84
  testID?: ?string,
85
85
  touchSoundDisabled?: ?boolean,
@@ -12,6 +12,6 @@
12
12
  exports.version = {
13
13
  major: 0,
14
14
  minor: 71,
15
- patch: 2,
15
+ patch: 4,
16
16
  prerelease: null,
17
17
  };
@@ -14,9 +14,9 @@ import type {
14
14
  VirtualizedListProps,
15
15
  } from './VirtualizedList';
16
16
  import type {ScrollViewComponent} from '../Components/ScrollView/ScrollView';
17
- import {StyleProp} from '../StyleSheet/StyleSheet';
18
- import {ViewStyle} from '../StyleSheet/StyleSheetTypes';
19
- import {View} from '../Components/View/View';
17
+ import type {StyleProp} from '../StyleSheet/StyleSheet';
18
+ import type {ViewStyle} from '../StyleSheet/StyleSheetTypes';
19
+ import type {View} from '../Components/View/View';
20
20
 
21
21
  export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
22
22
  /**
@@ -40,10 +40,10 @@ export interface FlatListProps<ItemT> extends VirtualizedListProps<ItemT> {
40
40
  | undefined;
41
41
 
42
42
  /**
43
- * For simplicity, data is just a plain array. If you want to use something else,
44
- * like an immutable list, use the underlying VirtualizedList directly.
43
+ * An array (or array-like list) of items to render. Other data types can be
44
+ * used by targetting VirtualizedList directly.
45
45
  */
46
- data: ReadonlyArray<ItemT> | null | undefined;
46
+ data: ArrayLike<ItemT> | null | undefined;
47
47
 
48
48
  /**
49
49
  * A marker property for telling the list to re-render (since it implements PureComponent).
@@ -30,10 +30,10 @@ const React = require('react');
30
30
 
31
31
  type RequiredProps<ItemT> = {|
32
32
  /**
33
- * For simplicity, data is just a plain array. If you want to use something else, like an
34
- * immutable list, use the underlying `VirtualizedList` directly.
33
+ * An array (or array-like list) of items to render. Other data types can be
34
+ * used by targetting VirtualizedList directly.
35
35
  */
36
- data: ?$ReadOnlyArray<ItemT>,
36
+ data: ?$ArrayLike<ItemT>,
37
37
  |};
38
38
  type OptionalProps<ItemT> = {|
39
39
  /**
@@ -163,6 +163,11 @@ function numColumnsOrDefault(numColumns: ?number) {
163
163
  return numColumns ?? 1;
164
164
  }
165
165
 
166
+ function isArrayLike(data: mixed): boolean {
167
+ // $FlowExpectedError[incompatible-use]
168
+ return typeof Object(data).length === 'number';
169
+ }
170
+
166
171
  type FlatListProps<ItemT> = {|
167
172
  ...RequiredProps<ItemT>,
168
173
  ...OptionalProps<ItemT>,
@@ -497,8 +502,10 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
497
502
  );
498
503
  }
499
504
 
500
- // $FlowFixMe[missing-local-annot]
501
- _getItem = (data: Array<ItemT>, index: number) => {
505
+ _getItem = (
506
+ data: $ArrayLike<ItemT>,
507
+ index: number,
508
+ ): ?(ItemT | $ReadOnlyArray<ItemT>) => {
502
509
  const numColumns = numColumnsOrDefault(this.props.numColumns);
503
510
  if (numColumns > 1) {
504
511
  const ret = [];
@@ -515,8 +522,14 @@ class FlatList<ItemT> extends React.PureComponent<Props<ItemT>, void> {
515
522
  }
516
523
  };
517
524
 
518
- _getItemCount = (data: ?Array<ItemT>): number => {
519
- if (Array.isArray(data)) {
525
+ _getItemCount = (data: ?$ArrayLike<ItemT>): number => {
526
+ // Legacy behavior of FlatList was to forward "undefined" length if invalid
527
+ // data like a non-arraylike object is passed. VirtualizedList would then
528
+ // coerce this, and the math would work out to no-op. For compatibility, if
529
+ // invalid data is passed, we tell VirtualizedList there are zero items
530
+ // available to prevent it from trying to read from the invalid data
531
+ // (without propagating invalidly typed data).
532
+ if (data != null && isArrayLike(data)) {
520
533
  const numColumns = numColumnsOrDefault(this.props.numColumns);
521
534
  return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;
522
535
  } else {
@@ -23,7 +23,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(71),
26
- RCTVersionPatch: @(2),
26
+ RCTVersionPatch: @(4),
27
27
  RCTVersionPrerelease: [NSNull null],
28
28
  };
29
29
  });
@@ -5,17 +5,12 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- buildscript {
9
- dependencies {
10
- classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${rootProject.hasProperty("kotlinVersion") ? rootProject.ext.kotlinVersion : KOTLIN_VERSION}"
11
- }
12
- }
13
-
14
8
  plugins {
15
9
  id("com.android.library")
16
10
  id("com.facebook.react")
17
11
  id("de.undercouch.download")
18
12
  id("maven-publish")
13
+ id("org.jetbrains.kotlin.android")
19
14
  }
20
15
 
21
16
  import com.facebook.react.tasks.internal.*
@@ -117,6 +112,10 @@ final def preparePrefab = tasks.register("preparePrefab", PreparePrefabHeadersTa
117
112
  new Pair("../ReactCommon/react/renderer/graphics/platform/cxx/", ""),
118
113
  ]
119
114
  ),
115
+ new PrefabPreprocessingEntry(
116
+ "rrc_root",
117
+ new Pair("../ReactCommon/react/renderer/components/root/", "react/renderer/components/root/")
118
+ ),
120
119
  new PrefabPreprocessingEntry(
121
120
  "rrc_view",
122
121
  new Pair("../ReactCommon/react/renderer/components/view/", "react/renderer/components/view/")
@@ -471,6 +470,7 @@ android {
471
470
  "react_render_core",
472
471
  "react_render_graphics",
473
472
  "rrc_image",
473
+ "rrc_root",
474
474
  "rrc_view",
475
475
  "jsi",
476
476
  "glog",
@@ -567,6 +567,9 @@ android {
567
567
  rrc_image {
568
568
  headers(new File(prefabHeadersDir, "rrc_image").absolutePath)
569
569
  }
570
+ rrc_root {
571
+ headers(new File(prefabHeadersDir, "rrc_root").absolutePath)
572
+ }
570
573
  rrc_view {
571
574
  headers(new File(prefabHeadersDir, "rrc_view").absolutePath)
572
575
  }
@@ -668,12 +671,7 @@ react {
668
671
  // TODO: The library name is chosen for parity with Fabric components & iOS
669
672
  // This should be changed to a more generic name, e.g. `ReactCoreSpec`.
670
673
  libraryName = "rncore"
671
- root = file("..")
672
674
  jsRootDir = file("../Libraries")
673
- reactNativeDir = file("$projectDir/..")
674
- // We search for the codegen in either one of the `node_modules` folder or in the
675
- // root packages folder (that's for when we build from source without calling `yarn install`).
676
- codegenDir = file(findNodeModulePath(projectDir, "react-native-codegen") ?: "../packages/react-native-codegen/")
677
675
  }
678
676
 
679
677
  apply plugin: "org.jetbrains.kotlin.android"
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.71.2
1
+ VERSION_NAME=0.71.4
2
2
  GROUP=com.facebook.react
3
3
 
4
4
  # JVM Versions
@@ -30,8 +30,5 @@ FOLLY_VERSION=2021.07.22.00
30
30
  GLOG_VERSION=0.3.5
31
31
  LIBEVENT_VERSION=2.1.12
32
32
 
33
- # Plugins Versions
34
- KOTLIN_VERSION=1.6.10
35
-
36
33
  android.useAndroidX=true
37
34
  android.enableJetifier=true
@@ -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", 2,
20
+ "patch", 4,
21
21
  "prerelease", null);
22
22
  }
@@ -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
@@ -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 = 2;
20
+ int32_t Patch = 4;
21
21
  std::string_view Prerelease = "";
22
22
  } ReactNativeVersion;
23
23
 
@@ -0,0 +1,131 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ plugins { id("io.github.gradle-nexus.publish-plugin") version "1.1.0" }
9
+
10
+ val reactAndroidProperties = java.util.Properties()
11
+
12
+ File("$rootDir/ReactAndroid/gradle.properties").inputStream().use {
13
+ reactAndroidProperties.load(it)
14
+ }
15
+
16
+ version =
17
+ if (project.hasProperty("isNightly") &&
18
+ (project.property("isNightly") as? String).toBoolean()) {
19
+ "${reactAndroidProperties.getProperty("VERSION_NAME")}-SNAPSHOT"
20
+ } else {
21
+ reactAndroidProperties.getProperty("VERSION_NAME")
22
+ }
23
+
24
+ group = "com.facebook.react"
25
+
26
+ val ndkPath by extra(System.getenv("ANDROID_NDK"))
27
+ val ndkVersion by extra(System.getenv("ANDROID_NDK_VERSION"))
28
+
29
+ buildscript {
30
+ repositories {
31
+ google()
32
+ mavenCentral()
33
+ gradlePluginPortal()
34
+ }
35
+ dependencies {
36
+ classpath("com.android.tools.build:gradle:7.3.1")
37
+ classpath("de.undercouch:gradle-download-task:5.0.1")
38
+ classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.10")
39
+ }
40
+ }
41
+
42
+ val sonatypeUsername = findProperty("SONATYPE_USERNAME")?.toString()
43
+ val sonatypePassword = findProperty("SONATYPE_PASSWORD")?.toString()
44
+
45
+ nexusPublishing {
46
+ repositories {
47
+ sonatype {
48
+ username.set(sonatypeUsername)
49
+ password.set(sonatypePassword)
50
+ }
51
+ }
52
+ }
53
+
54
+ allprojects {
55
+ repositories {
56
+ maven { url = uri("$rootDir/node_modules/jsc-android/dist") }
57
+ maven { url = uri("$rootDir/android") }
58
+ google()
59
+ mavenCentral {
60
+ // We don't want to fetch react-native from Maven Central as there are
61
+ // older versions over there.
62
+ content { excludeGroup("com.facebook.react") }
63
+ }
64
+ }
65
+ }
66
+
67
+ tasks.register("cleanAll", Delete::class.java) {
68
+ description = "Remove all the build files and intermediate build outputs"
69
+ dependsOn(gradle.includedBuild("react-native-gradle-plugin").task(":clean"))
70
+ dependsOn(":ReactAndroid:clean")
71
+ dependsOn(":ReactAndroid:hermes-engine:clean")
72
+ dependsOn(":packages:rn-tester:android:app:clean")
73
+ delete(allprojects.map { it.buildDir })
74
+ delete(rootProject.file("./ReactAndroid/.cxx"))
75
+ delete(rootProject.file("./ReactAndroid/hermes-engine/.cxx"))
76
+ delete(rootProject.file("./sdks/download/"))
77
+ delete(rootProject.file("./sdks/hermes/"))
78
+ delete(rootProject.file("./ReactAndroid/src/main/jni/prebuilt/lib/arm64-v8a/"))
79
+ delete(rootProject.file("./ReactAndroid/src/main/jni/prebuilt/lib/armeabi-v7a/"))
80
+ delete(rootProject.file("./ReactAndroid/src/main/jni/prebuilt/lib/x86/"))
81
+ delete(rootProject.file("./ReactAndroid/src/main/jni/prebuilt/lib/x86_64/"))
82
+ delete(rootProject.file("./packages/react-native-codegen/lib"))
83
+ delete(rootProject.file("./packages/rn-tester/android/app/.cxx"))
84
+ }
85
+
86
+ tasks.register("buildAll") {
87
+ description = "Build and test all the React Native relevant projects."
88
+ dependsOn(gradle.includedBuild("react-native-gradle-plugin").task(":build"))
89
+ // This builds both the React Native framework for both debug and release
90
+ dependsOn(":ReactAndroid:assemble")
91
+ // This creates all the Maven artifacts and makes them available in the /android folder
92
+ dependsOn(":ReactAndroid:installArchives")
93
+ // This builds RN Tester for Hermes/JSC for debug only
94
+ dependsOn(":packages:rn-tester:android:app:assembleDebug")
95
+ // This compiles the Unit Test sources (without running them as they're partially broken)
96
+ dependsOn(":ReactAndroid:compileDebugUnitTestSources")
97
+ dependsOn(":ReactAndroid:compileReleaseUnitTestSources")
98
+ }
99
+
100
+ tasks.register("downloadAll") {
101
+ description = "Download all the depedencies needed locally so they can be cached on CI."
102
+ dependsOn(gradle.includedBuild("react-native-gradle-plugin").task(":dependencies"))
103
+ dependsOn(":ReactAndroid:downloadNdkBuildDependencies")
104
+ dependsOn(":ReactAndroid:dependencies")
105
+ dependsOn(":ReactAndroid:androidDependencies")
106
+ dependsOn(":ReactAndroid:hermes-engine:dependencies")
107
+ dependsOn(":ReactAndroid:hermes-engine:androidDependencies")
108
+ }
109
+
110
+ tasks.register("publishAllInsideNpmPackage") {
111
+ description =
112
+ "Publish all the artifacts to be available inside the NPM package in the `android` folder."
113
+ // Due to size constraints of NPM, we publish only react-native and hermes-engine inside
114
+ // the NPM package.
115
+ dependsOn(":ReactAndroid:installArchives")
116
+ dependsOn(":ReactAndroid:hermes-engine:installArchives")
117
+ }
118
+
119
+ tasks.register("publishAllToMavenTempLocal") {
120
+ description = "Publish all the artifacts to be available inside a Maven Local repository on /tmp."
121
+ dependsOn(":ReactAndroid:publishAllPublicationsToMavenTempLocalRepository")
122
+ // We don't publish the external-artifacts to Maven Local as CircleCI is using it via workspace.
123
+ dependsOn(":ReactAndroid:hermes-engine:publishAllPublicationsToMavenTempLocalRepository")
124
+ }
125
+
126
+ tasks.register("publishAllToSonatype") {
127
+ description = "Publish all the artifacts to Sonatype (Maven Central or Snapshot repository)"
128
+ dependsOn(":ReactAndroid:publishToSonatype")
129
+ dependsOn(":ReactAndroid:external-artifacts:publishToSonatype")
130
+ dependsOn(":ReactAndroid:hermes-engine:publishToSonatype")
131
+ }
@@ -0,0 +1,12 @@
1
+ # This is causing issue with dependencies task: https://github.com/gradle/gradle/issues/9645#issuecomment-530746758
2
+ # org.gradle.configureondemand=true
3
+ org.gradle.daemon=true
4
+ org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=1g -Dfile.encoding=UTF-8
5
+ org.gradle.parallel=true
6
+
7
+ android.useAndroidX=true
8
+
9
+ # Use this property to specify which architecture you want to build.
10
+ # You can also override it from the CLI using
11
+ # ./gradlew <task> -PreactNativeArchitectures=x86_64
12
+ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.71.2",
3
+ "version": "0.71.4",
4
4
  "bin": "./cli.js",
5
5
  "description": "A framework for building native apps using React",
6
6
  "license": "MIT",
@@ -15,9 +15,11 @@
15
15
  },
16
16
  "files": [
17
17
  "android",
18
+ "build.gradle.kts",
18
19
  "cli.js",
19
20
  "flow",
20
21
  "flow-typed",
22
+ "gradle.properties",
21
23
  "index.js",
22
24
  "interface.js",
23
25
  "jest-preset.js",
@@ -61,6 +63,7 @@
61
63
  "sdks/.hermesversion",
62
64
  "sdks/hermes-engine",
63
65
  "sdks/hermesc",
66
+ "settings.gradle.kts",
64
67
  "template.config.js",
65
68
  "template",
66
69
  "!template/node_modules",
@@ -107,9 +110,9 @@
107
110
  },
108
111
  "dependencies": {
109
112
  "@jest/create-cache-key-function": "^29.2.1",
110
- "@react-native-community/cli": "10.1.3",
111
- "@react-native-community/cli-platform-android": "10.1.3",
112
- "@react-native-community/cli-platform-ios": "10.1.1",
113
+ "@react-native-community/cli": "10.2.0",
114
+ "@react-native-community/cli-platform-android": "10.2.0",
115
+ "@react-native-community/cli-platform-ios": "10.2.0",
113
116
  "@react-native/assets": "1.0.0",
114
117
  "@react-native/normalize-color": "2.1.0",
115
118
  "@react-native/polyfills": "2.0.0",
@@ -120,17 +123,17 @@
120
123
  "event-target-shim": "^5.0.1",
121
124
  "invariant": "^2.2.4",
122
125
  "jest-environment-node": "^29.2.1",
123
- "jsc-android": "^250230.2.1",
126
+ "jsc-android": "^250231.0.0",
124
127
  "memoize-one": "^5.0.0",
125
- "metro-react-native-babel-transformer": "0.73.7",
126
- "metro-runtime": "0.73.7",
127
- "metro-source-map": "0.73.7",
128
+ "metro-react-native-babel-transformer": "0.73.8",
129
+ "metro-runtime": "0.73.8",
130
+ "metro-source-map": "0.73.8",
128
131
  "mkdirp": "^0.5.1",
129
132
  "nullthrows": "^1.1.1",
130
133
  "pretty-format": "^26.5.2",
131
134
  "promise": "^8.3.0",
132
135
  "react-devtools-core": "^4.26.1",
133
- "react-native-gradle-plugin": "^0.71.14",
136
+ "react-native-gradle-plugin": "^0.71.16",
134
137
  "react-refresh": "^0.4.0",
135
138
  "react-shallow-renderer": "^16.15.0",
136
139
  "regenerator-runtime": "^0.13.2",
@@ -139,7 +142,7 @@
139
142
  "use-sync-external-store": "^1.0.0",
140
143
  "whatwg-fetch": "^3.0.0",
141
144
  "ws": "^6.2.2",
142
- "react-native-codegen": "^0.71.3"
145
+ "react-native-codegen": "^0.71.5"
143
146
  },
144
147
  "devDependencies": {
145
148
  "flow-bin": "^0.191.0",
@@ -179,8 +182,8 @@
179
182
  "jest": "^29.2.1",
180
183
  "jest-junit": "^10.0.0",
181
184
  "jscodeshift": "^0.13.1",
182
- "metro-babel-register": "0.73.7",
183
- "metro-memory-fs": "0.73.7",
185
+ "metro-babel-register": "0.73.8",
186
+ "metro-memory-fs": "0.73.8",
184
187
  "mkdirp": "^0.5.1",
185
188
  "mock-fs": "^5.1.4",
186
189
  "prettier": "^2.4.1",
@@ -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)
@@ -1 +1 @@
1
- hermes-2022-11-30-RNv0.71.0-1eb8f7ea3059a338205c302cea0f5a3057f93049
1
+ hermes-2023-03-07-RNv0.71.4-31fdcf738940875c9bacf251e149006cf515d763
Binary file
Binary file
Binary file
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+
8
+ pluginManagement {
9
+ repositories {
10
+ mavenCentral()
11
+ google()
12
+ gradlePluginPortal()
13
+ }
14
+ }
15
+
16
+ include(":ReactAndroid", ":ReactAndroid:hermes-engine", ":ReactAndroid:external-artifacts")
17
+
18
+ // If the ./packages folder exists, then we're inside the React Native repository.
19
+ // If not, a users is consuming this project for a build from source.
20
+ if (File("${rootDir}/packages").exists()) {
21
+ include(":packages:rn-tester:android:app")
22
+ // Include this to enable codegen Gradle plugin.
23
+ includeBuild("packages/react-native-gradle-plugin/")
24
+ }
25
+
26
+ rootProject.name = "react-native-github"
27
+
28
+ plugins { id("com.gradle.enterprise").version("3.7.1") }
29
+
30
+ // If you specify a file inside gradle/gradle-enterprise.gradle.kts
31
+ // you can configure your custom Gradle Enterprise instance
32
+ if (File("./gradle/gradle-enterprise.gradle.kts").exists()) {
33
+ apply(from = "./gradle/gradle-enterprise.gradle.kts")
34
+ }
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "18.2.0",
14
- "react-native": "0.71.2"
14
+ "react-native": "0.71.4"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.20.0",
@@ -25,7 +25,7 @@
25
25
  "babel-jest": "^29.2.1",
26
26
  "eslint": "^8.19.0",
27
27
  "jest": "^29.2.1",
28
- "metro-react-native-babel-preset": "0.73.7",
28
+ "metro-react-native-babel-preset": "0.73.8",
29
29
  "prettier": "^2.4.1",
30
30
  "react-test-renderer": "18.2.0",
31
31
  "typescript": "4.8.4"