├── .eslintignore ├── .eslintrc.js ├── .github └── workflows │ ├── ci.yaml │ └── pr.yaml ├── .gitignore ├── .husky ├── post-checkout ├── post-merge ├── pre-commit └── pre-push ├── .lintstagedrc.js ├── .prettierignore ├── .prettierrc.yaml ├── LICENSE ├── README.md ├── package.json ├── packages ├── typescript-example-1 │ ├── .eslintignore │ ├── .lintstagedrc.js │ ├── .prettierignore │ ├── LICENSE │ ├── README.md │ ├── jest.config.js │ ├── nodemon.json │ ├── package.json │ ├── src │ │ ├── index.spec.ts │ │ └── index.ts │ ├── tsconfig.build.json │ └── tsconfig.json └── typescript-example-2 │ ├── .eslintignore │ ├── .lintstagedrc.js │ ├── .prettierignore │ ├── LICENSE │ ├── README.md │ ├── jest.config.js │ ├── nodemon.json │ ├── package.json │ ├── src │ ├── index.spec.ts │ └── index.ts │ ├── tsconfig.build.json │ └── tsconfig.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── tsconfig.base.json ├── tsconfig.build.json ├── tsconfig.json └── turbo.json /.eslintignore: -------------------------------------------------------------------------------- 1 | # Generated files 2 | .pnpm-store 3 | pnpm-lock.yaml 4 | node_modules 5 | dist 6 | 7 | # Packages 8 | /packages 9 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable @typescript-eslint/no-unsafe-assignment */ 2 | module.exports = { 3 | root: true, 4 | env: { node: true }, 5 | extends: [ 6 | "eslint:recommended", 7 | "plugin:@typescript-eslint/recommended", 8 | "plugin:@typescript-eslint/recommended-requiring-type-checking", 9 | "prettier" 10 | ], 11 | plugins: ["@typescript-eslint"], 12 | parser: "@typescript-eslint/parser", 13 | parserOptions: { 14 | tsconfigRootDir: __dirname, 15 | project: "./tsconfig.json" 16 | } 17 | }; 18 | -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- 1 | # Yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json 2 | name: CI 3 | 4 | on: 5 | push: 6 | branches: 7 | - main 8 | 9 | pull_request: 10 | types: 11 | - opened 12 | - synchronize 13 | 14 | env: 15 | NODE_VERSION: 18 16 | PNPM_VERSION: 7 17 | 18 | jobs: 19 | lint-and-format: 20 | name: Lint and format packages 21 | runs-on: ubuntu-latest 22 | steps: 23 | - name: Check out code 24 | uses: actions/checkout@v3 25 | 26 | - name: Setup PNPM 27 | uses: pnpm/action-setup@v2 28 | with: 29 | version: ${{ env.PNPM_VERSION }} 30 | 31 | - name: Setup NodeJS environment 32 | uses: actions/setup-node@v3 33 | with: 34 | node-version: ${{ env.NODE_VERSION }} 35 | cache: pnpm 36 | 37 | - name: Install dependencies 38 | run: pnpm install 39 | 40 | - name: Build packages 41 | run: pnpm build 42 | 43 | - name: Typecheck packages 44 | run: pnpm lint-format 45 | 46 | typecheck: 47 | name: Type-check packages 48 | runs-on: ubuntu-latest 49 | steps: 50 | - name: Check out code 51 | uses: actions/checkout@v3 52 | 53 | - name: Setup PNPM 54 | uses: pnpm/action-setup@v2 55 | with: 56 | version: ${{ env.PNPM_VERSION }} 57 | 58 | - name: Setup NodeJS environment 59 | uses: actions/setup-node@v3 60 | with: 61 | node-version: ${{ env.NODE_VERSION }} 62 | cache: pnpm 63 | 64 | - name: Install dependencies 65 | run: pnpm install 66 | 67 | - name: Build packages 68 | run: pnpm build 69 | 70 | - name: Typecheck packages 71 | run: pnpm typecheck 72 | 73 | test: 74 | name: Test packages 75 | runs-on: ubuntu-latest 76 | steps: 77 | - name: Check out code 78 | uses: actions/checkout@v3 79 | 80 | - name: Setup PNPM 81 | uses: pnpm/action-setup@v2 82 | with: 83 | version: ${{ env.PNPM_VERSION }} 84 | 85 | - name: Setup NodeJS environment 86 | uses: actions/setup-node@v3 87 | with: 88 | node-version: ${{ env.NODE_VERSION }} 89 | cache: pnpm 90 | 91 | - name: Install dependencies 92 | run: pnpm install 93 | 94 | - name: Build packages 95 | run: pnpm build 96 | 97 | - name: Test packages 98 | run: pnpm test 99 | -------------------------------------------------------------------------------- /.github/workflows/pr.yaml: -------------------------------------------------------------------------------- 1 | # Yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json 2 | name: PR 3 | 4 | on: 5 | pull_request: 6 | types: 7 | - opened 8 | - edited 9 | - synchronize 10 | 11 | jobs: 12 | semantic-pr-naming: 13 | name: Semantic pull request naming 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: amannn/action-semantic-pull-request@v5 17 | env: 18 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Generated files 2 | node_modules 3 | dist 4 | .DS_Store 5 | 6 | # Typescript 7 | *.tsbuildinfo 8 | *.d.ts 9 | 10 | # Turborepo 11 | .turbo 12 | 13 | # Jest 14 | coverage 15 | .coverage 16 | 17 | # Env files 18 | .env* 19 | !.env.example -------------------------------------------------------------------------------- /.husky/post-checkout: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | # Automate and ensure dependencies are installed/synced with the branch's codebase 5 | pnpm install -------------------------------------------------------------------------------- /.husky/post-merge: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | # Automate and ensure dependencies are installed/synced with the branch's codebase 5 | pnpm install -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | # Ensure files are linted before commit 5 | pnpm lint-staged -------------------------------------------------------------------------------- /.husky/pre-push: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | # Ensure Typescript files have no errors before pushing 5 | # Ensure there is no linting or formatting errors before pushing 6 | pnpm turbo run --parallel lint format typecheck -------------------------------------------------------------------------------- /.lintstagedrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "*": "prettier --write --ignore-unknown", 3 | "*.js,*.ts": "eslint --fix" 4 | }; 5 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Generated files 2 | .pnpm-store 3 | pnpm-lock.yaml 4 | node_modules 5 | dist 6 | 7 | # Packages 8 | /packages -------------------------------------------------------------------------------- /.prettierrc.yaml: -------------------------------------------------------------------------------- 1 | tabWidth: 2 2 | trailingComma: "none" 3 | useTabs: false 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Luke Baker 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 |

Modern Typescript Monorepo Example

6 |

A modern monorepo example using Typescript, PNPM and Turborepo.

7 | 8 | 9 | License 10 | 11 | 12 | LinkedIn 13 | 14 |
15 |
16 | 17 | ## Table of Contents 18 | 19 | - [Table of Contents](#table-of-contents) 20 | - [About the project](#about-the-project) 21 | - [Built With](#built-with) 22 | - [PNPM](#pnpm) 23 | - [Turborepo](#turborepo) 24 | - [Husky](#husky) 25 | - [Typescript](#typescript) 26 | - [Prettier](#prettier) 27 | - [Eslint](#eslint) 28 | - [Nodemon](#nodemon) 29 | - [Jest](#jest) 30 | - [GitHub Actions](#github-actions) 31 | - [Conventional Commits](#conventional-commits) 32 | - [Getting Started](#getting-started) 33 | - [Prerequisites](#prerequisites) 34 | - [PNPM](#pnpm-1) 35 | - [Node LTS (18)](#node-lts-18) 36 | - [Installation](#installation) 37 | - [Usage](#usage) 38 | - [Deployment](#deployment) 39 | - [Docker](#docker) 40 | - [License](#license) 41 | 42 | ## About the project 43 | 44 | Technology and its tooling evolves overtime, the aim of this project is to provide a modern Typescript monorepo example for today and for the future. Watch this space as time progresses to be kept up to date with changes within this area. 45 | 46 | Feel free to ask any questions or raise any issues. 47 | 48 |

(back to top)

49 | 50 | ### Built With 51 | 52 | This project uses the following technologies and tools: 53 | 54 | - [PNPM](https://pnpm.io/) - Package management 55 | - [Turborepo](https://turbo.build/repo) - High performance build system 56 | - [Husky](https://typicode.github.io/husky/) - Git hooks 57 | - [Typescript](https://www.typescriptlang.org/) - Type-safe codebase 58 | - [Prettier](https://prettier.io/) - Code formatter 59 | - [Eslint](https://eslint.org/) - Code linter 60 | - [Nodemon](https://github.com/remy/nodemon) - Development runtime (script monitor) 61 | - [Jest](https://jestjs.io/) - Frontend & backend test suite 62 | - [GitHub Actions](https://github.com/features/actions) - CI/CD workflow automation 63 | - [Conventional Commits](https://www.conventionalcommits.org/) - Commit message standard 64 | 65 |

(back to top)

66 | 67 | #### PNPM 68 | 69 | A Fast, disk space efficient package manager with native workspace support. PNPM is a drop-in replacement for [NPM](https://github.com/npm/cli) and [Yarn](https://yarnpkg.com/) (`v1` & `v2`). It's faster than both and uses less disk space. It has a lockfile that is compatible with both NPM and Yarn. With regard to a monorepo, in most cases, it also serves as a replacement for [Lerna](https://lerna.js.org/). 70 | 71 |

(back to top)

72 | 73 | #### Turborepo 74 | 75 | A high-performance build system for monorepos. Turborepo is a replacement for [Lerna](https://lerna.js.org/) and it is mildly faster than Lerna's integrated counterpart [Nx](https://nx.dev/). It also requires less configuration and has less of a learning curve compared to Nx if used independently. 76 | 77 | It is worth mentioning, along side Nodemon, you can get the same development experience as if you were working with [Concurrently](https://github.com/open-cli-tools/concurrently) to run multiple development scripts or packages local to the repository. 78 | 79 |

(back to top)

80 | 81 | #### Husky 82 | 83 | A modern Git hooks manager. 84 | 85 |

(back to top)

86 | 87 | #### Typescript 88 | 89 | A superset of JavaScript that compiles to clean JavaScript code. A type-safe coding language and a great tool for large codebases as it helps to prevent bugs and improves code quality. 90 | 91 | You will notice 3 `tsconfig.ts` file variants in the root of the project. 92 | 93 | - `tsconfig.base.json` - This is the base configuration for all packages within the monorepo. It is worth pointing out that we extend the recommended rules for the current Node LTS version and for strict type-checking from `@tsconfig/node-lts-strictest` ([tsconfig/bases](https://github.com/tsconfig/bases)) 94 | - `tsconfig.build.json` - This is the configuration for the build process. It extends the base configuration and configures where the compiled codebase should be outputted to and what should be compiled. 95 | - `tsconfig.json` - This is the configuration for the root of the monorepo mainly for the IDE to use and other libraries that may need it such as Eslint (`@typescript-eslint`). It also extends the base configuration. 96 | 97 | Within each `packages/*` directory, you will notice a `tsconfig.json` and `tsconfig.build.json` file. This is for package specific Typescript configuration. It is important in some aspects to treat each package independently from each other as they may have different requirements. 98 | 99 | For example, the `tsconfig.build.json` file within a `packages/api` directory may have its `module` option set to `commonjs`. Whereas the `tsconfig.build.json` file within a `packages/frontend` directory might have its `module` option set to `esnext`. 100 | 101 | It is worth mentioning, to improve performance, the [incremental](https://www.typescriptlang.org/tsconfig#incremental) option within the `tsconfig.base.json` has been set to `true`. This will cache the results of the last successful compilation and use it to speed up the next compilation. 102 | 103 | Another configuration that is worth mentioning, is that the [declaration](https://www.typescriptlang.org/tsconfig#declaration) option has also been set to `true`. This will generate `.d.ts` files for each file within the built `dist` directory. These files separate out the type information from the compiled code resulting in cleaner code output. This is also faster for the packages that depend on them as the compile doesn't have to sift through the code to find the types. 104 | 105 |

(back to top)

106 | 107 | #### Prettier 108 | 109 | An opinionated code formatter. 110 | 111 |

(back to top)

112 | 113 | #### Eslint 114 | 115 | A pluggable and configurable linting tool that statically analyses your code to quickly find problems and can be used to enforce code style. 116 | 117 |

(back to top)

118 | 119 | #### Nodemon 120 | 121 | A monitoring tool that restarts the configured executable when file changes in the configured directory are detected. 122 | 123 | Within the `packages/*` directories, you will notice a `nodemode.json` that has an executable script of `exec: pnpm typecheck && pnpm build`. This is to ensure that the codebase is fully type-checked and built - ready for dependants to import. Remember, that the built configuration is only intended for the final built code and not the source code. This form of double Type-checking also quite performant as the Typescript compilation is cached in the form a generate `tsconfig.tsbuildinfo` file thanks to the `incremental: true` Typescript configuration option. 124 | 125 |

(back to top)

126 | 127 | #### Jest 128 | 129 | A delightful JavaScript Testing Framework with a focus on simplicity. Jest is a great tool for testing your codebase and can be used for both frontend and backend code. 130 | 131 | As Typescript does all of the type-checking, there's no requirement to use something like `ts-jest` to run our files - we would be type-checking twice. Instead, we can lean on **SWC**, specifically [@swc/jest](https://swc.rs/docs/usage/jest). This is a Jest transformer that uses SWC to compile the Typescript codebase. This is much faster than `ts-jest` and is also a lot more performant than the default Typescript compiler. 132 | 133 |

(back to top)

134 | 135 | #### GitHub Actions 136 | 137 | A CI/CD workflow automation tool that is built into GitHub. It is a great tool for automating your workflow and can be used to build, test and deploy your codebase. 138 | 139 | It is worth pointing out the `.github/workflows/pr.yaml` file. This workflow runs on every `pull_request` and validates the PR title follows the [Conventional Commits](https://www.conventionalcommits.org/) specification. 140 | 141 |

(back to top)

142 | 143 | #### Conventional Commits 144 | 145 | A specification for adding human and machine readable meaning to commit messages. It is a great tool for automating your workflow and can be used to build, test and deploy your codebase. 146 | 147 |

(back to top)

148 | 149 | ## Getting Started 150 | 151 | This is an example of how you may give instructions on setting up your project locally. 152 | To get a local copy up and running follow these simple example steps. 153 | 154 |

(back to top)

155 | 156 | ### Prerequisites 157 | 158 | Here's a list of technologies that you will need in order to run this project. We're going to assume that you already have Node.js installed, however, you will need the required version (LTS or v18+) as stated in the `package.json:engines.node` configuration. 159 | 160 |

(back to top)

161 | 162 | #### PNPM 163 | 164 | If your computer doesn't already have PNPM installed, you can install it by visiting the [PNPM installation](https://pnpm.io/installation) page. 165 | 166 | If you're using MacOS, you can install it using Homebrew. 167 | 168 | ```sh 169 | brew install pnpm 170 | ``` 171 | 172 |

(back to top)

173 | 174 | #### Node LTS (18) 175 | 176 | No you have PNPM installed, you can install the required Node version by running the following command. 177 | 178 | ```sh 179 | pnpm add -g n 180 | n lts 181 | ``` 182 | 183 |

(back to top)

184 | 185 | ### Installation 186 | 187 | To install the monorepo and all of its dependancies, simply run the following command at the root of the project. 188 | 189 | ```sh 190 | pnpm install 191 | ``` 192 | 193 |

(back to top)

194 | 195 | ## Usage 196 | 197 | To run the monorepo and all of its packages, simply run the following command at the root of the project. 198 | 199 | ```sh 200 | pnpm dev 201 | ``` 202 | 203 | Turborepo and Nodemon will run each package in parallel and watch for file changes. 204 | 205 |

(back to top)

206 | 207 | ## Deployment 208 | 209 | There are several ways to deploy this project. Depending on your requirements, here are some examples of some popular methods. 210 | 211 |

(back to top)

212 | 213 | ### Docker 214 | 215 | Making use of the [pnpm deploy](https://pnpm.io/cli/deploy) command, we can create a Docker image that only contains the production dependencies for a specific package within the monorepo. This essential bundles the given package and all of its local and external dependencies. 216 | 217 | ```dockerfile 218 | FROM workspace as pruned 219 | RUN pnpm --filter --prod deploy 220 | 221 | FROM node:18-alpine 222 | WORKDIR /app 223 | 224 | ENV NODE_ENV=production 225 | 226 | COPY --from=pruned /app/pruned . 227 | 228 | ENTRYPOINT ["node", "index.js"] 229 | ``` 230 | 231 |

(back to top)

232 | 233 | ## License 234 | 235 | Distributed under the MIT License. See the local `LICENSE` file for more information. 236 | 237 |

(back to top)

