react-native 0.67.0-rc.0 → 0.67.0-rc.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.
Files changed (54) hide show
  1. package/Libraries/Components/Keyboard/Keyboard.js +2 -2
  2. package/Libraries/Core/ReactNativeVersion.js +1 -1
  3. package/React/Base/RCTVersion.m +1 -1
  4. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +2096 -0
  5. package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +2554 -0
  6. package/React/Modules/RCTI18nUtil.h +6 -14
  7. package/React/Modules/RCTI18nUtil.m +47 -1
  8. package/ReactAndroid/gradle.properties +1 -1
  9. package/ReactAndroid/src/main/java/com/facebook/hermes/reactexecutor/HermesExecutor.java +14 -8
  10. package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManagerBuilder.java +4 -1
  11. package/ReactAndroid/src/main/java/com/facebook/react/jscexecutor/JSCExecutor.java +6 -1
  12. package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
  13. package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
  14. package/android/com/facebook/react/react-native/{0.67.0-rc.0/react-native-0.67.0-rc.0.aar → 0.67.0-rc.4/react-native-0.67.0-rc.4.aar} +0 -0
  15. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.aar.md5 +1 -0
  16. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.aar.sha1 +1 -0
  17. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.aar.sha256 +1 -0
  18. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.aar.sha512 +1 -0
  19. package/android/com/facebook/react/react-native/{0.67.0-rc.0/react-native-0.67.0-rc.0.module → 0.67.0-rc.4/react-native-0.67.0-rc.4.module} +15 -15
  20. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.module.md5 +1 -0
  21. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.module.sha1 +1 -0
  22. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.module.sha256 +1 -0
  23. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.module.sha512 +1 -0
  24. package/android/com/facebook/react/react-native/{0.67.0-rc.0/react-native-0.67.0-rc.0.pom → 0.67.0-rc.4/react-native-0.67.0-rc.4.pom} +1 -1
  25. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.pom.md5 +1 -0
  26. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.pom.sha1 +1 -0
  27. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.pom.sha256 +1 -0
  28. package/android/com/facebook/react/react-native/0.67.0-rc.4/react-native-0.67.0-rc.4.pom.sha512 +1 -0
  29. package/android/com/facebook/react/react-native/maven-metadata.xml +4 -4
  30. package/android/com/facebook/react/react-native/maven-metadata.xml.md5 +1 -1
  31. package/android/com/facebook/react/react-native/maven-metadata.xml.sha1 +1 -1
  32. package/android/com/facebook/react/react-native/maven-metadata.xml.sha256 +1 -1
  33. package/android/com/facebook/react/react-native/maven-metadata.xml.sha512 +1 -1
  34. package/jest/preprocessor.js +7 -75
  35. package/package.json +2 -2
  36. package/scripts/react-native-xcode.sh +5 -5
  37. package/scripts/react_native_pods.rb +15 -4
  38. package/template/Gemfile +1 -1
  39. package/template/Gemfile.lock +6 -6
  40. package/template/_ruby-version +1 -1
  41. package/template/ios/Podfile +1 -0
  42. package/template/package.json +1 -1
  43. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.aar.md5 +0 -1
  44. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.aar.sha1 +0 -1
  45. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.aar.sha256 +0 -1
  46. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.aar.sha512 +0 -1
  47. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.module.md5 +0 -1
  48. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.module.sha1 +0 -1
  49. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.module.sha256 +0 -1
  50. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.module.sha512 +0 -1
  51. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.pom.md5 +0 -1
  52. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.pom.sha1 +0 -1
  53. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.pom.sha256 +0 -1
  54. package/android/com/facebook/react/react-native/0.67.0-rc.0/react-native-0.67.0-rc.0.pom.sha512 +0 -1
@@ -18,19 +18,11 @@
18
18
  + (instancetype)sharedInstance;
19
19
 
20
20
  - (BOOL)isRTL;
