├── .eslintrc.cjs ├── .gitignore ├── .prettierrc ├── package.json ├── readme.md ├── src └── index.tsx ├── tsconfig.json └── yarn.lock /.eslintrc.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | env: { 3 | es2021: true, 4 | node: true, 5 | }, 6 | extends: ['xo', 'xo-typescript'], 7 | parser: '@typescript-eslint/parser', 8 | parserOptions: { 9 | ecmaVersion: 12, 10 | sourceType: 'module', 11 | }, 12 | plugins: ['@typescript-eslint'], 13 | rules: { 14 | '@typescript-eslint/comma-dangle': 'off', 15 | }, 16 | ignorePatterns: ['dist'], 17 | }; 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .vscode 2 | node_modules 3 | dist 4 | .idea 5 | *.log -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": true, 3 | "singleQuote": true, 4 | "printWidth": 100, 5 | "bracketSpacing": false, 6 | "arrowParens": "avoid" 7 | } 8 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-text-translator", 3 | "description": "An experimental way to translate text inside React components with context", 4 | "version": "1.1.7", 5 | "types": "./dist/index.d.ts", 6 | "type": "module", 7 | "exports": { 8 | "import": "./dist/index.js", 9 | "require": "./dist/index.cjs" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/alii/react-text-translator.git" 14 | }, 15 | "author": "Alistair Smith (https://alistair.sh)", 16 | "license": "MIT", 17 | "funding": { 18 | "type": "github", 19 | "url": "https://github.com/sponsors/alii" 20 | }, 21 | "devDependencies": { 22 | "@types/react": "^17.0.24", 23 | "@typescript-eslint/eslint-plugin": "^4.31.2", 24 | "@typescript-eslint/parser": "^4.31.2", 25 | "eslint": "^7.32.0", 26 | "eslint-config-xo": "^0.38.0", 27 | "eslint-config-xo-typescript": "^0.44.0", 28 | "prettier": "^2.4.1", 29 | "react": "^17.0.2", 30 | "tsup": "^5.1.0", 31 | "typescript": "^4.4.3" 32 | }, 33 | "scripts": { 34 | "build": "tsup src/index.tsx --dts --minify --format esm,cjs", 35 | "lint": "eslint ./src/**/*.ts", 36 | "fix": "eslint ./src/**/*.ts --fix" 37 | }, 38 | "bugs": { 39 | "url": "https://github.com/alii/react-text-translator/issues" 40 | }, 41 | "homepage": "https://github.com/alii/react-text-translator#readme", 42 | "files": [ 43 | "dist", 44 | "package.json" 45 | ], 46 | "keywords": [ 47 | "text", 48 | "react", 49 | "i18n", 50 | "translate", 51 | "context" 52 | ], 53 | "peerDependencies": { 54 | "@types/react": "^17.0.24", 55 | "react": "^17.0.2" 56 | } 57 | } 58 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # `react-text-translator` 2 | 3 | A typed way to translate react apps with context 4 | 5 | Firstly, define your translator as follows 6 | 7 | ```tsx 8 | import {createTranslations} from 'react-text-translator'; 9 | 10 | export const translator = createTranslations({ 11 | 'Hello World': { 12 | SPANISH: 'Hola mundo', 13 | BRITISH: 'Hello World', 14 | }, 15 | 'Contact Us': { 16 | BRITISH: 'Contact Us', 17 | SPANISH: 'Contáctanos', 18 | }, 19 | }); 20 | 21 | export const Text = translator.Text; 22 | ``` 23 | 24 | Second, initialize your context and provide state for the active language 25 | 26 | ```tsx 27 | import {translator} from './translator'; 28 | 29 | function LangWrapper() { 30 | const [lang, setLang] = useState('BRITISH'); 31 | 32 | return ( 33 | 34 | 35 | 36 | ); 37 | } 38 | ``` 39 | 40 | Then, you are able to use the `` component as you would any other by passing a string as it's children (and only a string). 41 | 42 | ````tsx 43 | import {Text} from './translator'; 44 | 45 | export default function Child() { 46 | return ( 47 |
48 | Hello World 49 | Contact Us 50 |
51 | ); 52 | }``` 53 | ```` 54 | -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- 1 | import React, {createContext, ReactNode, useContext, useMemo} from 'react'; 2 | 3 | /** 4 | * The context shared around the app 5 | */ 6 | export interface TranslationContext { 7 | /** 8 | * An object of phrases and their respective language translations 9 | */ 10 | translations: Record>; 11 | 12 | /** 13 | * The active language to be displayed in the app 14 | */ 15 | activeLang: Languages; 16 | } 17 | 18 | /** 19 | * @internal 20 | * @returns Context typed with languages and keys 21 | */ 22 | const getContext = () => 23 | createContext | null>(null); 24 | 25 | /** 26 | * Generates context and components that are all typed 27 | * @param data The dictionary of languages to render 28 | * @returns Helper functions and components to use in your app 29 | */ 30 | export function createTranslations( 31 | data: Record> 32 | ) { 33 | const context = getContext(); 34 | const phrases = Object.keys(data) as Keys[]; 35 | const languages = [ 36 | ...new Set( 37 | phrases 38 | .map(phrase => { 39 | const translations = data[phrase]; 40 | return Object.keys(translations) as Array; 41 | }) 42 | .reduce((a, b) => [...a, ...b], []) 43 | ), 44 | ] as const; 45 | 46 | function useTextTranslateContext() { 47 | const contextData = useContext(context); 48 | 49 | if (!contextData) { 50 | throw new Error('No found for useTextTranslateContext()'); 51 | } 52 | 53 | return contextData; 54 | } 55 | 56 | /** 57 | * Function that gets the active langauge from context 58 | * @returns The active language 59 | */ 60 | function useActiveLanguage() { 61 | return useTextTranslateContext().activeLang; 62 | } 63 | 64 | /** 65 | * Gets a list of phrases 66 | * @returns An array of available phrases 67 | */ 68 | function getPhrases() { 69 | return phrases; 70 | } 71 | 72 | /** 73 | * Gets a list of languages 74 | * @returns An array of given languages 75 | */ 76 | function getLanguages() { 77 | return languages; 78 | } 79 | 80 | /** 81 | * Checks if a given phrase is a valid dictionary key 82 | * @param text A string 83 | * @returns A boolean if this text is a valid phrase 84 | */ 85 | function isValidPhrase(text: string): text is Keys { 86 | return text in data; 87 | } 88 | 89 | /** 90 | * The context provider that provides the dictionary and a given language to s 91 | * @param props Pass children and an activeLang to the TranslationProvider 92 | * @returns The context provider 93 | */ 94 | function TranslationProvider(props: {children: ReactNode; activeLang: Languages}) { 95 | const memo = useMemo( 96 | () => ({translations: data, activeLang: props.activeLang}), 97 | [props.activeLang] 98 | ); 99 | 100 | return {props.children}; 101 | } 102 | 103 | /** 104 | * Renders text changing the text for 105 | * @param props The props for this element. You should only pass text value as the children for 106 | * @returns A react component 107 | * @example 108 | * Hello World 109 | * 110 | * 111 | * // Override language 112 | * 113 | * Hello World 114 | */ 115 | function Text(props: ({children: string} | {phrase: Keys}) & {lang?: Languages}) { 116 | const {translations, activeLang} = useTextTranslateContext(); 117 | 118 | const phrase = 'children' in props ? props.children : props.phrase; 119 | 120 | const isValid = isValidPhrase(phrase); 121 | 122 | if (!isValid) { 123 | throw new Error( 124 | 'Invalid phrase passed to . Must be a valid key given to the translator!' 125 | ); 126 | } 127 | 128 | const language = translations[phrase]; 129 | 130 | return <>{language[props.lang ?? activeLang]}; 131 | } 132 | 133 | return { 134 | getPhrases, 135 | getLanguages, 136 | useTextTranslateContext, 137 | useActiveLanguage, 138 | TranslationProvider, 139 | Text, 140 | isValidPhrase, 141 | } as const; 142 | } 143 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "ESNext", 4 | "target": "es6", 5 | "sourceMap": true, 6 | "esModuleInterop": true, 7 | "rootDir": "src", 8 | "outDir": "dist", 9 | "declaration": true, 10 | "declarationMap": true, 11 | "moduleResolution": "node", 12 | "strict": true, 13 | "jsx": "react", 14 | "lib": ["ES2017"] 15 | }, 16 | "exclude": ["node_modules", "dist"] 17 | } 18 | -------------------------------------------------------------------------------- /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.12.11": 6 | version "7.12.11" 7 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" 8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/code-frame@^7.0.0": 13 | version "7.12.13" 14 | resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz" 15 | integrity sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g== 16 | dependencies: 17 | "@babel/highlight" "^7.12.13" 18 | 19 | "@babel/helper-validator-identifier@^7.14.0": 20 | version "7.14.0" 21 | resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz" 22 | integrity sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A== 23 | 24 | "@babel/highlight@^7.10.4", "@babel/highlight@^7.12.13": 25 | version "7.14.0" 26 | resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz" 27 | integrity sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg== 28 | dependencies: 29 | "@babel/helper-validator-identifier" "^7.14.0" 30 | chalk "^2.0.0" 31 | js-tokens "^4.0.0" 32 | 33 | "@eslint/eslintrc@^0.4.3": 34 | version "0.4.3" 35 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" 36 | integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== 37 | dependencies: 38 | ajv "^6.12.4" 39 | debug "^4.1.1" 40 | espree "^7.3.0" 41 | globals "^13.9.0" 42 | ignore "^4.0.6" 43 | import-fresh "^3.2.1" 44 | js-yaml "^3.13.1" 45 | minimatch "^3.0.4" 46 | strip-json-comments "^3.1.1" 47 | 48 | "@humanwhocodes/config-array@^0.5.0": 49 | version "0.5.0" 50 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" 51 | integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== 52 | dependencies: 53 | "@humanwhocodes/object-schema" "^1.2.0" 54 | debug "^4.1.1" 55 | minimatch "^3.0.4" 56 | 57 | "@humanwhocodes/object-schema@^1.2.0": 58 | version "1.2.0" 59 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" 60 | integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== 61 | 62 | "@nodelib/fs.scandir@2.1.4": 63 | version "2.1.4" 64 | resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz" 65 | integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== 66 | dependencies: 67 | "@nodelib/fs.stat" "2.0.4" 68 | run-parallel "^1.1.9" 69 | 70 | "@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": 71 | version "2.0.4" 72 | resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz" 73 | integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== 74 | 75 | "@nodelib/fs.walk@^1.2.3": 76 | version "1.2.6" 77 | resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz" 78 | integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== 79 | dependencies: 80 | "@nodelib/fs.scandir" "2.1.4" 81 | fastq "^1.6.0" 82 | 83 | "@types/json-schema@^7.0.7": 84 | version "7.0.7" 85 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" 86 | integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== 87 | 88 | "@types/parse-json@^4.0.0": 89 | version "4.0.0" 90 | resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" 91 | integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== 92 | 93 | "@types/prop-types@*": 94 | version "15.7.4" 95 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" 96 | integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== 97 | 98 | "@types/react@^17.0.24": 99 | version "17.0.24" 100 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.24.tgz#7e1b3f78d0fc53782543f9bce6d949959a5880bd" 101 | integrity sha512-eIpyco99gTH+FTI3J7Oi/OH8MZoFMJuztNRimDOJwH4iGIsKV2qkGnk4M9VzlaVWeEEWLWSQRy0FEA0Kz218cg== 102 | dependencies: 103 | "@types/prop-types" "*" 104 | "@types/scheduler" "*" 105 | csstype "^3.0.2" 106 | 107 | "@types/scheduler@*": 108 | version "0.16.2" 109 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 110 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 111 | 112 | "@typescript-eslint/eslint-plugin@^4.31.2": 113 | version "4.31.2" 114 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.31.2.tgz#9f41efaee32cdab7ace94b15bd19b756dd099b0a" 115 | integrity sha512-w63SCQ4bIwWN/+3FxzpnWrDjQRXVEGiTt9tJTRptRXeFvdZc/wLiz3FQUwNQ2CVoRGI6KUWMNUj/pk63noUfcA== 116 | dependencies: 117 | "@typescript-eslint/experimental-utils" "4.31.2" 118 | "@typescript-eslint/scope-manager" "4.31.2" 119 | debug "^4.3.1" 120 | functional-red-black-tree "^1.0.1" 121 | regexpp "^3.1.0" 122 | semver "^7.3.5" 123 | tsutils "^3.21.0" 124 | 125 | "@typescript-eslint/experimental-utils@4.31.2": 126 | version "4.31.2" 127 | resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.31.2.tgz#98727a9c1e977dd5d20c8705e69cd3c2a86553fa" 128 | integrity sha512-3tm2T4nyA970yQ6R3JZV9l0yilE2FedYg8dcXrTar34zC9r6JB7WyBQbpIVongKPlhEMjhQ01qkwrzWy38Bk1Q== 129 | dependencies: 130 | "@types/json-schema" "^7.0.7" 131 | "@typescript-eslint/scope-manager" "4.31.2" 132 | "@typescript-eslint/types" "4.31.2" 133 | "@typescript-eslint/typescript-estree" "4.31.2" 134 | eslint-scope "^5.1.1" 135 | eslint-utils "^3.0.0" 136 | 137 | "@typescript-eslint/parser@^4.31.2": 138 | version "4.31.2" 139 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.31.2.tgz#54aa75986e3302d91eff2bbbaa6ecfa8084e9c34" 140 | integrity sha512-EcdO0E7M/sv23S/rLvenHkb58l3XhuSZzKf6DBvLgHqOYdL6YFMYVtreGFWirxaU2mS1GYDby3Lyxco7X5+Vjw== 141 | dependencies: 142 | "@typescript-eslint/scope-manager" "4.31.2" 143 | "@typescript-eslint/types" "4.31.2" 144 | "@typescript-eslint/typescript-estree" "4.31.2" 145 | debug "^4.3.1" 146 | 147 | "@typescript-eslint/scope-manager@4.31.2": 148 | version "4.31.2" 149 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.31.2.tgz#1d528cb3ed3bcd88019c20a57c18b897b073923a" 150 | integrity sha512-2JGwudpFoR/3Czq6mPpE8zBPYdHWFGL6lUNIGolbKQeSNv4EAiHaR5GVDQaLA0FwgcdcMtRk+SBJbFGL7+La5w== 151 | dependencies: 152 | "@typescript-eslint/types" "4.31.2" 153 | "@typescript-eslint/visitor-keys" "4.31.2" 154 | 155 | "@typescript-eslint/types@4.31.2": 156 | version "4.31.2" 157 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.31.2.tgz#2aea7177d6d744521a168ed4668eddbd912dfadf" 158 | integrity sha512-kWiTTBCTKEdBGrZKwFvOlGNcAsKGJSBc8xLvSjSppFO88AqGxGNYtF36EuEYG6XZ9vT0xX8RNiHbQUKglbSi1w== 159 | 160 | "@typescript-eslint/typescript-estree@4.31.2": 161 | version "4.31.2" 162 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.31.2.tgz#abfd50594d8056b37e7428df3b2d185ef2d0060c" 163 | integrity sha512-ieBq8U9at6PvaC7/Z6oe8D3czeW5d//Fo1xkF/s9394VR0bg/UaMYPdARiWyKX+lLEjY3w/FNZJxitMsiWv+wA== 164 | dependencies: 165 | "@typescript-eslint/types" "4.31.2" 166 | "@typescript-eslint/visitor-keys" "4.31.2" 167 | debug "^4.3.1" 168 | globby "^11.0.3" 169 | is-glob "^4.0.1" 170 | semver "^7.3.5" 171 | tsutils "^3.21.0" 172 | 173 | "@typescript-eslint/visitor-keys@4.31.2": 174 | version "4.31.2" 175 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.31.2.tgz#7d5b4a4705db7fe59ecffb273c1d082760f635cc" 176 | integrity sha512-PrBId7EQq2Nibns7dd/ch6S6/M4/iwLM9McbgeEbCXfxdwRUNxJ4UNreJ6Gh3fI2GNKNrWnQxKL7oCPmngKBug== 177 | dependencies: 178 | "@typescript-eslint/types" "4.31.2" 179 | eslint-visitor-keys "^2.0.0" 180 | 181 | acorn-jsx@^5.3.1: 182 | version "5.3.1" 183 | resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz" 184 | integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== 185 | 186 | acorn@^7.4.0: 187 | version "7.4.1" 188 | resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" 189 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 190 | 191 | ajv@^6.10.0, ajv@^6.12.4: 192 | version "6.12.6" 193 | resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" 194 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 195 | dependencies: 196 | fast-deep-equal "^3.1.1" 197 | fast-json-stable-stringify "^2.0.0" 198 | json-schema-traverse "^0.4.1" 199 | uri-js "^4.2.2" 200 | 201 | ajv@^8.0.1: 202 | version "8.4.0" 203 | resolved "https://registry.npmjs.org/ajv/-/ajv-8.4.0.tgz" 204 | integrity sha512-7QD2l6+KBSLwf+7MuYocbWvRPdOu63/trReTLu2KFwkgctnub1auoF+Y1WYcm09CTM7quuscrzqmASaLHC/K4Q== 205 | dependencies: 206 | fast-deep-equal "^3.1.1" 207 | json-schema-traverse "^1.0.0" 208 | require-from-string "^2.0.2" 209 | uri-js "^4.2.2" 210 | 211 | ansi-colors@^4.1.1: 212 | version "4.1.1" 213 | resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" 214 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 215 | 216 | ansi-regex@^5.0.0: 217 | version "5.0.0" 218 | resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" 219 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 220 | 221 | ansi-styles@^3.2.1: 222 | version "3.2.1" 223 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" 224 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 225 | dependencies: 226 | color-convert "^1.9.0" 227 | 228 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 229 | version "4.3.0" 230 | resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" 231 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 232 | dependencies: 233 | color-convert "^2.0.1" 234 | 235 | any-promise@^1.0.0: 236 | version "1.3.0" 237 | resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" 238 | integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= 239 | 240 | anymatch@~3.1.1: 241 | version "3.1.2" 242 | resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" 243 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 244 | dependencies: 245 | normalize-path "^3.0.0" 246 | picomatch "^2.0.4" 247 | 248 | argparse@^1.0.7: 249 | version "1.0.10" 250 | resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" 251 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 252 | dependencies: 253 | sprintf-js "~1.0.2" 254 | 255 | array-union@^2.1.0: 256 | version "2.1.0" 257 | resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" 258 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 259 | 260 | astral-regex@^2.0.0: 261 | version "2.0.0" 262 | resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" 263 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 264 | 265 | balanced-match@^1.0.0: 266 | version "1.0.2" 267 | resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" 268 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 269 | 270 | binary-extensions@^2.0.0: 271 | version "2.2.0" 272 | resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" 273 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 274 | 275 | brace-expansion@^1.1.7: 276 | version "1.1.11" 277 | resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" 278 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 279 | dependencies: 280 | balanced-match "^1.0.0" 281 | concat-map "0.0.1" 282 | 283 | braces@^3.0.1, braces@~3.0.2: 284 | version "3.0.2" 285 | resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" 286 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 287 | dependencies: 288 | fill-range "^7.0.1" 289 | 290 | cac@^6.7.2: 291 | version "6.7.3" 292 | resolved "https://registry.npmjs.org/cac/-/cac-6.7.3.tgz" 293 | integrity sha512-ECVqVZh74qgSuZG9YOt2OJPI3wGcf+EwwuF/XIOYqZBD0KZYLtgPWqFPxmDPQ6joxI1nOlvVgRV6VT53Ooyocg== 294 | 295 | callsites@^3.0.0: 296 | version "3.1.0" 297 | resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" 298 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 299 | 300 | chalk@^2.0.0: 301 | version "2.4.2" 302 | resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" 303 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 304 | dependencies: 305 | ansi-styles "^3.2.1" 306 | escape-string-regexp "^1.0.5" 307 | supports-color "^5.3.0" 308 | 309 | chalk@^4.0.0, chalk@^4.1.0: 310 | version "4.1.1" 311 | resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz" 312 | integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== 313 | dependencies: 314 | ansi-styles "^4.1.0" 315 | supports-color "^7.1.0" 316 | 317 | chokidar@^3.5.1: 318 | version "3.5.1" 319 | resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz" 320 | integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== 321 | dependencies: 322 | anymatch "~3.1.1" 323 | braces "~3.0.2" 324 | glob-parent "~5.1.0" 325 | is-binary-path "~2.1.0" 326 | is-glob "~4.0.1" 327 | normalize-path "~3.0.0" 328 | readdirp "~3.5.0" 329 | optionalDependencies: 330 | fsevents "~2.3.1" 331 | 332 | color-convert@^1.9.0: 333 | version "1.9.3" 334 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" 335 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 336 | dependencies: 337 | color-name "1.1.3" 338 | 339 | color-convert@^2.0.1: 340 | version "2.0.1" 341 | resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" 342 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 343 | dependencies: 344 | color-name "~1.1.4" 345 | 346 | color-name@1.1.3: 347 | version "1.1.3" 348 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" 349 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 350 | 351 | color-name@~1.1.4: 352 | version "1.1.4" 353 | resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" 354 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 355 | 356 | commander@^4.0.0: 357 | version "4.1.1" 358 | resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" 359 | integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== 360 | 361 | concat-map@0.0.1: 362 | version "0.0.1" 363 | resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" 364 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 365 | 366 | confusing-browser-globals@1.0.10: 367 | version "1.0.10" 368 | resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz" 369 | integrity sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA== 370 | 371 | cosmiconfig@^7.0.0: 372 | version "7.0.0" 373 | resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz" 374 | integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== 375 | dependencies: 376 | "@types/parse-json" "^4.0.0" 377 | import-fresh "^3.2.1" 378 | parse-json "^5.0.0" 379 | path-type "^4.0.0" 380 | yaml "^1.10.0" 381 | 382 | cross-spawn@^7.0.2, cross-spawn@^7.0.3: 383 | version "7.0.3" 384 | resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" 385 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 386 | dependencies: 387 | path-key "^3.1.0" 388 | shebang-command "^2.0.0" 389 | which "^2.0.1" 390 | 391 | csstype@^3.0.2: 392 | version "3.0.9" 393 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b" 394 | integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw== 395 | 396 | debug@^4.0.1, debug@^4.1.1, debug@^4.3.1: 397 | version "4.3.1" 398 | resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" 399 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 400 | dependencies: 401 | ms "2.1.2" 402 | 403 | deep-is@^0.1.3: 404 | version "0.1.3" 405 | resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" 406 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 407 | 408 | dir-glob@^3.0.1: 409 | version "3.0.1" 410 | resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" 411 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 412 | dependencies: 413 | path-type "^4.0.0" 414 | 415 | doctrine@^3.0.0: 416 | version "3.0.0" 417 | resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" 418 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 419 | dependencies: 420 | esutils "^2.0.2" 421 | 422 | emoji-regex@^8.0.0: 423 | version "8.0.0" 424 | resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" 425 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 426 | 427 | enquirer@^2.3.5: 428 | version "2.3.6" 429 | resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" 430 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 431 | dependencies: 432 | ansi-colors "^4.1.1" 433 | 434 | error-ex@^1.3.1: 435 | version "1.3.2" 436 | resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" 437 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 438 | dependencies: 439 | is-arrayish "^0.2.1" 440 | 441 | esbuild@^0.12.28: 442 | version "0.12.29" 443 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.12.29.tgz#be602db7c4dc78944a9dbde0d1ea19d36c1f882d" 444 | integrity sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g== 445 | 446 | escape-string-regexp@^1.0.5: 447 | version "1.0.5" 448 | resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" 449 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 450 | 451 | escape-string-regexp@^4.0.0: 452 | version "4.0.0" 453 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 454 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 455 | 456 | eslint-config-xo-typescript@^0.44.0: 457 | version "0.44.0" 458 | resolved "https://registry.yarnpkg.com/eslint-config-xo-typescript/-/eslint-config-xo-typescript-0.44.0.tgz#972285f401ea6b26c5802e177431de8b15851b0f" 459 | integrity sha512-/mRj2KHHwnl3ZyM8vn68NSfRoEunkSYagWERGmNnU5UOLo4AY9jjBNZW+/sDOaPYuc5xzYmLxYspDCVCXKLGNQ== 460 | dependencies: 461 | typescript ">=4.3" 462 | 463 | eslint-config-xo@^0.38.0: 464 | version "0.38.0" 465 | resolved "https://registry.yarnpkg.com/eslint-config-xo/-/eslint-config-xo-0.38.0.tgz#50cbe676a90d5582e1bbf1de750286e7cf09378e" 466 | integrity sha512-G2jL+VyfkcZW8GoTmqLsExvrWssBedSoaQQ11vyhflDeT3csMdBVp0On+AVijrRuvgmkWeDwwUL5Rj0qDRHK6g== 467 | dependencies: 468 | confusing-browser-globals "1.0.10" 469 | 470 | eslint-scope@^5.1.1: 471 | version "5.1.1" 472 | resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" 473 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 474 | dependencies: 475 | esrecurse "^4.3.0" 476 | estraverse "^4.1.1" 477 | 478 | eslint-utils@^2.1.0: 479 | version "2.1.0" 480 | resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" 481 | integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== 482 | dependencies: 483 | eslint-visitor-keys "^1.1.0" 484 | 485 | eslint-utils@^3.0.0: 486 | version "3.0.0" 487 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 488 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 489 | dependencies: 490 | eslint-visitor-keys "^2.0.0" 491 | 492 | eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: 493 | version "1.3.0" 494 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" 495 | integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== 496 | 497 | eslint-visitor-keys@^2.0.0: 498 | version "2.1.0" 499 | resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" 500 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 501 | 502 | eslint@^7.32.0: 503 | version "7.32.0" 504 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" 505 | integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== 506 | dependencies: 507 | "@babel/code-frame" "7.12.11" 508 | "@eslint/eslintrc" "^0.4.3" 509 | "@humanwhocodes/config-array" "^0.5.0" 510 | ajv "^6.10.0" 511 | chalk "^4.0.0" 512 | cross-spawn "^7.0.2" 513 | debug "^4.0.1" 514 | doctrine "^3.0.0" 515 | enquirer "^2.3.5" 516 | escape-string-regexp "^4.0.0" 517 | eslint-scope "^5.1.1" 518 | eslint-utils "^2.1.0" 519 | eslint-visitor-keys "^2.0.0" 520 | espree "^7.3.1" 521 | esquery "^1.4.0" 522 | esutils "^2.0.2" 523 | fast-deep-equal "^3.1.3" 524 | file-entry-cache "^6.0.1" 525 | functional-red-black-tree "^1.0.1" 526 | glob-parent "^5.1.2" 527 | globals "^13.6.0" 528 | ignore "^4.0.6" 529 | import-fresh "^3.0.0" 530 | imurmurhash "^0.1.4" 531 | is-glob "^4.0.0" 532 | js-yaml "^3.13.1" 533 | json-stable-stringify-without-jsonify "^1.0.1" 534 | levn "^0.4.1" 535 | lodash.merge "^4.6.2" 536 | minimatch "^3.0.4" 537 | natural-compare "^1.4.0" 538 | optionator "^0.9.1" 539 | progress "^2.0.0" 540 | regexpp "^3.1.0" 541 | semver "^7.2.1" 542 | strip-ansi "^6.0.0" 543 | strip-json-comments "^3.1.0" 544 | table "^6.0.9" 545 | text-table "^0.2.0" 546 | v8-compile-cache "^2.0.3" 547 | 548 | espree@^7.3.0, espree@^7.3.1: 549 | version "7.3.1" 550 | resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" 551 | integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== 552 | dependencies: 553 | acorn "^7.4.0" 554 | acorn-jsx "^5.3.1" 555 | eslint-visitor-keys "^1.3.0" 556 | 557 | esprima@^4.0.0: 558 | version "4.0.1" 559 | resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" 560 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 561 | 562 | esquery@^1.4.0: 563 | version "1.4.0" 564 | resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" 565 | integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== 566 | dependencies: 567 | estraverse "^5.1.0" 568 | 569 | esrecurse@^4.3.0: 570 | version "4.3.0" 571 | resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" 572 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 573 | dependencies: 574 | estraverse "^5.2.0" 575 | 576 | estraverse@^4.1.1: 577 | version "4.3.0" 578 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" 579 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 580 | 581 | estraverse@^5.1.0, estraverse@^5.2.0: 582 | version "5.2.0" 583 | resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" 584 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 585 | 586 | esutils@^2.0.2: 587 | version "2.0.3" 588 | resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 589 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 590 | 591 | execa@^5.0.0: 592 | version "5.0.0" 593 | resolved "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz" 594 | integrity sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ== 595 | dependencies: 596 | cross-spawn "^7.0.3" 597 | get-stream "^6.0.0" 598 | human-signals "^2.1.0" 599 | is-stream "^2.0.0" 600 | merge-stream "^2.0.0" 601 | npm-run-path "^4.0.1" 602 | onetime "^5.1.2" 603 | signal-exit "^3.0.3" 604 | strip-final-newline "^2.0.0" 605 | 606 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 607 | version "3.1.3" 608 | resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" 609 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 610 | 611 | fast-glob@^3.1.1: 612 | version "3.2.5" 613 | resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz" 614 | integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== 615 | dependencies: 616 | "@nodelib/fs.stat" "^2.0.2" 617 | "@nodelib/fs.walk" "^1.2.3" 618 | glob-parent "^5.1.0" 619 | merge2 "^1.3.0" 620 | micromatch "^4.0.2" 621 | picomatch "^2.2.1" 622 | 623 | fast-json-stable-stringify@^2.0.0: 624 | version "2.1.0" 625 | resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" 626 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 627 | 628 | fast-levenshtein@^2.0.6: 629 | version "2.0.6" 630 | resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" 631 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 632 | 633 | fastq@^1.6.0: 634 | version "1.11.0" 635 | resolved "https://registry.npmjs.org/fastq/-/fastq-1.11.0.tgz" 636 | integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== 637 | dependencies: 638 | reusify "^1.0.4" 639 | 640 | file-entry-cache@^6.0.1: 641 | version "6.0.1" 642 | resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" 643 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 644 | dependencies: 645 | flat-cache "^3.0.4" 646 | 647 | fill-range@^7.0.1: 648 | version "7.0.1" 649 | resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" 650 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 651 | dependencies: 652 | to-regex-range "^5.0.1" 653 | 654 | flat-cache@^3.0.4: 655 | version "3.0.4" 656 | resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" 657 | integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== 658 | dependencies: 659 | flatted "^3.1.0" 660 | rimraf "^3.0.2" 661 | 662 | flatted@^3.1.0: 663 | version "3.1.1" 664 | resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz" 665 | integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== 666 | 667 | fs.realpath@^1.0.0: 668 | version "1.0.0" 669 | resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" 670 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 671 | 672 | fsevents@~2.3.1, fsevents@~2.3.2: 673 | version "2.3.2" 674 | resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" 675 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 676 | 677 | functional-red-black-tree@^1.0.1: 678 | version "1.0.1" 679 | resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" 680 | integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 681 | 682 | get-stream@^6.0.0: 683 | version "6.0.1" 684 | resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" 685 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 686 | 687 | glob-parent@^5.1.0, glob-parent@^5.1.2, glob-parent@~5.1.0: 688 | version "5.1.2" 689 | resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" 690 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 691 | dependencies: 692 | is-glob "^4.0.1" 693 | 694 | glob@7.1.6: 695 | version "7.1.6" 696 | resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" 697 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 698 | dependencies: 699 | fs.realpath "^1.0.0" 700 | inflight "^1.0.4" 701 | inherits "2" 702 | minimatch "^3.0.4" 703 | once "^1.3.0" 704 | path-is-absolute "^1.0.0" 705 | 706 | glob@^7.1.3: 707 | version "7.1.7" 708 | resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" 709 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 710 | dependencies: 711 | fs.realpath "^1.0.0" 712 | inflight "^1.0.4" 713 | inherits "2" 714 | minimatch "^3.0.4" 715 | once "^1.3.0" 716 | path-is-absolute "^1.0.0" 717 | 718 | globals@^13.6.0: 719 | version "13.8.0" 720 | resolved "https://registry.npmjs.org/globals/-/globals-13.8.0.tgz" 721 | integrity sha512-rHtdA6+PDBIjeEvA91rpqzEvk/k3/i7EeNQiryiWuJH0Hw9cpyJMAt2jtbAwUaRdhD+573X4vWw6IcjKPasi9Q== 722 | dependencies: 723 | type-fest "^0.20.2" 724 | 725 | globals@^13.9.0: 726 | version "13.9.0" 727 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb" 728 | integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== 729 | dependencies: 730 | type-fest "^0.20.2" 731 | 732 | globby@^11.0.3: 733 | version "11.0.3" 734 | resolved "https://registry.npmjs.org/globby/-/globby-11.0.3.tgz" 735 | integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== 736 | dependencies: 737 | array-union "^2.1.0" 738 | dir-glob "^3.0.1" 739 | fast-glob "^3.1.1" 740 | ignore "^5.1.4" 741 | merge2 "^1.3.0" 742 | slash "^3.0.0" 743 | 744 | has-flag@^3.0.0: 745 | version "3.0.0" 746 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" 747 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 748 | 749 | has-flag@^4.0.0: 750 | version "4.0.0" 751 | resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" 752 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 753 | 754 | human-signals@^2.1.0: 755 | version "2.1.0" 756 | resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" 757 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 758 | 759 | ignore@^4.0.6: 760 | version "4.0.6" 761 | resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" 762 | integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== 763 | 764 | ignore@^5.1.4: 765 | version "5.1.8" 766 | resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" 767 | integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== 768 | 769 | import-cwd@^3.0.0: 770 | version "3.0.0" 771 | resolved "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz" 772 | integrity sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg== 773 | dependencies: 774 | import-from "^3.0.0" 775 | 776 | import-fresh@^3.0.0, import-fresh@^3.2.1: 777 | version "3.3.0" 778 | resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" 779 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 780 | dependencies: 781 | parent-module "^1.0.0" 782 | resolve-from "^4.0.0" 783 | 784 | import-from@^3.0.0: 785 | version "3.0.0" 786 | resolved "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz" 787 | integrity sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ== 788 | dependencies: 789 | resolve-from "^5.0.0" 790 | 791 | imurmurhash@^0.1.4: 792 | version "0.1.4" 793 | resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" 794 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 795 | 796 | inflight@^1.0.4: 797 | version "1.0.6" 798 | resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" 799 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 800 | dependencies: 801 | once "^1.3.0" 802 | wrappy "1" 803 | 804 | inherits@2: 805 | version "2.0.4" 806 | resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" 807 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 808 | 809 | is-arrayish@^0.2.1: 810 | version "0.2.1" 811 | resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" 812 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 813 | 814 | is-binary-path@~2.1.0: 815 | version "2.1.0" 816 | resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" 817 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 818 | dependencies: 819 | binary-extensions "^2.0.0" 820 | 821 | is-extglob@^2.1.1: 822 | version "2.1.1" 823 | resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" 824 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 825 | 826 | is-fullwidth-code-point@^3.0.0: 827 | version "3.0.0" 828 | resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" 829 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 830 | 831 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: 832 | version "4.0.1" 833 | resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" 834 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 835 | dependencies: 836 | is-extglob "^2.1.1" 837 | 838 | is-number@^7.0.0: 839 | version "7.0.0" 840 | resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" 841 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 842 | 843 | is-stream@^2.0.0: 844 | version "2.0.0" 845 | resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" 846 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 847 | 848 | isexe@^2.0.0: 849 | version "2.0.0" 850 | resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" 851 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 852 | 853 | joycon@^3.0.1: 854 | version "3.0.1" 855 | resolved "https://registry.npmjs.org/joycon/-/joycon-3.0.1.tgz" 856 | integrity sha512-SJcJNBg32dGgxhPtM0wQqxqV0ax9k/9TaUskGDSJkSFSQOEWWvQ3zzWdGQRIUry2j1zA5+ReH13t0Mf3StuVZA== 857 | 858 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 859 | version "4.0.0" 860 | resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" 861 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 862 | 863 | js-yaml@^3.13.1: 864 | version "3.14.1" 865 | resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" 866 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 867 | dependencies: 868 | argparse "^1.0.7" 869 | esprima "^4.0.0" 870 | 871 | json-parse-even-better-errors@^2.3.0: 872 | version "2.3.1" 873 | resolved "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz" 874 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 875 | 876 | json-schema-traverse@^0.4.1: 877 | version "0.4.1" 878 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" 879 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 880 | 881 | json-schema-traverse@^1.0.0: 882 | version "1.0.0" 883 | resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" 884 | integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== 885 | 886 | json-stable-stringify-without-jsonify@^1.0.1: 887 | version "1.0.1" 888 | resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" 889 | integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= 890 | 891 | levn@^0.4.1: 892 | version "0.4.1" 893 | resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" 894 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 895 | dependencies: 896 | prelude-ls "^1.2.1" 897 | type-check "~0.4.0" 898 | 899 | lines-and-columns@^1.1.6: 900 | version "1.1.6" 901 | resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" 902 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 903 | 904 | lodash.clonedeep@^4.5.0: 905 | version "4.5.0" 906 | resolved "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz" 907 | integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= 908 | 909 | lodash.merge@^4.6.2: 910 | version "4.6.2" 911 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 912 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 913 | 914 | lodash.truncate@^4.4.2: 915 | version "4.4.2" 916 | resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" 917 | integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= 918 | 919 | loose-envify@^1.1.0: 920 | version "1.4.0" 921 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 922 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 923 | dependencies: 924 | js-tokens "^3.0.0 || ^4.0.0" 925 | 926 | lru-cache@^6.0.0: 927 | version "6.0.0" 928 | resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" 929 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 930 | dependencies: 931 | yallist "^4.0.0" 932 | 933 | merge-stream@^2.0.0: 934 | version "2.0.0" 935 | resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" 936 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 937 | 938 | merge2@^1.3.0: 939 | version "1.4.1" 940 | resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" 941 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 942 | 943 | micromatch@^4.0.2: 944 | version "4.0.4" 945 | resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" 946 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 947 | dependencies: 948 | braces "^3.0.1" 949 | picomatch "^2.2.3" 950 | 951 | mimic-fn@^2.1.0: 952 | version "2.1.0" 953 | resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" 954 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 955 | 956 | minimatch@^3.0.4: 957 | version "3.0.4" 958 | resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" 959 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 960 | dependencies: 961 | brace-expansion "^1.1.7" 962 | 963 | ms@2.1.2: 964 | version "2.1.2" 965 | resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" 966 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 967 | 968 | mz@^2.7.0: 969 | version "2.7.0" 970 | resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" 971 | integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== 972 | dependencies: 973 | any-promise "^1.0.0" 974 | object-assign "^4.0.1" 975 | thenify-all "^1.0.0" 976 | 977 | natural-compare@^1.4.0: 978 | version "1.4.0" 979 | resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" 980 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 981 | 982 | node-modules-regexp@^1.0.0: 983 | version "1.0.0" 984 | resolved "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz" 985 | integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= 986 | 987 | normalize-path@^3.0.0, normalize-path@~3.0.0: 988 | version "3.0.0" 989 | resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" 990 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 991 | 992 | npm-run-path@^4.0.1: 993 | version "4.0.1" 994 | resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" 995 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 996 | dependencies: 997 | path-key "^3.0.0" 998 | 999 | object-assign@^4.0.1, object-assign@^4.1.1: 1000 | version "4.1.1" 1001 | resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" 1002 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1003 | 1004 | once@^1.3.0: 1005 | version "1.4.0" 1006 | resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" 1007 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1008 | dependencies: 1009 | wrappy "1" 1010 | 1011 | onetime@^5.1.2: 1012 | version "5.1.2" 1013 | resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" 1014 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 1015 | dependencies: 1016 | mimic-fn "^2.1.0" 1017 | 1018 | optionator@^0.9.1: 1019 | version "0.9.1" 1020 | resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" 1021 | integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== 1022 | dependencies: 1023 | deep-is "^0.1.3" 1024 | fast-levenshtein "^2.0.6" 1025 | levn "^0.4.1" 1026 | prelude-ls "^1.2.1" 1027 | type-check "^0.4.0" 1028 | word-wrap "^1.2.3" 1029 | 1030 | parent-module@^1.0.0: 1031 | version "1.0.1" 1032 | resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" 1033 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 1034 | dependencies: 1035 | callsites "^3.0.0" 1036 | 1037 | parse-json@^5.0.0: 1038 | version "5.2.0" 1039 | resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" 1040 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 1041 | dependencies: 1042 | "@babel/code-frame" "^7.0.0" 1043 | error-ex "^1.3.1" 1044 | json-parse-even-better-errors "^2.3.0" 1045 | lines-and-columns "^1.1.6" 1046 | 1047 | path-is-absolute@^1.0.0: 1048 | version "1.0.1" 1049 | resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" 1050 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1051 | 1052 | path-key@^3.0.0, path-key@^3.1.0: 1053 | version "3.1.1" 1054 | resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" 1055 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1056 | 1057 | path-type@^4.0.0: 1058 | version "4.0.0" 1059 | resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" 1060 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 1061 | 1062 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: 1063 | version "2.2.3" 1064 | resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz" 1065 | integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== 1066 | 1067 | pirates@^4.0.1: 1068 | version "4.0.1" 1069 | resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz" 1070 | integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== 1071 | dependencies: 1072 | node-modules-regexp "^1.0.0" 1073 | 1074 | postcss-load-config@^3.0.1: 1075 | version "3.0.1" 1076 | resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.0.1.tgz" 1077 | integrity sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ== 1078 | dependencies: 1079 | cosmiconfig "^7.0.0" 1080 | import-cwd "^3.0.0" 1081 | 1082 | prelude-ls@^1.2.1: 1083 | version "1.2.1" 1084 | resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" 1085 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 1086 | 1087 | prettier@^2.4.1: 1088 | version "2.4.1" 1089 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" 1090 | integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== 1091 | 1092 | progress@^2.0.0: 1093 | version "2.0.3" 1094 | resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" 1095 | integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== 1096 | 1097 | punycode@^2.1.0: 1098 | version "2.1.1" 1099 | resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" 1100 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1101 | 1102 | queue-microtask@^1.2.2: 1103 | version "1.2.3" 1104 | resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" 1105 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1106 | 1107 | react@^17.0.2: 1108 | version "17.0.2" 1109 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 1110 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 1111 | dependencies: 1112 | loose-envify "^1.1.0" 1113 | object-assign "^4.1.1" 1114 | 1115 | readdirp@~3.5.0: 1116 | version "3.5.0" 1117 | resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz" 1118 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== 1119 | dependencies: 1120 | picomatch "^2.2.1" 1121 | 1122 | regexpp@^3.1.0: 1123 | version "3.1.0" 1124 | resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz" 1125 | integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== 1126 | 1127 | require-from-string@^2.0.2: 1128 | version "2.0.2" 1129 | resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" 1130 | integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== 1131 | 1132 | resolve-from@^4.0.0: 1133 | version "4.0.0" 1134 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" 1135 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 1136 | 1137 | resolve-from@^5.0.0: 1138 | version "5.0.0" 1139 | resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz" 1140 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 1141 | 1142 | reusify@^1.0.4: 1143 | version "1.0.4" 1144 | resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" 1145 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1146 | 1147 | rimraf@^3.0.2: 1148 | version "3.0.2" 1149 | resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" 1150 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 1151 | dependencies: 1152 | glob "^7.1.3" 1153 | 1154 | rollup@^2.56.1: 1155 | version "2.57.0" 1156 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.57.0.tgz#c1694475eb22e1022477c0f4635fd0ac80713173" 1157 | integrity sha512-bKQIh1rWKofRee6mv8SrF2HdP6pea5QkwBZSMImJysFj39gQuiV8MEPBjXOCpzk3wSYp63M2v2wkWBmFC8O/rg== 1158 | optionalDependencies: 1159 | fsevents "~2.3.2" 1160 | 1161 | run-parallel@^1.1.9: 1162 | version "1.2.0" 1163 | resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" 1164 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1165 | dependencies: 1166 | queue-microtask "^1.2.2" 1167 | 1168 | semver@^7.2.1, semver@^7.3.5: 1169 | version "7.3.5" 1170 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 1171 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 1172 | dependencies: 1173 | lru-cache "^6.0.0" 1174 | 1175 | shebang-command@^2.0.0: 1176 | version "2.0.0" 1177 | resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" 1178 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1179 | dependencies: 1180 | shebang-regex "^3.0.0" 1181 | 1182 | shebang-regex@^3.0.0: 1183 | version "3.0.0" 1184 | resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" 1185 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1186 | 1187 | signal-exit@^3.0.3: 1188 | version "3.0.3" 1189 | resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" 1190 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 1191 | 1192 | slash@^3.0.0: 1193 | version "3.0.0" 1194 | resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" 1195 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1196 | 1197 | slice-ansi@^4.0.0: 1198 | version "4.0.0" 1199 | resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" 1200 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 1201 | dependencies: 1202 | ansi-styles "^4.0.0" 1203 | astral-regex "^2.0.0" 1204 | is-fullwidth-code-point "^3.0.0" 1205 | 1206 | sprintf-js@~1.0.2: 1207 | version "1.0.3" 1208 | resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" 1209 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1210 | 1211 | string-width@^4.2.0: 1212 | version "4.2.2" 1213 | resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz" 1214 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 1215 | dependencies: 1216 | emoji-regex "^8.0.0" 1217 | is-fullwidth-code-point "^3.0.0" 1218 | strip-ansi "^6.0.0" 1219 | 1220 | strip-ansi@^6.0.0: 1221 | version "6.0.0" 1222 | resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" 1223 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1224 | dependencies: 1225 | ansi-regex "^5.0.0" 1226 | 1227 | strip-final-newline@^2.0.0: 1228 | version "2.0.0" 1229 | resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" 1230 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 1231 | 1232 | strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: 1233 | version "3.1.1" 1234 | resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" 1235 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1236 | 1237 | sucrase@^3.20.1: 1238 | version "3.20.1" 1239 | resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.20.1.tgz#1c055e97d0fab2f9857f02461364075b3a4ab226" 1240 | integrity sha512-BIG59HaJOxNct9Va6KvT5yzBA/rcMGetzvZyTx0ZdCcspIbpJTPS64zuAfYlJuOj+3WaI5JOdA+F0bJQQi8ZiQ== 1241 | dependencies: 1242 | commander "^4.0.0" 1243 | glob "7.1.6" 1244 | lines-and-columns "^1.1.6" 1245 | mz "^2.7.0" 1246 | pirates "^4.0.1" 1247 | ts-interface-checker "^0.1.9" 1248 | 1249 | supports-color@^5.3.0: 1250 | version "5.5.0" 1251 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" 1252 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1253 | dependencies: 1254 | has-flag "^3.0.0" 1255 | 1256 | supports-color@^7.1.0: 1257 | version "7.2.0" 1258 | resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" 1259 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1260 | dependencies: 1261 | has-flag "^4.0.0" 1262 | 1263 | table@^6.0.9: 1264 | version "6.7.1" 1265 | resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" 1266 | integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== 1267 | dependencies: 1268 | ajv "^8.0.1" 1269 | lodash.clonedeep "^4.5.0" 1270 | lodash.truncate "^4.4.2" 1271 | slice-ansi "^4.0.0" 1272 | string-width "^4.2.0" 1273 | strip-ansi "^6.0.0" 1274 | 1275 | text-table@^0.2.0: 1276 | version "0.2.0" 1277 | resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" 1278 | integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= 1279 | 1280 | thenify-all@^1.0.0: 1281 | version "1.6.0" 1282 | resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" 1283 | integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= 1284 | dependencies: 1285 | thenify ">= 3.1.0 < 4" 1286 | 1287 | "thenify@>= 3.1.0 < 4": 1288 | version "3.3.1" 1289 | resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" 1290 | integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== 1291 | dependencies: 1292 | any-promise "^1.0.0" 1293 | 1294 | to-regex-range@^5.0.1: 1295 | version "5.0.1" 1296 | resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" 1297 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1298 | dependencies: 1299 | is-number "^7.0.0" 1300 | 1301 | tree-kill@^1.2.2: 1302 | version "1.2.2" 1303 | resolved "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz" 1304 | integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== 1305 | 1306 | ts-interface-checker@^0.1.9: 1307 | version "0.1.13" 1308 | resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" 1309 | integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== 1310 | 1311 | tslib@^1.8.1: 1312 | version "1.14.1" 1313 | resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" 1314 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 1315 | 1316 | tsup@^5.1.0: 1317 | version "5.1.0" 1318 | resolved "https://registry.yarnpkg.com/tsup/-/tsup-5.1.0.tgz#d9e916648fe6344466057c45c49bf7e0628a2ac2" 1319 | integrity sha512-shox7rIKPneySkC6CI7py1N1Buqlp++sofTztZxGAESP4od2WrPD/y0FwNo6+XaoXfuzVV6bDAwvCtDpc0bq1A== 1320 | dependencies: 1321 | cac "^6.7.2" 1322 | chalk "^4.1.0" 1323 | chokidar "^3.5.1" 1324 | debug "^4.3.1" 1325 | esbuild "^0.12.28" 1326 | execa "^5.0.0" 1327 | globby "^11.0.3" 1328 | joycon "^3.0.1" 1329 | postcss-load-config "^3.0.1" 1330 | resolve-from "^5.0.0" 1331 | rollup "^2.56.1" 1332 | sucrase "^3.20.1" 1333 | tree-kill "^1.2.2" 1334 | 1335 | tsutils@^3.21.0: 1336 | version "3.21.0" 1337 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 1338 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 1339 | dependencies: 1340 | tslib "^1.8.1" 1341 | 1342 | type-check@^0.4.0, type-check@~0.4.0: 1343 | version "0.4.0" 1344 | resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" 1345 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 1346 | dependencies: 1347 | prelude-ls "^1.2.1" 1348 | 1349 | type-fest@^0.20.2: 1350 | version "0.20.2" 1351 | resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" 1352 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 1353 | 1354 | typescript@>=4.3, typescript@^4.4.3: 1355 | version "4.4.3" 1356 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" 1357 | integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== 1358 | 1359 | uri-js@^4.2.2: 1360 | version "4.4.1" 1361 | resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" 1362 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1363 | dependencies: 1364 | punycode "^2.1.0" 1365 | 1366 | v8-compile-cache@^2.0.3: 1367 | version "2.3.0" 1368 | resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" 1369 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 1370 | 1371 | which@^2.0.1: 1372 | version "2.0.2" 1373 | resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" 1374 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1375 | dependencies: 1376 | isexe "^2.0.0" 1377 | 1378 | word-wrap@^1.2.3: 1379 | version "1.2.3" 1380 | resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" 1381 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 1382 | 1383 | wrappy@1: 1384 | version "1.0.2" 1385 | resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" 1386 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 1387 | 1388 | yallist@^4.0.0: 1389 | version "4.0.0" 1390 | resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" 1391 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1392 | 1393 | yaml@^1.10.0: 1394 | version "1.10.2" 1395 | resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" 1396 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 1397 | --------------------------------------------------------------------------------