238 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "modern-monorepo-example", 3 | "version": "0.0.0-development", 4 | "description": "An example of a modern Monorepo", 5 | "author": "Luke Baker ", 6 | "license": "MIT", 7 | "keywords": [ 8 | "NPM", 9 | "package", 10 | "monorepo", 11 | "typescript" 12 | ], 13 | "repository": { 14 | "type": "git", 15 | "url": "https://github.com/bakeruk/modern-monorepo-example.git" 16 | }, 17 | "publishConfig": { 18 | "access": "public" 19 | }, 20 | "engines": { 21 | "node": ">=18", 22 | "pnpm": ">=7.5.1" 23 | }, 24 | "main": "dist/index.js", 25 | "types": "dist/index.d.ts", 26 | "scripts": { 27 | "build": "turbo run build", 28 | "build:clean": "turbo run clean:build", 29 | "dev": "turbo run dev", 30 | "lint-format": "turbo run --parallel lint format ", 31 | "lint-format:fix": "turbo run --parallel lint:fix format:fix", 32 | "lint": "eslint . --ext .js,.ts", 33 | "lint:fix": "eslint . --ext .js,.ts --fix", 34 | "format": "prettier --check .", 35 | "format:fix": "prettier --write .", 36 | "test": "turbo run --parallel test", 37 | "typecheck": "turbo run --parallel typecheck", 38 | "prepare": "husky install" 39 | }, 40 | "devDependencies": { 41 | "@jest/globals": "^29.5.0", 42 | "@swc/core": "^1.3.41", 43 | "@swc/jest": "^0.2.24", 44 | "@tsconfig/node-lts-strictest": "^18.12.1", 45 | "@types/node": "^18.15.3", 46 | "@typescript-eslint/eslint-plugin": "^5.54.1", 47 | "@typescript-eslint/parser": "^5.54.1", 48 | "eslint": "^8.31.0", 49 | "eslint-config-prettier": "^8.6.0", 50 | "husky": "^8.0.0", 51 | "jest": "^29.5.0", 52 | "lint-staged": "^13.1.2", 53 | "nodemon": "^2.0.21", 54 | "prettier": "^2.8.3", 55 | "rimraf": "^4.3.1", 56 | "turbo": "^1.8.3", 57 | "typescript": "^4.9.5" 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /packages/typescript-example-1/.eslintignore: -------------------------------------------------------------------------------- 1 | # Generated files 2 | node_modules 3 | dist 4 | -------------------------------------------------------------------------------- /packages/typescript-example-1/.lintstagedrc.js: -------------------------------------------------------------------------------- 1 | const baseConfig = require("../../.lintstagedrc.js"); 2 | 3 | module.exports = { 4 | ...baseConfig 5 | }; 6 | -------------------------------------------------------------------------------- /packages/typescript-example-1/.prettierignore: -------------------------------------------------------------------------------- 1 | # Generated files 2 | pnpm-lock.yaml 3 | node_modules 4 | dist -------------------------------------------------------------------------------- /packages/typescript-example-1/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Luke Baker 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/typescript-example-1/README.md: -------------------------------------------------------------------------------- 1 | # Typescript example #1 2 | 3 | The first typescript example for the Monorepo example 4 | 5 | ## License 6 | 7 | MIT License 8 | 9 | Copyright (c) 2023 Luke Baker 10 | 11 | Permission is hereby granted, free of charge, to any person obtaining a copy 12 | of this software and associated documentation files (the "Software"), to deal 13 | in the Software without restriction, including without limitation the rights 14 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | copies of the Software, and to permit persons to whom the Software is 16 | furnished to do so, subject to the following conditions: 17 | 18 | The above copyright notice and this permission notice shall be included in all 19 | copies or substantial portions of the Software. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 27 | SOFTWARE. 28 | -------------------------------------------------------------------------------- /packages/typescript-example-1/jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('jest').Config} */ 2 | module.exports = { 3 | transform: { 4 | "^.+\\.(t|j)sx?$": "@swc/jest" 5 | } 6 | }; 7 | -------------------------------------------------------------------------------- /packages/typescript-example-1/nodemon.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nodemon.json", 3 | "watch": ["./src/**", "./node_modules/@mme/**/dist/**"], 4 | "ignoreRoot": [], 5 | "ext": "ts,js", 6 | "exec": "pnpm typecheck && pnpm build" 7 | } 8 | -------------------------------------------------------------------------------- /packages/typescript-example-1/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@mme/typescript-example-1", 3 | "version": "0.0.0-development", 4 | "description": "The first typescript example for the Monorepo example", 5 | "author": "Luke Baker ", 6 | "license": "MIT", 7 | "keywords": [ 8 | "monorepo", 9 | "typescript" 10 | ], 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/bakeruk/modern-monorepo-example.git" 14 | }, 15 | "publishConfig": { 16 | "access": "public" 17 | }, 18 | "engines": { 19 | "node": ">=18", 20 | "pnpm": ">=7.5.1" 21 | }, 22 | "main": "dist/index.js", 23 | "types": "dist/index.d.ts", 24 | "scripts": { 25 | "build": "tsc -p tsconfig.build.json", 26 | "clean:build": "rimraf ./dist", 27 | "dev": "nodemon", 28 | "lint": "eslint . --ext .js,.ts", 29 | "lint:fix": "pnpm lint --fix", 30 | "format": "prettier --check .", 31 | "format:fix": "prettier --write .", 32 | "test": "jest", 33 | "typecheck": "tsc" 34 | }, 35 | "dependencies": { 36 | "@mme/typescript-example-2": "workspace:0.0.0-development" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /packages/typescript-example-1/src/index.spec.ts: -------------------------------------------------------------------------------- 1 | import { describe, it, expect } from "@jest/globals"; 2 | import { helloWorld } from "./index"; 3 | 4 | describe("Hello world", () => { 5 | it("should return hello world", () => { 6 | expect(helloWorld()).toBe("Hello World"); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /packages/typescript-example-1/src/index.ts: -------------------------------------------------------------------------------- 1 | import { world } from "@mme/typescript-example-2"; 2 | 3 | /** 4 | * Hello World 5 | */ 6 | export function helloWorld() { 7 | return `Hello ${world()}`; 8 | } 9 | -------------------------------------------------------------------------------- /packages/typescript-example-1/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["**/*.spec.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/typescript-example-1/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "include": ["src/**/*"] 4 | } 5 | -------------------------------------------------------------------------------- /packages/typescript-example-2/.eslintignore: -------------------------------------------------------------------------------- 1 | # Generated files 2 | node_modules 3 | dist 4 | -------------------------------------------------------------------------------- /packages/typescript-example-2/.lintstagedrc.js: -------------------------------------------------------------------------------- 1 | const baseConfig = require("../../.lintstagedrc.js"); 2 | 3 | module.exports = { 4 | ...baseConfig 5 | }; 6 | -------------------------------------------------------------------------------- /packages/typescript-example-2/.prettierignore: -------------------------------------------------------------------------------- 1 | # Generated files 2 | pnpm-lock.yaml 3 | node_modules 4 | dist -------------------------------------------------------------------------------- /packages/typescript-example-2/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Luke Baker 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/typescript-example-2/README.md: -------------------------------------------------------------------------------- 1 | # Typescript example #2 2 | 3 | The second typescript example for the Monorepo example 4 | 5 | ## License 6 | 7 | MIT License 8 | 9 | Copyright (c) 2023 Luke Baker 10 | 11 | Permission is hereby granted, free of charge, to any person obtaining a copy 12 | of this software and associated documentation files (the "Software"), to deal 13 | in the Software without restriction, including without limitation the rights 14 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 15 | copies of the Software, and to permit persons to whom the Software is 16 | furnished to do so, subject to the following conditions: 17 | 18 | The above copyright notice and this permission notice shall be included in all 19 | copies or substantial portions of the Software. 20 | 21 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 22 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 23 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 24 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 25 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 26 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 27 | SOFTWARE. 28 | -------------------------------------------------------------------------------- /packages/typescript-example-2/jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('jest').Config} */ 2 | module.exports = { 3 | transform: { 4 | "^.+\\.(t|j)sx?$": "@swc/jest" 5 | } 6 | }; 7 | -------------------------------------------------------------------------------- /packages/typescript-example-2/nodemon.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/nodemon.json", 3 | "watch": ["./src/**", "./node_modules/@mme/**/dist/**"], 4 | "ignoreRoot": [], 5 | "ext": "ts,js", 6 | "exec": "pnpm typecheck && pnpm build" 7 | } 8 | -------------------------------------------------------------------------------- /packages/typescript-example-2/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@mme/typescript-example-2", 3 | "version": "0.0.0-development", 4 | "description": "The first typescript example for the Monorepo example", 5 | "author": "Luke Baker ", 6 | "license": "MIT", 7 | "keywords": [ 8 | "monorepo", 9 | "typescript" 10 | ], 11 | "repository": { 12 | "type": "git", 13 | "url": "https://github.com/bakeruk/modern-monorepo-example.git" 14 | }, 15 | "publishConfig": { 16 | "access": "public" 17 | }, 18 | "engines": { 19 | "node": ">=16", 20 | "pnpm": ">=7.5.1" 21 | }, 22 | "main": "dist/index.js", 23 | "types": "dist/index.d.ts", 24 | "scripts": { 25 | "build": "tsc -p tsconfig.build.json", 26 | "clean:build": "rimraf ./dist", 27 | "dev": "nodemon", 28 | "lint": "eslint . --ext .js,.ts", 29 | "lint:fix": "pnpm lint --fix", 30 | "format": "prettier --check .", 31 | "format:fix": "prettier --write .", 32 | "test": "jest", 33 | "typecheck": "tsc" 34 | }, 35 | "devDependencies": {} 36 | } 37 | -------------------------------------------------------------------------------- /packages/typescript-example-2/src/index.spec.ts: -------------------------------------------------------------------------------- 1 | import { describe, it, expect } from "@jest/globals"; 2 | import { world } from "./index"; 3 | 4 | describe("World", () => { 5 | it("should return world", () => { 6 | expect(world()).toBe("World"); 7 | }); 8 | }); 9 | -------------------------------------------------------------------------------- /packages/typescript-example-2/src/index.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * World 3 | */ 4 | export function world(override?: string) { 5 | return override || "World"; 6 | } 7 | -------------------------------------------------------------------------------- /packages/typescript-example-2/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.build.json", 3 | "compilerOptions": { 4 | "outDir": "dist" 5 | }, 6 | "include": ["src/**/*"], 7 | "exclude": ["**/*.spec.ts"] 8 | } 9 | -------------------------------------------------------------------------------- /packages/typescript-example-2/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.base.json", 3 | "include": ["src/**/*"] 4 | } 5 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | importers: 4 | 5 | .: 6 | specifiers: 7 | '@jest/globals': ^29.5.0 8 | '@swc/core': ^1.3.41 9 | '@swc/jest': ^0.2.24 10 | '@tsconfig/node-lts-strictest': ^18.12.1 11 | '@types/node': ^18.15.3 12 | '@typescript-eslint/eslint-plugin': ^5.54.1 13 | '@typescript-eslint/parser': ^5.54.1 14 | eslint: ^8.31.0 15 | eslint-config-prettier: ^8.6.0 16 | husky: ^8.0.0 17 | jest: ^29.5.0 18 | lint-staged: ^13.1.2 19 | nodemon: ^2.0.21 20 | prettier: ^2.8.3 21 | rimraf: ^4.3.1 22 | turbo: ^1.8.3 23 | typescript: ^4.9.5 24 | devDependencies: 25 | '@jest/globals': 29.5.0 26 | '@swc/core': 1.3.41 27 | '@swc/jest': 0.2.24_@swc+core@1.3.41 28 | '@tsconfig/node-lts-strictest': 18.12.1 29 | '@types/node': 18.15.3 30 | '@typescript-eslint/eslint-plugin': 5.54.1_mlk7dnz565t663n4razh6a6v6i 31 | '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu 32 | eslint: 8.35.0 33 | eslint-config-prettier: 8.7.0_eslint@8.35.0 34 | husky: 8.0.3 35 | jest: 29.5.0_@types+node@18.15.3 36 | lint-staged: 13.1.2 37 | nodemon: 2.0.21 38 | prettier: 2.8.4 39 | rimraf: 4.3.1 40 | turbo: 1.8.3 41 | typescript: 4.9.5 42 | 43 | packages/typescript-example-1: 44 | specifiers: 45 | '@mme/typescript-example-2': workspace:0.0.0-development 46 | dependencies: 47 | '@mme/typescript-example-2': link:../typescript-example-2 48 | 49 | packages/typescript-example-2: 50 | specifiers: {} 51 | 52 | packages: 53 | 54 | /@ampproject/remapping/2.2.0: 55 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} 56 | engines: {node: '>=6.0.0'} 57 | dependencies: 58 | '@jridgewell/gen-mapping': 0.1.1 59 | '@jridgewell/trace-mapping': 0.3.17 60 | dev: true 61 | 62 | /@babel/code-frame/7.18.6: 63 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 64 | engines: {node: '>=6.9.0'} 65 | dependencies: 66 | '@babel/highlight': 7.18.6 67 | dev: true 68 | 69 | /@babel/compat-data/7.21.0: 70 | resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} 71 | engines: {node: '>=6.9.0'} 72 | dev: true 73 | 74 | /@babel/core/7.21.3: 75 | resolution: {integrity: sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==} 76 | engines: {node: '>=6.9.0'} 77 | dependencies: 78 | '@ampproject/remapping': 2.2.0 79 | '@babel/code-frame': 7.18.6 80 | '@babel/generator': 7.21.3 81 | '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.21.3 82 | '@babel/helper-module-transforms': 7.21.2 83 | '@babel/helpers': 7.21.0 84 | '@babel/parser': 7.21.3 85 | '@babel/template': 7.20.7 86 | '@babel/traverse': 7.21.3 87 | '@babel/types': 7.21.3 88 | convert-source-map: 1.9.0 89 | debug: 4.3.4 90 | gensync: 1.0.0-beta.2 91 | json5: 2.2.3 92 | semver: 6.3.0 93 | transitivePeerDependencies: 94 | - supports-color 95 | dev: true 96 | 97 | /@babel/generator/7.21.3: 98 | resolution: {integrity: sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==} 99 | engines: {node: '>=6.9.0'} 100 | dependencies: 101 | '@babel/types': 7.21.3 102 | '@jridgewell/gen-mapping': 0.3.2 103 | '@jridgewell/trace-mapping': 0.3.17 104 | jsesc: 2.5.2 105 | dev: true 106 | 107 | /@babel/helper-compilation-targets/7.20.7_@babel+core@7.21.3: 108 | resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} 109 | engines: {node: '>=6.9.0'} 110 | peerDependencies: 111 | '@babel/core': ^7.0.0 112 | dependencies: 113 | '@babel/compat-data': 7.21.0 114 | '@babel/core': 7.21.3 115 | '@babel/helper-validator-option': 7.21.0 116 | browserslist: 4.21.5 117 | lru-cache: 5.1.1 118 | semver: 6.3.0 119 | dev: true 120 | 121 | /@babel/helper-environment-visitor/7.18.9: 122 | resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} 123 | engines: {node: '>=6.9.0'} 124 | dev: true 125 | 126 | /@babel/helper-function-name/7.21.0: 127 | resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} 128 | engines: {node: '>=6.9.0'} 129 | dependencies: 130 | '@babel/template': 7.20.7 131 | '@babel/types': 7.21.3 132 | dev: true 133 | 134 | /@babel/helper-hoist-variables/7.18.6: 135 | resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} 136 | engines: {node: '>=6.9.0'} 137 | dependencies: 138 | '@babel/types': 7.21.3 139 | dev: true 140 | 141 | /@babel/helper-module-imports/7.18.6: 142 | resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} 143 | engines: {node: '>=6.9.0'} 144 | dependencies: 145 | '@babel/types': 7.21.3 146 | dev: true 147 | 148 | /@babel/helper-module-transforms/7.21.2: 149 | resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} 150 | engines: {node: '>=6.9.0'} 151 | dependencies: 152 | '@babel/helper-environment-visitor': 7.18.9 153 | '@babel/helper-module-imports': 7.18.6 154 | '@babel/helper-simple-access': 7.20.2 155 | '@babel/helper-split-export-declaration': 7.18.6 156 | '@babel/helper-validator-identifier': 7.19.1 157 | '@babel/template': 7.20.7 158 | '@babel/traverse': 7.21.3 159 | '@babel/types': 7.21.3 160 | transitivePeerDependencies: 161 | - supports-color 162 | dev: true 163 | 164 | /@babel/helper-plugin-utils/7.20.2: 165 | resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} 166 | engines: {node: '>=6.9.0'} 167 | dev: true 168 | 169 | /@babel/helper-simple-access/7.20.2: 170 | resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} 171 | engines: {node: '>=6.9.0'} 172 | dependencies: 173 | '@babel/types': 7.21.3 174 | dev: true 175 | 176 | /@babel/helper-split-export-declaration/7.18.6: 177 | resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} 178 | engines: {node: '>=6.9.0'} 179 | dependencies: 180 | '@babel/types': 7.21.3 181 | dev: true 182 | 183 | /@babel/helper-string-parser/7.19.4: 184 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 185 | engines: {node: '>=6.9.0'} 186 | dev: true 187 | 188 | /@babel/helper-validator-identifier/7.19.1: 189 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 190 | engines: {node: '>=6.9.0'} 191 | dev: true 192 | 193 | /@babel/helper-validator-option/7.21.0: 194 | resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} 195 | engines: {node: '>=6.9.0'} 196 | dev: true 197 | 198 | /@babel/helpers/7.21.0: 199 | resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} 200 | engines: {node: '>=6.9.0'} 201 | dependencies: 202 | '@babel/template': 7.20.7 203 | '@babel/traverse': 7.21.3 204 | '@babel/types': 7.21.3 205 | transitivePeerDependencies: 206 | - supports-color 207 | dev: true 208 | 209 | /@babel/highlight/7.18.6: 210 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 211 | engines: {node: '>=6.9.0'} 212 | dependencies: 213 | '@babel/helper-validator-identifier': 7.19.1 214 | chalk: 2.4.2 215 | js-tokens: 4.0.0 216 | dev: true 217 | 218 | /@babel/parser/7.21.3: 219 | resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} 220 | engines: {node: '>=6.0.0'} 221 | hasBin: true 222 | dependencies: 223 | '@babel/types': 7.21.3 224 | dev: true 225 | 226 | /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.21.3: 227 | resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} 228 | peerDependencies: 229 | '@babel/core': ^7.0.0-0 230 | dependencies: 231 | '@babel/core': 7.21.3 232 | '@babel/helper-plugin-utils': 7.20.2 233 | dev: true 234 | 235 | /@babel/plugin-syntax-bigint/7.8.3_@babel+core@7.21.3: 236 | resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} 237 | peerDependencies: 238 | '@babel/core': ^7.0.0-0 239 | dependencies: 240 | '@babel/core': 7.21.3 241 | '@babel/helper-plugin-utils': 7.20.2 242 | dev: true 243 | 244 | /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.21.3: 245 | resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} 246 | peerDependencies: 247 | '@babel/core': ^7.0.0-0 248 | dependencies: 249 | '@babel/core': 7.21.3 250 | '@babel/helper-plugin-utils': 7.20.2 251 | dev: true 252 | 253 | /@babel/plugin-syntax-import-meta/7.10.4_@babel+core@7.21.3: 254 | resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} 255 | peerDependencies: 256 | '@babel/core': ^7.0.0-0 257 | dependencies: 258 | '@babel/core': 7.21.3 259 | '@babel/helper-plugin-utils': 7.20.2 260 | dev: true 261 | 262 | /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.21.3: 263 | resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} 264 | peerDependencies: 265 | '@babel/core': ^7.0.0-0 266 | dependencies: 267 | '@babel/core': 7.21.3 268 | '@babel/helper-plugin-utils': 7.20.2 269 | dev: true 270 | 271 | /@babel/plugin-syntax-jsx/7.18.6_@babel+core@7.21.3: 272 | resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} 273 | engines: {node: '>=6.9.0'} 274 | peerDependencies: 275 | '@babel/core': ^7.0.0-0 276 | dependencies: 277 | '@babel/core': 7.21.3 278 | '@babel/helper-plugin-utils': 7.20.2 279 | dev: true 280 | 281 | /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.21.3: 282 | resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} 283 | peerDependencies: 284 | '@babel/core': ^7.0.0-0 285 | dependencies: 286 | '@babel/core': 7.21.3 287 | '@babel/helper-plugin-utils': 7.20.2 288 | dev: true 289 | 290 | /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.21.3: 291 | resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} 292 | peerDependencies: 293 | '@babel/core': ^7.0.0-0 294 | dependencies: 295 | '@babel/core': 7.21.3 296 | '@babel/helper-plugin-utils': 7.20.2 297 | dev: true 298 | 299 | /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.21.3: 300 | resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} 301 | peerDependencies: 302 | '@babel/core': ^7.0.0-0 303 | dependencies: 304 | '@babel/core': 7.21.3 305 | '@babel/helper-plugin-utils': 7.20.2 306 | dev: true 307 | 308 | /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.21.3: 309 | resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} 310 | peerDependencies: 311 | '@babel/core': ^7.0.0-0 312 | dependencies: 313 | '@babel/core': 7.21.3 314 | '@babel/helper-plugin-utils': 7.20.2 315 | dev: true 316 | 317 | /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.21.3: 318 | resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} 319 | peerDependencies: 320 | '@babel/core': ^7.0.0-0 321 | dependencies: 322 | '@babel/core': 7.21.3 323 | '@babel/helper-plugin-utils': 7.20.2 324 | dev: true 325 | 326 | /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.21.3: 327 | resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} 328 | peerDependencies: 329 | '@babel/core': ^7.0.0-0 330 | dependencies: 331 | '@babel/core': 7.21.3 332 | '@babel/helper-plugin-utils': 7.20.2 333 | dev: true 334 | 335 | /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.21.3: 336 | resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} 337 | engines: {node: '>=6.9.0'} 338 | peerDependencies: 339 | '@babel/core': ^7.0.0-0 340 | dependencies: 341 | '@babel/core': 7.21.3 342 | '@babel/helper-plugin-utils': 7.20.2 343 | dev: true 344 | 345 | /@babel/plugin-syntax-typescript/7.20.0_@babel+core@7.21.3: 346 | resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} 347 | engines: {node: '>=6.9.0'} 348 | peerDependencies: 349 | '@babel/core': ^7.0.0-0 350 | dependencies: 351 | '@babel/core': 7.21.3 352 | '@babel/helper-plugin-utils': 7.20.2 353 | dev: true 354 | 355 | /@babel/template/7.20.7: 356 | resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} 357 | engines: {node: '>=6.9.0'} 358 | dependencies: 359 | '@babel/code-frame': 7.18.6 360 | '@babel/parser': 7.21.3 361 | '@babel/types': 7.21.3 362 | dev: true 363 | 364 | /@babel/traverse/7.21.3: 365 | resolution: {integrity: sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==} 366 | engines: {node: '>=6.9.0'} 367 | dependencies: 368 | '@babel/code-frame': 7.18.6 369 | '@babel/generator': 7.21.3 370 | '@babel/helper-environment-visitor': 7.18.9 371 | '@babel/helper-function-name': 7.21.0 372 | '@babel/helper-hoist-variables': 7.18.6 373 | '@babel/helper-split-export-declaration': 7.18.6 374 | '@babel/parser': 7.21.3 375 | '@babel/types': 7.21.3 376 | debug: 4.3.4 377 | globals: 11.12.0 378 | transitivePeerDependencies: 379 | - supports-color 380 | dev: true 381 | 382 | /@babel/types/7.21.3: 383 | resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} 384 | engines: {node: '>=6.9.0'} 385 | dependencies: 386 | '@babel/helper-string-parser': 7.19.4 387 | '@babel/helper-validator-identifier': 7.19.1 388 | to-fast-properties: 2.0.0 389 | dev: true 390 | 391 | /@bcoe/v8-coverage/0.2.3: 392 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} 393 | dev: true 394 | 395 | /@eslint/eslintrc/2.0.0: 396 | resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} 397 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 398 | dependencies: 399 | ajv: 6.12.6 400 | debug: 4.3.4 401 | espree: 9.4.1 402 | globals: 13.20.0 403 | ignore: 5.2.4 404 | import-fresh: 3.3.0 405 | js-yaml: 4.1.0 406 | minimatch: 3.1.2 407 | strip-json-comments: 3.1.1 408 | transitivePeerDependencies: 409 | - supports-color 410 | dev: true 411 | 412 | /@eslint/js/8.35.0: 413 | resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} 414 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 415 | dev: true 416 | 417 | /@humanwhocodes/config-array/0.11.8: 418 | resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} 419 | engines: {node: '>=10.10.0'} 420 | dependencies: 421 | '@humanwhocodes/object-schema': 1.2.1 422 | debug: 4.3.4 423 | minimatch: 3.1.2 424 | transitivePeerDependencies: 425 | - supports-color 426 | dev: true 427 | 428 | /@humanwhocodes/module-importer/1.0.1: 429 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 430 | engines: {node: '>=12.22'} 431 | dev: true 432 | 433 | /@humanwhocodes/object-schema/1.2.1: 434 | resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} 435 | dev: true 436 | 437 | /@istanbuljs/load-nyc-config/1.1.0: 438 | resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} 439 | engines: {node: '>=8'} 440 | dependencies: 441 | camelcase: 5.3.1 442 | find-up: 4.1.0 443 | get-package-type: 0.1.0 444 | js-yaml: 3.14.1 445 | resolve-from: 5.0.0 446 | dev: true 447 | 448 | /@istanbuljs/schema/0.1.3: 449 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 450 | engines: {node: '>=8'} 451 | dev: true 452 | 453 | /@jest/console/29.5.0: 454 | resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==} 455 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 456 | dependencies: 457 | '@jest/types': 29.5.0 458 | '@types/node': 18.15.3 459 | chalk: 4.1.2 460 | jest-message-util: 29.5.0 461 | jest-util: 29.5.0 462 | slash: 3.0.0 463 | dev: true 464 | 465 | /@jest/core/29.5.0: 466 | resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} 467 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 468 | peerDependencies: 469 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 470 | peerDependenciesMeta: 471 | node-notifier: 472 | optional: true 473 | dependencies: 474 | '@jest/console': 29.5.0 475 | '@jest/reporters': 29.5.0 476 | '@jest/test-result': 29.5.0 477 | '@jest/transform': 29.5.0 478 | '@jest/types': 29.5.0 479 | '@types/node': 18.15.3 480 | ansi-escapes: 4.3.2 481 | chalk: 4.1.2 482 | ci-info: 3.8.0 483 | exit: 0.1.2 484 | graceful-fs: 4.2.11 485 | jest-changed-files: 29.5.0 486 | jest-config: 29.5.0_@types+node@18.15.3 487 | jest-haste-map: 29.5.0 488 | jest-message-util: 29.5.0 489 | jest-regex-util: 29.4.3 490 | jest-resolve: 29.5.0 491 | jest-resolve-dependencies: 29.5.0 492 | jest-runner: 29.5.0 493 | jest-runtime: 29.5.0 494 | jest-snapshot: 29.5.0 495 | jest-util: 29.5.0 496 | jest-validate: 29.5.0 497 | jest-watcher: 29.5.0 498 | micromatch: 4.0.5 499 | pretty-format: 29.5.0 500 | slash: 3.0.0 501 | strip-ansi: 6.0.1 502 | transitivePeerDependencies: 503 | - supports-color 504 | - ts-node 505 | dev: true 506 | 507 | /@jest/create-cache-key-function/27.5.1: 508 | resolution: {integrity: sha512-dmH1yW+makpTSURTy8VzdUwFnfQh1G8R+DxO2Ho2FFmBbKFEVm+3jWdvFhE2VqB/LATCTokkP0dotjyQyw5/AQ==} 509 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 510 | dependencies: 511 | '@jest/types': 27.5.1 512 | dev: true 513 | 514 | /@jest/environment/29.5.0: 515 | resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==} 516 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 517 | dependencies: 518 | '@jest/fake-timers': 29.5.0 519 | '@jest/types': 29.5.0 520 | '@types/node': 18.15.3 521 | jest-mock: 29.5.0 522 | dev: true 523 | 524 | /@jest/expect-utils/29.5.0: 525 | resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} 526 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 527 | dependencies: 528 | jest-get-type: 29.4.3 529 | dev: true 530 | 531 | /@jest/expect/29.5.0: 532 | resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==} 533 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 534 | dependencies: 535 | expect: 29.5.0 536 | jest-snapshot: 29.5.0 537 | transitivePeerDependencies: 538 | - supports-color 539 | dev: true 540 | 541 | /@jest/fake-timers/29.5.0: 542 | resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==} 543 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 544 | dependencies: 545 | '@jest/types': 29.5.0 546 | '@sinonjs/fake-timers': 10.0.2 547 | '@types/node': 18.15.3 548 | jest-message-util: 29.5.0 549 | jest-mock: 29.5.0 550 | jest-util: 29.5.0 551 | dev: true 552 | 553 | /@jest/globals/29.5.0: 554 | resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==} 555 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 556 | dependencies: 557 | '@jest/environment': 29.5.0 558 | '@jest/expect': 29.5.0 559 | '@jest/types': 29.5.0 560 | jest-mock: 29.5.0 561 | transitivePeerDependencies: 562 | - supports-color 563 | dev: true 564 | 565 | /@jest/reporters/29.5.0: 566 | resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==} 567 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 568 | peerDependencies: 569 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 570 | peerDependenciesMeta: 571 | node-notifier: 572 | optional: true 573 | dependencies: 574 | '@bcoe/v8-coverage': 0.2.3 575 | '@jest/console': 29.5.0 576 | '@jest/test-result': 29.5.0 577 | '@jest/transform': 29.5.0 578 | '@jest/types': 29.5.0 579 | '@jridgewell/trace-mapping': 0.3.17 580 | '@types/node': 18.15.3 581 | chalk: 4.1.2 582 | collect-v8-coverage: 1.0.1 583 | exit: 0.1.2 584 | glob: 7.2.3 585 | graceful-fs: 4.2.11 586 | istanbul-lib-coverage: 3.2.0 587 | istanbul-lib-instrument: 5.2.1 588 | istanbul-lib-report: 3.0.0 589 | istanbul-lib-source-maps: 4.0.1 590 | istanbul-reports: 3.1.5 591 | jest-message-util: 29.5.0 592 | jest-util: 29.5.0 593 | jest-worker: 29.5.0 594 | slash: 3.0.0 595 | string-length: 4.0.2 596 | strip-ansi: 6.0.1 597 | v8-to-istanbul: 9.1.0 598 | transitivePeerDependencies: 599 | - supports-color 600 | dev: true 601 | 602 | /@jest/schemas/29.4.3: 603 | resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} 604 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 605 | dependencies: 606 | '@sinclair/typebox': 0.25.24 607 | dev: true 608 | 609 | /@jest/source-map/29.4.3: 610 | resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} 611 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 612 | dependencies: 613 | '@jridgewell/trace-mapping': 0.3.17 614 | callsites: 3.1.0 615 | graceful-fs: 4.2.11 616 | dev: true 617 | 618 | /@jest/test-result/29.5.0: 619 | resolution: {integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==} 620 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 621 | dependencies: 622 | '@jest/console': 29.5.0 623 | '@jest/types': 29.5.0 624 | '@types/istanbul-lib-coverage': 2.0.4 625 | collect-v8-coverage: 1.0.1 626 | dev: true 627 | 628 | /@jest/test-sequencer/29.5.0: 629 | resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==} 630 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 631 | dependencies: 632 | '@jest/test-result': 29.5.0 633 | graceful-fs: 4.2.11 634 | jest-haste-map: 29.5.0 635 | slash: 3.0.0 636 | dev: true 637 | 638 | /@jest/transform/29.5.0: 639 | resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} 640 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 641 | dependencies: 642 | '@babel/core': 7.21.3 643 | '@jest/types': 29.5.0 644 | '@jridgewell/trace-mapping': 0.3.17 645 | babel-plugin-istanbul: 6.1.1 646 | chalk: 4.1.2 647 | convert-source-map: 2.0.0 648 | fast-json-stable-stringify: 2.1.0 649 | graceful-fs: 4.2.11 650 | jest-haste-map: 29.5.0 651 | jest-regex-util: 29.4.3 652 | jest-util: 29.5.0 653 | micromatch: 4.0.5 654 | pirates: 4.0.5 655 | slash: 3.0.0 656 | write-file-atomic: 4.0.2 657 | transitivePeerDependencies: 658 | - supports-color 659 | dev: true 660 | 661 | /@jest/types/27.5.1: 662 | resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} 663 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 664 | dependencies: 665 | '@types/istanbul-lib-coverage': 2.0.4 666 | '@types/istanbul-reports': 3.0.1 667 | '@types/node': 18.15.3 668 | '@types/yargs': 16.0.5 669 | chalk: 4.1.2 670 | dev: true 671 | 672 | /@jest/types/29.5.0: 673 | resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} 674 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 675 | dependencies: 676 | '@jest/schemas': 29.4.3 677 | '@types/istanbul-lib-coverage': 2.0.4 678 | '@types/istanbul-reports': 3.0.1 679 | '@types/node': 18.15.3 680 | '@types/yargs': 17.0.22 681 | chalk: 4.1.2 682 | dev: true 683 | 684 | /@jridgewell/gen-mapping/0.1.1: 685 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} 686 | engines: {node: '>=6.0.0'} 687 | dependencies: 688 | '@jridgewell/set-array': 1.1.2 689 | '@jridgewell/sourcemap-codec': 1.4.14 690 | dev: true 691 | 692 | /@jridgewell/gen-mapping/0.3.2: 693 | resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} 694 | engines: {node: '>=6.0.0'} 695 | dependencies: 696 | '@jridgewell/set-array': 1.1.2 697 | '@jridgewell/sourcemap-codec': 1.4.14 698 | '@jridgewell/trace-mapping': 0.3.17 699 | dev: true 700 | 701 | /@jridgewell/resolve-uri/3.1.0: 702 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 703 | engines: {node: '>=6.0.0'} 704 | dev: true 705 | 706 | /@jridgewell/set-array/1.1.2: 707 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 708 | engines: {node: '>=6.0.0'} 709 | dev: true 710 | 711 | /@jridgewell/sourcemap-codec/1.4.14: 712 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 713 | dev: true 714 | 715 | /@jridgewell/trace-mapping/0.3.17: 716 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} 717 | dependencies: 718 | '@jridgewell/resolve-uri': 3.1.0 719 | '@jridgewell/sourcemap-codec': 1.4.14 720 | dev: true 721 | 722 | /@nodelib/fs.scandir/2.1.5: 723 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 724 | engines: {node: '>= 8'} 725 | dependencies: 726 | '@nodelib/fs.stat': 2.0.5 727 | run-parallel: 1.2.0 728 | dev: true 729 | 730 | /@nodelib/fs.stat/2.0.5: 731 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 732 | engines: {node: '>= 8'} 733 | dev: true 734 | 735 | /@nodelib/fs.walk/1.2.8: 736 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 737 | engines: {node: '>= 8'} 738 | dependencies: 739 | '@nodelib/fs.scandir': 2.1.5 740 | fastq: 1.15.0 741 | dev: true 742 | 743 | /@sinclair/typebox/0.25.24: 744 | resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} 745 | dev: true 746 | 747 | /@sinonjs/commons/2.0.0: 748 | resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} 749 | dependencies: 750 | type-detect: 4.0.8 751 | dev: true 752 | 753 | /@sinonjs/fake-timers/10.0.2: 754 | resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} 755 | dependencies: 756 | '@sinonjs/commons': 2.0.0 757 | dev: true 758 | 759 | /@swc/core-darwin-arm64/1.3.41: 760 | resolution: {integrity: sha512-D4fybODToO/BvuP35bionDUrSuTVVr8eW+mApr1unOqb3mfiqOrVv0VP2fpWNRYiA+xMq+oBCB6KcGpL60HKWQ==} 761 | engines: {node: '>=10'} 762 | cpu: [arm64] 763 | os: [darwin] 764 | requiresBuild: true 765 | dev: true 766 | optional: true 767 | 768 | /@swc/core-darwin-x64/1.3.41: 769 | resolution: {integrity: sha512-0RoVyiPCnylf3TG77C3S86PRSmaq+SaYB4VDLJFz3qcEHz1pfP0LhyskhgX4wjQV1mveDzFEn1BVAuo0eOMwZA==} 770 | engines: {node: '>=10'} 771 | cpu: [x64] 772 | os: [darwin] 773 | requiresBuild: true 774 | dev: true 775 | optional: true 776 | 777 | /@swc/core-linux-arm-gnueabihf/1.3.41: 778 | resolution: {integrity: sha512-mZW7GeY7Uw1nkKoWpx898ou20oCSt8MR+jAVuAhMjX+G4Zr0WWXYSigWNiRymhR6Q9KhyvoFpMckguSvYWmXsw==} 779 | engines: {node: '>=10'} 780 | cpu: [arm] 781 | os: [linux] 782 | requiresBuild: true 783 | dev: true 784 | optional: true 785 | 786 | /@swc/core-linux-arm64-gnu/1.3.41: 787 | resolution: {integrity: sha512-e91LGn+6KuLFw3sWk5swwGc/dP4tXs0mg3HrhjImRoofU02Bb9aHcj5zgrSO8ZByvDtm/Knn16h1ojxIMOFaxg==} 788 | engines: {node: '>=10'} 789 | cpu: [arm64] 790 | os: [linux] 791 | requiresBuild: true 792 | dev: true 793 | optional: true 794 | 795 | /@swc/core-linux-arm64-musl/1.3.41: 796 | resolution: {integrity: sha512-Q7hmrniLWsQ7zjtImGcjx1tl5/Qxpel+fC+OXTnGvAyyoGssSftIBlXMnqVLteL78zhxIPAzi+gizWAe5RGqrA==} 797 | engines: {node: '>=10'} 798 | cpu: [arm64] 799 | os: [linux] 800 | requiresBuild: true 801 | dev: true 802 | optional: true 803 | 804 | /@swc/core-linux-x64-gnu/1.3.41: 805 | resolution: {integrity: sha512-h4sv1sCfZQgRIwmykz8WPqVpbvHb13Qm3SsrbOudhAp2MuzpWzsgMP5hAEpdCP/nWreiCz3aoM6L8JeakRDq0g==} 806 | engines: {node: '>=10'} 807 | cpu: [x64] 808 | os: [linux] 809 | requiresBuild: true 810 | dev: true 811 | optional: true 812 | 813 | /@swc/core-linux-x64-musl/1.3.41: 814 | resolution: {integrity: sha512-Z7c26i38378d0NT/dcz8qPSAXm41lqhNzykdhKhI+95mA9m4pskP18T/0I45rmyx1ywifypu+Ip+SXmKeVSPgQ==} 815 | engines: {node: '>=10'} 816 | cpu: [x64] 817 | os: [linux] 818 | requiresBuild: true 819 | dev: true 820 | optional: true 821 | 822 | /@swc/core-win32-arm64-msvc/1.3.41: 823 | resolution: {integrity: sha512-I0CYnPc+ZGc912YeN0TykIOf/Q7yJQHRwDuhewwD6RkbiSEaVfSux5pAmmdoKw2aGMSq+cwLmgPe9HYLRNz+4w==} 824 | engines: {node: '>=10'} 825 | cpu: [arm64] 826 | os: [win32] 827 | requiresBuild: true 828 | dev: true 829 | optional: true 830 | 831 | /@swc/core-win32-ia32-msvc/1.3.41: 832 | resolution: {integrity: sha512-EygN4CVDWF29/U2T5fXGfWyLvRbMd2hiUgkciAl7zHuyJ6nKl+kpodqV2A0Wd4sFtSNedU0gQEBEXEe7cqvmsA==} 833 | engines: {node: '>=10'} 834 | cpu: [ia32] 835 | os: [win32] 836 | requiresBuild: true 837 | dev: true 838 | optional: true 839 | 840 | /@swc/core-win32-x64-msvc/1.3.41: 841 | resolution: {integrity: sha512-Mfp8qD1hNwWWRy0ISdwQJu1g0UYoVTtuQlO0z3aGbXqL51ew9e56+8j3M1U9i95lXFyWkARgjDCcKkQi+WezyA==} 842 | engines: {node: '>=10'} 843 | cpu: [x64] 844 | os: [win32] 845 | requiresBuild: true 846 | dev: true 847 | optional: true 848 | 849 | /@swc/core/1.3.41: 850 | resolution: {integrity: sha512-v6P2dfqJDpZ/7RXPvWge9oI6YgolDM0jtNhQZ2qdXrLBzaWQdDoBGBTJ8KN/nTgGhX3IkNvSB1fafXQ+nVnqAQ==} 851 | engines: {node: '>=10'} 852 | requiresBuild: true 853 | optionalDependencies: 854 | '@swc/core-darwin-arm64': 1.3.41 855 | '@swc/core-darwin-x64': 1.3.41 856 | '@swc/core-linux-arm-gnueabihf': 1.3.41 857 | '@swc/core-linux-arm64-gnu': 1.3.41 858 | '@swc/core-linux-arm64-musl': 1.3.41 859 | '@swc/core-linux-x64-gnu': 1.3.41 860 | '@swc/core-linux-x64-musl': 1.3.41 861 | '@swc/core-win32-arm64-msvc': 1.3.41 862 | '@swc/core-win32-ia32-msvc': 1.3.41 863 | '@swc/core-win32-x64-msvc': 1.3.41 864 | dev: true 865 | 866 | /@swc/jest/0.2.24_@swc+core@1.3.41: 867 | resolution: {integrity: sha512-fwgxQbM1wXzyKzl1+IW0aGrRvAA8k0Y3NxFhKigbPjOJ4mCKnWEcNX9HQS3gshflcxq8YKhadabGUVfdwjCr6Q==} 868 | engines: {npm: '>= 7.0.0'} 869 | peerDependencies: 870 | '@swc/core': '*' 871 | dependencies: 872 | '@jest/create-cache-key-function': 27.5.1 873 | '@swc/core': 1.3.41 874 | jsonc-parser: 3.2.0 875 | dev: true 876 | 877 | /@tsconfig/node-lts-strictest/18.12.1: 878 | resolution: {integrity: sha512-pn6cefRFlBVSEo5lO82bJnGmaptr90Wu8zCROkMUYXEz0f4AgCD65Guhq4u3PIuIlsYImaOmdoiHajx1gVTiQw==} 879 | dev: true 880 | 881 | /@types/babel__core/7.20.0: 882 | resolution: {integrity: sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==} 883 | dependencies: 884 | '@babel/parser': 7.21.3 885 | '@babel/types': 7.21.3 886 | '@types/babel__generator': 7.6.4 887 | '@types/babel__template': 7.4.1 888 | '@types/babel__traverse': 7.18.3 889 | dev: true 890 | 891 | /@types/babel__generator/7.6.4: 892 | resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} 893 | dependencies: 894 | '@babel/types': 7.21.3 895 | dev: true 896 | 897 | /@types/babel__template/7.4.1: 898 | resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} 899 | dependencies: 900 | '@babel/parser': 7.21.3 901 | '@babel/types': 7.21.3 902 | dev: true 903 | 904 | /@types/babel__traverse/7.18.3: 905 | resolution: {integrity: sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==} 906 | dependencies: 907 | '@babel/types': 7.21.3 908 | dev: true 909 | 910 | /@types/graceful-fs/4.1.6: 911 | resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} 912 | dependencies: 913 | '@types/node': 18.15.3 914 | dev: true 915 | 916 | /@types/istanbul-lib-coverage/2.0.4: 917 | resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} 918 | dev: true 919 | 920 | /@types/istanbul-lib-report/3.0.0: 921 | resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} 922 | dependencies: 923 | '@types/istanbul-lib-coverage': 2.0.4 924 | dev: true 925 | 926 | /@types/istanbul-reports/3.0.1: 927 | resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} 928 | dependencies: 929 | '@types/istanbul-lib-report': 3.0.0 930 | dev: true 931 | 932 | /@types/json-schema/7.0.11: 933 | resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} 934 | dev: true 935 | 936 | /@types/node/18.15.3: 937 | resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} 938 | dev: true 939 | 940 | /@types/prettier/2.7.2: 941 | resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} 942 | dev: true 943 | 944 | /@types/semver/7.3.13: 945 | resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} 946 | dev: true 947 | 948 | /@types/stack-utils/2.0.1: 949 | resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} 950 | dev: true 951 | 952 | /@types/yargs-parser/21.0.0: 953 | resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} 954 | dev: true 955 | 956 | /@types/yargs/16.0.5: 957 | resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} 958 | dependencies: 959 | '@types/yargs-parser': 21.0.0 960 | dev: true 961 | 962 | /@types/yargs/17.0.22: 963 | resolution: {integrity: sha512-pet5WJ9U8yPVRhkwuEIp5ktAeAqRZOq4UdAyWLWzxbtpyXnzbtLdKiXAjJzi/KLmPGS9wk86lUFWZFN6sISo4g==} 964 | dependencies: 965 | '@types/yargs-parser': 21.0.0 966 | dev: true 967 | 968 | /@typescript-eslint/eslint-plugin/5.54.1_mlk7dnz565t663n4razh6a6v6i: 969 | resolution: {integrity: sha512-a2RQAkosH3d3ZIV08s3DcL/mcGc2M/UC528VkPULFxR9VnVPT8pBu0IyBAJJmVsCmhVfwQX1v6q+QGnmSe1bew==} 970 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 971 | peerDependencies: 972 | '@typescript-eslint/parser': ^5.0.0 973 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 974 | typescript: '*' 975 | peerDependenciesMeta: 976 | typescript: 977 | optional: true 978 | dependencies: 979 | '@typescript-eslint/parser': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu 980 | '@typescript-eslint/scope-manager': 5.54.1 981 | '@typescript-eslint/type-utils': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu 982 | '@typescript-eslint/utils': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu 983 | debug: 4.3.4 984 | eslint: 8.35.0 985 | grapheme-splitter: 1.0.4 986 | ignore: 5.2.4 987 | natural-compare-lite: 1.4.0 988 | regexpp: 3.2.0 989 | semver: 7.3.8 990 | tsutils: 3.21.0_typescript@4.9.5 991 | typescript: 4.9.5 992 | transitivePeerDependencies: 993 | - supports-color 994 | dev: true 995 | 996 | /@typescript-eslint/parser/5.54.1_ycpbpc6yetojsgtrx3mwntkhsu: 997 | resolution: {integrity: sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg==} 998 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 999 | peerDependencies: 1000 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 1001 | typescript: '*' 1002 | peerDependenciesMeta: 1003 | typescript: 1004 | optional: true 1005 | dependencies: 1006 | '@typescript-eslint/scope-manager': 5.54.1 1007 | '@typescript-eslint/types': 5.54.1 1008 | '@typescript-eslint/typescript-estree': 5.54.1_typescript@4.9.5 1009 | debug: 4.3.4 1010 | eslint: 8.35.0 1011 | typescript: 4.9.5 1012 | transitivePeerDependencies: 1013 | - supports-color 1014 | dev: true 1015 | 1016 | /@typescript-eslint/scope-manager/5.54.1: 1017 | resolution: {integrity: sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg==} 1018 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1019 | dependencies: 1020 | '@typescript-eslint/types': 5.54.1 1021 | '@typescript-eslint/visitor-keys': 5.54.1 1022 | dev: true 1023 | 1024 | /@typescript-eslint/type-utils/5.54.1_ycpbpc6yetojsgtrx3mwntkhsu: 1025 | resolution: {integrity: sha512-WREHsTz0GqVYLIbzIZYbmUUr95DKEKIXZNH57W3s+4bVnuF1TKe2jH8ZNH8rO1CeMY3U4j4UQeqPNkHMiGem3g==} 1026 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1027 | peerDependencies: 1028 | eslint: '*' 1029 | typescript: '*' 1030 | peerDependenciesMeta: 1031 | typescript: 1032 | optional: true 1033 | dependencies: 1034 | '@typescript-eslint/typescript-estree': 5.54.1_typescript@4.9.5 1035 | '@typescript-eslint/utils': 5.54.1_ycpbpc6yetojsgtrx3mwntkhsu 1036 | debug: 4.3.4 1037 | eslint: 8.35.0 1038 | tsutils: 3.21.0_typescript@4.9.5 1039 | typescript: 4.9.5 1040 | transitivePeerDependencies: 1041 | - supports-color 1042 | dev: true 1043 | 1044 | /@typescript-eslint/types/5.54.1: 1045 | resolution: {integrity: sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw==} 1046 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1047 | dev: true 1048 | 1049 | /@typescript-eslint/typescript-estree/5.54.1_typescript@4.9.5: 1050 | resolution: {integrity: sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg==} 1051 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1052 | peerDependencies: 1053 | typescript: '*' 1054 | peerDependenciesMeta: 1055 | typescript: 1056 | optional: true 1057 | dependencies: 1058 | '@typescript-eslint/types': 5.54.1 1059 | '@typescript-eslint/visitor-keys': 5.54.1 1060 | debug: 4.3.4 1061 | globby: 11.1.0 1062 | is-glob: 4.0.3 1063 | semver: 7.3.8 1064 | tsutils: 3.21.0_typescript@4.9.5 1065 | typescript: 4.9.5 1066 | transitivePeerDependencies: 1067 | - supports-color 1068 | dev: true 1069 | 1070 | /@typescript-eslint/utils/5.54.1_ycpbpc6yetojsgtrx3mwntkhsu: 1071 | resolution: {integrity: sha512-IY5dyQM8XD1zfDe5X8jegX6r2EVU5o/WJnLu/znLPWCBF7KNGC+adacXnt5jEYS9JixDcoccI6CvE4RCjHMzCQ==} 1072 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1073 | peerDependencies: 1074 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 1075 | dependencies: 1076 | '@types/json-schema': 7.0.11 1077 | '@types/semver': 7.3.13 1078 | '@typescript-eslint/scope-manager': 5.54.1 1079 | '@typescript-eslint/types': 5.54.1 1080 | '@typescript-eslint/typescript-estree': 5.54.1_typescript@4.9.5 1081 | eslint: 8.35.0 1082 | eslint-scope: 5.1.1 1083 | eslint-utils: 3.0.0_eslint@8.35.0 1084 | semver: 7.3.8 1085 | transitivePeerDependencies: 1086 | - supports-color 1087 | - typescript 1088 | dev: true 1089 | 1090 | /@typescript-eslint/visitor-keys/5.54.1: 1091 | resolution: {integrity: sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg==} 1092 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1093 | dependencies: 1094 | '@typescript-eslint/types': 5.54.1 1095 | eslint-visitor-keys: 3.3.0 1096 | dev: true 1097 | 1098 | /abbrev/1.1.1: 1099 | resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} 1100 | dev: true 1101 | 1102 | /acorn-jsx/5.3.2_acorn@8.8.2: 1103 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 1104 | peerDependencies: 1105 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 1106 | dependencies: 1107 | acorn: 8.8.2 1108 | dev: true 1109 | 1110 | /acorn/8.8.2: 1111 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 1112 | engines: {node: '>=0.4.0'} 1113 | hasBin: true 1114 | dev: true 1115 | 1116 | /aggregate-error/3.1.0: 1117 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 1118 | engines: {node: '>=8'} 1119 | dependencies: 1120 | clean-stack: 2.2.0 1121 | indent-string: 4.0.0 1122 | dev: true 1123 | 1124 | /ajv/6.12.6: 1125 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 1126 | dependencies: 1127 | fast-deep-equal: 3.1.3 1128 | fast-json-stable-stringify: 2.1.0 1129 | json-schema-traverse: 0.4.1 1130 | uri-js: 4.4.1 1131 | dev: true 1132 | 1133 | /ansi-escapes/4.3.2: 1134 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 1135 | engines: {node: '>=8'} 1136 | dependencies: 1137 | type-fest: 0.21.3 1138 | dev: true 1139 | 1140 | /ansi-regex/5.0.1: 1141 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 1142 | engines: {node: '>=8'} 1143 | dev: true 1144 | 1145 | /ansi-regex/6.0.1: 1146 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 1147 | engines: {node: '>=12'} 1148 | dev: true 1149 | 1150 | /ansi-styles/3.2.1: 1151 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 1152 | engines: {node: '>=4'} 1153 | dependencies: 1154 | color-convert: 1.9.3 1155 | dev: true 1156 | 1157 | /ansi-styles/4.3.0: 1158 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 1159 | engines: {node: '>=8'} 1160 | dependencies: 1161 | color-convert: 2.0.1 1162 | dev: true 1163 | 1164 | /ansi-styles/5.2.0: 1165 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 1166 | engines: {node: '>=10'} 1167 | dev: true 1168 | 1169 | /ansi-styles/6.2.1: 1170 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 1171 | engines: {node: '>=12'} 1172 | dev: true 1173 | 1174 | /anymatch/3.1.3: 1175 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 1176 | engines: {node: '>= 8'} 1177 | dependencies: 1178 | normalize-path: 3.0.0 1179 | picomatch: 2.3.1 1180 | dev: true 1181 | 1182 | /argparse/1.0.10: 1183 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 1184 | dependencies: 1185 | sprintf-js: 1.0.3 1186 | dev: true 1187 | 1188 | /argparse/2.0.1: 1189 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 1190 | dev: true 1191 | 1192 | /array-union/2.1.0: 1193 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 1194 | engines: {node: '>=8'} 1195 | dev: true 1196 | 1197 | /astral-regex/2.0.0: 1198 | resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} 1199 | engines: {node: '>=8'} 1200 | dev: true 1201 | 1202 | /babel-jest/29.5.0_@babel+core@7.21.3: 1203 | resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} 1204 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1205 | peerDependencies: 1206 | '@babel/core': ^7.8.0 1207 | dependencies: 1208 | '@babel/core': 7.21.3 1209 | '@jest/transform': 29.5.0 1210 | '@types/babel__core': 7.20.0 1211 | babel-plugin-istanbul: 6.1.1 1212 | babel-preset-jest: 29.5.0_@babel+core@7.21.3 1213 | chalk: 4.1.2 1214 | graceful-fs: 4.2.11 1215 | slash: 3.0.0 1216 | transitivePeerDependencies: 1217 | - supports-color 1218 | dev: true 1219 | 1220 | /babel-plugin-istanbul/6.1.1: 1221 | resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} 1222 | engines: {node: '>=8'} 1223 | dependencies: 1224 | '@babel/helper-plugin-utils': 7.20.2 1225 | '@istanbuljs/load-nyc-config': 1.1.0 1226 | '@istanbuljs/schema': 0.1.3 1227 | istanbul-lib-instrument: 5.2.1 1228 | test-exclude: 6.0.0 1229 | transitivePeerDependencies: 1230 | - supports-color 1231 | dev: true 1232 | 1233 | /babel-plugin-jest-hoist/29.5.0: 1234 | resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} 1235 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1236 | dependencies: 1237 | '@babel/template': 7.20.7 1238 | '@babel/types': 7.21.3 1239 | '@types/babel__core': 7.20.0 1240 | '@types/babel__traverse': 7.18.3 1241 | dev: true 1242 | 1243 | /babel-preset-current-node-syntax/1.0.1_@babel+core@7.21.3: 1244 | resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} 1245 | peerDependencies: 1246 | '@babel/core': ^7.0.0 1247 | dependencies: 1248 | '@babel/core': 7.21.3 1249 | '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.21.3 1250 | '@babel/plugin-syntax-bigint': 7.8.3_@babel+core@7.21.3 1251 | '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.21.3 1252 | '@babel/plugin-syntax-import-meta': 7.10.4_@babel+core@7.21.3 1253 | '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.21.3 1254 | '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.21.3 1255 | '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.21.3 1256 | '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.21.3 1257 | '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.21.3 1258 | '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.21.3 1259 | '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.21.3 1260 | '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.21.3 1261 | dev: true 1262 | 1263 | /babel-preset-jest/29.5.0_@babel+core@7.21.3: 1264 | resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} 1265 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1266 | peerDependencies: 1267 | '@babel/core': ^7.0.0 1268 | dependencies: 1269 | '@babel/core': 7.21.3 1270 | babel-plugin-jest-hoist: 29.5.0 1271 | babel-preset-current-node-syntax: 1.0.1_@babel+core@7.21.3 1272 | dev: true 1273 | 1274 | /balanced-match/1.0.2: 1275 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 1276 | dev: true 1277 | 1278 | /binary-extensions/2.2.0: 1279 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 1280 | engines: {node: '>=8'} 1281 | dev: true 1282 | 1283 | /brace-expansion/1.1.11: 1284 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 1285 | dependencies: 1286 | balanced-match: 1.0.2 1287 | concat-map: 0.0.1 1288 | dev: true 1289 | 1290 | /brace-expansion/2.0.1: 1291 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 1292 | dependencies: 1293 | balanced-match: 1.0.2 1294 | dev: true 1295 | 1296 | /braces/3.0.2: 1297 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 1298 | engines: {node: '>=8'} 1299 | dependencies: 1300 | fill-range: 7.0.1 1301 | dev: true 1302 | 1303 | /browserslist/4.21.5: 1304 | resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} 1305 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 1306 | hasBin: true 1307 | dependencies: 1308 | caniuse-lite: 1.0.30001468 1309 | electron-to-chromium: 1.4.333 1310 | node-releases: 2.0.10 1311 | update-browserslist-db: 1.0.10_browserslist@4.21.5 1312 | dev: true 1313 | 1314 | /bser/2.1.1: 1315 | resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} 1316 | dependencies: 1317 | node-int64: 0.4.0 1318 | dev: true 1319 | 1320 | /buffer-from/1.1.2: 1321 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 1322 | dev: true 1323 | 1324 | /callsites/3.1.0: 1325 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 1326 | engines: {node: '>=6'} 1327 | dev: true 1328 | 1329 | /camelcase/5.3.1: 1330 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 1331 | engines: {node: '>=6'} 1332 | dev: true 1333 | 1334 | /camelcase/6.3.0: 1335 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} 1336 | engines: {node: '>=10'} 1337 | dev: true 1338 | 1339 | /caniuse-lite/1.0.30001468: 1340 | resolution: {integrity: sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A==} 1341 | dev: true 1342 | 1343 | /chalk/2.4.2: 1344 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1345 | engines: {node: '>=4'} 1346 | dependencies: 1347 | ansi-styles: 3.2.1 1348 | escape-string-regexp: 1.0.5 1349 | supports-color: 5.5.0 1350 | dev: true 1351 | 1352 | /chalk/4.1.2: 1353 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1354 | engines: {node: '>=10'} 1355 | dependencies: 1356 | ansi-styles: 4.3.0 1357 | supports-color: 7.2.0 1358 | dev: true 1359 | 1360 | /char-regex/1.0.2: 1361 | resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} 1362 | engines: {node: '>=10'} 1363 | dev: true 1364 | 1365 | /chokidar/3.5.3: 1366 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 1367 | engines: {node: '>= 8.10.0'} 1368 | dependencies: 1369 | anymatch: 3.1.3 1370 | braces: 3.0.2 1371 | glob-parent: 5.1.2 1372 | is-binary-path: 2.1.0 1373 | is-glob: 4.0.3 1374 | normalize-path: 3.0.0 1375 | readdirp: 3.6.0 1376 | optionalDependencies: 1377 | fsevents: 2.3.2 1378 | dev: true 1379 | 1380 | /ci-info/3.8.0: 1381 | resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} 1382 | engines: {node: '>=8'} 1383 | dev: true 1384 | 1385 | /cjs-module-lexer/1.2.2: 1386 | resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} 1387 | dev: true 1388 | 1389 | /clean-stack/2.2.0: 1390 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 1391 | engines: {node: '>=6'} 1392 | dev: true 1393 | 1394 | /cli-cursor/3.1.0: 1395 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 1396 | engines: {node: '>=8'} 1397 | dependencies: 1398 | restore-cursor: 3.1.0 1399 | dev: true 1400 | 1401 | /cli-truncate/2.1.0: 1402 | resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} 1403 | engines: {node: '>=8'} 1404 | dependencies: 1405 | slice-ansi: 3.0.0 1406 | string-width: 4.2.3 1407 | dev: true 1408 | 1409 | /cli-truncate/3.1.0: 1410 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 1411 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1412 | dependencies: 1413 | slice-ansi: 5.0.0 1414 | string-width: 5.1.2 1415 | dev: true 1416 | 1417 | /cliui/8.0.1: 1418 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 1419 | engines: {node: '>=12'} 1420 | dependencies: 1421 | string-width: 4.2.3 1422 | strip-ansi: 6.0.1 1423 | wrap-ansi: 7.0.0 1424 | dev: true 1425 | 1426 | /co/4.6.0: 1427 | resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} 1428 | engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} 1429 | dev: true 1430 | 1431 | /collect-v8-coverage/1.0.1: 1432 | resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} 1433 | dev: true 1434 | 1435 | /color-convert/1.9.3: 1436 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1437 | dependencies: 1438 | color-name: 1.1.3 1439 | dev: true 1440 | 1441 | /color-convert/2.0.1: 1442 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1443 | engines: {node: '>=7.0.0'} 1444 | dependencies: 1445 | color-name: 1.1.4 1446 | dev: true 1447 | 1448 | /color-name/1.1.3: 1449 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1450 | dev: true 1451 | 1452 | /color-name/1.1.4: 1453 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1454 | dev: true 1455 | 1456 | /colorette/2.0.19: 1457 | resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} 1458 | dev: true 1459 | 1460 | /commander/9.5.0: 1461 | resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} 1462 | engines: {node: ^12.20.0 || >=14} 1463 | dev: true 1464 | 1465 | /concat-map/0.0.1: 1466 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 1467 | dev: true 1468 | 1469 | /convert-source-map/1.9.0: 1470 | resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} 1471 | dev: true 1472 | 1473 | /convert-source-map/2.0.0: 1474 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 1475 | dev: true 1476 | 1477 | /cross-spawn/7.0.3: 1478 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 1479 | engines: {node: '>= 8'} 1480 | dependencies: 1481 | path-key: 3.1.1 1482 | shebang-command: 2.0.0 1483 | which: 2.0.2 1484 | dev: true 1485 | 1486 | /debug/3.2.7_supports-color@5.5.0: 1487 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1488 | peerDependencies: 1489 | supports-color: '*' 1490 | peerDependenciesMeta: 1491 | supports-color: 1492 | optional: true 1493 | dependencies: 1494 | ms: 2.1.2 1495 | supports-color: 5.5.0 1496 | dev: true 1497 | 1498 | /debug/4.3.4: 1499 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 1500 | engines: {node: '>=6.0'} 1501 | peerDependencies: 1502 | supports-color: '*' 1503 | peerDependenciesMeta: 1504 | supports-color: 1505 | optional: true 1506 | dependencies: 1507 | ms: 2.1.2 1508 | dev: true 1509 | 1510 | /dedent/0.7.0: 1511 | resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} 1512 | dev: true 1513 | 1514 | /deep-is/0.1.4: 1515 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1516 | dev: true 1517 | 1518 | /deepmerge/4.3.1: 1519 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 1520 | engines: {node: '>=0.10.0'} 1521 | dev: true 1522 | 1523 | /detect-newline/3.1.0: 1524 | resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} 1525 | engines: {node: '>=8'} 1526 | dev: true 1527 | 1528 | /diff-sequences/29.4.3: 1529 | resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} 1530 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1531 | dev: true 1532 | 1533 | /dir-glob/3.0.1: 1534 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1535 | engines: {node: '>=8'} 1536 | dependencies: 1537 | path-type: 4.0.0 1538 | dev: true 1539 | 1540 | /doctrine/3.0.0: 1541 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} 1542 | engines: {node: '>=6.0.0'} 1543 | dependencies: 1544 | esutils: 2.0.3 1545 | dev: true 1546 | 1547 | /eastasianwidth/0.2.0: 1548 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1549 | dev: true 1550 | 1551 | /electron-to-chromium/1.4.333: 1552 | resolution: {integrity: sha512-YyE8+GKyGtPEP1/kpvqsdhD6rA/TP1DUFDN4uiU/YI52NzDxmwHkEb3qjId8hLBa5siJvG0sfC3O66501jMruQ==} 1553 | dev: true 1554 | 1555 | /emittery/0.13.1: 1556 | resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} 1557 | engines: {node: '>=12'} 1558 | dev: true 1559 | 1560 | /emoji-regex/8.0.0: 1561 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1562 | dev: true 1563 | 1564 | /emoji-regex/9.2.2: 1565 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1566 | dev: true 1567 | 1568 | /error-ex/1.3.2: 1569 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1570 | dependencies: 1571 | is-arrayish: 0.2.1 1572 | dev: true 1573 | 1574 | /escalade/3.1.1: 1575 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1576 | engines: {node: '>=6'} 1577 | dev: true 1578 | 1579 | /escape-string-regexp/1.0.5: 1580 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1581 | engines: {node: '>=0.8.0'} 1582 | dev: true 1583 | 1584 | /escape-string-regexp/2.0.0: 1585 | resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} 1586 | engines: {node: '>=8'} 1587 | dev: true 1588 | 1589 | /escape-string-regexp/4.0.0: 1590 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1591 | engines: {node: '>=10'} 1592 | dev: true 1593 | 1594 | /eslint-config-prettier/8.7.0_eslint@8.35.0: 1595 | resolution: {integrity: sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA==} 1596 | hasBin: true 1597 | peerDependencies: 1598 | eslint: '>=7.0.0' 1599 | dependencies: 1600 | eslint: 8.35.0 1601 | dev: true 1602 | 1603 | /eslint-scope/5.1.1: 1604 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} 1605 | engines: {node: '>=8.0.0'} 1606 | dependencies: 1607 | esrecurse: 4.3.0 1608 | estraverse: 4.3.0 1609 | dev: true 1610 | 1611 | /eslint-scope/7.1.1: 1612 | resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} 1613 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1614 | dependencies: 1615 | esrecurse: 4.3.0 1616 | estraverse: 5.3.0 1617 | dev: true 1618 | 1619 | /eslint-utils/3.0.0_eslint@8.35.0: 1620 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} 1621 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} 1622 | peerDependencies: 1623 | eslint: '>=5' 1624 | dependencies: 1625 | eslint: 8.35.0 1626 | eslint-visitor-keys: 2.1.0 1627 | dev: true 1628 | 1629 | /eslint-visitor-keys/2.1.0: 1630 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} 1631 | engines: {node: '>=10'} 1632 | dev: true 1633 | 1634 | /eslint-visitor-keys/3.3.0: 1635 | resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} 1636 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1637 | dev: true 1638 | 1639 | /eslint/8.35.0: 1640 | resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} 1641 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1642 | hasBin: true 1643 | dependencies: 1644 | '@eslint/eslintrc': 2.0.0 1645 | '@eslint/js': 8.35.0 1646 | '@humanwhocodes/config-array': 0.11.8 1647 | '@humanwhocodes/module-importer': 1.0.1 1648 | '@nodelib/fs.walk': 1.2.8 1649 | ajv: 6.12.6 1650 | chalk: 4.1.2 1651 | cross-spawn: 7.0.3 1652 | debug: 4.3.4 1653 | doctrine: 3.0.0 1654 | escape-string-regexp: 4.0.0 1655 | eslint-scope: 7.1.1 1656 | eslint-utils: 3.0.0_eslint@8.35.0 1657 | eslint-visitor-keys: 3.3.0 1658 | espree: 9.4.1 1659 | esquery: 1.5.0 1660 | esutils: 2.0.3 1661 | fast-deep-equal: 3.1.3 1662 | file-entry-cache: 6.0.1 1663 | find-up: 5.0.0 1664 | glob-parent: 6.0.2 1665 | globals: 13.20.0 1666 | grapheme-splitter: 1.0.4 1667 | ignore: 5.2.4 1668 | import-fresh: 3.3.0 1669 | imurmurhash: 0.1.4 1670 | is-glob: 4.0.3 1671 | is-path-inside: 3.0.3 1672 | js-sdsl: 4.3.0 1673 | js-yaml: 4.1.0 1674 | json-stable-stringify-without-jsonify: 1.0.1 1675 | levn: 0.4.1 1676 | lodash.merge: 4.6.2 1677 | minimatch: 3.1.2 1678 | natural-compare: 1.4.0 1679 | optionator: 0.9.1 1680 | regexpp: 3.2.0 1681 | strip-ansi: 6.0.1 1682 | strip-json-comments: 3.1.1 1683 | text-table: 0.2.0 1684 | transitivePeerDependencies: 1685 | - supports-color 1686 | dev: true 1687 | 1688 | /espree/9.4.1: 1689 | resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} 1690 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1691 | dependencies: 1692 | acorn: 8.8.2 1693 | acorn-jsx: 5.3.2_acorn@8.8.2 1694 | eslint-visitor-keys: 3.3.0 1695 | dev: true 1696 | 1697 | /esprima/4.0.1: 1698 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1699 | engines: {node: '>=4'} 1700 | hasBin: true 1701 | dev: true 1702 | 1703 | /esquery/1.5.0: 1704 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} 1705 | engines: {node: '>=0.10'} 1706 | dependencies: 1707 | estraverse: 5.3.0 1708 | dev: true 1709 | 1710 | /esrecurse/4.3.0: 1711 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1712 | engines: {node: '>=4.0'} 1713 | dependencies: 1714 | estraverse: 5.3.0 1715 | dev: true 1716 | 1717 | /estraverse/4.3.0: 1718 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} 1719 | engines: {node: '>=4.0'} 1720 | dev: true 1721 | 1722 | /estraverse/5.3.0: 1723 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1724 | engines: {node: '>=4.0'} 1725 | dev: true 1726 | 1727 | /esutils/2.0.3: 1728 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1729 | engines: {node: '>=0.10.0'} 1730 | dev: true 1731 | 1732 | /execa/5.1.1: 1733 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1734 | engines: {node: '>=10'} 1735 | dependencies: 1736 | cross-spawn: 7.0.3 1737 | get-stream: 6.0.1 1738 | human-signals: 2.1.0 1739 | is-stream: 2.0.1 1740 | merge-stream: 2.0.0 1741 | npm-run-path: 4.0.1 1742 | onetime: 5.1.2 1743 | signal-exit: 3.0.7 1744 | strip-final-newline: 2.0.0 1745 | dev: true 1746 | 1747 | /execa/6.1.0: 1748 | resolution: {integrity: sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==} 1749 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1750 | dependencies: 1751 | cross-spawn: 7.0.3 1752 | get-stream: 6.0.1 1753 | human-signals: 3.0.1 1754 | is-stream: 3.0.0 1755 | merge-stream: 2.0.0 1756 | npm-run-path: 5.1.0 1757 | onetime: 6.0.0 1758 | signal-exit: 3.0.7 1759 | strip-final-newline: 3.0.0 1760 | dev: true 1761 | 1762 | /exit/0.1.2: 1763 | resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} 1764 | engines: {node: '>= 0.8.0'} 1765 | dev: true 1766 | 1767 | /expect/29.5.0: 1768 | resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} 1769 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1770 | dependencies: 1771 | '@jest/expect-utils': 29.5.0 1772 | jest-get-type: 29.4.3 1773 | jest-matcher-utils: 29.5.0 1774 | jest-message-util: 29.5.0 1775 | jest-util: 29.5.0 1776 | dev: true 1777 | 1778 | /fast-deep-equal/3.1.3: 1779 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1780 | dev: true 1781 | 1782 | /fast-glob/3.2.12: 1783 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1784 | engines: {node: '>=8.6.0'} 1785 | dependencies: 1786 | '@nodelib/fs.stat': 2.0.5 1787 | '@nodelib/fs.walk': 1.2.8 1788 | glob-parent: 5.1.2 1789 | merge2: 1.4.1 1790 | micromatch: 4.0.5 1791 | dev: true 1792 | 1793 | /fast-json-stable-stringify/2.1.0: 1794 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1795 | dev: true 1796 | 1797 | /fast-levenshtein/2.0.6: 1798 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1799 | dev: true 1800 | 1801 | /fastq/1.15.0: 1802 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1803 | dependencies: 1804 | reusify: 1.0.4 1805 | dev: true 1806 | 1807 | /fb-watchman/2.0.2: 1808 | resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} 1809 | dependencies: 1810 | bser: 2.1.1 1811 | dev: true 1812 | 1813 | /file-entry-cache/6.0.1: 1814 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} 1815 | engines: {node: ^10.12.0 || >=12.0.0} 1816 | dependencies: 1817 | flat-cache: 3.0.4 1818 | dev: true 1819 | 1820 | /fill-range/7.0.1: 1821 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1822 | engines: {node: '>=8'} 1823 | dependencies: 1824 | to-regex-range: 5.0.1 1825 | dev: true 1826 | 1827 | /find-up/4.1.0: 1828 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1829 | engines: {node: '>=8'} 1830 | dependencies: 1831 | locate-path: 5.0.0 1832 | path-exists: 4.0.0 1833 | dev: true 1834 | 1835 | /find-up/5.0.0: 1836 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1837 | engines: {node: '>=10'} 1838 | dependencies: 1839 | locate-path: 6.0.0 1840 | path-exists: 4.0.0 1841 | dev: true 1842 | 1843 | /flat-cache/3.0.4: 1844 | resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} 1845 | engines: {node: ^10.12.0 || >=12.0.0} 1846 | dependencies: 1847 | flatted: 3.2.7 1848 | rimraf: 3.0.2 1849 | dev: true 1850 | 1851 | /flatted/3.2.7: 1852 | resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} 1853 | dev: true 1854 | 1855 | /fs.realpath/1.0.0: 1856 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1857 | dev: true 1858 | 1859 | /fsevents/2.3.2: 1860 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1861 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1862 | os: [darwin] 1863 | requiresBuild: true 1864 | dev: true 1865 | optional: true 1866 | 1867 | /function-bind/1.1.1: 1868 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1869 | dev: true 1870 | 1871 | /gensync/1.0.0-beta.2: 1872 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 1873 | engines: {node: '>=6.9.0'} 1874 | dev: true 1875 | 1876 | /get-caller-file/2.0.5: 1877 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1878 | engines: {node: 6.* || 8.* || >= 10.*} 1879 | dev: true 1880 | 1881 | /get-package-type/0.1.0: 1882 | resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} 1883 | engines: {node: '>=8.0.0'} 1884 | dev: true 1885 | 1886 | /get-stream/6.0.1: 1887 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1888 | engines: {node: '>=10'} 1889 | dev: true 1890 | 1891 | /glob-parent/5.1.2: 1892 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1893 | engines: {node: '>= 6'} 1894 | dependencies: 1895 | is-glob: 4.0.3 1896 | dev: true 1897 | 1898 | /glob-parent/6.0.2: 1899 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1900 | engines: {node: '>=10.13.0'} 1901 | dependencies: 1902 | is-glob: 4.0.3 1903 | dev: true 1904 | 1905 | /glob/7.2.3: 1906 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1907 | dependencies: 1908 | fs.realpath: 1.0.0 1909 | inflight: 1.0.6 1910 | inherits: 2.0.4 1911 | minimatch: 3.1.2 1912 | once: 1.4.0 1913 | path-is-absolute: 1.0.1 1914 | dev: true 1915 | 1916 | /glob/9.2.1: 1917 | resolution: {integrity: sha512-Pxxgq3W0HyA3XUvSXcFhRSs+43Jsx0ddxcFrbjxNGkL2Ak5BAUBxLqI5G6ADDeCHLfzzXFhe0b1yYcctGmytMA==} 1918 | engines: {node: '>=16 || 14 >=14.17'} 1919 | dependencies: 1920 | fs.realpath: 1.0.0 1921 | minimatch: 7.4.2 1922 | minipass: 4.2.4 1923 | path-scurry: 1.6.1 1924 | dev: true 1925 | 1926 | /globals/11.12.0: 1927 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1928 | engines: {node: '>=4'} 1929 | dev: true 1930 | 1931 | /globals/13.20.0: 1932 | resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} 1933 | engines: {node: '>=8'} 1934 | dependencies: 1935 | type-fest: 0.20.2 1936 | dev: true 1937 | 1938 | /globby/11.1.0: 1939 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1940 | engines: {node: '>=10'} 1941 | dependencies: 1942 | array-union: 2.1.0 1943 | dir-glob: 3.0.1 1944 | fast-glob: 3.2.12 1945 | ignore: 5.2.4 1946 | merge2: 1.4.1 1947 | slash: 3.0.0 1948 | dev: true 1949 | 1950 | /graceful-fs/4.2.11: 1951 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1952 | dev: true 1953 | 1954 | /grapheme-splitter/1.0.4: 1955 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1956 | dev: true 1957 | 1958 | /has-flag/3.0.0: 1959 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1960 | engines: {node: '>=4'} 1961 | dev: true 1962 | 1963 | /has-flag/4.0.0: 1964 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1965 | engines: {node: '>=8'} 1966 | dev: true 1967 | 1968 | /has/1.0.3: 1969 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1970 | engines: {node: '>= 0.4.0'} 1971 | dependencies: 1972 | function-bind: 1.1.1 1973 | dev: true 1974 | 1975 | /html-escaper/2.0.2: 1976 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1977 | dev: true 1978 | 1979 | /human-signals/2.1.0: 1980 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1981 | engines: {node: '>=10.17.0'} 1982 | dev: true 1983 | 1984 | /human-signals/3.0.1: 1985 | resolution: {integrity: sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==} 1986 | engines: {node: '>=12.20.0'} 1987 | dev: true 1988 | 1989 | /husky/8.0.3: 1990 | resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} 1991 | engines: {node: '>=14'} 1992 | hasBin: true 1993 | dev: true 1994 | 1995 | /ignore-by-default/1.0.1: 1996 | resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==} 1997 | dev: true 1998 | 1999 | /ignore/5.2.4: 2000 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 2001 | engines: {node: '>= 4'} 2002 | dev: true 2003 | 2004 | /import-fresh/3.3.0: 2005 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 2006 | engines: {node: '>=6'} 2007 | dependencies: 2008 | parent-module: 1.0.1 2009 | resolve-from: 4.0.0 2010 | dev: true 2011 | 2012 | /import-local/3.1.0: 2013 | resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} 2014 | engines: {node: '>=8'} 2015 | hasBin: true 2016 | dependencies: 2017 | pkg-dir: 4.2.0 2018 | resolve-cwd: 3.0.0 2019 | dev: true 2020 | 2021 | /imurmurhash/0.1.4: 2022 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 2023 | engines: {node: '>=0.8.19'} 2024 | dev: true 2025 | 2026 | /indent-string/4.0.0: 2027 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 2028 | engines: {node: '>=8'} 2029 | dev: true 2030 | 2031 | /inflight/1.0.6: 2032 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 2033 | dependencies: 2034 | once: 1.4.0 2035 | wrappy: 1.0.2 2036 | dev: true 2037 | 2038 | /inherits/2.0.4: 2039 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 2040 | dev: true 2041 | 2042 | /is-arrayish/0.2.1: 2043 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 2044 | dev: true 2045 | 2046 | /is-binary-path/2.1.0: 2047 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 2048 | engines: {node: '>=8'} 2049 | dependencies: 2050 | binary-extensions: 2.2.0 2051 | dev: true 2052 | 2053 | /is-core-module/2.11.0: 2054 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 2055 | dependencies: 2056 | has: 1.0.3 2057 | dev: true 2058 | 2059 | /is-extglob/2.1.1: 2060 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 2061 | engines: {node: '>=0.10.0'} 2062 | dev: true 2063 | 2064 | /is-fullwidth-code-point/3.0.0: 2065 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 2066 | engines: {node: '>=8'} 2067 | dev: true 2068 | 2069 | /is-fullwidth-code-point/4.0.0: 2070 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 2071 | engines: {node: '>=12'} 2072 | dev: true 2073 | 2074 | /is-generator-fn/2.1.0: 2075 | resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} 2076 | engines: {node: '>=6'} 2077 | dev: true 2078 | 2079 | /is-glob/4.0.3: 2080 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 2081 | engines: {node: '>=0.10.0'} 2082 | dependencies: 2083 | is-extglob: 2.1.1 2084 | dev: true 2085 | 2086 | /is-number/7.0.0: 2087 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 2088 | engines: {node: '>=0.12.0'} 2089 | dev: true 2090 | 2091 | /is-path-inside/3.0.3: 2092 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 2093 | engines: {node: '>=8'} 2094 | dev: true 2095 | 2096 | /is-stream/2.0.1: 2097 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 2098 | engines: {node: '>=8'} 2099 | dev: true 2100 | 2101 | /is-stream/3.0.0: 2102 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 2103 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2104 | dev: true 2105 | 2106 | /isexe/2.0.0: 2107 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 2108 | dev: true 2109 | 2110 | /istanbul-lib-coverage/3.2.0: 2111 | resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} 2112 | engines: {node: '>=8'} 2113 | dev: true 2114 | 2115 | /istanbul-lib-instrument/5.2.1: 2116 | resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} 2117 | engines: {node: '>=8'} 2118 | dependencies: 2119 | '@babel/core': 7.21.3 2120 | '@babel/parser': 7.21.3 2121 | '@istanbuljs/schema': 0.1.3 2122 | istanbul-lib-coverage: 3.2.0 2123 | semver: 6.3.0 2124 | transitivePeerDependencies: 2125 | - supports-color 2126 | dev: true 2127 | 2128 | /istanbul-lib-report/3.0.0: 2129 | resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} 2130 | engines: {node: '>=8'} 2131 | dependencies: 2132 | istanbul-lib-coverage: 3.2.0 2133 | make-dir: 3.1.0 2134 | supports-color: 7.2.0 2135 | dev: true 2136 | 2137 | /istanbul-lib-source-maps/4.0.1: 2138 | resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} 2139 | engines: {node: '>=10'} 2140 | dependencies: 2141 | debug: 4.3.4 2142 | istanbul-lib-coverage: 3.2.0 2143 | source-map: 0.6.1 2144 | transitivePeerDependencies: 2145 | - supports-color 2146 | dev: true 2147 | 2148 | /istanbul-reports/3.1.5: 2149 | resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} 2150 | engines: {node: '>=8'} 2151 | dependencies: 2152 | html-escaper: 2.0.2 2153 | istanbul-lib-report: 3.0.0 2154 | dev: true 2155 | 2156 | /jest-changed-files/29.5.0: 2157 | resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==} 2158 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2159 | dependencies: 2160 | execa: 5.1.1 2161 | p-limit: 3.1.0 2162 | dev: true 2163 | 2164 | /jest-circus/29.5.0: 2165 | resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==} 2166 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2167 | dependencies: 2168 | '@jest/environment': 29.5.0 2169 | '@jest/expect': 29.5.0 2170 | '@jest/test-result': 29.5.0 2171 | '@jest/types': 29.5.0 2172 | '@types/node': 18.15.3 2173 | chalk: 4.1.2 2174 | co: 4.6.0 2175 | dedent: 0.7.0 2176 | is-generator-fn: 2.1.0 2177 | jest-each: 29.5.0 2178 | jest-matcher-utils: 29.5.0 2179 | jest-message-util: 29.5.0 2180 | jest-runtime: 29.5.0 2181 | jest-snapshot: 29.5.0 2182 | jest-util: 29.5.0 2183 | p-limit: 3.1.0 2184 | pretty-format: 29.5.0 2185 | pure-rand: 6.0.1 2186 | slash: 3.0.0 2187 | stack-utils: 2.0.6 2188 | transitivePeerDependencies: 2189 | - supports-color 2190 | dev: true 2191 | 2192 | /jest-cli/29.5.0_@types+node@18.15.3: 2193 | resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} 2194 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2195 | hasBin: true 2196 | peerDependencies: 2197 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 2198 | peerDependenciesMeta: 2199 | node-notifier: 2200 | optional: true 2201 | dependencies: 2202 | '@jest/core': 29.5.0 2203 | '@jest/test-result': 29.5.0 2204 | '@jest/types': 29.5.0 2205 | chalk: 4.1.2 2206 | exit: 0.1.2 2207 | graceful-fs: 4.2.11 2208 | import-local: 3.1.0 2209 | jest-config: 29.5.0_@types+node@18.15.3 2210 | jest-util: 29.5.0 2211 | jest-validate: 29.5.0 2212 | prompts: 2.4.2 2213 | yargs: 17.7.1 2214 | transitivePeerDependencies: 2215 | - '@types/node' 2216 | - supports-color 2217 | - ts-node 2218 | dev: true 2219 | 2220 | /jest-config/29.5.0_@types+node@18.15.3: 2221 | resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} 2222 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2223 | peerDependencies: 2224 | '@types/node': '*' 2225 | ts-node: '>=9.0.0' 2226 | peerDependenciesMeta: 2227 | '@types/node': 2228 | optional: true 2229 | ts-node: 2230 | optional: true 2231 | dependencies: 2232 | '@babel/core': 7.21.3 2233 | '@jest/test-sequencer': 29.5.0 2234 | '@jest/types': 29.5.0 2235 | '@types/node': 18.15.3 2236 | babel-jest: 29.5.0_@babel+core@7.21.3 2237 | chalk: 4.1.2 2238 | ci-info: 3.8.0 2239 | deepmerge: 4.3.1 2240 | glob: 7.2.3 2241 | graceful-fs: 4.2.11 2242 | jest-circus: 29.5.0 2243 | jest-environment-node: 29.5.0 2244 | jest-get-type: 29.4.3 2245 | jest-regex-util: 29.4.3 2246 | jest-resolve: 29.5.0 2247 | jest-runner: 29.5.0 2248 | jest-util: 29.5.0 2249 | jest-validate: 29.5.0 2250 | micromatch: 4.0.5 2251 | parse-json: 5.2.0 2252 | pretty-format: 29.5.0 2253 | slash: 3.0.0 2254 | strip-json-comments: 3.1.1 2255 | transitivePeerDependencies: 2256 | - supports-color 2257 | dev: true 2258 | 2259 | /jest-diff/29.5.0: 2260 | resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} 2261 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2262 | dependencies: 2263 | chalk: 4.1.2 2264 | diff-sequences: 29.4.3 2265 | jest-get-type: 29.4.3 2266 | pretty-format: 29.5.0 2267 | dev: true 2268 | 2269 | /jest-docblock/29.4.3: 2270 | resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} 2271 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2272 | dependencies: 2273 | detect-newline: 3.1.0 2274 | dev: true 2275 | 2276 | /jest-each/29.5.0: 2277 | resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==} 2278 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2279 | dependencies: 2280 | '@jest/types': 29.5.0 2281 | chalk: 4.1.2 2282 | jest-get-type: 29.4.3 2283 | jest-util: 29.5.0 2284 | pretty-format: 29.5.0 2285 | dev: true 2286 | 2287 | /jest-environment-node/29.5.0: 2288 | resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==} 2289 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2290 | dependencies: 2291 | '@jest/environment': 29.5.0 2292 | '@jest/fake-timers': 29.5.0 2293 | '@jest/types': 29.5.0 2294 | '@types/node': 18.15.3 2295 | jest-mock: 29.5.0 2296 | jest-util: 29.5.0 2297 | dev: true 2298 | 2299 | /jest-get-type/29.4.3: 2300 | resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} 2301 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2302 | dev: true 2303 | 2304 | /jest-haste-map/29.5.0: 2305 | resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==} 2306 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2307 | dependencies: 2308 | '@jest/types': 29.5.0 2309 | '@types/graceful-fs': 4.1.6 2310 | '@types/node': 18.15.3 2311 | anymatch: 3.1.3 2312 | fb-watchman: 2.0.2 2313 | graceful-fs: 4.2.11 2314 | jest-regex-util: 29.4.3 2315 | jest-util: 29.5.0 2316 | jest-worker: 29.5.0 2317 | micromatch: 4.0.5 2318 | walker: 1.0.8 2319 | optionalDependencies: 2320 | fsevents: 2.3.2 2321 | dev: true 2322 | 2323 | /jest-leak-detector/29.5.0: 2324 | resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==} 2325 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2326 | dependencies: 2327 | jest-get-type: 29.4.3 2328 | pretty-format: 29.5.0 2329 | dev: true 2330 | 2331 | /jest-matcher-utils/29.5.0: 2332 | resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} 2333 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2334 | dependencies: 2335 | chalk: 4.1.2 2336 | jest-diff: 29.5.0 2337 | jest-get-type: 29.4.3 2338 | pretty-format: 29.5.0 2339 | dev: true 2340 | 2341 | /jest-message-util/29.5.0: 2342 | resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} 2343 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2344 | dependencies: 2345 | '@babel/code-frame': 7.18.6 2346 | '@jest/types': 29.5.0 2347 | '@types/stack-utils': 2.0.1 2348 | chalk: 4.1.2 2349 | graceful-fs: 4.2.11 2350 | micromatch: 4.0.5 2351 | pretty-format: 29.5.0 2352 | slash: 3.0.0 2353 | stack-utils: 2.0.6 2354 | dev: true 2355 | 2356 | /jest-mock/29.5.0: 2357 | resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==} 2358 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2359 | dependencies: 2360 | '@jest/types': 29.5.0 2361 | '@types/node': 18.15.3 2362 | jest-util: 29.5.0 2363 | dev: true 2364 | 2365 | /jest-pnp-resolver/1.2.3_jest-resolve@29.5.0: 2366 | resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} 2367 | engines: {node: '>=6'} 2368 | peerDependencies: 2369 | jest-resolve: '*' 2370 | peerDependenciesMeta: 2371 | jest-resolve: 2372 | optional: true 2373 | dependencies: 2374 | jest-resolve: 29.5.0 2375 | dev: true 2376 | 2377 | /jest-regex-util/29.4.3: 2378 | resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} 2379 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2380 | dev: true 2381 | 2382 | /jest-resolve-dependencies/29.5.0: 2383 | resolution: {integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==} 2384 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2385 | dependencies: 2386 | jest-regex-util: 29.4.3 2387 | jest-snapshot: 29.5.0 2388 | transitivePeerDependencies: 2389 | - supports-color 2390 | dev: true 2391 | 2392 | /jest-resolve/29.5.0: 2393 | resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==} 2394 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2395 | dependencies: 2396 | chalk: 4.1.2 2397 | graceful-fs: 4.2.11 2398 | jest-haste-map: 29.5.0 2399 | jest-pnp-resolver: 1.2.3_jest-resolve@29.5.0 2400 | jest-util: 29.5.0 2401 | jest-validate: 29.5.0 2402 | resolve: 1.22.1 2403 | resolve.exports: 2.0.1 2404 | slash: 3.0.0 2405 | dev: true 2406 | 2407 | /jest-runner/29.5.0: 2408 | resolution: {integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==} 2409 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2410 | dependencies: 2411 | '@jest/console': 29.5.0 2412 | '@jest/environment': 29.5.0 2413 | '@jest/test-result': 29.5.0 2414 | '@jest/transform': 29.5.0 2415 | '@jest/types': 29.5.0 2416 | '@types/node': 18.15.3 2417 | chalk: 4.1.2 2418 | emittery: 0.13.1 2419 | graceful-fs: 4.2.11 2420 | jest-docblock: 29.4.3 2421 | jest-environment-node: 29.5.0 2422 | jest-haste-map: 29.5.0 2423 | jest-leak-detector: 29.5.0 2424 | jest-message-util: 29.5.0 2425 | jest-resolve: 29.5.0 2426 | jest-runtime: 29.5.0 2427 | jest-util: 29.5.0 2428 | jest-watcher: 29.5.0 2429 | jest-worker: 29.5.0 2430 | p-limit: 3.1.0 2431 | source-map-support: 0.5.13 2432 | transitivePeerDependencies: 2433 | - supports-color 2434 | dev: true 2435 | 2436 | /jest-runtime/29.5.0: 2437 | resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==} 2438 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2439 | dependencies: 2440 | '@jest/environment': 29.5.0 2441 | '@jest/fake-timers': 29.5.0 2442 | '@jest/globals': 29.5.0 2443 | '@jest/source-map': 29.4.3 2444 | '@jest/test-result': 29.5.0 2445 | '@jest/transform': 29.5.0 2446 | '@jest/types': 29.5.0 2447 | '@types/node': 18.15.3 2448 | chalk: 4.1.2 2449 | cjs-module-lexer: 1.2.2 2450 | collect-v8-coverage: 1.0.1 2451 | glob: 7.2.3 2452 | graceful-fs: 4.2.11 2453 | jest-haste-map: 29.5.0 2454 | jest-message-util: 29.5.0 2455 | jest-mock: 29.5.0 2456 | jest-regex-util: 29.4.3 2457 | jest-resolve: 29.5.0 2458 | jest-snapshot: 29.5.0 2459 | jest-util: 29.5.0 2460 | slash: 3.0.0 2461 | strip-bom: 4.0.0 2462 | transitivePeerDependencies: 2463 | - supports-color 2464 | dev: true 2465 | 2466 | /jest-snapshot/29.5.0: 2467 | resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} 2468 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2469 | dependencies: 2470 | '@babel/core': 7.21.3 2471 | '@babel/generator': 7.21.3 2472 | '@babel/plugin-syntax-jsx': 7.18.6_@babel+core@7.21.3 2473 | '@babel/plugin-syntax-typescript': 7.20.0_@babel+core@7.21.3 2474 | '@babel/traverse': 7.21.3 2475 | '@babel/types': 7.21.3 2476 | '@jest/expect-utils': 29.5.0 2477 | '@jest/transform': 29.5.0 2478 | '@jest/types': 29.5.0 2479 | '@types/babel__traverse': 7.18.3 2480 | '@types/prettier': 2.7.2 2481 | babel-preset-current-node-syntax: 1.0.1_@babel+core@7.21.3 2482 | chalk: 4.1.2 2483 | expect: 29.5.0 2484 | graceful-fs: 4.2.11 2485 | jest-diff: 29.5.0 2486 | jest-get-type: 29.4.3 2487 | jest-matcher-utils: 29.5.0 2488 | jest-message-util: 29.5.0 2489 | jest-util: 29.5.0 2490 | natural-compare: 1.4.0 2491 | pretty-format: 29.5.0 2492 | semver: 7.3.8 2493 | transitivePeerDependencies: 2494 | - supports-color 2495 | dev: true 2496 | 2497 | /jest-util/29.5.0: 2498 | resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} 2499 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2500 | dependencies: 2501 | '@jest/types': 29.5.0 2502 | '@types/node': 18.15.3 2503 | chalk: 4.1.2 2504 | ci-info: 3.8.0 2505 | graceful-fs: 4.2.11 2506 | picomatch: 2.3.1 2507 | dev: true 2508 | 2509 | /jest-validate/29.5.0: 2510 | resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==} 2511 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2512 | dependencies: 2513 | '@jest/types': 29.5.0 2514 | camelcase: 6.3.0 2515 | chalk: 4.1.2 2516 | jest-get-type: 29.4.3 2517 | leven: 3.1.0 2518 | pretty-format: 29.5.0 2519 | dev: true 2520 | 2521 | /jest-watcher/29.5.0: 2522 | resolution: {integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==} 2523 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2524 | dependencies: 2525 | '@jest/test-result': 29.5.0 2526 | '@jest/types': 29.5.0 2527 | '@types/node': 18.15.3 2528 | ansi-escapes: 4.3.2 2529 | chalk: 4.1.2 2530 | emittery: 0.13.1 2531 | jest-util: 29.5.0 2532 | string-length: 4.0.2 2533 | dev: true 2534 | 2535 | /jest-worker/29.5.0: 2536 | resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} 2537 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2538 | dependencies: 2539 | '@types/node': 18.15.3 2540 | jest-util: 29.5.0 2541 | merge-stream: 2.0.0 2542 | supports-color: 8.1.1 2543 | dev: true 2544 | 2545 | /jest/29.5.0_@types+node@18.15.3: 2546 | resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} 2547 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2548 | hasBin: true 2549 | peerDependencies: 2550 | node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 2551 | peerDependenciesMeta: 2552 | node-notifier: 2553 | optional: true 2554 | dependencies: 2555 | '@jest/core': 29.5.0 2556 | '@jest/types': 29.5.0 2557 | import-local: 3.1.0 2558 | jest-cli: 29.5.0_@types+node@18.15.3 2559 | transitivePeerDependencies: 2560 | - '@types/node' 2561 | - supports-color 2562 | - ts-node 2563 | dev: true 2564 | 2565 | /js-sdsl/4.3.0: 2566 | resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} 2567 | dev: true 2568 | 2569 | /js-tokens/4.0.0: 2570 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 2571 | dev: true 2572 | 2573 | /js-yaml/3.14.1: 2574 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 2575 | hasBin: true 2576 | dependencies: 2577 | argparse: 1.0.10 2578 | esprima: 4.0.1 2579 | dev: true 2580 | 2581 | /js-yaml/4.1.0: 2582 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 2583 | hasBin: true 2584 | dependencies: 2585 | argparse: 2.0.1 2586 | dev: true 2587 | 2588 | /jsesc/2.5.2: 2589 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 2590 | engines: {node: '>=4'} 2591 | hasBin: true 2592 | dev: true 2593 | 2594 | /json-parse-even-better-errors/2.3.1: 2595 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 2596 | dev: true 2597 | 2598 | /json-schema-traverse/0.4.1: 2599 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 2600 | dev: true 2601 | 2602 | /json-stable-stringify-without-jsonify/1.0.1: 2603 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 2604 | dev: true 2605 | 2606 | /json5/2.2.3: 2607 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 2608 | engines: {node: '>=6'} 2609 | hasBin: true 2610 | dev: true 2611 | 2612 | /jsonc-parser/3.2.0: 2613 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 2614 | dev: true 2615 | 2616 | /kleur/3.0.3: 2617 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 2618 | engines: {node: '>=6'} 2619 | dev: true 2620 | 2621 | /leven/3.1.0: 2622 | resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} 2623 | engines: {node: '>=6'} 2624 | dev: true 2625 | 2626 | /levn/0.4.1: 2627 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 2628 | engines: {node: '>= 0.8.0'} 2629 | dependencies: 2630 | prelude-ls: 1.2.1 2631 | type-check: 0.4.0 2632 | dev: true 2633 | 2634 | /lilconfig/2.0.6: 2635 | resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} 2636 | engines: {node: '>=10'} 2637 | dev: true 2638 | 2639 | /lines-and-columns/1.2.4: 2640 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 2641 | dev: true 2642 | 2643 | /lint-staged/13.1.2: 2644 | resolution: {integrity: sha512-K9b4FPbWkpnupvK3WXZLbgu9pchUJ6N7TtVZjbaPsoizkqFUDkUReUL25xdrCljJs7uLUF3tZ7nVPeo/6lp+6w==} 2645 | engines: {node: ^14.13.1 || >=16.0.0} 2646 | hasBin: true 2647 | dependencies: 2648 | cli-truncate: 3.1.0 2649 | colorette: 2.0.19 2650 | commander: 9.5.0 2651 | debug: 4.3.4 2652 | execa: 6.1.0 2653 | lilconfig: 2.0.6 2654 | listr2: 5.0.7 2655 | micromatch: 4.0.5 2656 | normalize-path: 3.0.0 2657 | object-inspect: 1.12.3 2658 | pidtree: 0.6.0 2659 | string-argv: 0.3.1 2660 | yaml: 2.2.1 2661 | transitivePeerDependencies: 2662 | - enquirer 2663 | - supports-color 2664 | dev: true 2665 | 2666 | /listr2/5.0.7: 2667 | resolution: {integrity: sha512-MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==} 2668 | engines: {node: ^14.13.1 || >=16.0.0} 2669 | peerDependencies: 2670 | enquirer: '>= 2.3.0 < 3' 2671 | peerDependenciesMeta: 2672 | enquirer: 2673 | optional: true 2674 | dependencies: 2675 | cli-truncate: 2.1.0 2676 | colorette: 2.0.19 2677 | log-update: 4.0.0 2678 | p-map: 4.0.0 2679 | rfdc: 1.3.0 2680 | rxjs: 7.8.0 2681 | through: 2.3.8 2682 | wrap-ansi: 7.0.0 2683 | dev: true 2684 | 2685 | /locate-path/5.0.0: 2686 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 2687 | engines: {node: '>=8'} 2688 | dependencies: 2689 | p-locate: 4.1.0 2690 | dev: true 2691 | 2692 | /locate-path/6.0.0: 2693 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 2694 | engines: {node: '>=10'} 2695 | dependencies: 2696 | p-locate: 5.0.0 2697 | dev: true 2698 | 2699 | /lodash.merge/4.6.2: 2700 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 2701 | dev: true 2702 | 2703 | /log-update/4.0.0: 2704 | resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} 2705 | engines: {node: '>=10'} 2706 | dependencies: 2707 | ansi-escapes: 4.3.2 2708 | cli-cursor: 3.1.0 2709 | slice-ansi: 4.0.0 2710 | wrap-ansi: 6.2.0 2711 | dev: true 2712 | 2713 | /lru-cache/5.1.1: 2714 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 2715 | dependencies: 2716 | yallist: 3.1.1 2717 | dev: true 2718 | 2719 | /lru-cache/6.0.0: 2720 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 2721 | engines: {node: '>=10'} 2722 | dependencies: 2723 | yallist: 4.0.0 2724 | dev: true 2725 | 2726 | /lru-cache/7.18.3: 2727 | resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} 2728 | engines: {node: '>=12'} 2729 | dev: true 2730 | 2731 | /make-dir/3.1.0: 2732 | resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} 2733 | engines: {node: '>=8'} 2734 | dependencies: 2735 | semver: 6.3.0 2736 | dev: true 2737 | 2738 | /makeerror/1.0.12: 2739 | resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} 2740 | dependencies: 2741 | tmpl: 1.0.5 2742 | dev: true 2743 | 2744 | /merge-stream/2.0.0: 2745 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 2746 | dev: true 2747 | 2748 | /merge2/1.4.1: 2749 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 2750 | engines: {node: '>= 8'} 2751 | dev: true 2752 | 2753 | /micromatch/4.0.5: 2754 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 2755 | engines: {node: '>=8.6'} 2756 | dependencies: 2757 | braces: 3.0.2 2758 | picomatch: 2.3.1 2759 | dev: true 2760 | 2761 | /mimic-fn/2.1.0: 2762 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 2763 | engines: {node: '>=6'} 2764 | dev: true 2765 | 2766 | /mimic-fn/4.0.0: 2767 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 2768 | engines: {node: '>=12'} 2769 | dev: true 2770 | 2771 | /minimatch/3.1.2: 2772 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 2773 | dependencies: 2774 | brace-expansion: 1.1.11 2775 | dev: true 2776 | 2777 | /minimatch/7.4.2: 2778 | resolution: {integrity: sha512-xy4q7wou3vUoC9k1xGTXc+awNdGaGVHtFUaey8tiX4H1QRc04DZ/rmDFwNm2EBsuYEhAZ6SgMmYf3InGY6OauA==} 2779 | engines: {node: '>=10'} 2780 | dependencies: 2781 | brace-expansion: 2.0.1 2782 | dev: true 2783 | 2784 | /minipass/4.2.4: 2785 | resolution: {integrity: sha512-lwycX3cBMTvcejsHITUgYj6Gy6A7Nh4Q6h9NP4sTHY1ccJlC7yKzDmiShEHsJ16Jf1nKGDEaiHxiltsJEvk0nQ==} 2786 | engines: {node: '>=8'} 2787 | dev: true 2788 | 2789 | /ms/2.1.2: 2790 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 2791 | dev: true 2792 | 2793 | /natural-compare-lite/1.4.0: 2794 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 2795 | dev: true 2796 | 2797 | /natural-compare/1.4.0: 2798 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 2799 | dev: true 2800 | 2801 | /node-int64/0.4.0: 2802 | resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} 2803 | dev: true 2804 | 2805 | /node-releases/2.0.10: 2806 | resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} 2807 | dev: true 2808 | 2809 | /nodemon/2.0.21: 2810 | resolution: {integrity: sha512-djN/n2549DUtY33S7o1djRCd7dEm0kBnj9c7S9XVXqRUbuggN1MZH/Nqa+5RFQr63Fbefq37nFXAE9VU86yL1A==} 2811 | engines: {node: '>=8.10.0'} 2812 | hasBin: true 2813 | dependencies: 2814 | chokidar: 3.5.3 2815 | debug: 3.2.7_supports-color@5.5.0 2816 | ignore-by-default: 1.0.1 2817 | minimatch: 3.1.2 2818 | pstree.remy: 1.1.8 2819 | semver: 5.7.1 2820 | simple-update-notifier: 1.1.0 2821 | supports-color: 5.5.0 2822 | touch: 3.1.0 2823 | undefsafe: 2.0.5 2824 | dev: true 2825 | 2826 | /nopt/1.0.10: 2827 | resolution: {integrity: sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==} 2828 | hasBin: true 2829 | dependencies: 2830 | abbrev: 1.1.1 2831 | dev: true 2832 | 2833 | /normalize-path/3.0.0: 2834 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 2835 | engines: {node: '>=0.10.0'} 2836 | dev: true 2837 | 2838 | /npm-run-path/4.0.1: 2839 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 2840 | engines: {node: '>=8'} 2841 | dependencies: 2842 | path-key: 3.1.1 2843 | dev: true 2844 | 2845 | /npm-run-path/5.1.0: 2846 | resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} 2847 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 2848 | dependencies: 2849 | path-key: 4.0.0 2850 | dev: true 2851 | 2852 | /object-inspect/1.12.3: 2853 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 2854 | dev: true 2855 | 2856 | /once/1.4.0: 2857 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 2858 | dependencies: 2859 | wrappy: 1.0.2 2860 | dev: true 2861 | 2862 | /onetime/5.1.2: 2863 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 2864 | engines: {node: '>=6'} 2865 | dependencies: 2866 | mimic-fn: 2.1.0 2867 | dev: true 2868 | 2869 | /onetime/6.0.0: 2870 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 2871 | engines: {node: '>=12'} 2872 | dependencies: 2873 | mimic-fn: 4.0.0 2874 | dev: true 2875 | 2876 | /optionator/0.9.1: 2877 | resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} 2878 | engines: {node: '>= 0.8.0'} 2879 | dependencies: 2880 | deep-is: 0.1.4 2881 | fast-levenshtein: 2.0.6 2882 | levn: 0.4.1 2883 | prelude-ls: 1.2.1 2884 | type-check: 0.4.0 2885 | word-wrap: 1.2.3 2886 | dev: true 2887 | 2888 | /p-limit/2.3.0: 2889 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 2890 | engines: {node: '>=6'} 2891 | dependencies: 2892 | p-try: 2.2.0 2893 | dev: true 2894 | 2895 | /p-limit/3.1.0: 2896 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 2897 | engines: {node: '>=10'} 2898 | dependencies: 2899 | yocto-queue: 0.1.0 2900 | dev: true 2901 | 2902 | /p-locate/4.1.0: 2903 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 2904 | engines: {node: '>=8'} 2905 | dependencies: 2906 | p-limit: 2.3.0 2907 | dev: true 2908 | 2909 | /p-locate/5.0.0: 2910 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 2911 | engines: {node: '>=10'} 2912 | dependencies: 2913 | p-limit: 3.1.0 2914 | dev: true 2915 | 2916 | /p-map/4.0.0: 2917 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 2918 | engines: {node: '>=10'} 2919 | dependencies: 2920 | aggregate-error: 3.1.0 2921 | dev: true 2922 | 2923 | /p-try/2.2.0: 2924 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 2925 | engines: {node: '>=6'} 2926 | dev: true 2927 | 2928 | /parent-module/1.0.1: 2929 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 2930 | engines: {node: '>=6'} 2931 | dependencies: 2932 | callsites: 3.1.0 2933 | dev: true 2934 | 2935 | /parse-json/5.2.0: 2936 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 2937 | engines: {node: '>=8'} 2938 | dependencies: 2939 | '@babel/code-frame': 7.18.6 2940 | error-ex: 1.3.2 2941 | json-parse-even-better-errors: 2.3.1 2942 | lines-and-columns: 1.2.4 2943 | dev: true 2944 | 2945 | /path-exists/4.0.0: 2946 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 2947 | engines: {node: '>=8'} 2948 | dev: true 2949 | 2950 | /path-is-absolute/1.0.1: 2951 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 2952 | engines: {node: '>=0.10.0'} 2953 | dev: true 2954 | 2955 | /path-key/3.1.1: 2956 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 2957 | engines: {node: '>=8'} 2958 | dev: true 2959 | 2960 | /path-key/4.0.0: 2961 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 2962 | engines: {node: '>=12'} 2963 | dev: true 2964 | 2965 | /path-parse/1.0.7: 2966 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 2967 | dev: true 2968 | 2969 | /path-scurry/1.6.1: 2970 | resolution: {integrity: sha512-OW+5s+7cw6253Q4E+8qQ/u1fVvcJQCJo/VFD8pje+dbJCF1n5ZRMV2AEHbGp+5Q7jxQIYJxkHopnj6nzdGeZLA==} 2971 | engines: {node: '>=14'} 2972 | dependencies: 2973 | lru-cache: 7.18.3 2974 | minipass: 4.2.4 2975 | dev: true 2976 | 2977 | /path-type/4.0.0: 2978 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 2979 | engines: {node: '>=8'} 2980 | dev: true 2981 | 2982 | /picocolors/1.0.0: 2983 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2984 | dev: true 2985 | 2986 | /picomatch/2.3.1: 2987 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2988 | engines: {node: '>=8.6'} 2989 | dev: true 2990 | 2991 | /pidtree/0.6.0: 2992 | resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} 2993 | engines: {node: '>=0.10'} 2994 | hasBin: true 2995 | dev: true 2996 | 2997 | /pirates/4.0.5: 2998 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} 2999 | engines: {node: '>= 6'} 3000 | dev: true 3001 | 3002 | /pkg-dir/4.2.0: 3003 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 3004 | engines: {node: '>=8'} 3005 | dependencies: 3006 | find-up: 4.1.0 3007 | dev: true 3008 | 3009 | /prelude-ls/1.2.1: 3010 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 3011 | engines: {node: '>= 0.8.0'} 3012 | dev: true 3013 | 3014 | /prettier/2.8.4: 3015 | resolution: {integrity: sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw==} 3016 | engines: {node: '>=10.13.0'} 3017 | hasBin: true 3018 | dev: true 3019 | 3020 | /pretty-format/29.5.0: 3021 | resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} 3022 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 3023 | dependencies: 3024 | '@jest/schemas': 29.4.3 3025 | ansi-styles: 5.2.0 3026 | react-is: 18.2.0 3027 | dev: true 3028 | 3029 | /prompts/2.4.2: 3030 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 3031 | engines: {node: '>= 6'} 3032 | dependencies: 3033 | kleur: 3.0.3 3034 | sisteransi: 1.0.5 3035 | dev: true 3036 | 3037 | /pstree.remy/1.1.8: 3038 | resolution: {integrity: sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==} 3039 | dev: true 3040 | 3041 | /punycode/2.3.0: 3042 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} 3043 | engines: {node: '>=6'} 3044 | dev: true 3045 | 3046 | /pure-rand/6.0.1: 3047 | resolution: {integrity: sha512-t+x1zEHDjBwkDGY5v5ApnZ/utcd4XYDiJsaQQoptTXgUXX95sDg1elCdJghzicm7n2mbCBJ3uYWr6M22SO19rg==} 3048 | dev: true 3049 | 3050 | /queue-microtask/1.2.3: 3051 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 3052 | dev: true 3053 | 3054 | /react-is/18.2.0: 3055 | resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} 3056 | dev: true 3057 | 3058 | /readdirp/3.6.0: 3059 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 3060 | engines: {node: '>=8.10.0'} 3061 | dependencies: 3062 | picomatch: 2.3.1 3063 | dev: true 3064 | 3065 | /regexpp/3.2.0: 3066 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} 3067 | engines: {node: '>=8'} 3068 | dev: true 3069 | 3070 | /require-directory/2.1.1: 3071 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 3072 | engines: {node: '>=0.10.0'} 3073 | dev: true 3074 | 3075 | /resolve-cwd/3.0.0: 3076 | resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} 3077 | engines: {node: '>=8'} 3078 | dependencies: 3079 | resolve-from: 5.0.0 3080 | dev: true 3081 | 3082 | /resolve-from/4.0.0: 3083 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 3084 | engines: {node: '>=4'} 3085 | dev: true 3086 | 3087 | /resolve-from/5.0.0: 3088 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 3089 | engines: {node: '>=8'} 3090 | dev: true 3091 | 3092 | /resolve.exports/2.0.1: 3093 | resolution: {integrity: sha512-OEJWVeimw8mgQuj3HfkNl4KqRevH7lzeQNaWRPfx0PPse7Jk6ozcsG4FKVgtzDsC1KUF+YlTHh17NcgHOPykLw==} 3094 | engines: {node: '>=10'} 3095 | dev: true 3096 | 3097 | /resolve/1.22.1: 3098 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 3099 | hasBin: true 3100 | dependencies: 3101 | is-core-module: 2.11.0 3102 | path-parse: 1.0.7 3103 | supports-preserve-symlinks-flag: 1.0.0 3104 | dev: true 3105 | 3106 | /restore-cursor/3.1.0: 3107 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 3108 | engines: {node: '>=8'} 3109 | dependencies: 3110 | onetime: 5.1.2 3111 | signal-exit: 3.0.7 3112 | dev: true 3113 | 3114 | /reusify/1.0.4: 3115 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 3116 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 3117 | dev: true 3118 | 3119 | /rfdc/1.3.0: 3120 | resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} 3121 | dev: true 3122 | 3123 | /rimraf/3.0.2: 3124 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 3125 | hasBin: true 3126 | dependencies: 3127 | glob: 7.2.3 3128 | dev: true 3129 | 3130 | /rimraf/4.3.1: 3131 | resolution: {integrity: sha512-GfHJHBzFQra23IxDzIdBqhOWfbtdgS1/dCHrDy+yvhpoJY5TdwdT28oWaHWfRpKFDLd3GZnGTx6Mlt4+anbsxQ==} 3132 | engines: {node: '>=14'} 3133 | hasBin: true 3134 | dependencies: 3135 | glob: 9.2.1 3136 | dev: true 3137 | 3138 | /run-parallel/1.2.0: 3139 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 3140 | dependencies: 3141 | queue-microtask: 1.2.3 3142 | dev: true 3143 | 3144 | /rxjs/7.8.0: 3145 | resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} 3146 | dependencies: 3147 | tslib: 2.5.0 3148 | dev: true 3149 | 3150 | /semver/5.7.1: 3151 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 3152 | hasBin: true 3153 | dev: true 3154 | 3155 | /semver/6.3.0: 3156 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 3157 | hasBin: true 3158 | dev: true 3159 | 3160 | /semver/7.0.0: 3161 | resolution: {integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==} 3162 | hasBin: true 3163 | dev: true 3164 | 3165 | /semver/7.3.8: 3166 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 3167 | engines: {node: '>=10'} 3168 | hasBin: true 3169 | dependencies: 3170 | lru-cache: 6.0.0 3171 | dev: true 3172 | 3173 | /shebang-command/2.0.0: 3174 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 3175 | engines: {node: '>=8'} 3176 | dependencies: 3177 | shebang-regex: 3.0.0 3178 | dev: true 3179 | 3180 | /shebang-regex/3.0.0: 3181 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 3182 | engines: {node: '>=8'} 3183 | dev: true 3184 | 3185 | /signal-exit/3.0.7: 3186 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 3187 | dev: true 3188 | 3189 | /simple-update-notifier/1.1.0: 3190 | resolution: {integrity: sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==} 3191 | engines: {node: '>=8.10.0'} 3192 | dependencies: 3193 | semver: 7.0.0 3194 | dev: true 3195 | 3196 | /sisteransi/1.0.5: 3197 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 3198 | dev: true 3199 | 3200 | /slash/3.0.0: 3201 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 3202 | engines: {node: '>=8'} 3203 | dev: true 3204 | 3205 | /slice-ansi/3.0.0: 3206 | resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} 3207 | engines: {node: '>=8'} 3208 | dependencies: 3209 | ansi-styles: 4.3.0 3210 | astral-regex: 2.0.0 3211 | is-fullwidth-code-point: 3.0.0 3212 | dev: true 3213 | 3214 | /slice-ansi/4.0.0: 3215 | resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} 3216 | engines: {node: '>=10'} 3217 | dependencies: 3218 | ansi-styles: 4.3.0 3219 | astral-regex: 2.0.0 3220 | is-fullwidth-code-point: 3.0.0 3221 | dev: true 3222 | 3223 | /slice-ansi/5.0.0: 3224 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 3225 | engines: {node: '>=12'} 3226 | dependencies: 3227 | ansi-styles: 6.2.1 3228 | is-fullwidth-code-point: 4.0.0 3229 | dev: true 3230 | 3231 | /source-map-support/0.5.13: 3232 | resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} 3233 | dependencies: 3234 | buffer-from: 1.1.2 3235 | source-map: 0.6.1 3236 | dev: true 3237 | 3238 | /source-map/0.6.1: 3239 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 3240 | engines: {node: '>=0.10.0'} 3241 | dev: true 3242 | 3243 | /sprintf-js/1.0.3: 3244 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 3245 | dev: true 3246 | 3247 | /stack-utils/2.0.6: 3248 | resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} 3249 | engines: {node: '>=10'} 3250 | dependencies: 3251 | escape-string-regexp: 2.0.0 3252 | dev: true 3253 | 3254 | /string-argv/0.3.1: 3255 | resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} 3256 | engines: {node: '>=0.6.19'} 3257 | dev: true 3258 | 3259 | /string-length/4.0.2: 3260 | resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} 3261 | engines: {node: '>=10'} 3262 | dependencies: 3263 | char-regex: 1.0.2 3264 | strip-ansi: 6.0.1 3265 | dev: true 3266 | 3267 | /string-width/4.2.3: 3268 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 3269 | engines: {node: '>=8'} 3270 | dependencies: 3271 | emoji-regex: 8.0.0 3272 | is-fullwidth-code-point: 3.0.0 3273 | strip-ansi: 6.0.1 3274 | dev: true 3275 | 3276 | /string-width/5.1.2: 3277 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 3278 | engines: {node: '>=12'} 3279 | dependencies: 3280 | eastasianwidth: 0.2.0 3281 | emoji-regex: 9.2.2 3282 | strip-ansi: 7.0.1 3283 | dev: true 3284 | 3285 | /strip-ansi/6.0.1: 3286 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 3287 | engines: {node: '>=8'} 3288 | dependencies: 3289 | ansi-regex: 5.0.1 3290 | dev: true 3291 | 3292 | /strip-ansi/7.0.1: 3293 | resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} 3294 | engines: {node: '>=12'} 3295 | dependencies: 3296 | ansi-regex: 6.0.1 3297 | dev: true 3298 | 3299 | /strip-bom/4.0.0: 3300 | resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} 3301 | engines: {node: '>=8'} 3302 | dev: true 3303 | 3304 | /strip-final-newline/2.0.0: 3305 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 3306 | engines: {node: '>=6'} 3307 | dev: true 3308 | 3309 | /strip-final-newline/3.0.0: 3310 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 3311 | engines: {node: '>=12'} 3312 | dev: true 3313 | 3314 | /strip-json-comments/3.1.1: 3315 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 3316 | engines: {node: '>=8'} 3317 | dev: true 3318 | 3319 | /supports-color/5.5.0: 3320 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 3321 | engines: {node: '>=4'} 3322 | dependencies: 3323 | has-flag: 3.0.0 3324 | dev: true 3325 | 3326 | /supports-color/7.2.0: 3327 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 3328 | engines: {node: '>=8'} 3329 | dependencies: 3330 | has-flag: 4.0.0 3331 | dev: true 3332 | 3333 | /supports-color/8.1.1: 3334 | resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} 3335 | engines: {node: '>=10'} 3336 | dependencies: 3337 | has-flag: 4.0.0 3338 | dev: true 3339 | 3340 | /supports-preserve-symlinks-flag/1.0.0: 3341 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 3342 | engines: {node: '>= 0.4'} 3343 | dev: true 3344 | 3345 | /test-exclude/6.0.0: 3346 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} 3347 | engines: {node: '>=8'} 3348 | dependencies: 3349 | '@istanbuljs/schema': 0.1.3 3350 | glob: 7.2.3 3351 | minimatch: 3.1.2 3352 | dev: true 3353 | 3354 | /text-table/0.2.0: 3355 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 3356 | dev: true 3357 | 3358 | /through/2.3.8: 3359 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 3360 | dev: true 3361 | 3362 | /tmpl/1.0.5: 3363 | resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} 3364 | dev: true 3365 | 3366 | /to-fast-properties/2.0.0: 3367 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 3368 | engines: {node: '>=4'} 3369 | dev: true 3370 | 3371 | /to-regex-range/5.0.1: 3372 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 3373 | engines: {node: '>=8.0'} 3374 | dependencies: 3375 | is-number: 7.0.0 3376 | dev: true 3377 | 3378 | /touch/3.1.0: 3379 | resolution: {integrity: sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==} 3380 | hasBin: true 3381 | dependencies: 3382 | nopt: 1.0.10 3383 | dev: true 3384 | 3385 | /tslib/1.14.1: 3386 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 3387 | dev: true 3388 | 3389 | /tslib/2.5.0: 3390 | resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} 3391 | dev: true 3392 | 3393 | /tsutils/3.21.0_typescript@4.9.5: 3394 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} 3395 | engines: {node: '>= 6'} 3396 | peerDependencies: 3397 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' 3398 | dependencies: 3399 | tslib: 1.14.1 3400 | typescript: 4.9.5 3401 | dev: true 3402 | 3403 | /turbo-darwin-64/1.8.3: 3404 | resolution: {integrity: sha512-bLM084Wr17VAAY/EvCWj7+OwYHvI9s/NdsvlqGp8iT5HEYVimcornCHespgJS/yvZDfC+mX9EQkn3V2JmYgGGw==} 3405 | cpu: [x64] 3406 | os: [darwin] 3407 | requiresBuild: true 3408 | dev: true 3409 | optional: true 3410 | 3411 | /turbo-darwin-arm64/1.8.3: 3412 | resolution: {integrity: sha512-4oZjXtzakopMK110kue3z/hqu3WLv+eDLZOX1NGdo49gqca9BeD8GbH+sXpAp6tqyeuzpss+PIliVYuyt7LgbA==} 3413 | cpu: [arm64] 3414 | os: [darwin] 3415 | requiresBuild: true 3416 | dev: true 3417 | optional: true 3418 | 3419 | /turbo-linux-64/1.8.3: 3420 | resolution: {integrity: sha512-uvX2VKotf5PU14FCxJA5iHItPQno2JWzerMd+g3/h/Asay6dvxvtVjc39MQeGT0H5njSvzVKFkT+3/5q8lgOEg==} 3421 | cpu: [x64] 3422 | os: [linux] 3423 | requiresBuild: true 3424 | dev: true 3425 | optional: true 3426 | 3427 | /turbo-linux-arm64/1.8.3: 3428 | resolution: {integrity: sha512-E1p+oH3XKMaPS4rqWhYsL4j2Pzc0d/9P5KU7Kn1kqVLo2T3iRA7n2KVULEieUNE0nTH+aIJPXYXOpqCI5wFJaA==} 3429 | cpu: [arm64] 3430 | os: [linux] 3431 | requiresBuild: true 3432 | dev: true 3433 | optional: true 3434 | 3435 | /turbo-windows-64/1.8.3: 3436 | resolution: {integrity: sha512-cnzAytHtoLXd0J7aNzRpZFpL/GTjcBmkvAPlbOdf/Pl1iwS4qzGrudZQ+OM1lmLgLIfBPIavsGHBknTwTNib4A==} 3437 | cpu: [x64] 3438 | os: [win32] 3439 | requiresBuild: true 3440 | dev: true 3441 | optional: true 3442 | 3443 | /turbo-windows-arm64/1.8.3: 3444 | resolution: {integrity: sha512-ulIiItNm2w/zYJdD5/oAzjzNns1IjbpweRzpsE8tLXaWwo6+fnXXkyloUug0IUhcd2k6fJXfoiDZfygqpOVuXg==} 3445 | cpu: [arm64] 3446 | os: [win32] 3447 | requiresBuild: true 3448 | dev: true 3449 | optional: true 3450 | 3451 | /turbo/1.8.3: 3452 | resolution: {integrity: sha512-zGrkU1EuNFmkq6iky6LcMqD4h0OLE8XysVFxQWRIZbcTNnf0XAycbsbeEyiJpiWeqb7qtg2bVuY9EYcNoNhVuQ==} 3453 | hasBin: true 3454 | requiresBuild: true 3455 | optionalDependencies: 3456 | turbo-darwin-64: 1.8.3 3457 | turbo-darwin-arm64: 1.8.3 3458 | turbo-linux-64: 1.8.3 3459 | turbo-linux-arm64: 1.8.3 3460 | turbo-windows-64: 1.8.3 3461 | turbo-windows-arm64: 1.8.3 3462 | dev: true 3463 | 3464 | /type-check/0.4.0: 3465 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 3466 | engines: {node: '>= 0.8.0'} 3467 | dependencies: 3468 | prelude-ls: 1.2.1 3469 | dev: true 3470 | 3471 | /type-detect/4.0.8: 3472 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 3473 | engines: {node: '>=4'} 3474 | dev: true 3475 | 3476 | /type-fest/0.20.2: 3477 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} 3478 | engines: {node: '>=10'} 3479 | dev: true 3480 | 3481 | /type-fest/0.21.3: 3482 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 3483 | engines: {node: '>=10'} 3484 | dev: true 3485 | 3486 | /typescript/4.9.5: 3487 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 3488 | engines: {node: '>=4.2.0'} 3489 | hasBin: true 3490 | dev: true 3491 | 3492 | /undefsafe/2.0.5: 3493 | resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==} 3494 | dev: true 3495 | 3496 | /update-browserslist-db/1.0.10_browserslist@4.21.5: 3497 | resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} 3498 | hasBin: true 3499 | peerDependencies: 3500 | browserslist: '>= 4.21.0' 3501 | dependencies: 3502 | browserslist: 4.21.5 3503 | escalade: 3.1.1 3504 | picocolors: 1.0.0 3505 | dev: true 3506 | 3507 | /uri-js/4.4.1: 3508 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 3509 | dependencies: 3510 | punycode: 2.3.0 3511 | dev: true 3512 | 3513 | /v8-to-istanbul/9.1.0: 3514 | resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} 3515 | engines: {node: '>=10.12.0'} 3516 | dependencies: 3517 | '@jridgewell/trace-mapping': 0.3.17 3518 | '@types/istanbul-lib-coverage': 2.0.4 3519 | convert-source-map: 1.9.0 3520 | dev: true 3521 | 3522 | /walker/1.0.8: 3523 | resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} 3524 | dependencies: 3525 | makeerror: 1.0.12 3526 | dev: true 3527 | 3528 | /which/2.0.2: 3529 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 3530 | engines: {node: '>= 8'} 3531 | hasBin: true 3532 | dependencies: 3533 | isexe: 2.0.0 3534 | dev: true 3535 | 3536 | /word-wrap/1.2.3: 3537 | resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} 3538 | engines: {node: '>=0.10.0'} 3539 | dev: true 3540 | 3541 | /wrap-ansi/6.2.0: 3542 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 3543 | engines: {node: '>=8'} 3544 | dependencies: 3545 | ansi-styles: 4.3.0 3546 | string-width: 4.2.3 3547 | strip-ansi: 6.0.1 3548 | dev: true 3549 | 3550 | /wrap-ansi/7.0.0: 3551 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 3552 | engines: {node: '>=10'} 3553 | dependencies: 3554 | ansi-styles: 4.3.0 3555 | string-width: 4.2.3 3556 | strip-ansi: 6.0.1 3557 | dev: true 3558 | 3559 | /wrappy/1.0.2: 3560 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 3561 | dev: true 3562 | 3563 | /write-file-atomic/4.0.2: 3564 | resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} 3565 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 3566 | dependencies: 3567 | imurmurhash: 0.1.4 3568 | signal-exit: 3.0.7 3569 | dev: true 3570 | 3571 | /y18n/5.0.8: 3572 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 3573 | engines: {node: '>=10'} 3574 | dev: true 3575 | 3576 | /yallist/3.1.1: 3577 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 3578 | dev: true 3579 | 3580 | /yallist/4.0.0: 3581 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 3582 | dev: true 3583 | 3584 | /yaml/2.2.1: 3585 | resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} 3586 | engines: {node: '>= 14'} 3587 | dev: true 3588 | 3589 | /yargs-parser/21.1.1: 3590 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 3591 | engines: {node: '>=12'} 3592 | dev: true 3593 | 3594 | /yargs/17.7.1: 3595 | resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} 3596 | engines: {node: '>=12'} 3597 | dependencies: 3598 | cliui: 8.0.1 3599 | escalade: 3.1.1 3600 | get-caller-file: 2.0.5 3601 | require-directory: 2.1.1 3602 | string-width: 4.2.3 3603 | y18n: 5.0.8 3604 | yargs-parser: 21.1.1 3605 | dev: true 3606 | 3607 | /yocto-queue/0.1.0: 3608 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 3609 | engines: {node: '>=10'} 3610 | dev: true 3611 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - "packages/*" 3 | -------------------------------------------------------------------------------- /tsconfig.base.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@tsconfig/node-lts-strictest/tsconfig.json", 3 | "compilerOptions": { 4 | /* Basic Options */ 5 | "incremental": true, 6 | "declaration": true, 7 | "allowJs": true, 8 | "noEmit": true, 9 | 10 | /* Strict Type-Checking Options */ 11 | "noImplicitAny": true, 12 | "strictNullChecks": true, 13 | "strictFunctionTypes": true, 14 | "strictBindCallApply": true, 15 | "strictPropertyInitialization": false, 16 | "noImplicitThis": true, 17 | "alwaysStrict": true, 18 | "resolveJsonModule": true, 19 | 20 | /* Experimental Options */ 21 | "experimentalDecorators": true, 22 | "emitDecoratorMetadata": false 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base.json", 3 | "compilerOptions": { 4 | "incremental": false, 5 | "noEmit": false 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.base.json", 3 | "include": ["**/*", ".*.js"] 4 | } 5 | -------------------------------------------------------------------------------- /turbo.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://turbo.build/schema.json", 3 | "pipeline": { 4 | "//#lint": { 5 | "inputs": ["!.git/**", "!node_modules/**", "!packages/**"] 6 | }, 7 | "//#lint:fix": { 8 | "inputs": ["!.git/**", "!node_modules/**", "!packages/**"] 9 | }, 10 | "//#format": { 11 | "inputs": ["!.git/**", "!node_modules/**", "!packages/**"] 12 | }, 13 | "//#format:fix": { 14 | "inputs": ["!.git/**", "!node_modules/**", "!packages/**"] 15 | }, 16 | "build": { 17 | "dependsOn": ["^build"], 18 | "outputs": ["dist/**", "tsconfig.tsbuildinfo"] 19 | }, 20 | "clean:build": { 21 | "dependsOn": ["build"] 22 | }, 23 | "dev": { 24 | "dependsOn": ["build"], 25 | "cache": false, 26 | "persistent": true 27 | }, 28 | "lint": {}, 29 | "lint:fix": {}, 30 | "format": {}, 31 | "format:fix": {}, 32 | "test": { 33 | "dependsOn": ["build"] 34 | }, 35 | "typecheck": { 36 | "outputs": ["tsconfig.tsbuildinfo"] 37 | } 38 | }, 39 | "globalDependencies": [ 40 | ".eslintrc.js", 41 | ".eslintignore", 42 | ".lintstagedrc.js", 43 | ".prettierrc.yaml", 44 | "tsconfig.base.json", 45 | "tsconfig.build.json", 46 | "tsconfig.json" 47 | ] 48 | } 49 | --------------------------------------------------------------------------------