react-native 0.71.17 → 0.71.19

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.
@@ -12,6 +12,6 @@
12
12
  exports.version = {
13
13
  major: 0,
14
14
  minor: 71,
15
- patch: 17,
15
+ patch: 19,
16
16
  prerelease: null,
17
17
  };
@@ -192,7 +192,7 @@ export function parseComponentStack(message: string): ComponentStack {
192
192
  if (!s) {
193
193
  return null;
194
194
  }
195
- const match = s.match(/(.*) \(at (.*\.js):([\d]+)\)/);
195
+ const match = s.match(/(.*) \(at (.*\.(?:js|jsx|ts|tsx)):([\d]+)\)/);
196
196
  if (!match) {
197
197
  return null;
198
198
  }
@@ -23,7 +23,7 @@ NSDictionary* RCTGetReactNativeVersion(void)
23
23
  __rnVersion = @{
24
24
  RCTVersionMajor: @(0),
25
25
  RCTVersionMinor: @(71),
26
- RCTVersionPatch: @(17),
26
+ RCTVersionPatch: @(19),
27
27
  RCTVersionPrerelease: [NSNull null],
28
28
  };
29
29
  });
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.71.17
1
+ VERSION_NAME=0.71.19
2
2
  GROUP=com.facebook.react
3
3
 
4
4
  # JVM Versions
@@ -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", 17,
20
+ "patch", 19,
21
21
  "prerelease", null);
22
22
  }
@@ -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 = 17;
20
+ int32_t Patch = 19;
21
21
  std::string_view Prerelease = "";
22
22
  } ReactNativeVersion;
23
23
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.71.17",
3
+ "version": "0.71.19",
4
4
  "bin": "./cli.js",
5
5
  "description": "A framework for building native apps using React",
6
6
  "license": "MIT",
@@ -144,6 +144,65 @@ class ReactNativePodsUtils
144
144
  end
145
145
  end
146
146
 
147
+ def self.get_privacy_manifest_paths_from(user_project)
148
+ privacy_manifests = user_project
149
+ .files
150
+ .select { |p|
151
+ p.path&.end_with?('PrivacyInfo.xcprivacy')
152
+ }
153
+ return privacy_manifests
154
+ end
155
+
156
+ def self.add_privacy_manifest_if_needed(installer)
157
+ user_project = installer.aggregate_targets
158
+ .map{ |t| t.user_project }
159
+ .first
160
+ privacy_manifest = self.get_privacy_manifest_paths_from(user_project).first
161
+ if privacy_manifest.nil?
162
+ file_timestamp_reason = {
163
+ "NSPrivacyAccessedAPIType" => "NSPrivacyAccessedAPICategoryFileTimestamp",
164
+ "NSPrivacyAccessedAPITypeReasons" => ["C617.1"],
165
+ }
166
+ user_defaults_reason = {
167
+ "NSPrivacyAccessedAPIType" => "NSPrivacyAccessedAPICategoryUserDefaults",
168
+ "NSPrivacyAccessedAPITypeReasons" => ["CA92.1"],
169
+ }
170
+ boot_time_reason = {
171
+ "NSPrivacyAccessedAPIType" => "NSPrivacyAccessedAPICategorySystemBootTime",
172
+ "NSPrivacyAccessedAPITypeReasons" => ["35F9.1"],
173
+ }
174
+ privacy_manifest = {
175
+ "NSPrivacyCollectedDataTypes" => [],
176
+ "NSPrivacyTracking" => false,
177
+ "NSPrivacyAccessedAPITypes" => [file_timestamp_reason, user_defaults_reason, boot_time_reason]
178
+ }
179
+ path = File.join(user_project.path.parent, "PrivacyInfo.xcprivacy")
180
+ Xcodeproj::Plist.write_to_path(privacy_manifest, path)
181
+ Pod::UI.puts "Your app does not have a privacy manifest! A template has been generated containing Required Reasons API usage in the core React Native library. Please add the PrivacyInfo.xcprivacy file to your project and complete data use, tracking and any additional required reasons your app is using according to Apple's guidance: https://developer.apple.com/documentation/bundleresources/privacy_manifest_files. Then, you will need to manually add this file to your project in Xcode.".red
182
+ end
183
+ end
184
+
185
+ def self.fix_flipper_for_xcode_15_3(installer)
186
+ installer.pods_project.targets.each do |target|
187
+ if target.name == 'Flipper'
188
+ file_path = 'Pods/Flipper/xplat/Flipper/FlipperTransportTypes.h'
189
+ if !File.exist?(file_path)
190
+ return
191
+ end
192
+
193
+ contents = File.read(file_path)
194
+ if contents.include?('#include <functional>')
195
+ return
196
+ end
197
+ mod_content = contents.gsub("#pragma once", "#pragma once\n#include <functional>")
198
+ File.chmod(0755, file_path)
199
+ File.open(file_path, 'w') do |file|
200
+ file.puts(mod_content)
201
+ end
202
+ end
203
+ end
204
+ end
205
+
147
206
  def self.apply_xcode_15_patch(installer, xcodebuild_manager: Xcodebuild)