21
-
22
- /**
23
- * Should be used very early during app start up
24
- * Before the bridge is initialized
25
- */
26
- @property (atomic, setter=allowRTL:) BOOL isRTLAllowed;
27
-
28
- /**
29
- * Could be used to test RTL layout with English
30
- * Used for development and testing purpose
31
- */
32
- @property (atomic, setter=forceRTL:) BOOL isRTLForced;
33
-
34
- @property (atomic, setter=swapLeftAndRightInRTL:) BOOL doLeftAndRightSwapInRTL;
21
+ - (BOOL)isRTLAllowed;
22
+ - (void)allowRTL:(BOOL)value;
23
+ - (BOOL)isRTLForced;
24
+ - (void)forceRTL:(BOOL)value;
25
+ - (BOOL)doLeftAndRightSwapInRTL;
26
+ - (void)swapLeftAndRightInRTL:(BOOL)value;
35
27
 
36
28
  @end
@@ -18,7 +18,6 @@
18
18
  dispatch_once(&onceToken, ^{
19
19
  sharedInstance = [self new];
20
20
  [sharedInstance swapLeftAndRightInRTL:true];
21
- [sharedInstance allowRTL:true];
22
21
  });
23
22
 
24
23
  return sharedInstance;
@@ -41,6 +40,53 @@
41
40
  return NO;
42
41
  }
43
42
 
43
+ /**
44
+ * Should be used very early during app start up
45
+ * Before the bridge is initialized
46
+ * @return whether the app allows RTL layout, default is true
47
+ */
48
+ - (BOOL)isRTLAllowed
49
+ {
50
+ NSNumber *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"RCTI18nUtil_allowRTL"];
51
+ if (value == nil) {
52
+ return YES;
53
+ }
54
+ return [value boolValue];
55
+ }
56
+
57
+ - (void)allowRTL:(BOOL)rtlStatus
58
+ {
59
+ [[NSUserDefaults standardUserDefaults] setBool:rtlStatus forKey:@"RCTI18nUtil_allowRTL"];
60
+ [[NSUserDefaults standardUserDefaults] synchronize];
61
+ }
62
+
63
+ /**
64
+ * Could be used to test RTL layout with English
65
+ * Used for development and testing purpose
66
+ */
67
+ - (BOOL)isRTLForced
68
+ {
69
+ BOOL rtlStatus = [[NSUserDefaults standardUserDefaults] boolForKey:@"RCTI18nUtil_forceRTL"];
70
+ return rtlStatus;
71
+ }
72
+
73
+ - (void)forceRTL:(BOOL)rtlStatus
74
+ {
75
+ [[NSUserDefaults standardUserDefaults] setBool:rtlStatus forKey:@"RCTI18nUtil_forceRTL"];
76
+ [[NSUserDefaults standardUserDefaults] synchronize];
77
+ }
78
+
79
+ - (BOOL)doLeftAndRightSwapInRTL
80
+ {
81
+ return [[NSUserDefaults standardUserDefaults] boolForKey:@"RCTI18nUtil_makeRTLFlipLeftAndRightStyles"];
82
+ }
83
+
84
+ - (void)swapLeftAndRightInRTL:(BOOL)value
85
+ {
86
+ [[NSUserDefaults standardUserDefaults] setBool:value forKey:@"RCTI18nUtil_makeRTLFlipLeftAndRightStyles"];
87
+ [[NSUserDefaults standardUserDefaults] synchronize];
88
+ }
89
+
44
90
  // Check if the current device language is RTL
45
91
  - (BOOL)isDevicePreferredLanguageRTL
