From 5f2806e3c512875fffd1ef2ce8be1bf9e288c33f Mon Sep 17 00:00:00 2001 From: Bruno Barbieri Date: Tue, 28 Jan 2020 14:33:54 -0500 Subject: [PATCH 1/2] use patch package --- package.json | 1 + patches/detox+14.7.0.patch | 13 + patches/react-native+0.59.10.patch | 669 ++++++++++++++++++++ patches/react-native-aes-crypto+1.2.1.patch | 29 + patches/react-native-branch+3.1.1.patch | 13 + patches/react-native-fabric+0.5.2.patch | 15 + patches/react-native-i18n+2.0.15.patch | 22 + patches/react-native-os+1.2.2.patch | 22 + patches/xmlhttprequest+1.8.0.patch | 13 + scripts/postinstall.sh | 146 +---- yarn.lock | 300 ++++++++- 11 files changed, 1095 insertions(+), 148 deletions(-) create mode 100644 patches/detox+14.7.0.patch create mode 100644 patches/react-native+0.59.10.patch create mode 100644 patches/react-native-aes-crypto+1.2.1.patch create mode 100644 patches/react-native-branch+3.1.1.patch create mode 100644 patches/react-native-fabric+0.5.2.patch create mode 100644 patches/react-native-i18n+2.0.15.patch create mode 100644 patches/react-native-os+1.2.2.patch create mode 100644 patches/xmlhttprequest+1.8.0.patch diff --git a/package.json b/package.json index 162a2323d16..a2ff628cf46 100644 --- a/package.json +++ b/package.json @@ -183,6 +183,7 @@ "metro": "0.55.0", "metro-react-native-babel-preset": "0.53.0", "octonode": "0.9.5", + "patch-package": "6.2.0", "prettier": "1.16.4", "react-dom": "16.8.4", "react-native-cli": "2.0.1", diff --git a/patches/detox+14.7.0.patch b/patches/detox+14.7.0.patch new file mode 100644 index 00000000000..1f90d2645a8 --- /dev/null +++ b/patches/detox+14.7.0.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/detox/android/detox/build.gradle b/node_modules/detox/android/detox/build.gradle +index 145b20e..e94ec74 100644 +--- a/node_modules/detox/android/detox/build.gradle ++++ b/node_modules/detox/android/detox/build.gradle +@@ -6,7 +6,7 @@ def _ext = rootProject.ext + + def _compileSdkVersion = _ext.has('compileSdkVersion') ? _ext.compileSdkVersion : 28 + def _buildToolsVersion = _ext.has('buildToolsVersion') ? _ext.buildToolsVersion : '28.0.3' +-def _minSdkVersion = _ext.has('minSdkVersion') ? _ext.minSdkVersion : 18 ++def _minSdkVersion = _ext.has('minSdkVersion') ? _ext.minSdkVersion : 19 + def _targetSdkVersion = _ext.has('targetSdkVersion') ? _ext.targetSdkVersion : 28 + def _kotlinVersion = _ext.has('detoxKotlinVersion') ? _ext.detoxKotlinVersion : '1.2.0' + def _kotlinStdlib = _ext.has('detoxKotlinStdlib') ? _ext.detoxKotlinStdlib : 'kotlin-stdlib-jdk8' diff --git a/patches/react-native+0.59.10.patch b/patches/react-native+0.59.10.patch new file mode 100644 index 00000000000..cc4ca2ed976 --- /dev/null +++ b/patches/react-native+0.59.10.patch @@ -0,0 +1,669 @@ +diff --git a/node_modules/react-native/React/React.xcodeproj/project.pbxproj b/node_modules/react-native/React/React.xcodeproj/project.pbxproj +index 28fcfe8..9c8c3b6 100644 +--- a/node_modules/react-native/React/React.xcodeproj/project.pbxproj ++++ b/node_modules/react-native/React/React.xcodeproj/project.pbxproj +@@ -103,8 +103,6 @@ + 13B080261A694A8400A75B9A /* RCTWrapperViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 13B080241A694A8400A75B9A /* RCTWrapperViewController.m */; }; + 13BB3D021BECD54500932C10 /* RCTImageSource.m in Sources */ = {isa = PBXBuildFile; fileRef = 13BB3D011BECD54500932C10 /* RCTImageSource.m */; }; + 13BCE8091C99CB9D00DD7AAD /* RCTRootShadowView.m in Sources */ = {isa = PBXBuildFile; fileRef = 13BCE8081C99CB9D00DD7AAD /* RCTRootShadowView.m */; }; +- 13C156051AB1A2840079392D /* RCTWebView.m in Sources */ = {isa = PBXBuildFile; fileRef = 13C156021AB1A2840079392D /* RCTWebView.m */; }; +- 13C156061AB1A2840079392D /* RCTWebViewManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 13C156041AB1A2840079392D /* RCTWebViewManager.m */; }; + 13CC8A821B17642100940AE7 /* RCTBorderDrawing.m in Sources */ = {isa = PBXBuildFile; fileRef = 13CC8A811B17642100940AE7 /* RCTBorderDrawing.m */; }; + 13D033631C1837FE0021DC29 /* RCTClipboard.m in Sources */ = {isa = PBXBuildFile; fileRef = 13D033621C1837FE0021DC29 /* RCTClipboard.m */; }; + 13D9FEEB1CDCCECF00158BD7 /* RCTEventEmitter.m in Sources */ = {isa = PBXBuildFile; fileRef = 13D9FEEA1CDCCECF00158BD7 /* RCTEventEmitter.m */; }; +@@ -539,8 +537,6 @@ + 3D80D9921DF6FA890028D040 /* RCTTextDecorationLineType.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = E3BBC8EB1ADE6F47001BBD81 /* RCTTextDecorationLineType.h */; }; + 3D80D9931DF6FA890028D040 /* RCTView.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13E0674F1A70F44B002CDEE1 /* RCTView.h */; }; + 3D80D9951DF6FA890028D040 /* RCTViewManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13E0674D1A70F44B002CDEE1 /* RCTViewManager.h */; }; +- 3D80D9961DF6FA890028D040 /* RCTWebView.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13C156011AB1A2840079392D /* RCTWebView.h */; }; +- 3D80D9971DF6FA890028D040 /* RCTWebViewManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13C156031AB1A2840079392D /* RCTWebViewManager.h */; }; + 3D80D9981DF6FA890028D040 /* RCTWrapperViewController.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13B080231A694A8400A75B9A /* RCTWrapperViewController.h */; }; + 3D80D99A1DF6FA890028D040 /* UIView+React.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13E067531A70F44B002CDEE1 /* UIView+React.h */; }; + 3D80DA191DF820620028D040 /* RCTImageLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 3D1FA0831DE4F3A000E03CC6 /* RCTImageLoader.h */; }; +@@ -637,8 +633,6 @@ + 3D80DA8C1DF820620028D040 /* RCTTextDecorationLineType.h in Headers */ = {isa = PBXBuildFile; fileRef = E3BBC8EB1ADE6F47001BBD81 /* RCTTextDecorationLineType.h */; }; + 3D80DA8D1DF820620028D040 /* RCTView.h in Headers */ = {isa = PBXBuildFile; fileRef = 13E0674F1A70F44B002CDEE1 /* RCTView.h */; }; + 3D80DA8F1DF820620028D040 /* RCTViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 13E0674D1A70F44B002CDEE1 /* RCTViewManager.h */; }; +- 3D80DA901DF820620028D040 /* RCTWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 13C156011AB1A2840079392D /* RCTWebView.h */; }; +- 3D80DA911DF820620028D040 /* RCTWebViewManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 13C156031AB1A2840079392D /* RCTWebViewManager.h */; }; + 3D80DA921DF820620028D040 /* RCTWrapperViewController.h in Headers */ = {isa = PBXBuildFile; fileRef = 13B080231A694A8400A75B9A /* RCTWrapperViewController.h */; }; + 3D80DA931DF820620028D040 /* UIView+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 83F15A171B7CC46900F10295 /* UIView+Private.h */; }; + 3D80DA941DF820620028D040 /* UIView+React.h in Headers */ = {isa = PBXBuildFile; fileRef = 13E067531A70F44B002CDEE1 /* UIView+React.h */; }; +@@ -750,8 +744,6 @@ + 3DA982301E5B0F7F004F2374 /* RCTTVView.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 130443D61E401AD800D93A67 /* RCTTVView.h */; }; + 3DA982311E5B0F7F004F2374 /* RCTView.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13E0674F1A70F44B002CDEE1 /* RCTView.h */; }; + 3DA982331E5B0F7F004F2374 /* RCTViewManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13E0674D1A70F44B002CDEE1 /* RCTViewManager.h */; }; +- 3DA982341E5B0F7F004F2374 /* RCTWebView.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13C156011AB1A2840079392D /* RCTWebView.h */; }; +- 3DA982351E5B0F7F004F2374 /* RCTWebViewManager.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13C156031AB1A2840079392D /* RCTWebViewManager.h */; }; + 3DA982361E5B0F7F004F2374 /* RCTWrapperViewController.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13B080231A694A8400A75B9A /* RCTWrapperViewController.h */; }; + 3DA982381E5B0F7F004F2374 /* UIView+React.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = 13E067531A70F44B002CDEE1 /* UIView+React.h */; }; + 3DA982391E5B0F8A004F2374 /* UIView+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 83F15A171B7CC46900F10295 /* UIView+Private.h */; }; +@@ -1429,8 +1421,6 @@ + 3DA982301E5B0F7F004F2374 /* RCTTVView.h in Copy Headers */, + 3DA982311E5B0F7F004F2374 /* RCTView.h in Copy Headers */, + 3DA982331E5B0F7F004F2374 /* RCTViewManager.h in Copy Headers */, +- 3DA982341E5B0F7F004F2374 /* RCTWebView.h in Copy Headers */, +- 3DA982351E5B0F7F004F2374 /* RCTWebViewManager.h in Copy Headers */, + 3DA982361E5B0F7F004F2374 /* RCTWrapperViewController.h in Copy Headers */, + 3DA982381E5B0F7F004F2374 /* UIView+React.h in Copy Headers */, + 3DA981BF1E5B0F29004F2374 /* RCTAssert.h in Copy Headers */, +@@ -1663,8 +1653,6 @@ + 3D80D9921DF6FA890028D040 /* RCTTextDecorationLineType.h in Copy Headers */, + 3D80D9931DF6FA890028D040 /* RCTView.h in Copy Headers */, + 3D80D9951DF6FA890028D040 /* RCTViewManager.h in Copy Headers */, +- 3D80D9961DF6FA890028D040 /* RCTWebView.h in Copy Headers */, +- 3D80D9971DF6FA890028D040 /* RCTWebViewManager.h in Copy Headers */, + 3D80D9981DF6FA890028D040 /* RCTWrapperViewController.h in Copy Headers */, + 3D80D99A1DF6FA890028D040 /* UIView+React.h in Copy Headers */, + ); +@@ -1927,10 +1915,6 @@ + 13BB3D011BECD54500932C10 /* RCTImageSource.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTImageSource.m; sourceTree = ""; }; + 13BCE8071C99CB9D00DD7AAD /* RCTRootShadowView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTRootShadowView.h; sourceTree = ""; }; + 13BCE8081C99CB9D00DD7AAD /* RCTRootShadowView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTRootShadowView.m; sourceTree = ""; }; +- 13C156011AB1A2840079392D /* RCTWebView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTWebView.h; sourceTree = ""; }; +- 13C156021AB1A2840079392D /* RCTWebView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTWebView.m; sourceTree = ""; }; +- 13C156031AB1A2840079392D /* RCTWebViewManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTWebViewManager.h; sourceTree = ""; }; +- 13C156041AB1A2840079392D /* RCTWebViewManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RCTWebViewManager.m; sourceTree = ""; }; + 13C325261AA63B6A0048765F /* RCTAutoInsetsProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTAutoInsetsProtocol.h; sourceTree = ""; }; + 13C325281AA63B6A0048765F /* RCTComponent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTComponent.h; sourceTree = ""; }; + 13CC8A801B17642100940AE7 /* RCTBorderDrawing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RCTBorderDrawing.h; sourceTree = ""; }; +@@ -2611,10 +2595,6 @@ + 13E067501A70F44B002CDEE1 /* RCTView.m */, + 13E0674D1A70F44B002CDEE1 /* RCTViewManager.h */, + 13E0674E1A70F44B002CDEE1 /* RCTViewManager.m */, +- 13C156011AB1A2840079392D /* RCTWebView.h */, +- 13C156021AB1A2840079392D /* RCTWebView.m */, +- 13C156031AB1A2840079392D /* RCTWebViewManager.h */, +- 13C156041AB1A2840079392D /* RCTWebViewManager.m */, + 13B080231A694A8400A75B9A /* RCTWrapperViewController.h */, + 13B080241A694A8400A75B9A /* RCTWrapperViewController.m */, + 59D031E41F8353D3008361F0 /* SafeAreaView */, +@@ -3521,8 +3501,6 @@ + 3D80DA8F1DF820620028D040 /* RCTViewManager.h in Headers */, + 13134CA01E296B2A00B9F3CB /* RCTCxxUtils.h in Headers */, + 599FAA4A1FB274980058CCF6 /* RCTSurfaceView.h in Headers */, +- 3D80DA901DF820620028D040 /* RCTWebView.h in Headers */, +- 3D80DA911DF820620028D040 /* RCTWebViewManager.h in Headers */, + 3D80DA921DF820620028D040 /* RCTWrapperViewController.h in Headers */, + 3D80DA931DF820620028D040 /* UIView+Private.h in Headers */, + 3D80DA941DF820620028D040 /* UIView+React.h in Headers */, +@@ -4513,13 +4491,11 @@ + 130443C61E401A8C00D93A67 /* RCTConvert+Transform.m in Sources */, + 191E3EC11C29DC3800C180A6 /* RCTRefreshControl.m in Sources */, + 3DCE532B1FEAB23100613583 /* RCTDatePickerManager.m in Sources */, +- 13C156051AB1A2840079392D /* RCTWebView.m in Sources */, + 83CBBA601A601EAA00E9B192 /* RCTBridge.m in Sources */, + 50E98FEC21460B0D00CD9289 /* RCTWKWebView.m in Sources */, + 590D7BFF1EBD458B00D8A370 /* RCTShadowView+Layout.m in Sources */, + 5335D5411FE81A4700883D58 /* RCTShadowView.m in Sources */, + 66CD94B31F1045E700CB3C7C /* RCTMaskedView.m in Sources */, +- 13C156061AB1A2840079392D /* RCTWebViewManager.m in Sources */, + 58114A161AAE854800E7D092 /* RCTPicker.m in Sources */, + 83A1FE8C1B62640A00BE0E65 /* RCTModalHostView.m in Sources */, + 5925356A20084D0600DD584B /* RCTSurfaceSizeMeasureMode.mm in Sources */, +diff --git a/node_modules/react-native/React/Views/RCTWebView.m b/node_modules/react-native/React/Views/RCTWebView.m +deleted file mode 100644 +index 8f61e38..0000000 +--- a/node_modules/react-native/React/Views/RCTWebView.m ++++ /dev/null +@@ -1,351 +0,0 @@ +-/** +- * Copyright (c) Facebook, Inc. and its affiliates. +- * +- * This source code is licensed under the MIT license found in the +- * LICENSE file in the root directory of this source tree. +- */ +- +-#import "RCTWebView.h" +- +-#import +- +-#import "RCTAutoInsetsProtocol.h" +-#import "RCTConvert.h" +-#import "RCTEventDispatcher.h" +-#import "RCTLog.h" +-#import "RCTUtils.h" +-#import "RCTView.h" +-#import "UIView+React.h" +- +-NSString *const RCTJSNavigationScheme = @"react-js-navigation"; +- +-static NSString *const kPostMessageHost = @"postMessage"; +- +-@interface RCTWebView () +- +-@property (nonatomic, copy) RCTDirectEventBlock onLoadingStart; +-@property (nonatomic, copy) RCTDirectEventBlock onLoadingFinish; +-@property (nonatomic, copy) RCTDirectEventBlock onLoadingError; +-@property (nonatomic, copy) RCTDirectEventBlock onShouldStartLoadWithRequest; +-@property (nonatomic, copy) RCTDirectEventBlock onMessage; +- +-@end +- +-@implementation RCTWebView +-{ +- UIWebView *_webView; +- NSString *_injectedJavaScript; +-} +- +-- (void)dealloc +-{ +- _webView.delegate = nil; +-} +- +-- (instancetype)initWithFrame:(CGRect)frame +-{ +- if ((self = [super initWithFrame:frame])) { +- super.backgroundColor = [UIColor clearColor]; +- _automaticallyAdjustContentInsets = YES; +- _contentInset = UIEdgeInsetsZero; +- _webView = [[UIWebView alloc] initWithFrame:self.bounds]; +- _webView.delegate = self; +-#if defined(__IPHONE_OS_VERSION_MAX_ALLOWED) && __IPHONE_OS_VERSION_MAX_ALLOWED >= 110000 /* __IPHONE_11_0 */ +- if ([_webView.scrollView respondsToSelector:@selector(setContentInsetAdjustmentBehavior:)]) { +- _webView.scrollView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; +- } +-#endif +- [self addSubview:_webView]; +- } +- return self; +-} +- +-RCT_NOT_IMPLEMENTED(- (instancetype)initWithCoder:(NSCoder *)aDecoder) +- +-- (void)goForward +-{ +- [_webView goForward]; +-} +- +-- (void)goBack +-{ +- [_webView goBack]; +-} +- +-- (void)reload +-{ +- NSURLRequest *request = [RCTConvert NSURLRequest:self.source]; +- if (request.URL && !_webView.request.URL.absoluteString.length) { +- [_webView loadRequest:request]; +- } +- else { +- [_webView reload]; +- } +-} +- +-- (void)stopLoading +-{ +- [_webView stopLoading]; +-} +- +-- (void)postMessage:(NSString *)message +-{ +- NSDictionary *eventInitDict = @{ +- @"data": message, +- }; +- NSString *source = [NSString +- stringWithFormat:@"document.dispatchEvent(new MessageEvent('message', %@));", +- RCTJSONStringify(eventInitDict, NULL) +- ]; +- [_webView stringByEvaluatingJavaScriptFromString:source]; +-} +- +-- (void)injectJavaScript:(NSString *)script +-{ +- [_webView stringByEvaluatingJavaScriptFromString:script]; +-} +- +-- (void)setSource:(NSDictionary *)source +-{ +- if (![_source isEqualToDictionary:source]) { +- _source = [source copy]; +- +- // Check for a static html source first +- NSString *html = [RCTConvert NSString:source[@"html"]]; +- if (html) { +- NSURL *baseURL = [RCTConvert NSURL:source[@"baseUrl"]]; +- if (!baseURL) { +- baseURL = [NSURL URLWithString:@"about:blank"]; +- } +- [_webView loadHTMLString:html baseURL:baseURL]; +- return; +- } +- +- NSURLRequest *request = [RCTConvert NSURLRequest:source]; +- // Because of the way React works, as pages redirect, we actually end up +- // passing the redirect urls back here, so we ignore them if trying to load +- // the same url. We'll expose a call to 'reload' to allow a user to load +- // the existing page. +- if ([request.URL isEqual:_webView.request.URL]) { +- return; +- } +- if (!request.URL) { +- // Clear the webview +- [_webView loadHTMLString:@"" baseURL:nil]; +- return; +- } +- [_webView loadRequest:request]; +- } +-} +- +-- (void)layoutSubviews +-{ +- [super layoutSubviews]; +- _webView.frame = self.bounds; +-} +- +-- (void)setContentInset:(UIEdgeInsets)contentInset +-{ +- _contentInset = contentInset; +- [RCTView autoAdjustInsetsForView:self +- withScrollView:_webView.scrollView +- updateOffset:NO]; +-} +- +-- (void)setScalesPageToFit:(BOOL)scalesPageToFit +-{ +- if (_webView.scalesPageToFit != scalesPageToFit) { +- _webView.scalesPageToFit = scalesPageToFit; +- [_webView reload]; +- } +-} +- +-- (BOOL)scalesPageToFit +-{ +- return _webView.scalesPageToFit; +-} +- +-- (void)setBackgroundColor:(UIColor *)backgroundColor +-{ +- CGFloat alpha = CGColorGetAlpha(backgroundColor.CGColor); +- self.opaque = _webView.opaque = (alpha == 1.0); +- _webView.backgroundColor = backgroundColor; +-} +- +-- (UIColor *)backgroundColor +-{ +- return _webView.backgroundColor; +-} +- +-- (NSMutableDictionary *)baseEvent +-{ +- NSMutableDictionary *event = [[NSMutableDictionary alloc] initWithDictionary:@{ +- @"url": _webView.request.URL.absoluteString ?: @"", +- @"loading" : @(_webView.loading), +- @"title": [_webView stringByEvaluatingJavaScriptFromString:@"document.title"], +- @"canGoBack": @(_webView.canGoBack), +- @"canGoForward" : @(_webView.canGoForward), +- }]; +- +- return event; +-} +- +-- (void)refreshContentInset +-{ +- [RCTView autoAdjustInsetsForView:self +- withScrollView:_webView.scrollView +- updateOffset:YES]; +-} +- +-#pragma mark - UIWebViewDelegate methods +- +-- (BOOL)webView:(__unused UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request +- navigationType:(UIWebViewNavigationType)navigationType +-{ +- BOOL isJSNavigation = [request.URL.scheme isEqualToString:RCTJSNavigationScheme]; +- +- static NSDictionary *navigationTypes; +- static dispatch_once_t onceToken; +- dispatch_once(&onceToken, ^{ +- navigationTypes = @{ +- @(UIWebViewNavigationTypeLinkClicked): @"click", +- @(UIWebViewNavigationTypeFormSubmitted): @"formsubmit", +- @(UIWebViewNavigationTypeBackForward): @"backforward", +- @(UIWebViewNavigationTypeReload): @"reload", +- @(UIWebViewNavigationTypeFormResubmitted): @"formresubmit", +- @(UIWebViewNavigationTypeOther): @"other", +- }; +- }); +- +- // skip this for the JS Navigation handler +- if (!isJSNavigation && _onShouldStartLoadWithRequest) { +- NSMutableDictionary *event = [self baseEvent]; +- [event addEntriesFromDictionary: @{ +- @"url": (request.URL).absoluteString, +- @"navigationType": navigationTypes[@(navigationType)] +- }]; +- if (![self.delegate webView:self +- shouldStartLoadForRequest:event +- withCallback:_onShouldStartLoadWithRequest]) { +- return NO; +- } +- } +- +- if (_onLoadingStart) { +- // We have this check to filter out iframe requests and whatnot +- BOOL isTopFrame = [request.URL isEqual:request.mainDocumentURL]; +- if (isTopFrame) { +- NSMutableDictionary *event = [self baseEvent]; +- [event addEntriesFromDictionary: @{ +- @"url": (request.URL).absoluteString, +- @"navigationType": navigationTypes[@(navigationType)] +- }]; +- _onLoadingStart(event); +- } +- } +- +- if (isJSNavigation && [request.URL.host isEqualToString:kPostMessageHost]) { +- NSString *data = request.URL.query; +- data = [data stringByReplacingOccurrencesOfString:@"+" withString:@" "]; +- data = [data stringByAddingPercentEncodingWithAllowedCharacters:NSCharacterSet.URLQueryAllowedCharacterSet]; +- +- NSMutableDictionary *event = [self baseEvent]; +- [event addEntriesFromDictionary: @{ +- @"data": data, +- }]; +- +- NSString *source = @"document.dispatchEvent(new MessageEvent('message:received'));"; +- +- [_webView stringByEvaluatingJavaScriptFromString:source]; +- +- _onMessage(event); +- } +- +- // JS Navigation handler +- return !isJSNavigation; +-} +- +-- (void)webView:(__unused UIWebView *)webView didFailLoadWithError:(NSError *)error +-{ +- if (_onLoadingError) { +- if ([error.domain isEqualToString:NSURLErrorDomain] && error.code == NSURLErrorCancelled) { +- // NSURLErrorCancelled is reported when a page has a redirect OR if you load +- // a new URL in the WebView before the previous one came back. We can just +- // ignore these since they aren't real errors. +- // http://stackoverflow.com/questions/1024748/how-do-i-fix-nsurlerrordomain-error-999-in-iphone-3-0-os +- return; +- } +- +- if ([error.domain isEqualToString:@"WebKitErrorDomain"] && error.code == 102) { +- // Error code 102 "Frame load interrupted" is raised by the UIWebView if +- // its delegate returns FALSE from webView:shouldStartLoadWithRequest:navigationType +- // when the URL is from an http redirect. This is a common pattern when +- // implementing OAuth with a WebView. +- return; +- } +- +- NSMutableDictionary *event = [self baseEvent]; +- [event addEntriesFromDictionary:@{ +- @"domain": error.domain, +- @"code": @(error.code), +- @"description": error.localizedDescription, +- }]; +- _onLoadingError(event); +- } +-} +- +-- (void)webViewDidFinishLoad:(UIWebView *)webView +-{ +- if (_messagingEnabled) { +- #if RCT_DEV +- // See isNative in lodash +- NSString *testPostMessageNative = @"String(window.postMessage) === String(Object.hasOwnProperty).replace('hasOwnProperty', 'postMessage')"; +- BOOL postMessageIsNative = [ +- [webView stringByEvaluatingJavaScriptFromString:testPostMessageNative] +- isEqualToString:@"true" +- ]; +- if (!postMessageIsNative) { +- RCTLogError(@"Setting onMessage on a WebView overrides existing values of window.postMessage, but a previous value was defined"); +- } +- #endif +- NSString *source = [NSString stringWithFormat: +- @"(function() {" +- "window.originalPostMessage = window.postMessage;" +- +- "var messageQueue = [];" +- "var messagePending = false;" +- +- "function processQueue() {" +- "if (!messageQueue.length || messagePending) return;" +- "messagePending = true;" +- "window.location = '%@://%@?' + encodeURIComponent(messageQueue.shift());" +- "}" +- +- "window.postMessage = function(data) {" +- "messageQueue.push(String(data));" +- "processQueue();" +- "};" +- +- "document.addEventListener('message:received', function(e) {" +- "messagePending = false;" +- "processQueue();" +- "});" +- "})();", RCTJSNavigationScheme, kPostMessageHost +- ]; +- [webView stringByEvaluatingJavaScriptFromString:source]; +- } +- if (_injectedJavaScript != nil) { +- NSString *jsEvaluationValue = [webView stringByEvaluatingJavaScriptFromString:_injectedJavaScript]; +- +- NSMutableDictionary *event = [self baseEvent]; +- event[@"jsEvaluationValue"] = jsEvaluationValue; +- +- _onLoadingFinish(event); +- } +- // we only need the final 'finishLoad' call so only fire the event when we're actually done loading. +- else if (_onLoadingFinish && !webView.loading && ![webView.request.URL.absoluteString isEqualToString:@"about:blank"]) { +- _onLoadingFinish([self baseEvent]); +- } +-} +- +-@end +diff --git a/node_modules/react-native/React/Views/RCTWebViewManager.h b/node_modules/react-native/React/Views/RCTWebViewManager.h +deleted file mode 100644 +index d06ea1b..0000000 +--- a/node_modules/react-native/React/Views/RCTWebViewManager.h ++++ /dev/null +@@ -1,12 +0,0 @@ +-/** +- * Copyright (c) Facebook, Inc. and its affiliates. +- * +- * This source code is licensed under the MIT license found in the +- * LICENSE file in the root directory of this source tree. +- */ +- +-#import +- +-@interface RCTWebViewManager : RCTViewManager +- +-@end +diff --git a/node_modules/react-native/React/Views/RCTWebViewManager.m b/node_modules/react-native/React/Views/RCTWebViewManager.m +deleted file mode 100644 +index fc39f7c..0000000 +--- a/node_modules/react-native/React/Views/RCTWebViewManager.m ++++ /dev/null +@@ -1,158 +0,0 @@ +-/** +- * Copyright (c) Facebook, Inc. and its affiliates. +- * +- * This source code is licensed under the MIT license found in the +- * LICENSE file in the root directory of this source tree. +- */ +- +-#import "RCTWebViewManager.h" +- +-#import "RCTBridge.h" +-#import "RCTUIManager.h" +-#import "RCTWebView.h" +-#import "UIView+React.h" +- +-@interface RCTWebViewManager () +- +-@end +- +-@implementation RCTWebViewManager +-{ +- NSConditionLock *_shouldStartLoadLock; +- BOOL _shouldStartLoad; +-} +- +-RCT_EXPORT_MODULE() +- +-- (UIView *)view +-{ +- RCTWebView *webView = [RCTWebView new]; +- webView.delegate = self; +- return webView; +-} +- +-RCT_EXPORT_VIEW_PROPERTY(source, NSDictionary) +-RCT_REMAP_VIEW_PROPERTY(bounces, _webView.scrollView.bounces, BOOL) +-RCT_REMAP_VIEW_PROPERTY(scrollEnabled, _webView.scrollView.scrollEnabled, BOOL) +-RCT_REMAP_VIEW_PROPERTY(decelerationRate, _webView.scrollView.decelerationRate, CGFloat) +-RCT_EXPORT_VIEW_PROPERTY(scalesPageToFit, BOOL) +-RCT_EXPORT_VIEW_PROPERTY(messagingEnabled, BOOL) +-RCT_EXPORT_VIEW_PROPERTY(injectedJavaScript, NSString) +-RCT_EXPORT_VIEW_PROPERTY(contentInset, UIEdgeInsets) +-RCT_EXPORT_VIEW_PROPERTY(automaticallyAdjustContentInsets, BOOL) +-RCT_EXPORT_VIEW_PROPERTY(onLoadingStart, RCTDirectEventBlock) +-RCT_EXPORT_VIEW_PROPERTY(onLoadingFinish, RCTDirectEventBlock) +-RCT_EXPORT_VIEW_PROPERTY(onLoadingError, RCTDirectEventBlock) +-RCT_EXPORT_VIEW_PROPERTY(onMessage, RCTDirectEventBlock) +-RCT_EXPORT_VIEW_PROPERTY(onShouldStartLoadWithRequest, RCTDirectEventBlock) +-RCT_REMAP_VIEW_PROPERTY(allowsInlineMediaPlayback, _webView.allowsInlineMediaPlayback, BOOL) +-RCT_REMAP_VIEW_PROPERTY(mediaPlaybackRequiresUserAction, _webView.mediaPlaybackRequiresUserAction, BOOL) +-RCT_REMAP_VIEW_PROPERTY(dataDetectorTypes, _webView.dataDetectorTypes, UIDataDetectorTypes) +- +-RCT_EXPORT_METHOD(goBack:(nonnull NSNumber *)reactTag) +-{ +- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { +- RCTWebView *view = viewRegistry[reactTag]; +- if (![view isKindOfClass:[RCTWebView class]]) { +- RCTLogError(@"Invalid view returned from registry, expecting RCTWebView, got: %@", view); +- } else { +- [view goBack]; +- } +- }]; +-} +- +-RCT_EXPORT_METHOD(goForward:(nonnull NSNumber *)reactTag) +-{ +- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { +- RCTWebView *view = viewRegistry[reactTag]; +- if (![view isKindOfClass:[RCTWebView class]]) { +- RCTLogError(@"Invalid view returned from registry, expecting RCTWebView, got: %@", view); +- } else { +- [view goForward]; +- } +- }]; +-} +- +-RCT_EXPORT_METHOD(reload:(nonnull NSNumber *)reactTag) +-{ +- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { +- RCTWebView *view = viewRegistry[reactTag]; +- if (![view isKindOfClass:[RCTWebView class]]) { +- RCTLogError(@"Invalid view returned from registry, expecting RCTWebView, got: %@", view); +- } else { +- [view reload]; +- } +- }]; +-} +- +-RCT_EXPORT_METHOD(stopLoading:(nonnull NSNumber *)reactTag) +-{ +- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { +- RCTWebView *view = viewRegistry[reactTag]; +- if (![view isKindOfClass:[RCTWebView class]]) { +- RCTLogError(@"Invalid view returned from registry, expecting RCTWebView, got: %@", view); +- } else { +- [view stopLoading]; +- } +- }]; +-} +- +-RCT_EXPORT_METHOD(postMessage:(nonnull NSNumber *)reactTag message:(NSString *)message) +-{ +- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { +- RCTWebView *view = viewRegistry[reactTag]; +- if (![view isKindOfClass:[RCTWebView class]]) { +- RCTLogError(@"Invalid view returned from registry, expecting RCTWebView, got: %@", view); +- } else { +- [view postMessage:message]; +- } +- }]; +-} +- +-RCT_EXPORT_METHOD(injectJavaScript:(nonnull NSNumber *)reactTag script:(NSString *)script) +-{ +- [self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary *viewRegistry) { +- RCTWebView *view = viewRegistry[reactTag]; +- if (![view isKindOfClass:[RCTWebView class]]) { +- RCTLogError(@"Invalid view returned from registry, expecting RCTWebView, got: %@", view); +- } else { +- [view injectJavaScript:script]; +- } +- }]; +-} +- +-#pragma mark - Exported synchronous methods +- +-- (BOOL)webView:(__unused RCTWebView *)webView +-shouldStartLoadForRequest:(NSMutableDictionary *)request +- withCallback:(RCTDirectEventBlock)callback +-{ +- _shouldStartLoadLock = [[NSConditionLock alloc] initWithCondition:arc4random()]; +- _shouldStartLoad = YES; +- request[@"lockIdentifier"] = @(_shouldStartLoadLock.condition); +- callback(request); +- +- // Block the main thread for a maximum of 250ms until the JS thread returns +- if ([_shouldStartLoadLock lockWhenCondition:0 beforeDate:[NSDate dateWithTimeIntervalSinceNow:.25]]) { +- BOOL returnValue = _shouldStartLoad; +- [_shouldStartLoadLock unlock]; +- _shouldStartLoadLock = nil; +- return returnValue; +- } else { +- RCTLogWarn(@"Did not receive response to shouldStartLoad in time, defaulting to YES"); +- return YES; +- } +-} +- +-RCT_EXPORT_METHOD(startLoadWithResult:(BOOL)result lockIdentifier:(NSInteger)lockIdentifier) +-{ +- if ([_shouldStartLoadLock tryLockWhenCondition:lockIdentifier]) { +- _shouldStartLoad = result; +- [_shouldStartLoadLock unlockWithCondition:0]; +- } else { +- RCTLogWarn(@"startLoadWithResult invoked with invalid lockIdentifier: " +- "got %lld, expected %lld", (long long)lockIdentifier, (long long)_shouldStartLoadLock.condition); +- } +-} +- +-@end +diff --git a/node_modules/react-native/react.gradle b/node_modules/react-native/react.gradle +index f10a00b..b8b49ed 100644 +--- a/node_modules/react-native/react.gradle ++++ b/node_modules/react-native/react.gradle +@@ -47,7 +47,21 @@ afterEvaluate { + resourcesDir.deleteDir() + resourcesDir.mkdirs() + } +- ++doLast { ++def moveFunc = { resSuffix -> ++File originalDir = file("$buildDir/generated/res/react/release/drawable-${resSuffix}"); ++if (originalDir.exists()) { ++File destDir = file("$buildDir/../src/main/res/drawable-${resSuffix}"); ++ant.move(file: originalDir, tofile: destDir); ++} ++} ++moveFunc.curry("ldpi").call() ++moveFunc.curry("mdpi").call() ++moveFunc.curry("hdpi").call() ++moveFunc.curry("xhdpi").call() ++moveFunc.curry("xxhdpi").call() ++moveFunc.curry("xxxhdpi").call() ++} + // Set up inputs and outputs so gradle can cache the result + inputs.files fileTree(dir: reactRoot, excludes: inputExcludes) + outputs.dir(jsBundleDir) diff --git a/patches/react-native-aes-crypto+1.2.1.patch b/patches/react-native-aes-crypto+1.2.1.patch new file mode 100644 index 00000000000..bd9b06f6412 --- /dev/null +++ b/patches/react-native-aes-crypto+1.2.1.patch @@ -0,0 +1,29 @@ +diff --git a/node_modules/react-native-aes-crypto/android/build.gradle b/node_modules/react-native-aes-crypto/android/build.gradle +index a23a3ff..c195ac2 100644 +--- a/node_modules/react-native-aes-crypto/android/build.gradle ++++ b/node_modules/react-native-aes-crypto/android/build.gradle +@@ -1,12 +1,12 @@ + apply plugin: 'com.android.library' + + android { +- compileSdkVersion 26 +- buildToolsVersion '27.0.3' ++ compileSdkVersion 28 ++ buildToolsVersion '28.0.3' + + defaultConfig { + minSdkVersion 19 +- targetSdkVersion 22 ++ targetSdkVersion 28 + versionCode 1 + versionName "1.0" + } +@@ -19,7 +19,7 @@ android { + } + + dependencies { +- implementation 'com.android.support:appcompat-v7:23.0.1' ++ implementation 'com.android.support:appcompat-v7:28.0.0' + compileOnly 'com.facebook.react:react-native:+' + implementation 'com.madgag.spongycastle:core:1.58.0.0' + implementation 'com.madgag.spongycastle:prov:1.54.0.0' diff --git a/patches/react-native-branch+3.1.1.patch b/patches/react-native-branch+3.1.1.patch new file mode 100644 index 00000000000..910a94bb4a8 --- /dev/null +++ b/patches/react-native-branch+3.1.1.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/react-native-branch/android/build.gradle b/node_modules/react-native-branch/android/build.gradle +index 438f0e3..3eb34a7 100755 +--- a/node_modules/react-native-branch/android/build.gradle ++++ b/node_modules/react-native-branch/android/build.gradle +@@ -13,7 +13,7 @@ android { + compileSdkVersion safeExtGet('compileSdkVersion', 26) + + defaultConfig { +- minSdkVersion safeExtGet('minSdkVersion', 16) ++ minSdkVersion safeExtGet('minSdkVersion', 19) + targetSdkVersion safeExtGet('targetSdkVersion', 26) + versionCode 1 + versionName "1.0" diff --git a/patches/react-native-fabric+0.5.2.patch b/patches/react-native-fabric+0.5.2.patch new file mode 100644 index 00000000000..ac2b9bfb6b0 --- /dev/null +++ b/patches/react-native-fabric+0.5.2.patch @@ -0,0 +1,15 @@ +diff --git a/node_modules/react-native-fabric/android/build.gradle b/node_modules/react-native-fabric/android/build.gradle +index 053ecfc..697b267 100644 +--- a/node_modules/react-native-fabric/android/build.gradle ++++ b/node_modules/react-native-fabric/android/build.gradle +@@ -42,8 +42,8 @@ repositories { + } + + dependencies { +- compile "com.facebook.react:react-native:${safeExtGet('reactNative', '+')}" +- compile('com.crashlytics.sdk.android:crashlytics:2.9.2@aar') { ++ api "com.facebook.react:react-native:${safeExtGet('reactNative', '+')}" ++ api('com.crashlytics.sdk.android:crashlytics:2.9.2@aar') { + transitive = true; + } + } diff --git a/patches/react-native-i18n+2.0.15.patch b/patches/react-native-i18n+2.0.15.patch new file mode 100644 index 00000000000..c197d67d24a --- /dev/null +++ b/patches/react-native-i18n+2.0.15.patch @@ -0,0 +1,22 @@ +diff --git a/node_modules/react-native-i18n/android/build.gradle b/node_modules/react-native-i18n/android/build.gradle +index 2614c62..12cbda7 100644 +--- a/node_modules/react-native-i18n/android/build.gradle ++++ b/node_modules/react-native-i18n/android/build.gradle +@@ -22,5 +22,5 @@ android { + } + + dependencies { +- compile "com.facebook.react:react-native:+" // From node_modules ++ api "com.facebook.react:react-native:+" // From node_modules + } +diff --git a/node_modules/react-native-i18n/android/src/main/AndroidManifest.xml b/node_modules/react-native-i18n/android/src/main/AndroidManifest.xml +index 818651f..f746bbd 100644 +--- a/node_modules/react-native-i18n/android/src/main/AndroidManifest.xml ++++ b/node_modules/react-native-i18n/android/src/main/AndroidManifest.xml +@@ -1,5 +1,5 @@ + + +- ++ + diff --git a/patches/react-native-os+1.2.2.patch b/patches/react-native-os+1.2.2.patch new file mode 100644 index 00000000000..fe6fbda38b5 --- /dev/null +++ b/patches/react-native-os+1.2.2.patch @@ -0,0 +1,22 @@ +diff --git a/node_modules/react-native-os/android/build.gradle b/node_modules/react-native-os/android/build.gradle +index 8b00cd6..3b1f276 100644 +--- a/node_modules/react-native-os/android/build.gradle ++++ b/node_modules/react-native-os/android/build.gradle +@@ -11,8 +11,8 @@ buildscript { + apply plugin: 'com.android.library' + + android { +- compileSdkVersion 23 +- buildToolsVersion "23.0.1" ++ compileSdkVersion 28 ++ buildToolsVersion "28.0.3" + + defaultConfig { + minSdkVersion 16 +@@ -40,5 +40,5 @@ repositories { + } + + dependencies { +- compile 'com.facebook.react:react-native:+' ++ api 'com.facebook.react:react-native:+' + } diff --git a/patches/xmlhttprequest+1.8.0.patch b/patches/xmlhttprequest+1.8.0.patch new file mode 100644 index 00000000000..623b54d6729 --- /dev/null +++ b/patches/xmlhttprequest+1.8.0.patch @@ -0,0 +1,13 @@ +diff --git a/node_modules/xmlhttprequest/lib/XMLHttpRequest.js b/node_modules/xmlhttprequest/lib/XMLHttpRequest.js +index 4893913..0543f38 100644 +--- a/node_modules/xmlhttprequest/lib/XMLHttpRequest.js ++++ b/node_modules/xmlhttprequest/lib/XMLHttpRequest.js +@@ -12,7 +12,7 @@ + */ + + var Url = require("url"); +-var spawn = require("child_process").spawn; ++//var spawn= require("child_process").spawn; + var fs = require("fs"); + + exports.XMLHttpRequest = function() { diff --git a/scripts/postinstall.sh b/scripts/postinstall.sh index 459536fa13d..85d4739beda 100755 --- a/scripts/postinstall.sh +++ b/scripts/postinstall.sh @@ -1,154 +1,16 @@ #!/bin/bash echo "PostInstall script:" -echo "0. Fix connext client" -# Replace console.error by console.log to avoid red screens -find node_modules/connext/dist -type f -name "*.js" | xargs sed -i'' -e 's/console.error/console.log/g' - echo "1. React Native nodeify..." node_modules/.bin/rn-nodeify --install 'crypto,buffer,react-native-randombytes,vm,stream,http,https,os,url,net,fs' --hack -# We need to submit a PR for this one. -echo "2. Fix react-native-os buildTools version..." -TARGET="node_modules/react-native-os/android/build.gradle" -sed -i'' -e 's/compileSdkVersion 23/compileSdkVersion 28/' $TARGET; -sed -i'' -e 's/23.0.1/28.0.3/' $TARGET; -echo "Done" - -# This one has been fixed on master -# we can remove once they release a new version -echo "3. Fix react-native-fs buildTools version..." -TARGET="node_modules/react-native-fs/android/build.gradle" -sed -i'' -e 's/compileSdkVersion 25/compileSdkVersion 28/' $TARGET; -sed -i'' -e 's/25.0.0/28.0.3/' $TARGET; -echo "Done" - -# The build output from aes-js breaks the metro bundler. Until we safely upgrade -# to a new version of aes-js, we patch it by removing the erroneous line. -echo "4. Fix aes-js build ouput..." -AES_OUTPUT_FILE="node_modules/aes-js/index.js"; -sed -i'' -e 's/var previous_mymodule = root.mymodule;//g' $AES_OUTPUT_FILE; - -# Reported here https://github.com/skv-headless/react-native-scrollable-tab-view/issues/910 -echo "5. Fix react-native-scrollable-tab-view" -TARGET="node_modules/react-native-scrollable-tab-view/SceneComponent.js" -sed -i'' -e 's/...props,/...props/' $TARGET; -echo "Done" - - -# This one has been fixed on master -# we can remove once they release a new version -echo "6. Fix react-native-fabric buildTools version..." -TARGET="node_modules/react-native-fabric/android/build.gradle" -sed -i'' -e 's/compileSdkVersion 23/compileSdkVersion 28/' $TARGET; -sed -i'' -e 's/23.0.1/28.0.3/' $TARGET; -echo "Done" - -echo "7. Update all the modules to BuildTools 28.0.3..." -TARGET="node_modules/react-native-aes-crypto/android/build.gradle" -sed -i'' -e 's/27.0.3/28.0.3/' $TARGET; -sed -i'' -e 's/23.0.1/28.0.0/' $TARGET; -sed -i'' -e 's/26/28/' $TARGET; -sed -i'' -e 's/22/28/' $TARGET; -TARGET="node_modules/react-native-fabric/android/build.gradle" -sed -i'' -e 's/26.0.1/28.0.3/' $TARGET; -TARGET="node_modules/react-native-fs/android/build.gradle" -sed -i'' -e 's/26.0.1/28.0.3/' $TARGET; -TARGET="node_modules/react-native-keychain/android/build.gradle" -sed -i'' -e 's/26.0.1/28.0.3/' $TARGET; -TARGET="node_modules/react-native-os/android/build.gradle" -sed -i'' -e 's/26.0.1/28.0.3/' $TARGET; -TARGET="node_modules/react-native-randombytes/android/build.gradle" -sed -i'' -e 's/26.0.1/28.0.3/' $TARGET; -TARGET="node_modules/react-native-vector-icons/android/build.gradle" -sed -i'' -e 's/26.0.1/28.0.3/' $TARGET; -TARGET="node_modules/detox/android/detox/build.gradle" -sed -i'' -e 's/27.0.3/28.0.3/' $TARGET; -sed -i'' -e 's/ 25/ 28/' $TARGET; -sed -i'' -e 's/ 18/ 19/' $TARGET; -TARGET="node_modules/react-native-branch/android/build.gradle" -sed -i'' -e 's/23.0.1/28.0.3/' $TARGET; - -echo "Done" - -echo "8. Fix all android build warnings..." -TARGET="node_modules/react-native-aes-crypto/android/build.gradle" -sed -i'' -e 's/compile /api /' $TARGET; -TARGET="node_modules/react-native-fs/android/build.gradle" -sed -i'' -e 's/compile /api /' $TARGET; -TARGET="node_modules/react-native-fabric/android/build.gradle" -sed -i'' -e 's/compile /api /' $TARGET; -sed -i'' -e 's/compile(/api(/' $TARGET; -TARGET="node_modules/react-native-i18n/android/build.gradle" -sed -i'' -e 's/compile /api /' $TARGET; -TARGET="node_modules/react-native-os/android/build.gradle" -sed -i'' -e 's/compile /api /' $TARGET; -TARGET="node_modules/react-native-randombytes/android/build.gradle" -sed -i'' -e 's/compile /api /' $TARGET; -TARGET="node_modules/react-native-keychain/android/build.gradle" -sed -i'' -e 's/compile /api /' $TARGET; -TARGET="node_modules/react-native-vector-icons/android/build.gradle" -sed -i'' -e 's/compile /api /' $TARGET; +echo "2. Patch npm packages" +npx patch-package -TARGET="node_modules/react-native-branch/android/build.gradle" -sed -i'' -e 's/ 23/ 28/' $TARGET; -sed -i'' -e 's/ 22/ 28/' $TARGET; -sed -i'' -e 's/ 16/ 19/' $TARGET; -sed -i'' -e 's/compile /api /' $TARGET; - -echo "9. Create xcconfig files..." +echo "2. Create xcconfig files..." echo "" > ios/debug.xcconfig echo "" > ios/release.xcconfig - -echo "10. Fix react-native-push-notification ..." -rm -rf node_modules/react-native-push-notification/.git - -echo "11. Fix xmlhttprequest" -TARGET="node_modules/xmlhttprequest/lib/XMLHttpRequest.js" -sed -i'' -e 's/var spawn /\/\/var spawn/' $TARGET; - -echo "12. Fix react-native-i18n" -TARGET="node_modules/react-native-i18n/android/src/main/AndroidManifest.xml" -sed -i'' -e 's///' $TARGET; - -# We can get rid of this once we upgrade to 0.60 -# which contains a fix -echo "13. Fix react-native v0.59.8" -TARGET="node_modules/react-native/react.gradle" -if grep -q "doLast" $TARGET; -then - echo "Already patched"; -else - sed -i'' -e '50i\ - doLast {\ - def moveFunc = { resSuffix ->\ - File originalDir = file("$buildDir/generated/res/react/release/drawable-${resSuffix}");\ - if (originalDir.exists()) {\ - File destDir = file("$buildDir/../src/main/res/drawable-${resSuffix}");\ - ant.move(file: originalDir, tofile: destDir);\ - }\ - }\ - moveFunc.curry("ldpi").call()\ - moveFunc.curry("mdpi").call()\ - moveFunc.curry("hdpi").call()\ - moveFunc.curry("xhdpi").call()\ - moveFunc.curry("xxhdpi").call()\ - moveFunc.curry("xxxhdpi").call()\ - }' $TARGET; -fi - -echo "14. Remove UIWebview deps" -rm -rf node_modules/react-native/React/Views/RCTWebView.m -rm -rf node_modules/react-native/React/Views/RCTWebViewManager.h -rm -rf node_modules/react-native/React/Views/RCTWebViewManager.m -sed -i.bak '/RCTWebView/d' node_modules/react-native/React/React.xcodeproj/project.pbxproj -rm -rf node_modules/react-native/React/React.xcodeproj/project.pbxproj.bak - -echo "15. Remove Branch examples" -rm -rf node_modules/react-native-branch/examples/ -rm -rf node_modules/react-native-branch/native-tests/ - -echo "16. Init git submodules" +echo "3. Init git submodules" echo "This may take a while..." git submodule update --init diff --git a/yarn.lock b/yarn.lock index 0fd9255a1d9..db4b5df86ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1106,7 +1106,7 @@ "@walletconnect/types" "^1.0.0-beta.38" bignumber.js "^8.1.1" -"@yarnpkg/lockfile@^1.0.0": +"@yarnpkg/lockfile@^1.0.0", "@yarnpkg/lockfile@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== @@ -1255,6 +1255,13 @@ ajv@^6.10.0, ajv@^6.10.2, ajv@^6.5.5, ajv@^6.9.1: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ansi-align@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" + integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= + dependencies: + string-width "^2.0.0" + ansi-colors@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" @@ -1883,6 +1890,19 @@ boolbase@^1.0.0, boolbase@~1.0.0: resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= +boxen@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" + integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== + dependencies: + ansi-align "^2.0.0" + camelcase "^4.0.0" + chalk "^2.0.1" + cli-boxes "^1.0.0" + string-width "^2.0.0" + term-size "^1.2.0" + widest-line "^2.0.0" + bplist-creator@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45" @@ -2179,7 +2199,7 @@ camelcase@^2.0.1: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= -camelcase@^4.1.0: +camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= @@ -2203,6 +2223,11 @@ capture-exit@^2.0.0: dependencies: rsvp "^4.8.4" +capture-stack-trace@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" + integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== + caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" @@ -2271,6 +2296,11 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.3.tgz#42d837d5239688d55f303003a508230fa6727142" integrity sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw== +ci-info@^1.5.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" + integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== + ci-info@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" @@ -2309,6 +2339,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" +cli-boxes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" + integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= + cli-cursor@^2.0.0, cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -2495,6 +2530,18 @@ concat@^1.0.0: dependencies: commander "^2.9.0" +configstore@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" + integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== + dependencies: + dot-prop "^4.1.0" + graceful-fs "^4.1.2" + make-dir "^1.0.0" + unique-string "^1.0.0" + write-file-atomic "^2.0.0" + xdg-basedir "^3.0.0" + connect@^3.6.5: version "3.7.0" resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" @@ -2590,6 +2637,13 @@ create-ecdh@^4.0.0: bn.js "^4.1.0" elliptic "^6.0.0" +create-error-class@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= + dependencies: + capture-stack-trace "^1.0.0" + create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" @@ -2663,6 +2717,11 @@ crypto-js@^3.1.4: resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.8.tgz#715f070bf6014f2ae992a98b3929258b713f08d5" integrity sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU= +crypto-random-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" + integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= + css-select@^2.0.2: version "2.1.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" @@ -3093,6 +3152,13 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" +dot-prop@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" + integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== + dependencies: + is-obj "^1.0.0" + drbg.js@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" @@ -3109,6 +3175,11 @@ dtrace-provider@~0.8: dependencies: nan "^2.14.0" +duplexer3@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" + integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -4564,6 +4635,14 @@ find-up@^3.0.0: dependencies: locate-path "^3.0.0" +find-yarn-workspace-root@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" + integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== + dependencies: + fs-extra "^4.0.3" + micromatch "^3.1.4" + findit@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/findit/-/findit-2.0.0.tgz#6509f0126af4c178551cfa99394e032e13a4d56e" @@ -4670,7 +4749,7 @@ fs-extra@^1.0.0: jsonfile "^2.1.0" klaw "^1.0.0" -fs-extra@^4.0.2: +fs-extra@^4.0.2, fs-extra@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== @@ -4927,6 +5006,13 @@ glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@~7.1.4: once "^1.3.0" path-is-absolute "^1.0.0" +global-dirs@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" + integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= + dependencies: + ini "^1.3.4" + global@^4.3.0: version "4.4.0" resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" @@ -4959,6 +5045,23 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" +got@^6.7.1: + version "6.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" + integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= + dependencies: + create-error-class "^3.0.0" + duplexer3 "^0.1.4" + get-stream "^3.0.0" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + safe-buffer "^5.0.1" + timed-out "^4.0.0" + unzip-response "^2.0.1" + url-parse-lax "^1.0.0" + graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.2.3" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" @@ -5299,6 +5402,11 @@ import-fresh@^3.0.0: parent-module "^1.0.0" resolve-from "^4.0.0" +import-lazy@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" + integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= + import-local@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" @@ -5450,6 +5558,13 @@ is-callable@^1.1.3, is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== +is-ci@^1.0.10: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" + integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== + dependencies: + ci-info "^1.5.0" + is-ci@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" @@ -5579,6 +5694,19 @@ is-hex-prefixed@1.0.0: resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" integrity sha1-fY035q135dEnFIkTxXPggtd39VQ= +is-installed-globally@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" + integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= + dependencies: + global-dirs "^0.1.0" + is-path-inside "^1.0.0" + +is-npm@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" + integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= + is-number-object@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.3.tgz#f265ab89a9f445034ef6aff15a8f00b00f551799" @@ -5603,7 +5731,7 @@ is-number@^4.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== -is-obj@^1.0.1: +is-obj@^1.0.0, is-obj@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= @@ -5661,6 +5789,11 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= + is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -5673,7 +5806,12 @@ is-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-stream@^1.0.1, is-stream@^1.1.0: +is-retry-allowed@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" + integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== + +is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -6437,6 +6575,13 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== +klaw-sync@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" + integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== + dependencies: + graceful-fs "^4.1.11" + klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" @@ -6449,6 +6594,13 @@ kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +latest-version@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" + integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= + dependencies: + package-json "^4.0.0" + lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -6822,6 +6974,11 @@ lottie-ios@2.5.0: prop-types "^15.5.10" react-native-safe-module "^1.1.0" +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== + lru-cache@^4.0.1, lru-cache@^4.1.2: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -6835,6 +6992,13 @@ ltgt@^2.1.3, ltgt@~2.2.0: resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= +make-dir@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" + integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== + dependencies: + pify "^3.0.0" + make-dir@^2.0.0, make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -8301,6 +8465,16 @@ pac-resolver@^3.0.0: netmask "^1.0.6" thunkify "^2.1.2" +package-json@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" + integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= + dependencies: + got "^6.7.1" + registry-auth-token "^3.0.1" + registry-url "^3.0.3" + semver "^5.1.0" + parent-module@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" @@ -8380,6 +8554,25 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +patch-package@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.0.tgz#677de858e352b6ca4e6cb48a6efde2cec9fde566" + integrity sha512-HWlQflaBBMjLBfOWomfolF8aqsFDeNbSNro1JDUgYqnVvPM5OILJ9DQdwIRiKmGaOsmHvhkl1FYkvv1I9r2ZJw== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^2.4.2" + cross-spawn "^6.0.5" + find-yarn-workspace-root "^1.2.1" + fs-extra "^7.0.1" + is-ci "^2.0.0" + klaw-sync "^6.0.0" + minimist "^1.2.0" + rimraf "^2.6.3" + semver "^5.6.0" + slash "^2.0.0" + tmp "^0.0.33" + update-notifier "^2.5.0" + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -8572,6 +8765,11 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= +prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= + preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" @@ -8887,7 +9085,7 @@ raw-body@^2.2.0: iconv-lite "0.4.24" unpipe "1.0.0" -rc@^1.2.7: +rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -9634,6 +9832,21 @@ regexpu-core@^4.6.0: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" +registry-auth-token@^3.0.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" + integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== + dependencies: + rc "^1.1.6" + safe-buffer "^5.0.1" + +registry-url@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" + integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= + dependencies: + rc "^1.0.1" + regjsgen@^0.5.0: version "0.5.1" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" @@ -10086,6 +10299,13 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= +semver-diff@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" + integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= + dependencies: + semver "^5.0.3" + "semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -10800,6 +11020,13 @@ tempfile@^2.0.0: temp-dir "^1.0.0" uuid "^3.0.1" +term-size@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" + integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= + dependencies: + execa "^0.7.0" + test-exclude@^5.2.3: version "5.2.3" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" @@ -10850,6 +11077,11 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= +timed-out@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" + integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= + tiny-queue@0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/tiny-queue/-/tiny-queue-0.2.0.tgz#c49fcb5c87555be1b4a5df7eb87101d5b78bc9dc" @@ -11060,6 +11292,13 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" +unique-string@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" + integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= + dependencies: + crypto-random-string "^1.0.0" + universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -11083,6 +11322,27 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" +unzip-response@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" + integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= + +update-notifier@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" + integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== + dependencies: + boxen "^1.2.1" + chalk "^2.0.1" + configstore "^3.0.0" + import-lazy "^2.1.0" + is-ci "^1.0.10" + is-installed-globally "^0.1.0" + is-npm "^1.0.0" + latest-version "^3.0.0" + semver-diff "^2.0.0" + xdg-basedir "^3.0.0" + uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -11095,6 +11355,13 @@ urix@^0.1.0: resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= + dependencies: + prepend-http "^1.0.1" + url-parse@1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.4.tgz#cac1556e95faa0303691fec5cf9d5a1bc34648f8" @@ -11377,6 +11644,13 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" +widest-line@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" + integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== + dependencies: + string-width "^2.1.1" + window-size@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" @@ -11453,6 +11727,15 @@ write-file-atomic@^1.2.0: imurmurhash "^0.1.4" slide "^1.1.5" +write-file-atomic@^2.0.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" + integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== + dependencies: + graceful-fs "^4.1.11" + imurmurhash "^0.1.4" + signal-exit "^3.0.2" + write@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" @@ -11499,6 +11782,11 @@ xcode@^2.0.0: simple-plist "^1.0.0" uuid "^3.3.2" +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= + xhr2-cookies@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" From d479102f631ead4e1edb167bb11bd3e6aa7c148d Mon Sep 17 00:00:00 2001 From: Bruno Barbieri Date: Tue, 28 Jan 2020 14:54:38 -0500 Subject: [PATCH 2/2] update lockfile --- yarn.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/yarn.lock b/yarn.lock index db4b5df86ba..4d87c8cbbe3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8554,7 +8554,7 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -patch-package@^6.2.0: +patch-package@6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.0.tgz#677de858e352b6ca4e6cb48a6efde2cec9fde566" integrity sha512-HWlQflaBBMjLBfOWomfolF8aqsFDeNbSNro1JDUgYqnVvPM5OILJ9DQdwIRiKmGaOsmHvhkl1FYkvv1I9r2ZJw==