diff --git a/README.md b/README.md index 5169ab66..4445ac3d 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,10 @@ ### 🚧🚧 Looking for collaborators and backers 🚧🚧 -See this [issue](https://github.com/react-native-datetimepicker/datetimepicker/issues/313) +See this [issue](https://github.com/react-native-datetimepicker/datetimepicker/issues/313). ### Backers -Support us with a monthly donation and help us continue our activities. [Become a backer on OpenCollective](https://opencollective.com/react-native-datetimepicker) or [sponsor us on GitHub Sponsors](https://github.com/sponsors/react-native-datetimepicker) +Support us with a monthly donation and help us continue our activities. [Become a backer on OpenCollective](https://opencollective.com/react-native-datetimepicker) or [sponsor us on GitHub Sponsors](https://github.com/sponsors/react-native-datetimepicker). @@ -22,9 +22,11 @@ The module is still published on `npm` under the old namespace (as documented) b React Native date & time picker component for iOS, Android and Windows. +## Screenshots +
Expand for screenshots - + @@ -48,18 +50,16 @@ React Native date & time picker component for iOS, Android and Windows. -## Table of Contents +## Table of contents - [React Native DateTimePicker](#react-native-datetimepicker) - - [Table of Contents](#table-of-contents) + - [Table of contents](#table-of-contents) - [Expo users notice](#expo-users-notice) - [Getting started](#getting-started) - - [RN >= 0.60](#rn--060) - - [RN < 0.60](#rn--060-1) - - [General Usage](#general-usage) - - [Basic usage with state](#basic-usage-with-state) + - [Usage](#usage) - [Localization note](#localization-note) - - [Props](#props) + - [Android imperative API](#android-imperative-api) + - [Props / params](#component-props--params-of-the-android-imperative-api) - [`mode` (`optional`)](#mode-optional) - [`display` (`optional`)](#display-optional) - [`onChange` (`optional`)](#onchange-optional) @@ -79,15 +79,10 @@ React Native date & time picker component for iOS, Android and Windows. - [`minuteInterval` (`optional`)](#minuteinterval-optional) - [`style` (`optional`, `iOS only`)](#style-optional-ios-only) - [`disabled` (`optional`, `iOS only`)](#disabled-optional-ios-only) + - [`onError` (`optional`, `Android only`)](#onError-optional-android-only) - [Migration from the older components](#migration-from-the-older-components) - - [DatePickerIOS](#datepickerios) - - [DatePickerAndroid](#datepickerandroid) - - [TimePickerAndroid](#timepickerandroid) - [Contributing to the component](#contributing-to-the-component) - [Manual installation](#manual-installation) - - [iOS](#ios) - - [Android](#android) - - [Windows](#windows) - [Running the example app](#running-the-example-app) ## Requirements @@ -117,27 +112,74 @@ Autolinking is not yet implemented on Windows, so [manual installation ](/docs/m If you are using RN >= 0.60, only run `npx pod-install`. Then rebuild your project. -## General Usage +## Usage ```js import DateTimePicker from '@react-native-community/datetimepicker'; ``` -### Basic usage with state +
+ Expand for examples + +We give two equivalent examples on how to use the package on all supported platforms. + +### Recommended imperative api usage on Android + +While the component-approach as given in the second paragraph works on Android, the recommended approach is to use the imperative api given in the first paragraph. + +Read more about the motivation in [Android imperative API](#android-imperative-api). ```js -import React, {useState} from 'react'; -import {View, Button, Platform} from 'react-native'; -import DateTimePicker from '@react-native-community/datetimepicker'; +export const App = () => { + const [date, setDate] = useState(new Date(1598051730000)); + + const onChange = (event, selectedDate) => { + const currentDate = selectedDate; + setDate(currentDate); + }; + + const showMode = (currentMode) => { + DateTimePickerAndroid.open({ + value: date, + onChange, + mode: currentMode, + is24Hour: true + }) + }; + + const showDatepicker = () => { + showMode('date'); + }; + + const showTimepicker = () => { + showMode('time'); + }; + + return ( + + +
+ + ## Localization note On Android, the picker will be controlled by the system locale. If you wish to change it, [see instructions here](https://stackoverflow.com/a/2900144/2070942). @@ -191,11 +236,29 @@ There is also the iOS-only locale prop that can be used to force locale in some For Expo, follow the [localization docs](https://docs.expo.dev/distribution/app-stores/#localizing-your-ios-app). -## Props + +### Android imperative api + +On Android, you have a choice between using the component API (regular React component) or an imperative api (think something like `ReactNative.alert()`). + +While the component API has the benefit of writing the same code on all platforms, for start we recommend to use the imperative API on Android. + +The `params` is an object with the same properties as the component props documented in the next paragraph. (This is also because the component api internally uses the imperative one.) + +```js +import { DateTimePickerAndroid } from '@react-native-community/datetimepicker'; + +DateTimePickerAndroid.open(params: AndroidNativeProps) +DateTimePickerAndroid.dismiss(mode: AndroidNativeProps['mode']) +``` + +Reason we recommend the imperative API is: on Android, the date/time picker opens in a dialog, similar to `ReactNative.alert()` from core react native. The imperative api models this behavior better than the declarative component api. While the component approach is perfectly functional, based on the issue tracker history, it appears to be more prone to introducing bugs. + +## Component props / params of the Android imperative api > Please note that this library currently exposes functionality from [`UIDatePicker`](https://developer.apple.com/documentation/uikit/uidatepicker?language=objc) on iOS and [DatePickerDialog](https://developer.android.com/reference/android/app/DatePickerDialog) + [TimePickerDialog](https://developer.android.com/reference/android/app/TimePickerDialog) on Android, and [`CalendarDatePicker`](https://docs.microsoft.com/en-us/windows/uwp/design/controls-and-patterns/calendar-date-picker) +[TimePicker](https://docs.microsoft.com/en-us/uwp/api/windows.ui.xaml.controls.timepicker?view=winrt-19041) on Windows. > -> These native classes offer only limited configuration, while there are dozens of possible options you as a developer may need. It follows that if your requirement is not supported by the backing native views, this library will _not_ be able to implement your requirement. When you open an issue with a feature request, please document if (or how) the feature can be implemented using the aforementioned native views. If those views do not support what you need, such feature requests will be closed as not actionable. +> These native classes offer only limited configuration, while there are dozens of possible options you as a developer may need. It follows that if your requirement is not supported by the backing native views, this library will _not_ be able to implement your requirement. When you open an issue with a feature request, please document if (or how) the feature can be implemented using the aforementioned native views. If the native views do not support what you need, such feature requests will be closed as not actionable. #### `mode` (`optional`) @@ -395,6 +458,10 @@ Alternatively, use the `themeVariant` prop or [opt-out from dark mode (discourag If true, the user won't be able to interact with the view. +#### `onError` (`optional`, `Android only`) + +Callback that is called when an error occurs inside the date picker native code (such as null activity). + ## Migration from the older components Please see [migration.md](/docs/migration.md) diff --git a/RNDateTimePicker.podspec b/RNDateTimePicker.podspec index 716b9132..ae7cb4db 100644 --- a/RNDateTimePicker.podspec +++ b/RNDateTimePicker.podspec @@ -10,7 +10,7 @@ Pod::Spec.new do |s| s.license = package['license'] s.author = package['author'] s.homepage = package['homepage'] - s.platform = :ios, "10.0" + s.platform = :ios, "11.0" s.source = { :git => "https://github.com/react-native-community/datetimepicker", :tag => "v#{s.version}" } s.source_files = "ios/*.{h,m}" s.requires_arc = true diff --git a/example/e2e/detoxTest.spec.js b/example/e2e/detoxTest.spec.js index 573343ea..969329b1 100644 --- a/example/e2e/detoxTest.spec.js +++ b/example/e2e/detoxTest.spec.js @@ -17,8 +17,9 @@ const { } = require('./utils/actions'); const {isIOS, wait, Platform} = require('./utils/utils'); const {device} = require('detox'); +const {describe} = require('jest-circus'); -describe('Example', () => { +describe('e2e tests', () => { const getPickerDisplay = () => { return isIOS() ? 'spinner' : 'default'; }; diff --git a/example/ios/Podfile b/example/ios/Podfile index 27223d94..8634bc28 100644 --- a/example/ios/Podfile +++ b/example/ios/Podfile @@ -21,7 +21,7 @@ target "example" do # # Note that if you have use_frameworks! enabled, Flipper will not work and # you should disable these next few lines. - use_flipper!() +# use_flipper!() end post_install do |installer| diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index a50c6721..4526d584 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -1,79 +1,16 @@ PODS: - boost (1.76.0) - - CocoaAsyncSocket (7.6.5) - DoubleConversion (1.1.6) - - FBLazyVector (0.66.3) - - FBReactNativeSpec (0.66.3): + - FBLazyVector (0.66.4) + - FBReactNativeSpec (0.66.4): - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.66.3) - - RCTTypeSafety (= 0.66.3) - - React-Core (= 0.66.3) - - React-jsi (= 0.66.3) - - ReactCommon/turbomodule/core (= 0.66.3) - - Flipper (0.99.0): - - Flipper-Folly (~> 2.6) - - Flipper-RSocket (~> 1.4) - - Flipper-Boost-iOSX (1.76.0.1.11) - - Flipper-DoubleConversion (3.1.7) - - Flipper-Fmt (7.1.7) - - Flipper-Folly (2.6.7): - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt (= 7.1.7) - - Flipper-Glog - - libevent (~> 2.1.12) - - OpenSSL-Universal (= 1.1.180) - - Flipper-Glog (0.3.6) - - Flipper-PeerTalk (0.0.4) - - Flipper-RSocket (1.4.3): - - Flipper-Folly (~> 2.6) - - FlipperKit (0.99.0): - - FlipperKit/Core (= 0.99.0) - - FlipperKit/Core (0.99.0): - - Flipper (~> 0.99.0) - - FlipperKit/CppBridge - - FlipperKit/FBCxxFollyDynamicConvert - - FlipperKit/FBDefines - - FlipperKit/FKPortForwarding - - FlipperKit/CppBridge (0.99.0): - - Flipper (~> 0.99.0) - - FlipperKit/FBCxxFollyDynamicConvert (0.99.0): - - Flipper-Folly (~> 2.6) - - FlipperKit/FBDefines (0.99.0) - - FlipperKit/FKPortForwarding (0.99.0): - - CocoaAsyncSocket (~> 7.6) - - Flipper-PeerTalk (~> 0.0.4) - - FlipperKit/FlipperKitHighlightOverlay (0.99.0) - - FlipperKit/FlipperKitLayoutHelpers (0.99.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutTextSearchable - - FlipperKit/FlipperKitLayoutIOSDescriptors (0.99.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutPlugin (0.99.0): - - FlipperKit/Core - - FlipperKit/FlipperKitHighlightOverlay - - FlipperKit/FlipperKitLayoutHelpers - - FlipperKit/FlipperKitLayoutIOSDescriptors - - FlipperKit/FlipperKitLayoutTextSearchable - - YogaKit (~> 1.18) - - FlipperKit/FlipperKitLayoutTextSearchable (0.99.0) - - FlipperKit/FlipperKitNetworkPlugin (0.99.0): - - FlipperKit/Core - - FlipperKit/FlipperKitReactPlugin (0.99.0): - - FlipperKit/Core - - FlipperKit/FlipperKitUserDefaultsPlugin (0.99.0): - - FlipperKit/Core - - FlipperKit/SKIOSNetworkPlugin (0.99.0): - - FlipperKit/Core - - FlipperKit/FlipperKitNetworkPlugin + - RCTRequired (= 0.66.4) + - RCTTypeSafety (= 0.66.4) + - React-Core (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) - fmt (6.2.1) - glog (0.3.5) - - libevent (2.1.12) - - OpenSSL-Universal (1.1.180) - RCT-Folly (2021.06.28.00-v2): - boost - DoubleConversion @@ -85,294 +22,271 @@ PODS: - DoubleConversion - fmt (~> 6.2.1) - glog - - RCTRequired (0.66.3) - - RCTTypeSafety (0.66.3): - - FBLazyVector (= 0.66.3) + - RCTRequired (0.66.4) + - RCTTypeSafety (0.66.4): + - FBLazyVector (= 0.66.4) - RCT-Folly (= 2021.06.28.00-v2) - - RCTRequired (= 0.66.3) - - React-Core (= 0.66.3) - - React (0.66.3): - - React-Core (= 0.66.3) - - React-Core/DevSupport (= 0.66.3) - - React-Core/RCTWebSocket (= 0.66.3) - - React-RCTActionSheet (= 0.66.3) - - React-RCTAnimation (= 0.66.3) - - React-RCTBlob (= 0.66.3) - - React-RCTImage (= 0.66.3) - - React-RCTLinking (= 0.66.3) - - React-RCTNetwork (= 0.66.3) - - React-RCTSettings (= 0.66.3) - - React-RCTText (= 0.66.3) - - React-RCTVibration (= 0.66.3) - - React-callinvoker (0.66.3) - - React-Core (0.66.3): + - RCTRequired (= 0.66.4) + - React-Core (= 0.66.4) + - React (0.66.4): + - React-Core (= 0.66.4) + - React-Core/DevSupport (= 0.66.4) + - React-Core/RCTWebSocket (= 0.66.4) + - React-RCTActionSheet (= 0.66.4) + - React-RCTAnimation (= 0.66.4) + - React-RCTBlob (= 0.66.4) + - React-RCTImage (= 0.66.4) + - React-RCTLinking (= 0.66.4) + - React-RCTNetwork (= 0.66.4) + - React-RCTSettings (= 0.66.4) + - React-RCTText (= 0.66.4) + - React-RCTVibration (= 0.66.4) + - React-callinvoker (0.66.4) + - React-Core (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.66.3) - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-Core/Default (= 0.66.4) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/CoreModulesHeaders (0.66.3): + - React-Core/CoreModulesHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/Default (0.66.3): + - React-Core/Default (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/DevSupport (0.66.3): + - React-Core/DevSupport (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.66.3) - - React-Core/RCTWebSocket (= 0.66.3) - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-jsinspector (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-Core/Default (= 0.66.4) + - React-Core/RCTWebSocket (= 0.66.4) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-jsinspector (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTActionSheetHeaders (0.66.3): + - React-Core/RCTActionSheetHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTAnimationHeaders (0.66.3): + - React-Core/RCTAnimationHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTBlobHeaders (0.66.3): + - React-Core/RCTBlobHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTImageHeaders (0.66.3): + - React-Core/RCTImageHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTLinkingHeaders (0.66.3): + - React-Core/RCTLinkingHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTNetworkHeaders (0.66.3): + - React-Core/RCTNetworkHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTSettingsHeaders (0.66.3): + - React-Core/RCTSettingsHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTTextHeaders (0.66.3): + - React-Core/RCTTextHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTVibrationHeaders (0.66.3): + - React-Core/RCTVibrationHeaders (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - React-Core/Default - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-Core/RCTWebSocket (0.66.3): + - React-Core/RCTWebSocket (0.66.4): - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/Default (= 0.66.3) - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsiexecutor (= 0.66.3) - - React-perflogger (= 0.66.3) + - React-Core/Default (= 0.66.4) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsiexecutor (= 0.66.4) + - React-perflogger (= 0.66.4) - Yoga - - React-CoreModules (0.66.3): - - FBReactNativeSpec (= 0.66.3) + - React-CoreModules (0.66.4): + - FBReactNativeSpec (= 0.66.4) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.3) - - React-Core/CoreModulesHeaders (= 0.66.3) - - React-jsi (= 0.66.3) - - React-RCTImage (= 0.66.3) - - ReactCommon/turbomodule/core (= 0.66.3) - - React-cxxreact (0.66.3): + - RCTTypeSafety (= 0.66.4) + - React-Core/CoreModulesHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - React-RCTImage (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-cxxreact (0.66.4): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.66.3) - - React-jsi (= 0.66.3) - - React-jsinspector (= 0.66.3) - - React-logger (= 0.66.3) - - React-perflogger (= 0.66.3) - - React-runtimeexecutor (= 0.66.3) - - React-jsi (0.66.3): + - React-callinvoker (= 0.66.4) + - React-jsi (= 0.66.4) + - React-jsinspector (= 0.66.4) + - React-logger (= 0.66.4) + - React-perflogger (= 0.66.4) + - React-runtimeexecutor (= 0.66.4) + - React-jsi (0.66.4): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsi/Default (= 0.66.3) - - React-jsi/Default (0.66.3): + - React-jsi/Default (= 0.66.4) + - React-jsi/Default (0.66.4): - boost (= 1.76.0) - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-jsiexecutor (0.66.3): + - React-jsiexecutor (0.66.4): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-perflogger (= 0.66.3) - - React-jsinspector (0.66.3) - - React-logger (0.66.3): + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-perflogger (= 0.66.4) + - React-jsinspector (0.66.4) + - React-logger (0.66.4): - glog - react-native-segmented-control (2.4.0): - React-Core - - React-perflogger (0.66.3) - - React-RCTActionSheet (0.66.3): - - React-Core/RCTActionSheetHeaders (= 0.66.3) - - React-RCTAnimation (0.66.3): - - FBReactNativeSpec (= 0.66.3) + - React-perflogger (0.66.4) + - React-RCTActionSheet (0.66.4): + - React-Core/RCTActionSheetHeaders (= 0.66.4) + - React-RCTAnimation (0.66.4): + - FBReactNativeSpec (= 0.66.4) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.3) - - React-Core/RCTAnimationHeaders (= 0.66.3) - - React-jsi (= 0.66.3) - - ReactCommon/turbomodule/core (= 0.66.3) - - React-RCTBlob (0.66.3): - - FBReactNativeSpec (= 0.66.3) + - RCTTypeSafety (= 0.66.4) + - React-Core/RCTAnimationHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTBlob (0.66.4): + - FBReactNativeSpec (= 0.66.4) - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTBlobHeaders (= 0.66.3) - - React-Core/RCTWebSocket (= 0.66.3) - - React-jsi (= 0.66.3) - - React-RCTNetwork (= 0.66.3) - - ReactCommon/turbomodule/core (= 0.66.3) - - React-RCTImage (0.66.3): - - FBReactNativeSpec (= 0.66.3) + - React-Core/RCTBlobHeaders (= 0.66.4) + - React-Core/RCTWebSocket (= 0.66.4) + - React-jsi (= 0.66.4) + - React-RCTNetwork (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTImage (0.66.4): + - FBReactNativeSpec (= 0.66.4) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.3) - - React-Core/RCTImageHeaders (= 0.66.3) - - React-jsi (= 0.66.3) - - React-RCTNetwork (= 0.66.3) - - ReactCommon/turbomodule/core (= 0.66.3) - - React-RCTLinking (0.66.3): - - FBReactNativeSpec (= 0.66.3) - - React-Core/RCTLinkingHeaders (= 0.66.3) - - React-jsi (= 0.66.3) - - ReactCommon/turbomodule/core (= 0.66.3) - - React-RCTNetwork (0.66.3): - - FBReactNativeSpec (= 0.66.3) + - RCTTypeSafety (= 0.66.4) + - React-Core/RCTImageHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - React-RCTNetwork (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTLinking (0.66.4): + - FBReactNativeSpec (= 0.66.4) + - React-Core/RCTLinkingHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTNetwork (0.66.4): + - FBReactNativeSpec (= 0.66.4) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.3) - - React-Core/RCTNetworkHeaders (= 0.66.3) - - React-jsi (= 0.66.3) - - ReactCommon/turbomodule/core (= 0.66.3) - - React-RCTSettings (0.66.3): - - FBReactNativeSpec (= 0.66.3) + - RCTTypeSafety (= 0.66.4) + - React-Core/RCTNetworkHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTSettings (0.66.4): + - FBReactNativeSpec (= 0.66.4) - RCT-Folly (= 2021.06.28.00-v2) - - RCTTypeSafety (= 0.66.3) - - React-Core/RCTSettingsHeaders (= 0.66.3) - - React-jsi (= 0.66.3) - - ReactCommon/turbomodule/core (= 0.66.3) - - React-RCTText (0.66.3): - - React-Core/RCTTextHeaders (= 0.66.3) - - React-RCTVibration (0.66.3): - - FBReactNativeSpec (= 0.66.3) + - RCTTypeSafety (= 0.66.4) + - React-Core/RCTSettingsHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-RCTText (0.66.4): + - React-Core/RCTTextHeaders (= 0.66.4) + - React-RCTVibration (0.66.4): + - FBReactNativeSpec (= 0.66.4) - RCT-Folly (= 2021.06.28.00-v2) - - React-Core/RCTVibrationHeaders (= 0.66.3) - - React-jsi (= 0.66.3) - - ReactCommon/turbomodule/core (= 0.66.3) - - React-runtimeexecutor (0.66.3): - - React-jsi (= 0.66.3) - - ReactCommon/turbomodule/core (0.66.3): + - React-Core/RCTVibrationHeaders (= 0.66.4) + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (= 0.66.4) + - React-runtimeexecutor (0.66.4): + - React-jsi (= 0.66.4) + - ReactCommon/turbomodule/core (0.66.4): - DoubleConversion - glog - RCT-Folly (= 2021.06.28.00-v2) - - React-callinvoker (= 0.66.3) - - React-Core (= 0.66.3) - - React-cxxreact (= 0.66.3) - - React-jsi (= 0.66.3) - - React-logger (= 0.66.3) - - React-perflogger (= 0.66.3) - - RNDateTimePicker (3.5.2): + - React-callinvoker (= 0.66.4) + - React-Core (= 0.66.4) + - React-cxxreact (= 0.66.4) + - React-jsi (= 0.66.4) + - React-logger (= 0.66.4) + - React-perflogger (= 0.66.4) + - RNDateTimePicker (5.1.0): - React-Core - - RNLocalize (2.1.5): + - RNLocalize (2.1.6): - React-Core - Yoga (1.14.0) - - YogaKit (1.18.1): - - Yoga (~> 1.14) DEPENDENCIES: - boost (from `../../node_modules/react-native/third-party-podspecs/boost.podspec`) - DoubleConversion (from `../../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`) - FBLazyVector (from `../../node_modules/react-native/Libraries/FBLazyVector`) - FBReactNativeSpec (from `../../node_modules/react-native/React/FBReactNativeSpec`) - - Flipper (= 0.99.0) - - Flipper-Boost-iOSX (= 1.76.0.1.11) - - Flipper-DoubleConversion (= 3.1.7) - - Flipper-Fmt (= 7.1.7) - - Flipper-Folly (= 2.6.7) - - Flipper-Glog (= 0.3.6) - - Flipper-PeerTalk (= 0.0.4) - - Flipper-RSocket (= 1.4.3) - - FlipperKit (= 0.99.0) - - FlipperKit/Core (= 0.99.0) - - FlipperKit/CppBridge (= 0.99.0) - - FlipperKit/FBCxxFollyDynamicConvert (= 0.99.0) - - FlipperKit/FBDefines (= 0.99.0) - - FlipperKit/FKPortForwarding (= 0.99.0) - - FlipperKit/FlipperKitHighlightOverlay (= 0.99.0) - - FlipperKit/FlipperKitLayoutPlugin (= 0.99.0) - - FlipperKit/FlipperKitLayoutTextSearchable (= 0.99.0) - - FlipperKit/FlipperKitNetworkPlugin (= 0.99.0) - - FlipperKit/FlipperKitReactPlugin (= 0.99.0) - - FlipperKit/FlipperKitUserDefaultsPlugin (= 0.99.0) - - FlipperKit/SKIOSNetworkPlugin (= 0.99.0) - glog (from `../../node_modules/react-native/third-party-podspecs/glog.podspec`) - RCT-Folly (from `../../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`) - RCTRequired (from `../../node_modules/react-native/Libraries/RCTRequired`) @@ -407,20 +321,7 @@ DEPENDENCIES: SPEC REPOS: trunk: - - CocoaAsyncSocket - - Flipper - - Flipper-Boost-iOSX - - Flipper-DoubleConversion - - Flipper-Fmt - - Flipper-Folly - - Flipper-Glog - - Flipper-PeerTalk - - Flipper-RSocket - - FlipperKit - fmt - - libevent - - OpenSSL-Universal - - YogaKit EXTERNAL SOURCES: boost: @@ -492,53 +393,40 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: a7c83b31436843459a1961bfd74b96033dc77234 - CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - DoubleConversion: 5805e889d232975c086db112ece9ed034df7a0b2 - FBLazyVector: de148e8310b8b878db304ceea2fec13f2c02e3a0 - FBReactNativeSpec: 6192956c9e346013d5f1809ba049af720b11c6a4 - Flipper: 30e8eeeed6abdc98edaf32af0cda2f198be4b733 - Flipper-Boost-iOSX: fd1e2b8cbef7e662a122412d7ac5f5bea715403c - Flipper-DoubleConversion: 57ffbe81ef95306cc9e69c4aa3aeeeeb58a6a28c - Flipper-Fmt: 60cbdd92fc254826e61d669a5d87ef7015396a9b - Flipper-Folly: 83af37379faa69497529e414bd43fbfc7cae259a - Flipper-Glog: 1dfd6abf1e922806c52ceb8701a3599a79a200a6 - Flipper-PeerTalk: 116d8f857dc6ef55c7a5a75ea3ceaafe878aadc9 - Flipper-RSocket: d9d9ade67cbecf6ac10730304bf5607266dd2541 - FlipperKit: d8d346844eca5d9120c17d441a2f38596e8ed2b9 + DoubleConversion: 831926d9b8bf8166fd87886c4abab286c2422662 + FBLazyVector: e5569e42a1c79ca00521846c223173a57aca1fe1 + FBReactNativeSpec: fe08c1cd7e2e205718d77ad14b34957cce949b58 fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9 - glog: 1f3da668190260b06b429bb211bfbee5cd790c28 - libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913 - OpenSSL-Universal: 1aa4f6a6ee7256b83db99ec1ccdaa80d10f9af9b + glog: dd5a4ef3e7a7b52bfd2f009b854f544e33bbf2d7 RCT-Folly: a21c126816d8025b547704b777a2ba552f3d9fa9 - RCTRequired: 59d2b744d8c2bf2d9bc7032a9f654809adcf7d50 - RCTTypeSafety: d0aaf7ccae5c70a4aaa3a5c3e9e0db97efae760e - React: fbe655dd1d12c052299b61abdc576720098d80fc - React-callinvoker: a535746608d9bc8b1dea7095ed4d8d3d7aae9a05 - React-Core: 008d2638c4f80b189c8e170ff2d241027ec517fd - React-CoreModules: 91c9a03f4e1b74494c087d9c9a29e89a3145c228 - React-cxxreact: 9c462fb6d59f865855e2dee2097c7d87b3d2de49 - React-jsi: 4de8b8d70ba4ed841eb9b772bdb719f176387e21 - React-jsiexecutor: 433a691aee158533a6a6ee9c86cb4a1684fa2853 - React-jsinspector: d9c8eb0b53f0da206fed56612b289fec84991157 - React-logger: e522e76fa3e9ec3e7d7115b49485cc065cf4ae06 + RCTRequired: 4bf86c70714490bca4bf2696148638284622644b + RCTTypeSafety: c475a7059eb77935fa53d2c17db299893f057d5d + React: f64af14e3f2c50f6f2c91a5fd250e4ff1b3c3459 + React-callinvoker: b74e4ae80287780dcdf0cab262bcb581eeef56e7 + React-Core: 3eb7432bad96ff1d25aebc1defbae013fee2fd0e + React-CoreModules: ad9e1fd5650e16666c57a08328df86fd7e480cb9 + React-cxxreact: 02633ff398cf7e91a2c1e12590d323c4a4b8668a + React-jsi: 805c41a927d6499fb811772acb971467d9204633 + React-jsiexecutor: 94ce921e1d8ce7023366873ec371f3441383b396 + React-jsinspector: d0374f7509d407d2264168b6d0fad0b54e300b85 + React-logger: 933f80c97c633ee8965d609876848148e3fef438 react-native-segmented-control: 06607462630512ff8eef652ec560e6235a30cc3e - React-perflogger: 73732888d37d4f5065198727b167846743232882 - React-RCTActionSheet: 96c6d774fa89b1f7c59fc460adc3245ba2d7fd79 - React-RCTAnimation: 8940cfd3a8640bd6f6372150dbdb83a79bcbae6c - React-RCTBlob: e80de5fdf952a4f226a00fc54f3db526809f92f7 - React-RCTImage: f990d6b272c7e89ff864caf0bccfb620ab3ca5d0 - React-RCTLinking: 2280ed0d5ffb78954b484b90228d597b5f941c5f - React-RCTNetwork: 1359fa853c216616e711b810dcb8682a6a8e7564 - React-RCTSettings: 84958860aaa3639f0249e751ea7702c62eb67188 - React-RCTText: 196cf06b8cb6229d8c6dd9fc9057bdf97db5d3fb - React-RCTVibration: 50cfe7049167cfc7e83ac5542c6fff0c76791a9b - React-runtimeexecutor: bbbdb3d8fcf327c6e2249ee71b6ef1764b7dc266 - ReactCommon: 9bac022ab71596f2b0fde1268272543184c63971 - RNDateTimePicker: 7658208086d86d09e1627b5c34ba0cf237c60140 - RNLocalize: 74b82db20cc3895ccc25af992c644879bcec2815 - Yoga: 32a18c0e845e185f4a2a66ec76e1fd1f958f22fa - YogaKit: f782866e155069a2cca2517aafea43200b01fd5a + React-perflogger: 93075d8931c32cd1fce8a98c15d2d5ccc4d891bd + React-RCTActionSheet: 7d3041e6761b4f3044a37079ddcb156575fb6d89 + React-RCTAnimation: 743e88b55ac62511ae5c2e22803d4f503f2a3a13 + React-RCTBlob: bee3a2f98fa7fc25c957c8643494244f74bea0a0 + React-RCTImage: 19fc9e29b06cc38611c553494f8d3040bf78c24e + React-RCTLinking: dc799503979c8c711126d66328e7ce8f25c2848f + React-RCTNetwork: 417e4e34cf3c19eaa5fd4e9eb20180d662a799ce + React-RCTSettings: 4df89417265af26501a7e0e9192a34d3d9848dff + React-RCTText: f8a21c3499ab322326290fa9b701ae29aa093aa5 + React-RCTVibration: e3ffca672dd3772536cb844274094b0e2c31b187 + React-runtimeexecutor: dec32ee6f2e2a26e13e58152271535fadff5455a + ReactCommon: 57b69f6383eafcbd7da625bfa6003810332313c4 + RNDateTimePicker: 1dd15d7ed1ab7d999056bc77879a42920d139c12 + RNLocalize: f10d91c76a5692d4cf6f218c70f6e4d7dcb42d1c + Yoga: e7dc4e71caba6472ff48ad7d234389b91dadc280 -PODFILE CHECKSUM: 961bde3a48f815c27369ea8ee66cd3ff7e823a37 +PODFILE CHECKSUM: 02b5db37b8f2397e56482bcdec7aa2e74cddcada COCOAPODS: 1.11.2 diff --git a/example/ios/example.xcodeproj/project.pbxproj b/example/ios/example.xcodeproj/project.pbxproj index 3553ffc9..959e9a6d 100644 --- a/example/ios/example.xcodeproj/project.pbxproj +++ b/example/ios/example.xcodeproj/project.pbxproj @@ -109,7 +109,6 @@ 13B07F8C1A680F5B00A75B9A /* Frameworks */, 13B07F8E1A680F5B00A75B9A /* Resources */, 00DD1BFF1BD5951E006B06BC /* Bundle React Native code and images */, - 8B4132021D079EB05875F102 /* [CP] Embed Pods Frameworks */, 894677C3BA1DE07DC7BC8820 /* [CP] Copy Pods Resources */, ); buildRules = ( @@ -216,26 +215,6 @@ shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-resources.sh\"\n"; showEnvVarsInLog = 0; }; - 8B4132021D079EB05875F102 /* [CP] Embed Pods Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks.sh", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/Flipper-DoubleConversion/double-conversion.framework/double-conversion", - "${PODS_XCFRAMEWORKS_BUILD_DIR}/OpenSSL-Universal/OpenSSL.framework/OpenSSL", - ); - name = "[CP] Embed Pods Frameworks"; - outputPaths = ( - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/double-conversion.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/OpenSSL.framework", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-example/Pods-example-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; FD10A7F022414F080027D42C /* Start Packager */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -291,7 +270,7 @@ ENABLE_BITCODE = NO; GCC_PREPROCESSOR_DEFINITIONS = ( "$(inherited)", - "FB_SONARKIT_ENABLED=1", + "FB_SONARKIT_ENABLED=0", ); INFOPLIST_FILE = example/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; @@ -362,7 +341,7 @@ COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 "; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -423,7 +402,7 @@ COPY_PHASE_STRIP = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; - "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = "arm64 "; + "EXCLUDED_ARCHS[sdk=iphonesimulator*]" = ""; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; diff --git a/example/ios/example/AppDelegate.m b/example/ios/example/AppDelegate.m index 9ca35234..c619579f 100644 --- a/example/ios/example/AppDelegate.m +++ b/example/ios/example/AppDelegate.m @@ -11,32 +11,32 @@ #import #import -#ifdef FB_SONARKIT_ENABLED -#import -#import -#import -#import -#import -#import - -static void InitializeFlipper(UIApplication *application) { - FlipperClient *client = [FlipperClient sharedClient]; - SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; - [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; - [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; - [client addPlugin:[FlipperKitReactPlugin new]]; - [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; - [client start]; -} -#endif +//#ifdef FB_SONARKIT_ENABLED +//#import +//#import +//#import +//#import +//#import +//#import +// +//static void InitializeFlipper(UIApplication *application) { +// FlipperClient *client = [FlipperClient sharedClient]; +// SKDescriptorMapper *layoutDescriptorMapper = [[SKDescriptorMapper alloc] initWithDefaults]; +// [client addPlugin:[[FlipperKitLayoutPlugin alloc] initWithRootNode:application withDescriptorMapper:layoutDescriptorMapper]]; +// [client addPlugin:[[FKUserDefaultsPlugin alloc] initWithSuiteName:nil]]; +// [client addPlugin:[FlipperKitReactPlugin new]]; +// [client addPlugin:[[FlipperKitNetworkPlugin alloc] initWithNetworkAdapter:[SKIOSNetworkAdapter new]]]; +// [client start]; +//} +//#endif @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { -#ifdef FB_SONARKIT_ENABLED - InitializeFlipper(application); -#endif +//#ifdef FB_SONARKIT_ENABLED +// InitializeFlipper(application); +//#endif RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions]; RCTRootView *rootView = [[RCTRootView alloc] initWithBridge:bridge diff --git a/package.json b/package.json index badda45a..ab5ccefa 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "start:windows": "react-native start --use-react-native-windows", "test": "jest ./test", "posttest": "npm run lint", + "postinstall": "patch-package", "lint": "eslint {example,src,test}/**/*.js src/index.d.ts", "flow": "flow check", "detox:ios:build:debug": "detox build -c ios.sim.debug", @@ -67,19 +68,21 @@ "@semantic-release/git": "^10.0.1", "@testing-library/react-native": "^8.0.0", "babel-jest": "^27.4.4", - "detox": "19.3.0", + "detox": "19.5.3", "eslint": "^7", "eslint-plugin-prettier": "^4.0.0", "flow-bin": "^0.158.0", "flow-typed": "^3.4.0", - "jest": "^27.4.4", - "jest-circus": "^27.4.4", + "jest": "^27.5.1", + "jest-circus": "^27.5.1", "metro-react-native-babel-preset": "^0.66.2", "moment": "^2.24.0", + "patch-package": "^6.4.7", + "postinstall-postinstall": "^2.1.0", "prettier": "^2.5.1", "react": "17.0.2", "react-native": "^0.66.4", - "react-native-localize": "^2.1.6", + "react-native-localize": "^2.2.0", "react-native-windows": "^0.66.3", "react-test-renderer": "17.0.2", "semantic-release": "^18.0.1" @@ -112,7 +115,7 @@ "build": "export RCT_NO_LAUNCH_PACKAGER=true && (cd example/android && ./gradlew assembleDebug assembleAndroidTest -DtestBuildType=debug)", "type": "android.emulator", "device": { - "avdName": "TestingAVD" + "avdName": "Pixel_4_Android_12_api_31" } }, "android.device.debug": { diff --git a/patches/react-native+0.66.4.patch b/patches/react-native+0.66.4.patch new file mode 100644 index 00000000..f7a8ad87 --- /dev/null +++ b/patches/react-native+0.66.4.patch @@ -0,0 +1,45 @@ +diff --git a/node_modules/react-native/scripts/ios-configure-glog.sh b/node_modules/react-native/scripts/ios-configure-glog.sh +index dd79583..905fb8f 100755 +--- a/node_modules/react-native/scripts/ios-configure-glog.sh ++++ b/node_modules/react-native/scripts/ios-configure-glog.sh +@@ -20,6 +20,27 @@ if [ -z "$CURRENT_ARCH" ] || [ "$CURRENT_ARCH" == "undefined_arch" ]; then + fi + fi + ++if [ "$CURRENT_ARCH" == "arm64" ]; then ++ cat <<\EOF >>fix_glog_0.3.5_apple_silicon.patch ++diff --git a/config.sub b/config.sub ++index 1761d8b..43fa2e8 100755 ++--- a/config.sub +++++ b/config.sub ++@@ -1096,6 +1096,9 @@ case $basic_machine in ++ basic_machine=z8k-unknown ++ os=-sim ++ ;; +++ arm64-*) +++ basic_machine=$(echo $basic_machine | sed 's/arm64/aarch64/') +++ ;; ++ none) ++ basic_machine=none-none ++ os=-none ++EOF ++ pwd ++ patch -p1 --ignore-whitespace --forward config.sub fix_glog_0.3.5_apple_silicon.patch ++fi ++ + export CC="$(xcrun -find -sdk $PLATFORM_NAME cc) -arch $CURRENT_ARCH -isysroot $(xcrun -sdk $PLATFORM_NAME --show-sdk-path)" + export CXX="$CC" + +diff --git a/node_modules/react-native/scripts/react_native_pods.rb b/node_modules/react-native/scripts/react_native_pods.rb +index e55b6f5..da6adbf 100644 +--- a/node_modules/react-native/scripts/react_native_pods.rb ++++ b/node_modules/react-native/scripts/react_native_pods.rb +@@ -76,7 +76,7 @@ def use_flipper!(versions = {}, configurations: ['Debug']) + versions['Flipper-DoubleConversion'] ||= '3.1.7' + versions['Flipper-Fmt'] ||= '7.1.7' + versions['Flipper-Folly'] ||= '2.6.7' +- versions['Flipper-Glog'] ||= '0.3.6' ++ versions['Flipper-Glog'] ||= '0.3.9' + versions['Flipper-PeerTalk'] ||= '0.0.4' + versions['Flipper-RSocket'] ||= '1.4.3' + pod 'FlipperKit', versions['Flipper'], :configurations => configurations diff --git a/src/DateTimePickerAndroid.js b/src/DateTimePickerAndroid.js new file mode 100644 index 00000000..a12da178 --- /dev/null +++ b/src/DateTimePickerAndroid.js @@ -0,0 +1,102 @@ +/** + * @format + * @flow strict-local + */ +import { + DATE_SET_ACTION, + TIME_SET_ACTION, + DISMISS_ACTION, + NEUTRAL_BUTTON_ACTION, + ANDROID_DISPLAY, + ANDROID_MODE, + ANDROID_EVT_TYPE, + EVENT_TYPE_SET, +} from './constants'; +import invariant from 'invariant'; + +import type {DateTimePickerEvent, AndroidNativeProps} from './types'; +import { + getOpenPicker, + timeZoneOffsetDateSetter, + validateAndroidProps, +} from './androidUtils'; +import pickers from './picker'; + +function open(props: AndroidNativeProps) { + const { + mode = ANDROID_MODE.date, + display = ANDROID_DISPLAY.default, + value: originalValue, + is24Hour, + minimumDate, + maximumDate, + neutralButtonLabel, + minuteInterval, + timeZoneOffsetInMinutes, + onChange, + onError, + } = props; + validateAndroidProps(props); + invariant(originalValue, 'A date or time must be specified as `value` prop.'); + + const valueTimestamp = originalValue.getTime(); + const openPicker = getOpenPicker({ + mode, + value: valueTimestamp, + display, + is24Hour, + minimumDate, + maximumDate, + neutralButtonLabel, + minuteInterval, + timeZoneOffsetInMinutes, + }); + + const presentPicker = async () => { + try { + const {action, day, month, year, minute, hour} = await openPicker(); + let date = new Date(valueTimestamp); + let event: DateTimePickerEvent = { + type: EVENT_TYPE_SET, + nativeEvent: {}, + }; + + switch (action) { + case DATE_SET_ACTION: + date.setFullYear(year, month, day); + date = timeZoneOffsetDateSetter(date, timeZoneOffsetInMinutes); + event.nativeEvent.timestamp = date.getTime(); + onChange?.(event, date); + break; + + case TIME_SET_ACTION: + date.setHours(hour, minute); + date = timeZoneOffsetDateSetter(date, timeZoneOffsetInMinutes); + event.nativeEvent.timestamp = date.getTime(); + onChange?.(event, date); + break; + + case NEUTRAL_BUTTON_ACTION: + event.type = ANDROID_EVT_TYPE.neutralButtonPressed; + onChange?.(event, originalValue); + break; + + case DISMISS_ACTION: + default: + event.type = ANDROID_EVT_TYPE.dismissed; + onChange?.(event, originalValue); + break; + } + } catch (error) { + onError && onError(error); + } + }; + presentPicker(); +} + +function dismiss(mode: AndroidNativeProps['mode']) { + // $FlowFixMe - `AbstractComponent` [1] is not an instance type. + pickers[mode].dismiss(); +} + +export const DateTimePickerAndroid = {open, dismiss}; diff --git a/src/androidUtils.js b/src/androidUtils.js new file mode 100644 index 00000000..8f63abc4 --- /dev/null +++ b/src/androidUtils.js @@ -0,0 +1,84 @@ +/** + * @format + * @flow strict-local + */ +import {ANDROID_DISPLAY, ANDROID_MODE, MIN_MS} from './constants'; +import pickers from './picker'; +import type {AndroidNativeProps, DateTimePickerResult} from './types'; +import {sharedPropsValidation} from './utils'; +import invariant from 'invariant'; +type PresentPickerCallback = () => Promise; + +type Timestamp = number; + +type Params = { + value: Timestamp, + mode: AndroidNativeProps['mode'], + display: AndroidNativeProps['display'], + is24Hour: AndroidNativeProps['is24Hour'], + minimumDate: AndroidNativeProps['minimumDate'], + maximumDate: AndroidNativeProps['maximumDate'], + neutralButtonLabel: AndroidNativeProps['neutralButtonLabel'], + minuteInterval: AndroidNativeProps['minuteInterval'], + timeZoneOffsetInMinutes: AndroidNativeProps['timeZoneOffsetInMinutes'], +}; +export function getOpenPicker({ + mode, + value, + display, + is24Hour, + minimumDate, + maximumDate, + neutralButtonLabel, + minuteInterval, + timeZoneOffsetInMinutes, +}: Params): PresentPickerCallback { + switch (mode) { + case ANDROID_MODE.time: + return () => + // $FlowFixMe - `AbstractComponent` [1] is not an instance type. + pickers[mode].open({ + value, + display, + minuteInterval, + is24Hour, + neutralButtonLabel, + timeZoneOffsetInMinutes, + }); + default: + return () => + // $FlowFixMe - `AbstractComponent` [1] is not an instance type. + pickers[ANDROID_MODE.date].open({ + value, + display, + minimumDate, + maximumDate, + neutralButtonLabel, + timeZoneOffsetInMinutes, + }); + } +} + +export function timeZoneOffsetDateSetter( + date: Date, + timeZoneOffsetInMinutes: ?number, +): Date { + if (typeof timeZoneOffsetInMinutes === 'number') { + // FIXME this causes a bug. repro: set tz offset to zero, and then keep opening and closing the calendar picker + // https://github.com/react-native-datetimepicker/datetimepicker/issues/528 + const offset = date.getTimezoneOffset() + timeZoneOffsetInMinutes; + const shiftedDate = new Date(date.getTime() - offset * MIN_MS); + return shiftedDate; + } + return date; +} + +export function validateAndroidProps(props: AndroidNativeProps) { + sharedPropsValidation({value: props?.value}); + const {mode, display} = props; + invariant( + !(display === ANDROID_DISPLAY.calendar && mode === ANDROID_MODE.time) && + !(display === ANDROID_DISPLAY.clock && mode === ANDROID_MODE.date), + `display: ${display} and mode: ${mode} cannot be used together.`, + ); +} diff --git a/src/constants.js b/src/constants.js index cad91fea..93334dd7 100644 --- a/src/constants.js +++ b/src/constants.js @@ -11,6 +11,13 @@ export const ANDROID_DISPLAY = Object.freeze({ calendar: 'calendar', }); +export const EVENT_TYPE_SET = 'set'; +export const ANDROID_EVT_TYPE = Object.freeze({ + set: EVENT_TYPE_SET, + neutralButtonPressed: 'neutralButtonPressed', + dismissed: 'dismissed', +}); + export const IOS_DISPLAY = Object.freeze({ default: 'default', spinner: 'spinner', diff --git a/src/datetimepicker.android.js b/src/datetimepicker.android.js index 4477cbc2..375e6882 100644 --- a/src/datetimepicker.android.js +++ b/src/datetimepicker.android.js @@ -2,77 +2,16 @@ * @format * @flow strict-local */ -import { - DATE_SET_ACTION, - TIME_SET_ACTION, - DISMISS_ACTION, - NEUTRAL_BUTTON_ACTION, - ANDROID_DISPLAY, - ANDROID_MODE, - MIN_MS, -} from './constants'; -import pickers from './picker'; -import invariant from 'invariant'; +import {ANDROID_DISPLAY, ANDROID_MODE} from './constants'; import {useEffect} from 'react'; -import type {AndroidEvent, AndroidNativeProps} from './types'; - -function validateProps(props: AndroidNativeProps) { - const {mode, value, display} = props; - invariant(value, 'A date or time should be specified as `value`.'); - invariant( - !(display === ANDROID_DISPLAY.calendar && mode === ANDROID_MODE.time) && - !(display === ANDROID_DISPLAY.clock && mode === ANDROID_MODE.date), - `display: ${display} and mode: ${mode} cannot be used together.`, - ); -} - -function getPicker({ - mode, - value, - display, - is24Hour, - minimumDate, - maximumDate, - neutralButtonLabel, - minuteInterval, - timeZoneOffsetInMinutes, -}) { - switch (mode) { - case ANDROID_MODE.time: - return pickers[mode].open({ - value, - display, - minuteInterval, - is24Hour, - neutralButtonLabel, - timeZoneOffsetInMinutes, - }); - default: - return pickers[ANDROID_MODE.date].open({ - value, - display, - minimumDate, - maximumDate, - neutralButtonLabel, - timeZoneOffsetInMinutes, - }); - } -} - -function timeZoneOffsetDateSetter(date, timeZoneOffsetInMinutes) { - if (typeof timeZoneOffsetInMinutes === 'number') { - // FIXME this causes a bug. repro: set tz offset to zero, and then keep opening and closing the calendar picker - // https://github.com/react-native-datetimepicker/datetimepicker/issues/528 - const offset = date.getTimezoneOffset() + timeZoneOffsetInMinutes; - const shiftedDate = new Date(date.getTime() - offset * MIN_MS); - return shiftedDate; - } - return date; -} +import type {AndroidNativeProps} from './types'; +import {validateAndroidProps} from './androidUtils'; +import invariant from 'invariant'; +import {DateTimePickerAndroid} from './DateTimePickerAndroid'; -export default function RNDateTimePicker(props: AndroidNativeProps) { - validateProps(props); +export default function RNDateTimePicker(props: AndroidNativeProps): null { + validateAndroidProps(props); const { mode = ANDROID_MODE.date, display = ANDROID_DISPLAY.default, @@ -84,20 +23,22 @@ export default function RNDateTimePicker(props: AndroidNativeProps) { neutralButtonLabel, minuteInterval, timeZoneOffsetInMinutes, + onError, } = props; + invariant(value, 'A date or time must be specified as `value` prop.'); const valueTimestamp = value.getTime(); useEffect(() => { // This effect runs on unmount / with mode change, and will ensure the picker is closed. // This allows for controlling the opening state of the picker through declarative logic in jsx. - return () => (pickers[mode] ?? pickers[ANDROID_MODE.date]).dismiss(); + return () => DateTimePickerAndroid.dismiss(mode); }, [mode]); useEffect( function showOrUpdatePicker() { - const picker = getPicker({ + const params = { mode, - value: valueTimestamp, + value: new Date(valueTimestamp), display, is24Hour, minimumDate, @@ -105,51 +46,14 @@ export default function RNDateTimePicker(props: AndroidNativeProps) { neutralButtonLabel, minuteInterval, timeZoneOffsetInMinutes, - }); - - picker.then( - function resolve({action, day, month, year, minute, hour}) { - let date = new Date(valueTimestamp); - const event: AndroidEvent = { - type: 'set', - nativeEvent: {}, - }; - - switch (action) { - case DATE_SET_ACTION: - date.setFullYear(year, month, day); - date = timeZoneOffsetDateSetter(date, timeZoneOffsetInMinutes); - event.nativeEvent.timestamp = date; - onChange(event, date); - break; - - case TIME_SET_ACTION: - date.setHours(hour, minute); - date = timeZoneOffsetDateSetter(date, timeZoneOffsetInMinutes); - event.nativeEvent.timestamp = date; - onChange(event, date); - break; - - case NEUTRAL_BUTTON_ACTION: - event.type = 'neutralButtonPressed'; - onChange(event); - break; - - case DISMISS_ACTION: - default: - event.type = 'dismissed'; - onChange(event); - break; - } - }, - function reject(error) { - // ignore or throw `activity == null` error - throw error; - }, - ); + onError, + onChange, + }; + DateTimePickerAndroid.open(params); }, // the android dialog, when presented, will actually ignore updates to all props other than `value` - // we need to change the behavior as described in https://github.com/react-native-datetimepicker/datetimepicker/pull/327#issuecomment-723160992 + // as an alternative, use the DateTimePickerAndroid whose reason for existence is described in + // https://github.com/react-native-datetimepicker/datetimepicker/pull/327#issuecomment-723160992 // eslint-disable-next-line react-hooks/exhaustive-deps [onChange, valueTimestamp, mode], ); diff --git a/src/datetimepicker.ios.js b/src/datetimepicker.ios.js index 6821ac12..41d7ddfe 100644 --- a/src/datetimepicker.ios.js +++ b/src/datetimepicker.ios.js @@ -10,20 +10,21 @@ * @flow strict-local */ import RNDateTimePicker from './picker'; -import {toMilliseconds} from './utils'; -import {IOS_DISPLAY, ANDROID_MODE} from './constants'; +import {sharedPropsValidation, toMilliseconds} from './utils'; +import {IOS_DISPLAY, ANDROID_MODE, EVENT_TYPE_SET} from './constants'; import invariant from 'invariant'; import * as React from 'react'; import {getPickerHeightStyle} from './layoutUtilsIOS'; import {Platform, StyleSheet} from 'react-native'; import type { - Event, + NativeEventIOS, NativeRef, IOSNativeProps, DatePickerOptions, IOSDisplay, } from './types'; +import type {DateTimePickerEvent} from './types'; const getDisplaySafe = (display: IOSDisplay): IOSDisplay => { const majorVersionIOS = parseInt(Platform.Version, 10); @@ -57,6 +58,8 @@ export default function Picker({ display: providedDisplay = IOS_DISPLAY.default, disabled = false, }: IOSNativeProps): React.Node { + sharedPropsValidation({value}); + const [heightStyle, setHeightStyle] = React.useState(undefined); const _picker: NativeRef = React.useRef(null); const display = getDisplaySafe(providedDisplay); @@ -88,15 +91,14 @@ export default function Picker({ [display, mode], ); - const _onChange = (event: Event) => { + const _onChange = (event: NativeEventIOS) => { const timestamp = event.nativeEvent.timestamp; - let date; + // $FlowFixMe Cannot assign object literal to `unifiedEvent` because number [1] is incompatible with undefined [2] in property `nativeEvent.timestamp`. + const unifiedEvent: DateTimePickerEvent = {...event, type: EVENT_TYPE_SET}; - if (timestamp) { - date = new Date(timestamp); - } + const date = timestamp !== undefined ? new Date(timestamp) : undefined; - onChange && onChange(event, date); + onChange && onChange(unifiedEvent, date); }; invariant(value, 'A date or time should be specified as `value`.'); diff --git a/src/datetimepicker.windows.js b/src/datetimepicker.windows.js index c4f48309..c0115d29 100644 --- a/src/datetimepicker.windows.js +++ b/src/datetimepicker.windows.js @@ -7,9 +7,14 @@ 'use strict'; import {requireNativeComponent, StyleSheet} from 'react-native'; -import type {WindowsNativeProps, WindowsDatePickerChangeEvent} from './types'; +import type { + WindowsNativeProps, + WindowsDatePickerChangeEvent, + DateTimePickerEvent, +} from './types'; import * as React from 'react'; -import {WINDOWS_MODE} from './constants'; +import {EVENT_TYPE_SET, WINDOWS_MODE} from './constants'; +import {sharedPropsValidation} from './utils'; const styles = StyleSheet.create({ rnDatePicker: { @@ -26,6 +31,8 @@ const RNTimePickerWindows = requireNativeComponent('RNTimePickerWindows'); export default function RNDateTimePickerQWE( props: WindowsNativeProps, ): React.Node { + sharedPropsValidation({value: props?.value}); + const localProps = { dayOfWeekFormat: props.dayOfWeekFormat, dateFormat: props.dateFormat, @@ -40,16 +47,24 @@ export default function RNDateTimePickerQWE( const _onChange = (event: WindowsDatePickerChangeEvent) => { const {onChange} = props; - onChange && onChange(event, new Date(event.nativeEvent.newDate)); + const unifiedEvent: DateTimePickerEvent = { + ...event, + nativeEvent: {...event.nativeEvent, timestamp: event.nativeEvent.newDate}, + type: EVENT_TYPE_SET, + }; + + onChange && onChange(unifiedEvent, new Date(event.nativeEvent.newDate)); }; - // The Date object returns timezone in minutes. Convert that to seconds - // and multiply by -1 so that the offset can be added to UTC+0 time to get - // the correct value on the native side. - let timezoneOffsetInSeconds = props.timeZoneOffsetInSeconds; - if (timezoneOffsetInSeconds == null && props.value != null) { - timezoneOffsetInSeconds = -60 * props.value.getTimezoneOffset(); - } + const timezoneOffsetInSeconds = (() => { + // The Date object returns timezone in minutes. Convert that to seconds + // and multiply by -1 so that the offset can be added to UTC+0 time to get + // the correct value on the native side. + if (timezoneOffsetInSeconds == null && props.value != null) { + return -60 * props.value.getTimezoneOffset(); + } + return props.timeZoneOffsetInSeconds; + })(); const {mode} = props; // 'date' is the default mode diff --git a/src/index.d.ts b/src/index.d.ts index c3e95ad7..4ea155da 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -14,8 +14,10 @@ export type Event = SyntheticEvent< }> >; -export type AndroidEvent = { - type: string; +export type EvtTypes = 'set' | 'neutralButtonPressed' | 'dismissed'; + +export type DateTimePickerEvent = { + type: EvtTypes; nativeEvent: { timestamp?: number; }; @@ -33,7 +35,7 @@ type BaseOptions = { * This is called when the user changes the date or time in the UI. * The first argument is an Event, the second a selected Date. */ - onChange?: (event: Event, date?: Date) => void; + onChange?: (event: DateTimePickerEvent, date?: Date) => void; }; type DateOptions = BaseOptions & { @@ -132,8 +134,12 @@ export type AndroidNativeProps = Readonly< */ minuteInterval?: MinuteInterval; - onChange?: (event: AndroidEvent, date?: Date) => void; neutralButtonLabel?: string; + + /** + * callback when an error occurs inside the date picker native code (such as null activity) + */ + onError?: (arg: Error) => void; } >; @@ -145,26 +151,11 @@ export type TimePickerOptions = TimeOptions & { display?: Display; }; -export type DateTimePickerResult = Readonly<{ - action: ('timeSetAction' | 'dateSetAction' | 'dismissedAction') | null; - year: number; - month: number; - day: number; - hour: number; - minute: number; -}>; - export type RCTDateTimePickerNative = NativeMethods; export type NativeRef = { current: Ref | null; }; -export type WindowsDatePickerChangeEvent = { - nativeEvent: { - newDate: number; - }; -}; - export type WindowsNativeProps = Readonly< BaseProps & DateOptions & @@ -174,7 +165,6 @@ export type WindowsNativeProps = Readonly< */ display?: Display; - onChange?: (event: WindowsDatePickerChangeEvent, date?: Date) => void; placeholderText?: string; dateFormat?: | 'day month year' @@ -192,8 +182,14 @@ export type WindowsNativeProps = Readonly< } >; +declare namespace DateTimePickerAndroidType { + const open: (args: AndroidNativeProps) => void; + const dismiss: (mode: AndroidNativeProps['mode']) => void; +} + declare const RNDateTimePicker: FC< IOSNativeProps | AndroidNativeProps | WindowsNativeProps >; export default RNDateTimePicker; +export const DateTimePickerAndroid: typeof DateTimePickerAndroidType; diff --git a/src/index.js b/src/index.js index fbab875e..dc56d7ba 100644 --- a/src/index.js +++ b/src/index.js @@ -1,3 +1,4 @@ import RNDateTimePicker from './datetimepicker'; +export {DateTimePickerAndroid} from './DateTimePickerAndroid'; export default RNDateTimePicker; diff --git a/src/types.js b/src/types.js index e95b511d..9197922b 100644 --- a/src/types.js +++ b/src/types.js @@ -15,6 +15,7 @@ import { IOS_DISPLAY, IOS_MODE, WINDOWS_MODE, + ANDROID_EVT_TYPE, } from './constants'; export type IOSDisplay = $Keys; @@ -22,20 +23,21 @@ export type IOSMode = $Keys; type AndroidMode = $Keys; type WindowsMode = $Keys; type Display = $Keys; +type AndroidEvtTypes = $Keys; type MinuteInterval = ?(1 | 2 | 3 | 4 | 5 | 6 | 10 | 12 | 15 | 20 | 30); -export type Event = SyntheticEvent< - $ReadOnly<{| - timestamp: number, - |}>, ->; +export type NativeEventIOS = SyntheticEvent<{| + timestamp: number, +|}>; -export type AndroidEvent = {| - type: string, - nativeEvent: {| +export type DateTimePickerEvent = { + type: AndroidEvtTypes, + nativeEvent: { timestamp?: number, - |}, -|}; + ... + }, + ... +}; type BaseOptions = {| /** @@ -49,7 +51,7 @@ type BaseOptions = {| * This is called when the user changes the date or time in the UI. * The first argument is an Event, the second a selected Date. */ - onChange?: ?(event: Event, date?: Date) => void, + onChange?: ?(event: DateTimePickerEvent, date?: Date) => void, |}; type DateOptions = {| @@ -161,8 +163,8 @@ export type AndroidNativeProps = $ReadOnly<{| */ minuteInterval?: MinuteInterval, - onChange: (event: AndroidEvent, date?: Date) => void, neutralButtonLabel?: string, + onError?: (Error) => void, |}>; export type DatePickerOptions = {| @@ -199,7 +201,6 @@ export type WindowsDatePickerChangeEvent = {| export type WindowsNativeProps = $ReadOnly<{| ...BaseProps, mode: WindowsMode, - onChange?: (event: WindowsDatePickerChangeEvent, date: Date) => void, placeholderText?: string, dateFormat?: diff --git a/src/utils.js b/src/utils.js index 9fccb410..cc7e87b3 100644 --- a/src/utils.js +++ b/src/utils.js @@ -3,6 +3,7 @@ * @flow strict-local */ import type {DatePickerOptions, TimePickerOptions} from './types'; +import invariant from 'invariant'; /** * Convert a Date to a timestamp. @@ -21,3 +22,11 @@ export function toMilliseconds( } }); } + +export function sharedPropsValidation({value}: {value: ?Date}) { + invariant(value, 'A date or time must be specified as `value` prop'); + invariant( + value instanceof Date, + '`value` prop must be an instance of Date object', + ); +} diff --git a/test/index.test.js b/test/index.test.js index e5729c27..7519efa9 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -3,6 +3,7 @@ import DatePicker from '../src/index.js'; import RNDateTimePickerIOS from '../src/picker.ios'; import AndroidDateTimePicker from '../src/datetimepicker.android'; import {render, fireEvent, waitFor} from '@testing-library/react-native'; +import {EVENT_TYPE_SET} from '../src/constants'; const DATE = 1376949600000; @@ -33,7 +34,7 @@ describe('DatePicker', () => { const date = new Date(156e10); function onChange(event, dateArg) { - expect(event).toHaveProperty('type', 'event'); + expect(event).toHaveProperty('type', EVENT_TYPE_SET); expect(event).toHaveProperty('nativeEvent'); expect(event.nativeEvent).toHaveProperty('timestamp', date.getTime()); expect(dateArg).toEqual(date); @@ -41,7 +42,6 @@ describe('DatePicker', () => { const {UNSAFE_getByType} = await renderPicker({onChange}); fireEvent(UNSAFE_getByType(RNDateTimePickerIOS), 'onChange', { - type: 'event', nativeEvent: { timestamp: date.getTime(), }, @@ -59,7 +59,8 @@ describe('DatePicker', () => { ); it.each([ - [{}, 'A date or time should be specified as `value`.'], + [{value: 'bogus'}, '`value` prop must be an instance of Date object'], + [{}, 'A date or time must be specified as `value` prop'], [ {display: 'calendar', mode: 'time', value: new Date()}, 'display: calendar and mode: time cannot be used together.', diff --git a/yarn.lock b/yarn.lock index a542081a..4d3ff169 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,13 @@ # yarn lockfile v1 +"@ampproject/remapping@^2.1.0": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.1.2.tgz#4edca94973ded9630d20101cd8559cedb8d8bd34" + integrity sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg== + dependencies: + "@jridgewell/trace-mapping" "^0.3.0" + "@babel/code-frame@7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" @@ -23,6 +30,13 @@ dependencies: "@babel/highlight" "^7.16.0" +"@babel/code-frame@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== + dependencies: + "@babel/highlight" "^7.16.7" + "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.13.15", "@babel/compat-data@^7.14.0": version "7.14.0" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919" @@ -33,6 +47,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz#ea269d7f78deb3a7826c39a4048eecda541ebdaa" integrity sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew== +"@babel/compat-data@^7.16.4": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.17.0.tgz#86850b8597ea6962089770952075dcaabb8dba34" + integrity sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng== + "@babel/core@^7.1.0", "@babel/core@^7.7.5": version "7.14.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.3.tgz#5395e30405f0776067fbd9cf0884f15bfb770a38" @@ -75,6 +94,27 @@ semver "^6.3.0" source-map "^0.5.0" +"@babel/core@^7.12.3", "@babel/core@^7.8.0": + version "7.17.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.5.tgz#6cd2e836058c28f06a4ca8ee7ed955bbf37c8225" + integrity sha512-/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA== + dependencies: + "@ampproject/remapping" "^2.1.0" + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@babel/helper-compilation-targets" "^7.16.7" + "@babel/helper-module-transforms" "^7.16.7" + "@babel/helpers" "^7.17.2" + "@babel/parser" "^7.17.3" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + "@babel/generator@^7.14.0", "@babel/generator@^7.16.0", "@babel/generator@^7.7.2": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" @@ -93,6 +133,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.3.tgz#a2c30b0c4f89858cb87050c3ffdfd36bdf443200" + integrity sha512-+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg== + dependencies: + "@babel/types" "^7.17.0" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" @@ -135,6 +184,16 @@ browserslist "^4.17.5" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz#06e66c5f299601e6c7da350049315e83209d551b" + integrity sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA== + dependencies: + "@babel/compat-data" "^7.16.4" + "@babel/helper-validator-option" "^7.16.7" + browserslist "^4.17.5" + semver "^6.3.0" + "@babel/helper-create-class-features-plugin@^7.13.0", "@babel/helper-create-class-features-plugin@^7.14.3": version "7.14.3" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.3.tgz#832111bcf4f57ca57a4c5b1a000fc125abc6554a" @@ -181,6 +240,13 @@ resolve "^1.14.2" semver "^6.1.2" +"@babel/helper-environment-visitor@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-explode-assignable-expression@^7.12.13": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f" @@ -206,6 +272,15 @@ "@babel/template" "^7.16.0" "@babel/types" "^7.16.0" +"@babel/helper-function-name@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== + dependencies: + "@babel/helper-get-function-arity" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/types" "^7.16.7" + "@babel/helper-get-function-arity@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz#bc63451d403a3b3082b97e1d8b3fe5bd4091e583" @@ -220,6 +295,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-get-function-arity@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-hoist-variables@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" @@ -227,6 +309,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-hoist-variables@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-member-expression-to-functions@^7.13.12": version "7.13.12" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz#dfe368f26d426a07299d8d6513821768216e6d72" @@ -255,6 +344,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-module-imports@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz#25612a8091a999704461c8a222d0efec5d091437" + integrity sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-module-transforms@^7.14.0", "@babel/helper-module-transforms@^7.14.2": version "7.14.2" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz#ac1cc30ee47b945e3e0c4db12fa0c5389509dfe5" @@ -283,6 +379,20 @@ "@babel/traverse" "^7.16.0" "@babel/types" "^7.16.0" +"@babel/helper-module-transforms@^7.16.7": + version "7.17.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.17.6.tgz#3c3b03cc6617e33d68ef5a27a67419ac5199ccd0" + integrity sha512-2ULmRdqoOMpdvkbT8jONrZML/XALfzxlb052bldftkicAUy8AxSCkD5trDPQcwHNmolcl7wP6ehNqMlyUw6AaA== + dependencies: + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-module-imports" "^7.16.7" + "@babel/helper-simple-access" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/helper-validator-identifier" "^7.16.7" + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.3" + "@babel/types" "^7.17.0" + "@babel/helper-optimise-call-expression@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz#5c02d171b4c8615b1e7163f888c1c81c30a2aaea" @@ -350,6 +460,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-simple-access@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz#d656654b9ea08dbb9659b69d61063ccd343ff0f7" + integrity sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-skip-transparent-expression-wrappers@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz#462dc63a7e435ade8468385c63d2b84cce4b3cbf" @@ -378,6 +495,13 @@ dependencies: "@babel/types" "^7.16.0" +"@babel/helper-split-export-declaration@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== + dependencies: + "@babel/types" "^7.16.7" + "@babel/helper-validator-identifier@^7.14.0": version "7.14.0" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz#d26cad8a47c65286b15df1547319a5d0bcf27288" @@ -388,6 +512,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== +"@babel/helper-validator-identifier@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== + "@babel/helper-validator-option@^7.12.17": version "7.12.17" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" @@ -398,6 +527,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== +"@babel/helper-validator-option@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz#b203ce62ce5fe153899b617c08957de860de4d23" + integrity sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ== + "@babel/helper-wrap-function@^7.13.0": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4" @@ -426,6 +560,15 @@ "@babel/traverse" "^7.16.3" "@babel/types" "^7.16.0" +"@babel/helpers@^7.17.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.17.2.tgz#23f0a0746c8e287773ccd27c14be428891f63417" + integrity sha512-0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ== + dependencies: + "@babel/template" "^7.16.7" + "@babel/traverse" "^7.17.0" + "@babel/types" "^7.17.0" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": version "7.14.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.0.tgz#3197e375711ef6bf834e67d0daec88e4f46113cf" @@ -444,16 +587,30 @@ chalk "^2.0.0" js-tokens "^4.0.0" +"@babel/highlight@^7.16.7": + version "7.16.10" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + chalk "^2.0.0" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.2", "@babel/parser@^7.14.3", "@babel/parser@^7.7.0": version "7.14.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.3.tgz#9b530eecb071fd0c93519df25c5ff9f14759f298" integrity sha512-7MpZDIfI7sUC5zWo2+foJ50CSI5lcqDehZ0lVgIhSi4bFEk94fLAKlF3Q0nzSQQ+ca0lm+O6G9ztKVBeu8PMRQ== -"@babel/parser@^7.1.6", "@babel/parser@^7.14.0", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.7.2": +"@babel/parser@^7.1.6", "@babel/parser@^7.14.0", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.3.tgz#271bafcb811080905a119222edbc17909c82261d" integrity sha512-dcNwU1O4sx57ClvLBVFbEgx0UZWfd0JQX5X6fxFRCLHelFBGXFfSz6Y0FAq2PEwUqlqLkdVjVr4VASEOuUnLJw== +"@babel/parser@^7.14.7", "@babel/parser@^7.16.7", "@babel/parser@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" + integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== + "@babel/plugin-proposal-class-properties@^7.0.0": version "7.13.0" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37" @@ -990,7 +1147,16 @@ "@babel/parser" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.4": +"@babel/template@^7.16.7": + version "7.16.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/parser" "^7.16.7" + "@babel/types" "^7.16.7" + +"@babel/traverse@^7.13.0", "@babel/traverse@^7.14.0", "@babel/traverse@^7.14.2", "@babel/traverse@^7.7.0", "@babel/traverse@^7.7.4": version "7.14.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.2.tgz#9201a8d912723a831c2679c7ebbf2fe1416d765b" integrity sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA== @@ -1019,6 +1185,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.17.0", "@babel/traverse@^7.17.3": + version "7.17.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.3.tgz#0ae0f15b27d9a92ba1f2263358ea7c4e7db47b57" + integrity sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw== + dependencies: + "@babel/code-frame" "^7.16.7" + "@babel/generator" "^7.17.3" + "@babel/helper-environment-visitor" "^7.16.7" + "@babel/helper-function-name" "^7.16.7" + "@babel/helper-hoist-variables" "^7.16.7" + "@babel/helper-split-export-declaration" "^7.16.7" + "@babel/parser" "^7.17.3" + "@babel/types" "^7.17.0" + debug "^4.1.0" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.13", "@babel/types@^7.13.0", "@babel/types@^7.13.12", "@babel/types@^7.14.0", "@babel/types@^7.14.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.7.0": version "7.14.2" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.2.tgz#4208ae003107ef8a057ea8333e56eb64d2f6a2c3" @@ -1035,6 +1217,14 @@ "@babel/helper-validator-identifier" "^7.15.7" to-fast-properties "^2.0.0" +"@babel/types@^7.16.7", "@babel/types@^7.17.0": + version "7.17.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b" + integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw== + dependencies: + "@babel/helper-validator-identifier" "^7.16.7" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -1105,47 +1295,47 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^27.4.2": - version "27.4.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.4.2.tgz#7a95612d38c007ddb528ee446fe5e5e785e685ce" - integrity sha512-xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg== +"@jest/console@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" + integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.1" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^27.4.2" - jest-util "^27.4.2" + jest-message-util "^27.5.1" + jest-util "^27.5.1" slash "^3.0.0" -"@jest/core@^27.4.4": - version "27.4.4" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.4.4.tgz#f2ba293235ca23fb48b4b923ccfe67c17e791a92" - integrity sha512-xBNPVqYAdAiAMXnb4ugx9Cdmr0S52lBsLbQMR/sGBRO0810VSPKiuSDtuup6qdkK1e9vxbv3KK3IAP1QFAp8mw== +"@jest/core@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" + integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== dependencies: - "@jest/console" "^27.4.2" - "@jest/reporters" "^27.4.4" - "@jest/test-result" "^27.4.2" - "@jest/transform" "^27.4.4" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.1" + "@jest/reporters" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" emittery "^0.8.1" exit "^0.1.2" - graceful-fs "^4.2.4" - jest-changed-files "^27.4.2" - jest-config "^27.4.4" - jest-haste-map "^27.4.4" - jest-message-util "^27.4.2" - jest-regex-util "^27.4.0" - jest-resolve "^27.4.4" - jest-resolve-dependencies "^27.4.4" - jest-runner "^27.4.4" - jest-runtime "^27.4.4" - jest-snapshot "^27.4.4" - jest-util "^27.4.2" - jest-validate "^27.4.2" - jest-watcher "^27.4.2" + graceful-fs "^4.2.9" + jest-changed-files "^27.5.1" + jest-config "^27.5.1" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-resolve-dependencies "^27.5.1" + jest-runner "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" + jest-watcher "^27.5.1" micromatch "^4.0.4" rimraf "^3.0.0" slash "^3.0.0" @@ -1158,96 +1348,96 @@ dependencies: "@jest/types" "^27.2.5" -"@jest/environment@^27.4.4": - version "27.4.4" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.4.4.tgz#66ebebc79673d84aad29d2bb70a8c51e6c29bb4d" - integrity sha512-q+niMx7cJgt/t/b6dzLOh4W8Ef/8VyKG7hxASK39jakijJzbFBGpptx3RXz13FFV7OishQ9lTbv+dQ5K3EhfDQ== +"@jest/environment@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" + integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== dependencies: - "@jest/fake-timers" "^27.4.2" - "@jest/types" "^27.4.2" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" - jest-mock "^27.4.2" + jest-mock "^27.5.1" -"@jest/fake-timers@^27.4.2": - version "27.4.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.4.2.tgz#d217f86c3ba2027bf29e0b731fd0cb761a72d093" - integrity sha512-f/Xpzn5YQk5adtqBgvw1V6bF8Nx3hY0OIRRpCvWcfPl0EAjdqWPdhH3t/3XpiWZqtjIEHDyMKP9ajpva1l4Zmg== +"@jest/fake-timers@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" + integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.1" "@sinonjs/fake-timers" "^8.0.1" "@types/node" "*" - jest-message-util "^27.4.2" - jest-mock "^27.4.2" - jest-util "^27.4.2" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-util "^27.5.1" -"@jest/globals@^27.4.4": - version "27.4.4" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.4.4.tgz#fe501a80c23ea2dab585c42be2a519bb5e38530d" - integrity sha512-bqpqQhW30BOreXM8bA8t8JbOQzsq/WnPTnBl+It3UxAD9J8yxEAaBEylHx1dtBapAr/UBk8GidXbzmqnee8tYQ== +"@jest/globals@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" + integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== dependencies: - "@jest/environment" "^27.4.4" - "@jest/types" "^27.4.2" - expect "^27.4.2" + "@jest/environment" "^27.5.1" + "@jest/types" "^27.5.1" + expect "^27.5.1" -"@jest/reporters@^27.4.4": - version "27.4.4" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.4.4.tgz#9e809829f602cd6e68bd058d1ea528f4b7482365" - integrity sha512-ssyJSw9B9Awb1QaxDhIPSs4de1b7SE2kv7tqFehQL13xpn5HUkMYZK/ufTOXiCAnXFOZS+XDl1GaQ/LmJAzI1A== +"@jest/reporters@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" + integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.4.2" - "@jest/test-result" "^27.4.2" - "@jest/transform" "^27.4.4" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" glob "^7.1.2" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^4.0.3" + istanbul-lib-instrument "^5.1.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - jest-haste-map "^27.4.4" - jest-resolve "^27.4.4" - jest-util "^27.4.2" - jest-worker "^27.4.4" + istanbul-reports "^3.1.3" + jest-haste-map "^27.5.1" + jest-resolve "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" v8-to-istanbul "^8.1.0" -"@jest/source-map@^27.4.0": - version "27.4.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.4.0.tgz#2f0385d0d884fb3e2554e8f71f8fa957af9a74b6" - integrity sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ== +"@jest/source-map@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" + integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== dependencies: callsites "^3.0.0" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" source-map "^0.6.0" -"@jest/test-result@^27.4.2": - version "27.4.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.4.2.tgz#05fd4a5466ec502f3eae0b39dff2b93ea4d5d9ec" - integrity sha512-kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA== +"@jest/test-result@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" + integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== dependencies: - "@jest/console" "^27.4.2" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.1" + "@jest/types" "^27.5.1" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^27.4.4": - version "27.4.4" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.4.4.tgz#60be14369b2702e42d6042e71b8ab3fc69f5ce68" - integrity sha512-mCh+d4JTGTtX7vr13d7q2GHJy33nAobEwtEJ8X3u7R8+0ImVO2eAsQzsLfX8lyvdYHBxYABhqbYuaUNo42/pQw== +"@jest/test-sequencer@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" + integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== dependencies: - "@jest/test-result" "^27.4.2" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.4" - jest-runtime "^27.4.4" + "@jest/test-result" "^27.5.1" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-runtime "^27.5.1" "@jest/transform@^27.4.4": version "27.4.4" @@ -1270,6 +1460,27 @@ source-map "^0.6.1" write-file-atomic "^3.0.0" +"@jest/transform@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" + integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^27.5.1" + babel-plugin-istanbul "^6.1.1" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-regex-util "^27.5.1" + jest-util "^27.5.1" + micromatch "^4.0.4" + pirates "^4.0.4" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + "@jest/types@^26.6.2": version "26.6.2" resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" @@ -1303,6 +1514,35 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@jest/types@^27.5.1": + version "27.5.1" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" + integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + +"@jridgewell/resolve-uri@^3.0.3": + version "3.0.5" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz#68eb521368db76d040a6315cdb24bf2483037b9c" + integrity sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew== + +"@jridgewell/sourcemap-codec@^1.4.10": + version "1.4.11" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz#771a1d8d744eeb71b6adb35808e1a6c7b9b8c8ec" + integrity sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg== + +"@jridgewell/trace-mapping@^0.3.0": + version "0.3.4" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz#f6a0832dffd5b8a6aaa633b7d9f8e8e94c83a0c3" + integrity sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@nodelib/fs.scandir@2.1.4": version "2.1.4" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69" @@ -2231,6 +2471,11 @@ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d" integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A== +"@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== + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -2702,6 +2947,20 @@ babel-jest@^27.4.4: graceful-fs "^4.2.4" slash "^3.0.0" +babel-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" + integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== + dependencies: + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.1.1" + babel-preset-jest "^27.5.1" + chalk "^4.0.0" + graceful-fs "^4.2.9" + slash "^3.0.0" + babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" @@ -2720,6 +2979,17 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" +babel-plugin-istanbul@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^5.0.4" + test-exclude "^6.0.0" + babel-plugin-jest-hoist@^27.4.0: version "27.4.0" resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz#d7831fc0f93573788d80dee7e682482da4c730d6" @@ -2730,6 +3000,16 @@ babel-plugin-jest-hoist@^27.4.0: "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" +babel-plugin-jest-hoist@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" + integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + babel-plugin-polyfill-corejs2@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" @@ -2818,6 +3098,14 @@ babel-preset-jest@^27.4.0: babel-plugin-jest-hoist "^27.4.0" babel-preset-current-node-syntax "^1.0.0" +babel-preset-jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" + integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== + dependencies: + babel-plugin-jest-hoist "^27.5.1" + babel-preset-current-node-syntax "^1.0.0" + balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -3002,12 +3290,12 @@ builtins@^1.0.3: resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= -bunyan-debug-stream@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/bunyan-debug-stream/-/bunyan-debug-stream-1.1.1.tgz#4740a00b7d5c2d9d1b714925ab0802516040813e" - integrity sha512-jJbQ1gXUL6vMmZVdbaTFK1v1sGa7axLrSQQwkB6HU9HCPTzsw2HsKcPHm1vgXZlEck/4IvEuRwg/9+083YelCg== +bunyan-debug-stream@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/bunyan-debug-stream/-/bunyan-debug-stream-2.0.1.tgz#9bd7c7e30c7b2cf711317e9d37529b0464c3b164" + integrity sha512-MCEoqggU7NMt7f2O+PU8VkqfSkoQoa4lmN/OWhaRfqFRBF1Se2TOXQyLF6NxC+EtfrdthnquQe8jOe83fpEoGA== dependencies: - colors "^1.0.3" + colors "1.4.0" exception-formatter "^1.0.4" bunyan@^1.8.12: @@ -3412,7 +3700,7 @@ colors@1.0.3: resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" integrity sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs= -colors@^1.0.3, colors@^1.1.2, colors@^1.4.0: +colors@1.4.0, colors@^1.0.3, colors@^1.1.2, colors@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== @@ -3633,7 +3921,7 @@ cross-spawn@^4.0.2: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^6.0.0: +cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -3882,20 +4170,19 @@ detect-newline@^3.0.0: resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== -detox@19.3.0: - version "19.3.0" - resolved "https://registry.yarnpkg.com/detox/-/detox-19.3.0.tgz#be47160ec6fa93510f909e16dace063f27d7be01" - integrity sha512-+Jz6NJK02GPp8BFXp6y/bNcFcjIUqex0ut5jLZgYSCbfTdOPymlEv3Y5O/u94M44M9dgOFTavnXNmWGyABvSsA== +detox@19.5.3: + version "19.5.3" + resolved "https://registry.yarnpkg.com/detox/-/detox-19.5.3.tgz#223a82ace2e3227c3958cfc8f33f7a6df058a680" + integrity sha512-ahgo/6DhMFJodrElpuvxWOoaGPl39vhNTS5NTuO0F0vTeMiWTXC+ykAzcmu/DTPHZIriRkXns2SE1aAuHjDXNw== dependencies: ajv "^8.6.3" bunyan "^1.8.12" - bunyan-debug-stream "^1.1.0" + bunyan-debug-stream "^2.0.1" chalk "^2.4.2" child-process-promise "^2.2.0" find-up "^4.1.0" fs-extra "^4.0.2" funpermaproxy "^1.0.1" - get-port "^2.1.0" ini "^1.3.4" lodash "^4.17.5" minimist "^1.2.0" @@ -3934,10 +4221,10 @@ diagnostic-channel@0.3.1: dependencies: semver "^5.3.0" -diff-sequences@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" - integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== +diff-sequences@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" + integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== diff@^5.0.0: version "5.0.0" @@ -4463,17 +4750,15 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" -expect@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.4.2.tgz#4429b0f7e307771d176de9bdf23229b101db6ef6" - integrity sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg== +expect@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" + integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== dependencies: - "@jest/types" "^27.4.2" - ansi-styles "^5.0.0" - jest-get-type "^27.4.0" - jest-matcher-utils "^27.4.2" - jest-message-util "^27.4.2" - jest-regex-util "^27.4.0" + "@jest/types" "^27.5.1" + jest-get-type "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" extend-shallow@^2.0.1: version "2.0.1" @@ -4654,6 +4939,13 @@ find-versions@^4.0.0: dependencies: semver-regex "^3.1.2" +find-yarn-workspace-root@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== + dependencies: + micromatch "^4.0.2" + flat-cache@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" @@ -4797,6 +5089,15 @@ fs-extra@^4.0.2: jsonfile "^4.0.0" universalify "^0.1.0" +fs-extra@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -4894,13 +5195,6 @@ get-package-type@^0.1.0: resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-port@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-2.1.0.tgz#8783f9dcebd1eea495a334e1a6a251e78887ab1a" - integrity sha1-h4P53OvR7qSVozThpqJR54iHqxo= - dependencies: - pinkie-promise "^2.0.0" - get-stdin@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" @@ -5048,6 +5342,11 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== +graceful-fs@^4.2.9: + version "4.2.9" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== + handlebars@^4.7.6: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" @@ -5520,6 +5819,11 @@ is-directory@^0.3.1: resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= +is-docker@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -5687,6 +5991,13 @@ is-wsl@^1.1.0: resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= +is-wsl@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + isarray@1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -5730,7 +6041,12 @@ istanbul-lib-coverage@^3.0.0: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: +istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== + +istanbul-lib-instrument@^4.0.0: version "4.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== @@ -5740,6 +6056,17 @@ istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: istanbul-lib-coverage "^3.0.0" semver "^6.3.0" +istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -5758,10 +6085,10 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== +istanbul-reports@^3.1.3: + version "3.1.4" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" + integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -5771,148 +6098,150 @@ java-properties@^1.0.0: resolved "https://registry.yarnpkg.com/java-properties/-/java-properties-1.0.2.tgz#ccd1fa73907438a5b5c38982269d0e771fe78211" integrity sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ== -jest-changed-files@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.4.2.tgz#da2547ea47c6e6a5f6ed336151bd2075736eb4a5" - integrity sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A== +jest-changed-files@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" + integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.1" execa "^5.0.0" throat "^6.0.1" -jest-circus@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.4.4.tgz#8bf89aa604b914ecc10e3d895aae283b529f965d" - integrity sha512-4DWhvQerDq5X4GaqhEUoZiBhuNdKDGr0geW0iJwarbDljAmGaGOErKQG+z2PBr0vgN05z7tsGSY51mdWr8E4xg== +jest-circus@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" + integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== dependencies: - "@jest/environment" "^27.4.4" - "@jest/test-result" "^27.4.2" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" dedent "^0.7.0" - expect "^27.4.2" + expect "^27.5.1" is-generator-fn "^2.0.0" - jest-each "^27.4.2" - jest-matcher-utils "^27.4.2" - jest-message-util "^27.4.2" - jest-runtime "^27.4.4" - jest-snapshot "^27.4.4" - jest-util "^27.4.2" - pretty-format "^27.4.2" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" slash "^3.0.0" stack-utils "^2.0.3" throat "^6.0.1" -jest-cli@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.4.4.tgz#7115ff01f605c2c848314141b1ac144099ddeed5" - integrity sha512-+MfsHnZPUOBigCBURuQFRpgYoPCgmIFkICkqt4SrramZCUp/UAuWcst4pMZb84O3VU8JyKJmnpGG4qH8ClQloA== +jest-cli@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" + integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== dependencies: - "@jest/core" "^27.4.4" - "@jest/test-result" "^27.4.2" - "@jest/types" "^27.4.2" + "@jest/core" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" chalk "^4.0.0" exit "^0.1.2" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^27.4.4" - jest-util "^27.4.2" - jest-validate "^27.4.2" + jest-config "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" prompts "^2.0.1" yargs "^16.2.0" -jest-config@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.4.4.tgz#0e3615392361baae0e29dbf64c296d5563d7e28b" - integrity sha512-6lxg0ugO6KS2zKEbpdDwBzu1IT0Xg4/VhxXMuBu+z/5FvBjLCEMTaWQm3bCaGCZUR9j9FK4DzUIxyhIgn6kVEg== +jest-config@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" + integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^27.4.4" - "@jest/types" "^27.4.2" - babel-jest "^27.4.4" + "@babel/core" "^7.8.0" + "@jest/test-sequencer" "^27.5.1" + "@jest/types" "^27.5.1" + babel-jest "^27.5.1" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.1" - graceful-fs "^4.2.4" - jest-circus "^27.4.4" - jest-environment-jsdom "^27.4.4" - jest-environment-node "^27.4.4" - jest-get-type "^27.4.0" - jest-jasmine2 "^27.4.4" - jest-regex-util "^27.4.0" - jest-resolve "^27.4.4" - jest-runner "^27.4.4" - jest-util "^27.4.2" - jest-validate "^27.4.2" + graceful-fs "^4.2.9" + jest-circus "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-get-type "^27.5.1" + jest-jasmine2 "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runner "^27.5.1" + jest-util "^27.5.1" + jest-validate "^27.5.1" micromatch "^4.0.4" - pretty-format "^27.4.2" + parse-json "^5.2.0" + pretty-format "^27.5.1" slash "^3.0.0" + strip-json-comments "^3.1.1" -jest-diff@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.2.tgz#786b2a5211d854f848e2dcc1e324448e9481f36f" - integrity sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q== +jest-diff@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" + integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== dependencies: chalk "^4.0.0" - diff-sequences "^27.4.0" - jest-get-type "^27.4.0" - pretty-format "^27.4.2" + diff-sequences "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" -jest-docblock@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.4.0.tgz#06c78035ca93cbbb84faf8fce64deae79a59f69f" - integrity sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg== +jest-docblock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" + integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== dependencies: detect-newline "^3.0.0" -jest-each@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.4.2.tgz#19364c82a692d0d26557642098d1f4619c9ee7d3" - integrity sha512-53V2MNyW28CTruB3lXaHNk6PkiIFuzdOC9gR3C6j8YE/ACfrPnz+slB0s17AgU1TtxNzLuHyvNlLJ+8QYw9nBg== +jest-each@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" + integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.1" chalk "^4.0.0" - jest-get-type "^27.4.0" - jest-util "^27.4.2" - pretty-format "^27.4.2" - -jest-environment-jsdom@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.4.4.tgz#94f738e99514d7a880e8ed8e03e3a321d43b49db" - integrity sha512-cYR3ndNfHBqQgFvS1RL7dNqSvD//K56j/q1s2ygNHcfTCAp12zfIromO1w3COmXrxS8hWAh7+CmZmGCIoqGcGA== - dependencies: - "@jest/environment" "^27.4.4" - "@jest/fake-timers" "^27.4.2" - "@jest/types" "^27.4.2" + jest-get-type "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" + +jest-environment-jsdom@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" + integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" - jest-mock "^27.4.2" - jest-util "^27.4.2" + jest-mock "^27.5.1" + jest-util "^27.5.1" jsdom "^16.6.0" -jest-environment-node@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.4.4.tgz#42fe5e3b224cb69b99811ebf6f5eaa5a59618514" - integrity sha512-D+v3lbJ2GjQTQR23TK0kY3vFVmSeea05giInI41HHOaJnAwOnmUHTZgUaZL+VxUB43pIzoa7PMwWtCVlIUoVoA== +jest-environment-node@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" + integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== dependencies: - "@jest/environment" "^27.4.4" - "@jest/fake-timers" "^27.4.2" - "@jest/types" "^27.4.2" + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" - jest-mock "^27.4.2" - jest-util "^27.4.2" + jest-mock "^27.5.1" + jest-util "^27.5.1" jest-get-type@^26.3.0: version "26.3.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== -jest-get-type@^27.4.0: - version "27.4.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" - integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== +jest-get-type@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" + integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== jest-haste-map@^26.5.2: version "26.6.2" @@ -5955,69 +6284,88 @@ jest-haste-map@^27.4.4: optionalDependencies: fsevents "^2.3.2" -jest-jasmine2@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.4.4.tgz#1fcdc64de932913366e7d5f2960c375e1145176e" - integrity sha512-ygk2tUgtLeN3ouj4KEYw9p81GLI1EKrnvourPULN5gdgB482PH5op9gqaRG0IenbJhBbbRwiSvh5NoBoQZSqdA== +jest-haste-map@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" + integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^27.4.4" - "@jest/source-map" "^27.4.0" - "@jest/test-result" "^27.4.2" - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.9" + jest-regex-util "^27.5.1" + jest-serializer "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" + micromatch "^4.0.4" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.3.2" + +jest-jasmine2@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" + integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^27.4.2" + expect "^27.5.1" is-generator-fn "^2.0.0" - jest-each "^27.4.2" - jest-matcher-utils "^27.4.2" - jest-message-util "^27.4.2" - jest-runtime "^27.4.4" - jest-snapshot "^27.4.4" - jest-util "^27.4.2" - pretty-format "^27.4.2" + jest-each "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-runtime "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" + pretty-format "^27.5.1" throat "^6.0.1" -jest-leak-detector@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.4.2.tgz#7fc3120893a7a911c553f3f2bdff9faa4454abbb" - integrity sha512-ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw== +jest-leak-detector@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" + integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== dependencies: - jest-get-type "^27.4.0" - pretty-format "^27.4.2" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" -jest-matcher-utils@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.4.2.tgz#d17c5038607978a255e0a9a5c32c24e984b6c60b" - integrity sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ== +jest-matcher-utils@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" + integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== dependencies: chalk "^4.0.0" - jest-diff "^27.4.2" - jest-get-type "^27.4.0" - pretty-format "^27.4.2" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + pretty-format "^27.5.1" -jest-message-util@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.4.2.tgz#07f3f1bf207d69cf798ce830cc57f1a849f99388" - integrity sha512-OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w== +jest-message-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" + integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.1" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" - graceful-fs "^4.2.4" + graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^27.4.2" + pretty-format "^27.5.1" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.4.2.tgz#184ff197a25491bfe4570c286daa5d62eb760b88" - integrity sha512-PDDPuyhoukk20JrQKeofK12hqtSka7mWH0QQuxSNgrdiPsrnYYLS6wbzu/HDlxZRzji5ylLRULeuI/vmZZDrYA== +jest-mock@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" + integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.1" "@types/node" "*" jest-pnp-resolver@^1.2.2: @@ -6035,90 +6383,90 @@ jest-regex-util@^27.4.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.4.0.tgz#e4c45b52653128843d07ad94aec34393ea14fbca" integrity sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg== -jest-resolve-dependencies@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.4.tgz#dae11e067a6d6a9553f1386a0ea1efe5be0e2332" - integrity sha512-iAnpCXh81sd9nbyqySvm5/aV9X6JZKE0dQyFXTC8tptXcdrgS0vjPFy+mEgzPHxXw+tq4TQupuTa0n8OXwRIxw== +jest-regex-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" + integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== + +jest-resolve-dependencies@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" + integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== dependencies: - "@jest/types" "^27.4.2" - jest-regex-util "^27.4.0" - jest-snapshot "^27.4.4" + "@jest/types" "^27.5.1" + jest-regex-util "^27.5.1" + jest-snapshot "^27.5.1" -jest-resolve@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.4.4.tgz#5b690662f54f38f7cfaffc0adcdb341ff7724408" - integrity sha512-Yh5jK3PBmDbm01Rc8pT0XqpBlTPEGwWp7cN61ijJuwony/tR2Taof3TLy6yfNiuRS8ucUOPO7NBYm3ei38kkcg== +jest-resolve@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" + integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.1" chalk "^4.0.0" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.4" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" jest-pnp-resolver "^1.2.2" - jest-util "^27.4.2" - jest-validate "^27.4.2" + jest-util "^27.5.1" + jest-validate "^27.5.1" resolve "^1.20.0" resolve.exports "^1.1.0" slash "^3.0.0" -jest-runner@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.4.4.tgz#0b40cdcbac293ebc4c19c2d7805d17ab1072f1fd" - integrity sha512-AXv/8Q0Xf1puWnDf52m7oLrK7sXcv6re0V/kItwTSVHJbX7Oebm07oGFQqGmq0R0mhO1zpmB3OpqRuaCN2elPA== +jest-runner@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" + integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== dependencies: - "@jest/console" "^27.4.2" - "@jest/environment" "^27.4.4" - "@jest/test-result" "^27.4.2" - "@jest/transform" "^27.4.4" - "@jest/types" "^27.4.2" + "@jest/console" "^27.5.1" + "@jest/environment" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" chalk "^4.0.0" emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.4" - jest-docblock "^27.4.0" - jest-environment-jsdom "^27.4.4" - jest-environment-node "^27.4.4" - jest-haste-map "^27.4.4" - jest-leak-detector "^27.4.2" - jest-message-util "^27.4.2" - jest-resolve "^27.4.4" - jest-runtime "^27.4.4" - jest-util "^27.4.2" - jest-worker "^27.4.4" + graceful-fs "^4.2.9" + jest-docblock "^27.5.1" + jest-environment-jsdom "^27.5.1" + jest-environment-node "^27.5.1" + jest-haste-map "^27.5.1" + jest-leak-detector "^27.5.1" + jest-message-util "^27.5.1" + jest-resolve "^27.5.1" + jest-runtime "^27.5.1" + jest-util "^27.5.1" + jest-worker "^27.5.1" source-map-support "^0.5.6" throat "^6.0.1" -jest-runtime@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.4.4.tgz#0d486735e8a1c8bbcdbb9285b3155ed94c5e3670" - integrity sha512-tZGay6P6vXJq8t4jVFAUzYHx+lzIHXjz+rj1XBk6mAR1Lwtf5kz0Uun7qNuU+oqpZu4+hhuxpUfXb6j30bEPqA== - dependencies: - "@jest/console" "^27.4.2" - "@jest/environment" "^27.4.4" - "@jest/globals" "^27.4.4" - "@jest/source-map" "^27.4.0" - "@jest/test-result" "^27.4.2" - "@jest/transform" "^27.4.4" - "@jest/types" "^27.4.2" - "@types/yargs" "^16.0.0" +jest-runtime@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" + integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== + dependencies: + "@jest/environment" "^27.5.1" + "@jest/fake-timers" "^27.5.1" + "@jest/globals" "^27.5.1" + "@jest/source-map" "^27.5.1" + "@jest/test-result" "^27.5.1" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" execa "^5.0.0" - exit "^0.1.2" glob "^7.1.3" - graceful-fs "^4.2.4" - jest-haste-map "^27.4.4" - jest-message-util "^27.4.2" - jest-mock "^27.4.2" - jest-regex-util "^27.4.0" - jest-resolve "^27.4.4" - jest-snapshot "^27.4.4" - jest-util "^27.4.2" - jest-validate "^27.4.2" + graceful-fs "^4.2.9" + jest-haste-map "^27.5.1" + jest-message-util "^27.5.1" + jest-mock "^27.5.1" + jest-regex-util "^27.5.1" + jest-resolve "^27.5.1" + jest-snapshot "^27.5.1" + jest-util "^27.5.1" slash "^3.0.0" strip-bom "^4.0.0" - yargs "^16.2.0" jest-serializer@^26.6.2: version "26.6.2" @@ -6136,34 +6484,40 @@ jest-serializer@^27.4.0: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.4.4.tgz#fc0a2cd22f742fe66621c5359c9cd64f88260c6b" - integrity sha512-yy+rpCvYMOjTl7IMuaMI9OP9WT229zi8BhdNHm6e6mttAOIzvIiCxFoZ6yRxaV3HDPPgMryi+ReX2b8+IQJdPA== +jest-serializer@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" + integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.9" + +jest-snapshot@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" + integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== dependencies: "@babel/core" "^7.7.2" "@babel/generator" "^7.7.2" - "@babel/parser" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" "@babel/traverse" "^7.7.2" "@babel/types" "^7.0.0" - "@jest/transform" "^27.4.4" - "@jest/types" "^27.4.2" + "@jest/transform" "^27.5.1" + "@jest/types" "^27.5.1" "@types/babel__traverse" "^7.0.4" "@types/prettier" "^2.1.5" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^27.4.2" - graceful-fs "^4.2.4" - jest-diff "^27.4.2" - jest-get-type "^27.4.0" - jest-haste-map "^27.4.4" - jest-matcher-utils "^27.4.2" - jest-message-util "^27.4.2" - jest-resolve "^27.4.4" - jest-util "^27.4.2" + expect "^27.5.1" + graceful-fs "^4.2.9" + jest-diff "^27.5.1" + jest-get-type "^27.5.1" + jest-haste-map "^27.5.1" + jest-matcher-utils "^27.5.1" + jest-message-util "^27.5.1" + jest-util "^27.5.1" natural-compare "^1.4.0" - pretty-format "^27.4.2" + pretty-format "^27.5.1" semver "^7.3.2" jest-util@^26.6.2: @@ -6190,6 +6544,18 @@ jest-util@^27.4.2: graceful-fs "^4.2.4" picomatch "^2.2.3" +jest-util@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" + integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== + dependencies: + "@jest/types" "^27.5.1" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.9" + picomatch "^2.2.3" + jest-validate@^26.5.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" @@ -6202,29 +6568,29 @@ jest-validate@^26.5.2: leven "^3.1.0" pretty-format "^26.6.2" -jest-validate@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.4.2.tgz#eecfcc1b1c9429aa007da08a2bae4e32a81bbbc3" - integrity sha512-hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A== +jest-validate@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" + integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== dependencies: - "@jest/types" "^27.4.2" + "@jest/types" "^27.5.1" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^27.4.0" + jest-get-type "^27.5.1" leven "^3.1.0" - pretty-format "^27.4.2" + pretty-format "^27.5.1" -jest-watcher@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.4.2.tgz#c9037edfd80354c9fe90de4b6f8b6e2b8e736744" - integrity sha512-NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg== +jest-watcher@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" + integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== dependencies: - "@jest/test-result" "^27.4.2" - "@jest/types" "^27.4.2" + "@jest/test-result" "^27.5.1" + "@jest/types" "^27.5.1" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^27.4.2" + jest-util "^27.5.1" string-length "^4.0.1" jest-worker@^26.0.0, jest-worker@^26.6.2: @@ -6245,14 +6611,23 @@ jest-worker@^27.4.4: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^27.4.4: - version "27.4.4" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.4.4.tgz#9b1aa1db25d0b13477a49d18e22ba7cdff97105b" - integrity sha512-AXwEIFa58Uf1Jno3/KSo5HZZ0/2Xwqvfrz0/3bmTwImkFlbOvz5vARAW9nTrxRLkojjkitaZ1KNKAtw3JRFAaA== +jest-worker@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== dependencies: - "@jest/core" "^27.4.4" + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jest@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" + integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== + dependencies: + "@jest/core" "^27.5.1" import-local "^3.0.2" - jest-cli "^27.4.4" + jest-cli "^27.5.1" jetifier@^1.6.2: version "1.6.8" @@ -6505,6 +6880,13 @@ kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== +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" @@ -7962,6 +8344,14 @@ open@^6.2.0: dependencies: is-wsl "^1.1.0" +open@^7.4.2: + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== + dependencies: + is-docker "^2.0.0" + is-wsl "^2.1.1" + opener@^1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" @@ -8016,7 +8406,7 @@ os-name@^3.1.0: macos-release "^2.2.0" windows-release "^3.1.0" -os-tmpdir@^1.0.0: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= @@ -8191,7 +8581,7 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-json@^5.0.0: +parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== @@ -8216,6 +8606,25 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +patch-package@^6.4.7: + version "6.4.7" + resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.4.7.tgz#2282d53c397909a0d9ef92dae3fdeb558382b148" + integrity sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ== + dependencies: + "@yarnpkg/lockfile" "^1.1.0" + chalk "^2.4.2" + cross-spawn "^6.0.5" + find-yarn-workspace-root "^2.0.0" + fs-extra "^7.0.1" + is-ci "^2.0.0" + klaw-sync "^6.0.0" + minimist "^1.2.0" + open "^7.4.2" + rimraf "^2.6.3" + semver "^5.6.0" + slash "^2.0.0" + tmp "^0.0.33" + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -8283,18 +8692,6 @@ pify@^4.0.1: resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - pirates@^4.0.0, pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" @@ -8302,6 +8699,11 @@ pirates@^4.0.0, pirates@^4.0.1: dependencies: node-modules-regexp "^1.0.0" +pirates@^4.0.4: + version "4.0.5" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" + integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== + pkg-conf@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/pkg-conf/-/pkg-conf-2.1.0.tgz#2126514ca6f2abfebd168596df18ba57867f0058" @@ -8346,6 +8748,11 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= +postinstall-postinstall@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postinstall-postinstall/-/postinstall-postinstall-2.1.0.tgz#4f7f77441ef539d1512c40bd04c71b06a4704ca3" + integrity sha512-7hQX6ZlZXIoRiWNrbMQaLzUUfH+sSx39u8EJ9HYuDc1kLo9IXKWjM5RSquZN1ad5GnH8CGFM78fsAAQi3OKEEQ== + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8398,12 +8805,11 @@ pretty-format@^27.0.0: ansi-styles "^5.0.0" react-is "^17.0.1" -pretty-format@^27.4.2: - version "27.4.2" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.2.tgz#e4ce92ad66c3888423d332b40477c87d1dac1fb8" - integrity sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw== +pretty-format@^27.5.1: + version "27.5.1" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" + integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== dependencies: - "@jest/types" "^27.4.2" ansi-regex "^5.0.1" ansi-styles "^5.0.0" react-is "^17.0.1" @@ -8589,10 +8995,10 @@ react-native-codegen@^0.0.7: jscodeshift "^0.11.0" nullthrows "^1.1.1" -react-native-localize@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/react-native-localize/-/react-native-localize-2.1.6.tgz#2d3e98ca9a2115ee8f0eca4e3116219893144123" - integrity sha512-3vwo+bx/jm4yPlXi3OORj4vWav9EQnU+e1aaG4EpfGt6v9goMn5CJSIfA4Vu1ohL3hfL8QUHj20TvKJsdMpfXQ== +react-native-localize@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/react-native-localize/-/react-native-localize-2.2.0.tgz#77d1ee8174679ac6b832c22fe5303b4070a5d72b" + integrity sha512-iGEVQSQHRMQzngjTAdV7E+6jdOUxr7ITXkFg7UlmqjTP55xwOmutdCeKD45nCCsUCYCkKhRfBH1+IXpRsTYWbA== react-native-windows@^0.66.3: version "0.66.3" @@ -9036,7 +9442,7 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2, rimraf@^2.5.4: +rimraf@2, rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -9396,6 +9802,11 @@ slash@^1.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= +slash@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== + slash@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" @@ -10017,6 +10428,13 @@ tiny-relative-date@^1.3.0: resolved "https://registry.yarnpkg.com/tiny-relative-date/-/tiny-relative-date-1.3.0.tgz#fa08aad501ed730f31cc043181d995c39a935e07" integrity sha512-MOQHpzllWxDCHHaDno30hhLfbouoYlOI8YlMNtvKe1zXbjEVhbcEovQxvZrPvtiYW630GQDoMMarCnjfyfHA+A== +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + dependencies: + os-tmpdir "~1.0.2" + tmpl@1.0.x: version "1.0.5" resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
iOS