46
92
  {
@@ -1,4 +1,4 @@
1
- VERSION_NAME=0.67.0-rc.0
1
+ VERSION_NAME=0.67.0-rc.4
2
2
  GROUP=com.facebook.react
3
3
 
4
4
  POM_NAME=ReactNative
@@ -16,14 +16,20 @@ public class HermesExecutor extends JavaScriptExecutor {
16
16
  private static String mode_;
17
17
 
18
18
  static {
19
- // libhermes must be loaded explicitly to invoke its JNI_OnLoad.
20
- SoLoader.loadLibrary("hermes");
21
- try {
22
- SoLoader.loadLibrary("hermes-executor-debug");
23
- mode_ = "Debug";
24
- } catch (UnsatisfiedLinkError e) {
25
- SoLoader.loadLibrary("hermes-executor-release");
26
- mode_ = "Release";
19
+ loadLibrary();
20
+ }
21
+
22
+ public static void loadLibrary() throws UnsatisfiedLinkError {
23
+ if (mode_ == null) {
24
+ // libhermes must be loaded explicitly to invoke its JNI_OnLoad.
25
+ SoLoader.loadLibrary("hermes");
26
+ try {
27
+ SoLoader.loadLibrary("hermes-executor-debug");
28
+ mode_ = "Debug";
29
+ } catch (UnsatisfiedLinkError e) {
30
+ SoLoader.loadLibrary("hermes-executor-release");
31
+ mode_ = "Release";
32
+ }
27
33
  }
28
34
  }
29
35
 
@@ -14,6 +14,7 @@ import android.app.Activity;
14
14
  import android.app.Application;
15
15
  import android.content.Context;
16
16
  import androidx.annotation.Nullable;
17
+ import com.facebook.hermes.reactexecutor.HermesExecutor;
17
18
  import com.facebook.hermes.reactexecutor.HermesExecutorFactory;
18
19
  import com.facebook.infer.annotation.Assertions;
19
20
  import com.facebook.react.bridge.JSBundleLoader;
@@ -28,6 +29,7 @@ import com.facebook.react.devsupport.DevSupportManagerFactory;
28
29
  import com.facebook.react.devsupport.RedBoxHandler;
29
30
  import com.facebook.react.devsupport.interfaces.DevBundleDownloadListener;
30
31
  import com.facebook.react.devsupport.interfaces.DevSupportManager;
32
+ import com.facebook.react.jscexecutor.JSCExecutor;
31
33
  import com.facebook.react.jscexecutor.JSCExecutorFactory;
32
34
  import com.facebook.react.modules.core.DefaultHardwareBackBtnHandler;
33
35
  import com.facebook.react.packagerconnection.RequestHandler;
@@ -347,7 +349,7 @@ public class ReactInstanceManagerBuilder {
347
349
  try {
348
350
  // If JSC is included, use it as normal
349
351
  initializeSoLoaderIfNecessary(applicationContext);
350
- SoLoader.loadLibrary("jscexecutor");
352
+ JSCExecutor.loadLibrary();
351
353
  return new JSCExecutorFactory(appName, deviceName);
352
354
  } catch (UnsatisfiedLinkError jscE) {
353
355
  // https://github.com/facebook/hermes/issues/78 shows that
@@ -365,6 +367,7 @@ public class ReactInstanceManagerBuilder {
365
367
 
366
368
  // Otherwise use Hermes
367
369
  try {
370
+ HermesExecutor.loadLibrary();
368
371
  return new HermesExecutorFactory();
369
372
  } catch (UnsatisfiedLinkError hermesE) {
370
373
  // If we get here, either this is a JSC build, and of course
@@ -14,8 +14,13 @@ import com.facebook.react.bridge.ReadableNativeMap;
14
14
  import com.facebook.soloader.SoLoader;
15
15
 
16
16
  @DoNotStrip
17
- /* package */ class JSCExecutor extends JavaScriptExecutor {
17
+ /* package */ public class JSCExecutor extends JavaScriptExecutor {
18
+
18
19
  static {
20
+ loadLibrary();
21
+ }
22
+
23
+ public static void loadLibrary() throws UnsatisfiedLinkError {
19
24
  SoLoader.loadLibrary("jscexecutor");
20
25
  }
21
26
 
@@ -18,5 +18,5 @@ public class ReactNativeVersion {
18
18
  "major", 0,
19
19
  "minor", 67,
20
20
  "patch", 0,
21
- "prerelease", "rc.0");
21
+ "prerelease", "rc.4");
22
22
  }
@@ -18,7 +18,7 @@ constexpr struct {
18
18
  int32_t Major = 0;
19
19
  int32_t Minor = 67;
20
20
  int32_t Patch = 0;
21
- std::string_view Prerelease = "rc.0";
21
+ std::string_view Prerelease = "rc.4";
22
22
  } ReactNativeVersion;
23
23
 
24
24
  } // namespace facebook::react
@@ -0,0 +1 @@
1
+ 2bd7f064d3a465d1c16e98114e36d46ea8c42614
@@ -0,0 +1 @@
1
+ 102b44694d48557af4443d607625de00ead21b7983bf511f124e1281e534f3fd
@@ -0,0 +1 @@
1
+ 9a880b5e786280e48ee4d61cf07628256168ce1b7e14c6704a99237ee827aa0cd0e05d2dbe00508805b797568a2cd5a47ac326e6509f24978a25d9146ad69617
@@ -3,7 +3,7 @@
3
3
  "component": {
4
4
  "group": "com.facebook.react",
5
5
  "module": "react-native",
6
- "version": "0.67.0-rc.0",
6
+ "version": "0.67.0-rc.4",
7
7
  "attributes": {
8
8
  "org.gradle.status": "release"
9
9
  }
@@ -131,13 +131,13 @@
131
131
  ],
132
132
  "files": [
133
133
  {
134
- "name": "react-native-0.67.0-rc.0.aar",
135
- "url": "react-native-0.67.0-rc.0.aar",
136
- "size": 17804928,
137
- "sha512": "dbebacd7ce5aba6cfd97a79a174da126e4860f75bc80ba15bf5ef1ee5588ed7422a9410b248ce3006d044b78351b780b23a4d4888580fc9a38b0c2a1d57f3186",
138
- "sha256": "c76203b88ded072607d93e163bc3cfa6b7dc6d722b3910488b9be86113ebcce7",
139
- "sha1": "336bb7dda737f8b299bdc19ff73348051529eb80",
140
- "md5": "c3aaa7251074f2f801a40f1f11189ba6"
134
+ "name": "react-native-0.67.0-rc.4.aar",
135
+ "url": "react-native-0.67.0-rc.4.aar",
136
+ "size": 17805018,
137
+ "sha512": "9a880b5e786280e48ee4d61cf07628256168ce1b7e14c6704a99237ee827aa0cd0e05d2dbe00508805b797568a2cd5a47ac326e6509f24978a25d9146ad69617",
138
+ "sha256": "102b44694d48557af4443d607625de00ead21b7983bf511f124e1281e534f3fd",
139
+ "sha1": "2bd7f064d3a465d1c16e98114e36d46ea8c42614",
140
+ "md5": "93979c19f541e0e28f680112ac5953ad"
141
141
  }
142
142
  ]
143
143
  },
@@ -258,13 +258,13 @@
258
258
  ],
259
259
  "files": [
260
260
  {
261
- "name": "react-native-0.67.0-rc.0.aar",
262
- "url": "react-native-0.67.0-rc.0.aar",
263
- "size": 17804928,
264
- "sha512": "dbebacd7ce5aba6cfd97a79a174da126e4860f75bc80ba15bf5ef1ee5588ed7422a9410b248ce3006d044b78351b780b23a4d4888580fc9a38b0c2a1d57f3186",
265
- "sha256": "c76203b88ded072607d93e163bc3cfa6b7dc6d722b3910488b9be86113ebcce7",
266
- "sha1": "336bb7dda737f8b299bdc19ff73348051529eb80",
267
- "md5": "c3aaa7251074f2f801a40f1f11189ba6"
261
+ "name": "react-native-0.67.0-rc.4.aar",
262
+ "url": "react-native-0.67.0-rc.4.aar",
263
+ "size": 17805018,
264
+ "sha512": "9a880b5e786280e48ee4d61cf07628256168ce1b7e14c6704a99237ee827aa0cd0e05d2dbe00508805b797568a2cd5a47ac326e6509f24978a25d9146ad69617",
265
+ "sha256": "102b44694d48557af4443d607625de00ead21b7983bf511f124e1281e534f3fd",
266
+ "sha1": "2bd7f064d3a465d1c16e98114e36d46ea8c42614",
267
+ "md5": "93979c19f541e0e28f680112ac5953ad"
268
268
  }
269
269
  ]
270
270
  }
@@ -0,0 +1 @@
1
+ d8df0d340cf73832c17595d738c867708cdc0013
@@ -0,0 +1 @@
1
+ c75c05f6d49e689d264c9f9c32a9117af7c92bcd39dfc2ab230b7ba0b9492cc7
@@ -0,0 +1 @@
1
+ 338d45e563e7419e4f6fac479e6d645e2ac77cda925ccd516877b7450b936eaa2fc601d739d15e4362dad0e209d09ffaf32cb1c1e8d52f910c19e95983793736
@@ -9,7 +9,7 @@
9
9
  <modelVersion>4.0.0</modelVersion>
10
10
  <groupId>com.facebook.react</groupId>
11
11
  <artifactId>react-native</artifactId>
12
- <version>0.67.0-rc.0</version>
12
+ <version>0.67.0-rc.4</version>
13
13
  <packaging>aar</packaging>
14
14
  <name>ReactNative</name>
15
15
  <description>A framework for building native apps with React</description>
@@ -0,0 +1 @@
1
+ 09a9e67d013e5e03be6abffd24b2f18017001040
@@ -0,0 +1 @@
1
+ d5a6de6e0b230575218d8615d19f9a221eb9fb0ca38869f48eb0e0b16edb61e2
@@ -0,0 +1 @@
1
+ f5b2e2ea481b2d8a6bc6df5316ecec5de94d01b336586fcdf34f77297fb0ef23490ebcb18d8c9953d40e67b639ee155f9acbfb4f41c446a6e3048ca872807210
@@ -3,11 +3,11 @@
3
3
  <groupId>com.facebook.react</groupId>
4
4
  <artifactId>react-native</artifactId>
5
5
  <versioning>
6
- <latest>0.67.0-rc.0</latest>
7
- <release>0.67.0-rc.0</release>
6
+ <latest>0.67.0-rc.4</latest>
7
+ <release>0.67.0-rc.4</release>
8
8
  <versions>
9
- <version>0.67.0-rc.0</version>
9
+ <version>0.67.0-rc.4</version>
10
10
  </versions>
11
- <lastUpdated>20211016211648</lastUpdated>
11
+ <lastUpdated>20211130204855</lastUpdated>
12
12
  </versioning>
13
13
  </metadata>
@@ -1 +1 @@
1
- ecf0cbfddf48e845768a6c2953c53f36
1
+ ce45fd77fa686fd305ebdcd7a4591890
@@ -1 +1 @@
1
- 16e2460b58884ff673b0309a264f7833396737a7
1
+ 39ef914d28979f2bcee4f657e6763f2ec40f8e36
@@ -1 +1 @@
1
- ccb96ec2e6c2223e0f9bfe2ed0706bda23bbc9c3d4d0ef89389b9ce4b832a7a7
1
+ 73e749b72b85f631b2e52ef1ecfe7f9ac9fd1e30f84d1a2d2255ae4b9f9192c7
@@ -1 +1 @@
1
- d9e87bf7ec4e8c684c49996b3c0d5f6f4e469427c461b1937ff6b44fa81de517153f6f1dd146b87447be7f6b8dc8dec4e7dad3e9c290e6195c60332e2e1cdd6a
1
+ dd7e8901c9c65bf6f22cbbe8aadf03bf1de9a9770c426c4fcde9758e638fcc635d72cb5f2e4757c61ac51821c9335953c1e6a9b177e33ed0cbf2e1899ef194fb
@@ -13,42 +13,10 @@
13
13
  'use strict';
14
14
 
15
15
  const babelRegisterOnly = require('metro-babel-register');
16
- const nullthrows = require('nullthrows');
17
16
  const createCacheKeyFunction = require('@jest/create-cache-key-function')
18
17
  .default;
19
- const t = require('@babel/types');
20
- const {statements} = require('@babel/template').default;
21
18
 
22
- const importDefault = '__importDefault__';
23
- const importAll = '__importAll__';
24
-
25
- // prelude
26
- const importPrelude = statements(`
27
- function ${importDefault}(moduleId) {
28
- const exports = require(moduleId);
29
-
30
- if (exports && exports.__esModule) {
31
- return exports.default;
32
- }
33
-
34
- return exports;
35
- };
36
-
37
- function ${importAll}(moduleId) {
38
- const exports = require(moduleId);
39
-
40
- if (exports && exports.__esModule) {
41
- return exports;
42
- }
43
-
44
- return Object.assign({}, exports, {default: exports});
45
- };
46
- `);
47
-
48
- const {
49
- transformSync: babelTransformSync,
50
- transformFromAstSync: babelTransformFromAstSync,
51
- } = require('@babel/core');
19
+ const {transformSync: babelTransformSync} = require('@babel/core');
52
20
  const generate = require('@babel/generator').default;
53
21
 
54
22
  const nodeFiles = new RegExp(
@@ -73,13 +41,13 @@ module.exports = {
73
41
  }).code;
74
42
  }
75
43
 
76
- let {ast} = transformer.transform({
44
+ const {ast} = transformer.transform({
77
45
  filename: file,
78
46
  options: {
79
47
  ast: true, // needed for open source (?) https://github.com/facebook/react-native/commit/f8d6b97140cffe8d18b2558f94570c8d1b410d5c#r28647044
80
48
  dev: true,
81
49
  enableBabelRuntime: false,
82
- experimentalImportSupport: true,
50
+ experimentalImportSupport: false,
83
51
  globalPrefix: '',
84
52
  hot: false,
85
53
  inlineRequires: true,
@@ -111,6 +79,10 @@ module.exports = {
111
79
  [require('@babel/plugin-transform-regenerator')],
112
80
  [require('@babel/plugin-transform-sticky-regex')],
113
81
  [require('@babel/plugin-transform-unicode-regex')],
82
+ [
83
+ require('@babel/plugin-transform-modules-commonjs'),
84
+ {strict: false, allowTopLevelThis: true},
85
+ ],
114
86
  [require('@babel/plugin-transform-classes')],
115
87
  [require('@babel/plugin-transform-arrow-functions')],
116
88
  [require('@babel/plugin-transform-spread')],
@@ -127,46 +99,6 @@ module.exports = {
127
99
  ],
128
100
  });
129
101
 
130
- // We're not using @babel/plugin-transform-modules-commonjs so
131
- // we need to add 'use strict' manually
132
- const directives = ast.program.directives;
133
-
134
- if (
135
- ast.program.sourceType === 'module' &&
136
- (directives == null ||
137
- directives.findIndex(d => d.value.value === 'use strict') === -1)
138
- ) {
139
- ast.program.directives = [
140
- ...(directives || []),
141
- t.directive(t.directiveLiteral('use strict')),
142
- ];
143
- }
144
-
145
- // Postprocess the transformed module to handle ESM and inline requires.
146
- // We need to do this in a separate pass to avoid issues tracking references.
147
- const babelTransformResult = babelTransformFromAstSync(ast, src, {
148
- ast: true,
149
- retainLines: true,
150
- plugins: [
151
- [
152
- require('metro-transform-plugins').importExportPlugin,
153
- {importDefault, importAll},
154
- ],
155
- [
156
- require('babel-preset-fbjs/plugins/inline-requires.js'),
157
- {inlineableCalls: [importDefault, importAll]},
158
- ],
159
- ],
160
- sourceType: 'module',
161
- });
162
-
163
- ast = nullthrows(babelTransformResult.ast);
164
-
165
- // Inject import helpers *after* running the inline-requires transform,
166
- // because otherwise it will assume they are user code and bail out of
167
- // inlining calls to them.
168
- ast.program.body.unshift(...importPrelude());
169
-
170
102
  return generate(
171
103
  ast,
172
104
  // $FlowFixMe[prop-missing] Error found when improving flow typing for libs
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native",
3
- "version": "0.67.0-rc.0",
3
+ "version": "0.67.0-rc.4",
4
4
  "bin": "./cli.js",
5
5
  "description": "A framework for building native apps using React",
6
6
  "license": "MIT",
@@ -94,7 +94,7 @@
94
94
  "anser": "^1.4.9",
95
95
  "base64-js": "^1.1.2",
96
96
  "event-target-shim": "^5.0.1",
97
- "hermes-engine": "~0.9.0",
97
+ "hermes-engine": "~0.10.0",
98
98
  "invariant": "^2.2.4",
99
99
  "jsc-android": "^250230.2.1",
100
100
  "metro-react-native-babel-transformer": "0.66.2",
@@ -117,7 +117,7 @@ fi
117
117
 
118
118
  BUNDLE_FILE="$CONFIGURATION_BUILD_DIR/main.jsbundle"
119
119
 
120
- EXTRA_ARGS=()
120
+ EXTRA_ARGS=
121
121
 
122
122
  case "$PLATFORM_NAME" in
123
123
  "macosx")
@@ -144,12 +144,12 @@ if [[ $EMIT_SOURCEMAP == true ]]; then
144
144
  else
145
145
  PACKAGER_SOURCEMAP_FILE="$SOURCEMAP_FILE"
146
146
  fi
147
- EXTRA_ARGS+=("--sourcemap-output" "$PACKAGER_SOURCEMAP_FILE")
147
+ EXTRA_ARGS="$EXTRA_ARGS --sourcemap-output $PACKAGER_SOURCEMAP_FILE"
148
148
  fi
149
149
 
150
150
  # Hermes doesn't require JS minification.
151
151
  if [[ $USE_HERMES == true && $DEV == false ]]; then
152
- EXTRA_ARGS+=("--minify" "false")
152
+ EXTRA_ARGS="$EXTRA_ARGS --minify false"
153
153
  fi
154
154
 
155
155
  "$NODE_BINARY" $NODE_ARGS "$CLI_PATH" $BUNDLE_COMMAND \
@@ -160,8 +160,8 @@ fi
160
160
  --reset-cache \
161
161
  --bundle-output "$BUNDLE_FILE" \
162
162
  --assets-dest "$DEST" \
163
- "${EXTRA_ARGS[@]}" \
164
- "${EXTRA_PACKAGER_ARGS[@]}"
163
+ $EXTRA_ARGS \
164
+ $EXTRA_PACKAGER_ARGS
165
165
 
166
166
  if [[ $USE_HERMES != true ]]; then
167
167
  cp "$BUNDLE_FILE" "$DEST/"
@@ -72,7 +72,7 @@ def use_react_native! (options={})
72
72
 
73
73
  if hermes_enabled
74
74
  pod 'React-hermes', :path => "#{prefix}/ReactCommon/hermes"
75
- pod 'hermes-engine', '~> 0.9.0'
75
+ pod 'hermes-engine', '~> 0.10.0'
76
76
  pod 'libevent', '~> 2.1.12'
77
77
  end
78
78
  end
@@ -374,8 +374,19 @@ end
374
374
  # See https://github.com/facebook/react-native/issues/31480#issuecomment-902912841 for more context.
375
375
  # Actual fix was authored by https://github.com/mikehardy.
376
376
  # New app template will call this for now until the underlying issue is resolved.
377
- #
378
- # It's not needed anymore and will be removed later
379
377
  def __apply_Xcode_12_5_M1_post_install_workaround(installer)
380
- puts "__apply_Xcode_12_5_M1_post_install_workaround() is not needed anymore"
378
+ # Flipper podspecs are still targeting an older iOS deployment target, and may cause an error like:
379
+ # "error: thread-local storage is not supported for the current target"
380
+ # The most reliable known workaround is to bump iOS deployment target to match react-native (iOS 11 now).
381
+ installer.pods_project.targets.each do |target|
382
+ target.build_configurations.each do |config|
383
+ config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
384
+ end
385
+ end
386
+
387
+ # But... doing so caused another issue in Flipper:
388
+ # "Time.h:52:17: error: typedef redefinition with different types"
389
+ # We need to make a patch to RCT-Folly - set `__IPHONE_10_0` to our iOS target + 1.
390
+ # See https://github.com/facebook/flipper/issues/834 for more details.
391
+ `sed -i -e $'s/__IPHONE_10_0/__IPHONE_12_0/' Pods/RCT-Folly/folly/portability/Time.h`
381
392
  end
package/template/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
4
- ruby '2.6.3'
4
+ ruby '2.7.4'
5
5
 
6
6
  gem 'cocoapods', '~> 1.11', '>= 1.11.2'
@@ -1,7 +1,7 @@
1
1
  GEM
2
2
  remote: https://rubygems.org/
3
3
  specs:
4
- CFPropertyList (3.0.4)
4
+ CFPropertyList (3.0.5)
5
5
  rexml
6
6
  activesupport (6.1.4.1)
7
7
  concurrent-ruby (~> 1.0, >= 1.0.2)
@@ -63,9 +63,9 @@ GEM
63
63
  fuzzy_match (2.0.4)
64
64
  gh_inspector (1.1.3)
65
65
  httpclient (2.8.3)
66
- i18n (1.8.10)
66
+ i18n (1.8.11)
67
67
  concurrent-ruby (~> 1.0)
68
- json (2.6.0)
68
+ json (2.6.1)
69
69
  minitest (5.14.4)
70
70
  molinillo (0.8.0)
71
71
  nanaimo (0.3.0)
@@ -85,7 +85,7 @@ GEM
85
85
  colored2 (~> 3.1)
86
86
  nanaimo (~> 0.3.0)
87
87
  rexml (~> 3.2.4)
88
- zeitwerk (2.4.2)
88
+ zeitwerk (2.5.1)
89
89
 
90
90
  PLATFORMS
91
91
  ruby
@@ -94,7 +94,7 @@ DEPENDENCIES
94
94
  cocoapods (~> 1.11, >= 1.11.2)
95
95
 
96
96
  RUBY VERSION
97
- ruby 2.6.3p62
97
+ ruby 2.7.4p191
98
98
 
99
99
  BUNDLED WITH
100
- 1.17.2
100
+ 2.2.29
@@ -1 +1 @@
1
- 2.6.3
1
+ 2.7.4
@@ -25,5 +25,6 @@ target 'HelloWorld' do
25
25
 
26
26
  post_install do |installer|
27
27
  react_native_post_install(installer)
28
+ __apply_Xcode_12_5_M1_post_install_workaround(installer)
28
29
  end
29
30
  end
@@ -11,7 +11,7 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "react": "17.0.2",
14
- "react-native": "0.67.0-rc.0"
14
+ "react-native": "0.67.0-rc.4"
15
15
  },
16
16
  "devDependencies": {
17
17
  "@babel/core": "^7.12.9",
@@ -1 +0,0 @@
1
- c3aaa7251074f2f801a40f1f11189ba6
@@ -1 +0,0 @@
1
- 336bb7dda737f8b299bdc19ff73348051529eb80
@@ -1 +0,0 @@
1
- c76203b88ded072607d93e163bc3cfa6b7dc6d722b3910488b9be86113ebcce7
@@ -1 +0,0 @@
1
- dbebacd7ce5aba6cfd97a79a174da126e4860f75bc80ba15bf5ef1ee5588ed7422a9410b248ce3006d044b78351b780b23a4d4888580fc9a38b0c2a1d57f3186
@@ -1 +0,0 @@
1
- 8df75ac1231ffee480ba55463bf564165cd7ac9c
@@ -1 +0,0 @@
1
- bf3c7c2e2f4c8c71c9659e3a37b8f18e76290b2e9431cdabe57de88fb8bc7cef
@@ -1 +0,0 @@
1
- b2d7a726da1d2ac84474d872963b9611347fdb0bdaeccc1d689346c40aeccf3d39582968bd97589188379ca9f53f2822a5f25c13e19ce81221424a0a0db368d6
@@ -1 +0,0 @@
1
- a19fc20e8e4e244637b4063407ebb90c
@@ -1 +0,0 @@
1
- 4cc7a4323154d975647a413360b7bf5d17cfa895
@@ -1 +0,0 @@
1
- 014f48eacdc0c8f8ef11b9dc6e5495662f917294c987ca3784f64dfb2ebe115b
@@ -1 +0,0 @@
1
- 1006850aac2d9dd9478c243a818f8350b8136fb3565db92f64c1a9b155e03fa1e207b6fda3a045d38b9f60de29f2bda88ac104e88def8c01dc0f6ac4cb8ad279