From 0be39a8fe3d8c84756e870475f683ca9d4f5ab7f Mon Sep 17 00:00:00 2001 From: Calin Tamas Date: Thu, 14 Oct 2021 11:54:41 +0300 Subject: [PATCH] feat: typescript rewrite --- .eslintignore | 2 + .eslintrc.js | 6 +- .github/dependabot.yml | 30 +- .gitignore | 1 + .npmignore | 6 +- .prettierrc.js | 8 +- CHANGELOG.md | 2 +- LICENSE | 21 - README.md | 268 - index.d.ts | 72 - index.js | 7 - index.ts | 2 + jest.config.js | 5 - jest.setup.js | 1 - package.json | 71 +- src/Toast.tsx | 96 + src/ToastUI.tsx | 81 + src/__tests__/Toast.test.js | 231 - src/assets/icons/close.png | Bin 170 -> 0 bytes src/assets/icons/close@2x.png | Bin 227 -> 0 bytes src/assets/icons/close@3x.png | Bin 315 -> 0 bytes src/assets/icons/error.png | Bin 779 -> 0 bytes src/assets/icons/error@2x.png | Bin 1533 -> 0 bytes src/assets/icons/error@3x.png | Bin 2257 -> 0 bytes src/assets/icons/info.png | Bin 2057 -> 0 bytes src/assets/icons/info@2x.png | Bin 2643 -> 0 bytes src/assets/icons/info@3x.png | Bin 3163 -> 0 bytes src/assets/icons/success.png | Bin 776 -> 0 bytes src/assets/icons/success@2x.png | Bin 1467 -> 0 bytes src/assets/icons/success@3x.png | Bin 2103 -> 0 bytes src/assets/index.js | 15 - src/colors/index.js | 10 - .../AnimatedContainer.styles.tsx} | 5 +- src/components/AnimatedContainer.tsx | 120 + src/components/BaseToast.styles.ts | 41 + src/components/BaseToast.tsx | 66 + src/components/ErrorToast.tsx | 8 + src/components/InfoToast.tsx | 8 + src/components/SuccessToast.tsx | 8 + src/components/Touchable.tsx | 20 + src/components/__tests__/Base.test.js | 224 - src/components/__tests__/ErrorToast.test.js | 21 - src/components/__tests__/Icon.test.js | 21 - src/components/__tests__/InfoToast.test.js | 21 - src/components/__tests__/SuccessToast.test.js | 21 - src/components/base/index.js | 134 - src/components/base/styles.js | 54 - src/components/error.js | 19 - src/components/icon/index.js | 40 - src/components/icon/styles.js | 8 - src/components/info.js | 19 - src/components/success.js | 19 - src/contexts/LoggerContext.tsx | 44 + src/contexts/index.ts | 1 + src/hooks/index.ts | 5 + src/hooks/useKeyboard.ts | 38 + src/hooks/usePanResponder.ts | 75 + src/hooks/useSlideAnimation.ts | 83 + src/hooks/useTimeout.ts | 37 + src/hooks/useViewDimensions.ts | 30 + src/index.js | 420 -- src/types/index.ts | 175 + src/useToast.ts | 135 + src/utils/arr.js | 3 - src/utils/array.ts | 5 + src/utils/func.ts | 1 + src/utils/number.ts | 11 + src/utils/obj.js | 9 - src/utils/platform.js | 5 - src/utils/platform.ts | 3 + src/utils/prop-types.js | 5 - success-toast.gif | Bin 517689 -> 0 bytes tsconfig.json | 68 + yarn.lock | 4877 +++++++---------- 74 files changed, 3177 insertions(+), 4665 deletions(-) create mode 100644 .eslintignore delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 index.d.ts delete mode 100644 index.js create mode 100644 index.ts delete mode 100644 jest.config.js delete mode 100644 jest.setup.js create mode 100644 src/Toast.tsx create mode 100644 src/ToastUI.tsx delete mode 100644 src/__tests__/Toast.test.js delete mode 100755 src/assets/icons/close.png delete mode 100755 src/assets/icons/close@2x.png delete mode 100755 src/assets/icons/close@3x.png delete mode 100755 src/assets/icons/error.png delete mode 100755 src/assets/icons/error@2x.png delete mode 100755 src/assets/icons/error@3x.png delete mode 100644 src/assets/icons/info.png delete mode 100644 src/assets/icons/info@2x.png delete mode 100644 src/assets/icons/info@3x.png delete mode 100755 src/assets/icons/success.png delete mode 100755 src/assets/icons/success@2x.png delete mode 100755 src/assets/icons/success@3x.png delete mode 100644 src/assets/index.js delete mode 100644 src/colors/index.js rename src/{styles.js => components/AnimatedContainer.styles.tsx} (75%) create mode 100644 src/components/AnimatedContainer.tsx create mode 100644 src/components/BaseToast.styles.ts create mode 100644 src/components/BaseToast.tsx create mode 100644 src/components/ErrorToast.tsx create mode 100644 src/components/InfoToast.tsx create mode 100644 src/components/SuccessToast.tsx create mode 100644 src/components/Touchable.tsx delete mode 100644 src/components/__tests__/Base.test.js delete mode 100644 src/components/__tests__/ErrorToast.test.js delete mode 100644 src/components/__tests__/Icon.test.js delete mode 100644 src/components/__tests__/InfoToast.test.js delete mode 100644 src/components/__tests__/SuccessToast.test.js delete mode 100644 src/components/base/index.js delete mode 100644 src/components/base/styles.js delete mode 100644 src/components/error.js delete mode 100644 src/components/icon/index.js delete mode 100644 src/components/icon/styles.js delete mode 100644 src/components/info.js delete mode 100644 src/components/success.js create mode 100644 src/contexts/LoggerContext.tsx create mode 100644 src/contexts/index.ts create mode 100644 src/hooks/index.ts create mode 100644 src/hooks/useKeyboard.ts create mode 100644 src/hooks/usePanResponder.ts create mode 100644 src/hooks/useSlideAnimation.ts create mode 100644 src/hooks/useTimeout.ts create mode 100644 src/hooks/useViewDimensions.ts delete mode 100644 src/index.js create mode 100644 src/types/index.ts create mode 100644 src/useToast.ts delete mode 100644 src/utils/arr.js create mode 100644 src/utils/array.ts create mode 100644 src/utils/func.ts create mode 100644 src/utils/number.ts delete mode 100644 src/utils/obj.js delete mode 100644 src/utils/platform.js create mode 100644 src/utils/platform.ts delete mode 100644 src/utils/prop-types.js delete mode 100644 success-toast.gif create mode 100644 tsconfig.json diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..29066eb9 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,2 @@ +babel.config.js +.eslintrc.js \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js index 26698603..c46993cb 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -1,8 +1,8 @@ module.exports = { - extends: ['backpacker-react'], + root: true, + extends: ['backpacker-react-ts'], rules: { 'import/no-extraneous-dependencies': 'off', - 'react/sort-comp': 'off', - 'no-underscore-dangle': 'warn' + '@typescript-eslint/explicit-module-boundary-types': 'off' } }; diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 52f89306..3d7fe1b2 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,17 +1,17 @@ version: 2 updates: -- package-ecosystem: npm - directory: "/" - schedule: - interval: monthly - time: "03:00" - open-pull-requests-limit: 10 - reviewers: - - calintamas - ignore: - - dependency-name: husky - versions: - - "> 3.1.0" - - dependency-name: husky - versions: - - ">= 4.a, < 5" + - package-ecosystem: npm + directory: '/' + schedule: + interval: monthly + time: '03:00' + open-pull-requests-limit: 10 + reviewers: + - calintamas + ignore: + - dependency-name: husky + versions: + - '> 3.1.0' + - dependency-name: husky + versions: + - '>= 4.a, < 5' diff --git a/.gitignore b/.gitignore index 66933568..453d0e1d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ node_modules .idea coverage +lib diff --git a/.npmignore b/.npmignore index bc4746a0..737a4e81 100644 --- a/.npmignore +++ b/.npmignore @@ -1,5 +1 @@ -__tests__ -coverage -.eslintrc.js -.prettierrc.js -success-toast.gif +__tests__ \ No newline at end of file diff --git a/.prettierrc.js b/.prettierrc.js index 0e2962e9..c26ba519 100644 --- a/.prettierrc.js +++ b/.prettierrc.js @@ -1,8 +1,6 @@ module.exports = { - trailingComma: 'none', - tabWidth: 2, - singleQuote: true, + bracketSameLine: true, jsxSingleQuote: true, - jsxBracketSameLine: true, - arrowParens: 'always' + singleQuote: true, + trailingComma: 'none' }; diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f5e2e3e..06c757ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. Headers are one of: -- `Added`, `Changed`, `Removed` or `Fixed`. +- `Added`, `Changed`, `Removed`, `Fixed` or `Breaking`. ## [1.6.0] diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 909521ef..00000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2019 Calin Tamas - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index 44bae0fb..00000000 --- a/README.md +++ /dev/null @@ -1,268 +0,0 @@ -# react-native-toast-message - -[![npm version](https://img.shields.io/npm/v/react-native-toast-message)](https://www.npmjs.com/package/react-native-toast-message) -[![npm downloads](https://img.shields.io/npm/dw/react-native-toast-message)](https://www.npmjs.com/package/react-native-toast-message) -[![Build](https://github.com/calintamas/react-native-toast-message/workflows/tests/badge.svg)](https://github.com/calintamas/react-native-toast-message/actions?query=workflow%3Atests) -[![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg)](https://github.com/prettier/prettier) - -Animated toast message component for React Native. - -- Imperative API -- Keyboard aware -- Flexible config - -## Install - -``` -yarn add react-native-toast-message -``` - -![ToastSuccess](success-toast.gif) - -## Usage - -Render the `Toast` component in your app entry file (along with everything that might be rendered there) and set a ref to it. - -```js -// App.jsx -import Toast from 'react-native-toast-message'; - -function App(props) { - return ( - <> - {/* ... */} - Toast.setRef(ref)} /> - - ); -} - -export default App; -``` - -Then use it anywhere in your app (even outside React components), by calling any `Toast` method directly: - -```js -import Toast from 'react-native-toast-message'; - -function SomeComponent() { - React.useEffect(() => { - Toast.show({ - type: 'success', - text1: 'Hello', - text2: 'This is some something 👋' - }); - }, []); - - return ; -} -``` - -## API - -### `show(options = {})` - -When calling the `show` method, you can use the following `options` to suit your needs. Everything is optional, unless specified otherwise. - -The usage of `|` below, means that only one of the values show should be used. -If only one value is shown, that's the default. - -```js -Toast.show({ - type: 'success | error | info', - position: 'top | bottom', - text1: 'Hello', - text2: 'This is some something 👋', - visibilityTime: 4000, - autoHide: true, - topOffset: 30, - bottomOffset: 40, - onShow: () => {}, - onHide: () => {}, // called when Toast hides (if `autoHide` was set to `true`) - onPress: () => {}, - props: {} // any custom props passed to the Toast component -}); -``` - -### `hide()` - -```js -Toast.hide(); -``` - -## props - -Props that can be set on the `Toast` instance. They act as defaults for all Toasts that are shown. - -```js -const props = { - type: 'success | error | info', - position: 'top' | 'bottom', - visibilityTime: Number, - autoHide: Boolean, - topOffset: Number, - bottomOffset: Number, - keyboardOffset: Number, - config: Object, - style: ViewStyle, - height: Number -}; -``` - -> Default `Animated.View` styles can be found in [styles.js](https://github.com/calintamas/react-native-toast-message/blob/master/src/styles.js#L4). They can be extended using the `style` prop. - -## Customize layout - -If you want to add custom types - or overwrite the existing ones - you can add a `config` prop when rendering the `Toast` in your app `root`. - -You can either use any of the default `BaseToast`, `SuccessToast`, `ErrorToast` or `InfoToast` components and adjust their layout, or create Toast layouts from scratch. - -```js -// App.jsx -import Toast, { BaseToast, ErrorToast } from 'react-native-toast-message'; - -const toastConfig = { - /* - overwrite 'success' type, - modifying the existing `BaseToast` component - */ - success: ({ text1, props, ...rest }) => ( - - ), - - /* - Reuse the default ErrorToast toast component - */ - error: (props) => ( - - ), - /* - or create a completely new type - `my_custom_type`, - building the layout from scratch - */ - my_custom_type: ({ text1, props, ...rest }) => ( - - {text1} - - ) -}; - -function App(props) { - // pass `toastConfig` to the Toast instance - return ( - <> - Toast.setRef(ref)} /> - - ); -} - -export default App; -``` - -Then just use the library as before - -```js -Toast.show({ - type: 'my_custom_type', - props: { uuid: 'bba1a7d0-6ab2-4a0a-a76e-ebbe05ae6d70' } -}); -``` - -Available `props` on `BaseToast`: - -```js -const baseToastProps = { - leadingIcon: ImageSource, - trailingIcon: ImageSource, - text1: String, - text2: String, - onPress: Function, - onLeadingIconPress: Function, - onTrailingIconPress: Function, - style: ViewStyle, - leadingIconContainerStyle: ViewStyle, - trailingIconContainerStyle: ViewStyle, - leadingIconStyle: ViewStyle, - trailingIconStyle: ViewStyle, - contentContainerStyle: ViewStyle, - text1Style: ViewStyle, - text2Style: ViewStyle, - activeOpacity: Number -}; -``` - -## FAQ - -### How to render the Toast when using [react-navigation](https://reactnavigation.org)? - -To have the toast visible on top of the navigation `View` hierarchy, render it as the **last child** inside `NavigationContainer`. - -```js -import Toast from 'react-native-toast-message' -import { NavigationContainer } from '@react-navigation/native'; - -export default function App() { - return ( - - {...} - Toast.setRef(ref)} /> - - ); -} -``` - -### How to mock the library for testing with [jest](https://jestjs.io)? - -```js -jest.mock('react-native-toast-message', () => ({ - show: jest.fn(), - hide: jest.fn() -})); -``` - -### How to show the Toast inside a Modal? - -When a `Modal` is visible, the Toast gets rendered behind it. This is due to [the way `Modal` is implemented](https://stackoverflow.com/a/57402783). As a workaround, you can have 2 separate Toast instances: one inside the Modal (let's call it a "modal toast") and a normal one outside. - -For the one outside, set the ref on the Toast object (like usual) - -```js - Toast.setRef(ref) /> -``` - -And for the "modal toast", use another ref - -```js -function ScreenWithModal() { - const modalToastRef = React.useRef(); - - return ( - - - - ); -} -``` - -Then, when you want to show the "modal toast", call it using `modalToastRef.current.show()`. - -## Credits - -The icons for the default `success`, `error` and `info` types are made by [Pixel perfect](https://www.flaticon.com/authors/pixel-perfect) from [flaticon.com](www.flaticon.com). diff --git a/index.d.ts b/index.d.ts deleted file mode 100644 index 60bd100c..00000000 --- a/index.d.ts +++ /dev/null @@ -1,72 +0,0 @@ -import React from 'react'; -import { StyleProp, ViewStyle, TextStyle, ImageSourcePropType } from 'react-native' - -declare module 'react-native-toast-message' { - interface AnyObject { - [key: string]: any; - } - - export type ToastPosition = 'top' | 'bottom' - - export interface BaseToastProps { - leadingIcon?: ImageSourcePropType, - trailingIcon?: ImageSourcePropType, - text1?: string, - text2?: string, - onPress?: () => void, - onTrailingIconPress?: () => void, - onLeadingIconPress?: () => void, - style?: StyleProp, - leadingIconContainerStyle?: StyleProp, - trailingIconContainerStyle?: StyleProp, - leadingIconStyle?: StyleProp, - trailingIconStyle?: StyleProp, - contentContainerStyle?: StyleProp, - text1Style?: StyleProp, - text2Style?: StyleProp, - activeOpacity?: number, - text1NumberOfLines: number, - text2NumberOfLines: number, - } - export const BaseToast: React.FC - export const SuccessToast: React.FC - export const ErrorToast: React.FC - export const InfoToast: React.FC - - export interface ToastProps { - ref: (ref: any) => any; - config?: AnyObject, - style?: StyleProp, - topOffset?: number, - bottomOffset?: number, - keyboardOffset?: number, - visibilityTime?: number, - autoHide?: boolean, - height?: number, - position?: ToastPosition, - type?: string - } - - export interface ToastShowOptions { - type: string, - position?: ToastPosition, - text1?: string, - text2?: string, - visibilityTime?: number, - autoHide?: boolean, - topOffset?: number, - bottomOffset?: number, - props?: AnyObject, - onShow?: () => void, - onHide?: () => void, - onPress?: () => void - } - - export default class Toast extends React.Component { - static show(options: ToastShowOptions): void; - - static hide(): void; - - static setRef(ref: any): any; - } -} diff --git a/index.js b/index.js deleted file mode 100644 index 9ffe108a..00000000 --- a/index.js +++ /dev/null @@ -1,7 +0,0 @@ -import Toast from './src'; - -export { default as BaseToast } from './src/components/base'; -export { default as SuccessToast } from './src/components/success'; -export { default as ErrorToast } from './src/components/error'; -export { default as InfoToast } from './src/components/info'; -export default Toast; diff --git a/index.ts b/index.ts new file mode 100644 index 00000000..952ea4ca --- /dev/null +++ b/index.ts @@ -0,0 +1,2 @@ +export { Toast as default } from './src/Toast'; +export * from './src/types'; diff --git a/jest.config.js b/jest.config.js deleted file mode 100644 index 0a0fd70f..00000000 --- a/jest.config.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - preset: 'react-native', - setupFiles: ['./jest.setup.js'], - setupFilesAfterEnv: ['@testing-library/jest-native/extend-expect'] -}; diff --git a/jest.setup.js b/jest.setup.js deleted file mode 100644 index b7737e2a..00000000 --- a/jest.setup.js +++ /dev/null @@ -1 +0,0 @@ -/* eslint-env jest */ diff --git a/package.json b/package.json index daefad89..1b4fab2a 100644 --- a/package.json +++ b/package.json @@ -1,49 +1,48 @@ { "name": "react-native-toast-message", - "version": "1.6.0", + "version": "2.0.0", "description": "Toast message component for React Native", - "main": "index.js", - "scripts": { - "hooks:install": "node ./node_modules/husky/bin/install", - "lint": "./node_modules/.bin/eslint . --ext=jsx --ext=js", - "lint-staged": "./node_modules/.bin/lint-staged", - "prettier": "./node_modules/.bin/prettier . --write", - "test": "./node_modules/.bin/jest" - }, - "lint-staged": { - "**/*.js": [ - "prettier --write", - "eslint" - ] - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - }, - "keywords": [ - "react-native", - "toast" + "main": "./lib/index.js", + "types": "./lib/types/index.d.ts", + "files": [ + "/lib" ], - "author": "Calin Tamas ", - "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/calintamas/react-native-toast-message.git" }, + "scripts": { + "prepare": "husky install", + "build": "rm -rf ./lib && tsc", + "prettier": "./node_modules/.bin/prettier --write", + "lint": "./node_modules/.bin/eslint --fix", + "lint-staged": "./node_modules/.bin/lint-staged" + }, + "author": "Calin Tamas ", + "license": "MIT", "devDependencies": { - "@testing-library/jest-native": "^4.0.1", - "@testing-library/react-native": "^7.1.0", + "@testing-library/jest-native": "^4.0.2", + "@testing-library/react-native": "^7.2.0", "@types/jest": "^27.0.1", - "eslint-config-backpacker-react": "^0.6.0", - "husky": "^3.1.0", - "jest": "^26.6.3", - "lint-staged": "^11.0.0", - "metro-react-native-babel-preset": "^0.66.0", - "prettier": "2.4.1", - "react-test-renderer": "^17.0.1" + "eslint-config-backpacker-react-ts": "^0.1.0", + "husky": "^7.0.2", + "import-sort-style-module": "^6.0.0", + "jest": "^27.1.1", + "lint-staged": "^11.1.2", + "metro-react-native-babel-preset": "^0.66.2", + "prettier": "^2.4.1", + "prettier-plugin-import-sort": "^0.0.7", + "react-test-renderer": "^17.0.2", + "typescript": "^4.4.3" }, - "dependencies": { - "prop-types": "^15.7.2" + "importSort": { + ".js, .jsx, .ts, .tsx": { + "style": "module", + "parser": "typescript" + } + }, + "lint-staged": { + "*.{js,jsx,ts,tsx,md}": "yarn prettier", + "*.{js,jsx,ts,tsx}": "yarn lint" } } diff --git a/src/Toast.tsx b/src/Toast.tsx new file mode 100644 index 00000000..88bfb9a3 --- /dev/null +++ b/src/Toast.tsx @@ -0,0 +1,96 @@ +import React from 'react'; + +import { LoggerProvider } from './contexts'; +import { ToastUI } from './ToastUI'; +import { ToastHideParams, ToastProps, ToastShowParams } from './types'; +import { useToast } from './useToast'; + +const ToastRoot = React.forwardRef((props: ToastProps, ref) => { + const { + config, + type, + position, + visibilityTime, + topOffset, + bottomOffset, + keyboardOffset, + onShow, + onHide, + onPress + } = props; + const { show, hide, isVisible, options, data } = useToast({ + defaultOptions: { + type, + position, + visibilityTime, + topOffset, + bottomOffset, + keyboardOffset, + onShow, + onHide, + onPress + } + }); + + React.useImperativeHandle(ref, () => ({ + show, + hide + })); + + return ( + + ); +}); + +type ToastRef = { + show: (params: ToastShowParams) => void; + hide: (params: ToastHideParams) => void; +}; + +const toastRef = React.createRef(); + +export function Toast({ + config, + type, + position, + visibilityTime, + topOffset, + bottomOffset, + keyboardOffset, + onShow, + onHide, + onPress +}: ToastProps) { + return ( + + + + ); +} + +Toast.show = (params: ToastShowParams) => { + toastRef.current?.show(params); +}; + +Toast.hide = (params?: ToastHideParams) => { + toastRef.current?.hide(params); +}; diff --git a/src/ToastUI.tsx b/src/ToastUI.tsx new file mode 100644 index 00000000..b8f4130c --- /dev/null +++ b/src/ToastUI.tsx @@ -0,0 +1,81 @@ +import React from 'react'; + +import { AnimatedContainer } from './components/AnimatedContainer'; +import { ErrorToast } from './components/ErrorToast'; +import { InfoToast } from './components/InfoToast'; +import { SuccessToast } from './components/SuccessToast'; +import { + ToastConfig, + ToastData, + ToastHideParams, + ToastOptions, + ToastShowParams +} from './types'; + +export type ToastUIProps = { + isVisible: boolean; + options: Required; + data: ToastData; + show: (params: ToastShowParams) => void; + hide: (params: ToastHideParams) => void; + config?: ToastConfig; +}; + +const defaultToastConfig: ToastConfig = { + success: (props) => , + error: (props) => , + info: (props) => +}; + +function renderComponent({ + data, + options, + config, + isVisible, + show, + hide +}: ToastUIProps) { + const { text1, text2 } = data; + const { type, onPress, position, props } = options; + + const toastConfig = { + ...defaultToastConfig, + ...config + }; + const ToastComponent = toastConfig[type]; + + if (!ToastComponent) { + throw new Error( + `Toast type: '${type}' does not exist. You can add it via the 'config' prop on the Toast instance. Learn more: https://github.com/calintamas/react-native-toast-message/blob/master/README.md` + ); + } + + return ToastComponent({ + position, + type, + isVisible, + text1, + text2, + show, + hide, + onPress, + props + }); +} + +export function ToastUI(props: ToastUIProps) { + const { isVisible, options, hide } = props; + const { position, topOffset, bottomOffset, keyboardOffset } = options; + + return ( + + {renderComponent(props)} + + ); +} diff --git a/src/__tests__/Toast.test.js b/src/__tests__/Toast.test.js deleted file mode 100644 index b8b63f0b..00000000 --- a/src/__tests__/Toast.test.js +++ /dev/null @@ -1,231 +0,0 @@ -/* eslint-env jest */ - -import { act, fireEvent, render, waitFor } from '@testing-library/react-native'; -import React from 'react'; -import { View } from 'react-native'; - -import Toast from '..'; -import colors from '../colors'; - -function setup(props) { - const ref = { - current: undefined - }; - const utils = render(); - const getAnimatedView = () => utils.queryByTestId('animatedView'); - const getText1 = () => utils.queryByTestId('text1'); - const getText2 = () => utils.queryByTestId('text2'); - const getRootView = () => utils.queryByTestId('rootView'); - - return { - ref, - getRootView, - getText1, - getText2, - getAnimatedView, - ...utils - }; -} - -function getVerticalOffset(reactElement) { - return reactElement.props.style.transform[0].translateY; -} - -describe('test Toast behavior', () => { - describe('test API', () => { - it('becomes visible when show() is called, hides when hide() is called', async () => { - const { ref, getText1, getText2, getAnimatedView } = setup(); - let animatedView = getAnimatedView(); - - expect(getText1()).toBeFalsy(); - // Toast View is pushed off screen, on the Y axis - expect(getVerticalOffset(animatedView) < 0).toBe(true); - - await act(async () => { - await ref.current.show({ - text1: 'Hello', - text2: 'Test' - }); - }); - await waitFor(() => getText1()); - await waitFor(() => getText2()); - animatedView = getAnimatedView(); - expect(getVerticalOffset(animatedView) < 0).toBe(false); - - await act(async () => { - await ref.current.hide(); - }); - animatedView = getAnimatedView(); - expect(getVerticalOffset(animatedView) < 0).toBe(true); - }); - - it('shows success type', async () => { - const { ref, getRootView } = setup(); - - await act(async () => { - await ref.current.show({ - type: 'success' - }); - }); - - expect(getRootView()).toHaveStyle({ - borderLeftColor: colors.mantis - }); - }); - - it('shows info type', async () => { - const { ref, getRootView } = setup(); - - await act(async () => { - await ref.current.show({ - type: 'info' - }); - }); - - expect(getRootView()).toHaveStyle({ - borderLeftColor: colors.lightSkyBlue - }); - }); - - it('shows error type', async () => { - const { ref, getRootView } = setup(); - - await act(async () => { - await ref.current.show({ - type: 'error' - }); - }); - - expect(getRootView()).toHaveStyle({ - borderLeftColor: colors.blazeOrange - }); - }); - - it('calls onShow', async () => { - const onShow = jest.fn(); - const { ref } = setup(); - - await act(async () => { - await ref.current.show({ - type: 'info', - onShow - }); - }); - - expect(onShow).toHaveBeenCalled(); - }); - - it('calls onHide', async () => { - const onHide = jest.fn(); - const { ref } = setup(); - - await act(async () => { - await ref.current.show({ - type: 'info', - onHide - }); - await ref.current.hide(); - }); - - expect(onHide).toHaveBeenCalled(); - }); - - it('fires onPress', async () => { - const onPress = jest.fn(); - const { ref, getRootView } = setup(); - - await act(async () => { - await ref.current.show({ - type: 'info', - onPress - }); - }); - - fireEvent.press(getRootView()); - expect(onPress).toHaveBeenCalled(); - }); - - it('shows at the bottom', async () => { - const { ref, getAnimatedView } = setup(); - - await act(async () => { - await ref.current.show({ - position: 'bottom' - }); - }); - expect(getAnimatedView()).toHaveStyle({ - bottom: 0 - }); - }); - - it('shows with custom top offset', async () => { - const { ref, getAnimatedView } = setup(); - const offset = 60; - const height = 65; - - let animatedView = getAnimatedView(); - expect(getVerticalOffset(animatedView)).toBe(-height); - - await act(async () => { - await ref.current.show({ - topOffset: offset - }); - }); - - animatedView = getAnimatedView(); - expect(getVerticalOffset(animatedView)).toBe(offset); - }); - - it('shows with custom bottom offset', async () => { - const { ref, getAnimatedView } = setup(); - const offset = 60; - const height = 65; - - let animatedView = getAnimatedView(); - expect(getVerticalOffset(animatedView)).toBe(-height); - - await act(async () => { - await ref.current.show({ - position: 'bottom', - bottomOffset: offset - }); - }); - - animatedView = getAnimatedView(); - expect(getVerticalOffset(animatedView)).toBe(-offset); - }); - }); - - describe('test props', () => { - it('shows Toast from custom config', async () => { - const testID = 'testView'; - const { ref, queryByTestId } = setup({ - config: { - test: () => - } - }); - - await act(async () => { - await ref.current.show({ - type: 'test' - }); - }); - - const testView = queryByTestId(testID); - expect(testView).toBeTruthy(); - }); - - it('tries to show Toast type that does not exist', async () => { - const { ref, getRootView } = setup(); - - await act(async () => { - await ref.current.show({ - type: 'test' - }); - }); - - const rootView = getRootView(); - expect(rootView).toBeFalsy(); - }); - }); -}); diff --git a/src/assets/icons/close.png b/src/assets/icons/close.png deleted file mode 100755 index a6c683ca841b71140479dbb29b5ebb929ecec965..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqoCO|{#S9GG!XV7ZFl&wkP>``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&eBzP+c5V@L&KZT~?|1_KV}e!mNXcm6--Sa>v-er<4mX`9sU#+9oxZJuc??40m7&Lm*w;_PEg7sPl~KONEA4>XFw M)78&qol`;+0C~zYPXGV_ diff --git a/src/assets/icons/close@2x.png b/src/assets/icons/close@2x.png deleted file mode 100755 index 1c09c7fc9b411405eaa35fd83adb2be28faec80a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9E$svykh8Km+7D9BhG z+lA&5fD`%p~k7J8GCd^3meAM=T zlIEV5f7rdUgSTeebDZ(~|7`B}6IwG(d%}dgw|Aaj!m-9n>3_|)Nj(Q9Y*5+1cbTn4 TTp^1U&f`f04*cr+aoF0y`^c zS6R;PPQN$Z{iYj2jd6w)#(V?u2^dW#G{dJk0W-&Z|JPyiX@nw%K@s34Cv+prv+@Pz zLQ*Jb`6xt8E%8oE5E?yO*Q+AhA>ceYXSlvB#hIs;&^x-twCW%)mpCzuObE_3Dv7Am z_<<2(#%*)$a$?t}U+RoKO(Rwx^;L|@2$pSRhG;0u8CgE1k)-7S3u(QRWsBsA1{kji z!pA4g^}_LKUD4hkN!bXF)MjD%i{cpnCGlaU9|8BLm8h-Z3&lDvMH2F-xyv!!c39>( z<4bcB1Jrz1)k^RlJf=isoGGQaq%vn4CsOS*U)kIYE5L_L+%;~Oz!LX7k-?S7(zE?W z#Ox)yURgOk`HNSA-{?D=$0ezl8i~jlEpeH}HYT^|a(SYb2;o7&<@ri{CdmL9;#SCC zQ;VDu>I=I;;=xtQxTy1C$3IsDdzlpLGu~lF3Ry@wTXma4K{Hv-R*|?Qt}YL3NDnkO z(jg1qyxs)osowBay7abIscY>QYHLJ>kMf*W>DjhDSjOP78DQN$Hb`X8w%<$Uu~KH- z8_{v!J274F5G0r=P?cH&Nk=lUqrgUDw7WuQg?}M>y;EHu(m`Xk-5I=!B)1*;H9CNc-|#1k7rh2N<%Vz9O$Y9*n&$c*=pT~-+cf8002ov JPDHLkV1lz!TG#*p diff --git a/src/assets/icons/error@2x.png b/src/assets/icons/error@2x.png deleted file mode 100755 index d6ab71e5bdc50bef7c2d7ab3c65aef04494690cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1533 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 diff --git a/src/assets/icons/info@2x.png b/src/assets/icons/info@2x.png deleted file mode 100644 index 24bea2e50aaa9fb452184f594afdef55676493ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2643 zcmbVO2~ZSQ8Xgej24jM(c(sEN(CO)8?$&{U84ZIBmndS4p{Kj&keTUrdW1nyL97K4 zTr{ylh#HL>39Cto$11GHfUrX1Dxy(XBBjP;U6+)&lwu@nwuftV%Ve$Xs_uUM-uJ%$ z`;YfmZ%s>iE66|GpU2|`X%jUW+#7b^z7x4;mgkS9+{=$i%w~DKDUt5mLz^+DpU3ka zG-ob%EY~Gt1Z@@KB(0}}PAkKqdAtR2P6j7(DF>jZjAomX|KLyO_<)&I^0Op5SjVU- zlR0snom#RkC6ic}ODITwTr9A_iE#v0%7Ft;tHs7*P9=Ys7vsk6X^0ODLmatEe!SZt zuw0i0sA)R|NQ6?5K*VxDrVt`hF)We_02D?P5G;of5eOp~EX5=;VD#d1*6gGK%g`(u zwZ(lY`6h>h!5}CrnDJr6Vp_nQ>YhI~pb~V2~4MAVdheT^a_G#5j&wYqty=CkcqMP*%$3U^y%@ zj%7@=gJwM22jouAXoO9W1#f=oi*o=H& zJdl{0w$OIYFsDxR{Jd7JPP5YnvxQq=Gu}!7vydAW%?d(91xvUM2_i2q6LyIU!caC8StFjPKXb#9DU|xc85o2a+Z@ zj{nFbWC|39Nf{`EaXl!*#RgE0=%t`RPe>6xijycV9#fNQH*-f4w>;14Rz-4*aw$&8 zNP_~Dz;YZE6A}WHizP59K`2yCi3v(ClDP|ixR$U)Gs|VUVDu<0q1KF!EM{Q1d@!7F z9}6X)aMuGx@<*r5FNw!1SsvY=Z=yKTU#XH2>nv?>;ox|DChpwdcCm7@TW~?%{YZ=03)| zIc4Lh?Od<^ruMUZ9?#2DtBKDv^?qIRPGV^M8y9Z0p}J3h+IKDalMspTKWAS&nXoyb zysS#Ff2SZoH2HYQ+02gDlPP?DW2xa24*E*zuohf z^XV?zEg>9O(R~-{=XHg&cx4nZ%lrzL`gZnt>>9d+r>>j3&+CcdHH|WOztxolc(0F{ zT)H@_%4fId>Uy73mGS#726zkycGURf6qt15Gzn%XuZWV)V6vrC#DHpQpv9(o4sR^Y)#;|3l2A@~Jl~{`PsC z$NK6!fu-BkMGr16+oFCu;KMx;%RHOAJJyJLd_B&I{a~gc-rCykmAPYDqqyQ-#PXDB z-%;DNYTnid{$cR0Gyj^d+tfU@>lkLC>Q`0ky!-fJy{R1)2bvd8HpYbZYa|0YSlnXbch}4( z@Ve{K`?hqQG2Dv%+QQ7gxs-VPxPC!eUAjtIKh%~ptvop>xOq+A)zcaK(^YfpdxYVQ z?NRfu95`_%#pB@|;|6J)Emt*gIQ{mHqQs2o{xu$=l5|zb)C9kHpeT5M?B2auUd2U` zEw)nADQ&pDMCDqoAFMaYQ^U9W6c=r1u~nM7Qo`?VR=KQ={ci-Z1kLje-79xOh$WBj)WJ7iMa!8$Oyr;;$n;)9udA2P=3VKlSei vdoOejzS%iJc`7-q_1iKNz=SO1G#Z>zg|FZ=ZHyisp-ioX!6RvEkcI diff --git a/src/assets/icons/info@3x.png b/src/assets/icons/info@3x.png deleted file mode 100644 index 6d1694317e1e7a3ace2d3ec186c187972e437d2b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3163 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 diff --git a/src/assets/index.js b/src/assets/index.js deleted file mode 100644 index 60c74a32..00000000 --- a/src/assets/index.js +++ /dev/null @@ -1,15 +0,0 @@ -/* eslint-disable global-require */ - -const assets = { - icons: { - success: require('./icons/success.png'), - error: require('./icons/error.png'), - info: require('./icons/info.png'), - close: require('./icons/close.png') - } -}; - -const { icons } = assets; - -export { icons }; -export default assets; diff --git a/src/colors/index.js b/src/colors/index.js deleted file mode 100644 index a307760b..00000000 --- a/src/colors/index.js +++ /dev/null @@ -1,10 +0,0 @@ -const colors = { - white: '#FFF', - blazeOrange: '#FE6301', - mantis: '#69C779', - alto: '#D8D8D8', - dustyGray: '#979797', - lightSkyBlue: '#87CEFA' -}; - -export default colors; diff --git a/src/styles.js b/src/components/AnimatedContainer.styles.tsx similarity index 75% rename from src/styles.js rename to src/components/AnimatedContainer.styles.tsx index 2bc826b9..06c9c395 100644 --- a/src/styles.js +++ b/src/components/AnimatedContainer.styles.tsx @@ -1,12 +1,11 @@ import { StyleSheet } from 'react-native'; -export default StyleSheet.create({ +export const styles = StyleSheet.create({ base: { position: 'absolute', alignItems: 'center', justifyContent: 'center', - left: 0, - right: 0 + alignSelf: 'center' }, top: { top: 0 diff --git a/src/components/AnimatedContainer.tsx b/src/components/AnimatedContainer.tsx new file mode 100644 index 00000000..1c4679b7 --- /dev/null +++ b/src/components/AnimatedContainer.tsx @@ -0,0 +1,120 @@ +import React from 'react'; +import { Animated, Dimensions, PanResponderGestureState } from 'react-native'; + +import { useLogger } from '../contexts'; +import { + usePanResponder, + useSlideAnimation, + useViewDimensions +} from '../hooks'; +import { ReactChildren, ToastPosition } from '../types'; +import { bound } from '../utils/number'; +import { styles } from './AnimatedContainer.styles'; + +type AnimatedContainerProps = { + children: ReactChildren; + isVisible: boolean; + position: ToastPosition; + topOffset: number; + bottomOffset: number; + keyboardOffset: number; + onHide: () => void; +}; + +function dampingFor( + gesture: PanResponderGestureState, + position: ToastPosition +) { + const { moveY } = gesture; + + switch (position) { + case 'bottom': { + const { height: screenHeight } = Dimensions.get('screen'); + return screenHeight - moveY; + } + case 'top': + return moveY; + default: + throw new Error(`Toast position: ${position} not implemented`); + } +} + +function animatedValueFor( + gesture: PanResponderGestureState, + position: ToastPosition, + damping: number +) { + const boundValue = (val: number) => bound(val, 0, 2); + const { dy } = gesture; + + switch (position) { + case 'bottom': + return boundValue(1 - dy / damping); + case 'top': + return boundValue(1 + dy / damping); + default: + throw new Error(`Toast position: ${position} not implemented`); + } +} + +export function AnimatedContainer({ + children, + isVisible, + position, + topOffset, + bottomOffset, + keyboardOffset, + onHide +}: AnimatedContainerProps) { + const { log } = useLogger(); + + const { computeViewDimensions, height } = useViewDimensions(); + + const { animatedValue, animate, animationStyles } = useSlideAnimation({ + position, + height, + topOffset, + bottomOffset, + keyboardOffset + }); + + const onDismiss = React.useCallback(() => { + log('Swipe, dismissing'); + animate(0); + onHide(); + }, [animate, log, onHide]); + + const onRestore = React.useCallback(() => { + log('Swipe, restoring to original position'); + animate(1); + }, [animate, log]); + + const computeNewAnimatedValueForGesture = React.useCallback( + (gesture: PanResponderGestureState) => { + const damping = dampingFor(gesture, position); + const newAnimatedValue = animatedValueFor(gesture, position, damping); + return newAnimatedValue; + }, + [position] + ); + const { panResponder } = usePanResponder({ + animatedValue, + computeNewAnimatedValueForGesture, + onDismiss, + onRestore + }); + + React.useLayoutEffect(() => { + const newAnimationValue = isVisible ? 1 : 0; + animate(newAnimationValue); + }, [animate, isVisible]); + + return ( + + {children} + + ); +} diff --git a/src/components/BaseToast.styles.ts b/src/components/BaseToast.styles.ts new file mode 100644 index 00000000..cf2a6283 --- /dev/null +++ b/src/components/BaseToast.styles.ts @@ -0,0 +1,41 @@ +import { StyleSheet } from 'react-native'; + +export const HEIGHT = 60; +export const WIDTH = 340; +export const BORDER_RADIUS = 6; + +export const styles = StyleSheet.create({ + base: { + flexDirection: 'row', + height: HEIGHT, + width: WIDTH, + borderRadius: BORDER_RADIUS, + shadowOffset: { width: 0, height: 0 }, + shadowOpacity: 0.1, + shadowRadius: BORDER_RADIUS, + elevation: 2, + backgroundColor: '#FFF' + }, + leadingBorder: { + borderLeftWidth: 5, + borderLeftColor: '#D8D8D8' + }, + contentContainer: { + paddingHorizontal: 25, + flex: 1, + justifyContent: 'center', + alignItems: 'flex-start' // In case of RTL, the text will start from the right + }, + text1: { + fontSize: 12, + fontWeight: 'bold', + marginBottom: 2, + color: '#000', + width: '100%' // Fixes: https://github.com/calintamas/react-native-toast-message/issues/130 + }, + text2: { + fontSize: 10, + color: '#979797', + width: '100%' // Fixes: https://github.com/calintamas/react-native-toast-message/issues/130 + } +}); diff --git a/src/components/BaseToast.tsx b/src/components/BaseToast.tsx new file mode 100644 index 00000000..b2a8a7cd --- /dev/null +++ b/src/components/BaseToast.tsx @@ -0,0 +1,66 @@ +import React from 'react'; +import { Text, View } from 'react-native'; + +import { BaseToastProps } from '../types'; +import { styles } from './BaseToast.styles'; +import { Touchable } from './Touchable'; + +function getTestId(elementName: string) { + return `toast${elementName}`; +} + +export function BaseToast({ + text1, + text2, + onPress, + activeOpacity, + style, + touchableContainerProps, + contentContainerStyle, + contentContainerProps, + text1Style, + text1NumberOfLines = 1, + text1Props, + text2Style, + text2NumberOfLines = 1, + text2Props, + renderLeadingIcon, + renderTrailingIcon +}: BaseToastProps) { + return ( + + {renderLeadingIcon && renderLeadingIcon()} + + {text1 && text1.length > 0 && ( + + {text1} + + )} + {text2 && text2?.length > 0 && ( + + {text2} + + )} + + {renderTrailingIcon && renderTrailingIcon()} + + ); +} diff --git a/src/components/ErrorToast.tsx b/src/components/ErrorToast.tsx new file mode 100644 index 00000000..f4ecf98a --- /dev/null +++ b/src/components/ErrorToast.tsx @@ -0,0 +1,8 @@ +import React from 'react'; + +import { BaseToastProps } from '../types'; +import { BaseToast } from './BaseToast'; + +export function ErrorToast(props: BaseToastProps) { + return ; +} diff --git a/src/components/InfoToast.tsx b/src/components/InfoToast.tsx new file mode 100644 index 00000000..8eb16914 --- /dev/null +++ b/src/components/InfoToast.tsx @@ -0,0 +1,8 @@ +import React from 'react'; + +import { BaseToastProps } from '../types'; +import { BaseToast } from './BaseToast'; + +export function InfoToast(props: BaseToastProps) { + return ; +} diff --git a/src/components/SuccessToast.tsx b/src/components/SuccessToast.tsx new file mode 100644 index 00000000..a897f24c --- /dev/null +++ b/src/components/SuccessToast.tsx @@ -0,0 +1,8 @@ +import React from 'react'; + +import { BaseToastProps } from '../types'; +import { BaseToast } from './BaseToast'; + +export function SuccessToast(props: BaseToastProps) { + return ; +} diff --git a/src/components/Touchable.tsx b/src/components/Touchable.tsx new file mode 100644 index 00000000..0e426410 --- /dev/null +++ b/src/components/Touchable.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { TouchableOpacity, TouchableOpacityProps } from 'react-native'; + +import { ReactChildren } from '../types'; + +type TouchableProps = { + children: ReactChildren; +} & TouchableOpacityProps; + +export function Touchable({ + children, + activeOpacity = 1, + ...rest +}: TouchableProps) { + return ( + + {children} + + ); +} diff --git a/src/components/__tests__/Base.test.js b/src/components/__tests__/Base.test.js deleted file mode 100644 index f3957853..00000000 --- a/src/components/__tests__/Base.test.js +++ /dev/null @@ -1,224 +0,0 @@ -/* eslint-env jest */ - -import { fireEvent, render } from '@testing-library/react-native'; -import React from 'react'; - -import colors from '../../colors'; -import { icons } from '../../assets'; -import Base from '../base'; - -describe('test Base component', () => { - it('renders default Views', () => { - const { queryByTestId } = render(); - const rootView = queryByTestId('rootView'); - const leadingIcon = queryByTestId('leadingIcon'); - const trailingIcon = queryByTestId('trailingIcon'); - const text1 = queryByTestId('text1'); - const text2 = queryByTestId('text2'); - - expect(rootView).toBeTruthy(); - expect(rootView).toHaveStyle({ - height: 60, - width: '90%', - borderLeftWidth: 5, - borderLeftColor: colors.alto - }); - expect(text1).toBeFalsy(); - expect(text2).toBeFalsy(); - expect(leadingIcon).toBeFalsy(); - expect(trailingIcon).toBeTruthy(); - expect(trailingIcon.children[0].props.source).toBe(icons.close); - }); - - it('renders custom leadingIcon and trailingIcon', () => { - const mockIcon = { uri: 'iconSource' }; - - const { queryByTestId } = render( - - ); - const leadingIcon = queryByTestId('leadingIcon'); - const trailingIcon = queryByTestId('trailingIcon'); - - expect(leadingIcon.children[0].props.source).toBe(mockIcon); - expect(trailingIcon.children[0].props.source).toBe(mockIcon); - }); - - it('renders text1 and text2', () => { - const t1 = 'foo'; - const t2 = 'bar'; - const { queryByTestId } = render(); - const text1 = queryByTestId('text1'); - const text2 = queryByTestId('text2'); - - expect(text1.children[0]).toBe(t1); - expect(text2.children[0]).toBe(t2); - }); - - it('fires onPress', () => { - const onPress = jest.fn(); - const { queryByTestId } = render(); - const rootView = queryByTestId('rootView'); - - fireEvent.press(rootView); - - expect(onPress).toHaveBeenCalled(); - }); - - it('fires onLeadingIconPress and onTrailingIconPress', () => { - const onLeadingIconPress = jest.fn(); - const onTrailingIconPress = jest.fn(); - const mockIcon = { uri: 'mock' }; - - const { queryByTestId } = render( - - ); - const leadingIcon = queryByTestId('leadingIcon'); - const trailingIcon = queryByTestId('trailingIcon'); - - fireEvent.press(leadingIcon); - expect(onLeadingIconPress).toHaveBeenCalledTimes(1); - expect(onTrailingIconPress).toHaveBeenCalledTimes(0); - - fireEvent.press(trailingIcon); - expect(onLeadingIconPress).toHaveBeenCalledTimes(1); - expect(onTrailingIconPress).toHaveBeenCalledTimes(1); - }); - - it('sets custom style on root View', () => { - const mockStyle = { - height: 20 - }; - const { queryByTestId } = render(); - const rootView = queryByTestId('rootView'); - - expect(rootView).toHaveStyle(mockStyle); - }); - - it('sets custom style on leading icon container', () => { - const mockStyle = { - width: 40 - }; - const { queryByTestId } = render( - - ); - const leadingIcon = queryByTestId('leadingIcon'); - - expect(leadingIcon).toHaveStyle(mockStyle); - }); - - it('sets custom style on trailing icon container', () => { - const mockStyle = { - width: 40 - }; - const { queryByTestId } = render( - - ); - const trailingIcon = queryByTestId('trailingIcon'); - - expect(trailingIcon).toHaveStyle(mockStyle); - }); - - it('sets custom style on leading icon', () => { - const mockStyle = { - width: 25, - height: 25 - }; - const { queryByTestId } = render( - - ); - const leadingIcon = queryByTestId('leadingIcon'); - - expect(leadingIcon.children[0]).toHaveStyle(mockStyle); - }); - - it('sets custom style on trailing icon', () => { - const mockStyle = { - width: 25, - height: 25 - }; - const { queryByTestId } = render( - - ); - const trailingIcon = queryByTestId('trailingIcon'); - - expect(trailingIcon.children[0]).toHaveStyle(mockStyle); - }); - - it('has default content container style', () => { - const { queryByTestId } = render(); - const contentContainer = queryByTestId('contentContainer'); - - expect(contentContainer).toHaveStyle({ - flex: 1, - justifyContent: 'center', - alignItems: 'flex-start' - }); - }); - - it('sets custom content container style', () => { - const mockStyle = { - backgroundColor: 'tomato' - }; - const { queryByTestId } = render( - - ); - const contentContainer = queryByTestId('contentContainer'); - - expect(contentContainer).toHaveStyle(mockStyle); - }); - - it('sets custom text1 and text2 style', () => { - const mockStyle1 = { - fontSize: 10 - }; - const mockStyle2 = { - fontSize: 8 - }; - const { queryByTestId } = render( - - ); - const text1 = queryByTestId('text1'); - const text2 = queryByTestId('text2'); - - expect(text1).toHaveStyle(mockStyle1); - expect(text2).toHaveStyle(mockStyle2); - }); - - it('renders default number of lines', () => { - const { queryByTestId } = render(); - const text1 = queryByTestId('text1'); - const text2 = queryByTestId('text2'); - - expect(text1.props.numberOfLines).toBe(1); - expect(text2.props.numberOfLines).toBe(2); - }); - - it('sets custom number of lines', () => { - const { queryByTestId } = render( - - ); - const text1 = queryByTestId('text1'); - const text2 = queryByTestId('text2'); - - expect(text1.props.numberOfLines).toBe(2); - expect(text2.props.numberOfLines).toBe(3); - }); -}); diff --git a/src/components/__tests__/ErrorToast.test.js b/src/components/__tests__/ErrorToast.test.js deleted file mode 100644 index 7f6156ff..00000000 --- a/src/components/__tests__/ErrorToast.test.js +++ /dev/null @@ -1,21 +0,0 @@ -/* eslint-env jest */ - -import { render } from '@testing-library/react-native'; -import React from 'react'; - -import colors from '../../colors'; -import { icons } from '../../assets'; -import ErrorToast from '../error'; - -describe('test ErrorToast component', () => { - it('renders style correctly', () => { - const { queryByTestId } = render(); - const rootView = queryByTestId('rootView'); - const leadingIcon = queryByTestId('leadingIcon'); - - expect(rootView).toHaveStyle({ - borderLeftColor: colors.blazeOrange - }); - expect(leadingIcon.children[0].props.source).toBe(icons.error); - }); -}); diff --git a/src/components/__tests__/Icon.test.js b/src/components/__tests__/Icon.test.js deleted file mode 100644 index 55d97196..00000000 --- a/src/components/__tests__/Icon.test.js +++ /dev/null @@ -1,21 +0,0 @@ -/* eslint-env jest */ - -import { render } from '@testing-library/react-native'; -import React from 'react'; - -import Icon from '../icon'; - -describe('test Icon component', () => { - it('does not render anything', () => { - const { queryByTestId } = render(); - const icon = queryByTestId('icon'); - expect(icon).toBeFalsy(); - }); - - it('renders an icon', () => { - const mockIcon = { uri: 'mock' }; - const { queryByTestId } = render(); - const icon = queryByTestId('icon'); - expect(icon.props.source).toBe(mockIcon); - }); -}); diff --git a/src/components/__tests__/InfoToast.test.js b/src/components/__tests__/InfoToast.test.js deleted file mode 100644 index ad06de52..00000000 --- a/src/components/__tests__/InfoToast.test.js +++ /dev/null @@ -1,21 +0,0 @@ -/* eslint-env jest */ - -import { render } from '@testing-library/react-native'; -import React from 'react'; - -import colors from '../../colors'; -import { icons } from '../../assets'; -import InfoToast from '../info'; - -describe('test InfoToast component', () => { - it('renders style correctly', () => { - const { queryByTestId } = render(); - const rootView = queryByTestId('rootView'); - const leadingIcon = queryByTestId('leadingIcon'); - - expect(rootView).toHaveStyle({ - borderLeftColor: colors.lightSkyBlue - }); - expect(leadingIcon.children[0].props.source).toBe(icons.info); - }); -}); diff --git a/src/components/__tests__/SuccessToast.test.js b/src/components/__tests__/SuccessToast.test.js deleted file mode 100644 index 764bfd4b..00000000 --- a/src/components/__tests__/SuccessToast.test.js +++ /dev/null @@ -1,21 +0,0 @@ -/* eslint-env jest */ - -import { render } from '@testing-library/react-native'; -import React from 'react'; - -import colors from '../../colors'; -import { icons } from '../../assets'; -import SuccessToast from '../success'; - -describe('test SuccessToast component', () => { - it('renders style correctly', () => { - const { queryByTestId } = render(); - const rootView = queryByTestId('rootView'); - const leadingIcon = queryByTestId('leadingIcon'); - - expect(rootView).toHaveStyle({ - borderLeftColor: colors.mantis - }); - expect(leadingIcon.children[0].props.source).toBe(icons.success); - }); -}); diff --git a/src/components/base/index.js b/src/components/base/index.js deleted file mode 100644 index 46dc9f7b..00000000 --- a/src/components/base/index.js +++ /dev/null @@ -1,134 +0,0 @@ -import React from 'react'; -import { View, TouchableOpacity, Text } from 'react-native'; -import PropTypes from 'prop-types'; - -import Icon from '../icon'; -import { icons } from '../../assets'; -import { stylePropType } from '../../utils/prop-types'; -import styles, { HEIGHT } from './styles'; - -function BaseToast({ - leadingIcon, - trailingIcon, - text1, - text2, - onPress, - onLeadingIconPress, - onTrailingIconPress, - style, - leadingIconContainerStyle, - trailingIconContainerStyle, - leadingIconStyle, - trailingIconStyle, - contentContainerStyle, - text1Style, - text2Style, - activeOpacity, - text1NumberOfLines, - text2NumberOfLines -}) { - return ( - - {leadingIcon && ( - - - - )} - - - {text1?.length > 0 && ( - - - {text1} - - - )} - {text2?.length > 0 && ( - - - {text2} - - - )} - - - {trailingIcon && ( - - - - )} - - ); -} - -BaseToast.HEIGHT = HEIGHT; - -BaseToast.propTypes = { - leadingIcon: Icon.propTypes.source, - trailingIcon: Icon.propTypes.source, - text1: PropTypes.string, - text2: PropTypes.string, - onPress: PropTypes.func, - onTrailingIconPress: PropTypes.func, - onLeadingIconPress: PropTypes.func, - style: stylePropType, - leadingIconContainerStyle: stylePropType, - trailingIconContainerStyle: stylePropType, - leadingIconStyle: stylePropType, - trailingIconStyle: stylePropType, - contentContainerStyle: stylePropType, - text1Style: stylePropType, - text2Style: stylePropType, - activeOpacity: PropTypes.number, - text1NumberOfLines: PropTypes.number, - text2NumberOfLines: PropTypes.number -}; - -BaseToast.defaultProps = { - leadingIcon: undefined, - trailingIcon: icons.close, - text1: undefined, - text2: undefined, - onPress: undefined, - onLeadingIconPress: undefined, - onTrailingIconPress: undefined, - style: undefined, - leadingIconContainerStyle: undefined, - trailingIconContainerStyle: undefined, - leadingIconStyle: undefined, - trailingIconStyle: undefined, - contentContainerStyle: undefined, - text1Style: undefined, - text2Style: undefined, - activeOpacity: 0.8, - text1NumberOfLines: 1, - text2NumberOfLines: 2 -}; - -export default BaseToast; diff --git a/src/components/base/styles.js b/src/components/base/styles.js deleted file mode 100644 index b405804a..00000000 --- a/src/components/base/styles.js +++ /dev/null @@ -1,54 +0,0 @@ -import { StyleSheet } from 'react-native'; -import colors from '../../colors'; - -export const HEIGHT = 60; - -export default StyleSheet.create({ - base: { - flexDirection: 'row', - height: HEIGHT, - width: '90%', - borderRadius: 6, - backgroundColor: colors.white, - shadowOffset: { width: 0, height: 0 }, - shadowOpacity: 0.1, - shadowRadius: 6, - elevation: 2 - }, - borderLeft: { - borderLeftWidth: 5, - borderLeftColor: colors.alto - }, - leadingIconContainer: { - width: 50, - justifyContent: 'center', - alignItems: 'center' - }, - contentContainer: { - flex: 1, - justifyContent: 'center', - alignItems: 'flex-start' // in case of rtl the text will start from the right - }, - trailingIconContainer: { - width: 40, - justifyContent: 'center', - alignItems: 'center' - }, - leadingIcon: { - width: 20, - height: 20 - }, - trailingIcon: { - width: 9, - height: 9 - }, - text1: { - fontSize: 12, - fontWeight: 'bold', - marginBottom: 3 - }, - text2: { - fontSize: 10, - color: colors.dustyGray - } -}); diff --git a/src/components/error.js b/src/components/error.js deleted file mode 100644 index 5aa0ff10..00000000 --- a/src/components/error.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; - -import BaseToast from './base'; -import { icons } from '../assets'; -import colors from '../colors'; - -function ErrorToast(props) { - return ( - - ); -} - -ErrorToast.propTypes = BaseToast.propTypes; - -export default ErrorToast; diff --git a/src/components/icon/index.js b/src/components/icon/index.js deleted file mode 100644 index 0fda5caa..00000000 --- a/src/components/icon/index.js +++ /dev/null @@ -1,40 +0,0 @@ -import React from 'react'; -import { Image } from 'react-native'; -import PropTypes from 'prop-types'; - -import { stylePropType } from '../../utils/prop-types'; -import styles from './styles'; - -function Icon({ source, style }) { - if (!source) { - return null; - } - - return ( - - ); -} - -const imageSourcePropType = PropTypes.oneOfType([ - PropTypes.number, - PropTypes.shape({ - uri: PropTypes.string - }) -]); - -Icon.propTypes = { - source: imageSourcePropType, - style: stylePropType -}; - -Icon.defaultProps = { - source: undefined, - style: undefined -}; - -export default Icon; diff --git a/src/components/icon/styles.js b/src/components/icon/styles.js deleted file mode 100644 index 6f9294d4..00000000 --- a/src/components/icon/styles.js +++ /dev/null @@ -1,8 +0,0 @@ -import { StyleSheet } from 'react-native'; - -export default StyleSheet.create({ - base: { - height: 16, - width: 16 - } -}); diff --git a/src/components/info.js b/src/components/info.js deleted file mode 100644 index 119f8f87..00000000 --- a/src/components/info.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; - -import BaseToast from './base'; -import { icons } from '../assets'; -import colors from '../colors'; - -function InfoToast(props) { - return ( - - ); -} - -InfoToast.propTypes = BaseToast.propTypes; - -export default InfoToast; diff --git a/src/components/success.js b/src/components/success.js deleted file mode 100644 index a55f16d7..00000000 --- a/src/components/success.js +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; - -import BaseToast from './base'; -import { icons } from '../assets'; -import colors from '../colors'; - -function SuccessToast(props) { - return ( - - ); -} - -SuccessToast.propTypes = BaseToast.propTypes; - -export default SuccessToast; diff --git a/src/contexts/LoggerContext.tsx b/src/contexts/LoggerContext.tsx new file mode 100644 index 00000000..4ca942bd --- /dev/null +++ b/src/contexts/LoggerContext.tsx @@ -0,0 +1,44 @@ +import React from 'react'; + +import { ReactChildren } from '../types'; +import { noop } from '../utils/func'; + +export type LoggerContextType = { + log: (...args: unknown[]) => void; +}; + +export type LoggerProviderProps = { + children: ReactChildren; + enableLogs?: boolean; +}; + +const LoggerContext = React.createContext({ + log: noop +}); + +function LoggerProvider({ children, enableLogs = false }: LoggerProviderProps) { + const log = React.useCallback( + (...args: unknown[]) => { + if (enableLogs) { + // eslint-disable-next-line no-console + console.log('Toast:', ...args); + } + }, + [enableLogs] + ); + + const value = { + log + }; + + return ( + {children} + ); +} + +function useLogger() { + const ctx = React.useContext(LoggerContext); + return ctx; +} + +export { LoggerProvider, useLogger }; diff --git a/src/contexts/index.ts b/src/contexts/index.ts new file mode 100644 index 00000000..0b66bf77 --- /dev/null +++ b/src/contexts/index.ts @@ -0,0 +1 @@ +export * from './LoggerContext'; diff --git a/src/hooks/index.ts b/src/hooks/index.ts new file mode 100644 index 00000000..2840571e --- /dev/null +++ b/src/hooks/index.ts @@ -0,0 +1,5 @@ +export * from './useViewDimensions'; +export * from './useSlideAnimation'; +export * from './useTimeout'; +export * from './usePanResponder'; +export * from './useKeyboard'; diff --git a/src/hooks/useKeyboard.ts b/src/hooks/useKeyboard.ts new file mode 100644 index 00000000..f8e68d16 --- /dev/null +++ b/src/hooks/useKeyboard.ts @@ -0,0 +1,38 @@ +import React from 'react'; +import { Keyboard, KeyboardEvent } from 'react-native'; + +import { isIOS } from '../utils/platform'; + +export function useKeyboard() { + const [keyboardHeight, setKeyboardHeight] = React.useState(0); + const [isKeyboardVisible, setIsKeyboardVisible] = React.useState(false); + + const onShow = React.useCallback((event: KeyboardEvent) => { + const { height } = event.endCoordinates; + setKeyboardHeight(height); + setIsKeyboardVisible(true); + }, []); + + const onHide = React.useCallback(() => { + setKeyboardHeight(0); + setIsKeyboardVisible(false); + }, []); + + React.useEffect(() => { + if (!isIOS) { + return () => {}; + } + const didShowListener = Keyboard.addListener('keyboardDidShow', onShow); + const didHideListener = Keyboard.addListener('keyboardDidHide', onHide); + + return () => { + didShowListener.remove(); + didHideListener.remove(); + }; + }, [onHide, onShow]); + + return { + keyboardHeight, + isKeyboardVisible + }; +} diff --git a/src/hooks/usePanResponder.ts b/src/hooks/usePanResponder.ts new file mode 100644 index 00000000..96046c04 --- /dev/null +++ b/src/hooks/usePanResponder.ts @@ -0,0 +1,75 @@ +import React, { RefObject } from 'react'; +import { + Animated, + GestureResponderEvent, + PanResponder, + PanResponderGestureState +} from 'react-native'; + +function shouldSetPanResponder( + _event: GestureResponderEvent, + gesture: PanResponderGestureState +) { + const { dx, dy } = gesture; + // Fixes onPress handler + // https://github.com/calintamas/react-native-toast-message/issues/113 + const offset = 2; + return Math.abs(dx) > offset || Math.abs(dy) > offset; +} + +type UsePanResponderParams = { + animatedValue: RefObject; + computeNewAnimatedValueForGesture: ( + gesture: PanResponderGestureState + ) => number; + onDismiss: () => void; + onRestore: () => void; +}; + +export function usePanResponder({ + animatedValue, + computeNewAnimatedValueForGesture, + onDismiss, + onRestore +}: UsePanResponderParams) { + const onMove = React.useCallback( + (_event: GestureResponderEvent, gesture: PanResponderGestureState) => { + const newAnimatedValue = computeNewAnimatedValueForGesture(gesture); + animatedValue.current?.setValue(newAnimatedValue); + }, + [animatedValue, computeNewAnimatedValueForGesture] + ); + + const onRelease = React.useCallback( + (_event: GestureResponderEvent, gesture: PanResponderGestureState) => { + const { dy, vy } = gesture; + const newAnimatedValue = computeNewAnimatedValueForGesture(gesture); + + const dismissThreshold = 0.65; + if ( + newAnimatedValue <= dismissThreshold || + (Math.abs(vy) >= dismissThreshold && dy < 0) + ) { + onDismiss(); + } else { + onRestore(); + } + }, + [computeNewAnimatedValueForGesture, onDismiss, onRestore] + ); + + const panResponder = React.useMemo( + () => + PanResponder.create({ + onMoveShouldSetPanResponder: shouldSetPanResponder, + onMoveShouldSetPanResponderCapture: shouldSetPanResponder, + onPanResponderMove: onMove, + onPanResponderRelease: onRelease + }), + [onMove, onRelease] + ); + + return { + panResponder + }; +} diff --git a/src/hooks/useSlideAnimation.ts b/src/hooks/useSlideAnimation.ts new file mode 100644 index 00000000..212fd280 --- /dev/null +++ b/src/hooks/useSlideAnimation.ts @@ -0,0 +1,83 @@ +import React from 'react'; +import { Animated } from 'react-native'; + +import { ToastPosition } from '../types'; +import { additiveInverseArray } from '../utils/array'; +import { useKeyboard } from './useKeyboard'; + +type UseSlideAnimationParams = { + position: ToastPosition; + height: number; + topOffset: number; + bottomOffset: number; + keyboardOffset: number; +}; + +function translateYOutputRangeFor({ + position, + height, + topOffset, + bottomOffset, + keyboardHeight, + keyboardOffset +}: UseSlideAnimationParams & { + keyboardHeight: number; +}) { + const offset = position === 'bottom' ? bottomOffset : topOffset; + const keyboardAwareOffset = + position === 'bottom' ? keyboardHeight + keyboardOffset : 0; + + const range = [-(height * 2), Math.max(offset, keyboardAwareOffset)]; + const outputRange = + position === 'bottom' ? additiveInverseArray(range) : range; + + return outputRange; +} + +export function useSlideAnimation({ + position, + height, + topOffset, + bottomOffset, + keyboardOffset +}: UseSlideAnimationParams) { + const animatedValue = React.useRef(new Animated.Value(0)); + const { keyboardHeight } = useKeyboard(); + + const animate = React.useCallback((toValue: number) => { + Animated.spring(animatedValue.current, { + toValue, + useNativeDriver: true, + friction: 8 + }).start(); + }, []); + + const translateY = animatedValue.current.interpolate({ + inputRange: [0, 1], + outputRange: translateYOutputRangeFor({ + position, + height, + topOffset, + bottomOffset, + keyboardHeight, + keyboardOffset + }) + }); + const opacity = animatedValue.current.interpolate({ + inputRange: [0, 0.7, 1], + outputRange: [0, 1, 1] + }); + + return { + animatedValue, + animate, + animationStyles: { + opacity, + transform: [ + { + translateY + } + ] + } + }; +} diff --git a/src/hooks/useTimeout.ts b/src/hooks/useTimeout.ts new file mode 100644 index 00000000..03787d0e --- /dev/null +++ b/src/hooks/useTimeout.ts @@ -0,0 +1,37 @@ +import React from 'react'; + +import { useLogger } from '../contexts'; + +function useTimeout(cb: (params?: CbParams) => void, delayMs = 0) { + const { log } = useLogger(); + + const ref = React.useRef(); + + const clearTimer = React.useCallback(() => { + if (ref.current) { + log('Clearing timer', ref.current); + clearTimeout(ref.current); + ref.current = undefined; + } + }, [log]); + + const startTimer = React.useCallback(() => { + clearTimer(); + ref.current = setTimeout(() => { + cb(); + log('Running timer', ref.current); + ref.current = undefined; + }, delayMs); + log('Starting timer', ref.current); + }, [clearTimer, delayMs, log, cb]); + + React.useEffect(() => () => clearTimer(), [clearTimer]); + + return { + startTimer, + clearTimer, + isActive: ref.current !== undefined + }; +} + +export { useTimeout }; diff --git a/src/hooks/useViewDimensions.ts b/src/hooks/useViewDimensions.ts new file mode 100644 index 00000000..b6284b1a --- /dev/null +++ b/src/hooks/useViewDimensions.ts @@ -0,0 +1,30 @@ +import React from 'react'; +import { LayoutChangeEvent } from 'react-native'; + +const getLayoutValue = + (key: 'height' | 'width') => (event: LayoutChangeEvent) => + event?.nativeEvent?.layout?.[key] ?? 0; + +/** + * Retrieves View dimensions (height, width) from a LayoutChangeEvent and sets them on state + */ +export function useViewDimensions({ heightOffset = 0, widthOffset = 0 } = {}) { + const [height, setHeight] = React.useState(0); + const [width, setWidth] = React.useState(0); + + const computeViewDimensions = React.useCallback( + (event: LayoutChangeEvent) => { + const h = getLayoutValue('height')(event); + const w = getLayoutValue('width')(event); + setHeight(h + heightOffset); + setWidth(w + widthOffset); + }, + [heightOffset, widthOffset] + ); + + return { + computeViewDimensions, + height, + width + }; +} diff --git a/src/index.js b/src/index.js deleted file mode 100644 index 3f14bb5e..00000000 --- a/src/index.js +++ /dev/null @@ -1,420 +0,0 @@ -import React, { Component } from 'react'; -import { Animated, PanResponder, Keyboard } from 'react-native'; -import PropTypes from 'prop-types'; - -import SuccessToast from './components/success'; -import ErrorToast from './components/error'; -import InfoToast from './components/info'; -import { complement } from './utils/arr'; -import { includeKeys } from './utils/obj'; -import { stylePropType } from './utils/prop-types'; -import { isIOS } from './utils/platform'; -import styles from './styles'; - -const FRICTION = 8; - -const defaultComponentsConfig = { - // eslint-disable-next-line react/prop-types - success: ({ hide, ...rest }) => ( - - ), - // eslint-disable-next-line react/prop-types - error: ({ hide, ...rest }) => ( - - ), - // eslint-disable-next-line react/prop-types - info: ({ hide, ...rest }) => ( - - ) -}; - -function shouldSetPanResponder(gesture) { - const { dx, dy } = gesture; - // Fixes onPress handler https://github.com/calintamas/react-native-toast-message/issues/113 - return Math.abs(dx) > 2 || Math.abs(dy) > 2; -} - -const getInitialState = ({ - topOffset, - bottomOffset, - keyboardOffset, - visibilityTime, - height, - autoHide, - position, - type -}) => ({ - // layout - topOffset, - bottomOffset, - keyboardOffset, - height, - position, - type, - - // timing (in ms) - visibilityTime, - autoHide, - - // content - text1: undefined, - text2: undefined, - - onPress: undefined, - onShow: undefined, - onHide: undefined -}); - -class Toast extends Component { - static _ref = null; - - static setRef(ref = {}) { - Toast._ref = ref; - } - - static getRef() { - return Toast._ref; - } - - static clearRef() { - Toast._ref = null; - } - - static show(options = {}) { - Toast._ref.show(options); - } - - static hide() { - Toast._ref.hide(); - } - - constructor(props) { - super(props); - - this._setState = this._setState.bind(this); - this._animateMovement = this._animateMovement.bind(this); - this._animateRelease = this._animateRelease.bind(this); - this.startTimer = this.startTimer.bind(this); - this.animate = this.animate.bind(this); - this.show = this.show.bind(this); - this.hide = this.hide.bind(this); - this.onLayout = this.onLayout.bind(this); - - this.state = { - ...getInitialState(props), - - inProgress: false, - isVisible: false, - animation: new Animated.Value(0), - keyboardHeight: 0, - keyboardVisible: false, - - customProps: {} - }; - - this.panResponder = PanResponder.create({ - onMoveShouldSetPanResponder: (event, gesture) => - shouldSetPanResponder(gesture), - onMoveShouldSetPanResponderCapture: (event, gesture) => - shouldSetPanResponder(gesture), - onPanResponderMove: (event, gesture) => { - this._animateMovement(gesture); - }, - onPanResponderRelease: (event, gesture) => { - this._animateRelease(gesture); - } - }); - } - - componentDidMount() { - const noop = { - remove: () => {} - }; - this.keyboardDidShowListener = isIOS - ? Keyboard.addListener('keyboardDidShow', this.keyboardDidShow) - : noop; - this.keyboardDidHideListner = isIOS - ? Keyboard.addListener('keyboardDidHide', this.keyboardDidHide) - : noop; - } - - componentWillUnmount() { - this.keyboardDidShowListener.remove(); - this.keyboardDidHideListner.remove(); - clearTimeout(this.timer); - } - - keyboardDidShow = (e) => { - const { isVisible, position } = this.state; - this.setState({ - keyboardHeight: e.endCoordinates.height, - keyboardVisible: true - }); - - if (isVisible && position === 'bottom') { - this.animate({ toValue: 2 }); - } - }; - - keyboardDidHide = () => { - const { isVisible, position } = this.state; - this.setState({ - keyboardVisible: false - }); - if (isVisible && position === 'bottom') { - this.animate({ toValue: 1 }); - } - }; - - _setState(reducer) { - return new Promise((resolve) => this.setState(reducer, () => resolve())); - } - - _animateMovement(gesture) { - const { position, animation, keyboardVisible } = this.state; - const { dy } = gesture; - let value = 1 + dy / 100; - const start = keyboardVisible && position === 'bottom' ? 2 : 1; - - if (position === 'bottom') { - value = start - dy / 100; - } - - if (value <= start) { - animation.setValue(value); - } - } - - _animateRelease(gesture) { - const { position, animation, keyboardVisible } = this.state; - const { dy, vy } = gesture; - - const isBottom = position === 'bottom'; - let value = 1 + dy / 100; - - if (isBottom) { - value = 1 - dy / 100; - } - - const treshold = 0.65; - if (value <= treshold || Math.abs(vy) >= treshold) { - this.hide({ - speed: Math.abs(vy) * 3 - }); - } else { - Animated.spring(animation, { - toValue: keyboardVisible && isBottom ? 2 : 1, - velocity: vy, - useNativeDriver: true - }).start(); - } - } - - async show(options = {}) { - const { inProgress, isVisible } = this.state; - if (inProgress || isVisible) { - await this.hide(); - } - - await this._setState((prevState) => ({ - ...prevState, - ...getInitialState(this.props), // Reset layout - /* - Preserve the previously computed height (via onLayout). - If the height of the component corresponding to this `show` call is different, - onLayout will be called again and `height` state will adjust. - - This fixes an issue where a succession of calls to components with custom heights (custom Toast types) - fails to hide them completely due to always resetting to the default component height - */ - height: prevState.height, - inProgress: true, - ...options, - ...(options?.props ? { customProps: options.props } : { customProps: {} }) - })); - await this.animateShow(); - await this._setState((prevState) => ({ - ...prevState, - isVisible: true, - inProgress: false - })); - this.clearTimer(); - - const { autoHide, onShow } = this.state; - - if (autoHide) { - this.startTimer(); - } - - if (onShow) { - onShow(); - } - } - - async hide({ speed } = {}) { - await this._setState((prevState) => ({ - ...prevState, - inProgress: true - })); - await this.animateHide({ - speed - }); - this.clearTimer(); - await this._setState((prevState) => ({ - ...prevState, - isVisible: false, - inProgress: false - })); - - const { onHide } = this.state; - if (onHide) { - onHide(); - } - } - - animateShow = () => { - const { keyboardVisible, position } = this.state; - const toValue = keyboardVisible && position === 'bottom' ? 2 : 1; - return this.animate({ toValue }); - }; - - animateHide({ speed } = {}) { - return this.animate({ toValue: 0, speed }); - } - - animate({ toValue, speed = 0 }) { - const { animation } = this.state; - return new Promise((resolve) => { - const config = { - toValue, - useNativeDriver: true, - ...(speed > 0 ? { speed } : { friction: FRICTION }) - }; - Animated.spring(animation, config).start(() => resolve()); - }); - } - - startTimer() { - const { visibilityTime } = this.state; - this.timer = setTimeout(() => this.hide(), visibilityTime); - } - - clearTimer() { - clearTimeout(this.timer); - this.timer = null; - } - - renderContent({ config }) { - const componentsConfig = { - ...defaultComponentsConfig, - ...config - }; - - const { type, customProps } = this.state; - const toastComponent = componentsConfig[type]; - - if (!toastComponent) { - // eslint-disable-next-line no-console - console.error( - `Type '${type}' does not exist. Make sure to add it to your 'config'. You can read the documentation here: https://github.com/calintamas/react-native-toast-message/blob/master/README.md` - ); - return null; - } - - return toastComponent({ - ...includeKeys({ - obj: this.state, - keys: [ - 'position', - 'type', - 'inProgress', - 'isVisible', - 'text1', - 'text2', - 'hide', - 'show', - 'onPress' - ] - }), - props: { ...customProps }, - hide: this.hide, - show: this.show - }); - } - - getBaseStyle(position = 'bottom', keyboardHeight) { - const { - topOffset, - bottomOffset, - keyboardOffset, - height, - animation - } = this.state; - const offset = position === 'bottom' ? bottomOffset : topOffset; - - // +5 px to completely hide the toast under StatusBar (on Android) - const range = [height + 5, -offset, -(keyboardOffset + keyboardHeight)]; - const outputRange = position === 'bottom' ? range : complement(range); - - const translateY = animation.interpolate({ - inputRange: [0, 1, 2], - outputRange - }); - - return [ - styles.base, - styles[position], - { - transform: [{ translateY }] - } - ]; - } - - onLayout(e) { - this.setState({ height: e.nativeEvent.layout.height }); - } - - render() { - const { style } = this.props; - const { position, keyboardHeight } = this.state; - const baseStyle = this.getBaseStyle(position, keyboardHeight); - - return ( - - {this.renderContent(this.props)} - - ); - } -} - -Toast.propTypes = { - config: PropTypes.objectOf(PropTypes.func), - style: stylePropType, - topOffset: PropTypes.number, - bottomOffset: PropTypes.number, - keyboardOffset: PropTypes.number, - visibilityTime: PropTypes.number, - autoHide: PropTypes.bool, - height: PropTypes.number, - position: PropTypes.oneOf(['top', 'bottom']), - type: PropTypes.string -}; - -Toast.defaultProps = { - config: {}, - style: undefined, - topOffset: 30, - bottomOffset: 40, - keyboardOffset: 15, - visibilityTime: 4000, - autoHide: true, - height: 60, - position: 'top', - type: 'success' -}; - -export default Toast; diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 00000000..933ea877 --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,175 @@ +import React from 'react'; +import { TextStyle, TouchableOpacityProps, ViewStyle } from 'react-native'; + +export type ReactChildren = React.ReactNode; + +export type ToastType = string; +export type ToastPosition = 'top' | 'bottom'; + +export type ToastOptions = { + /** + * Toast type. + * Default value: `success` + */ + type?: ToastType; + /** + * Toast position. + * Default value: `top` + */ + position?: ToastPosition; + /** + * When `true`, the visible Toast automatically hides after a certain number of seconds, + * specified by the `visibilityTime` prop. + * Default value: `true` + */ + autoHide?: boolean; + /** + * Number of seconds after which Toast automatically hides. + * Has effect only in conjunction with `autoHide` prop set to `true`. + * Default value: `4000` + */ + visibilityTime?: number; + /** + * Offset from the top of the screen (in px). + * Has effect only when `position` is `top` + * Default value: `40` + */ + topOffset?: number; + /** + * Offset from the bottom of the screen (in px) + * Has effect only when `position` is `bottom` + * Default value: `40` + */ + bottomOffset?: number; + /** + * Offset from the Keyboard (in px) + * Has effect only when `position` is `bottom` and Keyboard is visible + * Default value: `10` + */ + keyboardOffset?: number; + /** + * Called when Toast is shown + */ + onShow?: () => void; + /** + * Called when Toast hides + */ + onHide?: () => void; + /** + * Called on Toast press + */ + onPress?: () => void; + /** + * Any custom props passed to the specified Toast type. + * Has effect only when there is a custom Toast type (configured via the `config` prop + * on the Toast instance) that uses the `props` parameter + */ + props?: any; +}; + +export type ToastData = { + text1?: string; + text2?: string; +}; + +export type ToastShowParams = ToastData & ToastOptions; + +export type ToastHideParams = void; + +export type BaseToastProps = { + text1?: string; + text2?: string; + onPress?: () => void; + activeOpacity?: number; + style?: ViewStyle; + touchableContainerProps?: TouchableOpacityProps; + contentContainerStyle?: ViewStyle; + contentContainerProps?: ViewStyle; + text1Style?: TextStyle; + text1NumberOfLines?: number; + text1Props?: TextStyle; + text2Style?: TextStyle; + text2NumberOfLines?: number; + text2Props?: TextStyle; + renderLeadingIcon?: () => React.ReactNode; + renderTrailingIcon?: () => React.ReactNode; +}; + +export type ToastConfigParams = { + position: ToastPosition; + type: ToastType; + isVisible: boolean; + text1?: string; + text2?: string; + show: (params: ToastShowParams) => void; + hide: (params: ToastHideParams) => void; + onPress: () => void; + props: Props; +}; + +export type ToastConfig = { + [key: string]: (params: ToastConfigParams) => React.ReactNode; +}; + +/** + * `props` that can be set on the Toast instance. + * They act as defaults for all Toasts that are shown. + */ +export type ToastProps = { + /** + * Custom Toast types configuration + */ + config?: ToastConfig; + /** + * Toast type. + * Default value: `success` + */ + type?: ToastType; + /** + * Toast position. + * Default value: `top` + */ + position?: ToastPosition; + /** + * Number of seconds after which Toast automatically hides. + * Has effect only in conjunction with `autoHide` prop set to `true`. + * Default value: `4000` + */ + visibilityTime?: number; + /** + * When `true`, the visible Toast automatically hides after a certain number of seconds, + * specified by the `visibilityTime` prop. + * Default value: `true` + */ + autoHide?: boolean; + /** + * Offset from the top of the screen (in px). + * Has effect only when `position` is `top` + * Default value: `40` + */ + topOffset?: number; + /** + * Offset from the bottom of the screen (in px) + * Has effect only when `position` is `bottom` + * Default value: `40` + */ + bottomOffset?: number; + /** + * Offset from the Keyboard (in px) + * Has effect only when `position` is `bottom` and Keyboard is visible + * Default value: `10` + */ + keyboardOffset?: number; + /** + * Called when Toast is shown + */ + onShow?: () => void; + /** + * Called when Toast hides + */ + onHide?: () => void; + /** + * Called on Toast press + */ + onPress?: () => void; +}; diff --git a/src/useToast.ts b/src/useToast.ts new file mode 100644 index 00000000..a0a6967c --- /dev/null +++ b/src/useToast.ts @@ -0,0 +1,135 @@ +import React from 'react'; + +import { useLogger } from './contexts'; +import { useTimeout } from './hooks'; +import { ToastData, ToastOptions, ToastProps, ToastShowParams } from './types'; +import { noop } from './utils/func'; + +function mergeIfDefined( + obj1: Record, + obj2: Record +) { + const newObj = { + ...obj1 + }; + Object.entries(obj2).forEach(([key, value]) => { + if (value !== null && value !== undefined) { + newObj[key] = value; + } + }); + return newObj; +} + +const DEFAULT_DATA: ToastData = { + text1: undefined, + text2: undefined +}; + +const DEFAULT_OPTIONS: Required = { + type: 'success', + position: 'top', + autoHide: true, + visibilityTime: 4000, + topOffset: 40, + bottomOffset: 40, + keyboardOffset: 10, + onShow: noop, + onHide: noop, + onPress: noop, + props: {} +}; + +type UseToastParams = { + defaultOptions: Omit; +}; + +export function useToast({ defaultOptions }: UseToastParams) { + const { log } = useLogger(); + + const [isVisible, setIsVisible] = React.useState(false); + const [data, setData] = React.useState(DEFAULT_DATA); + + const initialOptions = mergeIfDefined( + DEFAULT_OPTIONS, + defaultOptions + ) as Required; + const [options, setOptions] = + React.useState>(initialOptions); + + const onAutoHide = React.useCallback(() => { + log('Auto hiding'); + setIsVisible(false); + options.onHide(); + }, [log, options]); + const { startTimer, clearTimer } = useTimeout( + onAutoHide, + options.visibilityTime + ); + + const hide = React.useCallback(() => { + log('Hiding'); + setIsVisible(false); + clearTimer(); + options.onHide(); + }, [clearTimer, log, options]); + + const show = React.useCallback( + (params: ToastShowParams) => { + log(`Showing with params: ${JSON.stringify(params)}`); + const { + text1 = DEFAULT_DATA.text1, + text2 = DEFAULT_DATA.text2, + type = initialOptions.type, + position = initialOptions.position, + autoHide = initialOptions.autoHide, + visibilityTime = initialOptions.visibilityTime, + topOffset = initialOptions.topOffset, + bottomOffset = initialOptions.bottomOffset, + keyboardOffset = initialOptions.keyboardOffset, + onShow = initialOptions.onShow, + onHide = initialOptions.onHide, + onPress = initialOptions.onPress, + props = initialOptions.props + } = params; + // TODO: validate input + // TODO: use a queue when Toast is already visible + setIsVisible(true); + setData({ + text1, + text2 + }); + setOptions( + mergeIfDefined(initialOptions, { + type, + position, + autoHide, + visibilityTime, + topOffset, + bottomOffset, + keyboardOffset, + onShow, + onHide, + onPress, + props + }) as Required + ); + onShow(); + }, + [initialOptions, log] + ); + + React.useEffect(() => { + const { autoHide } = options; + if (isVisible && autoHide) { + startTimer(); + } + }, [isVisible, options, startTimer]); + + return { + isVisible, + data, + options, + show, + hide + }; +} diff --git a/src/utils/arr.js b/src/utils/arr.js deleted file mode 100644 index cf47bece..00000000 --- a/src/utils/arr.js +++ /dev/null @@ -1,3 +0,0 @@ -const complement = (arr) => arr.map((i) => -i); - -export { complement }; diff --git a/src/utils/array.ts b/src/utils/array.ts new file mode 100644 index 00000000..07281b8a --- /dev/null +++ b/src/utils/array.ts @@ -0,0 +1,5 @@ +function additiveInverseArray(arr: number[]) { + return arr.map((i) => -i); +} + +export { additiveInverseArray }; diff --git a/src/utils/func.ts b/src/utils/func.ts new file mode 100644 index 00000000..efd238e2 --- /dev/null +++ b/src/utils/func.ts @@ -0,0 +1 @@ +export const noop = () => undefined; diff --git a/src/utils/number.ts b/src/utils/number.ts new file mode 100644 index 00000000..4caf5454 --- /dev/null +++ b/src/utils/number.ts @@ -0,0 +1,11 @@ +export function upperBound(n: number, max: number) { + return n > max ? max : n; +} + +export function lowerBound(n: number, min: number) { + return n < min ? min : n; +} + +export function bound(n: number, min: number, max: number) { + return upperBound(lowerBound(n, min), max); +} diff --git a/src/utils/obj.js b/src/utils/obj.js deleted file mode 100644 index 7ab2ac21..00000000 --- a/src/utils/obj.js +++ /dev/null @@ -1,9 +0,0 @@ -const includeKeys = ({ obj = {}, keys = [] }) => - Object.keys(obj).reduce((acc, key) => { - if (keys.includes(key)) { - acc[key] = obj[key]; - } - return acc; - }, {}); - -export { includeKeys }; diff --git a/src/utils/platform.js b/src/utils/platform.js deleted file mode 100644 index 01447dd8..00000000 --- a/src/utils/platform.js +++ /dev/null @@ -1,5 +0,0 @@ -import { Platform } from 'react-native'; - -const isIOS = Platform.OS === 'ios'; - -export { isIOS }; diff --git a/src/utils/platform.ts b/src/utils/platform.ts new file mode 100644 index 00000000..5a4f311e --- /dev/null +++ b/src/utils/platform.ts @@ -0,0 +1,3 @@ +import { Platform } from 'react-native'; + +export const isIOS = Platform.OS === 'ios'; diff --git a/src/utils/prop-types.js b/src/utils/prop-types.js deleted file mode 100644 index 78e47a84..00000000 --- a/src/utils/prop-types.js +++ /dev/null @@ -1,5 +0,0 @@ -import PropTypes from 'prop-types'; - -const stylePropType = PropTypes.oneOfType([PropTypes.object, PropTypes.number]); - -export { stylePropType }; diff --git a/success-toast.gif b/success-toast.gif deleted file mode 100644 index ec418599e0d3d8b54aa62f3be5ef9b3679c63047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 517689 zcmdSBcTkfL*J%5sLFl1ZF(4>ix~QNDMd@8ciUtIvYEVQ}zz`CM2uN=N(xnqR(hOCk z_bLjAQdC4KcDYaR_rCA>zH{%LIdkWpne$|Ze;EP{Yp=C8XARD19CHeQP=I#;{edws zF)*((_*fR#F&+6+M80j0E8JJj@SX!G~+gRGzowKt)Z;!ih(aF*IGS0=# z+0Db%)7#^!@73!!eQ)0O^}pqRC+Kz%;ZD%KAR?Ja4kL!$55FIAKPviuRBTjid~8Be zT+*YY)JJI<8ILlvGPCot^9r&HiV8}~ipt7M%B#vNYs#w{Dr@U1YoFFWZF<_=+SuCG z(%#Y5)!p&@MR(u8i@~A3p^?GSiIIuPv8kEynYrngujXDa%`d)Le7mx=vbM7RaqYv$ z_n$t0+TQ)N^W*c**Dt$2c7Oif+uPfJZ~lM(AhyS1s%LGbgEiMvR#1dNz)vXl9nJ&; zE&_7&Pfq_f0gQVDbu&j2IV{}KA>u(~l!LuptZjTkVr+6ss=a-5M&^S@sdkBZ`L-7d zi;7E1%gQT?9#vJ>WXIMvJZ+50X(@O{YisZ5?CS2!X{yekgqw+*Ioux@c$`t!lKgaX zGUa7t)l5q7^4oVSt81&z*FSE2+Uy-2-wv}=AZ_iCUq?Us4ZxU1^r>030Z8tvDm~Qf z4zmW)iP3tF*czD=1?QHZD_Wcm7QzN8Z$~Y6#7k-U*q>3z?@Ly+*l@NP>Wzxxd-~QZ zPck;?cC@$wcd_s6(BlYIyAWrI`#eDpH7yf_s@JVOEaKC~(>Pe3eMu=id!Jj&U%N}j)*=GMcl`QNuO#I@0s!Esn2@l9 zK{+_L@yrs`?^Cn70H;HhO- zZ{nMt_=8`2^(frB0b8E$?rH-}ynv~7?sM1sah*FUffTv#1jrYJcVzyzpV?wOl7?CO z)NG@~728`#B!)a34X8DvX&j`Riy^>a5{lq&i$nvSBvvti+0u9F6*=7^w+m%I9z%d~ zsG^rB5)ml?yFC&zZ!%g|PvHbmVo_X5{viks<(f$Z­87>_a5Hi9z(Eo)Q=^waX3tp;cBQHA|sld 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

