├── .gitattributes
├── .github
└── workflows
│ └── release.yml
├── .gitignore
├── .prettierrc.js
├── README.MD
├── lib
├── index.d.ts
└── index.js
├── package-lock.json
├── package.json
├── src
└── index.tsx
├── tsconfig.json
└── yarn.lock
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.pbxproj -text
2 |
--------------------------------------------------------------------------------
/.github/workflows/release.yml:
--------------------------------------------------------------------------------
1 | name: Node CI
2 | on:
3 | push:
4 | branches:
5 | - master
6 | jobs:
7 | release:
8 | name: Build, test, and release
9 | runs-on: ubuntu-18.04
10 | steps:
11 | - name: Checkout
12 | uses: actions/checkout@v2.3.4
13 | - name: Setup Node.js
14 | uses: actions/setup-node@v2.4.0
15 | with:
16 | node-version: 12
17 | - name: Install dependencies
18 | run: npm ci
19 | - name: Build TypeScript
20 | run: npm run build
21 | - name: Release
22 | env:
23 | GITHUB_TOKEN: ${{ secrets.BLENDTALE_GITHUB_BOT }}
24 | NPM_TOKEN: ${{ secrets.NPM_ROHIT }}
25 | run: npx semantic-release
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # OSX
2 | #
3 | .DS_Store
4 |
5 | # Xcode
6 | #
7 | build/
8 | *.pbxuser
9 | !default.pbxuser
10 | *.mode1v3
11 | !default.mode1v3
12 | *.mode2v3
13 | !default.mode2v3
14 | *.perspectivev3
15 | !default.perspectivev3
16 | xcuserdata
17 | *.xccheckout
18 | *.moved-aside
19 | DerivedData
20 | *.hmap
21 | *.ipa
22 | *.xcuserstate
23 | project.xcworkspace
24 |
25 | # Android/IntelliJ
26 | #
27 | build/
28 | .idea
29 | .gradle
30 | local.properties
31 | *.iml
32 |
33 | # node.js
34 | #
35 | node_modules/
36 | npm-debug.log
37 | yarn-error.log
38 |
39 | # BUCK
40 | buck-out/
41 | \.buckd/
42 | *.keystore
43 |
44 | # fastlane
45 | #
46 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
47 | # screenshots whenever they are needed.
48 | # For more information about the recommended setup visit:
49 | # https://docs.fastlane.tools/best-practices/source-control/
50 |
51 | */fastlane/report.xml
52 | */fastlane/Preview.html
53 | */fastlane/screenshots
54 |
55 | # Bundle artifact
56 | *.jsbundle
57 |
58 | # CocoaPods
59 | /ios/Pods/
60 |
61 | # iOS and Android
62 | ios/
63 | android/
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | printWidth: 100,
3 | tabWidth: 2,
4 | useTabs: false,
5 | semi: false,
6 | singleQuote: true,
7 | trailingComma: "none",
8 | bracketSpacing: true,
9 | endOfLine: "auto",
10 | arrowParens: "always",
11 | };
--------------------------------------------------------------------------------
/README.MD:
--------------------------------------------------------------------------------
1 | ## React-Native-Next-Input
2 | | | Status |
3 | | - | - |
4 | | Dependencies | [](https://david-dm.org/blendtale/react-native-next-input) [](https://david-dm.org/blendtale/react-native-next-input) [](https://david-dm.org/blendtale/rn-formly)|
5 | | Package | [](https://www.npmjs.com/package/react-native-next-input) [](https://www.npmjs.com/package/react-native-next-input)
6 |
7 |
8 | ### Description
9 |
10 | React-native component which will automatically change focus to next input element making it great to use when making OTP screens, pin based login screens or even date of birth component
11 |
12 | **Note:** If you like the repo, please give it a star on github
13 |
14 |
15 |
16 |
17 |
18 | ### Installation
19 |
20 | ```
21 | npm install react-native-next-input --save
22 | ```
23 |
24 | ### Usage
25 |
26 | Import react-native-next input
27 |
28 | ```
29 | import NextTextInput from 'react-native-next-input'
30 | ```
31 | and then use it like this
32 |
33 | ```
34 |
40 | ```
41 | where we are capturing the input from the child component in `inputFromChildComponent` like this
42 |
43 | ```
44 | inputFromChildComponent = (combinedValueArray, currentValue, refForTheCurrentValue) => {
45 | console.log(combinedValueArray, currentValue, refForTheCurrentValue)
46 | }
47 | ```
48 |
49 | ### Clear Input
50 | 1. Pass a boolean state set to `false` initally to NextTextInput
51 |
52 | ```
53 |
61 | ```
62 | You can change clear the input by changing the state to `true`
63 |
64 | ```
65 |
66 | verifyOTP = () => {
67 | try {
68 | if (currentNumbersEntered.length === 4) {
69 | phoneInstance.verifyOtp(currentNumbersEntered )
70 |
71 | props.navigation.navigate('SucessAuth') // Assume this throws error and code goes to catch statement
72 | } else {
73 | // To display error
74 | dropDownAlertRef.alertWithType('error', 'Error', frontendErrors.OTP_LENGTH)
75 | }
76 | } catch (err) {
77 | // Since user entered invalid otp, we decide to clear text in input box
78 | setInvalid(true) // this will clear input
79 | }
80 | }
81 |
82 | inputFromChildComponent = (combinedValueArray, currentValue, refForTheCurrentValue) => {
83 | if (clear) {
84 | // If you have cleared the state or passed true in clear props, it's recommended that you re-change it to false
85 | setClear(false)
86 | }
87 | console.log(combinedValueArray, currentValue, refForTheCurrentValue)
88 | }
89 |
90 | ```
91 |
92 |
93 |
94 | ### Props
95 |
96 | | **Prop** | **Type** | **Default** | **Required** | **description** |
97 | |----------|----------|-------------|--------------|--------------|
98 | | noOfTextInput | number | null | Yes | No of text input elements you want for example in case of otp screen it could be 4 text-input elements, In case of date of birth it could be 8 (DD-MM-YYYY) |
99 | | onChangeValue | function | null | Yes | the function to capture the input value entered by the user, this function recieves three parameters, the entire updated array holding entered value(s), the current value entered by user, and ref for the current value (see above example)|
100 | | placeholder | array | empty array | No | If in case you want to have a placeholder value for your input elements, for example in case of date of birth you might want TextInput to have dd-mm-yyyy (pass an array for placeholder like this: `['D', 'D', 'M', 'M', 'Y', 'Y', 'Y', 'Y']`) |
101 | | displayColum | boolean | false | No | By default orientation of text input element is keept to be false, meaning the Text input would have `flexDirection: row`, by setting true, you will change the `flexDirection` to column |
102 | | keyboardType | String | numeric | No | Since, this parameter is being passed to `
2 | import { ViewStyle, KeyboardTypeOptions, TextStyle } from 'react-native';
3 | export interface NextInputProps {
4 | noOfTextInput: number;
5 | placeholder?: Array;
6 | displayColum?: boolean;
7 | keyboardType?: KeyboardTypeOptions;
8 | textInputStyle?: TextStyle;
9 | onChangeValue: (a: Array, b: string, inputRefs: number) => void;
10 | parentViewStyle?: ViewStyle;
11 | value?: Array;
12 | clearInput?: boolean;
13 | isInputCleared?: (a: boolean) => any | void;
14 | }
15 | declare const NextTextInput: ({ noOfTextInput, placeholder, displayColum, keyboardType, textInputStyle, onChangeValue, parentViewStyle, value, clearInput, isInputCleared }: NextInputProps) => JSX.Element;
16 | export default NextTextInput;
17 |
--------------------------------------------------------------------------------
/lib/index.js:
--------------------------------------------------------------------------------
1 | // Remove next input since we have created npm module for the same
2 | import * as React from 'react';
3 | import { View, TextInput } from 'react-native';
4 | const NextTextInput = ({ noOfTextInput, placeholder = [], displayColum = false, keyboardType = 'numeric', textInputStyle, onChangeValue, parentViewStyle, value, clearInput = false, isInputCleared }) => {
5 | const didMount = React.useRef(false);
6 | const lastValue = React.useRef(null);
7 | const lastRef = React.useRef(null);
8 | const clearBoxesInput = React.useRef(false);
9 | const inputRefs = Array(noOfTextInput)
10 | .fill(0)
11 | .map((_) => React.createRef());
12 | const [inputValues, setInputValues] = React.useState(Array(noOfTextInput)
13 | .fill(null)
14 | .map((val, index) => (value && value[index] !== undefined ? `${value[index]}` : val)));
15 | React.useEffect(() => {
16 | if (clearInput) {
17 | setInputValues(Array(noOfTextInput).fill(null));
18 | // Focus the first element
19 | const ref = inputRefs[0].current?.focus();
20 | if (isInputCleared) {
21 | isInputCleared(true);
22 | }
23 | }
24 | }, [clearInput]);
25 | const onChangeHandler = async (value, index) => {
26 | const currentState = [...inputValues];
27 | currentState[index] = value;
28 | setInputValues(currentState);
29 | lastValue.current = value;
30 | lastRef.current = index;
31 | };
32 | // skip on first render and then emit value updwards
33 | React.useEffect(() => {
34 | if (didMount.current &&
35 | !clearBoxesInput.current &&
36 | lastRef.current !== null &&
37 | lastValue.current !== null) {
38 | onChangeValue(inputValues, lastValue.current, lastRef.current);
39 | const ref = inputRefs[lastRef.current + 1];
40 | if (lastValue.current !== '' && ref && ref.current)
41 | ref.current.focus();
42 | }
43 | else if (clearBoxesInput.current) {
44 | clearBoxesInput.current = false;
45 | }
46 | else {
47 | didMount.current = true;
48 | }
49 | }, [inputValues]);
50 | return (React.createElement(View, { style: displayColum
51 | ? [{ display: 'flex', flexDirection: 'column' }, parentViewStyle]
52 | : [{ display: 'flex', flexDirection: 'row' }, parentViewStyle] }, inputRefs.map((element, index) => {
53 | return (React.createElement(TextInput, { key: index, placeholder: `${placeholder && placeholder[index] ? placeholder[index] : ''}`, value: inputValues[index], maxLength: 1, keyboardType: keyboardType, style: textInputStyle, ref: inputRefs[index], numberOfLines: 1, onChangeText: (text) => onChangeHandler(text, index) }));
54 | })));
55 | };
56 | export default NextTextInput;
57 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "react-native-next-input",
3 | "version": "0.10.8",
4 | "main": "lib/index.js",
5 | "types": "lib",
6 | "scripts": {
7 | "build": "npm run prettier:write && tsc -p .",
8 | "prettier:base": "prettier --parser typescript --single-quote",
9 | "prettier:check": "npm run prettier:base -- --list-different \"src/**/*.tsx\"",
10 | "prettier:write": "npm run prettier:base -- --write \"src/**/*.tsx\""
11 | },
12 | "husky": {
13 | "hooks": {
14 | "pre-commit": "lint-staged"
15 | }
16 | },
17 | "lint-staged": {
18 | "src/**/*.tsx": [
19 | "npm run prettier:write",
20 | "git add"
21 | ]
22 | },
23 | "repository": {
24 | "type": "git",
25 | "url": "git+https://github.com/blendtale/react-native-next-input.git"
26 | },
27 | "author": "Rohit Bhatia ",
28 | "license": "MIT",
29 | "bugs": {
30 | "url": "https://github.com/blendtale/react-native-next-input/issues"
31 | },
32 | "homepage": "https://github.com/blendtale/react-native-next-input#readme",
33 | "description": "React-native component which will automatically change focus to next input element making it great to use when making OTP screens, pin based login screens or even date of birth component",
34 | "keywords": [
35 | "react",
36 | "native",
37 | "keyboard",
38 | "textInput",
39 | "OTP",
40 | "Date Of birth",
41 | "DOB",
42 | "next-input",
43 | "date"
44 | ],
45 | "devDependencies": {
46 | "@types/react-native": "^0.64.0",
47 | "typescript": "^4.1.3",
48 | "husky": "^6.0.0",
49 | "lint-staged": "^11.1.2",
50 | "prettier": "^2.0.5"
51 | },
52 | "peerDependencies": {
53 | "react-native": "^0.63.4"
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/src/index.tsx:
--------------------------------------------------------------------------------
1 | // Remove next input since we have created npm module for the same
2 |
3 | import * as React from 'react'
4 | import { View, TextInput, ViewStyle, KeyboardTypeOptions, TextStyle } from 'react-native'
5 |
6 | export interface NextInputProps {
7 | noOfTextInput: number
8 | placeholder?: Array
9 | displayColum?: boolean
10 | keyboardType?: KeyboardTypeOptions
11 | textInputStyle?: TextStyle | Array
12 | onChangeValue: (a: Array, b: string, inputRefs: number) => void
13 | parentViewStyle?: ViewStyle
14 | value?: Array
15 | clearInput?: boolean
16 | isInputCleared?: (a: boolean) => any | void
17 | }
18 |
19 | const NextTextInput = ({
20 | noOfTextInput,
21 | placeholder = [],
22 | displayColum = false,
23 | keyboardType = 'numeric',
24 | textInputStyle,
25 | onChangeValue,
26 | parentViewStyle,
27 | value,
28 | clearInput = false,
29 | isInputCleared
30 | }: NextInputProps) => {
31 | const didMount = React.useRef(false)
32 | const lastValue: React.MutableRefObject = React.useRef(null)
33 | const lastRef: React.MutableRefObject = React.useRef(null)
34 | const clearBoxesInput = React.useRef(false)
35 | const inputRefs: Array> = Array(noOfTextInput)
36 | .fill(0)
37 | .map((_) => React.createRef())
38 | const [inputValues, setInputValues] = React.useState(
39 | Array(noOfTextInput)
40 | .fill(null)
41 | .map((val, index) => (value && value[index] !== undefined ? `${value[index]}` : val))
42 | )
43 |
44 | React.useEffect(() => {
45 | if (clearInput) {
46 | setInputValues(Array(noOfTextInput).fill(null))
47 | // Focus the first element
48 | const ref = inputRefs[0].current?.focus()
49 | if (isInputCleared) {
50 | isInputCleared(true)
51 | }
52 | }
53 | }, [clearInput])
54 |
55 | const onChangeHandler = async (value: string, index: number) => {
56 | const currentState = [...inputValues]
57 | currentState[index] = value
58 | setInputValues(currentState)
59 | lastValue.current = value
60 | lastRef.current = index
61 | }
62 |
63 | // skip on first render and then emit value updwards
64 | React.useEffect(() => {
65 | if (
66 | didMount.current &&
67 | !clearBoxesInput.current &&
68 | lastRef.current !== null &&
69 | lastValue.current !== null
70 | ) {
71 | onChangeValue(inputValues, lastValue.current, lastRef.current)
72 | const ref = inputRefs[lastRef.current + 1]
73 | if (lastValue.current !== '' && ref && ref.current) ref.current.focus()
74 | } else if (clearBoxesInput.current) {
75 | clearBoxesInput.current = false
76 | } else {
77 | didMount.current = true
78 | }
79 | }, [inputValues])
80 |
81 | return (
82 |
89 | {inputRefs.map((element, index) => {
90 | return (
91 | onChangeHandler(text, index)}
101 | />
102 | )
103 | })}
104 |
105 | )
106 | }
107 |
108 | export default NextTextInput
109 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "include": ["src"],
3 | "exclude": [
4 | "node_modules",
5 | "babel.config.js",
6 | "metro.config.js",
7 | "jest.config.js"
8 | ],
9 | "compilerOptions": {
10 | "lib": ["es5", "es6", "esnext.asynciterable"],
11 | "allowSyntheticDefaultImports": false,
12 | "esModuleInterop": false,
13 | "jsx": "react",
14 | "moduleResolution": "node",
15 | "strict": true,
16 | "target": "esnext",
17 | "resolveJsonModule": true,
18 | "outDir": "./lib",
19 | "declaration": true
20 | }
21 | }
--------------------------------------------------------------------------------
/yarn.lock:
--------------------------------------------------------------------------------
1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2 | # yarn lockfile v1
3 |
4 |
5 | "@babel/code-frame@^7.0.0":
6 | version "7.12.13"
7 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz"
8 | integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==
9 | dependencies:
10 | "@babel/highlight" "^7.12.13"
11 |
12 | "@babel/helper-validator-identifier@^7.12.11":
13 | version "7.12.11"
14 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz"
15 | integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==
16 |
17 | "@babel/highlight@^7.12.13":
18 | version "7.12.13"
19 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz"
20 | integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==
21 | dependencies:
22 | "@babel/helper-validator-identifier" "^7.12.11"
23 | chalk "^2.0.0"
24 | js-tokens "^4.0.0"
25 |
26 | "@types/parse-json@^4.0.0":
27 | version "4.0.0"
28 | resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
29 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
30 |
31 | "@types/prop-types@*":
32 | version "15.7.3"
33 | resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz"
34 | integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
35 |
36 | "@types/react-native@^0.64.0":
37 | version "0.64.12"
38 | resolved "https://registry.yarnpkg.com/@types/react-native/-/react-native-0.64.12.tgz#1c6a3226c26d7a5949cdf8878e6cfe95fe0951d6"
39 | integrity sha512-sw6WGSaL219zqrgdb4kQUtFB9iGXC/LmecLZ+UUWEgwYvD0YH81FqWYmONa2HuTkOFAsxu2bK4DspkWRUHIABQ==
40 | dependencies:
41 | "@types/react" "*"
42 |
43 | "@types/react@*":
44 | version "17.0.1"
45 | resolved "https://registry.npmjs.org/@types/react/-/react-17.0.1.tgz"
46 | integrity sha512-w8t9f53B2ei4jeOqf/gxtc2Sswnc3LBK5s0DyJcg5xd10tMHXts2N31cKjWfH9IC/JvEPa/YF1U4YeP1t4R6HQ==
47 | dependencies:
48 | "@types/prop-types" "*"
49 | csstype "^3.0.2"
50 |
51 | aggregate-error@^3.0.0:
52 | version "3.1.0"
53 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
54 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
55 | dependencies:
56 | clean-stack "^2.0.0"
57 | indent-string "^4.0.0"
58 |
59 | ansi-colors@^4.1.1:
60 | version "4.1.1"
61 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
62 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
63 |
64 | ansi-escapes@^4.3.0:
65 | version "4.3.1"
66 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
67 | integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
68 | dependencies:
69 | type-fest "^0.11.0"
70 |
71 | ansi-regex@^5.0.0:
72 | version "5.0.0"
73 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz"
74 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
75 |
76 | ansi-styles@^3.2.1:
77 | version "3.2.1"
78 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
79 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
80 | dependencies:
81 | color-convert "^1.9.0"
82 |
83 | ansi-styles@^4.0.0, ansi-styles@^4.1.0:
84 | version "4.3.0"
85 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
86 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
87 | dependencies:
88 | color-convert "^2.0.1"
89 |
90 | astral-regex@^2.0.0:
91 | version "2.0.0"
92 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
93 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
94 |
95 | braces@^3.0.1:
96 | version "3.0.2"
97 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
98 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
99 | dependencies:
100 | fill-range "^7.0.1"
101 |
102 | callsites@^3.0.0:
103 | version "3.1.0"
104 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
105 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
106 |
107 | chalk@^2.0.0:
108 | version "2.4.2"
109 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
110 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
111 | dependencies:
112 | ansi-styles "^3.2.1"
113 | escape-string-regexp "^1.0.5"
114 | supports-color "^5.3.0"
115 |
116 | chalk@^4.1.0, chalk@^4.1.1:
117 | version "4.1.2"
118 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
119 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
120 | dependencies:
121 | ansi-styles "^4.1.0"
122 | supports-color "^7.1.0"
123 |
124 | clean-stack@^2.0.0:
125 | version "2.2.0"
126 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
127 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
128 |
129 | cli-cursor@^3.1.0:
130 | version "3.1.0"
131 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
132 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
133 | dependencies:
134 | restore-cursor "^3.1.0"
135 |
136 | cli-truncate@^2.1.0:
137 | version "2.1.0"
138 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
139 | integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
140 | dependencies:
141 | slice-ansi "^3.0.0"
142 | string-width "^4.2.0"
143 |
144 | color-convert@^1.9.0:
145 | version "1.9.3"
146 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
147 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
148 | dependencies:
149 | color-name "1.1.3"
150 |
151 | color-convert@^2.0.1:
152 | version "2.0.1"
153 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
154 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
155 | dependencies:
156 | color-name "~1.1.4"
157 |
158 | color-name@1.1.3:
159 | version "1.1.3"
160 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
161 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
162 |
163 | color-name@~1.1.4:
164 | version "1.1.4"
165 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
166 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
167 |
168 | colorette@^1.2.2:
169 | version "1.2.2"
170 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94"
171 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==
172 |
173 | commander@^7.2.0:
174 | version "7.2.0"
175 | resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7"
176 | integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==
177 |
178 | cosmiconfig@^7.0.0:
179 | version "7.0.0"
180 | resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
181 | integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
182 | dependencies:
183 | "@types/parse-json" "^4.0.0"
184 | import-fresh "^3.2.1"
185 | parse-json "^5.0.0"
186 | path-type "^4.0.0"
187 | yaml "^1.10.0"
188 |
189 | cross-spawn@^7.0.3:
190 | version "7.0.3"
191 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
192 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
193 | dependencies:
194 | path-key "^3.1.0"
195 | shebang-command "^2.0.0"
196 | which "^2.0.1"
197 |
198 | csstype@^3.0.2:
199 | version "3.0.6"
200 | resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.6.tgz"
201 | integrity sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==
202 |
203 | debug@^4.3.1:
204 | version "4.3.2"
205 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
206 | integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
207 | dependencies:
208 | ms "2.1.2"
209 |
210 | emoji-regex@^8.0.0:
211 | version "8.0.0"
212 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
213 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
214 |
215 | enquirer@^2.3.6:
216 | version "2.3.6"
217 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
218 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
219 | dependencies:
220 | ansi-colors "^4.1.1"
221 |
222 | error-ex@^1.3.1:
223 | version "1.3.2"
224 | resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz"
225 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
226 | dependencies:
227 | is-arrayish "^0.2.1"
228 |
229 | escape-string-regexp@^1.0.5:
230 | version "1.0.5"
231 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
232 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
233 |
234 | execa@^5.0.0:
235 | version "5.1.1"
236 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
237 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
238 | dependencies:
239 | cross-spawn "^7.0.3"
240 | get-stream "^6.0.0"
241 | human-signals "^2.1.0"
242 | is-stream "^2.0.0"
243 | merge-stream "^2.0.0"
244 | npm-run-path "^4.0.1"
245 | onetime "^5.1.2"
246 | signal-exit "^3.0.3"
247 | strip-final-newline "^2.0.0"
248 |
249 | fill-range@^7.0.1:
250 | version "7.0.1"
251 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
252 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
253 | dependencies:
254 | to-regex-range "^5.0.1"
255 |
256 | get-own-enumerable-property-symbols@^3.0.0:
257 | version "3.0.2"
258 | resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
259 | integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
260 |
261 | get-stream@^6.0.0:
262 | version "6.0.1"
263 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
264 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
265 |
266 | has-flag@^3.0.0:
267 | version "3.0.0"
268 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
269 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
270 |
271 | has-flag@^4.0.0:
272 | version "4.0.0"
273 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
274 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
275 |
276 | human-signals@^2.1.0:
277 | version "2.1.0"
278 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
279 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
280 |
281 | husky@^6.0.0:
282 | version "6.0.0"
283 | resolved "https://registry.yarnpkg.com/husky/-/husky-6.0.0.tgz#810f11869adf51604c32ea577edbc377d7f9319e"
284 | integrity sha512-SQS2gDTB7tBN486QSoKPKQItZw97BMOd+Kdb6ghfpBc0yXyzrddI0oDV5MkDAbuB4X2mO3/nj60TRMcYxwzZeQ==
285 |
286 | import-fresh@^3.2.1:
287 | version "3.3.0"
288 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
289 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
290 | dependencies:
291 | parent-module "^1.0.0"
292 | resolve-from "^4.0.0"
293 |
294 | indent-string@^4.0.0:
295 | version "4.0.0"
296 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
297 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
298 |
299 | is-arrayish@^0.2.1:
300 | version "0.2.1"
301 | resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz"
302 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
303 |
304 | is-fullwidth-code-point@^3.0.0:
305 | version "3.0.0"
306 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
307 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
308 |
309 | is-number@^7.0.0:
310 | version "7.0.0"
311 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
312 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
313 |
314 | is-obj@^1.0.1:
315 | version "1.0.1"
316 | resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
317 | integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
318 |
319 | is-regexp@^1.0.0:
320 | version "1.0.0"
321 | resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
322 | integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
323 |
324 | is-stream@^2.0.0:
325 | version "2.0.0"
326 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
327 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
328 |
329 | is-unicode-supported@^0.1.0:
330 | version "0.1.0"
331 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7"
332 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==
333 |
334 | isexe@^2.0.0:
335 | version "2.0.0"
336 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
337 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
338 |
339 | js-tokens@^4.0.0:
340 | version "4.0.0"
341 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
342 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
343 |
344 | json-parse-even-better-errors@^2.3.0:
345 | version "2.3.1"
346 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
347 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
348 |
349 | lines-and-columns@^1.1.6:
350 | version "1.1.6"
351 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"
352 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=
353 |
354 | lint-staged@^11.1.2:
355 | version "11.1.2"
356 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.1.2.tgz#4dd78782ae43ee6ebf2969cad9af67a46b33cd90"
357 | integrity sha512-6lYpNoA9wGqkL6Hew/4n1H6lRqF3qCsujVT0Oq5Z4hiSAM7S6NksPJ3gnr7A7R52xCtiZMcEUNNQ6d6X5Bvh9w==
358 | dependencies:
359 | chalk "^4.1.1"
360 | cli-truncate "^2.1.0"
361 | commander "^7.2.0"
362 | cosmiconfig "^7.0.0"
363 | debug "^4.3.1"
364 | enquirer "^2.3.6"
365 | execa "^5.0.0"
366 | listr2 "^3.8.2"
367 | log-symbols "^4.1.0"
368 | micromatch "^4.0.4"
369 | normalize-path "^3.0.0"
370 | please-upgrade-node "^3.2.0"
371 | string-argv "0.3.1"
372 | stringify-object "^3.3.0"
373 |
374 | listr2@^3.8.2:
375 | version "3.11.0"
376 | resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.11.0.tgz#9771b02407875aa78e73d6e0ff6541bbec0aaee9"
377 | integrity sha512-XLJVe2JgXCyQTa3FbSv11lkKExYmEyA4jltVo8z4FX10Vt1Yj8IMekBfwim0BSOM9uj1QMTJvDQQpHyuPbB/dQ==
378 | dependencies:
379 | cli-truncate "^2.1.0"
380 | colorette "^1.2.2"
381 | log-update "^4.0.0"
382 | p-map "^4.0.0"
383 | rxjs "^6.6.7"
384 | through "^2.3.8"
385 | wrap-ansi "^7.0.0"
386 |
387 | log-symbols@^4.1.0:
388 | version "4.1.0"
389 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503"
390 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==
391 | dependencies:
392 | chalk "^4.1.0"
393 | is-unicode-supported "^0.1.0"
394 |
395 | log-update@^4.0.0:
396 | version "4.0.0"
397 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
398 | integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
399 | dependencies:
400 | ansi-escapes "^4.3.0"
401 | cli-cursor "^3.1.0"
402 | slice-ansi "^4.0.0"
403 | wrap-ansi "^6.2.0"
404 |
405 | merge-stream@^2.0.0:
406 | version "2.0.0"
407 | resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz"
408 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
409 |
410 | micromatch@^4.0.4:
411 | version "4.0.4"
412 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
413 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
414 | dependencies:
415 | braces "^3.0.1"
416 | picomatch "^2.2.3"
417 |
418 | mimic-fn@^2.1.0:
419 | version "2.1.0"
420 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
421 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
422 |
423 | ms@2.1.2:
424 | version "2.1.2"
425 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
426 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
427 |
428 | normalize-path@^3.0.0:
429 | version "3.0.0"
430 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
431 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
432 |
433 | npm-run-path@^4.0.1:
434 | version "4.0.1"
435 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
436 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
437 | dependencies:
438 | path-key "^3.0.0"
439 |
440 | onetime@^5.1.0, onetime@^5.1.2:
441 | version "5.1.2"
442 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
443 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
444 | dependencies:
445 | mimic-fn "^2.1.0"
446 |
447 | p-map@^4.0.0:
448 | version "4.0.0"
449 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
450 | integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
451 | dependencies:
452 | aggregate-error "^3.0.0"
453 |
454 | parent-module@^1.0.0:
455 | version "1.0.1"
456 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
457 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
458 | dependencies:
459 | callsites "^3.0.0"
460 |
461 | parse-json@^5.0.0:
462 | version "5.2.0"
463 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
464 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
465 | dependencies:
466 | "@babel/code-frame" "^7.0.0"
467 | error-ex "^1.3.1"
468 | json-parse-even-better-errors "^2.3.0"
469 | lines-and-columns "^1.1.6"
470 |
471 | path-key@^3.0.0, path-key@^3.1.0:
472 | version "3.1.1"
473 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
474 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
475 |
476 | path-type@^4.0.0:
477 | version "4.0.0"
478 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
479 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
480 |
481 | picomatch@^2.2.3:
482 | version "2.3.0"
483 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
484 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
485 |
486 | please-upgrade-node@^3.2.0:
487 | version "3.2.0"
488 | resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
489 | integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
490 | dependencies:
491 | semver-compare "^1.0.0"
492 |
493 | prettier@^2.0.5:
494 | version "2.2.1"
495 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
496 | integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
497 |
498 | resolve-from@^4.0.0:
499 | version "4.0.0"
500 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
501 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
502 |
503 | restore-cursor@^3.1.0:
504 | version "3.1.0"
505 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
506 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
507 | dependencies:
508 | onetime "^5.1.0"
509 | signal-exit "^3.0.2"
510 |
511 | rxjs@^6.6.7:
512 | version "6.6.7"
513 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
514 | integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
515 | dependencies:
516 | tslib "^1.9.0"
517 |
518 | semver-compare@^1.0.0:
519 | version "1.0.0"
520 | resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
521 | integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
522 |
523 | shebang-command@^2.0.0:
524 | version "2.0.0"
525 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
526 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
527 | dependencies:
528 | shebang-regex "^3.0.0"
529 |
530 | shebang-regex@^3.0.0:
531 | version "3.0.0"
532 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
533 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
534 |
535 | signal-exit@^3.0.2, signal-exit@^3.0.3:
536 | version "3.0.3"
537 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz"
538 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
539 |
540 | slice-ansi@^3.0.0:
541 | version "3.0.0"
542 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
543 | integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
544 | dependencies:
545 | ansi-styles "^4.0.0"
546 | astral-regex "^2.0.0"
547 | is-fullwidth-code-point "^3.0.0"
548 |
549 | slice-ansi@^4.0.0:
550 | version "4.0.0"
551 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
552 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
553 | dependencies:
554 | ansi-styles "^4.0.0"
555 | astral-regex "^2.0.0"
556 | is-fullwidth-code-point "^3.0.0"
557 |
558 | string-argv@0.3.1:
559 | version "0.3.1"
560 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
561 | integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
562 |
563 | string-width@^4.1.0, string-width@^4.2.0:
564 | version "4.2.0"
565 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz"
566 | integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
567 | dependencies:
568 | emoji-regex "^8.0.0"
569 | is-fullwidth-code-point "^3.0.0"
570 | strip-ansi "^6.0.0"
571 |
572 | stringify-object@^3.3.0:
573 | version "3.3.0"
574 | resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
575 | integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
576 | dependencies:
577 | get-own-enumerable-property-symbols "^3.0.0"
578 | is-obj "^1.0.1"
579 | is-regexp "^1.0.0"
580 |
581 | strip-ansi@^6.0.0:
582 | version "6.0.0"
583 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz"
584 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
585 | dependencies:
586 | ansi-regex "^5.0.0"
587 |
588 | strip-final-newline@^2.0.0:
589 | version "2.0.0"
590 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
591 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
592 |
593 | supports-color@^5.3.0:
594 | version "5.5.0"
595 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
596 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
597 | dependencies:
598 | has-flag "^3.0.0"
599 |
600 | supports-color@^7.1.0:
601 | version "7.2.0"
602 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
603 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
604 | dependencies:
605 | has-flag "^4.0.0"
606 |
607 | through@^2.3.8:
608 | version "2.3.8"
609 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
610 | integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
611 |
612 | to-regex-range@^5.0.1:
613 | version "5.0.1"
614 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
615 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
616 | dependencies:
617 | is-number "^7.0.0"
618 |
619 | tslib@^1.9.0:
620 | version "1.14.1"
621 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
622 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
623 |
624 | type-fest@^0.11.0:
625 | version "0.11.0"
626 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
627 | integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
628 |
629 | typescript@^4.1.3:
630 | version "4.3.4"
631 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc"
632 | integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==
633 |
634 | which@^2.0.1:
635 | version "2.0.2"
636 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
637 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
638 | dependencies:
639 | isexe "^2.0.0"
640 |
641 | wrap-ansi@^6.2.0:
642 | version "6.2.0"
643 | resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz"
644 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
645 | dependencies:
646 | ansi-styles "^4.0.0"
647 | string-width "^4.1.0"
648 | strip-ansi "^6.0.0"
649 |
650 | wrap-ansi@^7.0.0:
651 | version "7.0.0"
652 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
653 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
654 | dependencies:
655 | ansi-styles "^4.0.0"
656 | string-width "^4.1.0"
657 | strip-ansi "^6.0.0"
658 |
659 | yaml@^1.10.0:
660 | version "1.10.0"
661 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e"
662 | integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==
663 |
--------------------------------------------------------------------------------