Bluesky app fork with some witchin' additions 💫

Split React Native patches into individual patches (#9429)

authored by samuel.fm and committed by GitHub 8b00b8f9 9136be68

+1 -1
package.json
··· 176 176 "multiformats": "9.9.0", 177 177 "nanoid": "^5.0.5", 178 178 "normalize-url": "^8.0.0", 179 - "patch-package": "^6.5.1", 179 + "patch-package": "^8.0.1", 180 180 "postinstall-postinstall": "^2.1.0", 181 181 "psl": "^1.9.0", 182 182 "radix-ui": "^1.4.3",
+71
patches/react-native+0.81.5+001+initial.patch
··· 1 + diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 2 + index e9b330f..5fbb2e0 100644 3 + --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 4 + +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 5 + @@ -15,5 +15,6 @@ 6 + @property (nonatomic, copy) NSString *title; 7 + @property (nonatomic, copy) RCTDirectEventBlock onRefresh; 8 + @property (nonatomic, weak) UIScrollView *scrollView; 9 + +@property (nonatomic, copy) UIColor *customTintColor; 10 + 11 + @end 12 + diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 13 + index 53bfd04..e2e0c9f 100644 14 + --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 15 + +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 16 + @@ -23,6 +23,7 @@ @implementation RCTRefreshControl { 17 + UIColor *_titleColor; 18 + CGFloat _progressViewOffset; 19 + BOOL _hasMovedToWindow; 20 + + UIColor *_customTintColor; 21 + } 22 + 23 + - (instancetype)init 24 + @@ -58,6 +59,12 @@ - (void)layoutSubviews 25 + _isInitialRender = false; 26 + } 27 + 28 + +- (void)didMoveToSuperview 29 + +{ 30 + + [super didMoveToSuperview]; 31 + + [self setTintColor:_customTintColor]; 32 + +} 33 + + 34 + - (void)didMoveToWindow 35 + { 36 + [super didMoveToWindow]; 37 + @@ -221,4 +228,16 @@ - (void)refreshControlValueChanged 38 + } 39 + } 40 + 41 + +// Fix for https://github.com/facebook/react-native/issues/43388 42 + +// A bug in iOS 17.4 causes the haptic to not play when refreshing if the tintColor 43 + +// is set before the refresh control gets added to the scrollview. We'll call this 44 + +// function whenever the superview changes. We'll also call it if the value of customTintColor 45 + +// changes. 46 + +- (void)setTintColor:(UIColor *)tintColor 47 + +{ 48 + + if ([self.superview isKindOfClass:[UIScrollView class]] && self.tintColor != tintColor) { 49 + + [super setTintColor:tintColor]; 50 + + } 51 + +} 52 + + 53 + @end 54 + diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 55 + index 40aaf9c..1c60164 100644 56 + --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 57 + +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 58 + @@ -22,11 +22,12 @@ - (UIView *)view 59 + 60 + RCT_EXPORT_VIEW_PROPERTY(onRefresh, RCTDirectEventBlock) 61 + RCT_EXPORT_VIEW_PROPERTY(refreshing, BOOL) 62 + -RCT_EXPORT_VIEW_PROPERTY(tintColor, UIColor) 63 + RCT_EXPORT_VIEW_PROPERTY(title, NSString) 64 + RCT_EXPORT_VIEW_PROPERTY(titleColor, UIColor) 65 + RCT_EXPORT_VIEW_PROPERTY(progressViewOffset, CGFloat) 66 + 67 + +RCT_REMAP_VIEW_PROPERTY(tintColor, customTintColor, UIColor) 68 + + 69 + RCT_EXPORT_METHOD(setNativeRefreshing : (nonnull NSNumber *)viewTag toRefreshing : (BOOL)refreshing) 70 + { 71 + [self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
+67
patches/react-native+0.81.5+002+ScrollForwarder.patch
··· 1 + diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h 2 + index 914a249..0deac55 100644 3 + --- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h 4 + +++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h 5 + @@ -19,6 +19,8 @@ NS_ASSUME_NONNULL_BEGIN 6 + */ 7 + @interface RCTPullToRefreshViewComponentView : RCTViewComponentView <RCTCustomPullToRefreshViewProtocol> 8 + 9 + +- (void)beginRefreshingProgrammatically; 10 + + 11 + @end 12 + 13 + NS_ASSUME_NONNULL_END 14 + diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 15 + index 5fbb2e0..ec5f58c 100644 16 + --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 17 + +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 18 + @@ -17,4 +17,6 @@ 19 + @property (nonatomic, weak) UIScrollView *scrollView; 20 + @property (nonatomic, copy) UIColor *customTintColor; 21 + 22 + +- (void)forwarderBeginRefreshing; 23 + + 24 + @end 25 + diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 26 + index e2e0c9f..ff1b1ed 100644 27 + --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 28 + +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 29 + @@ -240,4 +240,38 @@ - (void)setTintColor:(UIColor *)tintColor 30 + } 31 + } 32 + 33 + +// This method is used by Bluesky's ExpoScrollForwarder. This allows other React Native 34 + +// libraries to perform a refresh of a scrollview and access the refresh control's onRefresh 35 + +// function. 36 + +- (void)forwarderBeginRefreshing 37 + +{ 38 + + _refreshingProgrammatically = NO; 39 + + 40 + + [self sizeToFit]; 41 + + 42 + + if (!self.scrollView) { 43 + + return; 44 + + } 45 + + 46 + + UIScrollView *scrollView = (UIScrollView *)self.scrollView; 47 + + 48 + + [UIView animateWithDuration:0.3 49 + + delay:0 50 + + options:UIViewAnimationOptionBeginFromCurrentState 51 + + animations:^(void) { 52 + + // Whenever we call this method, the scrollview will always be at a position of 53 + + // -130 or less. Scrolling back to -65 simulates the default behavior of RCTRefreshControl 54 + + [scrollView setContentOffset:CGPointMake(0, -65)]; 55 + + } 56 + + completion:^(__unused BOOL finished) { 57 + + [super beginRefreshing]; 58 + + [self setCurrentRefreshingState:super.refreshing]; 59 + + 60 + + if (self->_onRefresh) { 61 + + self->_onRefresh(nil); 62 + + } 63 + + } 64 + + ]; 65 + +} 66 + + 67 + @end
+16
patches/react-native+0.81.5+003+ScrollView-disable-recycling.patch
··· 1 + diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm 2 + index d029337..0f63ea3 100644 3 + --- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm 4 + +++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm 5 + @@ -1038,6 +1038,11 @@ - (void)_adjustForMaintainVisibleContentPosition 6 + } 7 + } 8 + 9 + ++ (BOOL)shouldBeRecycled 10 + +{ 11 + + return NO; 12 + +} 13 + + 14 + @end 15 + 16 + Class<RCTComponentViewProtocol> RCTScrollViewCls(void)
-136
patches/react-native+0.81.5.patch
··· 1 - diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h 2 - index 914a249..0deac55 100644 3 - --- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h 4 - +++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.h 5 - @@ -19,6 +19,8 @@ NS_ASSUME_NONNULL_BEGIN 6 - */ 7 - @interface RCTPullToRefreshViewComponentView : RCTViewComponentView <RCTCustomPullToRefreshViewProtocol> 8 - 9 - +- (void)beginRefreshingProgrammatically; 10 - + 11 - @end 12 - 13 - NS_ASSUME_NONNULL_END 14 - diff --git a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm 15 - index d029337..0f63ea3 100644 16 - --- a/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm 17 - +++ b/node_modules/react-native/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm 18 - @@ -1038,6 +1038,11 @@ - (void)_adjustForMaintainVisibleContentPosition 19 - } 20 - } 21 - 22 - ++ (BOOL)shouldBeRecycled 23 - +{ 24 - + return NO; 25 - +} 26 - + 27 - @end 28 - 29 - Class<RCTComponentViewProtocol> RCTScrollViewCls(void) 30 - diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 31 - index e9b330f..ec5f58c 100644 32 - --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 33 - +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.h 34 - @@ -15,5 +15,8 @@ 35 - @property (nonatomic, copy) NSString *title; 36 - @property (nonatomic, copy) RCTDirectEventBlock onRefresh; 37 - @property (nonatomic, weak) UIScrollView *scrollView; 38 - +@property (nonatomic, copy) UIColor *customTintColor; 39 - + 40 - +- (void)forwarderBeginRefreshing; 41 - 42 - @end 43 - diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 44 - index 53bfd04..ff1b1ed 100644 45 - --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 46 - +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControl.m 47 - @@ -23,6 +23,7 @@ @implementation RCTRefreshControl { 48 - UIColor *_titleColor; 49 - CGFloat _progressViewOffset; 50 - BOOL _hasMovedToWindow; 51 - + UIColor *_customTintColor; 52 - } 53 - 54 - - (instancetype)init 55 - @@ -58,6 +59,12 @@ - (void)layoutSubviews 56 - _isInitialRender = false; 57 - } 58 - 59 - +- (void)didMoveToSuperview 60 - +{ 61 - + [super didMoveToSuperview]; 62 - + [self setTintColor:_customTintColor]; 63 - +} 64 - + 65 - - (void)didMoveToWindow 66 - { 67 - [super didMoveToWindow]; 68 - @@ -221,4 +228,50 @@ - (void)refreshControlValueChanged 69 - } 70 - } 71 - 72 - +// Fix for https://github.com/facebook/react-native/issues/43388 73 - +// A bug in iOS 17.4 causes the haptic to not play when refreshing if the tintColor 74 - +// is set before the refresh control gets added to the scrollview. We'll call this 75 - +// function whenever the superview changes. We'll also call it if the value of customTintColor 76 - +// changes. 77 - +- (void)setTintColor:(UIColor *)tintColor 78 - +{ 79 - + if ([self.superview isKindOfClass:[UIScrollView class]] && self.tintColor != tintColor) { 80 - + [super setTintColor:tintColor]; 81 - + } 82 - +} 83 - + 84 - +// This method is used by Bluesky's ExpoScrollForwarder. This allows other React Native 85 - +// libraries to perform a refresh of a scrollview and access the refresh control's onRefresh 86 - +// function. 87 - +- (void)forwarderBeginRefreshing 88 - +{ 89 - + _refreshingProgrammatically = NO; 90 - + 91 - + [self sizeToFit]; 92 - + 93 - + if (!self.scrollView) { 94 - + return; 95 - + } 96 - + 97 - + UIScrollView *scrollView = (UIScrollView *)self.scrollView; 98 - + 99 - + [UIView animateWithDuration:0.3 100 - + delay:0 101 - + options:UIViewAnimationOptionBeginFromCurrentState 102 - + animations:^(void) { 103 - + // Whenever we call this method, the scrollview will always be at a position of 104 - + // -130 or less. Scrolling back to -65 simulates the default behavior of RCTRefreshControl 105 - + [scrollView setContentOffset:CGPointMake(0, -65)]; 106 - + } 107 - + completion:^(__unused BOOL finished) { 108 - + [super beginRefreshing]; 109 - + [self setCurrentRefreshingState:super.refreshing]; 110 - + 111 - + if (self->_onRefresh) { 112 - + self->_onRefresh(nil); 113 - + } 114 - + } 115 - + ]; 116 - +} 117 - + 118 - @end 119 - diff --git a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 120 - index 40aaf9c..1c60164 100644 121 - --- a/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 122 - +++ b/node_modules/react-native/React/Views/RefreshControl/RCTRefreshControlManager.m 123 - @@ -22,11 +22,12 @@ - (UIView *)view 124 - 125 - RCT_EXPORT_VIEW_PROPERTY(onRefresh, RCTDirectEventBlock) 126 - RCT_EXPORT_VIEW_PROPERTY(refreshing, BOOL) 127 - -RCT_EXPORT_VIEW_PROPERTY(tintColor, UIColor) 128 - RCT_EXPORT_VIEW_PROPERTY(title, NSString) 129 - RCT_EXPORT_VIEW_PROPERTY(titleColor, UIColor) 130 - RCT_EXPORT_VIEW_PROPERTY(progressViewOffset, CGFloat) 131 - 132 - +RCT_REMAP_VIEW_PROPERTY(tintColor, customTintColor, UIColor) 133 - + 134 - RCT_EXPORT_METHOD(setNativeRefreshing : (nonnull NSNumber *)viewTag toRefreshing : (BOOL)refreshing) 135 - { 136 - [self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
+46 -78
yarn.lock
··· 8579 8579 resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 8580 8580 integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== 8581 8581 8582 - at-least-node@^1.0.0: 8583 - version "1.0.0" 8584 - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" 8585 - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== 8586 - 8587 8582 atomic-sleep@^1.0.0: 8588 8583 version "1.0.0" 8589 8584 resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" ··· 9368 9363 resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" 9369 9364 integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== 9370 9365 9366 + ci-info@^3.7.0: 9367 + version "3.9.0" 9368 + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" 9369 + integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== 9370 + 9371 9371 cjs-module-lexer@^1.0.0: 9372 9372 version "1.2.3" 9373 9373 resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" ··· 9769 9769 integrity sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg== 9770 9770 dependencies: 9771 9771 node-fetch "^2.6.12" 9772 - 9773 - cross-spawn@^6.0.5: 9774 - version "6.0.5" 9775 - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 9776 - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 9777 - dependencies: 9778 - nice-try "^1.0.4" 9779 - path-key "^2.0.1" 9780 - semver "^5.5.0" 9781 - shebang-command "^1.2.0" 9782 - which "^1.2.9" 9783 9772 9784 9773 cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: 9785 9774 version "7.0.3" ··· 11974 11963 resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" 11975 11964 integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== 11976 11965 11977 - fs-extra@^11.2.0: 11978 - version "11.3.0" 11979 - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" 11980 - integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== 11966 + fs-extra@^10.0.0: 11967 + version "10.1.0" 11968 + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" 11969 + integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== 11981 11970 dependencies: 11982 11971 graceful-fs "^4.2.0" 11983 11972 jsonfile "^6.0.1" 11984 11973 universalify "^2.0.0" 11985 11974 11986 - fs-extra@^9.0.0: 11987 - version "9.1.0" 11988 - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" 11989 - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== 11975 + fs-extra@^11.2.0: 11976 + version "11.3.0" 11977 + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.3.0.tgz#0daced136bbaf65a555a326719af931adc7a314d" 11978 + integrity sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew== 11990 11979 dependencies: 11991 - at-least-node "^1.0.0" 11992 11980 graceful-fs "^4.2.0" 11993 11981 jsonfile "^6.0.1" 11994 11982 universalify "^2.0.0" ··· 12961 12949 version "1.2.7" 12962 12950 resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" 12963 12951 integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== 12964 - 12965 - is-ci@^2.0.0: 12966 - version "2.0.0" 12967 - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 12968 - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 12969 - dependencies: 12970 - ci-info "^2.0.0" 12971 12952 12972 12953 is-ci@^3.0.1: 12973 12954 version "3.0.1" ··· 14077 14058 resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 14078 14059 integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 14079 14060 14061 + json-stable-stringify@^1.0.2: 14062 + version "1.3.0" 14063 + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.3.0.tgz#8903cfac42ea1a0f97f35d63a4ce0518f0cc6a70" 14064 + integrity sha512-qtYiSSFlwot9XHtF9bD9c7rwKjr+RecWT//ZnPvSmEjpV5mmPOCN4j8UjY5hbjNkOwZ/jQv3J6R1/pL7RwgMsg== 14065 + dependencies: 14066 + call-bind "^1.0.8" 14067 + call-bound "^1.0.4" 14068 + isarray "^2.0.5" 14069 + jsonify "^0.0.1" 14070 + object-keys "^1.1.1" 14071 + 14080 14072 json5@^1.0.2: 14081 14073 version "1.0.2" 14082 14074 resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" ··· 14097 14089 universalify "^2.0.0" 14098 14090 optionalDependencies: 14099 14091 graceful-fs "^4.1.6" 14092 + 14093 + jsonify@^0.0.1: 14094 + version "0.0.1" 14095 + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" 14096 + integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== 14100 14097 14101 14098 "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: 14102 14099 version "3.3.5" ··· 15117 15114 resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz#d2cc9fc5235ddb371fc44d506234339c8e4b0a4b" 15118 15115 integrity sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A== 15119 15116 15120 - nice-try@^1.0.4: 15121 - version "1.0.5" 15122 - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 15123 - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 15124 - 15125 15117 no-case@^3.0.4: 15126 15118 version "3.0.4" 15127 15119 resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" ··· 15680 15672 ansi-escapes "^4.3.2" 15681 15673 cross-spawn "^7.0.3" 15682 15674 15683 - patch-package@^6.5.1: 15684 - version "6.5.1" 15685 - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.5.1.tgz#3e5d00c16997e6160291fee06a521c42ac99b621" 15686 - integrity sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA== 15675 + patch-package@^8.0.1: 15676 + version "8.0.1" 15677 + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-8.0.1.tgz#79d02f953f711e06d1f8949c8a13e5d3d7ba1a60" 15678 + integrity sha512-VsKRIA8f5uqHQ7NGhwIna6Bx6D9s/1iXlA1hthBVBEbkq+t4kXD0HHt+rJhf/Z+Ci0F/HCB2hvn0qLdLG+Qxlw== 15687 15679 dependencies: 15688 15680 "@yarnpkg/lockfile" "^1.1.0" 15689 15681 chalk "^4.1.2" 15690 - cross-spawn "^6.0.5" 15682 + ci-info "^3.7.0" 15683 + cross-spawn "^7.0.3" 15691 15684 find-yarn-workspace-root "^2.0.0" 15692 - fs-extra "^9.0.0" 15693 - is-ci "^2.0.0" 15685 + fs-extra "^10.0.0" 15686 + json-stable-stringify "^1.0.2" 15694 15687 klaw-sync "^6.0.0" 15695 15688 minimist "^1.2.6" 15696 15689 open "^7.4.2" 15697 - rimraf "^2.6.3" 15698 - semver "^5.6.0" 15690 + semver "^7.5.3" 15699 15691 slash "^2.0.0" 15700 - tmp "^0.0.33" 15701 - yaml "^1.10.2" 15692 + tmp "^0.2.4" 15693 + yaml "^2.2.2" 15702 15694 15703 15695 path-exists@^3.0.0: 15704 15696 version "3.0.0" ··· 15719 15711 version "1.0.2" 15720 15712 resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" 15721 15713 integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w== 15722 - 15723 - path-key@^2.0.1: 15724 - version "2.0.1" 15725 - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 15726 - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== 15727 15714 15728 15715 path-key@^3.0.0, path-key@^3.1.0: 15729 15716 version "3.1.1" ··· 17785 17772 resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" 17786 17773 integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== 17787 17774 17788 - semver@^5.5.0, semver@^5.6.0: 17789 - version "5.7.2" 17790 - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" 17791 - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== 17792 - 17793 17775 semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: 17794 17776 version "6.3.1" 17795 17777 resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" ··· 18008 17990 "@img/sharp-win32-ia32" "0.33.5" 18009 17991 "@img/sharp-win32-x64" "0.33.5" 18010 17992 18011 - shebang-command@^1.2.0: 18012 - version "1.2.0" 18013 - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 18014 - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== 18015 - dependencies: 18016 - shebang-regex "^1.0.0" 18017 - 18018 17993 shebang-command@^2.0.0: 18019 17994 version "2.0.0" 18020 17995 resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" ··· 18022 17997 dependencies: 18023 17998 shebang-regex "^3.0.0" 18024 17999 18025 - shebang-regex@^1.0.0: 18026 - version "1.0.0" 18027 - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 18028 - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== 18029 - 18030 18000 shebang-regex@^3.0.0: 18031 18001 version "3.0.0" 18032 18002 resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" ··· 18952 18922 integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 18953 18923 dependencies: 18954 18924 os-tmpdir "~1.0.2" 18925 + 18926 + tmp@^0.2.4: 18927 + version "0.2.5" 18928 + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.5.tgz#b06bcd23f0f3c8357b426891726d16015abfd8f8" 18929 + integrity sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow== 18955 18930 18956 18931 tmpl@1.0.5: 18957 18932 version "1.0.5" ··· 19947 19922 has-tostringtag "^1.0.0" 19948 19923 is-typed-array "^1.1.10" 19949 19924 19950 - which@^1.2.9: 19951 - version "1.3.1" 19952 - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 19953 - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 19954 - dependencies: 19955 - isexe "^2.0.0" 19956 - 19957 19925 which@^2.0.1, which@^2.0.2: 19958 19926 version "2.0.2" 19959 19927 resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" ··· 20142 20110 resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 20143 20111 integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 20144 20112 20145 - yaml@^2.6.1: 20113 + yaml@^2.2.2, yaml@^2.6.1: 20146 20114 version "2.8.1" 20147 20115 resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.1.tgz#1870aa02b631f7e8328b93f8bc574fac5d6c4d79" 20148 20116 integrity sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==