%n8$P! 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

3<*?AB%t-6e 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 diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..f5edf12c --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,68 @@ +{ + "compilerOptions": { + /* Basic Options */ + "target": "esnext" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */, + "module": "ESNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */, + "lib": [ + "ESNext" + ] /* Specify library files to be included in the compilation. */, + "allowJs": true /* Allow javascript files to be compiled. */, + // "checkJs": true, /* Report errors in .js files. */ + "jsx": "react-native" /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */, + "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + "outDir": "./lib", /* Redirect output structure to the directory. */ + "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true /* Do not emit outputs. */, + // "incremental": true, /* Enable incremental compilation */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + "isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */, + + /* Strict Type-Checking Options */ + "strict": true /* Enable all strict type-checking options. */, + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + + /* Module Resolution Options */ + "moduleResolution": "node" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */, + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + // "types": [], /* Type declaration files to be included in compilation. */ + "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */, + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */, + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + "skipLibCheck": false /* Skip type checking of declaration files. */ + + /* Source Map Options */ + // "sourceRoot": "./", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "./", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + }, + "include": ["src", "index.ts"], + "exclude": [ + "node_modules", + "babel.config.js", + "jest.config.js", + ".eslintrc.js" + ] +} diff --git a/yarn.lock b/yarn.lock index 6965ef72..9de90748 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,32 +9,60 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.13.tgz#dcfc826beef65e75c50e21d3837d7d95798dd658" - integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== - dependencies: - "@babel/highlight" "^7.12.13" - -"@babel/compat-data@^7.13.15": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.0.tgz#a901128bce2ad02565df95e6ecbf195cf9465919" - integrity sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" + integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== + dependencies: + "@babel/highlight" "^7.14.5" + +"@babel/code-frame@^7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.15.8.tgz#45990c47adadb00c03677baa89221f7cc23d2503" + integrity sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg== + dependencies: + "@babel/highlight" "^7.14.5" + +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.15.0": + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.15.0.tgz#2dbaf8b85334796cafbb0f5793a90a2fc010b176" + integrity sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA== + +"@babel/core@^7.1.0", "@babel/core@^7.14.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5": + version "7.15.5" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" + integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.4" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helpers" "^7.15.4" + "@babel/parser" "^7.15.5" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + semver "^6.3.0" + source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.14.0", "@babel/core@^7.7.5": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.0.tgz#47299ff3ec8d111b493f1a9d04bf88c04e728d88" - integrity sha512-8YqpRig5NmIHlMLw09zMlPTvUVMILjqCOtVgu+TVNWEBvy9b5I3RRyhqnrV4hjgEK7n8P9OqvkWJAFmEL6Wwfw== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.0" - "@babel/helper-compilation-targets" "^7.13.16" - "@babel/helper-module-transforms" "^7.14.0" - "@babel/helpers" "^7.14.0" - "@babel/parser" "^7.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" +"@babel/core@^7.2.2": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.8.tgz#195b9f2bffe995d2c6c159e72fe525b4114e8c10" + integrity sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og== + dependencies: + "@babel/code-frame" "^7.15.8" + "@babel/generator" "^7.15.8" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-module-transforms" "^7.15.8" + "@babel/helpers" "^7.15.4" + "@babel/parser" "^7.15.8" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.6" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -43,355 +71,319 @@ source-map "^0.5.0" "@babel/eslint-parser@^7.13.14": - version "7.13.14" - resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.13.14.tgz#f80fd23bdd839537221914cb5d17720a5ea6ba3a" - integrity sha512-I0HweR36D73Ibn/FfrRDMKlMqJHFwidIUgYdMpH+aXYuQC+waq59YaJ6t9e9N36axJ82v1jR041wwqDrDXEwRA== + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.15.8.tgz#8988660b59d739500b67d0585fd4daca218d9f11" + integrity sha512-fYP7QFngCvgxjUuw8O057SVH5jCXsbFFOoE77CFDcvzwBVgTOkMD/L4mIC5Ud1xf8chK/no2fRbSSn1wvNmKuQ== dependencies: - eslint-scope "^5.1.0" - eslint-visitor-keys "^1.3.0" + eslint-scope "^5.1.1" + eslint-visitor-keys "^2.1.0" semver "^6.3.0" -"@babel/generator@^7.12.13": - version "7.12.15" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.12.15.tgz#4617b5d0b25cc572474cc1aafee1edeaf9b5368f" - integrity sha512-6F2xHxBiFXWNSGb7vyCUTBF8RCLY66rS0zEPcP8t/nQyXjha5EuK4z7H5o7fWG8B4M7y6mqVWq1J+1PuwRhecQ== +"@babel/generator@^7.15.4", "@babel/generator@^7.7.2": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" + integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== dependencies: - "@babel/types" "^7.12.13" + "@babel/types" "^7.15.4" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.0.tgz#bd00d4394ca22f220390c56a0b5b85568ec1ec0c" - integrity sha512-zBZfgvBB/ywjx0Rgc2+BwoH/3H+lDtlgD4hBOpEv5LxRnYsm/753iRuLepqnYlynpjC3AdQxtxsoeHJoEEwOAw== +"@babel/generator@^7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.8.tgz#fa56be6b596952ceb231048cf84ee499a19c0cd1" + integrity sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g== dependencies: - "@babel/types" "^7.13.0" + "@babel/types" "^7.15.6" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.0.tgz#0f35d663506c43e4f10898fbda0d752ec75494be" - integrity sha512-C6u00HbmsrNPug6A+CiNl8rEys7TsdcXwg12BHi2ca5rUfAs3+UwZsuDQSXnc+wCElCXMB8gMaJ3YXDdh8fAlg== +"@babel/helper-annotate-as-pure@^7.14.5", "@babel/helper-annotate-as-pure@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz#3d0e43b00c5e49fdb6c57e421601a7a658d5f835" + integrity sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA== dependencies: - "@babel/types" "^7.14.0" - jsesc "^2.5.1" - source-map "^0.5.0" + "@babel/types" "^7.15.4" -"@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" - integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz#21ad815f609b84ee0e3058676c33cf6d1670525f" + integrity sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q== dependencies: - "@babel/types" "^7.12.13" + "@babel/helper-explode-assignable-expression" "^7.15.4" + "@babel/types" "^7.15.4" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" - integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz#cf6d94f30fbefc139123e27dd6b02f65aeedb7b9" + integrity sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ== dependencies: - "@babel/helper-explode-assignable-expression" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-compilation-targets@^7.13.16": - version "7.13.16" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz#6e91dccf15e3f43e5556dffe32d860109887563c" - integrity sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA== - dependencies: - "@babel/compat-data" "^7.13.15" - "@babel/helper-validator-option" "^7.12.17" - browserslist "^4.14.5" + "@babel/compat-data" "^7.15.0" + "@babel/helper-validator-option" "^7.14.5" + browserslist "^4.16.6" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.12.13", "@babel/helper-create-class-features-plugin@^7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.16.tgz#955d5099fd093e5afb05542190f8022105082c61" - integrity sha512-KbSEj8l9zYkMVHpQqM3wJNxS1d9h3U9vm/uE5tpjMbaj3lTp+0noe3KPsV5dSD9jxKnf9jO9Ip9FX5PKNZCKow== +"@babel/helper-create-class-features-plugin@^7.14.5", "@babel/helper-create-class-features-plugin@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz#7f977c17bd12a5fba363cb19bea090394bf37d2e" + integrity sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw== dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-member-expression-to-functions" "^7.12.16" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" -"@babel/helper-create-regexp-features-plugin@^7.12.13": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.16.tgz#3b31d13f39f930fad975e151163b7df7d4ffe9d3" - integrity sha512-jAcQ1biDYZBdaAxB4yg46/XirgX7jBDiMHDbwYQOgtViLBXGxJpZQ24jutmBqAIB/q+AwB6j+NbBXjKxEY8vqg== +"@babel/helper-create-regexp-features-plugin@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" + integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-annotate-as-pure" "^7.14.5" regexpu-core "^4.7.1" -"@babel/helper-explode-assignable-expression@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.13.tgz#0e46990da9e271502f77507efa4c9918d3d8634a" - integrity sha512-5loeRNvMo9mx1dA/d6yNi+YiKziJZFylZnCo1nmFF4qPU4yJ14abhWESuSMQSlQxWdxdOFzxXjk/PpfudTtYyw== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-function-name@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.13.tgz#93ad656db3c3c2232559fd7b2c3dbdcbe0eb377a" - integrity sha512-TZvmPn0UOqmvi5G4vvw0qZTpVptGkB1GL61R6lKvrSdIxGm5Pky7Q3fpKiIkQCAtRCBUwB0PaThlx9vebCDSwA== - dependencies: - "@babel/helper-get-function-arity" "^7.12.13" - "@babel/template" "^7.12.13" - "@babel/types" "^7.12.13" - -"@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" - integrity sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-member-expression-to-functions@^7.12.13", "@babel/helper-member-expression-to-functions@^7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.16.tgz#41e0916b99f8d5f43da4f05d85f4930fa3d62b22" - integrity sha512-zYoZC1uvebBFmj1wFAlXwt35JLEgecefATtKp20xalwEK8vHAixLBXTGxNrVGEmTT+gzOThUgr8UEdgtalc1BQ== - dependencies: - "@babel/types" "^7.12.13" - -"@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" - integrity sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw== - dependencies: - "@babel/types" "^7.13.12" - -"@babel/helper-module-imports@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" - integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-module-imports@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz#c6a369a6f3621cb25da014078684da9196b61977" - integrity sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA== - dependencies: - "@babel/types" "^7.13.12" - -"@babel/helper-module-transforms@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.13.tgz#01afb052dcad2044289b7b20beb3fa8bd0265bea" - integrity sha512-acKF7EjqOR67ASIlDTupwkKM1eUisNAjaSduo5Cz+793ikfnpe7p4Q7B7EWU2PCoSTPWsQkR7hRUWEIZPiVLGA== +"@babel/helper-define-polyfill-provider@^0.2.2": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" + integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== dependencies: + "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" - "@babel/helper-simple-access" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.12.11" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" - lodash "^4.17.19" - -"@babel/helper-module-transforms@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.0.tgz#8fcf78be220156f22633ee204ea81f73f826a8ad" - integrity sha512-L40t9bxIuGOfpIGA3HNkJhU9qYrf4y5A5LUSw7rGMSn+pcG8dfJ0g6Zval6YJGd2nEjI7oP00fRdnhLKndx6bw== - dependencies: - "@babel/helper-module-imports" "^7.13.12" - "@babel/helper-replace-supers" "^7.13.12" - "@babel/helper-simple-access" "^7.13.12" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/helper-validator-identifier" "^7.14.0" - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.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" - integrity sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.8.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.12.13.tgz#174254d0f2424d8aefb4dd48057511247b0a9eeb" - integrity sha512-C+10MXCXJLiR6IeG9+Wiejt9jmtFpxUc3MQqCmPY8hfCjyUGl9kT+B2okzEZrtykiwrc4dbCPdDoz0A/HQbDaA== - -"@babel/helper-plugin-utils@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" - integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== - -"@babel/helper-remap-async-to-generator@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209" - integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-wrap-function" "^7.13.0" - "@babel/types" "^7.13.0" - -"@babel/helper-replace-supers@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.13.tgz#00ec4fb6862546bd3d0aff9aac56074277173121" - integrity sha512-pctAOIAMVStI2TMLhozPKbf5yTEXc0OJa0eENheb4w09SrgOWEs+P4nTOZYJQCqs8JlErGLDPDJTiGIp3ygbLg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.13" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/helper-replace-supers@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz#6442f4c1ad912502481a564a7386de0c77ff3804" - integrity sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.13.12" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.12" - -"@babel/helper-simple-access@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.13.tgz#8478bcc5cacf6aa1672b251c1d2dde5ccd61a6c4" - integrity sha512-0ski5dyYIHEfwpWGx5GPWhH35j342JaflmCeQmsPWcrOQDtCN6C1zKAVRFVbK53lPW2c9TsuLLSUDf0tIGJ5hA== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-simple-access@^7.13.12": - version "7.13.12" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz#dd6c538afb61819d205a012c31792a39c7a5eaf6" - integrity sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA== - dependencies: - "@babel/types" "^7.13.12" - -"@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" - integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-split-export-declaration@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz#e9430be00baf3e88b0e13e6f9d4eaf2136372b05" - integrity sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg== - dependencies: - "@babel/types" "^7.12.13" - -"@babel/helper-validator-identifier@^7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" - integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== - -"@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" - integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== - -"@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" - integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== - -"@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" - integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA== - dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/template" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" "@babel/traverse" "^7.13.0" - "@babel/types" "^7.13.0" - -"@babel/helpers@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.0.tgz#ea9b6be9478a13d6f961dbb5f36bf75e2f3b8f62" - integrity sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg== - dependencies: - "@babel/template" "^7.12.13" - "@babel/traverse" "^7.14.0" - "@babel/types" "^7.14.0" - -"@babel/highlight@^7.10.4": - version "7.13.8" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.8.tgz#10b2dac78526424dfc1f47650d0e415dfd9dc481" - integrity sha512-4vrIhfJyfNf+lCtXC2ck1rKSzDwciqF7IWFhXXrSOUC2O5DrVp+w4c6ed4AllTxhTkUP5x2tYj41VaxdVMMRDw== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/highlight@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" - integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + +"@babel/helper-explode-assignable-expression@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz#f9aec9d219f271eaf92b9f561598ca6b2682600c" + integrity sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-function-name@^7.14.5", "@babel/helper-function-name@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz#845744dafc4381a4a5fb6afa6c3d36f98a787ebc" + integrity sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw== + dependencies: + "@babel/helper-get-function-arity" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-get-function-arity@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz#098818934a137fce78b536a3e015864be1e2879b" + integrity sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-hoist-variables@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz#09993a3259c0e918f99d104261dfdfc033f178df" + integrity sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-member-expression-to-functions@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz#bfd34dc9bba9824a4658b0317ec2fd571a51e6ef" + integrity sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5", "@babel/helper-module-imports@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz#e18007d230632dea19b47853b984476e7b4e103f" + integrity sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-module-transforms@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.4.tgz#962cc629a7f7f9a082dd62d0307fa75fe8788d7c" + integrity sha512-9fHHSGE9zTC++KuXLZcB5FKgvlV83Ox+NLUmQTawovwlJ85+QMhk1CnVk406CQVj97LaWod6KVjl2Sfgw9Aktw== + dependencies: + "@babel/helper-module-imports" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-simple-access" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/helper-validator-identifier" "^7.14.9" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-module-transforms@^7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz#d8c0e75a87a52e374a8f25f855174786a09498b2" + integrity sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg== + dependencies: + "@babel/helper-module-imports" "^7.15.4" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-simple-access" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.6" + +"@babel/helper-optimise-call-expression@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz#f310a5121a3b9cc52d9ab19122bd729822dee171" + integrity sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" + integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + +"@babel/helper-remap-async-to-generator@^7.14.5": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz#2637c0731e4c90fbf58ac58b50b2b5a192fc970f" + integrity sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ== + dependencies: + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-wrap-function" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-replace-supers@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz#52a8ab26ba918c7f6dee28628b07071ac7b7347a" + integrity sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helper-simple-access@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz#ac368905abf1de8e9781434b635d8f8674bcc13b" + integrity sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-skip-transparent-expression-wrappers@^7.14.5": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz#707dbdba1f4ad0fa34f9114fc8197aec7d5da2eb" + integrity sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-split-export-declaration@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz#aecab92dcdbef6a10aa3b62ab204b085f776e257" + integrity sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw== + dependencies: + "@babel/types" "^7.15.4" + +"@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.9": + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz#6654d171b2024f6d8ee151bf2509699919131d48" + integrity sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g== + +"@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + 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-option@^7.14.5": + version "7.14.5" + 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-wrap-function@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz#6f754b2446cfaf3d612523e6ab8d79c27c3a3de7" + integrity sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw== + dependencies: + "@babel/helper-function-name" "^7.15.4" + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/helpers@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.15.4.tgz#5f40f02050a3027121a3cf48d497c05c555eaf43" + integrity sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ== + dependencies: + "@babel/template" "^7.15.4" + "@babel/traverse" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" + integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + dependencies: + "@babel/helper-validator-identifier" "^7.14.5" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.12.13": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.16.tgz#cc31257419d2c3189d394081635703f549fc1ed4" - integrity sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw== +"@babel/parser@^7.0.0-beta.54", "@babel/parser@^7.15.8": + version "7.15.8" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.8.tgz#7bacdcbe71bdc3ff936d510c15dcea7cf0b99016" + integrity sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA== -"@babel/parser@^7.13.0": - version "7.13.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.4.tgz#340211b0da94a351a6f10e63671fa727333d13ab" - integrity sha512-uvoOulWHhI+0+1f9L4BoozY7U5cIkZ9PgJqvb041d6vypgUmtVPG4vmGm4pSggjl8BELzvHyUeJSUyEMY6b+qA== - -"@babel/parser@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.0.tgz#2f0ebfed92bcddcc8395b91f1895191ce2760380" - integrity sha512-AHbfoxesfBALg33idaTBVUkLnfXtsgvJREf93p4p0Lwsz4ppfE7g1tpEXVm4vrxUcH4DVhAa9Z1m1zqf9WUC7Q== +"@babel/parser@^7.1.0", "@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.7.2": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.6.tgz#043b9aa3c303c0722e5377fef9197f4cf1796549" + integrity sha512-S/TSCcsRuCkmpUuoWijua0Snt+f3ewU/8spLo+4AXJCZfT0bVCzLD5MuOKdrx0mlAptbKzn5AdgEIIKXxXkz9Q== "@babel/plugin-proposal-class-properties@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.13.tgz#3d2ce350367058033c93c098e348161d6dc0d8c8" - integrity sha512-8SCJ0Ddrpwv4T7Gwb33EmW1V9PY5lggTO+A8WjyIwxrSHDUyBw4MtF96ifn1n8H806YlxbVCoKXbbmzD6RD+cA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" + integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-proposal-export-default-from@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.13.tgz#f110284108a9b2b96f01b15b3be9e54c2610a989" - integrity sha512-idIsBT+DGXdOHL82U+8bwX4goHm/z10g8sGGrQroh+HCRcm7mDv/luaGdWJQMTuCX2FsdXS7X0Nyyzp4znAPJA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.14.5.tgz#8931a6560632c650f92a8e5948f6e73019d6d321" + integrity sha512-T8KZ5abXvKMjF6JcoXjgac3ElmXf0AWzJwi2O/42Jk+HmCky3D9+i1B7NPP1FblyceqTevKeV/9szeikFoaMDg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-export-default-from" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-export-default-from" "^7.14.5" "@babel/plugin-proposal-nullish-coalescing-operator@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.13.tgz#24867307285cee4e1031170efd8a7ac807deefde" - integrity sha512-Qoxpy+OxhDBI5kRqliJFAl4uWXk3Bn24WeFstPH0iLymFehSAUR8MHpqU7njyXv/qbo7oN6yTy5bfCmXdKpo1Q== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" + integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" "@babel/plugin-proposal-object-rest-spread@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.13.tgz#f93f3116381ff94bc676fdcb29d71045cd1ec011" - integrity sha512-WvA1okB/0OS/N3Ldb3sziSrXg6sRphsBgqiccfcQq7woEn5wQLNX82Oc4PlaFcdwcWHuQXAtb8ftbS8Fbsg/sg== + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz#ef68050c8703d07b25af402cb96cf7f34a68ed11" + integrity sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.13" + "@babel/compat-data" "^7.15.0" + "@babel/helper-compilation-targets" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-transform-parameters" "^7.15.4" "@babel/plugin-proposal-optional-catch-binding@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz#4640520afe57728af14b4d1574ba844f263bcae5" - integrity sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" + integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-proposal-optional-chaining@^7.0.0": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.16.tgz#600c7531f754186b0f2096e495a92da7d88aa139" - integrity sha512-O3ohPwOhkwji5Mckb7F/PJpJVJY3DpPsrt/F0Bk40+QMk9QpAIqeGusHWqu/mYqsM8oBa6TziL/2mbERWsUZjg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" + integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -421,19 +413,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.12.13.tgz#3c807d37efaf0a806f1deb556ccb3b2f562ae9c2" - integrity sha512-gVry0zqoums0hA+EniCYK3gABhjYSLX1dVuwYpPw9DrLNA4/GovXySHVg4FGRsZht09ON/5C2NVx3keq+qqVGQ== +"@babel/plugin-syntax-export-default-from@^7.0.0", "@babel/plugin-syntax-export-default-from@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.14.5.tgz#cdfa9d43d2b2c89b6f1af3e83518e8c8b9ed0dbc" + integrity sha512-snWDxjuaPEobRBnhpqEfZ8RMxDbHt8+87fiEioGuE+Uc0xAKgSD8QiuL3lF93hPVQfZFAcYwrrf+H5qUhike3Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-flow@^7.12.13", "@babel/plugin-syntax-flow@^7.2.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz#5df9962503c0a9c918381c929d51d4d6949e7e86" - integrity sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA== +"@babel/plugin-syntax-flow@^7.14.5", "@babel/plugin-syntax-flow@^7.2.0": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz#2ff654999497d7d7d142493260005263731da180" + integrity sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-import-meta@^7.8.3": version "7.10.4" @@ -449,12 +441,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" - integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== +"@babel/plugin-syntax-jsx@^7.14.5": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" + integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" @@ -463,7 +455,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": +"@babel/plugin-syntax-nullish-coalescing-operator@^7.0.0", "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== @@ -477,21 +469,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-catch-binding@^7.8.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3": +"@babel/plugin-syntax-optional-catch-binding@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": +"@babel/plugin-syntax-optional-chaining@^7.0.0", "@babel/plugin-syntax-optional-chaining@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== @@ -499,324 +491,273 @@ "@babel/helper-plugin-utils" "^7.8.0" "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" - integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" + integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz#9dff111ca64154cef0f4dc52cf843d9f12ce4474" - integrity sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w== +"@babel/plugin-syntax-typescript@^7.14.5", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" + integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-arrow-functions@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.13.tgz#eda5670b282952100c229f8a3bd49e0f6a72e9fe" - integrity sha512-tBtuN6qtCTd+iHzVZVOMNp+L04iIJBpqkdY42tWbmjIT5wvR2kx7gxMBsyhQtFzHwBbyGi9h8J8r9HgnOpQHxg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" + integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-async-to-generator@^7.0.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f" - integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" + integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.13.0" - "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.14.5" "@babel/plugin-transform-block-scoping@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61" - integrity sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ== + version "7.15.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz#94c81a6e2fc230bcce6ef537ac96a1e4d2b3afaf" + integrity sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-classes@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.13.tgz#9728edc1838b5d62fc93ad830bd523b1fcb0e1f6" - integrity sha512-cqZlMlhCC1rVnxE5ZGMtIb896ijL90xppMiuWXcwcOAuFczynpd3KYemb91XFFPi3wJSe/OcrX9lXoowatkkxA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-optimise-call-expression" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-replace-supers" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz#50aee17aaf7f332ae44e3bce4c2e10534d5d3bf1" + integrity sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-optimise-call-expression" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-replace-supers" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.13.tgz#6a210647a3d67f21f699cfd2a01333803b27339d" - integrity sha512-dDfuROUPGK1mTtLKyDPUavmj2b6kFu82SmgpztBFEO974KMjJT+Ytj3/oWsTUMBmgPcp9J5Pc1SlcAYRpJ2hRA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" + integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-destructuring@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.13.tgz#fc56c5176940c5b41735c677124d1d20cecc9aeb" - integrity sha512-Dn83KykIFzjhA3FDPA1z4N+yfF3btDGhjnJwxIj0T43tP0flCujnU8fKgEkf0C1biIpSv9NZegPBQ1J6jYkwvQ== + version "7.14.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz#0ad58ed37e23e22084d109f185260835e5557576" + integrity sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-exponentiation-operator@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" - integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" + integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-flow-strip-types@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.13.tgz#b439c43116dc60fb45b7efd2e1db91897b7c8f4b" - integrity sha512-39/t9HtN+Jlc7EEY6oCSCf3kRrKIl2JULOGPnHZiaRjoYZEFaDXDZI32uE2NosQRh8o6N9B+8iGvDK7ToJhJaw== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.14.5.tgz#0dc9c1d11dcdc873417903d6df4bed019ef0f85e" + integrity sha512-KhcolBKfXbvjwI3TV7r7TkYm8oNXHNBqGOy6JDVwtecFaRoKYsUUqJdS10q0YDKW1c6aZQgO+Ys3LfGkox8pXA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-flow" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-flow" "^7.14.5" "@babel/plugin-transform-for-of@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.13.tgz#561ff6d74d9e1c8879cb12dbaf4a14cd29d15cf6" - integrity sha512-xCbdgSzXYmHGyVX3+BsQjcd4hv4vA/FDy7Kc8eOpzKmBBPEOTurt0w5fCRQaGl+GSBORKgJdstQ1rHl4jbNseQ== + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz#25c62cce2718cfb29715f416e75d5263fb36a8c2" + integrity sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-function-name@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" - integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" + integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== dependencies: - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-function-name" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-literals@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" - integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" + integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-modules-commonjs@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.13.tgz#5043b870a784a8421fa1fd9136a24f294da13e50" - integrity sha512-OGQoeVXVi1259HjuoDnsQMlMkT9UkZT9TpXAsqWplS/M0N1g3TJAn/ByOCeQu7mfjc5WpSsRU+jV1Hd89ts0kQ== + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz#8201101240eabb5a76c08ef61b2954f767b6b4c1" + integrity sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA== dependencies: - "@babel/helper-module-transforms" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-simple-access" "^7.12.13" + "@babel/helper-module-transforms" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-simple-access" "^7.15.4" babel-plugin-dynamic-import-node "^2.3.3" "@babel/plugin-transform-object-assign@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.12.13.tgz#d9b9200a69e03403a813e44a933ad9f4bddfd050" - integrity sha512-4QxDMc0lAOkIBSfCrnSGbAJ+4epDBF2XXwcLXuBcG1xl9u7LrktNVD4+LwhL47XuKVPQ7R25e/WdcV+h97HyZA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-assign/-/plugin-transform-object-assign-7.14.5.tgz#62537d54b6d85de04f4df48bfdba2eebff17b760" + integrity sha512-lvhjk4UN9xJJYB1mI5KC0/o1D5EcJXdbhVe+4fSk08D6ZN+iuAIs7LJC+71h8av9Ew4+uRq9452v9R93SFmQlQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.13.tgz#461e76dfb63c2dfd327b8a008a9e802818ce9853" - integrity sha512-e7QqwZalNiBRHCpJg/P8s/VJeSRYgmtWySs1JwvfwPqhBbiWfOcHDKdeAi6oAyIimoKWBlwc8oTgbZHdhCoVZA== +"@babel/plugin-transform-parameters@^7.0.0", "@babel/plugin-transform-parameters@^7.15.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz#5f2285cc3160bf48c8502432716b48504d29ed62" + integrity sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-display-name@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz#c28effd771b276f4647411c9733dbb2d2da954bd" - integrity sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA== + version "7.15.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz#6aaac6099f1fcf6589d35ae6be1b6e10c8c602b9" + integrity sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.13.tgz#422d99d122d592acab9c35ea22a6cfd9bf189f60" - integrity sha512-FXYw98TTJ125GVCCkFLZXlZ1qGcsYqNQhVBQcZjyrwf8FEUtVfKIoidnO8S0q+KBQpDYNTmiGo1gn67Vti04lQ== + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz#33041e665453391eb6ee54a2ecf3ba1d46bd30f4" + integrity sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.12.13.tgz#051d76126bee5c9a6aa3ba37be2f6c1698856bcb" - integrity sha512-O5JJi6fyfih0WfDgIJXksSPhGP/G0fQpfxYy87sDc+1sFmsCS6wr3aAn+whbzkhbjtq4VMqLRaSzR6IsshIC0Q== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz#79f728e60e6dbd31a2b860b0bf6c9765918acf1d" + integrity sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx@^7.0.0": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.16.tgz#07c341e02a3e4066b00413534f30c42519923230" - integrity sha512-dNu0vAbIk8OkqJfGtYF6ADk6jagoyAl+Ks5aoltbAlfoKv8d6yooi3j+kObeSQaCj9PgN6KMZPB90wWyek5TmQ== + version "7.14.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz#3314b2163033abac5200a869c4de242cd50a914c" + integrity sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw== dependencies: - "@babel/helper-annotate-as-pure" "^7.12.13" - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-jsx" "^7.12.13" - "@babel/types" "^7.12.13" + "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-jsx" "^7.14.5" + "@babel/types" "^7.14.9" "@babel/plugin-transform-regenerator@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz#b628bcc9c85260ac1aeb05b45bde25210194a2f5" - integrity sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" + integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== dependencies: regenerator-transform "^0.14.2" "@babel/plugin-transform-runtime@^7.0.0": - version "7.12.15" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.15.tgz#4337b2507288007c2b197059301aa0af8d90c085" - integrity sha512-OwptMSRnRWJo+tJ9v9wgAf72ydXWfYSXWhnQjZing8nGZSDFqU1MBleKM3+DriKkcbv7RagA8gVeB0A1PNlNow== - dependencies: - "@babel/helper-module-imports" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" - semver "^5.5.1" + version "7.15.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.15.0.tgz#d3aa650d11678ca76ce294071fda53d7804183b3" + integrity sha512-sfHYkLGjhzWTq6xsuQ01oEsUYjkHRux9fW1iUA68dC7Qd8BS1Unq4aZ8itmQp95zUzIcyR2EbNMTzAicFj+guw== + dependencies: + "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" + babel-plugin-polyfill-corejs2 "^0.2.2" + babel-plugin-polyfill-corejs3 "^0.2.2" + babel-plugin-polyfill-regenerator "^0.2.2" + semver "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" - integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" + integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-spread@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.13.tgz#ca0d5645abbd560719c354451b849f14df4a7949" - integrity sha512-dUCrqPIowjqk5pXsx1zPftSq4sT0aCeZVAxhdgs3AMgyaDmoUT0G+5h3Dzja27t76aUEIJWlFgPJqJ/d4dbTtg== + version "7.14.6" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz#6bd40e57fe7de94aa904851963b5616652f73144" + integrity sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" "@babel/plugin-transform-sticky-regex@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" - integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" + integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-template-literals@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.13.tgz#655037b07ebbddaf3b7752f55d15c2fd6f5aa865" - integrity sha512-arIKlWYUgmNsF28EyfmiQHJLJFlAJNYkuQO10jL46ggjBpeb2re1P9K9YGxNJB45BqTbaslVysXDYm/g3sN/Qg== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" + integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== dependencies: - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-typescript@^7.5.0": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.16.tgz#3f30b829bdd15683f71c32fa31330c2af8c1b732" - integrity sha512-88hep+B6dtDOiEqtRzwHp2TYO+CN8nbAV3eh5OpBGPsedug9J6y1JwLKzXRIGGQZDC8NlpxpQMIIxcfIW96Wgw== + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.4.tgz#db7a062dcf8be5fc096bc0eeb40a13fbfa1fa251" + integrity sha512-sM1/FEjwYjXvMwu1PJStH11kJ154zd/lpY56NQJ5qH2D0mabMv1CAy/kdvS9RP4Xgfj9fBBA3JiSLdDHgXdzOA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.16" - "@babel/helper-plugin-utils" "^7.12.13" - "@babel/plugin-syntax-typescript" "^7.12.13" + "@babel/helper-create-class-features-plugin" "^7.15.4" + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/plugin-syntax-typescript" "^7.14.5" "@babel/plugin-transform-unicode-regex@^7.0.0": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" - integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== + version "7.14.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" + integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.13" - "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-plugin-utils" "^7.14.5" "@babel/runtime-corejs3@^7.10.2": - version "7.11.2" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.11.2.tgz#02c3029743150188edeb66541195f54600278419" - integrity sha512-qh5IR+8VgFz83VBa6OkaET6uN/mJOhHONuy3m1sgF0CV6mXdPSEBdA7e1eUbVvyNtANjMbg22JUv71BaDXLY6A== + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz#403139af262b9a6e8f9ba04a6fdcebf8de692bf1" + integrity sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg== dependencies: - core-js-pure "^3.0.0" + core-js-pure "^3.16.0" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2": - version "7.12.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.1.tgz#b4116a6b6711d010b2dad3b7b6e43bf1b9954740" - integrity sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA== +"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.8.4": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.15.4.tgz#fd17d16bfdf878e6dd02d19753a39fa8a8d9c84a" + integrity sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.8.4": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.13.tgz#0a21452352b02542db0ffb928ac2d3ca7cb6d66d" - integrity sha512-8+3UMPBrjFa/6TtKi/7sehPKqfAm4g6K+YQjyyFOLUTxzOngcRZTlAVY8sc2CORJYqdHQY8gRPHmn+qo15rCBw== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.0.0", "@babel/template@^7.12.13", "@babel/template@^7.3.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.12.13.tgz#530265be8a2589dbb37523844c5bcb55947fb327" - integrity sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.12.13.tgz#689f0e4b4c08587ad26622832632735fb8c4e0c0" - integrity sha512-3Zb4w7eE/OslI0fTp8c7b286/cQps3+vdLW3UcwC8VSJC6GbKn55aeVVu2QJNuCDoeKyptLOFrPq8WqZZBodyA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.12.13" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.12.13" - "@babel/types" "^7.12.13" +"@babel/template@^7.0.0", "@babel/template@^7.15.4", "@babel/template@^7.3.3": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" + integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" + +"@babel/traverse@^7.0.0-beta.54", "@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.7.2": + version "7.15.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" + integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== + dependencies: + "@babel/code-frame" "^7.14.5" + "@babel/generator" "^7.15.4" + "@babel/helper-function-name" "^7.15.4" + "@babel/helper-hoist-variables" "^7.15.4" + "@babel/helper-split-export-declaration" "^7.15.4" + "@babel/parser" "^7.15.4" + "@babel/types" "^7.15.4" debug "^4.1.0" globals "^11.1.0" - lodash "^4.17.19" -"@babel/traverse@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.0.tgz#6d95752475f86ee7ded06536de309a65fc8966cc" - integrity sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ== +"@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.54", "@babel/types@^7.14.9", "@babel/types@^7.15.4", "@babel/types@^7.15.6", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" + integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.13.0" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.13.0" - "@babel/types" "^7.13.0" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/traverse@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.0.tgz#cea0dc8ae7e2b1dec65f512f39f3483e8cc95aef" - integrity sha512-dZ/a371EE5XNhTHomvtuLTUyx6UEoJmYX+DT5zBCQN3McHemsuIaKKYqsc/fs26BEkHs/lBZy0J571LP5z9kQA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@babel/generator" "^7.14.0" - "@babel/helper-function-name" "^7.12.13" - "@babel/helper-split-export-declaration" "^7.12.13" - "@babel/parser" "^7.14.0" - "@babel/types" "^7.14.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.3.0", "@babel/types@^7.3.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.13.tgz#8be1aa8f2c876da11a9cf650c0ecf656913ad611" - integrity sha512-oKrdZTld2im1z8bDwTOQvUbxKwE+854zc16qWZQlcTqMN00pWxHQ4ZeOq0yDMnisOpRykH2/5Qqcrk/OlbAjiQ== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.13.0": - version "7.13.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.0.tgz#74424d2816f0171b4100f0ab34e9a374efdf7f80" - integrity sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@babel/types@^7.13.12", "@babel/types@^7.14.0": - version "7.14.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.0.tgz#3fc3fc74e0cdad878182e5f66cc6bcab1915a802" - integrity sha512-O2LVLdcnWplaGxiPBz12d0HcdN8QdxdsWYhz5LSeuukV/5mn2xUUc3gBeU4QBYPJ18g/UToe8F532XJ608prmg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.0" + "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -824,29 +765,35 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cnakazawa/watch@^1.0.3": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" - integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@eslint/eslintrc@^0.4.0": - version "0.4.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.0.tgz#99cc0a0584d72f1df38b900fb062ba995f395547" - integrity sha512-2ZPCc+uNbjV5ERJr+aKSPRwZgKd2z11x0EgLvb1PURmUrn9QNRXFqje0Ldq454PfAVyaJYyrDvvIKSFP4NnBog== +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" debug "^4.1.1" espree "^7.3.0" - globals "^12.1.0" + globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" js-yaml "^3.13.1" minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" + integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -863,93 +810,94 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== +"@jest/console@^27.1.1": + version "27.1.1" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.1.1.tgz#e1eb8ef8a410e75e80bb17429047ed5d43411d20" + integrity sha512-VpQJRsWSeAem0zpBjeRtDbcD6DlbNoK11dNYt+PSQ+DDORh9q2/xyEpErfwgnLjWX0EKkSZmTGx/iH9Inzs6vQ== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.1.1" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" + jest-message-util "^27.1.1" + jest-util "^27.1.1" slash "^3.0.0" -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== +"@jest/core@^27.1.1": + version "27.1.1" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.1.1.tgz#d9d42214920cb96c2a6cc48517cf62d4351da3aa" + integrity sha512-oCkKeTgI0emznKcLoq5OCD0PhxCijA4l7ejDnWW3d5bgSi+zfVaLybVqa+EQOxpNejQWtTna7tmsAXjMN9N43Q== dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.1.1" + "@jest/reporters" "^27.1.1" + "@jest/test-result" "^27.1.1" + "@jest/transform" "^27.1.1" + "@jest/types" "^27.1.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 "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" + jest-changed-files "^27.1.1" + jest-config "^27.1.1" + jest-haste-map "^27.1.1" + jest-message-util "^27.1.1" + jest-regex-util "^27.0.6" + jest-resolve "^27.1.1" + jest-resolve-dependencies "^27.1.1" + jest-runner "^27.1.1" + jest-runtime "^27.1.1" + jest-snapshot "^27.1.1" + jest-util "^27.1.1" + jest-validate "^27.1.1" + jest-watcher "^27.1.1" + micromatch "^4.0.4" p-each-series "^2.1.0" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== +"@jest/environment@^27.1.1": + version "27.1.1" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.1.1.tgz#a1f7a552f7008f773988b9c0e445ede35f77bbb7" + integrity sha512-+y882/ZdxhyqF5RzxIrNIANjHj991WH7jifdcplzMDosDUOyCACFYUyVTBGbSTocbU+s1cesroRzkwi8hZ9SHg== dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/fake-timers" "^27.1.1" + "@jest/types" "^27.1.1" "@types/node" "*" - jest-mock "^26.6.2" + jest-mock "^27.1.1" -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== +"@jest/fake-timers@^27.1.1": + version "27.1.1" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.1.1.tgz#557a1c0d067d33bcda4dfae9a7d8f96a15a954b5" + integrity sha512-u8TJ5VlsVYTsGFatoyIae2l25pku4Bu15QCPTx2Gs5z+R//Ee3tHN85462Vc9yGVcdDvgADbqNkhOLxbEwPjMQ== dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" + "@jest/types" "^27.1.1" + "@sinonjs/fake-timers" "^7.0.2" "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" + jest-message-util "^27.1.1" + jest-mock "^27.1.1" + jest-util "^27.1.1" -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== +"@jest/globals@^27.1.1": + version "27.1.1" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.1.1.tgz#cfe5f4d5b37483cef62b79612128ccc7e3c951d8" + integrity sha512-Q3JcTPmY+DAEHnr4MpnBV3mwy50EGrTC6oSDTNnW7FNGGacTJAfpWNk02D7xv422T1OzK2A2BKx+26xJOvHkyw== dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" + "@jest/environment" "^27.1.1" + "@jest/types" "^27.1.1" + expect "^27.1.1" -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== +"@jest/reporters@^27.1.1": + version "27.1.1" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.1.1.tgz#ee5724092f197bb78c60affb9c6f34b6777990c2" + integrity sha512-cEERs62n1P4Pqox9HWyNOEkP57G95aK2mBjB6D8Ruz1Yc98fKH53b58rlVEnsY5nLmkLNZk65fxNi9C0Yds/8w== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.1.1" + "@jest/test-result" "^27.1.1" + "@jest/transform" "^27.1.1" + "@jest/types" "^27.1.1" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -960,64 +908,61 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" + jest-haste-map "^27.1.1" + jest-resolve "^27.1.1" + jest-util "^27.1.1" + jest-worker "^27.1.1" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" + v8-to-istanbul "^8.0.0" -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== +"@jest/source-map@^27.0.6": + version "27.0.6" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.6.tgz#be9e9b93565d49b0548b86e232092491fb60551f" + integrity sha512-Fek4mi5KQrqmlY07T23JRi0e7Z9bXTOOD86V/uS0EIW4PClvPDqZOyFlLpNJheS6QI0FNX1CgmPjtJ4EA/2M+g== dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" source-map "^0.6.0" -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== +"@jest/test-result@^27.1.1": + version "27.1.1" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.1.1.tgz#1086b39af5040b932a55e7f1fa1bc4671bed4781" + integrity sha512-8vy75A0Jtfz9DqXFUkjC5Co/wRla+D7qRFdShUY8SbPqBS3GBx3tpba7sGKFos8mQrdbe39n+c1zgVKtarfy6A== dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.1.1" + "@jest/types" "^27.1.1" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== +"@jest/test-sequencer@^27.1.1": + version "27.1.1" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.1.1.tgz#cea3722ec6f6330000240fd999ad3123adaf5992" + integrity sha512-l8zD3EdeixvwmLNlJoMX3hhj8iIze95okj4sqmBzOq/zW8gZLElUveH4bpKEMuR+Nweazjlwc7L6g4C26M/y6Q== dependencies: - "@jest/test-result" "^26.6.2" + "@jest/test-result" "^27.1.1" graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" + jest-haste-map "^27.1.1" + jest-runtime "^27.1.1" -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== +"@jest/transform@^27.1.1": + version "27.1.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.1.1.tgz#51a22f5a48d55d796c02757117c02fcfe4da13d7" + integrity sha512-qM19Eu75U6Jc5zosXXVnq900Nl9JDpoGaZ4Mg6wZs7oqbu3heYSMOZS19DlwjlhWdfNRjF4UeAgkrCJCK3fEXg== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" + "@jest/types" "^27.1.1" babel-plugin-istanbul "^6.0.0" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" + jest-haste-map "^27.1.1" + jest-regex-util "^27.0.6" + jest-util "^27.1.1" + micromatch "^4.0.4" pirates "^4.0.1" slash "^3.0.0" source-map "^0.6.1" @@ -1054,21 +999,42 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + "@sinonjs/commons@^1.7.0": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.2.tgz#858f5c4b48d80778fde4b9d541f27edc0d56488b" - integrity sha512-sruwd86RJHdsVf/AtBoijDmUqJp3B6hF/DGC23C+JaegnDHaZyewCjoVGTdg3J0uz3Zs7NnIT05OBOmML72lQw== + version "1.8.3" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" + integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== +"@sinonjs/fake-timers@^7.0.2": + version "7.1.2" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" + integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== dependencies: "@sinonjs/commons" "^1.7.0" -"@testing-library/jest-native@^4.0.1": +"@testing-library/jest-native@^4.0.2": version "4.0.2" resolved "https://registry.yarnpkg.com/@testing-library/jest-native/-/jest-native-4.0.2.tgz#dfed231ae45ee27fdf48323b5eac344d4906df99" integrity sha512-GJBe/aAJeWNG9aZUyp92dNtkh0wbYH3c3XRwKT8PvpPccJn/dI+R+87MMGiruLtJwGKuTtov2rC0DTautPDirg== @@ -1080,17 +1046,22 @@ ramda "^0.26.1" redent "^2.0.0" -"@testing-library/react-native@^7.1.0": +"@testing-library/react-native@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@testing-library/react-native/-/react-native-7.2.0.tgz#e5ec5b0974e4e5f525f8057563417d1e9f820d96" integrity sha512-rDKzJjAAeGgyoJT0gFQiMsIL09chdWcwZyYx6WZHMgm2c5NDqY52hUuyTkzhqddMYWmSRklFphSg7B2HX+246Q== dependencies: pretty-format "^26.0.1" -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.12" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" - integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": + version "7.1.16" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" + integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1099,32 +1070,27 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" - integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" + integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.4.0" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" - integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.11.0" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" - integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== dependencies: "@babel/types" "^7.3.0" -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - "@types/graceful-fs@^4.1.2": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" @@ -1153,66 +1119,66 @@ "@types/istanbul-lib-report" "*" "@types/istanbul-reports@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" - integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + version "3.0.1" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" + integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== dependencies: "@types/istanbul-lib-report" "*" "@types/jest@^27.0.1": - version "27.0.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" - integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== + version "27.0.1" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.1.tgz#fafcc997da0135865311bb1215ba16dba6bdf4ca" + integrity sha512-HTLpVXHrY69556ozYkcq47TtQJXpcWAWfkoqz+ZGz2JnmZhzlRjprCIyFnetSy8gpDWwTTGBcRVv1J1I1vBrHw== dependencies: jest-diff "^27.0.0" pretty-format "^27.0.0" +"@types/json-schema@^7.0.7": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== + "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/node@*": - version "14.14.27" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.27.tgz#c7127f8da0498993e13b1a42faf1303d3110d2f2" - integrity sha512-Ecfmo4YDQPwuqTCl1yBxLV5ihKfRlkBmzUEDcfIRvDxOTGQEeikr317Ln7Gcv0tjA8dVgKI3rniqW2G1OyKDng== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + version "16.9.1" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.9.1.tgz#0611b37db4246c937feef529ddcc018cf8e35708" + integrity sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g== "@types/parse-json@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/prettier@^2.0.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.1.tgz#374e31645d58cb18a07b3ecd8e9dede4deb2cccd" - integrity sha512-DxZZbyMAM9GWEzXL+BMZROWz9oo6A9EilwwOMET2UVu2uZTqMWS5S69KVtuVKaRjCUpcrOXRalet86/OpG4kqw== +"@types/prettier@^2.1.5": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" + integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== "@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/yargs-parser@*": - version "20.2.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" - integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== "@types/yargs@^13.0.0": - version "13.0.11" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.11.tgz#def2f0c93e4bdf2c61d7e34899b17e34be28d3b1" - integrity sha512-NRqD6T4gktUrDi1o1wLH3EKC1o2caCr7/wR87ODcbVITQF106OM3sFN92ysZ++wqelOd1CTzatnOBRDYYG6wGQ== + version "13.0.12" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092" + integrity sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ== dependencies: "@types/yargs-parser" "*" "@types/yargs@^15.0.0": - version "15.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== dependencies: "@types/yargs-parser" "*" @@ -1223,7 +1189,77 @@ dependencies: "@types/yargs-parser" "*" -abab@^2.0.3: +"@typescript-eslint/eslint-plugin@^4.31.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== + dependencies: + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" + debug "^4.3.1" + functional-red-black-tree "^1.0.1" + ignore "^5.1.8" + regexpp "^3.1.0" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/experimental-utils@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== + dependencies: + "@types/json-schema" "^7.0.7" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + eslint-scope "^5.1.1" + eslint-utils "^3.0.0" + +"@typescript-eslint/parser@^4.31.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== + dependencies: + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" + debug "^4.3.1" + +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== + +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== + dependencies: + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" + debug "^4.3.1" + globby "^11.0.3" + is-glob "^4.0.1" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== + dependencies: + "@typescript-eslint/types" "4.33.0" + eslint-visitor-keys "^2.0.0" + +abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== @@ -1237,34 +1273,41 @@ acorn-globals@^6.0.0: acorn-walk "^7.1.1" acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^7.1.1: version "7.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^7.1.1: +acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^7.4.0: - version "7.4.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.0.tgz#e1ad486e6c54501634c6c397c5c121daa383607c" - integrity sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w== +acorn@^8.2.4: + version "8.5.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" + integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + +agent-base@6: + version "6.0.2" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: +ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1274,17 +1317,27 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" +ajv@^8.0.1: + version "8.6.3" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764" + integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== + version "4.3.2" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: - type-fest "^0.11.0" + type-fest "^0.21.3" ansi-regex@^4.0.0: version "4.1.0" @@ -1296,6 +1349,11 @@ ansi-regex@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" @@ -1304,11 +1362,10 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== + version "4.3.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: - "@types/color-name" "^1.1.1" color-convert "^2.0.1" ansi-styles@^5.0.0: @@ -1316,18 +1373,10 @@ ansi-styles@^5.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - anymatch@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -1347,71 +1396,39 @@ aria-query@^4.2.2: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-includes@^3.1.1, array-includes@^3.1.2, array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== +array-includes@^3.1.1, array-includes@^3.1.3, array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" get-intrinsic "^1.1.1" - is-string "^1.0.5" + is-string "^1.0.7" -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -array.prototype.flat@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== +array.prototype.flat@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.19.0" array.prototype.flatmap@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" - integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - function-bind "^1.1.1" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + es-abstract "^1.19.0" ast-types-flow@^0.0.7: version "0.0.7" @@ -1428,41 +1445,26 @@ asynckit@^0.4.0: resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" - integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== - axe-core@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.0.2.tgz#c7cf7378378a51fcd272d3c09668002a4990b1cb" - integrity sha512-arU1h31OGFu+LPrOLGZ7nB45v940NMDMEJeNmbutu57P+UFDVnkZg3e+J1I2HJRZ9hT7gO8J91dn/PMrAiKakA== + version "4.3.3" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.3.tgz#b55cd8e8ddf659fe89b064680e1c6a4dceab0325" + integrity sha512-/lqqLAmuIPi79WYfRpy2i8z+x+vxU3zX2uAm0gs1q52qTuKwolOj1P8XbufpXcsydrpKx2yGn2wzAnxCMV86QA== axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== +babel-jest@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.1.1.tgz#9359c45995d0940b84d2176ab83423f9eed07617" + integrity sha512-JA+dzJl4n2RBvWQEnph6HJaTHrsIPiXGQYatt/D8nR4UpX9UG4GaDzykVVPQBbrdTebZREkRb6SOxyIXJRab6Q== dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" + "@jest/transform" "^27.1.1" + "@jest/types" "^27.1.1" + "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" + babel-preset-jest "^27.0.6" chalk "^4.0.0" graceful-fs "^4.2.4" slash "^3.0.0" @@ -1485,16 +1487,40 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== +babel-plugin-jest-hoist@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.6.tgz#f7c6b3d764af21cb4a2a1ab6870117dbde15b456" + integrity sha512-CewFeM9Vv2gM7Yr9n5eyyLVPRSiBnk6lKZRjgwYnGKSl9M14TMn2vkN02wTF04OGuSDLEzlWiMzvjXuW9mB6Gw== 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.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" + integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== + dependencies: + "@babel/compat-data" "^7.13.11" + "@babel/helper-define-polyfill-provider" "^0.2.2" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.2.2: + version "0.2.4" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.4.tgz#68cb81316b0e8d9d721a92e0009ec6ecd4cd2ca9" + integrity sha512-z3HnJE5TY/j4EFEa/qpQMSbcUJZ5JQi+3UFjXzn6pQCmIKc5Ug5j98SuYyH+m4xQnvKlMDIW4plLfgyVnd0IcQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + core-js-compat "^3.14.0" + +babel-plugin-polyfill-regenerator@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" + integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.2.2" + babel-preset-current-node-syntax@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" @@ -1513,38 +1539,18 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== +babel-preset-jest@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.6.tgz#909ef08e9f24a4679768be2f60a3df0856843f9d" + integrity sha512-WObA0/Biw2LrVVwZkF/2GqbOdzhKD6Fkdwhoy9ASIrOWr/zodcSpQh72JOkEn6NWyjmnPDjNSqaGN4KnpKzhXw== dependencies: - babel-plugin-jest-hoist "^26.6.2" + babel-plugin-jest-hoist "^27.0.6" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== brace-expansion@^1.1.7: version "1.1.11" @@ -1554,22 +1560,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - braces@^3.0.1: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" @@ -1582,16 +1572,16 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browserslist@^4.14.5: - version "4.16.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== +browserslist@^4.16.6, browserslist@^4.17.0: + version "4.17.0" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.0.tgz#1fcd81ec75b41d6d4994fb0831b92ac18c01649c" + integrity sha512-g2BJ2a0nEYvEFQC208q8mVAhfNwpZ5Mu8BwgtCdZKO3qx98HChmeg448fPdUzld8aFmfLgVh7yymqV+q1lJZ5g== dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" + caniuse-lite "^1.0.30001254" + colorette "^1.3.0" + electron-to-chromium "^1.3.830" escalade "^3.1.1" - node-releases "^1.1.71" + node-releases "^1.1.75" bser@2.1.1: version "2.1.1" @@ -1601,34 +1591,16 @@ bser@2.1.1: node-int64 "^0.4.0" buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -call-bind@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.0.tgz#24127054bb3f9bdcb4b1fb82418186072f77b8ce" - integrity sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.0" +builtin-modules@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.2.0.tgz#45d5db99e7ee5e6bc4f362e008bf917ab5049887" + integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== -call-bind@^1.0.2: +call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== @@ -1660,34 +1632,22 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camelcase@^5.0.0, camelcase@^5.3.1: +camelcase@^5.3.1: version "5.3.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== -camelcase@^6.0.0: +camelcase@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001219: - version "1.0.30001219" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001219.tgz#5bfa5d0519f41f993618bd318f606a4c4c16156b" - integrity sha512-c0yixVG4v9KBc/tQ2rlbB3A/bgBFRvl8h8M4IeUbqCca4gsiCfvtaheUssbnux/Mb66Vjz7x8yYjDgYcNQOhyQ== +caniuse-lite@^1.0.30001254: + version "1.0.30001256" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001256.tgz#182410b5f024e0ab99c72ec648f234a9986bd548" + integrity sha512-QirrvMLmB4txNnxiaG/xbm6FSzv9LqOZ3Jp9VtCYb3oPIfCHpr/oGn38pFq0udwlkctvXQgPthaXqJ76DaYGnA== -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -1697,9 +1657,9 @@ chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: supports-color "^5.3.0" chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -1709,25 +1669,15 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== +ci-info@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== clean-stack@^2.0.0: version "2.2.0" @@ -1749,14 +1699,14 @@ cli-truncate@^2.1.0: slice-ansi "^3.0.0" string-width "^4.2.0" -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== +cliui@^7.0.2: + version "7.0.4" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" + integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== dependencies: string-width "^4.2.0" strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" + wrap-ansi "^7.0.0" co@^4.6.0: version "4.6.0" @@ -1768,14 +1718,6 @@ collect-v8-coverage@^1.0.0: resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - color-convert@^1.9.0: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" @@ -1800,12 +1742,12 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== +colorette@^1.2.2, colorette@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40" + integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g== -combined-stream@^1.0.6, combined-stream@~1.0.6: +combined-stream@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== @@ -1817,11 +1759,6 @@ commander@^7.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -1832,34 +1769,27 @@ confusing-browser-globals@^1.0.10: resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz#30d1e7f3d1b882b25ec4933d1d1adac353d20a59" integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-pure@^3.0.0: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" - integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== +core-js-compat@^3.14.0: + version "3.17.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.17.3.tgz#b39c8e4dec71ecdc735c653ce5233466e561324e" + integrity sha512-+in61CKYs4hQERiADCJsdgewpdl/X0GhEX77pjKgbeibXviIt2oxEjTc8O2fqHX8mDdBrDvX8MYD/RYsBv4OiA== + dependencies: + browserslist "^4.17.0" + semver "7.0.0" -core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= +core-js-pure@^3.16.0: + version "3.18.3" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.18.3.tgz#7eed77dcce1445ab68fd68715856633e2fb3b90c" + integrity sha512-qfskyO/KjtbYn09bn1IPkuhHl5PlJ6IzJ9s9sraJ1EqcuGyLGKzhSM1cY0zgyL9hx42eulQLZ6WaeK5ycJCkqw== -cosmiconfig@^5.2.1: +cosmiconfig@^5.0.5: version "5.2.1" resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== @@ -1870,9 +1800,9 @@ cosmiconfig@^5.2.1: parse-json "^4.0.0" cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -1880,18 +1810,7 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -1910,7 +1829,7 @@ cssom@~0.3.6: resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== -cssstyle@^2.2.0: +cssstyle@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== @@ -1918,16 +1837,9 @@ cssstyle@^2.2.0: cssom "~0.3.6" damerau-levenshtein@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" - integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" + version "1.0.7" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" + integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== data-urls@^2.0.0: version "2.0.0" @@ -1938,39 +1850,41 @@ data-urls@^2.0.0: whatwg-mimetype "^2.3.0" whatwg-url "^8.0.0" -debug@^2.2.0, debug@^2.3.3, debug@^2.6.9: +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + +debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== dependencies: ms "2.0.0" -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== +debug@^3.2.7: + version "3.2.7" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" + integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: - ms "2.1.2" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + ms "^2.1.1" -decimal.js@^10.2.0: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== +decimal.js@^10.2.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= +dedent@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" + integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: version "4.2.2" @@ -1984,33 +1898,16 @@ define-properties@^1.1.3: dependencies: object-keys "^1.0.12" -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= +detect-newline@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" + integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -2021,23 +1918,17 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== - diff-sequences@^27.0.6: version "27.0.6" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: - esutils "^2.0.2" - isarray "^1.0.0" + path-type "^4.0.0" doctrine@^2.1.0: version "2.1.0" @@ -2060,23 +1951,15 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.3.723: - version "1.3.725" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.725.tgz#04fc83f9189169aff50f0a00c6b4090b910cba85" - integrity sha512-2BbeAESz7kc6KBzs7WVrMc1BY5waUphk4D4DX5dSQXJhsc3tP5ZFaiyuL0AB7vUKzDYpIeYwTYlEfxyjsGUrhw== +electron-to-chromium@^1.3.830: + version "1.3.836" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.836.tgz#823cb9c98f28c64c673920f1c90ea3826596eaf9" + integrity sha512-Ney3pHOJBWkG/AqYjrW0hr2AUCsao+2uvq9HUlRP8OlpSdk/zOHOUJP7eu0icDvePC9DlgffuelP4TnOJmMRUg== -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== emoji-regex@^8.0.0: version "8.0.0" @@ -2084,16 +1967,9 @@ emoji-regex@^8.0.0: integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.0.0.tgz#48a2309cc8a1d2e9d23bc6a67c39b63032e76ea4" - integrity sha512-6p1NII1Vm62wni/VR/cUMauVQoxmLVb9csqQlvLz+hO2gk8U2UYDfXHQSUYIBKmZwAKz867IDqG7B+u0mj+M6w== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== enquirer@^2.3.5, enquirer@^2.3.6: version "2.3.6" @@ -2102,71 +1978,38 @@ enquirer@^2.3.5, enquirer@^2.3.6: dependencies: ansi-colors "^4.1.1" -error-ex@^1.2.0, error-ex@^1.3.1: +error-ex@^1.3.1: version "1.3.2" resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.1: - version "1.17.4" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.4.tgz#e3aedf19706b20e7c2594c35fc0d57605a79e184" - integrity sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.1.5" - is-regex "^1.0.5" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimleft "^2.1.1" - string.prototype.trimright "^2.1.1" - -es-abstract@^1.18.0-next.1: - version "1.18.0-next.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0-next.2.tgz#088101a55f0541f595e7e057199e27ddc8f3a5c2" - integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-negative-zero "^2.0.1" - is-regex "^1.1.1" - object-inspect "^1.9.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.3" - string.prototype.trimstart "^1.0.3" - -es-abstract@^1.18.0-next.2: - version "1.18.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" - integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== +es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" has-symbols "^1.0.2" - is-callable "^1.2.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" is-negative-zero "^2.0.1" - is-regex "^1.1.2" - is-string "^1.0.5" - object-inspect "^1.9.0" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" object-keys "^1.1.1" object.assign "^4.1.2" string.prototype.trimend "^1.0.4" string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.0" + unbox-primitive "^1.0.1" es-to-primitive@^1.2.1: version "1.2.1" @@ -2192,19 +2035,24 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escodegen@^1.14.1: - version "1.14.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503" - integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw== +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +escodegen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" + integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== dependencies: esprima "^4.0.1" - estraverse "^4.2.0" + estraverse "^5.2.0" esutils "^2.0.2" optionator "^0.8.1" optionalDependencies: source-map "~0.6.1" -eslint-config-airbnb-base@^14.2.1: +eslint-config-airbnb-base@14.2.1, eslint-config-airbnb-base@^14.2.1: version "14.2.1" resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz#8a2eb38455dc5a312550193b319cdaeef042cd1e" integrity sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA== @@ -2213,6 +2061,13 @@ eslint-config-airbnb-base@^14.2.1: object.assign "^4.1.2" object.entries "^1.1.2" +eslint-config-airbnb-typescript@^14.0.0: + version "14.0.1" + resolved "https://registry.yarnpkg.com/eslint-config-airbnb-typescript/-/eslint-config-airbnb-typescript-14.0.1.tgz#6721eb320d3953ae0d4bf258e877900fcb543a38" + integrity sha512-tF4GwC3sRrw8kEj4/yxX8F7AcLzj/1IESBnsCiFMplzYmxre459qm2z9DFkCpqBVQFSH6j2K4+VKVteX4m0GsQ== + dependencies: + eslint-config-airbnb-base "14.2.1" + eslint-config-airbnb@^18.2.1: version "18.2.1" resolved "https://registry.yarnpkg.com/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz#b7fe2b42f9f8173e825b73c8014b592e449c98d9" @@ -2222,6 +2077,18 @@ eslint-config-airbnb@^18.2.1: object.assign "^4.1.2" object.entries "^1.1.2" +eslint-config-backpacker-react-ts@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/eslint-config-backpacker-react-ts/-/eslint-config-backpacker-react-ts-0.1.0.tgz#bf1e58d0831a31ace8dad73678df14f4dfe79b85" + integrity sha512-KC5sc7xs7bamDnnXl4cICDy/Q0+Kbqhk6lrLZlKZD/3oOLge2KZzWWQhcs/KlkJFVUqhEyix10ZO4jxc7uVDEg== + dependencies: + "@typescript-eslint/eslint-plugin" "^4.31.0" + "@typescript-eslint/parser" "^4.31.0" + eslint "^7.32.0" + eslint-config-airbnb-typescript "^14.0.0" + eslint-config-backpacker-react "^0.6.0" + eslint-config-prettier "^8.3.0" + eslint-config-backpacker-react@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/eslint-config-backpacker-react/-/eslint-config-backpacker-react-0.6.0.tgz#a18657beb18b04643f9f3cd3732200c0b24730bd" @@ -2243,40 +2110,41 @@ eslint-config-prettier@^8.3.0: resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== dependencies: - debug "^2.6.9" - resolve "^1.13.1" + debug "^3.2.7" + resolve "^1.20.0" -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== +eslint-module-utils@^2.7.0: + version "2.7.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" + integrity sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ== dependencies: - debug "^2.6.9" + debug "^3.2.7" + find-up "^2.1.0" pkg-dir "^2.0.0" eslint-plugin-import@^2.22.1: - version "2.22.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz#0896c7e6a0cf44109a2d97b95903c2bb689d7702" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== + version "2.25.2" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz#b3b9160efddb702fc1636659e71ba1d10adbe9e9" + integrity sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g== dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" + doctrine "^2.1.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.0" has "^1.0.3" + is-core-module "^2.7.0" + is-glob "^4.0.3" minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" + object.values "^1.1.5" + resolve "^1.20.0" + tsconfig-paths "^3.11.0" eslint-plugin-jsx-a11y@^6.4.1: version "6.4.1" @@ -2308,24 +2176,26 @@ eslint-plugin-react-hooks@^4.2.0: integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== eslint-plugin-react@^7.23.2: - version "7.23.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.23.2.tgz#2d2291b0f95c03728b55869f01102290e792d494" - integrity sha512-AfjgFQB+nYszudkxRkTFu0UR1zEQig0ArVMPloKhxwlwkzaw/fBiH0QWcBBhZONlXqQC51+nfqFrkn4EzHcGBw== + version "7.26.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.26.1.tgz#41bcfe3e39e6a5ac040971c1af94437c80daa40e" + integrity sha512-Lug0+NOFXeOE+ORZ5pbsh6mSKjBKXDXItUD2sQoT+5Yl0eoT82DqnXeTMfUare4QVCn9QwXbfzO/dBLjLXwVjQ== dependencies: array-includes "^3.1.3" array.prototype.flatmap "^1.2.4" doctrine "^2.1.0" - has "^1.0.3" + estraverse "^5.2.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.0.4" - object.entries "^1.1.3" + object.entries "^1.1.4" object.fromentries "^2.0.4" - object.values "^1.1.3" + object.hasown "^1.0.0" + object.values "^1.1.4" prop-types "^15.7.2" resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.4" + semver "^6.3.0" + string.prototype.matchall "^4.0.5" -eslint-scope@^5.1.0, eslint-scope@^5.1.1: +eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -2340,38 +2210,48 @@ eslint-utils@^2.1.0: dependencies: eslint-visitor-keys "^1.1.0" +eslint-utils@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== + dependencies: + eslint-visitor-keys "^2.0.0" + eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== -eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== +eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@^7.25.0: - version "7.25.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.25.0.tgz#1309e4404d94e676e3e831b3a3ad2b050031eb67" - integrity sha512-TVpSovpvCNpLURIScDRB6g5CYu/ZFq9GfX2hLNIV4dSBKxIWojeDODvYl3t0k0VtMxYeR8OXPCFE5+oHMlGfhw== +eslint@^7.25.0, eslint@^7.32.0: + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.0" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" enquirer "^2.3.5" + escape-string-regexp "^4.0.0" eslint-scope "^5.1.1" eslint-utils "^2.1.0" eslint-visitor-keys "^2.0.0" espree "^7.3.1" esquery "^1.4.0" esutils "^2.0.2" + fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" + glob-parent "^5.1.2" globals "^13.6.0" ignore "^4.0.6" import-fresh "^3.0.0" @@ -2380,7 +2260,7 @@ eslint@^7.25.0: js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" - lodash "^4.17.21" + lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" @@ -2389,7 +2269,7 @@ eslint@^7.25.0: semver "^7.2.1" strip-ansi "^6.0.0" strip-json-comments "^3.1.0" - table "^6.0.4" + table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" @@ -2421,7 +2301,7 @@ esrecurse@^4.3.0: dependencies: estraverse "^5.2.0" -estraverse@^4.1.1, estraverse@^4.2.0: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== @@ -2436,43 +2316,10 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - execa@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.0.1.tgz#aee63b871c9b2cb56bc9addcd3c70a785c6bf0d1" - integrity sha512-4hFTjFbFzQa3aCLobpbPJR/U+VoL1wdV5ozOWjeet0AWDeYr9UFGM1eUFWHX+VtOWFq4p0xXUXfW1YxUaP4fpw== + version "5.1.1" + resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" get-stream "^6.0.0" @@ -2489,76 +2336,19 @@ exit@^0.1.2: resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== - dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= +expect@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.1.1.tgz#020215da67d41cd6ad805fa00bd030985ca7c093" + integrity sha512-JQAzp0CJoFFHF1RnOtrMUNMdsfx/Tl0+FhRzVl8q0fa23N+JyWdPXwb3T5rkHCvyo9uttnK7lVdKCBl1b/9EDw== dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + "@jest/types" "^27.1.1" + ansi-styles "^5.0.0" + jest-get-type "^27.0.6" + jest-matcher-utils "^27.1.1" + jest-message-util "^27.1.1" + jest-regex-util "^27.0.6" -fast-deep-equal@^3.1.1: +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== @@ -2568,16 +2358,34 @@ fast-diff@^1.1.2: resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== +fast-glob@^3.1.1: + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= + version "2.1.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= +fastq@^1.6.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== + dependencies: + reusify "^1.0.4" + fb-watchman@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" @@ -2592,16 +2400,6 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - fill-range@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" @@ -2609,7 +2407,17 @@ fill-range@^7.0.1: dependencies: to-regex-range "^5.0.1" -find-up@^2.0.0, find-up@^2.1.0: +find-line-column@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/find-line-column/-/find-line-column-0.5.2.tgz#db00238ff868551a182e74a103416d295a98c8ca" + integrity sha1-2wAjj/hoVRoYLnShA0FtKVqYyMo= + +find-root@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" + integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== + +find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= @@ -2633,42 +2441,25 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" - integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + version "3.2.2" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561" + integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA== -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== +form-data@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" + integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== dependencies: asynckit "^0.4.0" - combined-stream "^1.0.6" + combined-stream "^1.0.8" mime-types "^2.1.12" -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= -fsevents@^2.1.2: +fsevents@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -2688,20 +2479,11 @@ gensync@^1.0.0-beta.2: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== -get-caller-file@^2.0.1: +get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.0.1.tgz#94a9768fcbdd0595a1c9273aacf4c89d075631be" - integrity sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" @@ -2712,74 +2494,39 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has-symbols "^1.0.1" get-own-enumerable-property-symbols@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.1.tgz#6f7764f88ea11e0b514bd9bd860a132259992ca4" - integrity sha512-09/VS4iek66Dh2bctjRkowueRJbY1JDGR1L/zRxO1Qk8Uxs6PnqaNSqalpizPT+CDjre3hnEsuzvhgomz9qYrA== + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" + integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== -get-stdin@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-7.0.0.tgz#8d5de98f15171a125c5e516643c7a6d0ea8a96f6" - integrity sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ== - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: - assert-plus "^1.0.0" + call-bind "^1.0.2" + get-intrinsic "^1.1.1" -glob-parent@^5.0.0: +glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob@^7.1.1, glob@^7.1.2, glob@^7.1.4: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^7.1.3: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== +glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: + version "7.1.7" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2793,47 +2540,29 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globals@^13.6.0: - version "13.8.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.8.0.tgz#3e20f504810ce87a8d72e55aecf8435b50f4c1b3" - integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== +globals@^13.6.0, globals@^13.9.0: + version "13.11.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7" + integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g== dependencies: type-fest "^0.20.2" -graceful-fs@^4.1.2: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== +globby@^11.0.3: + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== has-bigints@^1.0.1: version "1.0.1" @@ -2850,51 +2579,17 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-symbols@^1.0.2: +has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: +has-tostringtag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" + has-symbols "^1.0.2" has@^1.0.3: version "1.0.3" @@ -2903,11 +2598,6 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - html-encoding-sniffer@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" @@ -2920,41 +2610,32 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" + "@tootallnate/once" "1" + agent-base "6" + debug "4" -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== +https-proxy-agent@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" + integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== + dependencies: + agent-base "6" + debug "4" human-signals@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== -husky@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/husky/-/husky-3.1.0.tgz#5faad520ab860582ed94f0c1a77f0f04c90b57c0" - integrity sha512-FJkPoHHB+6s4a+jwPqBudBDvYZsoQW5/HBuMSehC8qDiCe50kpcxeqFoDSlow+9I6wg47YxBoT3WxaURlrDIIQ== - dependencies: - chalk "^2.4.2" - ci-info "^2.0.0" - cosmiconfig "^5.2.1" - execa "^1.0.0" - get-stdin "^7.0.0" - opencollective-postinstall "^2.0.2" - pkg-dir "^4.2.0" - please-upgrade-node "^3.2.0" - read-pkg "^5.2.0" - run-node "^1.0.0" - slash "^3.0.0" +husky@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.2.tgz#21900da0f30199acca43a46c043c4ad84ae88dff" + integrity sha512-8yKEWNX4z2YsofXAMT7KvA1g8p+GxtB1ffV8XtpAEGuXNAbCV5wdNKH+qTpw8SM9fh4aMPDR+yQuKfgnreyZlg== iconv-lite@0.4.24: version "0.4.24" @@ -2968,6 +2649,11 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== +ignore@^5.1.4, ignore@^5.1.8: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + import-fresh@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" @@ -2977,9 +2663,9 @@ import-fresh@^2.0.0: resolve-from "^3.0.0" import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== + version "3.3.0" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" resolve-from "^4.0.0" @@ -2989,8 +2675,62 @@ import-local@^3.0.2: resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + +import-sort-config@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/import-sort-config/-/import-sort-config-6.0.0.tgz#7313775b761eb479ab2d383945ecb15c008763b8" + integrity sha512-FJpF2F3+30JXqH1rJKeajxoSCHCueai3/0ntDN4y3GJL5pjnLDt/VjCy5FzjH7u0NHnllL/zVEf1wfmsVxJlPQ== + dependencies: + cosmiconfig "^5.0.5" + find-root "^1.0.0" + minimatch "^3.0.4" + resolve-from "^4.0.0" + +import-sort-parser-babylon@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/import-sort-parser-babylon/-/import-sort-parser-babylon-6.0.0.tgz#e1a4c28e0794ad7d9ff36cd045559d8ca8c38be7" + integrity sha512-NyShTiNhTh4Vy7kJUVe6CuvOaQAzzfSIT72wtp3CzGjz8bHjNj59DCAjncuviicmDOgVAgmLuSh1WMcLYAMWGg== + dependencies: + "@babel/core" "^7.2.2" + "@babel/parser" "^7.0.0-beta.54" + "@babel/traverse" "^7.0.0-beta.54" + "@babel/types" "^7.0.0-beta.54" + find-line-column "^0.5.2" + +import-sort-parser-typescript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/import-sort-parser-typescript/-/import-sort-parser-typescript-6.0.0.tgz#98e73cef9e077d073e798722ed59e215b51c17e2" + integrity sha512-pgxnr3I156DonupQriNsgDb2zJN9TxrqCCIN1rwT/6SDO1rkJb+a0fjqshCjlgacTSA92oPAp1eAwmQUeZi3dw== + dependencies: + typescript "^3.2.4" + +import-sort-parser@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/import-sort-parser/-/import-sort-parser-6.0.0.tgz#0d901f264d98ed7caaae71f66128a686f828f2f4" + integrity sha512-H5L+d6HnqHvThB0GmAA3/43Sv74oCwL0iMk3/ixOv0LRJ69rCyHXeG/+UadMHrD2FefEmgPIWboEPAG7gsQrkA== + +import-sort-style-module@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/import-sort-style-module/-/import-sort-style-module-6.0.0.tgz#3149df4785bae804ed32630634ed49e405fa7cad" + integrity sha512-Oxd256EVt6TAgawhIDuKnNHWumzHMHFWhVncBBvlHVnx69B4GP/Gu4Xo+gjxtqSEKEvam5ajUkNvnsXLDMDjKg== + +import-sort-style@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/import-sort-style/-/import-sort-style-6.0.0.tgz#088523f056e5064c34a6426f4733674d81b42e6a" + integrity sha512-z0H5PKs7YoDeKxNYXv2AA1mjjZFY07fjeNCXUdTM3ymJtWeeEoTm8CQkFm2l+KPZoMczIvdwzJpWkkOamBnsPw== + +import-sort@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/import-sort/-/import-sort-6.0.0.tgz#48ba2a7b53f2566ca1dd004327ea271321ad64ff" + integrity sha512-XUwSQMGAGmcW/wfshFE0gXgb1NPF6ibbQD6wDr3KRDykZf/lZj0jf58Bwa02xNb8EE59oz7etFe9OHnJocUW5Q== + dependencies: + detect-newline "^2.1.0" + import-sort-parser "^6.0.0" + import-sort-style "^6.0.0" + is-builtin-module "^3.0.0" + resolve "^1.8.1" imurmurhash@^0.1.4: version "0.1.4" @@ -3029,142 +2769,71 @@ internal-slot@^1.0.3: has "^1.0.3" side-channel "^1.0.4" -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-bigint@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" - integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" is-boolean-object@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" - integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: - call-bind "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-callable@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" - integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== - -is-callable@^1.2.2, is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + call-bind "^1.0.2" + has-tostringtag "^1.0.0" -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== +is-builtin-module@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.1.0.tgz#6fdb24313b1c03b75f8b9711c0feb8c30b903b00" + integrity sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg== dependencies: - ci-info "^2.0.0" + builtin-modules "^3.0.0" -is-core-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.0.0.tgz#58531b70aed1db7c0e8d4eb1a0a2d1ddd64bd12d" - integrity sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw== +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== + +is-ci@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" + integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== dependencies: - has "^1.0.3" + ci-info "^3.1.1" is-core-module@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.3.0.tgz#d341652e3408bca69c4671b79a0954a3d349f887" - integrity sha512-xSphU2KG9867tsYdLD4RWQ1VqdFl4HTO9Thf3I/3dLEfr0dbPTWKsuCKrgqMljg4nPE+Gq0VCnzT3gr0CyBmsw== + version "2.6.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" + integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== dependencies: has "^1.0.3" -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== +is-core-module@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.7.0.tgz#3c0ef7d31b4acfc574f80c58409d568a836848e3" + integrity sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ== dependencies: - kind-of "^6.0.0" + has "^1.0.3" is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" + has-tostringtag "^1.0.0" is-directory@^0.3.1: version "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.1.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" - integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== - -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" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -3180,10 +2849,10 @@ is-generator-fn@^2.0.0: resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== -is-glob@^4.0.0, is-glob@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -3193,16 +2862,11 @@ is-negative-zero@^2.0.1: integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== is-number-object@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" - integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== dependencies: - kind-of "^3.0.2" + has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" @@ -3214,68 +2878,49 @@ is-obj@^1.0.1: resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-potential-custom-element-name@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" - integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= - -is-regex@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" - integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== - dependencies: - has "^1.0.3" +is-potential-custom-element-name@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" + integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.1.1, is-regex@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" - integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== +is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" - has-symbols "^1.0.1" + has-tostringtag "^1.0.0" is-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= -is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: - has-symbols "^1.0.0" + has-tostringtag "^1.0.0" -is-symbol@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== +is-symbol@^1.0.2, is-symbol@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: - has-symbols "^1.0.1" + has-symbols "^1.0.2" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= @@ -3285,45 +2930,18 @@ is-unicode-supported@^0.1.0: resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== -is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== +is-weakref@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" + integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== 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" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + call-bind "^1.0.0" isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - istanbul-lib-coverage@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" @@ -3365,57 +2983,84 @@ istanbul-reports@^3.0.2: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== +jest-changed-files@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.1.1.tgz#9b3f67a34cc58e3e811e2e1e21529837653e4200" + integrity sha512-5TV9+fYlC2A6hu3qtoyGHprBwCAn0AuGA77bZdUgYvVlRMjHXo063VcWTEAyx6XAZ85DYHqp0+aHKbPlfRDRvA== dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" + "@jest/types" "^27.1.1" + execa "^5.0.0" + throat "^6.0.1" -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== +jest-circus@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.1.1.tgz#08dd3ec5cbaadce68ce6388ebccbe051d1b34bc6" + integrity sha512-Xed1ApiMFu/yzqGMBToHr8sp2gkX/ARZf4nXoGrHJrXrTUdVIWiVYheayfcOaPdQvQEE/uyBLgW7I7YBLIrAXQ== dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/environment" "^27.1.1" + "@jest/test-result" "^27.1.1" + "@jest/types" "^27.1.1" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.1.1" + is-generator-fn "^2.0.0" + jest-each "^27.1.1" + jest-matcher-utils "^27.1.1" + jest-message-util "^27.1.1" + jest-runtime "^27.1.1" + jest-snapshot "^27.1.1" + jest-util "^27.1.1" + pretty-format "^27.1.1" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" + +jest-cli@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.1.1.tgz#6491a0278231ffee61083ad468809328e96a8eb2" + integrity sha512-LCjfEYp9D3bcOeVUUpEol9Y1ijZYMWVqflSmtw/wX+6Fb7zP4IlO14/6s9v1pxsoM4Pn46+M2zABgKuQjyDpTw== + dependencies: + "@jest/core" "^27.1.1" + "@jest/test-result" "^27.1.1" + "@jest/types" "^27.1.1" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" + jest-config "^27.1.1" + jest-util "^27.1.1" + jest-validate "^27.1.1" prompts "^2.0.1" - yargs "^15.4.1" + yargs "^16.0.3" -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== +jest-config@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.1.1.tgz#cde823ad27f7ec0b9440035eabc75d4ac1ea024c" + integrity sha512-2iSd5zoJV4MsWPcLCGwUVUY/j6pZXm4Qd3rnbCtrd9EHNTg458iHw8PZztPQXfxKBKJxLfBk7tbZqYF8MGtxJA== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" + "@jest/test-sequencer" "^27.1.1" + "@jest/types" "^27.1.1" + babel-jest "^27.1.1" chalk "^4.0.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" + is-ci "^3.0.0" + jest-circus "^27.1.1" + jest-environment-jsdom "^27.1.1" + jest-environment-node "^27.1.1" + jest-get-type "^27.0.6" + jest-jasmine2 "^27.1.1" + jest-regex-util "^27.0.6" + jest-resolve "^27.1.1" + jest-runner "^27.1.1" + jest-util "^27.1.1" + jest-validate "^27.1.1" + micromatch "^4.0.4" + pretty-format "^27.1.1" jest-diff@^24.0.0, jest-diff@^24.9.0: version "24.9.0" @@ -3427,17 +3072,7 @@ jest-diff@^24.0.0, jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== - dependencies: - chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-diff@^27.0.0: +jest-diff@^27.0.0, jest-diff@^27.1.1: version "27.1.1" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.1.1.tgz#1d1629ca2e3933b10cb27dc260e28e3dba182684" integrity sha512-m/6n5158rqEriTazqHtBpOa2B/gGgXJijX6nsEgZfbJ/3pxQcdpVXBe+FP39b1dxWHyLVVmuVXddmAwtqFO4Lg== @@ -3447,116 +3082,110 @@ jest-diff@^27.0.0: jest-get-type "^27.0.6" pretty-format "^27.1.1" -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== +jest-docblock@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.6.tgz#cc78266acf7fe693ca462cbbda0ea4e639e4e5f3" + integrity sha512-Fid6dPcjwepTFraz0YxIMCi7dejjJ/KL9FBjPYhBp4Sv1Y9PdhImlKZqYU555BlN4TQKaTc+F2Av1z+anVyGkA== dependencies: detect-newline "^3.0.0" -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== +jest-each@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.1.1.tgz#caa1e7eed77144be346eb18712885b990389348a" + integrity sha512-r6hOsTLavUBb1xN0uDa89jdDeBmJ+K49fWpbyxeGRA2pLY46PlC4z551/cWNQzrj+IUa5/gSRsCIV/01HdNPug== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.1.1" chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" + jest-get-type "^27.0.6" + jest-util "^27.1.1" + pretty-format "^27.1.1" -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== +jest-environment-jsdom@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.1.1.tgz#e53e98a16e6a764b8ee8db3b29b3a8c27db06f66" + integrity sha512-6vOnoZ6IaExuw7FvnuJhA1qFYv1DDSnN0sQowzolNwxQp7bG1YhLxj2YU1sVXAYA3IR3MbH2mbnJUsLUWfyfzw== dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/environment" "^27.1.1" + "@jest/fake-timers" "^27.1.1" + "@jest/types" "^27.1.1" "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" + jest-mock "^27.1.1" + jest-util "^27.1.1" + jsdom "^16.6.0" -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== +jest-environment-node@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.1.1.tgz#97425d4762b2aeab15892ffba08c6cbed7653e75" + integrity sha512-OEGeZh0PwzngNIYWYgWrvTcLygopV8OJbC9HNb0j70VBKgEIsdZkYhwcFnaURX83OHACMqf1pa9Tv5Pw5jemrg== dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/environment" "^27.1.1" + "@jest/fake-timers" "^27.1.1" + "@jest/types" "^27.1.1" "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" + jest-mock "^27.1.1" + jest-util "^27.1.1" jest-get-type@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -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.0.6: version "27.0.6" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== +jest-haste-map@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.1.1.tgz#f7c646b0e417ec29b80b96cf785b57b581384adf" + integrity sha512-NGLYVAdh5C8Ezg5QBFzrNeYsfxptDBPlhvZNaicLiZX77F/rS27a9M6u9ripWAaaD54xnWdZNZpEkdjD5Eo5aQ== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.1.1" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.1.1" + jest-worker "^27.1.1" + micromatch "^4.0.4" walker "^1.0.7" optionalDependencies: - fsevents "^2.1.2" + fsevents "^2.3.2" -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== +jest-jasmine2@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.1.1.tgz#efb9e7b70ce834c35c91e1a2f01bb41b462fad43" + integrity sha512-0LAzUmcmvQwjIdJt0cXUVX4G5qjVXE8ELt6nbMNDzv2yAs2hYCCUtQq+Eje70GwAysWCGcS64QeYj5VPHYVxPg== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/environment" "^27.1.1" + "@jest/source-map" "^27.0.6" + "@jest/test-result" "^27.1.1" + "@jest/types" "^27.1.1" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.6.2" + expect "^27.1.1" is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + jest-each "^27.1.1" + jest-matcher-utils "^27.1.1" + jest-message-util "^27.1.1" + jest-runtime "^27.1.1" + jest-snapshot "^27.1.1" + jest-util "^27.1.1" + pretty-format "^27.1.1" + throat "^6.0.1" + +jest-leak-detector@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.1.1.tgz#8e05ec4b339814fc4202f07d875da65189e3d7d4" + integrity sha512-gwSgzmqShoeEsEVpgObymQPrM9P6557jt1EsFW5aCeJ46Cme0EdjYU7xr6llQZ5GpWDl56eOstUaPXiZOfiTKw== dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" + jest-get-type "^27.0.6" + pretty-format "^27.1.1" jest-matcher-utils@^24.0.0: version "24.9.0" @@ -3568,37 +3197,37 @@ jest-matcher-utils@^24.0.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== +jest-matcher-utils@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.1.1.tgz#1f444d7491ccf9edca746336b056178789a59651" + integrity sha512-Q1a10w9Y4sh0wegkdP6reQOa/Dtz7nAvDqBgrat1ItZAUvk4jzXAqyhXPu/ZuEtDaXaNKpdRPRQA8bvkOh2Eaw== dependencies: chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" + jest-diff "^27.1.1" + jest-get-type "^27.0.6" + pretty-format "^27.1.1" -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== +jest-message-util@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.1.1.tgz#980110fb72fcfa711cd9a95e8f10d335207585c6" + integrity sha512-b697BOJV93+AVGvzLRtVZ0cTVRbd59OaWnbB2D75GRaIMc4I+Z9W0wHxbfjW01JWO+TqqW4yevT0aN7Fd0XWng== dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.1.1" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" + micromatch "^4.0.4" + pretty-format "^27.1.1" slash "^3.0.0" - stack-utils "^2.0.2" + stack-utils "^2.0.3" -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== +jest-mock@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.1.1.tgz#c7a2e81301fdcf3dab114931d23d89ec9d0c3a82" + integrity sha512-SClsFKuYBf+6SSi8jtAYOuPw8DDMsTElUWEae3zq7vDhH01ayVSIHUSIa8UgbDOUalCFp6gNsaikN0rbxN4dbw== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.1.1" "@types/node" "*" jest-pnp-resolver@^1.2.2: @@ -3606,177 +3235,189 @@ jest-pnp-resolver@^1.2.2: resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== +jest-regex-util@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" + integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== +jest-resolve-dependencies@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.1.1.tgz#6f3e0916c1764dd1853c6111ed9d66c66c792e40" + integrity sha512-sYZR+uBjFDCo4VhYeazZf/T+ryYItvdLKu9vHatqkUqHGjDMrdEPOykiqC2iEpaCFTS+3iL/21CYiJuKdRbniw== dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" + "@jest/types" "^27.1.1" + jest-regex-util "^27.0.6" + jest-snapshot "^27.1.1" -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== +jest-resolve@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.1.1.tgz#3a86762f9affcad9697bc88140b0581b623add33" + integrity sha512-M41YFmWhvDVstwe7XuV21zynOiBLJB5Sk0GrIsYYgTkjfEWNLVXDjAyq1W7PHseaYNOxIc0nOGq/r5iwcZNC1A== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.1.1" chalk "^4.0.0" + escalade "^3.1.1" graceful-fs "^4.2.4" + jest-haste-map "^27.1.1" jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" + jest-util "^27.1.1" + jest-validate "^27.1.1" + resolve "^1.20.0" slash "^3.0.0" -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== +jest-runner@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.1.1.tgz#1991fdf13a8fe6e49cef47332db33300649357cd" + integrity sha512-lP3MBNQhg75/sQtVkC8dsAQZumvy3lHK/YIwYPfEyqGIX1qEcnYIRxP89q0ZgC5ngvi1vN2P5UFHszQxguWdng== dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.1.1" + "@jest/environment" "^27.1.1" + "@jest/test-result" "^27.1.1" + "@jest/transform" "^27.1.1" + "@jest/types" "^27.1.1" "@types/node" "*" chalk "^4.0.0" - emittery "^0.7.1" + emittery "^0.8.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" + jest-docblock "^27.0.6" + jest-environment-jsdom "^27.1.1" + jest-environment-node "^27.1.1" + jest-haste-map "^27.1.1" + jest-leak-detector "^27.1.1" + jest-message-util "^27.1.1" + jest-resolve "^27.1.1" + jest-runtime "^27.1.1" + jest-util "^27.1.1" + jest-worker "^27.1.1" source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" + throat "^6.0.1" + +jest-runtime@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.1.1.tgz#bd0a0958a11c2f7d94d2e5f6f71864ad1c65fe44" + integrity sha512-FEwy+tSzmsvuKaQpyYsUyk31KG5vMmA2r2BSTHgv0yNfcooQdm2Ke91LM9Ud8D3xz8CLDHJWAI24haMFTwrsPg== + dependencies: + "@jest/console" "^27.1.1" + "@jest/environment" "^27.1.1" + "@jest/fake-timers" "^27.1.1" + "@jest/globals" "^27.1.1" + "@jest/source-map" "^27.0.6" + "@jest/test-result" "^27.1.1" + "@jest/transform" "^27.1.1" + "@jest/types" "^27.1.1" + "@types/yargs" "^16.0.0" chalk "^4.0.0" - cjs-module-lexer "^0.6.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-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" + jest-haste-map "^27.1.1" + jest-message-util "^27.1.1" + jest-mock "^27.1.1" + jest-regex-util "^27.0.6" + jest-resolve "^27.1.1" + jest-snapshot "^27.1.1" + jest-util "^27.1.1" + jest-validate "^27.1.1" slash "^3.0.0" strip-bom "^4.0.0" - yargs "^15.4.1" + yargs "^16.0.3" -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== +jest-serializer@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" + integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== dependencies: "@types/node" "*" graceful-fs "^4.2.4" -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: +jest-snapshot@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.1.1.tgz#3b816e0ca4352fbbd1db48dc692e3d9641d2531b" + integrity sha512-Wi3QGiuRFo3lU+EbQmZnBOks0CJyAMPHvYoG7iJk00Do10jeOyuOEO0Jfoaoun8+8TDv+Nzl7Aswir/IK9+1jg== + 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/types" "^26.6.2" + "@jest/transform" "^27.1.1" + "@jest/types" "^27.1.1" "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^26.6.2" + expect "^27.1.1" graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" + jest-diff "^27.1.1" + jest-get-type "^27.0.6" + jest-haste-map "^27.1.1" + jest-matcher-utils "^27.1.1" + jest-message-util "^27.1.1" + jest-resolve "^27.1.1" + jest-util "^27.1.1" natural-compare "^1.4.0" - pretty-format "^26.6.2" + pretty-format "^27.1.1" semver "^7.3.2" -jest-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" - integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== +jest-util@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.1.1.tgz#2b06db1391d779ec2bd406ab3690ddc56ac728b9" + integrity sha512-zf9nEbrASWn2mC/L91nNb0K+GkhFvi4MP6XJG2HqnHzHvLYcs7ou/In68xYU1i1dSkJlrWcYfWXQE8nVR+nbOA== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.1.1" "@types/node" "*" chalk "^4.0.0" graceful-fs "^4.2.4" - is-ci "^2.0.0" - micromatch "^4.0.2" + is-ci "^3.0.0" + picomatch "^2.2.3" -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== +jest-validate@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.1.1.tgz#0783733af02c988d503995fc0a07bbdc58c7dd50" + integrity sha512-N5Er5FKav/8m2dJwn7BGnZwnoD1BSc8jx5T+diG2OvyeugvZDhPeAt5DrNaGkkaKCrSUvuE7A5E4uHyT7Vj0Mw== dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" + "@jest/types" "^27.1.1" + camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^26.3.0" + jest-get-type "^27.0.6" leven "^3.1.0" - pretty-format "^26.6.2" + pretty-format "^27.1.1" -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== +jest-watcher@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.1.1.tgz#a8147e18703b5d753ada4b287451f2daf40f4118" + integrity sha512-XQzyHbxziDe+lZM6Dzs40fEt4q9akOGwitJnxQasJ9WG0bv3JGiRlsBgjw13znGapeMtFaEsyhL0Cl04IbaoWQ== dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/test-result" "^27.1.1" + "@jest/types" "^27.1.1" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.6.2" + jest-util "^27.1.1" string-length "^4.0.1" -jest-worker@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" - integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== +jest-worker@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.1.1.tgz#eb5f05c4657fdcb702c36c48b20d785bd4599378" + integrity sha512-XJKCL7tu+362IUYTWvw8+3S75U7qMiYiRU6u5yqscB48bTvzwN6i8L/7wVTXiFLwkRsxARNM7TISnTvcgv9hxA== dependencies: "@types/node" "*" merge-stream "^2.0.0" - supports-color "^7.0.0" + supports-color "^8.0.0" -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== +jest@^27.1.1: + version "27.1.1" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.1.1.tgz#49f0497fa0fb07dc78898318cc1b737b5fbf72d8" + integrity sha512-LFTEZOhoZNR/2DQM3OCaK5xC6c55c1OWhYh0njRsoHX0qd6x4nkcgenkSH0JKjsAGMTmmJAoL7/oqYHMfwhruA== dependencies: - "@jest/core" "^26.6.3" + "@jest/core" "^27.1.1" import-local "^3.0.2" - jest-cli "^26.6.3" + jest-cli "^27.1.1" "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -3784,48 +3425,44 @@ jest@^26.6.3: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^16.4.0: - version "16.4.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" - integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== +jsdom@^16.6.0: + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== dependencies: - abab "^2.0.3" - acorn "^7.1.1" + abab "^2.0.5" + acorn "^8.2.4" acorn-globals "^6.0.0" cssom "^0.4.4" - cssstyle "^2.2.0" + cssstyle "^2.3.0" data-urls "^2.0.0" - decimal.js "^10.2.0" + decimal.js "^10.2.1" domexception "^2.0.1" - escodegen "^1.14.1" + escodegen "^2.0.0" + form-data "^3.0.0" html-encoding-sniffer "^2.0.1" - is-potential-custom-element-name "^1.0.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-potential-custom-element-name "^1.0.1" nwsapi "^2.2.0" - parse5 "5.1.1" - request "^2.88.2" - request-promise-native "^1.0.8" - saxes "^5.0.0" + parse5 "6.0.1" + saxes "^5.0.1" symbol-tree "^3.2.4" - tough-cookie "^3.0.1" + tough-cookie "^4.0.0" w3c-hr-time "^1.0.2" w3c-xmlserializer "^2.0.0" webidl-conversions "^6.1.0" whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - ws "^7.2.3" + whatwg-url "^8.5.0" + ws "^7.4.6" xml-name-validator "^3.0.0" jsesc@^2.5.1: @@ -3843,26 +3480,26 @@ json-parse-better-errors@^1.0.1: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= -json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - json5@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" @@ -3877,57 +3514,23 @@ json5@^2.1.2: dependencies: minimist "^1.2.5" -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" - integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== dependencies: - array-includes "^3.1.2" + array-includes "^3.1.3" object.assign "^4.1.2" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - kleur@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== language-subtag-registry@~0.3.2: - version "0.3.20" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.20.tgz#a00a37121894f224f763268e431c55556b0c0755" - integrity sha512-KPMwROklF4tEx283Xw0pNKtfTj1gZ4UByp4EsIFWLgBavJltF4TiYPc39k06zSTsLzxTVXXDSpbwaQXaFB4Qeg== + version "0.3.21" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== language-tags@^1.0.5: version "1.0.5" @@ -3962,7 +3565,7 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= -lint-staged@^11.0.0: +lint-staged@^11.1.2: version "11.1.2" resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.1.2.tgz#4dd78782ae43ee6ebf2969cad9af67a46b33cd90" integrity sha512-6lYpNoA9wGqkL6Hew/4n1H6lRqF3qCsujVT0Oq5Z4hiSAM7S6NksPJ3gnr7A7R52xCtiZMcEUNNQ6d6X5Bvh9w== @@ -3983,9 +3586,9 @@ lint-staged@^11.0.0: stringify-object "^3.3.0" listr2@^3.8.2: - version "3.9.0" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.9.0.tgz#27f23c91ba4fdf513b0682bf604bc6b0ab36b6c1" - integrity sha512-+JxQt7Vi4WEWgJsxmOEX9lDbCumrb3mrEYIeE1VI7I4lf2rXE4v9pq3RMVNp+a9s6mCgc/IsF0ppHsLrx2BEAw== + version "3.11.1" + resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.11.1.tgz#a9bab5cd5874fd3cb7827118dbea6fedefbcb43f" + integrity sha512-ZXQvQfmH9iWLlb4n3hh31yicXDxlzB0pE7MM1zu6kgbVL4ivEsO4H8IPh4E682sC8RjnYO9anose+zT52rrpyg== dependencies: cli-truncate "^2.1.0" colorette "^1.2.2" @@ -3995,16 +3598,6 @@ listr2@^3.8.2: through "^2.3.8" wrap-ansi "^7.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -4020,12 +3613,27 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= +lodash.clonedeep@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.truncate@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= -lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21: +lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -4076,24 +3684,17 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - merge-stream@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== -metro-react-native-babel-preset@^0.66.0: +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +metro-react-native-babel-preset@^0.66.2: version "0.66.2" resolved "https://registry.yarnpkg.com/metro-react-native-babel-preset/-/metro-react-native-babel-preset-0.66.2.tgz#fddebcf413ad4ea617d4f47f7c1da401052de734" integrity sha512-H/nLBAz0MgfDloSe1FjyH4EnbokHFdncyERvLPXDACY3ROVRCeUyFNo70ywRGXW2NMbrV4H7KUyU4zkfWhC2HQ== @@ -4139,26 +3740,7 @@ metro-react-native-babel-preset@^0.66.0: "@babel/template" "^7.0.0" react-refresh "^0.4.0" -micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -micromatch@^4.0.2, micromatch@^4.0.4: +micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -4166,17 +3748,17 @@ micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" -mime-db@1.45.0: - version "1.45.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.45.0.tgz#cceeda21ccd7c3a745eba2decd55d4b73e7879ea" - integrity sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w== +mime-db@1.49.0: + version "1.49.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.49.0.tgz#f3dfde60c99e9cf3bc9701d687778f537001cbed" + integrity sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA== -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.28" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.28.tgz#1160c4757eab2c5363888e005273ecf79d2a0ecd" - integrity sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ== +mime-types@^2.1.12: + version "2.1.32" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.32.tgz#1d00e89e7de7fe02008db61001d9e02852670fd5" + integrity sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A== dependencies: - mime-db "1.45.0" + mime-db "1.49.0" mimic-fn@^2.1.0: version "2.1.0" @@ -4190,19 +3772,11 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: +minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -4213,33 +3787,16 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -4250,53 +3807,17 @@ node-modules-regexp@^1.0.0: resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= -node-notifier@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" - integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== - dependencies: - growly "^1.3.0" - is-wsl "^2.2.0" - semver "^7.3.2" - shellwords "^0.1.1" - uuid "^8.3.0" - which "^2.0.2" - -node-releases@^1.1.71: - version "1.1.71" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" - integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== - -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" +node-releases@^1.1.75: + version "1.1.75" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.75.tgz#6dd8c876b9897a1b8e5a02de26afa79bb54ebbfe" + integrity sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw== normalize-path@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0, npm-run-path@^4.0.1: +npm-run-path@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== @@ -4308,47 +3829,21 @@ nwsapi@^2.2.0: resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-inspect@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" - integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== - -object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.9.0.tgz#c90521d74e1127b67266ded3394ad6116986533a" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" @@ -4359,69 +3854,55 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.2, object.entries@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.3.tgz#c601c7f168b62374541a07ddbd3e2d5e4f7711a6" - integrity sha512-ym7h7OZebNS96hn5IJeyUmaWhaSM4SVtAPPfNLQEI2MYWCO2egsITb9nab2+i/Pwibx+R0mtn+ltKJXRSeTMGg== +object.entries@^1.1.2, object.entries@^1.1.4: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" + es-abstract "^1.19.1" object.fromentries@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" - integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" + es-abstract "^1.19.1" -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= +object.hasown@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== dependencies: - isobject "^3.0.1" + define-properties "^1.1.3" + es-abstract "^1.19.1" -object.values@^1.1.1, object.values@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.3.tgz#eaa8b1e17589f02f698db093f7c62ee1699742ee" - integrity sha512-nkF6PfDB9alkOUxpf1HNm/QlkeW3SReqL5WXeBLpEJJnlPSvRaDQpW3gQTksTN3fgJX4hL42RzKyOin6ff3tyw== +object.values@^1.1.4, object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" + es-abstract "^1.19.1" -once@^1.3.0, once@^1.3.1, once@^1.4.0: +once@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - -onetime@^5.1.2: +onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" -opencollective-postinstall@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz#5657f1bede69b6e33a45939b061eb53d3c6c3a89" - integrity sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw== - optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" @@ -4451,11 +3932,6 @@ p-each-series@^2.1.0: resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -4464,9 +3940,9 @@ p-limit@^1.1.0: p-try "^1.0.0" p-limit@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== dependencies: p-try "^2.0.0" @@ -4508,13 +3984,6 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - parse-json@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" @@ -4524,24 +3993,19 @@ parse-json@^4.0.0: json-parse-better-errors "^1.0.1" parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" - integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +parse5@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" + integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== path-exists@^3.0.0: version "3.0.0" @@ -4558,11 +4022,6 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" @@ -4573,38 +4032,16 @@ path-parse@^1.0.6: resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -picomatch@^2.0.4: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -picomatch@^2.2.3: +picomatch@^2.0.4, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - pirates@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" @@ -4633,11 +4070,6 @@ please-upgrade-node@^3.2.0: dependencies: semver-compare "^1.0.0" -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -4655,7 +4087,17 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" -prettier@2.4.1: +prettier-plugin-import-sort@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/prettier-plugin-import-sort/-/prettier-plugin-import-sort-0.0.7.tgz#b13dcc4de98940b99066a9e34606a955d109b546" + integrity sha512-O0KlUSq+lwvh+UiN3wZDT6wWkf7TNxTVv2/XXE5KqpRNbFJq3nRg2ftzBYFFO8QGpdWIrOB0uCTCtFjIxmVKQw== + dependencies: + import-sort "^6.0.0" + import-sort-config "^6.0.0" + import-sort-parser-babylon "^6.0.0" + import-sort-parser-typescript "^6.0.0" + +prettier@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== @@ -4670,7 +4112,7 @@ pretty-format@^24.0.0, pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^26.0.1, pretty-format@^26.6.2: +pretty-format@^26.0.1: version "26.6.2" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== @@ -4696,9 +4138,9 @@ progress@^2.0.0: integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== prompts@^2.0.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" - integrity sha512-awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ== + version "2.4.1" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" + integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== dependencies: kleur "^3.0.3" sisteransi "^1.0.5" @@ -4712,28 +4154,20 @@ prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" -psl@^1.1.28: +psl@^1.1.33: version "1.8.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== ramda@^0.26.1: version "0.26.1" @@ -4763,7 +4197,7 @@ react-shallow-renderer@^16.13.1: object-assign "^4.1.1" react-is "^16.12.0 || ^17.0.0" -react-test-renderer@^17.0.1: +react-test-renderer@^17.0.2: version "17.0.2" resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-17.0.2.tgz#4cd4ae5ef1ad5670fc0ef776e8cc7e1231d9866c" integrity sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ== @@ -4773,42 +4207,6 @@ react-test-renderer@^17.0.1: react-shallow-renderer "^16.13.1" scheduler "^0.20.2" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - redent@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" @@ -4830,9 +4228,9 @@ regenerate@^1.4.0: integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.13.4: - version "0.13.4" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.4.tgz#e96bf612a3362d12bb69f7e8f74ffeab25c7ac91" - integrity sha512-plpwicqEzfEyTQohIKktWigcLzmNStMGwbOUbykx51/29Z3JOGYldaaNGK7ngNXV+UcoqvIMmloZ48Sr74sd+g== + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-transform@^0.14.2: version "0.14.5" @@ -4841,14 +4239,6 @@ regenerator-transform@^0.14.2: dependencies: "@babel/runtime" "^7.8.4" -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - regexp.prototype.flags@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" @@ -4858,9 +4248,9 @@ regexp.prototype.flags@^1.3.1: define-properties "^1.1.3" regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== regexpu-core@^4.7.1: version "4.7.1" @@ -4880,78 +4270,21 @@ regjsgen@^0.5.1: integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== regjsparser@^0.6.4: - version "0.6.7" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.7.tgz#c00164e1e6713c2e3ee641f1701c4b7aa0a7f86c" - integrity sha512-ib77G0uxsA2ovgiYbCVGx4Pv3PSttAx2vIwidqQzbL2U5S4Q+j00HdSAneSBuyVcMvEnTXMjiGgB+DlXozVhpQ== + version "0.6.9" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.9.tgz#b489eef7c9a2ce43727627011429cf833a7183e6" + integrity sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== dependencies: jsesc "~0.5.0" -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f" - integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw== - dependencies: - lodash "^4.17.19" - -request-promise-native@^1.0.8: - version "1.0.9" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" - integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== - dependencies: - request-promise-core "1.1.4" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.88.2: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - require-directory@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== resolve-cwd@^3.0.0: version "3.0.0" @@ -4975,17 +4308,12 @@ resolve-from@^5.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@^1.10.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" - integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== +resolve@^1.14.2, resolve@^1.20.0, resolve@^1.8.1: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== dependencies: - is-core-module "^2.0.0" + is-core-module "^2.2.0" path-parse "^1.0.6" resolve@^2.0.0-next.3: @@ -5004,10 +4332,10 @@ restore-cursor@^3.1.0: onetime "^5.1.0" signal-exit "^3.0.2" -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rimraf@^3.0.0, rimraf@^3.0.2: version "3.0.2" @@ -5016,15 +4344,12 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e" - integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A== +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" rxjs@^6.6.7: version "6.6.7" @@ -5033,44 +4358,17 @@ rxjs@^6.6.7: dependencies: tslib "^1.9.0" -safe-buffer@^5.0.1, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -saxes@^5.0.0: +saxes@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== @@ -5090,45 +4388,23 @@ semver-compare@^1.0.0: resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc" integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.5.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" + integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@^6.0.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.2: - version "7.3.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== +semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - shebang-command@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" @@ -5136,21 +4412,11 @@ shebang-command@^2.0.0: dependencies: shebang-regex "^3.0.0" -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - shebang-regex@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -5160,12 +4426,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -signal-exit@^3.0.3: +signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== @@ -5198,61 +4459,15 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - source-map-support@^0.5.6: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + version "0.5.20" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" + integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" -source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - -source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.0: version "0.5.7" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= @@ -5267,122 +4482,63 @@ source-map@^0.7.3: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -stack-utils@^2.0.2: +stack-utils@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== dependencies: escape-string-regexp "^2.0.0" -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - string-argv@0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== string-length@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" - integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== + version "4.0.2" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" + integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== dependencies: char-regex "^1.0.2" strip-ansi "^6.0.0" string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== + version "4.2.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" + integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" -string.prototype.matchall@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#608f255e93e072107f5de066f81a2dfb78cf6b29" - integrity sha512-pknFIWVachNcyqRfaQSeu/FUfpvJTe4uskUSZ9Wc1RijsPuzbZ8TyYT8WCNnntCjUEqQ3vUHMAfVj2+wLAisPQ== +string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +string.prototype.matchall@^4.0.5: + version "4.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has-symbols "^1.0.1" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" internal-slot "^1.0.3" regexp.prototype.flags "^1.3.1" side-channel "^1.0.4" -string.prototype.trimend@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz#a22bd53cca5c7cf44d7c9d5c732118873d6cd18b" - integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - string.prototype.trimend@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" @@ -5391,30 +4547,6 @@ string.prototype.trimend@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -string.prototype.trimleft@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz#9bdb8ac6abd6d602b17a4ed321870d2f8dcefc74" - integrity sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag== - dependencies: - define-properties "^1.1.3" - function-bind "^1.1.1" - -string.prototype.trimright@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz#440314b15996c866ce8a0341894d45186200c5d9" - integrity sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g== - dependencies: - define-properties "^1.1.3" - function-bind "^1.1.1" - -string.prototype.trimstart@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz#9b4cb590e123bb36564401d59824298de50fd5aa" - integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - string.prototype.trimstart@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" @@ -5439,6 +4571,13 @@ strip-ansi@^6.0.0: dependencies: ansi-regex "^5.0.0" +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -5449,11 +4588,6 @@ strip-bom@^4.0.0: resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - strip-final-newline@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" @@ -5476,24 +4610,24 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0: +supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" supports-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" + integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== dependencies: has-flag "^4.0.0" supports-color "^7.0.0" @@ -5503,15 +4637,17 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/table/-/table-6.0.4.tgz#c523dd182177e926c723eb20e1b341238188aa0d" - integrity sha512-sBT4xRLdALd+NFBvwOz8bw4b15htyythha+q+DVZqy2RS08PPC8O2sZFgJYEY7bJvbCFKccs+WIZ/cd+xxTWCw== +table@^6.0.9: + version "6.7.2" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.2.tgz#a8d39b9f5966693ca8b0feba270a78722cbaf3b0" + integrity sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g== dependencies: - ajv "^6.12.4" - lodash "^4.17.20" + ajv "^8.0.1" + lodash.clonedeep "^4.5.0" + lodash.truncate "^4.4.2" slice-ansi "^4.0.0" - string-width "^4.2.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" terminal-link@^2.0.0: version "2.1.1" @@ -5535,10 +4671,10 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== +throat@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== through@^2.3.8: version "2.3.8" @@ -5555,21 +4691,6 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" @@ -5577,66 +4698,43 @@ to-regex-range@^5.0.1: dependencies: is-number "^7.0.0" -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -tough-cookie@^2.3.3, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== +tough-cookie@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" + integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" + psl "^1.1.33" punycode "^2.1.1" + universalify "^0.1.2" -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== dependencies: punycode "^2.1.1" -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== +tsconfig-paths@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.9.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tslib@^1.8.1, tslib@^1.9.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= +tsutils@^3.21.0: + version "3.21.0" + resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + tslib "^1.8.1" type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" @@ -5657,25 +4755,15 @@ type-detect@4.0.8: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +type-fest@^0.21.3: + version "0.21.3" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -5684,7 +4772,17 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -unbox-primitive@^1.0.0: +typescript@^3.2.4: + version "3.9.10" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.10.tgz#70f3910ac7a51ed6bef79da7800690b19bf778b8" + integrity sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q== + +typescript@^4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" + integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== + +unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== @@ -5717,82 +4815,32 @@ unicode-property-aliases-ecmascript@^1.0.4: resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" +universalify@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -uuid@^8.3.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - v8-compile-cache@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== -v8-to-istanbul@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.0.tgz#5b95cef45c0f83217ec79f8fc7ee1c8b486aee07" - integrity sha512-uXUVqNUCLa0AH1vuVxzi+MI4RfxEOKt9pBgKwHbgH7st8Kv2P1m+jvWNnektzBh5QShF3ODgKmUFCf38LnVz1g== +v8-to-istanbul@^8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz#4229f2a99e367f3f018fa1d5c2b8ec684667c69c" + integrity sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg== dependencies: "@types/istanbul-lib-coverage" "^2.0.1" convert-source-map "^1.6.0" source-map "^0.7.3" -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - w3c-hr-time@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" @@ -5807,7 +4855,7 @@ w3c-xmlserializer@^2.0.0: dependencies: xml-name-validator "^3.0.0" -walker@^1.0.7, walker@~1.0.5: +walker@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= @@ -5836,13 +4884,13 @@ whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== -whatwg-url@^8.0.0: - version "8.4.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.4.0.tgz#50fb9615b05469591d2b2bd6dfaed2942ed72837" - integrity sha512-vwTUFf6V4zhcPkWp/4CQPr1TW9Ml6SF4lVyaIMBdJw5i6qUUJ1QWM4Z6YYVkfka0OUIzVo/0aNtGVGk256IKWw== +whatwg-url@^8.0.0, whatwg-url@^8.5.0: + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== dependencies: - lodash.sortby "^4.7.0" - tr46 "^2.0.2" + lodash "^4.7.0" + tr46 "^2.1.0" webidl-conversions "^6.1.0" which-boxed-primitive@^1.0.2: @@ -5856,19 +4904,7 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: +which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== @@ -5913,10 +4949,10 @@ write-file-atomic@^3.0.0: signal-exit "^3.0.2" typedarray-to-buffer "^3.1.5" -ws@^7.2.3: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@^7.4.6: + version "7.5.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== xml-name-validator@^3.0.0: version "3.0.0" @@ -5928,10 +4964,10 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -y18n@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.1.tgz#8db2b83c31c5d75099bb890b23f3094891e247d4" - integrity sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ== +y18n@^5.0.5: + version "5.0.8" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" + integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== yallist@^4.0.0: version "4.0.0" @@ -5939,31 +4975,24 @@ yallist@^4.0.0: integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yargs-parser@^18.1.2: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs@^15.4.1: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== +yargs@^16.0.3: + version "16.2.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" + integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" + cliui "^7.0.2" + escalade "^3.1.1" + get-caller-file "^2.0.5" require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" + y18n "^5.0.5" + yargs-parser "^20.2.2"