148
207
  projects = self.extract_projects(installer)
149
208
 
@@ -226,6 +226,8 @@ def react_native_post_install(installer, react_native_path = "../node_modules/re
226
226
  ReactNativePodsUtils.set_node_modules_user_settings(installer, react_native_path)
227
227
  ReactNativePodsUtils.apply_xcode_15_patch(installer)
228
228
  ReactNativePodsUtils.updateIphoneOSDeploymentTarget(installer)
229
+ ReactNativePodsUtils.fix_flipper_for_xcode_15_3(installer)
230
+ ReactNativePodsUtils.add_privacy_manifest_if_needed(installer)
229
231
 
230
232
  NewArchitectureHelper.set_clang_cxx_language_standard_if_needed(installer)
231
233
  is_new_arch_enabled = ENV['RCT_NEW_ARCH_ENABLED'] == "1"
@@ -1 +1 @@
1
- hermes-2023-03-07-RNv0.71.4-31fdcf738940875c9bacf251e149006cf515d763
1
+ hermes-2024-04-26-RNv0.71.19-b34632e6c603fb375ac4c8f423b2ee9cc45bed97
Binary file
Binary file
Binary file
@@ -0,0 +1,38 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>NSPrivacyCollectedDataTypes</key>
6
+ <array>
7
+ </array>
8
+ <key>NSPrivacyAccessedAPITypes</key>
9
+ <array>
10
+ <dict>
11
+ <key>NSPrivacyAccessedAPIType</key>
12
+ <string>NSPrivacyAccessedAPICategoryFileTimestamp</string>
13
+ <key>NSPrivacyAccessedAPITypeReasons</key>
14
+ <array>
15
+ <string>C617.1</string>
16
+ </array>
17
+ </dict>
18
+ <dict>
19
+ <key>NSPrivacyAccessedAPIType</key>
20
+ <string>NSPrivacyAccessedAPICategoryUserDefaults</string>
21
+ <key>NSPrivacyAccessedAPITypeReasons</key>
22
+ <array>
23
+ <string>CA92.1</string>
24
+ </array>
25
+ </dict>
26
+ <dict>
27
+ <key>NSPrivacyAccessedAPIType</key>
28
+ <string>NSPrivacyAccessedAPICategorySystemBootTime</string>
29
+ <key>NSPrivacyAccessedAPITypeReasons</key>
30
+ <array>
31
+ <string>35F9.1</string>
32
+ </array>
33
+ </dict>
34
+ </array>
35
+ <key>NSPrivacyTracking</key>
36
+ <false/>
37
+ </dict>
38
+ </plist>
@@ -43,6 +43,7 @@
43
43
  5DCACB8F33CDC322A6C60F78 /* libPods-HelloWorld.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-HelloWorld.a"; sourceTree = BUILT_PRODUCTS_DIR; };
44
44
  81AB9BB72411601600AC10FF /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = HelloWorld/LaunchScreen.storyboard; sourceTree = "<group>"; };
45
45
  89C6BE57DB24E9ADA2F236DE /* Pods-HelloWorld-HelloWorldTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HelloWorld-HelloWorldTests.release.xcconfig"; path = "Target Support Files/Pods-HelloWorld-HelloWorldTests/Pods-HelloWorld-HelloWorldTests.release.xcconfig"; sourceTree = "<group>"; };
46
+ CD42C8902BDBCB100036610F /* PrivacyInfo.xcprivacy */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = PrivacyInfo.xcprivacy; path = HelloWorld/PrivacyInfo.xcprivacy; sourceTree = "<group>"; };
46
47
  ED297162215061F000B7C4FE /* JavaScriptCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = JavaScriptCore.framework; path = System/Library/Frameworks/JavaScriptCore.framework; sourceTree = SDKROOT; };
47
48
  /* End PBXFileReference section */
48
49
 
@@ -86,6 +87,7 @@
86
87
  13B07FAE1A68108700A75B9A /* HelloWorld */ = {
87
88
  isa = PBXGroup;
88
89
  children = (
90
+ CD42C8902BDBCB100036610F /* PrivacyInfo.xcprivacy */,
89
91
  13B07FAF1A68108700A75B9A /* AppDelegate.h */,
90
92
  13B07FB01A68108700A75B9A /* AppDelegate.mm */,
91
93
  13B07FB51A68108700A75B9A /* Images.xcassets */,
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "18.2.0",
14
- "react-native": "0.71.17"
14
+ "react-native": "0.71.19"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.20.0",