├── .changeset ├── config.json ├── pre.json └── tasty-books-wonder.md ├── .editorconfig ├── .github └── workflows │ └── ci.yaml ├── .gitignore ├── .husky ├── pre-commit └── pre-push ├── .prettierignore ├── .prettierrc.json ├── .vscode └── settings.json ├── CHANGELOG.md ├── LICENSE ├── README.md ├── package.json ├── pnpm-lock.yaml ├── src ├── index.ts └── src │ └── index.ts ├── test └── index.test.ts ├── tsconfig.build.json └── tsconfig.json /.changeset/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", 3 | "access": "public", 4 | "baseBranch": "main", 5 | "changelog": [ 6 | "@changesets/changelog-github", 7 | { 8 | "repo": "swordev/merge" 9 | } 10 | ], 11 | "commit": false, 12 | "fixed": [], 13 | "ignore": [], 14 | "linked": [], 15 | "updateInternalDependencies": "patch" 16 | } 17 | -------------------------------------------------------------------------------- /.changeset/pre.json: -------------------------------------------------------------------------------- 1 | { 2 | "mode": "pre", 3 | "tag": "next", 4 | "initialVersions": { 5 | "merge": "2.1.1" 6 | }, 7 | "changesets": [ 8 | "tasty-books-wonder" 9 | ] 10 | } 11 | -------------------------------------------------------------------------------- /.changeset/tasty-books-wonder.md: -------------------------------------------------------------------------------- 1 | --- 2 | "merge": patch 3 | --- 4 | 5 | Don't merge non-plain objects 6 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | end_of_line = lf -------------------------------------------------------------------------------- /.github/workflows/ci.yaml: -------------------------------------------------------------------------------- 1 | name: CI 2 | on: 3 | push: 4 | branches: 5 | - main 6 | env: 7 | NODE_VERSION: 16 8 | PNPM_VERSION: 8 9 | jobs: 10 | release: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/checkout@v3 14 | - uses: actions/setup-node@v3 15 | with: 16 | node-version: ${{ env.NODE_VERSION }} 17 | - uses: pnpm/action-setup@v2 18 | with: 19 | version: ${{ env.PNPM_VERSION }} 20 | - id: pnpm-cache 21 | shell: bash 22 | run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT 23 | - uses: actions/cache@v3 24 | with: 25 | path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} 26 | key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} 27 | restore-keys: ${{ runner.os }}-pnpm-store- 28 | - name: Install dependencies 29 | run: pnpm install 30 | env: 31 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 32 | - name: Test 33 | run: pnpm run test 34 | - name: Build 35 | run: pnpm run build 36 | - name: Create release pull request or publish to npm 37 | id: changesets 38 | uses: changesets/action@v1 39 | with: 40 | commit: "chore: update versions" 41 | title: Update versions 42 | publish: pnpm run release 43 | env: 44 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 45 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 46 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.tsbuildinfo 2 | lib 3 | node_modules -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | pnpm run check -------------------------------------------------------------------------------- /.husky/pre-push: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | pnpm run check 5 | pnpm run test 6 | pnpm run build -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | .changeset/pre.json 2 | *.tsbuildinfo 3 | lib 4 | pnpm-lock.yaml -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "plugins": ["prettier-plugin-sort-json", "prettier-plugin-packagejson"] 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "[json]": { 3 | "editor.defaultFormatter": "esbenp.prettier-vscode" 4 | }, 5 | "[jsonc]": { 6 | "editor.defaultFormatter": "esbenp.prettier-vscode" 7 | }, 8 | "[typescript]": { 9 | "editor.defaultFormatter": "esbenp.prettier-vscode" 10 | }, 11 | "[yaml]": { 12 | "editor.defaultFormatter": "esbenp.prettier-vscode" 13 | }, 14 | "editor.defaultFormatter": "esbenp.prettier-vscode", 15 | "editor.formatOnSave": true, 16 | "typescript.tsdk": "node_modules/typescript/lib" 17 | } 18 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # merge 2 | 3 | ## 2.1.2-next.0 4 | 5 | ### Patch Changes 6 | 7 | - [`e9bea18`](https://github.com/swordev/merge/commit/e9bea183aa374810ab2262639e303eb0500e6790) Thanks [@juanrgm](https://github.com/juanrgm)! - Don't merge non-plain objects 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # merge 2 | 3 | [![workflow-badge]](https://github.com/swordev/merge/actions/workflows/ci.yaml) [![license-badge]](https://github.com/swordev/merge#license) 4 | 5 | [workflow-badge]: https://img.shields.io/github/actions/workflow/status/swordev/merge/ci.yaml?branch=main 6 | [license-badge]: https://img.shields.io/github/license/swordev/merge 7 | 8 | > (recursive)? merging of (cloned)? objects. 9 | 10 | ## Installation 11 | 12 | ```sh 13 | npm install merge 14 | ``` 15 | 16 | ## Usage 17 | 18 | ### API 19 | 20 | ```ts 21 | merge(clone: boolean, ...items: Object[]) 22 | merge(...items: Object[]) 23 | merge.recursive(clone: boolean, ...items: Object[]) 24 | merge.recursive(...items: Object[]) 25 | ``` 26 | 27 | ### Examples 28 | 29 | ```js 30 | const objectA = {}; 31 | 32 | merge(objectA, { value: 1 }, { str: "hello world" }); 33 | 34 | const objectB = merge(true, objectA, { value: 2 }); 35 | 36 | objectA; // { value: 1, str: 'hello world' } 37 | objectB; // { value: 2, str: 'hello world' } 38 | ``` 39 | 40 | ```js 41 | const objectA = {}; 42 | 43 | merge.recursive( 44 | objectA, 45 | { level: { value: 1 } }, 46 | { level: { str: "hello world" } }, 47 | ); 48 | const objectB = merge.recursive(true, objectA, { level: { value: 2 } }); 49 | 50 | objectA.level; // { value: 1, str: 'hello world' } 51 | objectB.level; // { value: 2, str: 'hello world' } 52 | ``` 53 | 54 | ## Development 55 | 56 | ### Requirements 57 | 58 | - [Node.js v18](https://nodejs.org) 59 | - [pnpm v8](https://pnpm.io) 60 | 61 | ### Build 62 | 63 | ```sh 64 | pnpm build 65 | ``` 66 | 67 | ### Test 68 | 69 | ```sh 70 | pnpm test 71 | ``` 72 | 73 | ## License 74 | 75 | Distributed under the MIT License. See LICENSE file in each package for more information. 76 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "merge", 3 | "version": "2.1.2-next.0", 4 | "description": "(recursive)? merging of (cloned)? objects.", 5 | "keywords": [ 6 | "merge", 7 | "recursive", 8 | "extend", 9 | "clone", 10 | "object", 11 | "browser" 12 | ], 13 | "homepage": "https://github.com/swordev/merge", 14 | "repository": { 15 | "type": "git", 16 | "url": "https://github.com/swordev/merge.git" 17 | }, 18 | "license": "MIT", 19 | "contributors": [ 20 | { 21 | "name": "Juanra GM", 22 | "email": "juanrgm724@gmail.com", 23 | "url": "https://github.com/juanrgm" 24 | } 25 | ], 26 | "main": "lib/index.js", 27 | "files": [ 28 | "lib/index.d.ts" 29 | ], 30 | "scripts": { 31 | "build": "tsc --build tsconfig.build.json", 32 | "check": "prettier --cache -c .", 33 | "clean": "tsc --build tsconfig.build.json --clean", 34 | "dev": "tsc --build tsconfig.build.json -w", 35 | "format": "prettier --cache -w .", 36 | "prepare": "husky install", 37 | "release": "changeset publish", 38 | "test": "vitest run" 39 | }, 40 | "devDependencies": { 41 | "@changesets/changelog-github": "^0.4.8", 42 | "@changesets/cli": "^2.26.2", 43 | "husky": "^8.0.3", 44 | "prettier": "^3.0.3", 45 | "prettier-plugin-packagejson": "^2.4.5", 46 | "prettier-plugin-sort-json": "^3.0.1", 47 | "typescript": "^5.2.2", 48 | "vitest": "^0.34.4" 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '6.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | devDependencies: 8 | '@changesets/changelog-github': 9 | specifier: ^0.4.8 10 | version: 0.4.8 11 | '@changesets/cli': 12 | specifier: ^2.26.2 13 | version: 2.26.2 14 | husky: 15 | specifier: ^8.0.3 16 | version: 8.0.3 17 | prettier: 18 | specifier: ^3.0.3 19 | version: 3.0.3 20 | prettier-plugin-packagejson: 21 | specifier: ^2.4.5 22 | version: 2.4.5(prettier@3.0.3) 23 | prettier-plugin-sort-json: 24 | specifier: ^3.0.1 25 | version: 3.0.1(prettier@3.0.3) 26 | typescript: 27 | specifier: ^5.2.2 28 | version: 5.2.2 29 | vitest: 30 | specifier: ^0.34.4 31 | version: 0.34.4 32 | 33 | packages: 34 | 35 | /@babel/code-frame@7.21.4: 36 | resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} 37 | engines: {node: '>=6.9.0'} 38 | dependencies: 39 | '@babel/highlight': 7.18.6 40 | dev: true 41 | 42 | /@babel/helper-validator-identifier@7.19.1: 43 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 44 | engines: {node: '>=6.9.0'} 45 | dev: true 46 | 47 | /@babel/highlight@7.18.6: 48 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 49 | engines: {node: '>=6.9.0'} 50 | dependencies: 51 | '@babel/helper-validator-identifier': 7.19.1 52 | chalk: 2.4.2 53 | js-tokens: 4.0.0 54 | dev: true 55 | 56 | /@babel/runtime@7.21.5: 57 | resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} 58 | engines: {node: '>=6.9.0'} 59 | dependencies: 60 | regenerator-runtime: 0.13.11 61 | dev: true 62 | 63 | /@changesets/apply-release-plan@6.1.4: 64 | resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==} 65 | dependencies: 66 | '@babel/runtime': 7.21.5 67 | '@changesets/config': 2.3.1 68 | '@changesets/get-version-range-type': 0.3.2 69 | '@changesets/git': 2.0.0 70 | '@changesets/types': 5.2.1 71 | '@manypkg/get-packages': 1.1.3 72 | detect-indent: 6.1.0 73 | fs-extra: 7.0.1 74 | lodash.startcase: 4.4.0 75 | outdent: 0.5.0 76 | prettier: 2.8.8 77 | resolve-from: 5.0.0 78 | semver: 7.5.4 79 | dev: true 80 | 81 | /@changesets/assemble-release-plan@5.2.4: 82 | resolution: {integrity: sha512-xJkWX+1/CUaOUWTguXEbCDTyWJFECEhmdtbkjhn5GVBGxdP/JwaHBIU9sW3FR6gD07UwZ7ovpiPclQZs+j+mvg==} 83 | dependencies: 84 | '@babel/runtime': 7.21.5 85 | '@changesets/errors': 0.1.4 86 | '@changesets/get-dependents-graph': 1.3.6 87 | '@changesets/types': 5.2.1 88 | '@manypkg/get-packages': 1.1.3 89 | semver: 7.5.4 90 | dev: true 91 | 92 | /@changesets/changelog-git@0.1.14: 93 | resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} 94 | dependencies: 95 | '@changesets/types': 5.2.1 96 | dev: true 97 | 98 | /@changesets/changelog-github@0.4.8: 99 | resolution: {integrity: sha512-jR1DHibkMAb5v/8ym77E4AMNWZKB5NPzw5a5Wtqm1JepAuIF+hrKp2u04NKM14oBZhHglkCfrla9uq8ORnK/dw==} 100 | dependencies: 101 | '@changesets/get-github-info': 0.5.2 102 | '@changesets/types': 5.2.1 103 | dotenv: 8.6.0 104 | transitivePeerDependencies: 105 | - encoding 106 | dev: true 107 | 108 | /@changesets/cli@2.26.2: 109 | resolution: {integrity: sha512-dnWrJTmRR8bCHikJHl9b9HW3gXACCehz4OasrXpMp7sx97ECuBGGNjJhjPhdZNCvMy9mn4BWdplI323IbqsRig==} 110 | hasBin: true 111 | dependencies: 112 | '@babel/runtime': 7.21.5 113 | '@changesets/apply-release-plan': 6.1.4 114 | '@changesets/assemble-release-plan': 5.2.4 115 | '@changesets/changelog-git': 0.1.14 116 | '@changesets/config': 2.3.1 117 | '@changesets/errors': 0.1.4 118 | '@changesets/get-dependents-graph': 1.3.6 119 | '@changesets/get-release-plan': 3.0.17 120 | '@changesets/git': 2.0.0 121 | '@changesets/logger': 0.0.5 122 | '@changesets/pre': 1.0.14 123 | '@changesets/read': 0.5.9 124 | '@changesets/types': 5.2.1 125 | '@changesets/write': 0.2.3 126 | '@manypkg/get-packages': 1.1.3 127 | '@types/is-ci': 3.0.0 128 | '@types/semver': 7.5.0 129 | ansi-colors: 4.1.3 130 | chalk: 2.4.2 131 | enquirer: 2.3.6 132 | external-editor: 3.1.0 133 | fs-extra: 7.0.1 134 | human-id: 1.0.2 135 | is-ci: 3.0.1 136 | meow: 6.1.1 137 | outdent: 0.5.0 138 | p-limit: 2.3.0 139 | preferred-pm: 3.0.3 140 | resolve-from: 5.0.0 141 | semver: 7.5.4 142 | spawndamnit: 2.0.0 143 | term-size: 2.2.1 144 | tty-table: 4.2.1 145 | dev: true 146 | 147 | /@changesets/config@2.3.1: 148 | resolution: {integrity: sha512-PQXaJl82CfIXddUOppj4zWu+987GCw2M+eQcOepxN5s+kvnsZOwjEJO3DH9eVy+OP6Pg/KFEWdsECFEYTtbg6w==} 149 | dependencies: 150 | '@changesets/errors': 0.1.4 151 | '@changesets/get-dependents-graph': 1.3.6 152 | '@changesets/logger': 0.0.5 153 | '@changesets/types': 5.2.1 154 | '@manypkg/get-packages': 1.1.3 155 | fs-extra: 7.0.1 156 | micromatch: 4.0.5 157 | dev: true 158 | 159 | /@changesets/errors@0.1.4: 160 | resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} 161 | dependencies: 162 | extendable-error: 0.1.7 163 | dev: true 164 | 165 | /@changesets/get-dependents-graph@1.3.6: 166 | resolution: {integrity: sha512-Q/sLgBANmkvUm09GgRsAvEtY3p1/5OCzgBE5vX3vgb5CvW0j7CEljocx5oPXeQSNph6FXulJlXV3Re/v3K3P3Q==} 167 | dependencies: 168 | '@changesets/types': 5.2.1 169 | '@manypkg/get-packages': 1.1.3 170 | chalk: 2.4.2 171 | fs-extra: 7.0.1 172 | semver: 7.5.4 173 | dev: true 174 | 175 | /@changesets/get-github-info@0.5.2: 176 | resolution: {integrity: sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg==} 177 | dependencies: 178 | dataloader: 1.4.0 179 | node-fetch: 2.6.9 180 | transitivePeerDependencies: 181 | - encoding 182 | dev: true 183 | 184 | /@changesets/get-release-plan@3.0.17: 185 | resolution: {integrity: sha512-6IwKTubNEgoOZwDontYc2x2cWXfr6IKxP3IhKeK+WjyD6y3M4Gl/jdQvBw+m/5zWILSOCAaGLu2ZF6Q+WiPniw==} 186 | dependencies: 187 | '@babel/runtime': 7.21.5 188 | '@changesets/assemble-release-plan': 5.2.4 189 | '@changesets/config': 2.3.1 190 | '@changesets/pre': 1.0.14 191 | '@changesets/read': 0.5.9 192 | '@changesets/types': 5.2.1 193 | '@manypkg/get-packages': 1.1.3 194 | dev: true 195 | 196 | /@changesets/get-version-range-type@0.3.2: 197 | resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} 198 | dev: true 199 | 200 | /@changesets/git@2.0.0: 201 | resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} 202 | dependencies: 203 | '@babel/runtime': 7.21.5 204 | '@changesets/errors': 0.1.4 205 | '@changesets/types': 5.2.1 206 | '@manypkg/get-packages': 1.1.3 207 | is-subdir: 1.2.0 208 | micromatch: 4.0.5 209 | spawndamnit: 2.0.0 210 | dev: true 211 | 212 | /@changesets/logger@0.0.5: 213 | resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} 214 | dependencies: 215 | chalk: 2.4.2 216 | dev: true 217 | 218 | /@changesets/parse@0.3.16: 219 | resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} 220 | dependencies: 221 | '@changesets/types': 5.2.1 222 | js-yaml: 3.14.1 223 | dev: true 224 | 225 | /@changesets/pre@1.0.14: 226 | resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} 227 | dependencies: 228 | '@babel/runtime': 7.21.5 229 | '@changesets/errors': 0.1.4 230 | '@changesets/types': 5.2.1 231 | '@manypkg/get-packages': 1.1.3 232 | fs-extra: 7.0.1 233 | dev: true 234 | 235 | /@changesets/read@0.5.9: 236 | resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} 237 | dependencies: 238 | '@babel/runtime': 7.21.5 239 | '@changesets/git': 2.0.0 240 | '@changesets/logger': 0.0.5 241 | '@changesets/parse': 0.3.16 242 | '@changesets/types': 5.2.1 243 | chalk: 2.4.2 244 | fs-extra: 7.0.1 245 | p-filter: 2.1.0 246 | dev: true 247 | 248 | /@changesets/types@4.1.0: 249 | resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} 250 | dev: true 251 | 252 | /@changesets/types@5.2.1: 253 | resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} 254 | dev: true 255 | 256 | /@changesets/write@0.2.3: 257 | resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} 258 | dependencies: 259 | '@babel/runtime': 7.21.5 260 | '@changesets/types': 5.2.1 261 | fs-extra: 7.0.1 262 | human-id: 1.0.2 263 | prettier: 2.8.8 264 | dev: true 265 | 266 | /@esbuild/android-arm64@0.17.18: 267 | resolution: {integrity: sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==} 268 | engines: {node: '>=12'} 269 | cpu: [arm64] 270 | os: [android] 271 | requiresBuild: true 272 | dev: true 273 | optional: true 274 | 275 | /@esbuild/android-arm@0.17.18: 276 | resolution: {integrity: sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==} 277 | engines: {node: '>=12'} 278 | cpu: [arm] 279 | os: [android] 280 | requiresBuild: true 281 | dev: true 282 | optional: true 283 | 284 | /@esbuild/android-x64@0.17.18: 285 | resolution: {integrity: sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==} 286 | engines: {node: '>=12'} 287 | cpu: [x64] 288 | os: [android] 289 | requiresBuild: true 290 | dev: true 291 | optional: true 292 | 293 | /@esbuild/darwin-arm64@0.17.18: 294 | resolution: {integrity: sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==} 295 | engines: {node: '>=12'} 296 | cpu: [arm64] 297 | os: [darwin] 298 | requiresBuild: true 299 | dev: true 300 | optional: true 301 | 302 | /@esbuild/darwin-x64@0.17.18: 303 | resolution: {integrity: sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==} 304 | engines: {node: '>=12'} 305 | cpu: [x64] 306 | os: [darwin] 307 | requiresBuild: true 308 | dev: true 309 | optional: true 310 | 311 | /@esbuild/freebsd-arm64@0.17.18: 312 | resolution: {integrity: sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==} 313 | engines: {node: '>=12'} 314 | cpu: [arm64] 315 | os: [freebsd] 316 | requiresBuild: true 317 | dev: true 318 | optional: true 319 | 320 | /@esbuild/freebsd-x64@0.17.18: 321 | resolution: {integrity: sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==} 322 | engines: {node: '>=12'} 323 | cpu: [x64] 324 | os: [freebsd] 325 | requiresBuild: true 326 | dev: true 327 | optional: true 328 | 329 | /@esbuild/linux-arm64@0.17.18: 330 | resolution: {integrity: sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==} 331 | engines: {node: '>=12'} 332 | cpu: [arm64] 333 | os: [linux] 334 | requiresBuild: true 335 | dev: true 336 | optional: true 337 | 338 | /@esbuild/linux-arm@0.17.18: 339 | resolution: {integrity: sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==} 340 | engines: {node: '>=12'} 341 | cpu: [arm] 342 | os: [linux] 343 | requiresBuild: true 344 | dev: true 345 | optional: true 346 | 347 | /@esbuild/linux-ia32@0.17.18: 348 | resolution: {integrity: sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==} 349 | engines: {node: '>=12'} 350 | cpu: [ia32] 351 | os: [linux] 352 | requiresBuild: true 353 | dev: true 354 | optional: true 355 | 356 | /@esbuild/linux-loong64@0.17.18: 357 | resolution: {integrity: sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==} 358 | engines: {node: '>=12'} 359 | cpu: [loong64] 360 | os: [linux] 361 | requiresBuild: true 362 | dev: true 363 | optional: true 364 | 365 | /@esbuild/linux-mips64el@0.17.18: 366 | resolution: {integrity: sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==} 367 | engines: {node: '>=12'} 368 | cpu: [mips64el] 369 | os: [linux] 370 | requiresBuild: true 371 | dev: true 372 | optional: true 373 | 374 | /@esbuild/linux-ppc64@0.17.18: 375 | resolution: {integrity: sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==} 376 | engines: {node: '>=12'} 377 | cpu: [ppc64] 378 | os: [linux] 379 | requiresBuild: true 380 | dev: true 381 | optional: true 382 | 383 | /@esbuild/linux-riscv64@0.17.18: 384 | resolution: {integrity: sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==} 385 | engines: {node: '>=12'} 386 | cpu: [riscv64] 387 | os: [linux] 388 | requiresBuild: true 389 | dev: true 390 | optional: true 391 | 392 | /@esbuild/linux-s390x@0.17.18: 393 | resolution: {integrity: sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==} 394 | engines: {node: '>=12'} 395 | cpu: [s390x] 396 | os: [linux] 397 | requiresBuild: true 398 | dev: true 399 | optional: true 400 | 401 | /@esbuild/linux-x64@0.17.18: 402 | resolution: {integrity: sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==} 403 | engines: {node: '>=12'} 404 | cpu: [x64] 405 | os: [linux] 406 | requiresBuild: true 407 | dev: true 408 | optional: true 409 | 410 | /@esbuild/netbsd-x64@0.17.18: 411 | resolution: {integrity: sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==} 412 | engines: {node: '>=12'} 413 | cpu: [x64] 414 | os: [netbsd] 415 | requiresBuild: true 416 | dev: true 417 | optional: true 418 | 419 | /@esbuild/openbsd-x64@0.17.18: 420 | resolution: {integrity: sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==} 421 | engines: {node: '>=12'} 422 | cpu: [x64] 423 | os: [openbsd] 424 | requiresBuild: true 425 | dev: true 426 | optional: true 427 | 428 | /@esbuild/sunos-x64@0.17.18: 429 | resolution: {integrity: sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==} 430 | engines: {node: '>=12'} 431 | cpu: [x64] 432 | os: [sunos] 433 | requiresBuild: true 434 | dev: true 435 | optional: true 436 | 437 | /@esbuild/win32-arm64@0.17.18: 438 | resolution: {integrity: sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==} 439 | engines: {node: '>=12'} 440 | cpu: [arm64] 441 | os: [win32] 442 | requiresBuild: true 443 | dev: true 444 | optional: true 445 | 446 | /@esbuild/win32-ia32@0.17.18: 447 | resolution: {integrity: sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==} 448 | engines: {node: '>=12'} 449 | cpu: [ia32] 450 | os: [win32] 451 | requiresBuild: true 452 | dev: true 453 | optional: true 454 | 455 | /@esbuild/win32-x64@0.17.18: 456 | resolution: {integrity: sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==} 457 | engines: {node: '>=12'} 458 | cpu: [x64] 459 | os: [win32] 460 | requiresBuild: true 461 | dev: true 462 | optional: true 463 | 464 | /@jest/schemas@29.6.0: 465 | resolution: {integrity: sha512-rxLjXyJBTL4LQeJW3aKo0M/+GkCOXsO+8i9Iu7eDb6KwtP65ayoDsitrdPBtujxQ88k4wI2FNYfa6TOGwSn6cQ==} 466 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 467 | dependencies: 468 | '@sinclair/typebox': 0.27.8 469 | dev: true 470 | 471 | /@jridgewell/sourcemap-codec@1.4.15: 472 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 473 | dev: true 474 | 475 | /@manypkg/find-root@1.1.0: 476 | resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} 477 | dependencies: 478 | '@babel/runtime': 7.21.5 479 | '@types/node': 12.20.55 480 | find-up: 4.1.0 481 | fs-extra: 8.1.0 482 | dev: true 483 | 484 | /@manypkg/get-packages@1.1.3: 485 | resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} 486 | dependencies: 487 | '@babel/runtime': 7.21.5 488 | '@changesets/types': 4.1.0 489 | '@manypkg/find-root': 1.1.0 490 | fs-extra: 8.1.0 491 | globby: 11.1.0 492 | read-yaml-file: 1.1.0 493 | dev: true 494 | 495 | /@nodelib/fs.scandir@2.1.5: 496 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 497 | engines: {node: '>= 8'} 498 | dependencies: 499 | '@nodelib/fs.stat': 2.0.5 500 | run-parallel: 1.2.0 501 | dev: true 502 | 503 | /@nodelib/fs.stat@2.0.5: 504 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 505 | engines: {node: '>= 8'} 506 | dev: true 507 | 508 | /@nodelib/fs.walk@1.2.8: 509 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 510 | engines: {node: '>= 8'} 511 | dependencies: 512 | '@nodelib/fs.scandir': 2.1.5 513 | fastq: 1.15.0 514 | dev: true 515 | 516 | /@pkgr/utils@2.4.0: 517 | resolution: {integrity: sha512-2OCURAmRtdlL8iUDTypMrrxfwe8frXTeXaxGsVOaYtc/wrUyk8Z/0OBetM7cdlsy7ZFWlMX72VogKeh+A4Xcjw==} 518 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 519 | dependencies: 520 | cross-spawn: 7.0.3 521 | fast-glob: 3.2.12 522 | is-glob: 4.0.3 523 | open: 9.1.0 524 | picocolors: 1.0.0 525 | tslib: 2.5.0 526 | dev: true 527 | 528 | /@sinclair/typebox@0.27.8: 529 | resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 530 | dev: true 531 | 532 | /@types/chai-subset@1.3.3: 533 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} 534 | dependencies: 535 | '@types/chai': 4.3.5 536 | dev: true 537 | 538 | /@types/chai@4.3.5: 539 | resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} 540 | dev: true 541 | 542 | /@types/is-ci@3.0.0: 543 | resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} 544 | dependencies: 545 | ci-info: 3.8.0 546 | dev: true 547 | 548 | /@types/minimist@1.2.2: 549 | resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} 550 | dev: true 551 | 552 | /@types/node@12.20.55: 553 | resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} 554 | dev: true 555 | 556 | /@types/node@14.14.7: 557 | resolution: {integrity: sha512-Zw1vhUSQZYw+7u5dAwNbIA9TuTotpzY/OF7sJM9FqPOF3SPjKnxrjoTktXDZgUjybf4cWVBP7O8wvKdSaGHweg==} 558 | dev: true 559 | 560 | /@types/normalize-package-data@2.4.1: 561 | resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} 562 | dev: true 563 | 564 | /@types/semver@7.5.0: 565 | resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} 566 | dev: true 567 | 568 | /@vitest/expect@0.34.4: 569 | resolution: {integrity: sha512-XlMKX8HyYUqB8dsY8Xxrc64J2Qs9pKMt2Z8vFTL4mBWXJsg4yoALHzJfDWi8h5nkO4Zua4zjqtapQ/IluVkSnA==} 570 | dependencies: 571 | '@vitest/spy': 0.34.4 572 | '@vitest/utils': 0.34.4 573 | chai: 4.3.7 574 | dev: true 575 | 576 | /@vitest/runner@0.34.4: 577 | resolution: {integrity: sha512-hwwdB1StERqUls8oV8YcpmTIpVeJMe4WgYuDongVzixl5hlYLT2G8afhcdADeDeqCaAmZcSgLTLtqkjPQF7x+w==} 578 | dependencies: 579 | '@vitest/utils': 0.34.4 580 | p-limit: 4.0.0 581 | pathe: 1.1.1 582 | dev: true 583 | 584 | /@vitest/snapshot@0.34.4: 585 | resolution: {integrity: sha512-GCsh4coc3YUSL/o+BPUo7lHQbzpdttTxL6f4q0jRx2qVGoYz/cyTRDJHbnwks6TILi6560bVWoBpYC10PuTLHw==} 586 | dependencies: 587 | magic-string: 0.30.1 588 | pathe: 1.1.1 589 | pretty-format: 29.6.1 590 | dev: true 591 | 592 | /@vitest/spy@0.34.4: 593 | resolution: {integrity: sha512-PNU+fd7DUPgA3Ya924b1qKuQkonAW6hL7YUjkON3wmBwSTIlhOSpy04SJ0NrRsEbrXgMMj6Morh04BMf8k+w0g==} 594 | dependencies: 595 | tinyspy: 2.1.1 596 | dev: true 597 | 598 | /@vitest/utils@0.34.4: 599 | resolution: {integrity: sha512-yR2+5CHhp/K4ySY0Qtd+CAL9f5Yh1aXrKfAT42bq6CtlGPh92jIDDDSg7ydlRow1CP+dys4TrOrbELOyNInHSg==} 600 | dependencies: 601 | diff-sequences: 29.4.3 602 | loupe: 2.3.6 603 | pretty-format: 29.6.1 604 | dev: true 605 | 606 | /acorn-walk@8.2.0: 607 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 608 | engines: {node: '>=0.4.0'} 609 | dev: true 610 | 611 | /acorn@8.10.0: 612 | resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} 613 | engines: {node: '>=0.4.0'} 614 | hasBin: true 615 | dev: true 616 | 617 | /ansi-colors@4.1.3: 618 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 619 | engines: {node: '>=6'} 620 | dev: true 621 | 622 | /ansi-regex@5.0.1: 623 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 624 | engines: {node: '>=8'} 625 | dev: true 626 | 627 | /ansi-styles@3.2.1: 628 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 629 | engines: {node: '>=4'} 630 | dependencies: 631 | color-convert: 1.9.3 632 | dev: true 633 | 634 | /ansi-styles@4.3.0: 635 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 636 | engines: {node: '>=8'} 637 | dependencies: 638 | color-convert: 2.0.1 639 | dev: true 640 | 641 | /ansi-styles@5.2.0: 642 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 643 | engines: {node: '>=10'} 644 | dev: true 645 | 646 | /argparse@1.0.10: 647 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} 648 | dependencies: 649 | sprintf-js: 1.0.3 650 | dev: true 651 | 652 | /array-buffer-byte-length@1.0.0: 653 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} 654 | dependencies: 655 | call-bind: 1.0.2 656 | is-array-buffer: 3.0.2 657 | dev: true 658 | 659 | /array-union@2.1.0: 660 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 661 | engines: {node: '>=8'} 662 | dev: true 663 | 664 | /array.prototype.flat@1.3.1: 665 | resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} 666 | engines: {node: '>= 0.4'} 667 | dependencies: 668 | call-bind: 1.0.2 669 | define-properties: 1.2.0 670 | es-abstract: 1.21.2 671 | es-shim-unscopables: 1.0.0 672 | dev: true 673 | 674 | /arrify@1.0.1: 675 | resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} 676 | engines: {node: '>=0.10.0'} 677 | dev: true 678 | 679 | /assertion-error@1.1.0: 680 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 681 | dev: true 682 | 683 | /available-typed-arrays@1.0.5: 684 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} 685 | engines: {node: '>= 0.4'} 686 | dev: true 687 | 688 | /better-path-resolve@1.0.0: 689 | resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} 690 | engines: {node: '>=4'} 691 | dependencies: 692 | is-windows: 1.0.2 693 | dev: true 694 | 695 | /big-integer@1.6.51: 696 | resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} 697 | engines: {node: '>=0.6'} 698 | dev: true 699 | 700 | /bplist-parser@0.2.0: 701 | resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} 702 | engines: {node: '>= 5.10.0'} 703 | dependencies: 704 | big-integer: 1.6.51 705 | dev: true 706 | 707 | /braces@3.0.2: 708 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 709 | engines: {node: '>=8'} 710 | dependencies: 711 | fill-range: 7.0.1 712 | dev: true 713 | 714 | /breakword@1.0.5: 715 | resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} 716 | dependencies: 717 | wcwidth: 1.0.1 718 | dev: true 719 | 720 | /bundle-name@3.0.0: 721 | resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} 722 | engines: {node: '>=12'} 723 | dependencies: 724 | run-applescript: 5.0.0 725 | dev: true 726 | 727 | /cac@6.7.14: 728 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 729 | engines: {node: '>=8'} 730 | dev: true 731 | 732 | /call-bind@1.0.2: 733 | resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} 734 | dependencies: 735 | function-bind: 1.1.1 736 | get-intrinsic: 1.2.0 737 | dev: true 738 | 739 | /camelcase-keys@6.2.2: 740 | resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} 741 | engines: {node: '>=8'} 742 | dependencies: 743 | camelcase: 5.3.1 744 | map-obj: 4.3.0 745 | quick-lru: 4.0.1 746 | dev: true 747 | 748 | /camelcase@5.3.1: 749 | resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} 750 | engines: {node: '>=6'} 751 | dev: true 752 | 753 | /chai@4.3.7: 754 | resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} 755 | engines: {node: '>=4'} 756 | dependencies: 757 | assertion-error: 1.1.0 758 | check-error: 1.0.2 759 | deep-eql: 4.1.3 760 | get-func-name: 2.0.0 761 | loupe: 2.3.6 762 | pathval: 1.1.1 763 | type-detect: 4.0.8 764 | dev: true 765 | 766 | /chalk@2.4.2: 767 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 768 | engines: {node: '>=4'} 769 | dependencies: 770 | ansi-styles: 3.2.1 771 | escape-string-regexp: 1.0.5 772 | supports-color: 5.5.0 773 | dev: true 774 | 775 | /chalk@4.1.2: 776 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 777 | engines: {node: '>=10'} 778 | dependencies: 779 | ansi-styles: 4.3.0 780 | supports-color: 7.2.0 781 | dev: true 782 | 783 | /chardet@0.7.0: 784 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 785 | dev: true 786 | 787 | /check-error@1.0.2: 788 | resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} 789 | dev: true 790 | 791 | /ci-info@3.8.0: 792 | resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} 793 | engines: {node: '>=8'} 794 | dev: true 795 | 796 | /cliui@6.0.0: 797 | resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} 798 | dependencies: 799 | string-width: 4.2.3 800 | strip-ansi: 6.0.1 801 | wrap-ansi: 6.2.0 802 | dev: true 803 | 804 | /cliui@8.0.1: 805 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} 806 | engines: {node: '>=12'} 807 | dependencies: 808 | string-width: 4.2.3 809 | strip-ansi: 6.0.1 810 | wrap-ansi: 7.0.0 811 | dev: true 812 | 813 | /clone@1.0.4: 814 | resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} 815 | engines: {node: '>=0.8'} 816 | dev: true 817 | 818 | /color-convert@1.9.3: 819 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 820 | dependencies: 821 | color-name: 1.1.3 822 | dev: true 823 | 824 | /color-convert@2.0.1: 825 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 826 | engines: {node: '>=7.0.0'} 827 | dependencies: 828 | color-name: 1.1.4 829 | dev: true 830 | 831 | /color-name@1.1.3: 832 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 833 | dev: true 834 | 835 | /color-name@1.1.4: 836 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 837 | dev: true 838 | 839 | /cross-spawn@5.1.0: 840 | resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} 841 | dependencies: 842 | lru-cache: 4.1.5 843 | shebang-command: 1.2.0 844 | which: 1.3.1 845 | dev: true 846 | 847 | /cross-spawn@7.0.3: 848 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 849 | engines: {node: '>= 8'} 850 | dependencies: 851 | path-key: 3.1.1 852 | shebang-command: 2.0.0 853 | which: 2.0.2 854 | dev: true 855 | 856 | /csv-generate@3.4.3: 857 | resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} 858 | dev: true 859 | 860 | /csv-parse@4.16.3: 861 | resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} 862 | dev: true 863 | 864 | /csv-stringify@5.6.5: 865 | resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} 866 | dev: true 867 | 868 | /csv@5.5.3: 869 | resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} 870 | engines: {node: '>= 0.1.90'} 871 | dependencies: 872 | csv-generate: 3.4.3 873 | csv-parse: 4.16.3 874 | csv-stringify: 5.6.5 875 | stream-transform: 2.1.3 876 | dev: true 877 | 878 | /dataloader@1.4.0: 879 | resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} 880 | dev: true 881 | 882 | /debug@4.3.4: 883 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 884 | engines: {node: '>=6.0'} 885 | peerDependencies: 886 | supports-color: '*' 887 | peerDependenciesMeta: 888 | supports-color: 889 | optional: true 890 | dependencies: 891 | ms: 2.1.2 892 | dev: true 893 | 894 | /decamelize-keys@1.1.1: 895 | resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} 896 | engines: {node: '>=0.10.0'} 897 | dependencies: 898 | decamelize: 1.2.0 899 | map-obj: 1.0.1 900 | dev: true 901 | 902 | /decamelize@1.2.0: 903 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} 904 | engines: {node: '>=0.10.0'} 905 | dev: true 906 | 907 | /deep-eql@4.1.3: 908 | resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} 909 | engines: {node: '>=6'} 910 | dependencies: 911 | type-detect: 4.0.8 912 | dev: true 913 | 914 | /default-browser-id@3.0.0: 915 | resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} 916 | engines: {node: '>=12'} 917 | dependencies: 918 | bplist-parser: 0.2.0 919 | untildify: 4.0.0 920 | dev: true 921 | 922 | /default-browser@4.0.0: 923 | resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} 924 | engines: {node: '>=14.16'} 925 | dependencies: 926 | bundle-name: 3.0.0 927 | default-browser-id: 3.0.0 928 | execa: 7.1.1 929 | titleize: 3.0.0 930 | dev: true 931 | 932 | /defaults@1.0.4: 933 | resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} 934 | dependencies: 935 | clone: 1.0.4 936 | dev: true 937 | 938 | /define-lazy-prop@3.0.0: 939 | resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} 940 | engines: {node: '>=12'} 941 | dev: true 942 | 943 | /define-properties@1.2.0: 944 | resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} 945 | engines: {node: '>= 0.4'} 946 | dependencies: 947 | has-property-descriptors: 1.0.0 948 | object-keys: 1.1.1 949 | dev: true 950 | 951 | /detect-indent@6.1.0: 952 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} 953 | engines: {node: '>=8'} 954 | dev: true 955 | 956 | /detect-indent@7.0.1: 957 | resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} 958 | engines: {node: '>=12.20'} 959 | dev: true 960 | 961 | /detect-newline@4.0.0: 962 | resolution: {integrity: sha512-1aXUEPdfGdzVPFpzGJJNgq9o81bGg1s09uxTWsqBlo9PI332uyJRQq13+LK/UN4JfxJbFdCXonUFQ9R/p7yCtw==} 963 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 964 | dev: true 965 | 966 | /diff-sequences@29.4.3: 967 | resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} 968 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 969 | dev: true 970 | 971 | /dir-glob@3.0.1: 972 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 973 | engines: {node: '>=8'} 974 | dependencies: 975 | path-type: 4.0.0 976 | dev: true 977 | 978 | /dotenv@8.6.0: 979 | resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} 980 | engines: {node: '>=10'} 981 | dev: true 982 | 983 | /emoji-regex@8.0.0: 984 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 985 | dev: true 986 | 987 | /enquirer@2.3.6: 988 | resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} 989 | engines: {node: '>=8.6'} 990 | dependencies: 991 | ansi-colors: 4.1.3 992 | dev: true 993 | 994 | /error-ex@1.3.2: 995 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 996 | dependencies: 997 | is-arrayish: 0.2.1 998 | dev: true 999 | 1000 | /es-abstract@1.21.2: 1001 | resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} 1002 | engines: {node: '>= 0.4'} 1003 | dependencies: 1004 | array-buffer-byte-length: 1.0.0 1005 | available-typed-arrays: 1.0.5 1006 | call-bind: 1.0.2 1007 | es-set-tostringtag: 2.0.1 1008 | es-to-primitive: 1.2.1 1009 | function.prototype.name: 1.1.5 1010 | get-intrinsic: 1.2.0 1011 | get-symbol-description: 1.0.0 1012 | globalthis: 1.0.3 1013 | gopd: 1.0.1 1014 | has: 1.0.3 1015 | has-property-descriptors: 1.0.0 1016 | has-proto: 1.0.1 1017 | has-symbols: 1.0.3 1018 | internal-slot: 1.0.5 1019 | is-array-buffer: 3.0.2 1020 | is-callable: 1.2.7 1021 | is-negative-zero: 2.0.2 1022 | is-regex: 1.1.4 1023 | is-shared-array-buffer: 1.0.2 1024 | is-string: 1.0.7 1025 | is-typed-array: 1.1.10 1026 | is-weakref: 1.0.2 1027 | object-inspect: 1.12.3 1028 | object-keys: 1.1.1 1029 | object.assign: 4.1.4 1030 | regexp.prototype.flags: 1.5.0 1031 | safe-regex-test: 1.0.0 1032 | string.prototype.trim: 1.2.7 1033 | string.prototype.trimend: 1.0.6 1034 | string.prototype.trimstart: 1.0.6 1035 | typed-array-length: 1.0.4 1036 | unbox-primitive: 1.0.2 1037 | which-typed-array: 1.1.9 1038 | dev: true 1039 | 1040 | /es-set-tostringtag@2.0.1: 1041 | resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} 1042 | engines: {node: '>= 0.4'} 1043 | dependencies: 1044 | get-intrinsic: 1.2.0 1045 | has: 1.0.3 1046 | has-tostringtag: 1.0.0 1047 | dev: true 1048 | 1049 | /es-shim-unscopables@1.0.0: 1050 | resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} 1051 | dependencies: 1052 | has: 1.0.3 1053 | dev: true 1054 | 1055 | /es-to-primitive@1.2.1: 1056 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 1057 | engines: {node: '>= 0.4'} 1058 | dependencies: 1059 | is-callable: 1.2.7 1060 | is-date-object: 1.0.5 1061 | is-symbol: 1.0.4 1062 | dev: true 1063 | 1064 | /esbuild@0.17.18: 1065 | resolution: {integrity: sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==} 1066 | engines: {node: '>=12'} 1067 | hasBin: true 1068 | requiresBuild: true 1069 | optionalDependencies: 1070 | '@esbuild/android-arm': 0.17.18 1071 | '@esbuild/android-arm64': 0.17.18 1072 | '@esbuild/android-x64': 0.17.18 1073 | '@esbuild/darwin-arm64': 0.17.18 1074 | '@esbuild/darwin-x64': 0.17.18 1075 | '@esbuild/freebsd-arm64': 0.17.18 1076 | '@esbuild/freebsd-x64': 0.17.18 1077 | '@esbuild/linux-arm': 0.17.18 1078 | '@esbuild/linux-arm64': 0.17.18 1079 | '@esbuild/linux-ia32': 0.17.18 1080 | '@esbuild/linux-loong64': 0.17.18 1081 | '@esbuild/linux-mips64el': 0.17.18 1082 | '@esbuild/linux-ppc64': 0.17.18 1083 | '@esbuild/linux-riscv64': 0.17.18 1084 | '@esbuild/linux-s390x': 0.17.18 1085 | '@esbuild/linux-x64': 0.17.18 1086 | '@esbuild/netbsd-x64': 0.17.18 1087 | '@esbuild/openbsd-x64': 0.17.18 1088 | '@esbuild/sunos-x64': 0.17.18 1089 | '@esbuild/win32-arm64': 0.17.18 1090 | '@esbuild/win32-ia32': 0.17.18 1091 | '@esbuild/win32-x64': 0.17.18 1092 | dev: true 1093 | 1094 | /escalade@3.1.1: 1095 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} 1096 | engines: {node: '>=6'} 1097 | dev: true 1098 | 1099 | /escape-string-regexp@1.0.5: 1100 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1101 | engines: {node: '>=0.8.0'} 1102 | dev: true 1103 | 1104 | /esprima@4.0.1: 1105 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1106 | engines: {node: '>=4'} 1107 | hasBin: true 1108 | dev: true 1109 | 1110 | /execa@5.1.1: 1111 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1112 | engines: {node: '>=10'} 1113 | dependencies: 1114 | cross-spawn: 7.0.3 1115 | get-stream: 6.0.1 1116 | human-signals: 2.1.0 1117 | is-stream: 2.0.1 1118 | merge-stream: 2.0.0 1119 | npm-run-path: 4.0.1 1120 | onetime: 5.1.2 1121 | signal-exit: 3.0.7 1122 | strip-final-newline: 2.0.0 1123 | dev: true 1124 | 1125 | /execa@7.1.1: 1126 | resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} 1127 | engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} 1128 | dependencies: 1129 | cross-spawn: 7.0.3 1130 | get-stream: 6.0.1 1131 | human-signals: 4.3.1 1132 | is-stream: 3.0.0 1133 | merge-stream: 2.0.0 1134 | npm-run-path: 5.1.0 1135 | onetime: 6.0.0 1136 | signal-exit: 3.0.7 1137 | strip-final-newline: 3.0.0 1138 | dev: true 1139 | 1140 | /extendable-error@0.1.7: 1141 | resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} 1142 | dev: true 1143 | 1144 | /external-editor@3.1.0: 1145 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 1146 | engines: {node: '>=4'} 1147 | dependencies: 1148 | chardet: 0.7.0 1149 | iconv-lite: 0.4.24 1150 | tmp: 0.0.33 1151 | dev: true 1152 | 1153 | /fast-glob@3.2.12: 1154 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 1155 | engines: {node: '>=8.6.0'} 1156 | dependencies: 1157 | '@nodelib/fs.stat': 2.0.5 1158 | '@nodelib/fs.walk': 1.2.8 1159 | glob-parent: 5.1.2 1160 | merge2: 1.4.1 1161 | micromatch: 4.0.5 1162 | dev: true 1163 | 1164 | /fastq@1.15.0: 1165 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} 1166 | dependencies: 1167 | reusify: 1.0.4 1168 | dev: true 1169 | 1170 | /fill-range@7.0.1: 1171 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1172 | engines: {node: '>=8'} 1173 | dependencies: 1174 | to-regex-range: 5.0.1 1175 | dev: true 1176 | 1177 | /find-up@4.1.0: 1178 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1179 | engines: {node: '>=8'} 1180 | dependencies: 1181 | locate-path: 5.0.0 1182 | path-exists: 4.0.0 1183 | dev: true 1184 | 1185 | /find-up@5.0.0: 1186 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1187 | engines: {node: '>=10'} 1188 | dependencies: 1189 | locate-path: 6.0.0 1190 | path-exists: 4.0.0 1191 | dev: true 1192 | 1193 | /find-yarn-workspace-root2@1.2.16: 1194 | resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} 1195 | dependencies: 1196 | micromatch: 4.0.5 1197 | pkg-dir: 4.2.0 1198 | dev: true 1199 | 1200 | /for-each@0.3.3: 1201 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 1202 | dependencies: 1203 | is-callable: 1.2.7 1204 | dev: true 1205 | 1206 | /fs-extra@7.0.1: 1207 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} 1208 | engines: {node: '>=6 <7 || >=8'} 1209 | dependencies: 1210 | graceful-fs: 4.2.11 1211 | jsonfile: 4.0.0 1212 | universalify: 0.1.2 1213 | dev: true 1214 | 1215 | /fs-extra@8.1.0: 1216 | resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} 1217 | engines: {node: '>=6 <7 || >=8'} 1218 | dependencies: 1219 | graceful-fs: 4.2.11 1220 | jsonfile: 4.0.0 1221 | universalify: 0.1.2 1222 | dev: true 1223 | 1224 | /fsevents@2.3.2: 1225 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 1226 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1227 | os: [darwin] 1228 | requiresBuild: true 1229 | dev: true 1230 | optional: true 1231 | 1232 | /function-bind@1.1.1: 1233 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 1234 | dev: true 1235 | 1236 | /function.prototype.name@1.1.5: 1237 | resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} 1238 | engines: {node: '>= 0.4'} 1239 | dependencies: 1240 | call-bind: 1.0.2 1241 | define-properties: 1.2.0 1242 | es-abstract: 1.21.2 1243 | functions-have-names: 1.2.3 1244 | dev: true 1245 | 1246 | /functions-have-names@1.2.3: 1247 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 1248 | dev: true 1249 | 1250 | /get-caller-file@2.0.5: 1251 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} 1252 | engines: {node: 6.* || 8.* || >= 10.*} 1253 | dev: true 1254 | 1255 | /get-func-name@2.0.0: 1256 | resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} 1257 | dev: true 1258 | 1259 | /get-intrinsic@1.2.0: 1260 | resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} 1261 | dependencies: 1262 | function-bind: 1.1.1 1263 | has: 1.0.3 1264 | has-symbols: 1.0.3 1265 | dev: true 1266 | 1267 | /get-stdin@9.0.0: 1268 | resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} 1269 | engines: {node: '>=12'} 1270 | dev: true 1271 | 1272 | /get-stream@6.0.1: 1273 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1274 | engines: {node: '>=10'} 1275 | dev: true 1276 | 1277 | /get-symbol-description@1.0.0: 1278 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} 1279 | engines: {node: '>= 0.4'} 1280 | dependencies: 1281 | call-bind: 1.0.2 1282 | get-intrinsic: 1.2.0 1283 | dev: true 1284 | 1285 | /git-hooks-list@3.1.0: 1286 | resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} 1287 | dev: true 1288 | 1289 | /glob-parent@5.1.2: 1290 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1291 | engines: {node: '>= 6'} 1292 | dependencies: 1293 | is-glob: 4.0.3 1294 | dev: true 1295 | 1296 | /globalthis@1.0.3: 1297 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} 1298 | engines: {node: '>= 0.4'} 1299 | dependencies: 1300 | define-properties: 1.2.0 1301 | dev: true 1302 | 1303 | /globby@11.1.0: 1304 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1305 | engines: {node: '>=10'} 1306 | dependencies: 1307 | array-union: 2.1.0 1308 | dir-glob: 3.0.1 1309 | fast-glob: 3.2.12 1310 | ignore: 5.2.4 1311 | merge2: 1.4.1 1312 | slash: 3.0.0 1313 | dev: true 1314 | 1315 | /globby@13.1.4: 1316 | resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} 1317 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1318 | dependencies: 1319 | dir-glob: 3.0.1 1320 | fast-glob: 3.2.12 1321 | ignore: 5.2.4 1322 | merge2: 1.4.1 1323 | slash: 4.0.0 1324 | dev: true 1325 | 1326 | /gopd@1.0.1: 1327 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 1328 | dependencies: 1329 | get-intrinsic: 1.2.0 1330 | dev: true 1331 | 1332 | /graceful-fs@4.2.11: 1333 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1334 | dev: true 1335 | 1336 | /grapheme-splitter@1.0.4: 1337 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} 1338 | dev: true 1339 | 1340 | /hard-rejection@2.1.0: 1341 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} 1342 | engines: {node: '>=6'} 1343 | dev: true 1344 | 1345 | /has-bigints@1.0.2: 1346 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 1347 | dev: true 1348 | 1349 | /has-flag@3.0.0: 1350 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1351 | engines: {node: '>=4'} 1352 | dev: true 1353 | 1354 | /has-flag@4.0.0: 1355 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1356 | engines: {node: '>=8'} 1357 | dev: true 1358 | 1359 | /has-property-descriptors@1.0.0: 1360 | resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} 1361 | dependencies: 1362 | get-intrinsic: 1.2.0 1363 | dev: true 1364 | 1365 | /has-proto@1.0.1: 1366 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} 1367 | engines: {node: '>= 0.4'} 1368 | dev: true 1369 | 1370 | /has-symbols@1.0.3: 1371 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 1372 | engines: {node: '>= 0.4'} 1373 | dev: true 1374 | 1375 | /has-tostringtag@1.0.0: 1376 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} 1377 | engines: {node: '>= 0.4'} 1378 | dependencies: 1379 | has-symbols: 1.0.3 1380 | dev: true 1381 | 1382 | /has@1.0.3: 1383 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 1384 | engines: {node: '>= 0.4.0'} 1385 | dependencies: 1386 | function-bind: 1.1.1 1387 | dev: true 1388 | 1389 | /hosted-git-info@2.8.9: 1390 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} 1391 | dev: true 1392 | 1393 | /human-id@1.0.2: 1394 | resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} 1395 | dev: true 1396 | 1397 | /human-signals@2.1.0: 1398 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1399 | engines: {node: '>=10.17.0'} 1400 | dev: true 1401 | 1402 | /human-signals@4.3.1: 1403 | resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} 1404 | engines: {node: '>=14.18.0'} 1405 | dev: true 1406 | 1407 | /husky@8.0.3: 1408 | resolution: {integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==} 1409 | engines: {node: '>=14'} 1410 | hasBin: true 1411 | dev: true 1412 | 1413 | /iconv-lite@0.4.24: 1414 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1415 | engines: {node: '>=0.10.0'} 1416 | dependencies: 1417 | safer-buffer: 2.1.2 1418 | dev: true 1419 | 1420 | /ignore@5.2.4: 1421 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} 1422 | engines: {node: '>= 4'} 1423 | dev: true 1424 | 1425 | /indent-string@4.0.0: 1426 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 1427 | engines: {node: '>=8'} 1428 | dev: true 1429 | 1430 | /internal-slot@1.0.5: 1431 | resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} 1432 | engines: {node: '>= 0.4'} 1433 | dependencies: 1434 | get-intrinsic: 1.2.0 1435 | has: 1.0.3 1436 | side-channel: 1.0.4 1437 | dev: true 1438 | 1439 | /is-array-buffer@3.0.2: 1440 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} 1441 | dependencies: 1442 | call-bind: 1.0.2 1443 | get-intrinsic: 1.2.0 1444 | is-typed-array: 1.1.10 1445 | dev: true 1446 | 1447 | /is-arrayish@0.2.1: 1448 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1449 | dev: true 1450 | 1451 | /is-bigint@1.0.4: 1452 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 1453 | dependencies: 1454 | has-bigints: 1.0.2 1455 | dev: true 1456 | 1457 | /is-boolean-object@1.1.2: 1458 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 1459 | engines: {node: '>= 0.4'} 1460 | dependencies: 1461 | call-bind: 1.0.2 1462 | has-tostringtag: 1.0.0 1463 | dev: true 1464 | 1465 | /is-callable@1.2.7: 1466 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 1467 | engines: {node: '>= 0.4'} 1468 | dev: true 1469 | 1470 | /is-ci@3.0.1: 1471 | resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} 1472 | hasBin: true 1473 | dependencies: 1474 | ci-info: 3.8.0 1475 | dev: true 1476 | 1477 | /is-core-module@2.12.0: 1478 | resolution: {integrity: sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==} 1479 | dependencies: 1480 | has: 1.0.3 1481 | dev: true 1482 | 1483 | /is-date-object@1.0.5: 1484 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 1485 | engines: {node: '>= 0.4'} 1486 | dependencies: 1487 | has-tostringtag: 1.0.0 1488 | dev: true 1489 | 1490 | /is-docker@2.2.1: 1491 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} 1492 | engines: {node: '>=8'} 1493 | hasBin: true 1494 | dev: true 1495 | 1496 | /is-docker@3.0.0: 1497 | resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} 1498 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1499 | hasBin: true 1500 | dev: true 1501 | 1502 | /is-extglob@2.1.1: 1503 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1504 | engines: {node: '>=0.10.0'} 1505 | dev: true 1506 | 1507 | /is-fullwidth-code-point@3.0.0: 1508 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1509 | engines: {node: '>=8'} 1510 | dev: true 1511 | 1512 | /is-glob@4.0.3: 1513 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1514 | engines: {node: '>=0.10.0'} 1515 | dependencies: 1516 | is-extglob: 2.1.1 1517 | dev: true 1518 | 1519 | /is-inside-container@1.0.0: 1520 | resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} 1521 | engines: {node: '>=14.16'} 1522 | hasBin: true 1523 | dependencies: 1524 | is-docker: 3.0.0 1525 | dev: true 1526 | 1527 | /is-negative-zero@2.0.2: 1528 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} 1529 | engines: {node: '>= 0.4'} 1530 | dev: true 1531 | 1532 | /is-number-object@1.0.7: 1533 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 1534 | engines: {node: '>= 0.4'} 1535 | dependencies: 1536 | has-tostringtag: 1.0.0 1537 | dev: true 1538 | 1539 | /is-number@7.0.0: 1540 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1541 | engines: {node: '>=0.12.0'} 1542 | dev: true 1543 | 1544 | /is-plain-obj@1.1.0: 1545 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} 1546 | engines: {node: '>=0.10.0'} 1547 | dev: true 1548 | 1549 | /is-plain-obj@4.1.0: 1550 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 1551 | engines: {node: '>=12'} 1552 | dev: true 1553 | 1554 | /is-regex@1.1.4: 1555 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 1556 | engines: {node: '>= 0.4'} 1557 | dependencies: 1558 | call-bind: 1.0.2 1559 | has-tostringtag: 1.0.0 1560 | dev: true 1561 | 1562 | /is-shared-array-buffer@1.0.2: 1563 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} 1564 | dependencies: 1565 | call-bind: 1.0.2 1566 | dev: true 1567 | 1568 | /is-stream@2.0.1: 1569 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1570 | engines: {node: '>=8'} 1571 | dev: true 1572 | 1573 | /is-stream@3.0.0: 1574 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1575 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1576 | dev: true 1577 | 1578 | /is-string@1.0.7: 1579 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 1580 | engines: {node: '>= 0.4'} 1581 | dependencies: 1582 | has-tostringtag: 1.0.0 1583 | dev: true 1584 | 1585 | /is-subdir@1.2.0: 1586 | resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} 1587 | engines: {node: '>=4'} 1588 | dependencies: 1589 | better-path-resolve: 1.0.0 1590 | dev: true 1591 | 1592 | /is-symbol@1.0.4: 1593 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 1594 | engines: {node: '>= 0.4'} 1595 | dependencies: 1596 | has-symbols: 1.0.3 1597 | dev: true 1598 | 1599 | /is-typed-array@1.1.10: 1600 | resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} 1601 | engines: {node: '>= 0.4'} 1602 | dependencies: 1603 | available-typed-arrays: 1.0.5 1604 | call-bind: 1.0.2 1605 | for-each: 0.3.3 1606 | gopd: 1.0.1 1607 | has-tostringtag: 1.0.0 1608 | dev: true 1609 | 1610 | /is-weakref@1.0.2: 1611 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 1612 | dependencies: 1613 | call-bind: 1.0.2 1614 | dev: true 1615 | 1616 | /is-windows@1.0.2: 1617 | resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} 1618 | engines: {node: '>=0.10.0'} 1619 | dev: true 1620 | 1621 | /is-wsl@2.2.0: 1622 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} 1623 | engines: {node: '>=8'} 1624 | dependencies: 1625 | is-docker: 2.2.1 1626 | dev: true 1627 | 1628 | /isexe@2.0.0: 1629 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1630 | dev: true 1631 | 1632 | /js-tokens@4.0.0: 1633 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1634 | dev: true 1635 | 1636 | /js-yaml@3.14.1: 1637 | resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} 1638 | hasBin: true 1639 | dependencies: 1640 | argparse: 1.0.10 1641 | esprima: 4.0.1 1642 | dev: true 1643 | 1644 | /json-parse-even-better-errors@2.3.1: 1645 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1646 | dev: true 1647 | 1648 | /jsonc-parser@3.2.0: 1649 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 1650 | dev: true 1651 | 1652 | /jsonfile@4.0.0: 1653 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1654 | optionalDependencies: 1655 | graceful-fs: 4.2.11 1656 | dev: true 1657 | 1658 | /kind-of@6.0.3: 1659 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} 1660 | engines: {node: '>=0.10.0'} 1661 | dev: true 1662 | 1663 | /kleur@4.1.5: 1664 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} 1665 | engines: {node: '>=6'} 1666 | dev: true 1667 | 1668 | /lines-and-columns@1.2.4: 1669 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1670 | dev: true 1671 | 1672 | /load-yaml-file@0.2.0: 1673 | resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} 1674 | engines: {node: '>=6'} 1675 | dependencies: 1676 | graceful-fs: 4.2.11 1677 | js-yaml: 3.14.1 1678 | pify: 4.0.1 1679 | strip-bom: 3.0.0 1680 | dev: true 1681 | 1682 | /local-pkg@0.4.3: 1683 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} 1684 | engines: {node: '>=14'} 1685 | dev: true 1686 | 1687 | /locate-path@5.0.0: 1688 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1689 | engines: {node: '>=8'} 1690 | dependencies: 1691 | p-locate: 4.1.0 1692 | dev: true 1693 | 1694 | /locate-path@6.0.0: 1695 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1696 | engines: {node: '>=10'} 1697 | dependencies: 1698 | p-locate: 5.0.0 1699 | dev: true 1700 | 1701 | /lodash.startcase@4.4.0: 1702 | resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} 1703 | dev: true 1704 | 1705 | /loupe@2.3.6: 1706 | resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} 1707 | dependencies: 1708 | get-func-name: 2.0.0 1709 | dev: true 1710 | 1711 | /lru-cache@4.1.5: 1712 | resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} 1713 | dependencies: 1714 | pseudomap: 1.0.2 1715 | yallist: 2.1.2 1716 | dev: true 1717 | 1718 | /lru-cache@6.0.0: 1719 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1720 | engines: {node: '>=10'} 1721 | dependencies: 1722 | yallist: 4.0.0 1723 | dev: true 1724 | 1725 | /magic-string@0.30.1: 1726 | resolution: {integrity: sha512-mbVKXPmS0z0G4XqFDCTllmDQ6coZzn94aMlb0o/A4HEHJCKcanlDZwYJgwnkmgD3jyWhUgj9VsPrfd972yPffA==} 1727 | engines: {node: '>=12'} 1728 | dependencies: 1729 | '@jridgewell/sourcemap-codec': 1.4.15 1730 | dev: true 1731 | 1732 | /map-obj@1.0.1: 1733 | resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} 1734 | engines: {node: '>=0.10.0'} 1735 | dev: true 1736 | 1737 | /map-obj@4.3.0: 1738 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} 1739 | engines: {node: '>=8'} 1740 | dev: true 1741 | 1742 | /meow@6.1.1: 1743 | resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} 1744 | engines: {node: '>=8'} 1745 | dependencies: 1746 | '@types/minimist': 1.2.2 1747 | camelcase-keys: 6.2.2 1748 | decamelize-keys: 1.1.1 1749 | hard-rejection: 2.1.0 1750 | minimist-options: 4.1.0 1751 | normalize-package-data: 2.5.0 1752 | read-pkg-up: 7.0.1 1753 | redent: 3.0.0 1754 | trim-newlines: 3.0.1 1755 | type-fest: 0.13.1 1756 | yargs-parser: 18.1.3 1757 | dev: true 1758 | 1759 | /merge-stream@2.0.0: 1760 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1761 | dev: true 1762 | 1763 | /merge2@1.4.1: 1764 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1765 | engines: {node: '>= 8'} 1766 | dev: true 1767 | 1768 | /micromatch@4.0.5: 1769 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1770 | engines: {node: '>=8.6'} 1771 | dependencies: 1772 | braces: 3.0.2 1773 | picomatch: 2.3.1 1774 | dev: true 1775 | 1776 | /mimic-fn@2.1.0: 1777 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1778 | engines: {node: '>=6'} 1779 | dev: true 1780 | 1781 | /mimic-fn@4.0.0: 1782 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1783 | engines: {node: '>=12'} 1784 | dev: true 1785 | 1786 | /min-indent@1.0.1: 1787 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1788 | engines: {node: '>=4'} 1789 | dev: true 1790 | 1791 | /minimist-options@4.1.0: 1792 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} 1793 | engines: {node: '>= 6'} 1794 | dependencies: 1795 | arrify: 1.0.1 1796 | is-plain-obj: 1.1.0 1797 | kind-of: 6.0.3 1798 | dev: true 1799 | 1800 | /mixme@0.5.9: 1801 | resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} 1802 | engines: {node: '>= 8.0.0'} 1803 | dev: true 1804 | 1805 | /mlly@1.4.0: 1806 | resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} 1807 | dependencies: 1808 | acorn: 8.10.0 1809 | pathe: 1.1.1 1810 | pkg-types: 1.0.3 1811 | ufo: 1.1.2 1812 | dev: true 1813 | 1814 | /ms@2.1.2: 1815 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1816 | dev: true 1817 | 1818 | /nanoid@3.3.6: 1819 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} 1820 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1821 | hasBin: true 1822 | dev: true 1823 | 1824 | /node-fetch@2.6.9: 1825 | resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} 1826 | engines: {node: 4.x || >=6.0.0} 1827 | peerDependencies: 1828 | encoding: ^0.1.0 1829 | peerDependenciesMeta: 1830 | encoding: 1831 | optional: true 1832 | dependencies: 1833 | whatwg-url: 5.0.0 1834 | dev: true 1835 | 1836 | /normalize-package-data@2.5.0: 1837 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} 1838 | dependencies: 1839 | hosted-git-info: 2.8.9 1840 | resolve: 1.22.2 1841 | semver: 5.7.1 1842 | validate-npm-package-license: 3.0.4 1843 | dev: true 1844 | 1845 | /npm-run-path@4.0.1: 1846 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1847 | engines: {node: '>=8'} 1848 | dependencies: 1849 | path-key: 3.1.1 1850 | dev: true 1851 | 1852 | /npm-run-path@5.1.0: 1853 | resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} 1854 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1855 | dependencies: 1856 | path-key: 4.0.0 1857 | dev: true 1858 | 1859 | /object-inspect@1.12.3: 1860 | resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} 1861 | dev: true 1862 | 1863 | /object-keys@1.1.1: 1864 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 1865 | engines: {node: '>= 0.4'} 1866 | dev: true 1867 | 1868 | /object.assign@4.1.4: 1869 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} 1870 | engines: {node: '>= 0.4'} 1871 | dependencies: 1872 | call-bind: 1.0.2 1873 | define-properties: 1.2.0 1874 | has-symbols: 1.0.3 1875 | object-keys: 1.1.1 1876 | dev: true 1877 | 1878 | /onetime@5.1.2: 1879 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1880 | engines: {node: '>=6'} 1881 | dependencies: 1882 | mimic-fn: 2.1.0 1883 | dev: true 1884 | 1885 | /onetime@6.0.0: 1886 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 1887 | engines: {node: '>=12'} 1888 | dependencies: 1889 | mimic-fn: 4.0.0 1890 | dev: true 1891 | 1892 | /open@9.1.0: 1893 | resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} 1894 | engines: {node: '>=14.16'} 1895 | dependencies: 1896 | default-browser: 4.0.0 1897 | define-lazy-prop: 3.0.0 1898 | is-inside-container: 1.0.0 1899 | is-wsl: 2.2.0 1900 | dev: true 1901 | 1902 | /os-tmpdir@1.0.2: 1903 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 1904 | engines: {node: '>=0.10.0'} 1905 | dev: true 1906 | 1907 | /outdent@0.5.0: 1908 | resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} 1909 | dev: true 1910 | 1911 | /p-filter@2.1.0: 1912 | resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} 1913 | engines: {node: '>=8'} 1914 | dependencies: 1915 | p-map: 2.1.0 1916 | dev: true 1917 | 1918 | /p-limit@2.3.0: 1919 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 1920 | engines: {node: '>=6'} 1921 | dependencies: 1922 | p-try: 2.2.0 1923 | dev: true 1924 | 1925 | /p-limit@3.1.0: 1926 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1927 | engines: {node: '>=10'} 1928 | dependencies: 1929 | yocto-queue: 0.1.0 1930 | dev: true 1931 | 1932 | /p-limit@4.0.0: 1933 | resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} 1934 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1935 | dependencies: 1936 | yocto-queue: 1.0.0 1937 | dev: true 1938 | 1939 | /p-locate@4.1.0: 1940 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 1941 | engines: {node: '>=8'} 1942 | dependencies: 1943 | p-limit: 2.3.0 1944 | dev: true 1945 | 1946 | /p-locate@5.0.0: 1947 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1948 | engines: {node: '>=10'} 1949 | dependencies: 1950 | p-limit: 3.1.0 1951 | dev: true 1952 | 1953 | /p-map@2.1.0: 1954 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} 1955 | engines: {node: '>=6'} 1956 | dev: true 1957 | 1958 | /p-try@2.2.0: 1959 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 1960 | engines: {node: '>=6'} 1961 | dev: true 1962 | 1963 | /parse-json@5.2.0: 1964 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1965 | engines: {node: '>=8'} 1966 | dependencies: 1967 | '@babel/code-frame': 7.21.4 1968 | error-ex: 1.3.2 1969 | json-parse-even-better-errors: 2.3.1 1970 | lines-and-columns: 1.2.4 1971 | dev: true 1972 | 1973 | /path-exists@4.0.0: 1974 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1975 | engines: {node: '>=8'} 1976 | dev: true 1977 | 1978 | /path-key@3.1.1: 1979 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1980 | engines: {node: '>=8'} 1981 | dev: true 1982 | 1983 | /path-key@4.0.0: 1984 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 1985 | engines: {node: '>=12'} 1986 | dev: true 1987 | 1988 | /path-parse@1.0.7: 1989 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1990 | dev: true 1991 | 1992 | /path-type@4.0.0: 1993 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1994 | engines: {node: '>=8'} 1995 | dev: true 1996 | 1997 | /pathe@1.1.1: 1998 | resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} 1999 | dev: true 2000 | 2001 | /pathval@1.1.1: 2002 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 2003 | dev: true 2004 | 2005 | /picocolors@1.0.0: 2006 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 2007 | dev: true 2008 | 2009 | /picomatch@2.3.1: 2010 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 2011 | engines: {node: '>=8.6'} 2012 | dev: true 2013 | 2014 | /pify@4.0.1: 2015 | resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} 2016 | engines: {node: '>=6'} 2017 | dev: true 2018 | 2019 | /pkg-dir@4.2.0: 2020 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 2021 | engines: {node: '>=8'} 2022 | dependencies: 2023 | find-up: 4.1.0 2024 | dev: true 2025 | 2026 | /pkg-types@1.0.3: 2027 | resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} 2028 | dependencies: 2029 | jsonc-parser: 3.2.0 2030 | mlly: 1.4.0 2031 | pathe: 1.1.1 2032 | dev: true 2033 | 2034 | /postcss@8.4.23: 2035 | resolution: {integrity: sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==} 2036 | engines: {node: ^10 || ^12 || >=14} 2037 | dependencies: 2038 | nanoid: 3.3.6 2039 | picocolors: 1.0.0 2040 | source-map-js: 1.0.2 2041 | dev: true 2042 | 2043 | /preferred-pm@3.0.3: 2044 | resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} 2045 | engines: {node: '>=10'} 2046 | dependencies: 2047 | find-up: 5.0.0 2048 | find-yarn-workspace-root2: 1.2.16 2049 | path-exists: 4.0.0 2050 | which-pm: 2.0.0 2051 | dev: true 2052 | 2053 | /prettier-plugin-packagejson@2.4.5(prettier@3.0.3): 2054 | resolution: {integrity: sha512-glG71jE1gO3y5+JNAhC8X+4yrlN28rub6Aj461SKbaPie9RgMiHKcInH2Moi2VGOfkTXaEHBhg4uVMBqa+kBUA==} 2055 | peerDependencies: 2056 | prettier: '>= 1.16.0' 2057 | peerDependenciesMeta: 2058 | prettier: 2059 | optional: true 2060 | dependencies: 2061 | prettier: 3.0.3 2062 | sort-package-json: 2.5.1 2063 | synckit: 0.8.5 2064 | dev: true 2065 | 2066 | /prettier-plugin-sort-json@3.0.1(prettier@3.0.3): 2067 | resolution: {integrity: sha512-YwBxM8FxhnTW/Y6oovigLOSvqdNdkyIAi9JdDK2SS5T+Nws6MDhr+xEuiPf83TSPDfWjRc71riMYMfmMHtj05w==} 2068 | engines: {node: '>=16.0.0'} 2069 | peerDependencies: 2070 | prettier: ^3.0.0 2071 | dependencies: 2072 | prettier: 3.0.3 2073 | dev: true 2074 | 2075 | /prettier@2.8.8: 2076 | resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} 2077 | engines: {node: '>=10.13.0'} 2078 | hasBin: true 2079 | dev: true 2080 | 2081 | /prettier@3.0.3: 2082 | resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} 2083 | engines: {node: '>=14'} 2084 | hasBin: true 2085 | dev: true 2086 | 2087 | /pretty-format@29.6.1: 2088 | resolution: {integrity: sha512-7jRj+yXO0W7e4/tSJKoR7HRIHLPPjtNaUGG2xxKQnGvPNRkgWcQ0AZX6P4KBRJN4FcTBWb3sa7DVUJmocYuoog==} 2089 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 2090 | dependencies: 2091 | '@jest/schemas': 29.6.0 2092 | ansi-styles: 5.2.0 2093 | react-is: 18.2.0 2094 | dev: true 2095 | 2096 | /pseudomap@1.0.2: 2097 | resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} 2098 | dev: true 2099 | 2100 | /queue-microtask@1.2.3: 2101 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 2102 | dev: true 2103 | 2104 | /quick-lru@4.0.1: 2105 | resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} 2106 | engines: {node: '>=8'} 2107 | dev: true 2108 | 2109 | /react-is@18.2.0: 2110 | resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} 2111 | dev: true 2112 | 2113 | /read-pkg-up@7.0.1: 2114 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} 2115 | engines: {node: '>=8'} 2116 | dependencies: 2117 | find-up: 4.1.0 2118 | read-pkg: 5.2.0 2119 | type-fest: 0.8.1 2120 | dev: true 2121 | 2122 | /read-pkg@5.2.0: 2123 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} 2124 | engines: {node: '>=8'} 2125 | dependencies: 2126 | '@types/normalize-package-data': 2.4.1 2127 | normalize-package-data: 2.5.0 2128 | parse-json: 5.2.0 2129 | type-fest: 0.6.0 2130 | dev: true 2131 | 2132 | /read-yaml-file@1.1.0: 2133 | resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} 2134 | engines: {node: '>=6'} 2135 | dependencies: 2136 | graceful-fs: 4.2.11 2137 | js-yaml: 3.14.1 2138 | pify: 4.0.1 2139 | strip-bom: 3.0.0 2140 | dev: true 2141 | 2142 | /redent@3.0.0: 2143 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} 2144 | engines: {node: '>=8'} 2145 | dependencies: 2146 | indent-string: 4.0.0 2147 | strip-indent: 3.0.0 2148 | dev: true 2149 | 2150 | /regenerator-runtime@0.13.11: 2151 | resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} 2152 | dev: true 2153 | 2154 | /regexp.prototype.flags@1.5.0: 2155 | resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} 2156 | engines: {node: '>= 0.4'} 2157 | dependencies: 2158 | call-bind: 1.0.2 2159 | define-properties: 1.2.0 2160 | functions-have-names: 1.2.3 2161 | dev: true 2162 | 2163 | /require-directory@2.1.1: 2164 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} 2165 | engines: {node: '>=0.10.0'} 2166 | dev: true 2167 | 2168 | /require-main-filename@2.0.0: 2169 | resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} 2170 | dev: true 2171 | 2172 | /resolve-from@5.0.0: 2173 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 2174 | engines: {node: '>=8'} 2175 | dev: true 2176 | 2177 | /resolve@1.22.2: 2178 | resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} 2179 | hasBin: true 2180 | dependencies: 2181 | is-core-module: 2.12.0 2182 | path-parse: 1.0.7 2183 | supports-preserve-symlinks-flag: 1.0.0 2184 | dev: true 2185 | 2186 | /reusify@1.0.4: 2187 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 2188 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2189 | dev: true 2190 | 2191 | /rollup@3.21.4: 2192 | resolution: {integrity: sha512-N5LxpvDolOm9ueiCp4NfB80omMDqb45ShtsQw2+OT3f11uJ197dv703NZvznYHP6RWR85wfxanXurXKG3ux2GQ==} 2193 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 2194 | hasBin: true 2195 | optionalDependencies: 2196 | fsevents: 2.3.2 2197 | dev: true 2198 | 2199 | /run-applescript@5.0.0: 2200 | resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} 2201 | engines: {node: '>=12'} 2202 | dependencies: 2203 | execa: 5.1.1 2204 | dev: true 2205 | 2206 | /run-parallel@1.2.0: 2207 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2208 | dependencies: 2209 | queue-microtask: 1.2.3 2210 | dev: true 2211 | 2212 | /safe-regex-test@1.0.0: 2213 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} 2214 | dependencies: 2215 | call-bind: 1.0.2 2216 | get-intrinsic: 1.2.0 2217 | is-regex: 1.1.4 2218 | dev: true 2219 | 2220 | /safer-buffer@2.1.2: 2221 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2222 | dev: true 2223 | 2224 | /semver@5.7.1: 2225 | resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} 2226 | hasBin: true 2227 | dev: true 2228 | 2229 | /semver@7.5.4: 2230 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} 2231 | engines: {node: '>=10'} 2232 | hasBin: true 2233 | dependencies: 2234 | lru-cache: 6.0.0 2235 | dev: true 2236 | 2237 | /set-blocking@2.0.0: 2238 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 2239 | dev: true 2240 | 2241 | /shebang-command@1.2.0: 2242 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 2243 | engines: {node: '>=0.10.0'} 2244 | dependencies: 2245 | shebang-regex: 1.0.0 2246 | dev: true 2247 | 2248 | /shebang-command@2.0.0: 2249 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2250 | engines: {node: '>=8'} 2251 | dependencies: 2252 | shebang-regex: 3.0.0 2253 | dev: true 2254 | 2255 | /shebang-regex@1.0.0: 2256 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 2257 | engines: {node: '>=0.10.0'} 2258 | dev: true 2259 | 2260 | /shebang-regex@3.0.0: 2261 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2262 | engines: {node: '>=8'} 2263 | dev: true 2264 | 2265 | /side-channel@1.0.4: 2266 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} 2267 | dependencies: 2268 | call-bind: 1.0.2 2269 | get-intrinsic: 1.2.0 2270 | object-inspect: 1.12.3 2271 | dev: true 2272 | 2273 | /siginfo@2.0.0: 2274 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 2275 | dev: true 2276 | 2277 | /signal-exit@3.0.7: 2278 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2279 | dev: true 2280 | 2281 | /slash@3.0.0: 2282 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 2283 | engines: {node: '>=8'} 2284 | dev: true 2285 | 2286 | /slash@4.0.0: 2287 | resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} 2288 | engines: {node: '>=12'} 2289 | dev: true 2290 | 2291 | /smartwrap@2.0.2: 2292 | resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} 2293 | engines: {node: '>=6'} 2294 | hasBin: true 2295 | dependencies: 2296 | array.prototype.flat: 1.3.1 2297 | breakword: 1.0.5 2298 | grapheme-splitter: 1.0.4 2299 | strip-ansi: 6.0.1 2300 | wcwidth: 1.0.1 2301 | yargs: 15.4.1 2302 | dev: true 2303 | 2304 | /sort-object-keys@1.1.3: 2305 | resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} 2306 | dev: true 2307 | 2308 | /sort-package-json@2.5.1: 2309 | resolution: {integrity: sha512-vx/KoZxm8YNMUqdlw7SGTfqR5pqZ/sUfgOuRtDILiOy/3AvzhAibyUe2cY3OpLs3oRSow9up4yLVtQaM24rbDQ==} 2310 | hasBin: true 2311 | dependencies: 2312 | detect-indent: 7.0.1 2313 | detect-newline: 4.0.0 2314 | get-stdin: 9.0.0 2315 | git-hooks-list: 3.1.0 2316 | globby: 13.1.4 2317 | is-plain-obj: 4.1.0 2318 | sort-object-keys: 1.1.3 2319 | dev: true 2320 | 2321 | /source-map-js@1.0.2: 2322 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 2323 | engines: {node: '>=0.10.0'} 2324 | dev: true 2325 | 2326 | /spawndamnit@2.0.0: 2327 | resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} 2328 | dependencies: 2329 | cross-spawn: 5.1.0 2330 | signal-exit: 3.0.7 2331 | dev: true 2332 | 2333 | /spdx-correct@3.2.0: 2334 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 2335 | dependencies: 2336 | spdx-expression-parse: 3.0.1 2337 | spdx-license-ids: 3.0.13 2338 | dev: true 2339 | 2340 | /spdx-exceptions@2.3.0: 2341 | resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} 2342 | dev: true 2343 | 2344 | /spdx-expression-parse@3.0.1: 2345 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 2346 | dependencies: 2347 | spdx-exceptions: 2.3.0 2348 | spdx-license-ids: 3.0.13 2349 | dev: true 2350 | 2351 | /spdx-license-ids@3.0.13: 2352 | resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} 2353 | dev: true 2354 | 2355 | /sprintf-js@1.0.3: 2356 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} 2357 | dev: true 2358 | 2359 | /stackback@0.0.2: 2360 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 2361 | dev: true 2362 | 2363 | /std-env@3.3.3: 2364 | resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} 2365 | dev: true 2366 | 2367 | /stream-transform@2.1.3: 2368 | resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} 2369 | dependencies: 2370 | mixme: 0.5.9 2371 | dev: true 2372 | 2373 | /string-width@4.2.3: 2374 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2375 | engines: {node: '>=8'} 2376 | dependencies: 2377 | emoji-regex: 8.0.0 2378 | is-fullwidth-code-point: 3.0.0 2379 | strip-ansi: 6.0.1 2380 | dev: true 2381 | 2382 | /string.prototype.trim@1.2.7: 2383 | resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} 2384 | engines: {node: '>= 0.4'} 2385 | dependencies: 2386 | call-bind: 1.0.2 2387 | define-properties: 1.2.0 2388 | es-abstract: 1.21.2 2389 | dev: true 2390 | 2391 | /string.prototype.trimend@1.0.6: 2392 | resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} 2393 | dependencies: 2394 | call-bind: 1.0.2 2395 | define-properties: 1.2.0 2396 | es-abstract: 1.21.2 2397 | dev: true 2398 | 2399 | /string.prototype.trimstart@1.0.6: 2400 | resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} 2401 | dependencies: 2402 | call-bind: 1.0.2 2403 | define-properties: 1.2.0 2404 | es-abstract: 1.21.2 2405 | dev: true 2406 | 2407 | /strip-ansi@6.0.1: 2408 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2409 | engines: {node: '>=8'} 2410 | dependencies: 2411 | ansi-regex: 5.0.1 2412 | dev: true 2413 | 2414 | /strip-bom@3.0.0: 2415 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 2416 | engines: {node: '>=4'} 2417 | dev: true 2418 | 2419 | /strip-final-newline@2.0.0: 2420 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 2421 | engines: {node: '>=6'} 2422 | dev: true 2423 | 2424 | /strip-final-newline@3.0.0: 2425 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 2426 | engines: {node: '>=12'} 2427 | dev: true 2428 | 2429 | /strip-indent@3.0.0: 2430 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} 2431 | engines: {node: '>=8'} 2432 | dependencies: 2433 | min-indent: 1.0.1 2434 | dev: true 2435 | 2436 | /strip-literal@1.0.1: 2437 | resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} 2438 | dependencies: 2439 | acorn: 8.10.0 2440 | dev: true 2441 | 2442 | /supports-color@5.5.0: 2443 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2444 | engines: {node: '>=4'} 2445 | dependencies: 2446 | has-flag: 3.0.0 2447 | dev: true 2448 | 2449 | /supports-color@7.2.0: 2450 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2451 | engines: {node: '>=8'} 2452 | dependencies: 2453 | has-flag: 4.0.0 2454 | dev: true 2455 | 2456 | /supports-preserve-symlinks-flag@1.0.0: 2457 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2458 | engines: {node: '>= 0.4'} 2459 | dev: true 2460 | 2461 | /synckit@0.8.5: 2462 | resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} 2463 | engines: {node: ^14.18.0 || >=16.0.0} 2464 | dependencies: 2465 | '@pkgr/utils': 2.4.0 2466 | tslib: 2.5.0 2467 | dev: true 2468 | 2469 | /term-size@2.2.1: 2470 | resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} 2471 | engines: {node: '>=8'} 2472 | dev: true 2473 | 2474 | /tinybench@2.5.0: 2475 | resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} 2476 | dev: true 2477 | 2478 | /tinypool@0.7.0: 2479 | resolution: {integrity: sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==} 2480 | engines: {node: '>=14.0.0'} 2481 | dev: true 2482 | 2483 | /tinyspy@2.1.1: 2484 | resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} 2485 | engines: {node: '>=14.0.0'} 2486 | dev: true 2487 | 2488 | /titleize@3.0.0: 2489 | resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} 2490 | engines: {node: '>=12'} 2491 | dev: true 2492 | 2493 | /tmp@0.0.33: 2494 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 2495 | engines: {node: '>=0.6.0'} 2496 | dependencies: 2497 | os-tmpdir: 1.0.2 2498 | dev: true 2499 | 2500 | /to-regex-range@5.0.1: 2501 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2502 | engines: {node: '>=8.0'} 2503 | dependencies: 2504 | is-number: 7.0.0 2505 | dev: true 2506 | 2507 | /tr46@0.0.3: 2508 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 2509 | dev: true 2510 | 2511 | /trim-newlines@3.0.1: 2512 | resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} 2513 | engines: {node: '>=8'} 2514 | dev: true 2515 | 2516 | /tslib@2.5.0: 2517 | resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} 2518 | dev: true 2519 | 2520 | /tty-table@4.2.1: 2521 | resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} 2522 | engines: {node: '>=8.0.0'} 2523 | hasBin: true 2524 | dependencies: 2525 | chalk: 4.1.2 2526 | csv: 5.5.3 2527 | kleur: 4.1.5 2528 | smartwrap: 2.0.2 2529 | strip-ansi: 6.0.1 2530 | wcwidth: 1.0.1 2531 | yargs: 17.7.2 2532 | dev: true 2533 | 2534 | /type-detect@4.0.8: 2535 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 2536 | engines: {node: '>=4'} 2537 | dev: true 2538 | 2539 | /type-fest@0.13.1: 2540 | resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} 2541 | engines: {node: '>=10'} 2542 | dev: true 2543 | 2544 | /type-fest@0.6.0: 2545 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} 2546 | engines: {node: '>=8'} 2547 | dev: true 2548 | 2549 | /type-fest@0.8.1: 2550 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} 2551 | engines: {node: '>=8'} 2552 | dev: true 2553 | 2554 | /typed-array-length@1.0.4: 2555 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} 2556 | dependencies: 2557 | call-bind: 1.0.2 2558 | for-each: 0.3.3 2559 | is-typed-array: 1.1.10 2560 | dev: true 2561 | 2562 | /typescript@5.2.2: 2563 | resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} 2564 | engines: {node: '>=14.17'} 2565 | hasBin: true 2566 | dev: true 2567 | 2568 | /ufo@1.1.2: 2569 | resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} 2570 | dev: true 2571 | 2572 | /unbox-primitive@1.0.2: 2573 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 2574 | dependencies: 2575 | call-bind: 1.0.2 2576 | has-bigints: 1.0.2 2577 | has-symbols: 1.0.3 2578 | which-boxed-primitive: 1.0.2 2579 | dev: true 2580 | 2581 | /universalify@0.1.2: 2582 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 2583 | engines: {node: '>= 4.0.0'} 2584 | dev: true 2585 | 2586 | /untildify@4.0.0: 2587 | resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} 2588 | engines: {node: '>=8'} 2589 | dev: true 2590 | 2591 | /validate-npm-package-license@3.0.4: 2592 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2593 | dependencies: 2594 | spdx-correct: 3.2.0 2595 | spdx-expression-parse: 3.0.1 2596 | dev: true 2597 | 2598 | /vite-node@0.34.4(@types/node@14.14.7): 2599 | resolution: {integrity: sha512-ho8HtiLc+nsmbwZMw8SlghESEE3KxJNp04F/jPUCLVvaURwt0d+r9LxEqCX5hvrrOQ0GSyxbYr5ZfRYhQ0yVKQ==} 2600 | engines: {node: '>=v14.18.0'} 2601 | hasBin: true 2602 | dependencies: 2603 | cac: 6.7.14 2604 | debug: 4.3.4 2605 | mlly: 1.4.0 2606 | pathe: 1.1.1 2607 | picocolors: 1.0.0 2608 | vite: 4.3.4(@types/node@14.14.7) 2609 | transitivePeerDependencies: 2610 | - '@types/node' 2611 | - less 2612 | - sass 2613 | - stylus 2614 | - sugarss 2615 | - supports-color 2616 | - terser 2617 | dev: true 2618 | 2619 | /vite@4.3.4(@types/node@14.14.7): 2620 | resolution: {integrity: sha512-f90aqGBoxSFxWph2b39ae2uHAxm5jFBBdnfueNxZAT1FTpM13ccFQExCaKbR2xFW5atowjleRniQ7onjJ22QEg==} 2621 | engines: {node: ^14.18.0 || >=16.0.0} 2622 | hasBin: true 2623 | peerDependencies: 2624 | '@types/node': '>= 14' 2625 | less: '*' 2626 | sass: '*' 2627 | stylus: '*' 2628 | sugarss: '*' 2629 | terser: ^5.4.0 2630 | peerDependenciesMeta: 2631 | '@types/node': 2632 | optional: true 2633 | less: 2634 | optional: true 2635 | sass: 2636 | optional: true 2637 | stylus: 2638 | optional: true 2639 | sugarss: 2640 | optional: true 2641 | terser: 2642 | optional: true 2643 | dependencies: 2644 | '@types/node': 14.14.7 2645 | esbuild: 0.17.18 2646 | postcss: 8.4.23 2647 | rollup: 3.21.4 2648 | optionalDependencies: 2649 | fsevents: 2.3.2 2650 | dev: true 2651 | 2652 | /vitest@0.34.4: 2653 | resolution: {integrity: sha512-SE/laOsB6995QlbSE6BtkpXDeVNLJc1u2LHRG/OpnN4RsRzM3GQm4nm3PQCK5OBtrsUqnhzLdnT7se3aeNGdlw==} 2654 | engines: {node: '>=v14.18.0'} 2655 | hasBin: true 2656 | peerDependencies: 2657 | '@edge-runtime/vm': '*' 2658 | '@vitest/browser': '*' 2659 | '@vitest/ui': '*' 2660 | happy-dom: '*' 2661 | jsdom: '*' 2662 | playwright: '*' 2663 | safaridriver: '*' 2664 | webdriverio: '*' 2665 | peerDependenciesMeta: 2666 | '@edge-runtime/vm': 2667 | optional: true 2668 | '@vitest/browser': 2669 | optional: true 2670 | '@vitest/ui': 2671 | optional: true 2672 | happy-dom: 2673 | optional: true 2674 | jsdom: 2675 | optional: true 2676 | playwright: 2677 | optional: true 2678 | safaridriver: 2679 | optional: true 2680 | webdriverio: 2681 | optional: true 2682 | dependencies: 2683 | '@types/chai': 4.3.5 2684 | '@types/chai-subset': 1.3.3 2685 | '@types/node': 14.14.7 2686 | '@vitest/expect': 0.34.4 2687 | '@vitest/runner': 0.34.4 2688 | '@vitest/snapshot': 0.34.4 2689 | '@vitest/spy': 0.34.4 2690 | '@vitest/utils': 0.34.4 2691 | acorn: 8.10.0 2692 | acorn-walk: 8.2.0 2693 | cac: 6.7.14 2694 | chai: 4.3.7 2695 | debug: 4.3.4 2696 | local-pkg: 0.4.3 2697 | magic-string: 0.30.1 2698 | pathe: 1.1.1 2699 | picocolors: 1.0.0 2700 | std-env: 3.3.3 2701 | strip-literal: 1.0.1 2702 | tinybench: 2.5.0 2703 | tinypool: 0.7.0 2704 | vite: 4.3.4(@types/node@14.14.7) 2705 | vite-node: 0.34.4(@types/node@14.14.7) 2706 | why-is-node-running: 2.2.2 2707 | transitivePeerDependencies: 2708 | - less 2709 | - sass 2710 | - stylus 2711 | - sugarss 2712 | - supports-color 2713 | - terser 2714 | dev: true 2715 | 2716 | /wcwidth@1.0.1: 2717 | resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} 2718 | dependencies: 2719 | defaults: 1.0.4 2720 | dev: true 2721 | 2722 | /webidl-conversions@3.0.1: 2723 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 2724 | dev: true 2725 | 2726 | /whatwg-url@5.0.0: 2727 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 2728 | dependencies: 2729 | tr46: 0.0.3 2730 | webidl-conversions: 3.0.1 2731 | dev: true 2732 | 2733 | /which-boxed-primitive@1.0.2: 2734 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 2735 | dependencies: 2736 | is-bigint: 1.0.4 2737 | is-boolean-object: 1.1.2 2738 | is-number-object: 1.0.7 2739 | is-string: 1.0.7 2740 | is-symbol: 1.0.4 2741 | dev: true 2742 | 2743 | /which-module@2.0.1: 2744 | resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} 2745 | dev: true 2746 | 2747 | /which-pm@2.0.0: 2748 | resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} 2749 | engines: {node: '>=8.15'} 2750 | dependencies: 2751 | load-yaml-file: 0.2.0 2752 | path-exists: 4.0.0 2753 | dev: true 2754 | 2755 | /which-typed-array@1.1.9: 2756 | resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} 2757 | engines: {node: '>= 0.4'} 2758 | dependencies: 2759 | available-typed-arrays: 1.0.5 2760 | call-bind: 1.0.2 2761 | for-each: 0.3.3 2762 | gopd: 1.0.1 2763 | has-tostringtag: 1.0.0 2764 | is-typed-array: 1.1.10 2765 | dev: true 2766 | 2767 | /which@1.3.1: 2768 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2769 | hasBin: true 2770 | dependencies: 2771 | isexe: 2.0.0 2772 | dev: true 2773 | 2774 | /which@2.0.2: 2775 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2776 | engines: {node: '>= 8'} 2777 | hasBin: true 2778 | dependencies: 2779 | isexe: 2.0.0 2780 | dev: true 2781 | 2782 | /why-is-node-running@2.2.2: 2783 | resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} 2784 | engines: {node: '>=8'} 2785 | hasBin: true 2786 | dependencies: 2787 | siginfo: 2.0.0 2788 | stackback: 0.0.2 2789 | dev: true 2790 | 2791 | /wrap-ansi@6.2.0: 2792 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 2793 | engines: {node: '>=8'} 2794 | dependencies: 2795 | ansi-styles: 4.3.0 2796 | string-width: 4.2.3 2797 | strip-ansi: 6.0.1 2798 | dev: true 2799 | 2800 | /wrap-ansi@7.0.0: 2801 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2802 | engines: {node: '>=10'} 2803 | dependencies: 2804 | ansi-styles: 4.3.0 2805 | string-width: 4.2.3 2806 | strip-ansi: 6.0.1 2807 | dev: true 2808 | 2809 | /y18n@4.0.3: 2810 | resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} 2811 | dev: true 2812 | 2813 | /y18n@5.0.8: 2814 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} 2815 | engines: {node: '>=10'} 2816 | dev: true 2817 | 2818 | /yallist@2.1.2: 2819 | resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} 2820 | dev: true 2821 | 2822 | /yallist@4.0.0: 2823 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2824 | dev: true 2825 | 2826 | /yargs-parser@18.1.3: 2827 | resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} 2828 | engines: {node: '>=6'} 2829 | dependencies: 2830 | camelcase: 5.3.1 2831 | decamelize: 1.2.0 2832 | dev: true 2833 | 2834 | /yargs-parser@21.1.1: 2835 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} 2836 | engines: {node: '>=12'} 2837 | dev: true 2838 | 2839 | /yargs@15.4.1: 2840 | resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} 2841 | engines: {node: '>=8'} 2842 | dependencies: 2843 | cliui: 6.0.0 2844 | decamelize: 1.2.0 2845 | find-up: 4.1.0 2846 | get-caller-file: 2.0.5 2847 | require-directory: 2.1.1 2848 | require-main-filename: 2.0.0 2849 | set-blocking: 2.0.0 2850 | string-width: 4.2.3 2851 | which-module: 2.0.1 2852 | y18n: 4.0.3 2853 | yargs-parser: 18.1.3 2854 | dev: true 2855 | 2856 | /yargs@17.7.2: 2857 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} 2858 | engines: {node: '>=12'} 2859 | dependencies: 2860 | cliui: 8.0.1 2861 | escalade: 3.1.1 2862 | get-caller-file: 2.0.5 2863 | require-directory: 2.1.1 2864 | string-width: 4.2.3 2865 | y18n: 5.0.8 2866 | yargs-parser: 21.1.1 2867 | dev: true 2868 | 2869 | /yocto-queue@0.1.0: 2870 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2871 | engines: {node: '>=10'} 2872 | dev: true 2873 | 2874 | /yocto-queue@1.0.0: 2875 | resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} 2876 | engines: {node: '>=12.20'} 2877 | dev: true 2878 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export default main; 2 | 3 | export function main(clone: boolean, ...items: any[]): any; 4 | export function main(...items: any[]): any; 5 | export function main(...items: any[]) { 6 | return merge(...items); 7 | } 8 | 9 | main.clone = clone; 10 | main.isPlainObject = isPlainObject; 11 | main.recursive = recursive; 12 | 13 | export function merge(clone: boolean, ...items: any[]): any; 14 | export function merge(...items: any[]): any; 15 | export function merge(...items: any[]) { 16 | return _merge(items[0] === true, false, items); 17 | } 18 | 19 | export function recursive(clone: boolean, ...items: any[]): any; 20 | export function recursive(...items: any[]): any; 21 | export function recursive(...items: any[]) { 22 | return _merge(items[0] === true, true, items); 23 | } 24 | 25 | export function clone(input: T): T { 26 | if (Array.isArray(input)) { 27 | const output = []; 28 | 29 | for (let index = 0; index < input.length; ++index) 30 | output.push(clone(input[index])); 31 | 32 | return output as any; 33 | } else if (isPlainObject(input)) { 34 | const output: any = {}; 35 | 36 | for (let index in input) output[index] = clone((input as any)[index]); 37 | 38 | return output as any; 39 | } else { 40 | return input; 41 | } 42 | } 43 | 44 | export function isPlainObject(input: unknown): input is Object { 45 | if (input === null || typeof input !== "object") return false; 46 | if (Object.getPrototypeOf(input) === null) return true; 47 | let ref = input; 48 | while (Object.getPrototypeOf(ref) !== null) ref = Object.getPrototypeOf(ref); 49 | return Object.getPrototypeOf(input) === ref; 50 | } 51 | 52 | function _recursiveMerge(base: any, extend: any) { 53 | if (!isPlainObject(base) || !isPlainObject(extend)) return extend; 54 | for (const key in extend) { 55 | if (key === "__proto__" || key === "constructor" || key === "prototype") 56 | continue; 57 | base[key] = 58 | isPlainObject(base[key]) && isPlainObject(extend[key]) 59 | ? _recursiveMerge(base[key], extend[key]) 60 | : extend[key]; 61 | } 62 | 63 | return base; 64 | } 65 | 66 | function _merge(isClone: boolean, isRecursive: boolean, items: any[]) { 67 | let result; 68 | 69 | if (isClone || !isPlainObject((result = items.shift()))) result = {}; 70 | 71 | for (let index = 0; index < items.length; ++index) { 72 | const item = items[index]; 73 | 74 | if (!isPlainObject(item)) continue; 75 | 76 | for (const key in item) { 77 | if (key === "__proto__" || key === "constructor" || key === "prototype") 78 | continue; 79 | const value = isClone ? clone(item[key]) : item[key]; 80 | result[key] = isRecursive ? _recursiveMerge(result[key], value) : value; 81 | } 82 | } 83 | 84 | return result; 85 | } 86 | -------------------------------------------------------------------------------- /src/src/index.ts: -------------------------------------------------------------------------------- 1 | import merge from "./../index"; 2 | export { clone, isPlainObject, main, merge, recursive } from "./../index"; 3 | 4 | export default merge; 5 | -------------------------------------------------------------------------------- /test/index.test.ts: -------------------------------------------------------------------------------- 1 | import { merge, clone, recursive, isPlainObject } from "../src/index"; 2 | import { describe, it, expect, vi } from "vitest"; 3 | 4 | describe("merge", () => { 5 | it("merges two objects", () => { 6 | expect(merge({ a: 1 }, { b: 2 })).toStrictEqual({ a: 1, b: 2 }); 7 | }); 8 | 9 | it("merges nested levels", () => { 10 | expect(merge({ a: 1 }, { b: { c: { d: 2 } } })).toStrictEqual({ 11 | a: 1, 12 | b: { c: { d: 2 } }, 13 | }); 14 | }); 15 | it("clones the target", () => { 16 | let input = { 17 | a: 1, 18 | b: { 19 | c: { 20 | d: 2, 21 | e: ["x", "y", { z: { w: ["k"] } }], 22 | }, 23 | }, 24 | f: null, 25 | g: undefined, 26 | h: true, 27 | }; 28 | 29 | let original = { 30 | a: 1, 31 | b: { 32 | c: { 33 | d: 2, 34 | e: ["x", "y", { z: { w: ["k"] } }], 35 | }, 36 | }, 37 | f: null, 38 | g: undefined, 39 | h: true, 40 | }; 41 | 42 | let output = merge(true, input); 43 | 44 | input.b.c.d++; 45 | (input.b.c.e[2] as any).z.w = null; 46 | (input as any).h = null; 47 | 48 | expect(output).toStrictEqual(original); 49 | 50 | input = original; 51 | 52 | output = merge(true, input, { a: 2 }); 53 | 54 | expect(output.a).toBe(2); 55 | expect(input.a).toBe(1); 56 | }); 57 | 58 | it("ignores the sources", () => { 59 | const values = createNonPlainObjects(); 60 | const $merge = vi.fn().mockImplementation(merge); 61 | 62 | for (const value of values) expect($merge(value)).toStrictEqual({}); 63 | 64 | expect(values.length).toBeGreaterThan(0); 65 | expect($merge).toBeCalledTimes(values.length); 66 | expect( 67 | merge(...values, [0, 1, 2], ...values, { a: 1 }, ...values, { 68 | b: 2, 69 | }), 70 | ).toStrictEqual({ a: 1, b: 2 }); 71 | }); 72 | 73 | it("does not merge non plain objects", () => { 74 | const values = createNonPlainObjects(); 75 | expect(values.length).toBeGreaterThan(0); 76 | const input: any = {}; 77 | 78 | for (const [index, value] of Object.entries(values)) { 79 | input[`value${index}`] = value; 80 | } 81 | 82 | const output = merge({}, input); 83 | 84 | for (const [index] of Object.entries(values)) { 85 | const key = `value${index}`; 86 | const inputValue = input[key]; 87 | const outputValue = output[key]; 88 | 89 | if (typeof outputValue === "number" && isNaN(outputValue)) { 90 | expect(isNaN(inputValue), key).toBeTruthy(); 91 | } else { 92 | expect(inputValue === outputValue, key).toBeTruthy(); 93 | } 94 | } 95 | }); 96 | 97 | it("is safe", () => { 98 | expect( 99 | merge({}, JSON.parse('{"__proto__": {"evil": true}}')), 100 | ).toStrictEqual({}); 101 | expect(({} as any).evil).toBeUndefined(); 102 | }); 103 | }); 104 | 105 | describe("clone", () => { 106 | it("clones the input", () => { 107 | const object1 = { a: 1, b: { c: 2 } }; 108 | const object2 = clone(object1); 109 | 110 | expect(object1).toStrictEqual(object2); 111 | expect(object1 === object2).toBeFalsy(); 112 | expect(object1.b === object2.b).toBeFalsy(); 113 | }); 114 | 115 | it("clones each item of the array", () => { 116 | const object1 = [{ a: 1, b: { c: 2 } }]; 117 | const object2 = clone(object1); 118 | 119 | expect(object1).toStrictEqual(object2); 120 | expect(object1 === object2).toBeFalsy(); 121 | expect(object1[0] === object2[0]).toBeFalsy(); 122 | expect(object1[0].b === object2[0].b).toBeFalsy(); 123 | }); 124 | 125 | it("returns the same input", () => { 126 | const values = createNonPlainObjects(); 127 | const $clone = vi.fn().mockImplementation(clone); 128 | for (const value of values) { 129 | const cloned = $clone(value); 130 | if (typeof cloned === "number" && isNaN(cloned)) { 131 | expect(isNaN(value)).toBeTruthy(); 132 | } else if (Array.isArray(cloned)) { 133 | expect(Array.isArray(value)).toBeTruthy(); 134 | } else { 135 | expect(cloned === value).toBeTruthy(); 136 | } 137 | } 138 | expect(values.length).toBeGreaterThan(0); 139 | expect($clone).toBeCalledTimes(values.length); 140 | }); 141 | }); 142 | 143 | describe("recursive", () => { 144 | it("merges recursively", () => { 145 | expect(recursive({ a: { b: 1 } }, { a: { c: 1 } })).toStrictEqual({ 146 | a: { b: 1, c: 1 }, 147 | }); 148 | 149 | expect(recursive({ a: { b: 1, c: 1 } }, { a: { b: 2 } })).toStrictEqual({ 150 | a: { b: 2, c: 1 }, 151 | }); 152 | 153 | expect( 154 | recursive({ a: { b: [1, 2, 3], c: 1 } }, { a: { b: ["a"] } }), 155 | ).toStrictEqual({ a: { b: ["a"], c: 1 } }); 156 | 157 | expect( 158 | recursive({ a: { b: { b: 2 }, c: 1 } }, { a: { b: 2 } }), 159 | ).toStrictEqual({ 160 | a: { b: 2, c: 1 }, 161 | }); 162 | }); 163 | 164 | it("clones recursively", () => { 165 | const test1 = { a: { b: 1 } }; 166 | 167 | expect(recursive(true, test1, { a: { c: 1 } })).toStrictEqual({ 168 | a: { b: 1, c: 1 }, 169 | }); 170 | 171 | expect(test1).toStrictEqual({ a: { b: 1 } }); 172 | 173 | const test2 = { a: { b: 1, c: 1 } }; 174 | 175 | expect(recursive(true, test2, { a: { b: 2 } })).toStrictEqual({ 176 | a: { b: 2, c: 1 }, 177 | }); 178 | 179 | expect(test2).toStrictEqual({ a: { b: 1, c: 1 } }); 180 | 181 | const test3 = { a: { b: [1, 2, 3], c: 1 } }; 182 | 183 | expect(recursive(true, test3, { a: { b: ["a"] } })).toStrictEqual({ 184 | a: { b: ["a"], c: 1 }, 185 | }); 186 | 187 | expect(test3).toStrictEqual({ a: { b: [1, 2, 3], c: 1 } }); 188 | 189 | const test4 = { a: { b: { b: 2 }, c: 1 } }; 190 | 191 | expect(recursive(true, test4, { a: { b: 2 } })).toStrictEqual({ 192 | a: { b: 2, c: 1 }, 193 | }); 194 | 195 | expect(test4).toStrictEqual({ a: { b: { b: 2 }, c: 1 } }); 196 | }); 197 | 198 | it("does not merge non plain objects", () => { 199 | const object = recursive({ map: { length: 1 } }, { map: new Map() }); 200 | expect(object.map).toBeInstanceOf(Map); 201 | }); 202 | 203 | it("is safe", () => { 204 | const payload = '{"__proto__": {"a": true}}'; 205 | expect(recursive({}, JSON.parse(payload))).toStrictEqual({}); 206 | expect(({} as any)["a"]).toBeUndefined(); 207 | expect(recursive({ deep: {} }, JSON.parse(payload))).toStrictEqual({ 208 | deep: {}, 209 | }); 210 | expect(({} as any)["b"]).toBeUndefined(); 211 | }); 212 | }); 213 | 214 | describe("isPlainObject", () => { 215 | it("returns true", () => { 216 | expect(isPlainObject({})).toBeTruthy(); 217 | expect(isPlainObject({ v: 1 })).toBeTruthy(); 218 | expect(isPlainObject(Object.create(null))).toBeTruthy(); 219 | expect(isPlainObject(new Object())).toBeTruthy(); 220 | }); 221 | it("returns false", () => { 222 | const values = createNonPlainObjects(); 223 | const $isPlainObject = vi.fn().mockImplementation(isPlainObject); 224 | for (const value of values) expect($isPlainObject(value)).toBeFalsy(); 225 | expect(values.length).toBeGreaterThan(0); 226 | expect($isPlainObject).toBeCalledTimes(values.length); 227 | }); 228 | }); 229 | 230 | function createNonPlainObjects(): any[] { 231 | class SubObject extends Object {} 232 | return [ 233 | null, 234 | undefined, 235 | 1, 236 | "", 237 | "str", 238 | [], 239 | [1], 240 | () => {}, 241 | function () {}, 242 | true, 243 | false, 244 | NaN, 245 | Infinity, 246 | class {}, 247 | new (class {})(), 248 | new Map(), 249 | new Set(), 250 | new Date(), 251 | new Array(), 252 | new Date(), 253 | new RegExp(/./), 254 | /./, 255 | SubObject, 256 | new SubObject(), 257 | Symbol(""), 258 | ]; 259 | } 260 | -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "rootDir": "src", 4 | "declaration": true, 5 | "outDir": "./lib", 6 | "incremental": true, 7 | "typeRoots": [] 8 | }, 9 | "extends": "./tsconfig.json", 10 | "include": ["src"] 11 | } 12 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "lib": ["es2015", "es2016"], 5 | "module": "commonjs", 6 | "strict": true 7 | } 8 | } 9 | --------------------------------------------------------------------------------