├── .gitignore ├── tsup.config.ts ├── package.json ├── LICENSE ├── tsconfig.json ├── README.md ├── src └── index.tsx └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | .DS_Store 3 | node_modules 4 | .cache 5 | coverage 6 | dist 7 | .vscode -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "tsup"; 2 | 3 | export default defineConfig([ 4 | { 5 | minify: true, 6 | dts: true, 7 | format: ["esm", "cjs"], 8 | sourcemap: true, 9 | clean: true, 10 | entry: ["src/index.tsx"], 11 | outDir: "dist", 12 | }, 13 | ]); 14 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "react-reduce-stress", 3 | "version": "2.0.1", 4 | "description": "The name says it all", 5 | "main": "dist/index.js", 6 | "types": "dist/index.d.ts", 7 | "exports": { 8 | "./package.json": "./package.json", 9 | ".": { 10 | "types": "./dist/index.d.ts", 11 | "import": "./dist/index.mjs", 12 | "require": "./dist/index.js" 13 | } 14 | }, 15 | "author": "Nikolaus Graf", 16 | "license": "MIT", 17 | "files": [ 18 | "dist", 19 | "src" 20 | ], 21 | "scripts": { 22 | "build": "tsup src/index.tsx" 23 | }, 24 | "devDependencies": { 25 | "@types/react": "^18.0.20", 26 | "react": "^18.2.0", 27 | "tsup": "^6.2.3", 28 | "typescript": "^4.8.3" 29 | }, 30 | "peerDependencies": { 31 | "react": ">=18", 32 | "react-dom": ">=18" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2022 Nikolaus Graf 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": ["src"], 3 | "compilerOptions": { 4 | "module": "esnext", 5 | "lib": ["dom", "esnext"], 6 | // output .d.ts declaration files for consumers 7 | "declaration": true, 8 | // output .js.map sourcemap files for consumers 9 | "sourceMap": true, 10 | // match output dir to input dir. e.g. dist/index instead of dist/src/index 11 | "rootDir": "./src", 12 | // stricter type-checking for stronger correctness. Recommended by TS 13 | "strict": true, 14 | // linter checks for common issues 15 | "noImplicitReturns": true, 16 | "noFallthroughCasesInSwitch": true, 17 | // noUnused* overlap with @typescript-eslint/no-unused-vars, can disable if duplicative 18 | "noUnusedParameters": true, 19 | // use Node's module resolution algorithm, instead of the legacy TS one 20 | "moduleResolution": "node", 21 | // transpile JSX to React.createElement 22 | "jsx": "react", 23 | // interop between ESM and CJS modules. Recommended by TS 24 | "esModuleInterop": true, 25 | // significant perf increase by skipping checking .d.ts files, particularly those in node_modules. Recommended by TS 26 | "skipLibCheck": true, 27 | // error out if import and file system have a casing mismatch. Recommended by TS 28 | "forceConsistentCasingInFileNames": true, 29 | "noEmit": true 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # react-reduce-stress 2 | 3 | React comes with a lot of useful console logs and errors, but the ONE is missing. This package informs you when React.StrictMode is active and React will unmount and remount every component, whenever a component mounts for the first time. 4 | 5 | Screenshot of the console showing the hint 6 | 7 | ## Install 8 | 9 | ```sh 10 | yarn add react-reduce-stress 11 | ``` 12 | 13 | ```tsx 14 | import { ReduceStress } from "react-reduce-stress"; 15 | 16 | // just place it anywhere inside 17 | root.render( 18 | 19 | 20 | 21 | 22 | ); 23 | ``` 24 | 25 | ## Supress Console Warnings/Errors usage 26 | 27 | ```tsx 28 | supressConsoleWarnings({ 29 | hooksOrder: ["NavigationHeader"], // hide warnings for hooks order for the NavigationHeader component 30 | uniqueKeyInList: ["AvatarGroup"], // hide warnings for unique key in list for the AvatarGroup component 31 | useNativeDriver: true, // hide warnings for useNativeDriver (React Native) 32 | setNativeProps: true, // hide warnings for setNativeProps (React Native) 33 | }); 34 | ``` 35 | 36 | Outcome: A peaceful Console at your discression for debugging. 37 | 38 | Screenshot of an empty Chrome console 39 | 40 | ## Roadmap 41 | 42 | If you have warning that really annoyes you, please open a pull-request and we will add it to the list. 43 | -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | const identifier = "DO_NOT_USE_OR_YOU_WILL_BE_FIRED"; 4 | 5 | const getConsoleStyle = () => { 6 | return window.matchMedia && 7 | window.matchMedia("(prefers-color-scheme: dark)").matches 8 | ? "color: red; line-height: 1.4; padding: 5px" 9 | : "color: #e10000; line-height: 1.4; padding: 5px"; 10 | }; 11 | 12 | const originalConsoleError = console.error; 13 | console.error = (...args) => { 14 | if ( 15 | typeof args[0] === "string" && 16 | args[0].startsWith('Warning: A string ref, "%s", has been found within') && 17 | args[1] === identifier 18 | ) { 19 | console.log( 20 | "%c🙀 ‼️ATTENTION‼️ 🙀\nBecause you are using StrictMode in development React will unmount and remount every component, whenever a component mounts for the first time. This means during this remounting useEffect and useLayoutEffect run twice.\nLearn more here why it's important:%chttps://reactjs.org/docs/strict-mode.html#ensuring-reusable-state", 21 | getConsoleStyle(), 22 | "line-height: 1.4; padding: 5px" 23 | ); 24 | } else { 25 | originalConsoleError(...args); 26 | } 27 | }; 28 | 29 | class InnerComponent extends React.Component { 30 | render() { 31 | return null; 32 | } 33 | } 34 | 35 | class OuterComponent extends React.Component { 36 | render() { 37 | return ; 38 | } 39 | } 40 | 41 | export const ReduceStress: React.FC<{}> = () => { 42 | return ; 43 | }; 44 | 45 | export type SupressWarningsConfig = { 46 | hooksOrder: string[]; 47 | uniqueKeyInList: string[]; 48 | useNativeDriver: boolean; 49 | setNativeProps: boolean; 50 | }; 51 | 52 | export const supressConsoleWarnings = (config: SupressWarningsConfig) => { 53 | const originalConsoleError = console.error; 54 | console.error = (...args) => { 55 | try { 56 | if ( 57 | (config.hooksOrder && 58 | args[0] && 59 | typeof args[0] === "string" && 60 | args[0].includes( 61 | "Warning: React has detected a change in the order of Hooks called by %s" 62 | ) && 63 | args[1] && 64 | config.hooksOrder.some((componentName) => { 65 | return args[1].includes(componentName); 66 | })) || 67 | (config.uniqueKeyInList && 68 | args[0] && 69 | args[0].includes( 70 | 'Warning: Each child in a list should have a unique "key" prop.' 71 | ) && 72 | args[1] && 73 | typeof args[1] === "string" && 74 | config.uniqueKeyInList.some((componentName) => { 75 | return args[1].includes(componentName); 76 | })) 77 | ) { 78 | // ignored 79 | } else { 80 | originalConsoleError(...args); 81 | } 82 | } catch { 83 | originalConsoleError(...args); 84 | } 85 | }; 86 | 87 | const originalConsoleWarn = console.warn; 88 | console.warn = (...args) => { 89 | try { 90 | if ( 91 | (config.useNativeDriver && 92 | args[0] && 93 | typeof args[0] === "string" && 94 | args[0].includes( 95 | "Animated: `useNativeDriver` is not supported because the native animated module is missing. Falling back to JS-based animation." 96 | )) || 97 | (config.setNativeProps && 98 | args[0] && 99 | typeof args[0] === "string" && 100 | args[0].includes( 101 | "setNativeProps is deprecated. Please update props using React state instead." 102 | )) 103 | ) { 104 | // ignored 105 | } else { 106 | originalConsoleWarn(...args); 107 | } 108 | } catch { 109 | originalConsoleWarn(...args); 110 | } 111 | }; 112 | }; 113 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@esbuild/linux-loong64@0.15.7": 6 | version "0.15.7" 7 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.7.tgz#1ec4af4a16c554cbd402cc557ccdd874e3f7be53" 8 | integrity sha512-IKznSJOsVUuyt7cDzzSZyqBEcZe+7WlBqTVXiF1OXP/4Nm387ToaXZ0fyLwI1iBlI/bzpxVq411QE2/Bt2XWWw== 9 | 10 | "@nodelib/fs.scandir@2.1.5": 11 | version "2.1.5" 12 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 13 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 14 | dependencies: 15 | "@nodelib/fs.stat" "2.0.5" 16 | run-parallel "^1.1.9" 17 | 18 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 19 | version "2.0.5" 20 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 21 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 22 | 23 | "@nodelib/fs.walk@^1.2.3": 24 | version "1.2.8" 25 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 26 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 27 | dependencies: 28 | "@nodelib/fs.scandir" "2.1.5" 29 | fastq "^1.6.0" 30 | 31 | "@types/prop-types@*": 32 | version "15.7.5" 33 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" 34 | integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w== 35 | 36 | "@types/react@^18.0.20": 37 | version "18.0.20" 38 | resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.20.tgz#e4c36be3a55eb5b456ecf501bd4a00fd4fd0c9ab" 39 | integrity sha512-MWul1teSPxujEHVwZl4a5HxQ9vVNsjTchVA+xRqv/VYGCuKGAU6UhfrTdF5aBefwD1BHUD8i/zq+O/vyCm/FrA== 40 | dependencies: 41 | "@types/prop-types" "*" 42 | "@types/scheduler" "*" 43 | csstype "^3.0.2" 44 | 45 | "@types/scheduler@*": 46 | version "0.16.2" 47 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" 48 | integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== 49 | 50 | any-promise@^1.0.0: 51 | version "1.3.0" 52 | resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" 53 | integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== 54 | 55 | anymatch@~3.1.2: 56 | version "3.1.2" 57 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 58 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 59 | dependencies: 60 | normalize-path "^3.0.0" 61 | picomatch "^2.0.4" 62 | 63 | array-union@^2.1.0: 64 | version "2.1.0" 65 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 66 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 67 | 68 | balanced-match@^1.0.0: 69 | version "1.0.2" 70 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 71 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 72 | 73 | binary-extensions@^2.0.0: 74 | version "2.2.0" 75 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 76 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 77 | 78 | brace-expansion@^1.1.7: 79 | version "1.1.11" 80 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 81 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 82 | dependencies: 83 | balanced-match "^1.0.0" 84 | concat-map "0.0.1" 85 | 86 | braces@^3.0.2, braces@~3.0.2: 87 | version "3.0.2" 88 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 89 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 90 | dependencies: 91 | fill-range "^7.0.1" 92 | 93 | bundle-require@^3.1.0: 94 | version "3.1.0" 95 | resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-3.1.0.tgz#e07256ff02c72cd3a665afa84ce930d111ae4252" 96 | integrity sha512-IIXtAO7fKcwPHNPt9kY/WNVJqy7NDy6YqJvv6ENH0TOZoJ+yjpEsn1w40WKZbR2ibfu5g1rfgJTvmFHpm5aOMA== 97 | dependencies: 98 | load-tsconfig "^0.2.0" 99 | 100 | cac@^6.7.12: 101 | version "6.7.14" 102 | resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" 103 | integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== 104 | 105 | chokidar@^3.5.1: 106 | version "3.5.3" 107 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 108 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 109 | dependencies: 110 | anymatch "~3.1.2" 111 | braces "~3.0.2" 112 | glob-parent "~5.1.2" 113 | is-binary-path "~2.1.0" 114 | is-glob "~4.0.1" 115 | normalize-path "~3.0.0" 116 | readdirp "~3.6.0" 117 | optionalDependencies: 118 | fsevents "~2.3.2" 119 | 120 | commander@^4.0.0: 121 | version "4.1.1" 122 | resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" 123 | integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== 124 | 125 | concat-map@0.0.1: 126 | version "0.0.1" 127 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 128 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 129 | 130 | cross-spawn@^7.0.3: 131 | version "7.0.3" 132 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 133 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 134 | dependencies: 135 | path-key "^3.1.0" 136 | shebang-command "^2.0.0" 137 | which "^2.0.1" 138 | 139 | csstype@^3.0.2: 140 | version "3.1.1" 141 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" 142 | integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== 143 | 144 | debug@^4.3.1: 145 | version "4.3.4" 146 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 147 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 148 | dependencies: 149 | ms "2.1.2" 150 | 151 | dir-glob@^3.0.1: 152 | version "3.0.1" 153 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 154 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 155 | dependencies: 156 | path-type "^4.0.0" 157 | 158 | esbuild-android-64@0.15.7: 159 | version "0.15.7" 160 | resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.7.tgz#a521604d8c4c6befc7affedc897df8ccde189bea" 161 | integrity sha512-p7rCvdsldhxQr3YHxptf1Jcd86dlhvc3EQmQJaZzzuAxefO9PvcI0GLOa5nCWem1AJ8iMRu9w0r5TG8pHmbi9w== 162 | 163 | esbuild-android-arm64@0.15.7: 164 | version "0.15.7" 165 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.7.tgz#307b81f1088bf1e81dfe5f3d1d63a2d2a2e3e68e" 166 | integrity sha512-L775l9ynJT7rVqRM5vo+9w5g2ysbOCfsdLV4CWanTZ1k/9Jb3IYlQ06VCI1edhcosTYJRECQFJa3eAvkx72eyQ== 167 | 168 | esbuild-darwin-64@0.15.7: 169 | version "0.15.7" 170 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.7.tgz#270117b0c4ec6bcbc5cf3a297a7d11954f007e11" 171 | integrity sha512-KGPt3r1c9ww009t2xLB6Vk0YyNOXh7hbjZ3EecHoVDxgtbUlYstMPDaReimKe6eOEfyY4hBEEeTvKwPsiH5WZg== 172 | 173 | esbuild-darwin-arm64@0.15.7: 174 | version "0.15.7" 175 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.7.tgz#97851eacd11dacb7719713602e3319e16202fc77" 176 | integrity sha512-kBIHvtVqbSGajN88lYMnR3aIleH3ABZLLFLxwL2stiuIGAjGlQW741NxVTpUHQXUmPzxi6POqc9npkXa8AcSZQ== 177 | 178 | esbuild-freebsd-64@0.15.7: 179 | version "0.15.7" 180 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.7.tgz#1de15ffaf5ae916aa925800aa6d02579960dd8c4" 181 | integrity sha512-hESZB91qDLV5MEwNxzMxPfbjAhOmtfsr9Wnuci7pY6TtEh4UDuevmGmkUIjX/b+e/k4tcNBMf7SRQ2mdNuK/HQ== 182 | 183 | esbuild-freebsd-arm64@0.15.7: 184 | version "0.15.7" 185 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.7.tgz#0f160dbf5c9a31a1d8dd87acbbcb1a04b7031594" 186 | integrity sha512-dLFR0ChH5t+b3J8w0fVKGvtwSLWCv7GYT2Y2jFGulF1L5HftQLzVGN+6pi1SivuiVSmTh28FwUhi9PwQicXI6Q== 187 | 188 | esbuild-linux-32@0.15.7: 189 | version "0.15.7" 190 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.7.tgz#422eb853370a5e40bdce8b39525380de11ccadec" 191 | integrity sha512-v3gT/LsONGUZcjbt2swrMjwxo32NJzk+7sAgtxhGx1+ZmOFaTRXBAi1PPfgpeo/J//Un2jIKm/I+qqeo4caJvg== 192 | 193 | esbuild-linux-64@0.15.7: 194 | version "0.15.7" 195 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.7.tgz#f89c468453bb3194b14f19dc32e0b99612e81d2b" 196 | integrity sha512-LxXEfLAKwOVmm1yecpMmWERBshl+Kv5YJ/1KnyAr6HRHFW8cxOEsEfisD3sVl/RvHyW//lhYUVSuy9jGEfIRAQ== 197 | 198 | esbuild-linux-arm64@0.15.7: 199 | version "0.15.7" 200 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.7.tgz#68a79d6eb5e032efb9168a0f340ccfd33d6350a1" 201 | integrity sha512-P3cfhudpzWDkglutWgXcT2S7Ft7o2e3YDMrP1n0z2dlbUZghUkKCyaWw0zhp4KxEEzt/E7lmrtRu/pGWnwb9vw== 202 | 203 | esbuild-linux-arm@0.15.7: 204 | version "0.15.7" 205 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.7.tgz#2b7c784d0b3339878013dfa82bf5eaf82c7ce7d3" 206 | integrity sha512-JKgAHtMR5f75wJTeuNQbyznZZa+pjiUHV7sRZp42UNdyXC6TiUYMW/8z8yIBAr2Fpad8hM1royZKQisqPABPvQ== 207 | 208 | esbuild-linux-mips64le@0.15.7: 209 | version "0.15.7" 210 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.7.tgz#bb8330a50b14aa84673816cb63cc6c8b9beb62cc" 211 | integrity sha512-T7XKuxl0VpeFLCJXub6U+iybiqh0kM/bWOTb4qcPyDDwNVhLUiPcGdG2/0S7F93czUZOKP57YiLV8YQewgLHKw== 212 | 213 | esbuild-linux-ppc64le@0.15.7: 214 | version "0.15.7" 215 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.7.tgz#52544e7fa992811eb996674090d0bc41f067a14b" 216 | integrity sha512-6mGuC19WpFN7NYbecMIJjeQgvDb5aMuvyk0PDYBJrqAEMkTwg3Z98kEKuCm6THHRnrgsdr7bp4SruSAxEM4eJw== 217 | 218 | esbuild-linux-riscv64@0.15.7: 219 | version "0.15.7" 220 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.7.tgz#a43ae60697992b957e454cbb622f7ee5297e8159" 221 | integrity sha512-uUJsezbswAYo/X7OU/P+PuL/EI9WzxsEQXDekfwpQ23uGiooxqoLFAPmXPcRAt941vjlY9jtITEEikWMBr+F/g== 222 | 223 | esbuild-linux-s390x@0.15.7: 224 | version "0.15.7" 225 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.7.tgz#8c76a125dd10a84c166294d77416caaf5e1c7b64" 226 | integrity sha512-+tO+xOyTNMc34rXlSxK7aCwJgvQyffqEM5MMdNDEeMU3ss0S6wKvbBOQfgd5jRPblfwJ6b+bKiz0g5nABpY0QQ== 227 | 228 | esbuild-netbsd-64@0.15.7: 229 | version "0.15.7" 230 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.7.tgz#19b2e75449d7d9c32b5d8a222bac2f1e0c3b08fd" 231 | integrity sha512-yVc4Wz+Pu3cP5hzm5kIygNPrjar/v5WCSoRmIjCPWfBVJkZNb5brEGKUlf+0Y759D48BCWa0WHrWXaNy0DULTQ== 232 | 233 | esbuild-openbsd-64@0.15.7: 234 | version "0.15.7" 235 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.7.tgz#1357b2bf72fd037d9150e751420a1fe4c8618ad7" 236 | integrity sha512-GsimbwC4FSR4lN3wf8XmTQ+r8/0YSQo21rWDL0XFFhLHKlzEA4SsT1Tl8bPYu00IU6UWSJ+b3fG/8SB69rcuEQ== 237 | 238 | esbuild-sunos-64@0.15.7: 239 | version "0.15.7" 240 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.7.tgz#87ab2c604592a9c3c763e72969da0d72bcde91d2" 241 | integrity sha512-8CDI1aL/ts0mDGbWzjEOGKXnU7p3rDzggHSBtVryQzkSOsjCHRVe0iFYUuhczlxU1R3LN/E7HgUO4NXzGGP/Ag== 242 | 243 | esbuild-windows-32@0.15.7: 244 | version "0.15.7" 245 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.7.tgz#c81e688c0457665a8d463a669e5bf60870323e99" 246 | integrity sha512-cOnKXUEPS8EGCzRSFa1x6NQjGhGsFlVgjhqGEbLTPsA7x4RRYiy2RKoArNUU4iR2vHmzqS5Gr84MEumO/wxYKA== 247 | 248 | esbuild-windows-64@0.15.7: 249 | version "0.15.7" 250 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.7.tgz#2421d1ae34b0561a9d6767346b381961266c4eff" 251 | integrity sha512-7MI08Ec2sTIDv+zH6StNBKO+2hGUYIT42GmFyW6MBBWWtJhTcQLinKS6ldIN1d52MXIbiJ6nXyCJ+LpL4jBm3Q== 252 | 253 | esbuild-windows-arm64@0.15.7: 254 | version "0.15.7" 255 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.7.tgz#7d5e9e060a7b454cb2f57f84a3f3c23c8f30b7d2" 256 | integrity sha512-R06nmqBlWjKHddhRJYlqDd3Fabx9LFdKcjoOy08YLimwmsswlFBJV4rXzZCxz/b7ZJXvrZgj8DDv1ewE9+StMw== 257 | 258 | esbuild@^0.15.1: 259 | version "0.15.7" 260 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.7.tgz#8a1f1aff58671a3199dd24df95314122fc1ddee8" 261 | integrity sha512-7V8tzllIbAQV1M4QoE52ImKu8hT/NLGlGXkiDsbEU5PS6K8Mn09ZnYoS+dcmHxOS9CRsV4IRAMdT3I67IyUNXw== 262 | optionalDependencies: 263 | "@esbuild/linux-loong64" "0.15.7" 264 | esbuild-android-64 "0.15.7" 265 | esbuild-android-arm64 "0.15.7" 266 | esbuild-darwin-64 "0.15.7" 267 | esbuild-darwin-arm64 "0.15.7" 268 | esbuild-freebsd-64 "0.15.7" 269 | esbuild-freebsd-arm64 "0.15.7" 270 | esbuild-linux-32 "0.15.7" 271 | esbuild-linux-64 "0.15.7" 272 | esbuild-linux-arm "0.15.7" 273 | esbuild-linux-arm64 "0.15.7" 274 | esbuild-linux-mips64le "0.15.7" 275 | esbuild-linux-ppc64le "0.15.7" 276 | esbuild-linux-riscv64 "0.15.7" 277 | esbuild-linux-s390x "0.15.7" 278 | esbuild-netbsd-64 "0.15.7" 279 | esbuild-openbsd-64 "0.15.7" 280 | esbuild-sunos-64 "0.15.7" 281 | esbuild-windows-32 "0.15.7" 282 | esbuild-windows-64 "0.15.7" 283 | esbuild-windows-arm64 "0.15.7" 284 | 285 | execa@^5.0.0: 286 | version "5.1.1" 287 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 288 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 289 | dependencies: 290 | cross-spawn "^7.0.3" 291 | get-stream "^6.0.0" 292 | human-signals "^2.1.0" 293 | is-stream "^2.0.0" 294 | merge-stream "^2.0.0" 295 | npm-run-path "^4.0.1" 296 | onetime "^5.1.2" 297 | signal-exit "^3.0.3" 298 | strip-final-newline "^2.0.0" 299 | 300 | fast-glob@^3.2.9: 301 | version "3.2.12" 302 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" 303 | integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== 304 | dependencies: 305 | "@nodelib/fs.stat" "^2.0.2" 306 | "@nodelib/fs.walk" "^1.2.3" 307 | glob-parent "^5.1.2" 308 | merge2 "^1.3.0" 309 | micromatch "^4.0.4" 310 | 311 | fastq@^1.6.0: 312 | version "1.13.0" 313 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 314 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 315 | dependencies: 316 | reusify "^1.0.4" 317 | 318 | fill-range@^7.0.1: 319 | version "7.0.1" 320 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 321 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 322 | dependencies: 323 | to-regex-range "^5.0.1" 324 | 325 | fs.realpath@^1.0.0: 326 | version "1.0.0" 327 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 328 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 329 | 330 | fsevents@~2.3.2: 331 | version "2.3.2" 332 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 333 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 334 | 335 | get-stream@^6.0.0: 336 | version "6.0.1" 337 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 338 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 339 | 340 | glob-parent@^5.1.2, glob-parent@~5.1.2: 341 | version "5.1.2" 342 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 343 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 344 | dependencies: 345 | is-glob "^4.0.1" 346 | 347 | glob@7.1.6: 348 | version "7.1.6" 349 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 350 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 351 | dependencies: 352 | fs.realpath "^1.0.0" 353 | inflight "^1.0.4" 354 | inherits "2" 355 | minimatch "^3.0.4" 356 | once "^1.3.0" 357 | path-is-absolute "^1.0.0" 358 | 359 | globby@^11.0.3: 360 | version "11.1.0" 361 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 362 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 363 | dependencies: 364 | array-union "^2.1.0" 365 | dir-glob "^3.0.1" 366 | fast-glob "^3.2.9" 367 | ignore "^5.2.0" 368 | merge2 "^1.4.1" 369 | slash "^3.0.0" 370 | 371 | human-signals@^2.1.0: 372 | version "2.1.0" 373 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 374 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 375 | 376 | ignore@^5.2.0: 377 | version "5.2.0" 378 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" 379 | integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== 380 | 381 | inflight@^1.0.4: 382 | version "1.0.6" 383 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 384 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 385 | dependencies: 386 | once "^1.3.0" 387 | wrappy "1" 388 | 389 | inherits@2: 390 | version "2.0.4" 391 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 392 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 393 | 394 | is-binary-path@~2.1.0: 395 | version "2.1.0" 396 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 397 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 398 | dependencies: 399 | binary-extensions "^2.0.0" 400 | 401 | is-extglob@^2.1.1: 402 | version "2.1.1" 403 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 404 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 405 | 406 | is-glob@^4.0.1, is-glob@~4.0.1: 407 | version "4.0.3" 408 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 409 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 410 | dependencies: 411 | is-extglob "^2.1.1" 412 | 413 | is-number@^7.0.0: 414 | version "7.0.0" 415 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 416 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 417 | 418 | is-stream@^2.0.0: 419 | version "2.0.1" 420 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" 421 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== 422 | 423 | isexe@^2.0.0: 424 | version "2.0.0" 425 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 426 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 427 | 428 | joycon@^3.0.1: 429 | version "3.1.1" 430 | resolved "https://registry.yarnpkg.com/joycon/-/joycon-3.1.1.tgz#bce8596d6ae808f8b68168f5fc69280996894f03" 431 | integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== 432 | 433 | "js-tokens@^3.0.0 || ^4.0.0": 434 | version "4.0.0" 435 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 436 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 437 | 438 | lilconfig@^2.0.5: 439 | version "2.0.6" 440 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4" 441 | integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg== 442 | 443 | lines-and-columns@^1.1.6: 444 | version "1.2.4" 445 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 446 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 447 | 448 | load-tsconfig@^0.2.0: 449 | version "0.2.3" 450 | resolved "https://registry.yarnpkg.com/load-tsconfig/-/load-tsconfig-0.2.3.tgz#08af3e7744943caab0c75f8af7f1703639c3ef1f" 451 | integrity sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ== 452 | 453 | lodash.sortby@^4.7.0: 454 | version "4.7.0" 455 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 456 | integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== 457 | 458 | loose-envify@^1.1.0: 459 | version "1.4.0" 460 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 461 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 462 | dependencies: 463 | js-tokens "^3.0.0 || ^4.0.0" 464 | 465 | merge-stream@^2.0.0: 466 | version "2.0.0" 467 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 468 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 469 | 470 | merge2@^1.3.0, merge2@^1.4.1: 471 | version "1.4.1" 472 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 473 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 474 | 475 | micromatch@^4.0.4: 476 | version "4.0.5" 477 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 478 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 479 | dependencies: 480 | braces "^3.0.2" 481 | picomatch "^2.3.1" 482 | 483 | mimic-fn@^2.1.0: 484 | version "2.1.0" 485 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 486 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 487 | 488 | minimatch@^3.0.4: 489 | version "3.1.2" 490 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 491 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 492 | dependencies: 493 | brace-expansion "^1.1.7" 494 | 495 | ms@2.1.2: 496 | version "2.1.2" 497 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 498 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 499 | 500 | mz@^2.7.0: 501 | version "2.7.0" 502 | resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" 503 | integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== 504 | dependencies: 505 | any-promise "^1.0.0" 506 | object-assign "^4.0.1" 507 | thenify-all "^1.0.0" 508 | 509 | normalize-path@^3.0.0, normalize-path@~3.0.0: 510 | version "3.0.0" 511 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 512 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 513 | 514 | npm-run-path@^4.0.1: 515 | version "4.0.1" 516 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 517 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 518 | dependencies: 519 | path-key "^3.0.0" 520 | 521 | object-assign@^4.0.1: 522 | version "4.1.1" 523 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 524 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 525 | 526 | once@^1.3.0: 527 | version "1.4.0" 528 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 529 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 530 | dependencies: 531 | wrappy "1" 532 | 533 | onetime@^5.1.2: 534 | version "5.1.2" 535 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 536 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 537 | dependencies: 538 | mimic-fn "^2.1.0" 539 | 540 | path-is-absolute@^1.0.0: 541 | version "1.0.1" 542 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 543 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 544 | 545 | path-key@^3.0.0, path-key@^3.1.0: 546 | version "3.1.1" 547 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 548 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 549 | 550 | path-type@^4.0.0: 551 | version "4.0.0" 552 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 553 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 554 | 555 | picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: 556 | version "2.3.1" 557 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 558 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 559 | 560 | pirates@^4.0.1: 561 | version "4.0.5" 562 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 563 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 564 | 565 | postcss-load-config@^3.0.1: 566 | version "3.1.4" 567 | resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855" 568 | integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg== 569 | dependencies: 570 | lilconfig "^2.0.5" 571 | yaml "^1.10.2" 572 | 573 | punycode@^2.1.0: 574 | version "2.1.1" 575 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 576 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 577 | 578 | queue-microtask@^1.2.2: 579 | version "1.2.3" 580 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 581 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 582 | 583 | react@^18.2.0: 584 | version "18.2.0" 585 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 586 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 587 | dependencies: 588 | loose-envify "^1.1.0" 589 | 590 | readdirp@~3.6.0: 591 | version "3.6.0" 592 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 593 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 594 | dependencies: 595 | picomatch "^2.2.1" 596 | 597 | resolve-from@^5.0.0: 598 | version "5.0.0" 599 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 600 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 601 | 602 | reusify@^1.0.4: 603 | version "1.0.4" 604 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 605 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 606 | 607 | rollup@^2.74.1: 608 | version "2.79.0" 609 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.0.tgz#9177992c9f09eb58c5e56cbfa641607a12b57ce2" 610 | integrity sha512-x4KsrCgwQ7ZJPcFA/SUu6QVcYlO7uRLfLAy0DSA4NS2eG8japdbpM50ToH7z4iObodRYOJ0soneF0iaQRJ6zhA== 611 | optionalDependencies: 612 | fsevents "~2.3.2" 613 | 614 | run-parallel@^1.1.9: 615 | version "1.2.0" 616 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 617 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 618 | dependencies: 619 | queue-microtask "^1.2.2" 620 | 621 | shebang-command@^2.0.0: 622 | version "2.0.0" 623 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 624 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 625 | dependencies: 626 | shebang-regex "^3.0.0" 627 | 628 | shebang-regex@^3.0.0: 629 | version "3.0.0" 630 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 631 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 632 | 633 | signal-exit@^3.0.3: 634 | version "3.0.7" 635 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 636 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 637 | 638 | slash@^3.0.0: 639 | version "3.0.0" 640 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 641 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 642 | 643 | source-map@0.8.0-beta.0: 644 | version "0.8.0-beta.0" 645 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" 646 | integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== 647 | dependencies: 648 | whatwg-url "^7.0.0" 649 | 650 | strip-final-newline@^2.0.0: 651 | version "2.0.0" 652 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 653 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 654 | 655 | sucrase@^3.20.3: 656 | version "3.26.0" 657 | resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.26.0.tgz#a895fb26861dab2b5582d6235ced052d4f27cb68" 658 | integrity sha512-iWWppLcRrEwHaHefYJaJP9XQdRJO+tZfy/kDZizar5Ur1IK8XN48nwMFnDupXw2uvNtjWd8I58vVH42inBT/2Q== 659 | dependencies: 660 | commander "^4.0.0" 661 | glob "7.1.6" 662 | lines-and-columns "^1.1.6" 663 | mz "^2.7.0" 664 | pirates "^4.0.1" 665 | ts-interface-checker "^0.1.9" 666 | 667 | thenify-all@^1.0.0: 668 | version "1.6.0" 669 | resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" 670 | integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== 671 | dependencies: 672 | thenify ">= 3.1.0 < 4" 673 | 674 | "thenify@>= 3.1.0 < 4": 675 | version "3.3.1" 676 | resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" 677 | integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== 678 | dependencies: 679 | any-promise "^1.0.0" 680 | 681 | to-regex-range@^5.0.1: 682 | version "5.0.1" 683 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 684 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 685 | dependencies: 686 | is-number "^7.0.0" 687 | 688 | tr46@^1.0.1: 689 | version "1.0.1" 690 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" 691 | integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== 692 | dependencies: 693 | punycode "^2.1.0" 694 | 695 | tree-kill@^1.2.2: 696 | version "1.2.2" 697 | resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" 698 | integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== 699 | 700 | ts-interface-checker@^0.1.9: 701 | version "0.1.13" 702 | resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" 703 | integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== 704 | 705 | tsup@^6.2.3: 706 | version "6.2.3" 707 | resolved "https://registry.yarnpkg.com/tsup/-/tsup-6.2.3.tgz#87f57b2e53d49f1c1ab89aba21fed96aaab0ec9f" 708 | integrity sha512-J5Pu2Dx0E1wlpIEsVFv9ryzP1pZ1OYsJ2cBHZ7GrKteytNdzaSz5hmLX7/nAxtypq+jVkVvA79d7S83ETgHQ5w== 709 | dependencies: 710 | bundle-require "^3.1.0" 711 | cac "^6.7.12" 712 | chokidar "^3.5.1" 713 | debug "^4.3.1" 714 | esbuild "^0.15.1" 715 | execa "^5.0.0" 716 | globby "^11.0.3" 717 | joycon "^3.0.1" 718 | postcss-load-config "^3.0.1" 719 | resolve-from "^5.0.0" 720 | rollup "^2.74.1" 721 | source-map "0.8.0-beta.0" 722 | sucrase "^3.20.3" 723 | tree-kill "^1.2.2" 724 | 725 | typescript@^4.8.3: 726 | version "4.8.3" 727 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.3.tgz#d59344522c4bc464a65a730ac695007fdb66dd88" 728 | integrity sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig== 729 | 730 | webidl-conversions@^4.0.2: 731 | version "4.0.2" 732 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" 733 | integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== 734 | 735 | whatwg-url@^7.0.0: 736 | version "7.1.0" 737 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" 738 | integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== 739 | dependencies: 740 | lodash.sortby "^4.7.0" 741 | tr46 "^1.0.1" 742 | webidl-conversions "^4.0.2" 743 | 744 | which@^2.0.1: 745 | version "2.0.2" 746 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 747 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 748 | dependencies: 749 | isexe "^2.0.0" 750 | 751 | wrappy@1: 752 | version "1.0.2" 753 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 754 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 755 | 756 | yaml@^1.10.2: 757 | version "1.10.2" 758 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" 759 | integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== 760 | --------------------------------------------------------------------------------