├── .github └── workflows │ ├── release.yml │ └── test.yml ├── .gitignore ├── .vscode └── settings.json ├── CHANGELOG.md ├── CODEOWNERS ├── LICENCE ├── README.md ├── biome.json ├── package.json ├── pnpm-lock.yaml ├── src ├── dom-event.ts ├── index.ts └── typings.d.ts ├── test ├── browser │ └── index.test.js ├── common │ ├── __snapshots__ │ │ └── index.test.js.snap │ └── index.test.js └── node │ └── index.test.js ├── tsconfig.json ├── tsup.config.ts └── vitest.config.ts /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: [push] 4 | 5 | jobs: 6 | release: 7 | runs-on: ubuntu-latest 8 | if: "!contains(github.event.head_commit.message, 'ci skip') && !contains(github.event.head_commit.message, 'skip ci')" 9 | steps: 10 | - uses: actions/checkout@v4 11 | 12 | - name: Prepare repository 13 | run: git fetch --unshallow --tags 14 | 15 | - name: Use Node.js 20.x 16 | uses: actions/setup-node@v1 17 | with: 18 | node-version: 20.x 19 | 20 | - name: Install dependencies 21 | uses: pnpm/action-setup@v4 22 | 23 | - name: Install 24 | run: | 25 | pnpm install 26 | 27 | - name: Build 28 | run: | 29 | pnpm run build 30 | 31 | - name: Create Release 32 | env: 33 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} 34 | NPM_TOKEN: ${{ secrets.NPM_TOKEN }} 35 | run: | 36 | pnpm run release 37 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | 3 | on: [push] 4 | 5 | jobs: 6 | test: 7 | runs-on: ubuntu-latest 8 | steps: 9 | - uses: actions/checkout@v4 10 | 11 | - name: Prepare repository 12 | run: git fetch --unshallow --tags 13 | 14 | - name: Use Node.js 20.x 15 | uses: actions/setup-node@v1 16 | with: 17 | node-version: 20.x 18 | 19 | - name: Install dependencies 20 | uses: pnpm/action-setup@v4 21 | 22 | - name: Install 23 | run: | 24 | pnpm install 25 | 26 | - name: Build 27 | run: | 28 | pnpm run build 29 | 30 | 31 | - name: Test 32 | run: | 33 | pnpm run test 34 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log 3 | dist 4 | .idea 5 | .env -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "cSpell.words": ["isobject", "memoizerific", "replacer's"] 3 | } 4 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # v8.0.0 (Wed Apr 16 2025) 2 | 3 | #### 💥 Breaking Change 4 | 5 | - Modernize, and remove function-support [#106](https://github.com/storybookjs/telejson/pull/106) ([@ndelangen](https://github.com/ndelangen)) 6 | 7 | #### Authors: 1 8 | 9 | - Norbert de Langen ([@ndelangen](https://github.com/ndelangen)) 10 | 11 | --- 12 | 13 | # 8.0.0 (to be released) 14 | 15 | #### Dropped support 16 | 17 | - Removed support for stringify-ing functions and methods 18 | - Removed support for class instances, and convert them to plain objects 19 | - Removed the options related to functions & classes: `allowFunctions`, `allowClass` and `lazyEval` 20 | 21 | # v7.2.0 (Mon Aug 21 2023) 22 | 23 | #### 🚀 Enhancement 24 | 25 | - Update author field in package.json [#102](https://github.com/storybookjs/telejson/pull/102) ([@yannbf](https://github.com/yannbf)) 26 | - Add auto release [#101](https://github.com/storybookjs/telejson/pull/101) ([@yannbf](https://github.com/yannbf)) 27 | 28 | #### 🐛 Bug Fix 29 | 30 | - Feature: Allow error parsing [#100](https://github.com/storybookjs/telejson/pull/100) ([@yannbf](https://github.com/yannbf)) 31 | - Create CODEOWNERS ([@valentinpalkovic](https://github.com/valentinpalkovic)) 32 | 33 | #### Authors: 2 34 | 35 | - Valentin Palkovic ([@valentinpalkovic](https://github.com/valentinpalkovic)) 36 | - Yann Braga ([@yannbf](https://github.com/yannbf)) 37 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @ndelangen @JReinhold 2 | -------------------------------------------------------------------------------- /LICENCE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Storybook contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TeleJSON 2 | 3 | A library for teleporting rich data to another place. 4 | 5 | ## Install 6 | 7 | ```sh 8 | yarn add telejson 9 | ``` 10 | 11 | ## What can it do, what can't it do: 12 | 13 | `JSON.parse` & `JSON.stringify` have limitation by design, because there are no data formats for things like 14 | 15 | - Date 16 | - Function 17 | - Class 18 | - Symbol 19 | - Error 20 | - etc. 21 | 22 | Also JSON doesn't support cyclic data structures. 23 | 24 | This library allows you to pass in data with all of the above properties. 25 | It will transform the properties to something that's allowed by the JSON spec whilst stringifying, 26 | and then convert back to the cyclic data structure when parsing. 27 | 28 | When parsing, **class instances** will be given the Class's name again. 29 | The prototype isn't copied over. 30 | 31 | **Functions** are supported, they are stringified and will be eval-ed when called. 32 | This lazy eval is important for performance. 33 | The eval happens via `eval()` 34 | Functions are stripped of comments and whitespace. 35 | 36 | > Obviously calling the function will only really work as expected if the functions were pure the begin with. 37 | 38 | **Regular expressions** just work. 39 | 40 | **Symbol** will be re-created with the same string. (resulting in a similar, but different symbol) 41 | 42 | **Dates** are parsed back into actual Date objects. 43 | 44 | **DOM Events** are processed to extract the internal (hidden) properties, resulting in an object containing the same properties but not being an instance of the original class. 45 | 46 | ## API 47 | 48 | You have 2 choices: 49 | 50 | ```js 51 | import { stringify, parse } from 'telejson'; 52 | 53 | const Foo = function () {}; 54 | 55 | const root = { 56 | date: new Date('2018'), 57 | regex1: /foo/, 58 | regex2: /foo/g, 59 | regex2: new RegExp('foo', 'i'), 60 | fn1: () => 'foo', 61 | fn2: function fn2() { 62 | return 'foo'; 63 | }, 64 | Foo: new Foo(), 65 | }; 66 | 67 | // something cyclic 68 | root.root = root; 69 | 70 | const stringified = stringify(root); 71 | const parsed = parse(stringified); 72 | ``` 73 | 74 | stringify and parse do not conform to the JSON.stringify or JSON.parse api. 75 | they take an data object and a option object. 76 | 77 | OR you can use use the `replacer` and `reviver`: 78 | 79 | ```js 80 | import { replacer, reviver } from 'telejson'; 81 | import data from 'somewhere'; 82 | 83 | const stringified = JSON.stringify(data, replacer(), 2); 84 | const parsed = JSON.parse(stringified, reviver(), 2); 85 | ``` 86 | 87 | notice that both replacer and reviver need to be called! doing the following will NOT WORK: 88 | 89 | ``` 90 | const stringified = JSON.stringify(data, replacer, 2); 91 | const parsed = JSON.parse(stringified, reviver, 2); 92 | ``` 93 | 94 | ## options 95 | 96 | You either pass the options-object to `replacer` or as a second argument to `stringify`: 97 | 98 | ```js 99 | replacer({ maxDepth: 10 }); 100 | stringify(date, { maxDepth: 10 }); 101 | ``` 102 | 103 | ### replacer 104 | 105 | `maxDepth`: controls how deep to keep stringifying. When max depth is reach, 106 | objects will be replaced with `"[Object]"`, arrays will be replaced with `"[Array()]"`. 107 | default value is `10` 108 | This option is really useful if your object is huge/complex, and you don't care about the deeply nested data. 109 | 110 | `space`: controls how to prettify the output string. 111 | default value is `undefined`, no white space is used. 112 | Only relevant when using `stringify`. 113 | 114 | `allowFunction`: When set to false, functions will not be serialized. (default = true) 115 | 116 | `allowRegExp`: When set to false, regular expressions will not be serialized. (default = true) 117 | 118 | `allowError`: When set to false, error instances will not be serialized. (default = true) 119 | 120 | `allowDate`: When set to false, Date objects will not be serialized. (default = true) 121 | 122 | `allowUndefined`: When set to false, `undefined` will not be serialized. (default = true) 123 | 124 | `allowSymbol`: When set to false, Symbols will not be serialized. (default = true) 125 | 126 | ## Requirements 127 | 128 | `telejson` depends on the collection type `Map`. If you support older browsers and devices which may not yet provide these natively (e.g. IE < 11) or which have non-compliant implementations (e.g. IE 11), consider including a global polyfill in your bundled application, such as `core-js` or `babel-polyfill`. 129 | 130 | ## Contributing 131 | 132 | If you have any suggestions, please open an issue. 133 | 134 | All contributions are welcome! 135 | 136 | ### run tests: 137 | 138 | first, build the package: 139 | 140 | ```sh 141 | yarn build 142 | ``` 143 | 144 | then run the tests: 145 | 146 | ```sh 147 | yarn test 148 | ``` 149 | -------------------------------------------------------------------------------- /biome.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "./node_modules/@biomejs/biome/configuration_schema.json", 3 | "organizeImports": { 4 | "enabled": true 5 | }, 6 | "linter": { 7 | "enabled": true, 8 | "rules": { 9 | "recommended": true, 10 | "correctness": { 11 | "noUnusedVariables": "error" 12 | }, 13 | "suspicious": { 14 | "noExplicitAny": "warn" 15 | }, 16 | "style": { 17 | "useConst": "error", 18 | "useTemplate": "error" 19 | } 20 | } 21 | }, 22 | "formatter": { 23 | "enabled": true, 24 | "formatWithErrors": false, 25 | "indentStyle": "space", 26 | "indentWidth": 2, 27 | "lineWidth": 100 28 | }, 29 | "javascript": { 30 | "formatter": { 31 | "quoteStyle": "single", 32 | "trailingCommas": "es5", 33 | "semicolons": "always" 34 | } 35 | }, 36 | "files": { 37 | "ignore": ["node_modules", "dist"] 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "telejson", 3 | "version": "8.0.0", 4 | "description": "", 5 | "keywords": [ 6 | "JSON", 7 | "cyclic", 8 | "cyclical", 9 | "date", 10 | "parse", 11 | "regex", 12 | "stringify" 13 | ], 14 | "homepage": "https://github.com/storybookjs/telejson", 15 | "bugs": { 16 | "url": "https://github.com/storybookjs/telejson/issues" 17 | }, 18 | "repository": { 19 | "type": "git", 20 | "url": "https://github.com/storybookjs/telejson.git" 21 | }, 22 | "license": "MIT", 23 | "author": "ndelangen@me.com", 24 | "main": "dist/index.js", 25 | "module": "dist/index.mjs", 26 | "types": "dist/index.d.ts", 27 | "files": [ 28 | "dist/**/*", 29 | "README.md", 30 | "*.js", 31 | "*.d.ts" 32 | ], 33 | "scripts": { 34 | "build": "tsup", 35 | "lint": "biome lint .", 36 | "format": "biome format . --write", 37 | "check": "biome check --apply .", 38 | "prepublish": "pnpm run build", 39 | "test": "TZ=UTC vitest run", 40 | "test:watch": "TZ=UTC vitest", 41 | "test:coverage": "TZ=UTC vitest run --coverage", 42 | "release": "pnpm run build && auto shipit" 43 | }, 44 | "devDependencies": { 45 | "@auto-it/released": "^11.0.1", 46 | "@biomejs/biome": "^1.9.4", 47 | "@types/is-function": "^1.0.0", 48 | "@types/lodash-es": "^4.17.6", 49 | "@vitest/coverage-v8": "^1.3.1", 50 | "auto": "^11.0.1", 51 | "common-tags": "^1.8.0", 52 | "happy-dom": "^13.1.0", 53 | "is-function": "^1.0.2", 54 | "is-regex": "^1.1.2", 55 | "is-symbol": "^1.0.3", 56 | "isobject": "^4.0.0", 57 | "lodash-es": "^4.17.21", 58 | "tsup": "^6.2.2", 59 | "typescript": "^4.2.3", 60 | "vitest": "^1.3.1" 61 | }, 62 | "publishConfig": { 63 | "access": "public" 64 | }, 65 | "auto": { 66 | "plugins": [ 67 | "npm", 68 | "released" 69 | ] 70 | }, 71 | "packageManager": "pnpm@9.12.3+sha512.cce0f9de9c5a7c95bef944169cc5dfe8741abfb145078c0d508b868056848a87c81e626246cb60967cbd7fd29a6c062ef73ff840d96b3c86c40ac92cf4a813ee" 72 | } 73 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@auto-it/released': 12 | specifier: ^11.0.1 13 | version: 11.3.0(@types/node@22.13.14)(typescript@4.9.5) 14 | '@biomejs/biome': 15 | specifier: ^1.9.4 16 | version: 1.9.4 17 | '@types/is-function': 18 | specifier: ^1.0.0 19 | version: 1.0.3 20 | '@types/lodash-es': 21 | specifier: ^4.17.6 22 | version: 4.17.12 23 | '@vitest/coverage-v8': 24 | specifier: ^1.3.1 25 | version: 1.6.1(vitest@1.6.1(@types/node@22.13.14)(happy-dom@13.10.1)(jsdom@16.7.0)) 26 | auto: 27 | specifier: ^11.0.1 28 | version: 11.3.0(@types/node@22.13.14)(typescript@4.9.5) 29 | common-tags: 30 | specifier: ^1.8.0 31 | version: 1.8.2 32 | happy-dom: 33 | specifier: ^13.1.0 34 | version: 13.10.1 35 | is-function: 36 | specifier: ^1.0.2 37 | version: 1.0.2 38 | is-regex: 39 | specifier: ^1.1.2 40 | version: 1.2.1 41 | is-symbol: 42 | specifier: ^1.0.3 43 | version: 1.1.1 44 | isobject: 45 | specifier: ^4.0.0 46 | version: 4.0.0 47 | lodash-es: 48 | specifier: ^4.17.21 49 | version: 4.17.21 50 | tsup: 51 | specifier: ^6.2.2 52 | version: 6.7.0(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.14)(typescript@4.9.5))(typescript@4.9.5) 53 | typescript: 54 | specifier: ^4.2.3 55 | version: 4.9.5 56 | vitest: 57 | specifier: ^1.3.1 58 | version: 1.6.1(@types/node@22.13.14)(happy-dom@13.10.1)(jsdom@16.7.0) 59 | 60 | packages: 61 | 62 | '@ampproject/remapping@2.3.0': 63 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 64 | engines: {node: '>=6.0.0'} 65 | 66 | '@auto-it/bot-list@11.3.0': 67 | resolution: {integrity: sha512-+izoqAyOSiDVt3WcjVkSvLBV9c82VXLSf3oSWWcCeoxW/YDQ2AoInQ3M3EEyuBP+Yw9KQwGTTYHqpR7ZFkZpDQ==} 68 | engines: {node: '>=10.x'} 69 | 70 | '@auto-it/core@11.3.0': 71 | resolution: {integrity: sha512-3i7ooAhQJulVDG3gmdOioTXLhpFoS75Z/OsLV8ZkrEaEH/sfxlslqFx20VjWva7gMLl2iO8IjbRnlLhkXy5geg==} 72 | peerDependencies: 73 | '@types/node': '*' 74 | typescript: '>=2.7' 75 | peerDependenciesMeta: 76 | '@types/node': 77 | optional: true 78 | 79 | '@auto-it/npm@11.3.0': 80 | resolution: {integrity: sha512-II7u1trzi2hSd1Vww635DmvHqHlgtVPqr4VPJlq1M7zqPwi9+FcaMW5J/DSqlwJgWRWviWqepIhasUQhj69p0A==} 81 | 82 | '@auto-it/package-json-utils@11.3.0': 83 | resolution: {integrity: sha512-wZQLfxYCzqNTlqgYhgm1mZaasA35tuOhGl0npWMZlq0HJ4rbNvUYnjb8bXlyfm/dxTYtYp70IhoV5kv1NmPX8Q==} 84 | engines: {node: '>=10.x'} 85 | 86 | '@auto-it/released@11.3.0': 87 | resolution: {integrity: sha512-8Aw8WGuTi3giKU9+KEutebLhhX+4eNVa7SmVLaRIFECUxI/+PS20yMbWsYjsyk5qju1MdpEQGPOW/4U5OZ6Bdw==} 88 | 89 | '@auto-it/version-file@11.3.0': 90 | resolution: {integrity: sha512-+ax5/oXKLc5moXrSJuGm3eC10YFapWFwS5MEVwdspPM2YJn1ImuhagXOq5FJ1XK8aeHILZI+2iA+YB5wI1bcLA==} 91 | 92 | '@babel/code-frame@7.26.2': 93 | resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} 94 | engines: {node: '>=6.9.0'} 95 | 96 | '@babel/helper-string-parser@7.25.9': 97 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} 98 | engines: {node: '>=6.9.0'} 99 | 100 | '@babel/helper-validator-identifier@7.25.9': 101 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 102 | engines: {node: '>=6.9.0'} 103 | 104 | '@babel/parser@7.27.0': 105 | resolution: {integrity: sha512-iaepho73/2Pz7w2eMS0Q5f83+0RKI7i4xmiYeBmDzfRVbQtTOG7Ts0S4HzJVsTMGI9keU8rNfuZr8DKfSt7Yyg==} 106 | engines: {node: '>=6.0.0'} 107 | hasBin: true 108 | 109 | '@babel/types@7.27.0': 110 | resolution: {integrity: sha512-H45s8fVLYjbhFH62dIJ3WtmJ6RSPt/3DRO0ZcT2SUiYiQyz3BLVb9ADEnLl91m74aQPS3AzzeajZHYOalWe3bg==} 111 | engines: {node: '>=6.9.0'} 112 | 113 | '@bcoe/v8-coverage@0.2.3': 114 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} 115 | 116 | '@biomejs/biome@1.9.4': 117 | resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} 118 | engines: {node: '>=14.21.3'} 119 | hasBin: true 120 | 121 | '@biomejs/cli-darwin-arm64@1.9.4': 122 | resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} 123 | engines: {node: '>=14.21.3'} 124 | cpu: [arm64] 125 | os: [darwin] 126 | 127 | '@biomejs/cli-darwin-x64@1.9.4': 128 | resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} 129 | engines: {node: '>=14.21.3'} 130 | cpu: [x64] 131 | os: [darwin] 132 | 133 | '@biomejs/cli-linux-arm64-musl@1.9.4': 134 | resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} 135 | engines: {node: '>=14.21.3'} 136 | cpu: [arm64] 137 | os: [linux] 138 | 139 | '@biomejs/cli-linux-arm64@1.9.4': 140 | resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} 141 | engines: {node: '>=14.21.3'} 142 | cpu: [arm64] 143 | os: [linux] 144 | 145 | '@biomejs/cli-linux-x64-musl@1.9.4': 146 | resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} 147 | engines: {node: '>=14.21.3'} 148 | cpu: [x64] 149 | os: [linux] 150 | 151 | '@biomejs/cli-linux-x64@1.9.4': 152 | resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} 153 | engines: {node: '>=14.21.3'} 154 | cpu: [x64] 155 | os: [linux] 156 | 157 | '@biomejs/cli-win32-arm64@1.9.4': 158 | resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} 159 | engines: {node: '>=14.21.3'} 160 | cpu: [arm64] 161 | os: [win32] 162 | 163 | '@biomejs/cli-win32-x64@1.9.4': 164 | resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} 165 | engines: {node: '>=14.21.3'} 166 | cpu: [x64] 167 | os: [win32] 168 | 169 | '@cspotcode/source-map-support@0.8.1': 170 | resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} 171 | engines: {node: '>=12'} 172 | 173 | '@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2': 174 | resolution: {integrity: sha512-QRVtqJuS1mcT56oHpVegkKBlgtWjXw/gHNWO3eL9oyB5Sc7HBoc2OLG/nYpVfT/Jejvo3NUrD0Udk7XgoyDKkA==} 175 | engines: {node: '>=10.0.0'} 176 | peerDependencies: 177 | cosmiconfig: '>=6' 178 | 179 | '@esbuild/aix-ppc64@0.21.5': 180 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 181 | engines: {node: '>=12'} 182 | cpu: [ppc64] 183 | os: [aix] 184 | 185 | '@esbuild/android-arm64@0.17.19': 186 | resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} 187 | engines: {node: '>=12'} 188 | cpu: [arm64] 189 | os: [android] 190 | 191 | '@esbuild/android-arm64@0.21.5': 192 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 193 | engines: {node: '>=12'} 194 | cpu: [arm64] 195 | os: [android] 196 | 197 | '@esbuild/android-arm@0.17.19': 198 | resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} 199 | engines: {node: '>=12'} 200 | cpu: [arm] 201 | os: [android] 202 | 203 | '@esbuild/android-arm@0.21.5': 204 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 205 | engines: {node: '>=12'} 206 | cpu: [arm] 207 | os: [android] 208 | 209 | '@esbuild/android-x64@0.17.19': 210 | resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} 211 | engines: {node: '>=12'} 212 | cpu: [x64] 213 | os: [android] 214 | 215 | '@esbuild/android-x64@0.21.5': 216 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 217 | engines: {node: '>=12'} 218 | cpu: [x64] 219 | os: [android] 220 | 221 | '@esbuild/darwin-arm64@0.17.19': 222 | resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} 223 | engines: {node: '>=12'} 224 | cpu: [arm64] 225 | os: [darwin] 226 | 227 | '@esbuild/darwin-arm64@0.21.5': 228 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 229 | engines: {node: '>=12'} 230 | cpu: [arm64] 231 | os: [darwin] 232 | 233 | '@esbuild/darwin-x64@0.17.19': 234 | resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} 235 | engines: {node: '>=12'} 236 | cpu: [x64] 237 | os: [darwin] 238 | 239 | '@esbuild/darwin-x64@0.21.5': 240 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 241 | engines: {node: '>=12'} 242 | cpu: [x64] 243 | os: [darwin] 244 | 245 | '@esbuild/freebsd-arm64@0.17.19': 246 | resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} 247 | engines: {node: '>=12'} 248 | cpu: [arm64] 249 | os: [freebsd] 250 | 251 | '@esbuild/freebsd-arm64@0.21.5': 252 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 253 | engines: {node: '>=12'} 254 | cpu: [arm64] 255 | os: [freebsd] 256 | 257 | '@esbuild/freebsd-x64@0.17.19': 258 | resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} 259 | engines: {node: '>=12'} 260 | cpu: [x64] 261 | os: [freebsd] 262 | 263 | '@esbuild/freebsd-x64@0.21.5': 264 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 265 | engines: {node: '>=12'} 266 | cpu: [x64] 267 | os: [freebsd] 268 | 269 | '@esbuild/linux-arm64@0.17.19': 270 | resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} 271 | engines: {node: '>=12'} 272 | cpu: [arm64] 273 | os: [linux] 274 | 275 | '@esbuild/linux-arm64@0.21.5': 276 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 277 | engines: {node: '>=12'} 278 | cpu: [arm64] 279 | os: [linux] 280 | 281 | '@esbuild/linux-arm@0.17.19': 282 | resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} 283 | engines: {node: '>=12'} 284 | cpu: [arm] 285 | os: [linux] 286 | 287 | '@esbuild/linux-arm@0.21.5': 288 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 289 | engines: {node: '>=12'} 290 | cpu: [arm] 291 | os: [linux] 292 | 293 | '@esbuild/linux-ia32@0.17.19': 294 | resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} 295 | engines: {node: '>=12'} 296 | cpu: [ia32] 297 | os: [linux] 298 | 299 | '@esbuild/linux-ia32@0.21.5': 300 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 301 | engines: {node: '>=12'} 302 | cpu: [ia32] 303 | os: [linux] 304 | 305 | '@esbuild/linux-loong64@0.17.19': 306 | resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} 307 | engines: {node: '>=12'} 308 | cpu: [loong64] 309 | os: [linux] 310 | 311 | '@esbuild/linux-loong64@0.21.5': 312 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 313 | engines: {node: '>=12'} 314 | cpu: [loong64] 315 | os: [linux] 316 | 317 | '@esbuild/linux-mips64el@0.17.19': 318 | resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} 319 | engines: {node: '>=12'} 320 | cpu: [mips64el] 321 | os: [linux] 322 | 323 | '@esbuild/linux-mips64el@0.21.5': 324 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 325 | engines: {node: '>=12'} 326 | cpu: [mips64el] 327 | os: [linux] 328 | 329 | '@esbuild/linux-ppc64@0.17.19': 330 | resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} 331 | engines: {node: '>=12'} 332 | cpu: [ppc64] 333 | os: [linux] 334 | 335 | '@esbuild/linux-ppc64@0.21.5': 336 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 337 | engines: {node: '>=12'} 338 | cpu: [ppc64] 339 | os: [linux] 340 | 341 | '@esbuild/linux-riscv64@0.17.19': 342 | resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} 343 | engines: {node: '>=12'} 344 | cpu: [riscv64] 345 | os: [linux] 346 | 347 | '@esbuild/linux-riscv64@0.21.5': 348 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 349 | engines: {node: '>=12'} 350 | cpu: [riscv64] 351 | os: [linux] 352 | 353 | '@esbuild/linux-s390x@0.17.19': 354 | resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} 355 | engines: {node: '>=12'} 356 | cpu: [s390x] 357 | os: [linux] 358 | 359 | '@esbuild/linux-s390x@0.21.5': 360 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 361 | engines: {node: '>=12'} 362 | cpu: [s390x] 363 | os: [linux] 364 | 365 | '@esbuild/linux-x64@0.17.19': 366 | resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} 367 | engines: {node: '>=12'} 368 | cpu: [x64] 369 | os: [linux] 370 | 371 | '@esbuild/linux-x64@0.21.5': 372 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 373 | engines: {node: '>=12'} 374 | cpu: [x64] 375 | os: [linux] 376 | 377 | '@esbuild/netbsd-x64@0.17.19': 378 | resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} 379 | engines: {node: '>=12'} 380 | cpu: [x64] 381 | os: [netbsd] 382 | 383 | '@esbuild/netbsd-x64@0.21.5': 384 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 385 | engines: {node: '>=12'} 386 | cpu: [x64] 387 | os: [netbsd] 388 | 389 | '@esbuild/openbsd-x64@0.17.19': 390 | resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} 391 | engines: {node: '>=12'} 392 | cpu: [x64] 393 | os: [openbsd] 394 | 395 | '@esbuild/openbsd-x64@0.21.5': 396 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 397 | engines: {node: '>=12'} 398 | cpu: [x64] 399 | os: [openbsd] 400 | 401 | '@esbuild/sunos-x64@0.17.19': 402 | resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} 403 | engines: {node: '>=12'} 404 | cpu: [x64] 405 | os: [sunos] 406 | 407 | '@esbuild/sunos-x64@0.21.5': 408 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 409 | engines: {node: '>=12'} 410 | cpu: [x64] 411 | os: [sunos] 412 | 413 | '@esbuild/win32-arm64@0.17.19': 414 | resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} 415 | engines: {node: '>=12'} 416 | cpu: [arm64] 417 | os: [win32] 418 | 419 | '@esbuild/win32-arm64@0.21.5': 420 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 421 | engines: {node: '>=12'} 422 | cpu: [arm64] 423 | os: [win32] 424 | 425 | '@esbuild/win32-ia32@0.17.19': 426 | resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} 427 | engines: {node: '>=12'} 428 | cpu: [ia32] 429 | os: [win32] 430 | 431 | '@esbuild/win32-ia32@0.21.5': 432 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 433 | engines: {node: '>=12'} 434 | cpu: [ia32] 435 | os: [win32] 436 | 437 | '@esbuild/win32-x64@0.17.19': 438 | resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} 439 | engines: {node: '>=12'} 440 | cpu: [x64] 441 | os: [win32] 442 | 443 | '@esbuild/win32-x64@0.21.5': 444 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 445 | engines: {node: '>=12'} 446 | cpu: [x64] 447 | os: [win32] 448 | 449 | '@isaacs/cliui@8.0.2': 450 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 451 | engines: {node: '>=12'} 452 | 453 | '@istanbuljs/schema@0.1.3': 454 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 455 | engines: {node: '>=8'} 456 | 457 | '@jest/schemas@29.6.3': 458 | resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} 459 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 460 | 461 | '@jridgewell/gen-mapping@0.3.8': 462 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 463 | engines: {node: '>=6.0.0'} 464 | 465 | '@jridgewell/resolve-uri@3.1.2': 466 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 467 | engines: {node: '>=6.0.0'} 468 | 469 | '@jridgewell/set-array@1.2.1': 470 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 471 | engines: {node: '>=6.0.0'} 472 | 473 | '@jridgewell/sourcemap-codec@1.5.0': 474 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 475 | 476 | '@jridgewell/trace-mapping@0.3.25': 477 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 478 | 479 | '@jridgewell/trace-mapping@0.3.9': 480 | resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} 481 | 482 | '@nodelib/fs.scandir@2.1.5': 483 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 484 | engines: {node: '>= 8'} 485 | 486 | '@nodelib/fs.stat@2.0.5': 487 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 488 | engines: {node: '>= 8'} 489 | 490 | '@nodelib/fs.walk@1.2.8': 491 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 492 | engines: {node: '>= 8'} 493 | 494 | '@octokit/auth-token@2.5.0': 495 | resolution: {integrity: sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==} 496 | 497 | '@octokit/core@3.6.0': 498 | resolution: {integrity: sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==} 499 | 500 | '@octokit/endpoint@6.0.12': 501 | resolution: {integrity: sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==} 502 | 503 | '@octokit/graphql@4.8.0': 504 | resolution: {integrity: sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==} 505 | 506 | '@octokit/openapi-types@12.11.0': 507 | resolution: {integrity: sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==} 508 | 509 | '@octokit/plugin-enterprise-compatibility@1.3.0': 510 | resolution: {integrity: sha512-h34sMGdEOER/OKrZJ55v26ntdHb9OPfR1fwOx6Q4qYyyhWA104o11h9tFxnS/l41gED6WEI41Vu2G2zHDVC5lQ==} 511 | 512 | '@octokit/plugin-paginate-rest@2.21.3': 513 | resolution: {integrity: sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==} 514 | peerDependencies: 515 | '@octokit/core': '>=2' 516 | 517 | '@octokit/plugin-request-log@1.0.4': 518 | resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} 519 | peerDependencies: 520 | '@octokit/core': '>=3' 521 | 522 | '@octokit/plugin-rest-endpoint-methods@5.16.2': 523 | resolution: {integrity: sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==} 524 | peerDependencies: 525 | '@octokit/core': '>=3' 526 | 527 | '@octokit/plugin-retry@3.0.9': 528 | resolution: {integrity: sha512-r+fArdP5+TG6l1Rv/C9hVoty6tldw6cE2pRHNGmFPdyfrc696R6JjrQ3d7HdVqGwuzfyrcaLAKD7K8TX8aehUQ==} 529 | 530 | '@octokit/plugin-throttling@3.7.0': 531 | resolution: {integrity: sha512-qrKT1Yl/KuwGSC6/oHpLBot3ooC9rq0/ryDYBCpkRtoj+R8T47xTMDT6Tk2CxWopFota/8Pi/2SqArqwC0JPow==} 532 | peerDependencies: 533 | '@octokit/core': ^3.5.0 534 | 535 | '@octokit/request-error@2.1.0': 536 | resolution: {integrity: sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==} 537 | 538 | '@octokit/request@5.6.3': 539 | resolution: {integrity: sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==} 540 | 541 | '@octokit/rest@18.12.0': 542 | resolution: {integrity: sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==} 543 | 544 | '@octokit/types@6.41.0': 545 | resolution: {integrity: sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==} 546 | 547 | '@pkgjs/parseargs@0.11.0': 548 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 549 | engines: {node: '>=14'} 550 | 551 | '@rollup/rollup-android-arm-eabi@4.38.0': 552 | resolution: {integrity: sha512-ldomqc4/jDZu/xpYU+aRxo3V4mGCV9HeTgUBANI3oIQMOL+SsxB+S2lxMpkFp5UamSS3XuTMQVbsS24R4J4Qjg==} 553 | cpu: [arm] 554 | os: [android] 555 | 556 | '@rollup/rollup-android-arm64@4.38.0': 557 | resolution: {integrity: sha512-VUsgcy4GhhT7rokwzYQP+aV9XnSLkkhlEJ0St8pbasuWO/vwphhZQxYEKUP3ayeCYLhk6gEtacRpYP/cj3GjyQ==} 558 | cpu: [arm64] 559 | os: [android] 560 | 561 | '@rollup/rollup-darwin-arm64@4.38.0': 562 | resolution: {integrity: sha512-buA17AYXlW9Rn091sWMq1xGUvWQFOH4N1rqUxGJtEQzhChxWjldGCCup7r/wUnaI6Au8sKXpoh0xg58a7cgcpg==} 563 | cpu: [arm64] 564 | os: [darwin] 565 | 566 | '@rollup/rollup-darwin-x64@4.38.0': 567 | resolution: {integrity: sha512-Mgcmc78AjunP1SKXl624vVBOF2bzwNWFPMP4fpOu05vS0amnLcX8gHIge7q/lDAHy3T2HeR0TqrriZDQS2Woeg==} 568 | cpu: [x64] 569 | os: [darwin] 570 | 571 | '@rollup/rollup-freebsd-arm64@4.38.0': 572 | resolution: {integrity: sha512-zzJACgjLbQTsscxWqvrEQAEh28hqhebpRz5q/uUd1T7VTwUNZ4VIXQt5hE7ncs0GrF+s7d3S4on4TiXUY8KoQA==} 573 | cpu: [arm64] 574 | os: [freebsd] 575 | 576 | '@rollup/rollup-freebsd-x64@4.38.0': 577 | resolution: {integrity: sha512-hCY/KAeYMCyDpEE4pTETam0XZS4/5GXzlLgpi5f0IaPExw9kuB+PDTOTLuPtM10TlRG0U9OSmXJ+Wq9J39LvAg==} 578 | cpu: [x64] 579 | os: [freebsd] 580 | 581 | '@rollup/rollup-linux-arm-gnueabihf@4.38.0': 582 | resolution: {integrity: sha512-mimPH43mHl4JdOTD7bUMFhBdrg6f9HzMTOEnzRmXbOZqjijCw8LA5z8uL6LCjxSa67H2xiLFvvO67PT05PRKGg==} 583 | cpu: [arm] 584 | os: [linux] 585 | 586 | '@rollup/rollup-linux-arm-musleabihf@4.38.0': 587 | resolution: {integrity: sha512-tPiJtiOoNuIH8XGG8sWoMMkAMm98PUwlriOFCCbZGc9WCax+GLeVRhmaxjJtz6WxrPKACgrwoZ5ia/uapq3ZVg==} 588 | cpu: [arm] 589 | os: [linux] 590 | 591 | '@rollup/rollup-linux-arm64-gnu@4.38.0': 592 | resolution: {integrity: sha512-wZco59rIVuB0tjQS0CSHTTUcEde+pXQWugZVxWaQFdQQ1VYub/sTrNdY76D1MKdN2NB48JDuGABP6o6fqos8mA==} 593 | cpu: [arm64] 594 | os: [linux] 595 | 596 | '@rollup/rollup-linux-arm64-musl@4.38.0': 597 | resolution: {integrity: sha512-fQgqwKmW0REM4LomQ+87PP8w8xvU9LZfeLBKybeli+0yHT7VKILINzFEuggvnV9M3x1Ed4gUBmGUzCo/ikmFbQ==} 598 | cpu: [arm64] 599 | os: [linux] 600 | 601 | '@rollup/rollup-linux-loongarch64-gnu@4.38.0': 602 | resolution: {integrity: sha512-hz5oqQLXTB3SbXpfkKHKXLdIp02/w3M+ajp8p4yWOWwQRtHWiEOCKtc9U+YXahrwdk+3qHdFMDWR5k+4dIlddg==} 603 | cpu: [loong64] 604 | os: [linux] 605 | 606 | '@rollup/rollup-linux-powerpc64le-gnu@4.38.0': 607 | resolution: {integrity: sha512-NXqygK/dTSibQ+0pzxsL3r4Xl8oPqVoWbZV9niqOnIHV/J92fe65pOir0xjkUZDRSPyFRvu+4YOpJF9BZHQImw==} 608 | cpu: [ppc64] 609 | os: [linux] 610 | 611 | '@rollup/rollup-linux-riscv64-gnu@4.38.0': 612 | resolution: {integrity: sha512-GEAIabR1uFyvf/jW/5jfu8gjM06/4kZ1W+j1nWTSSB3w6moZEBm7iBtzwQ3a1Pxos2F7Gz+58aVEnZHU295QTg==} 613 | cpu: [riscv64] 614 | os: [linux] 615 | 616 | '@rollup/rollup-linux-riscv64-musl@4.38.0': 617 | resolution: {integrity: sha512-9EYTX+Gus2EGPbfs+fh7l95wVADtSQyYw4DfSBcYdUEAmP2lqSZY0Y17yX/3m5VKGGJ4UmIH5LHLkMJft3bYoA==} 618 | cpu: [riscv64] 619 | os: [linux] 620 | 621 | '@rollup/rollup-linux-s390x-gnu@4.38.0': 622 | resolution: {integrity: sha512-Mpp6+Z5VhB9VDk7RwZXoG2qMdERm3Jw07RNlXHE0bOnEeX+l7Fy4bg+NxfyN15ruuY3/7Vrbpm75J9QHFqj5+Q==} 623 | cpu: [s390x] 624 | os: [linux] 625 | 626 | '@rollup/rollup-linux-x64-gnu@4.38.0': 627 | resolution: {integrity: sha512-vPvNgFlZRAgO7rwncMeE0+8c4Hmc+qixnp00/Uv3ht2x7KYrJ6ERVd3/R0nUtlE6/hu7/HiiNHJ/rP6knRFt1w==} 628 | cpu: [x64] 629 | os: [linux] 630 | 631 | '@rollup/rollup-linux-x64-musl@4.38.0': 632 | resolution: {integrity: sha512-q5Zv+goWvQUGCaL7fU8NuTw8aydIL/C9abAVGCzRReuj5h30TPx4LumBtAidrVOtXnlB+RZkBtExMsfqkMfb8g==} 633 | cpu: [x64] 634 | os: [linux] 635 | 636 | '@rollup/rollup-win32-arm64-msvc@4.38.0': 637 | resolution: {integrity: sha512-u/Jbm1BU89Vftqyqbmxdq14nBaQjQX1HhmsdBWqSdGClNaKwhjsg5TpW+5Ibs1mb8Es9wJiMdl86BcmtUVXNZg==} 638 | cpu: [arm64] 639 | os: [win32] 640 | 641 | '@rollup/rollup-win32-ia32-msvc@4.38.0': 642 | resolution: {integrity: sha512-mqu4PzTrlpNHHbu5qleGvXJoGgHpChBlrBx/mEhTPpnAL1ZAYFlvHD7rLK839LLKQzqEQMFJfGrrOHItN4ZQqA==} 643 | cpu: [ia32] 644 | os: [win32] 645 | 646 | '@rollup/rollup-win32-x64-msvc@4.38.0': 647 | resolution: {integrity: sha512-jjqy3uWlecfB98Psxb5cD6Fny9Fupv9LrDSPTQZUROqjvZmcCqNu4UMl7qqhlUUGpwiAkotj6GYu4SZdcr/nLw==} 648 | cpu: [x64] 649 | os: [win32] 650 | 651 | '@sinclair/typebox@0.27.8': 652 | resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 653 | 654 | '@tootallnate/once@1.1.2': 655 | resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} 656 | engines: {node: '>= 6'} 657 | 658 | '@tsconfig/node10@1.0.11': 659 | resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} 660 | 661 | '@tsconfig/node12@1.0.11': 662 | resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} 663 | 664 | '@tsconfig/node14@1.0.3': 665 | resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} 666 | 667 | '@tsconfig/node16@1.0.4': 668 | resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} 669 | 670 | '@types/command-line-args@5.2.3': 671 | resolution: {integrity: sha512-uv0aG6R0Y8WHZLTamZwtfsDLVRnOa+n+n5rEvFWL5Na5gZ8V2Teab/duDPFzIIIhs9qizDpcavCusCLJZu62Kw==} 672 | 673 | '@types/command-line-usage@5.0.4': 674 | resolution: {integrity: sha512-BwR5KP3Es/CSht0xqBcUXS3qCAUVXwpRKsV2+arxeb65atasuXG9LykC9Ab10Cw3s2raH92ZqOeILaQbsB2ACg==} 675 | 676 | '@types/estree@1.0.7': 677 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} 678 | 679 | '@types/is-function@1.0.3': 680 | resolution: {integrity: sha512-/CLhCW79JUeLKznI6mbVieGbl4QU5Hfn+6udw1YHZoofASjbQ5zaP5LzAUZYDpRYEjS4/P+DhEgyJ/PQmGGTWw==} 681 | 682 | '@types/lodash-es@4.17.12': 683 | resolution: {integrity: sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==} 684 | 685 | '@types/lodash@4.17.16': 686 | resolution: {integrity: sha512-HX7Em5NYQAXKW+1T+FiuG27NGwzJfCX3s1GjOa7ujxZa52kjJLOr4FUxT+giF6Tgxv1e+/czV/iTtBw27WTU9g==} 687 | 688 | '@types/node@22.13.14': 689 | resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} 690 | 691 | '@types/parse-json@4.0.2': 692 | resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} 693 | 694 | '@vitest/coverage-v8@1.6.1': 695 | resolution: {integrity: sha512-6YeRZwuO4oTGKxD3bijok756oktHSIm3eczVVzNe3scqzuhLwltIF3S9ZL/vwOVIpURmU6SnZhziXXAfw8/Qlw==} 696 | peerDependencies: 697 | vitest: 1.6.1 698 | 699 | '@vitest/expect@1.6.1': 700 | resolution: {integrity: sha512-jXL+9+ZNIJKruofqXuuTClf44eSpcHlgj3CiuNihUF3Ioujtmc0zIa3UJOW5RjDK1YLBJZnWBlPuqhYycLioog==} 701 | 702 | '@vitest/runner@1.6.1': 703 | resolution: {integrity: sha512-3nSnYXkVkf3mXFfE7vVyPmi3Sazhb/2cfZGGs0JRzFsPFvAMBEcrweV1V1GsrstdXeKCTXlJbvnQwGWgEIHmOA==} 704 | 705 | '@vitest/snapshot@1.6.1': 706 | resolution: {integrity: sha512-WvidQuWAzU2p95u8GAKlRMqMyN1yOJkGHnx3M1PL9Raf7AQ1kwLKg04ADlCa3+OXUZE7BceOhVZiuWAbzCKcUQ==} 707 | 708 | '@vitest/spy@1.6.1': 709 | resolution: {integrity: sha512-MGcMmpGkZebsMZhbQKkAf9CX5zGvjkBTqf8Zx3ApYWXr3wG+QvEu2eXWfnIIWYSJExIp4V9FCKDEeygzkYrXMw==} 710 | 711 | '@vitest/utils@1.6.1': 712 | resolution: {integrity: sha512-jOrrUvXM4Av9ZWiG1EajNto0u96kWAhJ1LmPmJhXXQx/32MecEKd10pOLYgS2BQx1TgkGhloPU1ArDW2vvaY6g==} 713 | 714 | abab@2.0.6: 715 | resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} 716 | deprecated: Use your platform's native atob() and btoa() methods instead 717 | 718 | acorn-globals@6.0.0: 719 | resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} 720 | 721 | acorn-walk@7.2.0: 722 | resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} 723 | engines: {node: '>=0.4.0'} 724 | 725 | acorn-walk@8.3.4: 726 | resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} 727 | engines: {node: '>=0.4.0'} 728 | 729 | acorn@7.4.1: 730 | resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} 731 | engines: {node: '>=0.4.0'} 732 | hasBin: true 733 | 734 | acorn@8.14.1: 735 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 736 | engines: {node: '>=0.4.0'} 737 | hasBin: true 738 | 739 | agent-base@6.0.2: 740 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 741 | engines: {node: '>= 6.0.0'} 742 | 743 | ansi-colors@4.1.3: 744 | resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} 745 | engines: {node: '>=6'} 746 | 747 | ansi-escapes@4.3.2: 748 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 749 | engines: {node: '>=8'} 750 | 751 | ansi-regex@5.0.1: 752 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 753 | engines: {node: '>=8'} 754 | 755 | ansi-regex@6.1.0: 756 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 757 | engines: {node: '>=12'} 758 | 759 | ansi-styles@3.2.1: 760 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 761 | engines: {node: '>=4'} 762 | 763 | ansi-styles@4.3.0: 764 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 765 | engines: {node: '>=8'} 766 | 767 | ansi-styles@5.2.0: 768 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 769 | engines: {node: '>=10'} 770 | 771 | ansi-styles@6.2.1: 772 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 773 | engines: {node: '>=12'} 774 | 775 | any-promise@1.3.0: 776 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 777 | 778 | anymatch@3.1.3: 779 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 780 | engines: {node: '>= 8'} 781 | 782 | arg@4.1.3: 783 | resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} 784 | 785 | array-back@3.1.0: 786 | resolution: {integrity: sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==} 787 | engines: {node: '>=6'} 788 | 789 | array-back@4.0.2: 790 | resolution: {integrity: sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==} 791 | engines: {node: '>=8'} 792 | 793 | array-union@1.0.2: 794 | resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} 795 | engines: {node: '>=0.10.0'} 796 | 797 | array-union@2.1.0: 798 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 799 | engines: {node: '>=8'} 800 | 801 | array-uniq@1.0.3: 802 | resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} 803 | engines: {node: '>=0.10.0'} 804 | 805 | assertion-error@1.1.0: 806 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 807 | 808 | asynckit@0.4.0: 809 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 810 | 811 | author-regex@1.0.0: 812 | resolution: {integrity: sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==} 813 | engines: {node: '>=0.8'} 814 | 815 | auto@11.3.0: 816 | resolution: {integrity: sha512-7FWjxrfsVKaToAcjxsijdpL8prbffZk5ovPCTVDk6c0Yq3pNKd2AMm5fkPR5lDbnYNeoU7lbm+0wVtJSoTQhpw==} 817 | engines: {node: '>=10.x'} 818 | hasBin: true 819 | 820 | await-to-js@3.0.0: 821 | resolution: {integrity: sha512-zJAaP9zxTcvTHRlejau3ZOY4V7SRpiByf3/dxx2uyKxxor19tpmpV2QRsTKikckwhaPmr2dVpxxMr7jOCYVp5g==} 822 | engines: {node: '>=6.0.0'} 823 | 824 | balanced-match@1.0.2: 825 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 826 | 827 | before-after-hook@2.2.3: 828 | resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} 829 | 830 | binary-extensions@2.3.0: 831 | resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} 832 | engines: {node: '>=8'} 833 | 834 | bottleneck@2.19.5: 835 | resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} 836 | 837 | brace-expansion@1.1.11: 838 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 839 | 840 | brace-expansion@2.0.1: 841 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 842 | 843 | braces@3.0.3: 844 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 845 | engines: {node: '>=8'} 846 | 847 | browser-process-hrtime@1.0.0: 848 | resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} 849 | 850 | buffer-from@1.1.2: 851 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 852 | 853 | bundle-require@4.2.1: 854 | resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} 855 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 856 | peerDependencies: 857 | esbuild: '>=0.17' 858 | 859 | cac@6.7.14: 860 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 861 | engines: {node: '>=8'} 862 | 863 | call-bind-apply-helpers@1.0.2: 864 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 865 | engines: {node: '>= 0.4'} 866 | 867 | call-bound@1.0.4: 868 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 869 | engines: {node: '>= 0.4'} 870 | 871 | callsites@3.1.0: 872 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 873 | engines: {node: '>=6'} 874 | 875 | chai@4.5.0: 876 | resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} 877 | engines: {node: '>=4'} 878 | 879 | chalk@2.4.2: 880 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 881 | engines: {node: '>=4'} 882 | 883 | chalk@4.1.2: 884 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 885 | engines: {node: '>=10'} 886 | 887 | check-error@1.0.3: 888 | resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} 889 | 890 | chokidar@3.6.0: 891 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 892 | engines: {node: '>= 8.10.0'} 893 | 894 | color-convert@1.9.3: 895 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 896 | 897 | color-convert@2.0.1: 898 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 899 | engines: {node: '>=7.0.0'} 900 | 901 | color-name@1.1.3: 902 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 903 | 904 | color-name@1.1.4: 905 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 906 | 907 | combined-stream@1.0.8: 908 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 909 | engines: {node: '>= 0.8'} 910 | 911 | command-line-application@0.10.1: 912 | resolution: {integrity: sha512-PWZ4nRkz09MbBRocqEe/Fil3RjTaMNqw0didl1n/i3flDcw/vecVfvsw3r+ZHhGs4BOuW7sk3cEYSdfM3Wv5/Q==} 913 | 914 | command-line-args@5.2.1: 915 | resolution: {integrity: sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==} 916 | engines: {node: '>=4.0.0'} 917 | 918 | command-line-usage@6.1.3: 919 | resolution: {integrity: sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==} 920 | engines: {node: '>=8.0.0'} 921 | 922 | commander@4.1.1: 923 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 924 | engines: {node: '>= 6'} 925 | 926 | common-tags@1.8.2: 927 | resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} 928 | engines: {node: '>=4.0.0'} 929 | 930 | concat-map@0.0.1: 931 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 932 | 933 | confbox@0.1.8: 934 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 935 | 936 | cosmiconfig@7.0.0: 937 | resolution: {integrity: sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==} 938 | engines: {node: '>=10'} 939 | 940 | create-require@1.1.1: 941 | resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} 942 | 943 | cross-spawn@7.0.6: 944 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 945 | engines: {node: '>= 8'} 946 | 947 | cssom@0.3.8: 948 | resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} 949 | 950 | cssom@0.4.4: 951 | resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} 952 | 953 | cssstyle@2.3.0: 954 | resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} 955 | engines: {node: '>=8'} 956 | 957 | data-urls@2.0.0: 958 | resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} 959 | engines: {node: '>=10'} 960 | 961 | debug@4.4.0: 962 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 963 | engines: {node: '>=6.0'} 964 | peerDependencies: 965 | supports-color: '*' 966 | peerDependenciesMeta: 967 | supports-color: 968 | optional: true 969 | 970 | decimal.js@10.5.0: 971 | resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} 972 | 973 | dedent@0.7.0: 974 | resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} 975 | 976 | deep-eql@4.1.4: 977 | resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} 978 | engines: {node: '>=6'} 979 | 980 | deep-extend@0.6.0: 981 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 982 | engines: {node: '>=4.0.0'} 983 | 984 | deepmerge@4.3.1: 985 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 986 | engines: {node: '>=0.10.0'} 987 | 988 | delayed-stream@1.0.0: 989 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 990 | engines: {node: '>=0.4.0'} 991 | 992 | deprecation@2.3.1: 993 | resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} 994 | 995 | diff-sequences@29.6.3: 996 | resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} 997 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 998 | 999 | diff@4.0.2: 1000 | resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} 1001 | engines: {node: '>=0.3.1'} 1002 | 1003 | dir-glob@2.2.2: 1004 | resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==} 1005 | engines: {node: '>=4'} 1006 | 1007 | dir-glob@3.0.1: 1008 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 1009 | engines: {node: '>=8'} 1010 | 1011 | domexception@2.0.1: 1012 | resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} 1013 | engines: {node: '>=8'} 1014 | deprecated: Use your platform's native DOMException instead 1015 | 1016 | dotenv@8.6.0: 1017 | resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} 1018 | engines: {node: '>=10'} 1019 | 1020 | dunder-proto@1.0.1: 1021 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 1022 | engines: {node: '>= 0.4'} 1023 | 1024 | eastasianwidth@0.2.0: 1025 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1026 | 1027 | emoji-regex@8.0.0: 1028 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1029 | 1030 | emoji-regex@9.2.2: 1031 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1032 | 1033 | endent@2.1.0: 1034 | resolution: {integrity: sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==} 1035 | 1036 | enquirer@2.4.1: 1037 | resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} 1038 | engines: {node: '>=8.6'} 1039 | 1040 | entities@4.5.0: 1041 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 1042 | engines: {node: '>=0.12'} 1043 | 1044 | env-ci@5.5.0: 1045 | resolution: {integrity: sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==} 1046 | engines: {node: '>=10.17'} 1047 | 1048 | error-ex@1.3.2: 1049 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1050 | 1051 | es-define-property@1.0.1: 1052 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 1053 | engines: {node: '>= 0.4'} 1054 | 1055 | es-errors@1.3.0: 1056 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 1057 | engines: {node: '>= 0.4'} 1058 | 1059 | es-object-atoms@1.1.1: 1060 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 1061 | engines: {node: '>= 0.4'} 1062 | 1063 | es-set-tostringtag@2.1.0: 1064 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} 1065 | engines: {node: '>= 0.4'} 1066 | 1067 | esbuild@0.17.19: 1068 | resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} 1069 | engines: {node: '>=12'} 1070 | hasBin: true 1071 | 1072 | esbuild@0.21.5: 1073 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 1074 | engines: {node: '>=12'} 1075 | hasBin: true 1076 | 1077 | escape-string-regexp@1.0.5: 1078 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1079 | engines: {node: '>=0.8.0'} 1080 | 1081 | escodegen@2.1.0: 1082 | resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} 1083 | engines: {node: '>=6.0'} 1084 | hasBin: true 1085 | 1086 | esprima@4.0.1: 1087 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1088 | engines: {node: '>=4'} 1089 | hasBin: true 1090 | 1091 | estraverse@5.3.0: 1092 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1093 | engines: {node: '>=4.0'} 1094 | 1095 | estree-walker@3.0.3: 1096 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 1097 | 1098 | esutils@2.0.3: 1099 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1100 | engines: {node: '>=0.10.0'} 1101 | 1102 | execa@5.1.1: 1103 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 1104 | engines: {node: '>=10'} 1105 | 1106 | execa@8.0.1: 1107 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 1108 | engines: {node: '>=16.17'} 1109 | 1110 | fast-glob@3.3.3: 1111 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1112 | engines: {node: '>=8.6.0'} 1113 | 1114 | fast-json-parse@1.0.3: 1115 | resolution: {integrity: sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==} 1116 | 1117 | fastq@1.19.1: 1118 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1119 | 1120 | figures@2.0.0: 1121 | resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} 1122 | engines: {node: '>=4'} 1123 | 1124 | fill-range@7.1.1: 1125 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1126 | engines: {node: '>=8'} 1127 | 1128 | find-replace@3.0.0: 1129 | resolution: {integrity: sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==} 1130 | engines: {node: '>=4.0.0'} 1131 | 1132 | find-up@2.1.0: 1133 | resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} 1134 | engines: {node: '>=4'} 1135 | 1136 | foreground-child@3.3.1: 1137 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 1138 | engines: {node: '>=14'} 1139 | 1140 | form-data@3.0.3: 1141 | resolution: {integrity: sha512-q5YBMeWy6E2Un0nMGWMgI65MAKtaylxfNJGJxpGh45YDciZB4epbWpaAfImil6CPAPTYB4sh0URQNDRIZG5F2w==} 1142 | engines: {node: '>= 6'} 1143 | 1144 | fp-ts@2.16.9: 1145 | resolution: {integrity: sha512-+I2+FnVB+tVaxcYyQkHUq7ZdKScaBlX53A41mxQtpIccsfyv8PzdzP7fzp2AY832T4aoK6UZ5WRX/ebGd8uZuQ==} 1146 | 1147 | fromentries@1.3.2: 1148 | resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} 1149 | 1150 | fs.realpath@1.0.0: 1151 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1152 | 1153 | fsevents@2.3.3: 1154 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1155 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1156 | os: [darwin] 1157 | 1158 | function-bind@1.1.2: 1159 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1160 | 1161 | get-func-name@2.0.2: 1162 | resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} 1163 | 1164 | get-intrinsic@1.3.0: 1165 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1166 | engines: {node: '>= 0.4'} 1167 | 1168 | get-monorepo-packages@1.3.0: 1169 | resolution: {integrity: sha512-A/s881nNcKhoM7RgkvYFTOtGO+dy4EWbyRaatncPEhhlJAaZRlpfHwuT68p5GJenEt81nnjJOwGg0WKLkR5ZdQ==} 1170 | 1171 | get-proto@1.0.1: 1172 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1173 | engines: {node: '>= 0.4'} 1174 | 1175 | get-stream@6.0.1: 1176 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1177 | engines: {node: '>=10'} 1178 | 1179 | get-stream@8.0.1: 1180 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 1181 | engines: {node: '>=16'} 1182 | 1183 | gitlog@4.0.8: 1184 | resolution: {integrity: sha512-FcTLP7Rc0H1vWXD+J/aj5JS1uiCEBblcYXlcacRAT73N26OMYFFzrBXYmDozmWlV2K7zwK5PrH16/nuRNhqSlQ==} 1185 | engines: {node: '>= 10.x'} 1186 | 1187 | glob-parent@5.1.2: 1188 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1189 | engines: {node: '>= 6'} 1190 | 1191 | glob@10.4.5: 1192 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1193 | hasBin: true 1194 | 1195 | glob@7.2.3: 1196 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1197 | deprecated: Glob versions prior to v9 are no longer supported 1198 | 1199 | globby@11.1.0: 1200 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1201 | engines: {node: '>=10'} 1202 | 1203 | globby@7.1.1: 1204 | resolution: {integrity: sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==} 1205 | engines: {node: '>=4'} 1206 | 1207 | gopd@1.2.0: 1208 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1209 | engines: {node: '>= 0.4'} 1210 | 1211 | graceful-fs@4.2.11: 1212 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1213 | 1214 | happy-dom@13.10.1: 1215 | resolution: {integrity: sha512-9GZLEFvQL5EgfJX2zcBgu1nsPUn98JF/EiJnSfQbdxI6YEQGqpd09lXXxOmYonRBIEFz9JlGCOiPflDzgS1p8w==} 1216 | engines: {node: '>=16.0.0'} 1217 | 1218 | has-flag@3.0.0: 1219 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1220 | engines: {node: '>=4'} 1221 | 1222 | has-flag@4.0.0: 1223 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1224 | engines: {node: '>=8'} 1225 | 1226 | has-symbols@1.1.0: 1227 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1228 | engines: {node: '>= 0.4'} 1229 | 1230 | has-tostringtag@1.0.2: 1231 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 1232 | engines: {node: '>= 0.4'} 1233 | 1234 | hasown@2.0.2: 1235 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1236 | engines: {node: '>= 0.4'} 1237 | 1238 | html-encoding-sniffer@2.0.1: 1239 | resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} 1240 | engines: {node: '>=10'} 1241 | 1242 | html-escaper@2.0.2: 1243 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1244 | 1245 | http-proxy-agent@4.0.1: 1246 | resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} 1247 | engines: {node: '>= 6'} 1248 | 1249 | https-proxy-agent@5.0.1: 1250 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 1251 | engines: {node: '>= 6'} 1252 | 1253 | human-signals@2.1.0: 1254 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1255 | engines: {node: '>=10.17.0'} 1256 | 1257 | human-signals@5.0.0: 1258 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 1259 | engines: {node: '>=16.17.0'} 1260 | 1261 | iconv-lite@0.4.24: 1262 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1263 | engines: {node: '>=0.10.0'} 1264 | 1265 | ignore@3.3.10: 1266 | resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==} 1267 | 1268 | ignore@5.3.2: 1269 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1270 | engines: {node: '>= 4'} 1271 | 1272 | import-cwd@3.0.0: 1273 | resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==} 1274 | engines: {node: '>=8'} 1275 | 1276 | import-fresh@3.3.1: 1277 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1278 | engines: {node: '>=6'} 1279 | 1280 | import-from@3.0.0: 1281 | resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==} 1282 | engines: {node: '>=8'} 1283 | 1284 | inflight@1.0.6: 1285 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1286 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1287 | 1288 | inherits@2.0.4: 1289 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1290 | 1291 | ini@1.3.8: 1292 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1293 | 1294 | io-ts@2.2.22: 1295 | resolution: {integrity: sha512-FHCCztTkHoV9mdBsHpocLpdTAfh956ZQcIkWQxxS0U5HT53vtrcuYdQneEJKH6xILaLNzXVl2Cvwtoy8XNN0AA==} 1296 | peerDependencies: 1297 | fp-ts: ^2.5.0 1298 | 1299 | is-arrayish@0.2.1: 1300 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1301 | 1302 | is-binary-path@2.1.0: 1303 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1304 | engines: {node: '>=8'} 1305 | 1306 | is-extglob@2.1.1: 1307 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1308 | engines: {node: '>=0.10.0'} 1309 | 1310 | is-fullwidth-code-point@3.0.0: 1311 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1312 | engines: {node: '>=8'} 1313 | 1314 | is-function@1.0.2: 1315 | resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} 1316 | 1317 | is-glob@4.0.3: 1318 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1319 | engines: {node: '>=0.10.0'} 1320 | 1321 | is-number@7.0.0: 1322 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1323 | engines: {node: '>=0.12.0'} 1324 | 1325 | is-plain-object@5.0.0: 1326 | resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} 1327 | engines: {node: '>=0.10.0'} 1328 | 1329 | is-potential-custom-element-name@1.0.1: 1330 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} 1331 | 1332 | is-regex@1.2.1: 1333 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} 1334 | engines: {node: '>= 0.4'} 1335 | 1336 | is-stream@2.0.1: 1337 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1338 | engines: {node: '>=8'} 1339 | 1340 | is-stream@3.0.0: 1341 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1342 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1343 | 1344 | is-symbol@1.1.1: 1345 | resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==} 1346 | engines: {node: '>= 0.4'} 1347 | 1348 | is-unicode-supported@0.1.0: 1349 | resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} 1350 | engines: {node: '>=10'} 1351 | 1352 | isexe@2.0.0: 1353 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1354 | 1355 | isobject@4.0.0: 1356 | resolution: {integrity: sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==} 1357 | engines: {node: '>=0.10.0'} 1358 | 1359 | istanbul-lib-coverage@3.2.2: 1360 | resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} 1361 | engines: {node: '>=8'} 1362 | 1363 | istanbul-lib-report@3.0.1: 1364 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} 1365 | engines: {node: '>=10'} 1366 | 1367 | istanbul-lib-source-maps@5.0.6: 1368 | resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} 1369 | engines: {node: '>=10'} 1370 | 1371 | istanbul-reports@3.1.7: 1372 | resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} 1373 | engines: {node: '>=8'} 1374 | 1375 | jackspeak@3.4.3: 1376 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1377 | 1378 | java-properties@1.0.2: 1379 | resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} 1380 | engines: {node: '>= 0.6.0'} 1381 | 1382 | joycon@3.1.1: 1383 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1384 | engines: {node: '>=10'} 1385 | 1386 | js-tokens@4.0.0: 1387 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1388 | 1389 | js-tokens@9.0.1: 1390 | resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} 1391 | 1392 | jsdom@16.7.0: 1393 | resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} 1394 | engines: {node: '>=10'} 1395 | peerDependencies: 1396 | canvas: ^2.5.0 1397 | peerDependenciesMeta: 1398 | canvas: 1399 | optional: true 1400 | 1401 | json-parse-better-errors@1.0.2: 1402 | resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} 1403 | 1404 | json-parse-even-better-errors@2.3.1: 1405 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1406 | 1407 | lilconfig@2.1.0: 1408 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} 1409 | engines: {node: '>=10'} 1410 | 1411 | lines-and-columns@1.2.4: 1412 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1413 | 1414 | load-json-file@4.0.0: 1415 | resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} 1416 | engines: {node: '>=4'} 1417 | 1418 | load-tsconfig@0.2.5: 1419 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 1420 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1421 | 1422 | local-pkg@0.5.1: 1423 | resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} 1424 | engines: {node: '>=14'} 1425 | 1426 | locate-path@2.0.0: 1427 | resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} 1428 | engines: {node: '>=4'} 1429 | 1430 | lodash-es@4.17.21: 1431 | resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} 1432 | 1433 | lodash.camelcase@4.3.0: 1434 | resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} 1435 | 1436 | lodash.chunk@4.2.0: 1437 | resolution: {integrity: sha512-ZzydJKfUHJwHa+hF5X66zLFCBrWn5GeF28OHEr4WVWtNDXlQ/IjWKPBiikqKo2ne0+v6JgCgJ0GzJp8k8bHC7w==} 1438 | 1439 | lodash.get@4.4.2: 1440 | resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} 1441 | deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. 1442 | 1443 | lodash.sortby@4.7.0: 1444 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 1445 | 1446 | lodash@4.17.21: 1447 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1448 | 1449 | log-symbols@4.1.0: 1450 | resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} 1451 | engines: {node: '>=10'} 1452 | 1453 | loupe@2.3.7: 1454 | resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} 1455 | 1456 | lru-cache@10.4.3: 1457 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1458 | 1459 | magic-string@0.30.17: 1460 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1461 | 1462 | magicast@0.3.5: 1463 | resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} 1464 | 1465 | make-dir@4.0.0: 1466 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} 1467 | engines: {node: '>=10'} 1468 | 1469 | make-error@1.3.6: 1470 | resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} 1471 | 1472 | math-intrinsics@1.1.0: 1473 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1474 | engines: {node: '>= 0.4'} 1475 | 1476 | meant@1.0.3: 1477 | resolution: {integrity: sha512-88ZRGcNxAq4EH38cQ4D85PM57pikCwS8Z99EWHODxN7KBY+UuPiqzRTtZzS8KTXO/ywSWbdjjJST2Hly/EQxLw==} 1478 | 1479 | merge-stream@2.0.0: 1480 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1481 | 1482 | merge2@1.4.1: 1483 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1484 | engines: {node: '>= 8'} 1485 | 1486 | micromatch@4.0.8: 1487 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1488 | engines: {node: '>=8.6'} 1489 | 1490 | mime-db@1.52.0: 1491 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} 1492 | engines: {node: '>= 0.6'} 1493 | 1494 | mime-types@2.1.35: 1495 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} 1496 | engines: {node: '>= 0.6'} 1497 | 1498 | mimic-fn@2.1.0: 1499 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1500 | engines: {node: '>=6'} 1501 | 1502 | mimic-fn@4.0.0: 1503 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1504 | engines: {node: '>=12'} 1505 | 1506 | minimatch@3.1.2: 1507 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1508 | 1509 | minimatch@9.0.5: 1510 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1511 | engines: {node: '>=16 || 14 >=14.17'} 1512 | 1513 | minimist@1.2.8: 1514 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1515 | 1516 | minipass@7.1.2: 1517 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1518 | engines: {node: '>=16 || 14 >=14.17'} 1519 | 1520 | mlly@1.7.4: 1521 | resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} 1522 | 1523 | module-alias@2.2.3: 1524 | resolution: {integrity: sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==} 1525 | 1526 | ms@2.1.3: 1527 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1528 | 1529 | mz@2.7.0: 1530 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1531 | 1532 | nanoid@3.3.11: 1533 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1534 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1535 | hasBin: true 1536 | 1537 | nested-error-stacks@2.0.1: 1538 | resolution: {integrity: sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==} 1539 | 1540 | node-fetch@2.6.7: 1541 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} 1542 | engines: {node: 4.x || >=6.0.0} 1543 | peerDependencies: 1544 | encoding: ^0.1.0 1545 | peerDependenciesMeta: 1546 | encoding: 1547 | optional: true 1548 | 1549 | normalize-path@3.0.0: 1550 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1551 | engines: {node: '>=0.10.0'} 1552 | 1553 | npm-run-path@4.0.1: 1554 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1555 | engines: {node: '>=8'} 1556 | 1557 | npm-run-path@5.3.0: 1558 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 1559 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1560 | 1561 | nwsapi@2.2.20: 1562 | resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} 1563 | 1564 | object-assign@4.1.1: 1565 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1566 | engines: {node: '>=0.10.0'} 1567 | 1568 | objectorarray@1.0.5: 1569 | resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} 1570 | 1571 | once@1.4.0: 1572 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1573 | 1574 | onetime@5.1.2: 1575 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1576 | engines: {node: '>=6'} 1577 | 1578 | onetime@6.0.0: 1579 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 1580 | engines: {node: '>=12'} 1581 | 1582 | os-homedir@1.0.2: 1583 | resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} 1584 | engines: {node: '>=0.10.0'} 1585 | 1586 | p-limit@1.3.0: 1587 | resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} 1588 | engines: {node: '>=4'} 1589 | 1590 | p-limit@5.0.0: 1591 | resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} 1592 | engines: {node: '>=18'} 1593 | 1594 | p-locate@2.0.0: 1595 | resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} 1596 | engines: {node: '>=4'} 1597 | 1598 | p-try@1.0.0: 1599 | resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} 1600 | engines: {node: '>=4'} 1601 | 1602 | package-json-from-dist@1.0.1: 1603 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1604 | 1605 | parent-module@1.0.1: 1606 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1607 | engines: {node: '>=6'} 1608 | 1609 | parse-author@2.0.0: 1610 | resolution: {integrity: sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==} 1611 | engines: {node: '>=0.10.0'} 1612 | 1613 | parse-github-url@1.0.2: 1614 | resolution: {integrity: sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==} 1615 | engines: {node: '>=0.10.0'} 1616 | hasBin: true 1617 | 1618 | parse-json@4.0.0: 1619 | resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} 1620 | engines: {node: '>=4'} 1621 | 1622 | parse-json@5.2.0: 1623 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1624 | engines: {node: '>=8'} 1625 | 1626 | parse-ms@2.1.0: 1627 | resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} 1628 | engines: {node: '>=6'} 1629 | 1630 | parse5@6.0.1: 1631 | resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} 1632 | 1633 | path-exists@3.0.0: 1634 | resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} 1635 | engines: {node: '>=4'} 1636 | 1637 | path-is-absolute@1.0.1: 1638 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1639 | engines: {node: '>=0.10.0'} 1640 | 1641 | path-key@3.1.1: 1642 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1643 | engines: {node: '>=8'} 1644 | 1645 | path-key@4.0.0: 1646 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 1647 | engines: {node: '>=12'} 1648 | 1649 | path-parse@1.0.7: 1650 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1651 | 1652 | path-scurry@1.11.1: 1653 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1654 | engines: {node: '>=16 || 14 >=14.18'} 1655 | 1656 | path-type@3.0.0: 1657 | resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} 1658 | engines: {node: '>=4'} 1659 | 1660 | path-type@4.0.0: 1661 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1662 | engines: {node: '>=8'} 1663 | 1664 | pathe@1.1.2: 1665 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 1666 | 1667 | pathe@2.0.3: 1668 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1669 | 1670 | pathval@1.1.1: 1671 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 1672 | 1673 | picocolors@1.1.1: 1674 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1675 | 1676 | picomatch@2.3.1: 1677 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1678 | engines: {node: '>=8.6'} 1679 | 1680 | pify@3.0.0: 1681 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 1682 | engines: {node: '>=4'} 1683 | 1684 | pirates@4.0.7: 1685 | resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} 1686 | engines: {node: '>= 6'} 1687 | 1688 | pkg-conf@2.1.0: 1689 | resolution: {integrity: sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==} 1690 | engines: {node: '>=4'} 1691 | 1692 | pkg-types@1.3.1: 1693 | resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} 1694 | 1695 | postcss-load-config@3.1.4: 1696 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 1697 | engines: {node: '>= 10'} 1698 | peerDependencies: 1699 | postcss: '>=8.0.9' 1700 | ts-node: '>=9.0.0' 1701 | peerDependenciesMeta: 1702 | postcss: 1703 | optional: true 1704 | ts-node: 1705 | optional: true 1706 | 1707 | postcss@8.5.3: 1708 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1709 | engines: {node: ^10 || ^12 || >=14} 1710 | 1711 | pretty-format@29.7.0: 1712 | resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 1713 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1714 | 1715 | pretty-ms@7.0.1: 1716 | resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} 1717 | engines: {node: '>=10'} 1718 | 1719 | psl@1.15.0: 1720 | resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} 1721 | 1722 | punycode@2.3.1: 1723 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1724 | engines: {node: '>=6'} 1725 | 1726 | querystringify@2.2.0: 1727 | resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} 1728 | 1729 | queue-microtask@1.2.3: 1730 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1731 | 1732 | rc@1.2.8: 1733 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 1734 | hasBin: true 1735 | 1736 | react-is@18.3.1: 1737 | resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} 1738 | 1739 | readdirp@3.6.0: 1740 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1741 | engines: {node: '>=8.10.0'} 1742 | 1743 | reduce-flatten@2.0.0: 1744 | resolution: {integrity: sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==} 1745 | engines: {node: '>=6'} 1746 | 1747 | registry-url@5.1.0: 1748 | resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} 1749 | engines: {node: '>=8'} 1750 | 1751 | remove-markdown@0.3.0: 1752 | resolution: {integrity: sha512-5392eIuy1mhjM74739VunOlsOYKjsH82rQcTBlJ1bkICVC3dQ3ksQzTHh4jGHQFnM+1xzLzcFOMH+BofqXhroQ==} 1753 | 1754 | requireg@0.2.2: 1755 | resolution: {integrity: sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==} 1756 | engines: {node: '>= 4.0.0'} 1757 | 1758 | requires-port@1.0.0: 1759 | resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} 1760 | 1761 | resolve-from@4.0.0: 1762 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1763 | engines: {node: '>=4'} 1764 | 1765 | resolve-from@5.0.0: 1766 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1767 | engines: {node: '>=8'} 1768 | 1769 | resolve@1.7.1: 1770 | resolution: {integrity: sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==} 1771 | 1772 | reusify@1.1.0: 1773 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1774 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1775 | 1776 | rollup@3.29.5: 1777 | resolution: {integrity: sha512-GVsDdsbJzzy4S/v3dqWPJ7EfvZJfCHiDqe80IyrF59LYuP+e6U1LJoUqeuqRbwAWoMNoXivMNeNAOf5E22VA1w==} 1778 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1779 | hasBin: true 1780 | 1781 | rollup@4.38.0: 1782 | resolution: {integrity: sha512-5SsIRtJy9bf1ErAOiFMFzl64Ex9X5V7bnJ+WlFMb+zmP459OSWCEG7b0ERZ+PEU7xPt4OG3RHbrp1LJlXxYTrw==} 1783 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1784 | hasBin: true 1785 | 1786 | run-parallel@1.2.0: 1787 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1788 | 1789 | safe-regex-test@1.1.0: 1790 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} 1791 | engines: {node: '>= 0.4'} 1792 | 1793 | safer-buffer@2.1.2: 1794 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1795 | 1796 | saxes@5.0.1: 1797 | resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} 1798 | engines: {node: '>=10'} 1799 | 1800 | semver@7.7.1: 1801 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 1802 | engines: {node: '>=10'} 1803 | hasBin: true 1804 | 1805 | shebang-command@2.0.0: 1806 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1807 | engines: {node: '>=8'} 1808 | 1809 | shebang-regex@3.0.0: 1810 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1811 | engines: {node: '>=8'} 1812 | 1813 | siginfo@2.0.0: 1814 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 1815 | 1816 | signal-exit@3.0.7: 1817 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1818 | 1819 | signal-exit@4.1.0: 1820 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1821 | engines: {node: '>=14'} 1822 | 1823 | signale@1.4.0: 1824 | resolution: {integrity: sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==} 1825 | engines: {node: '>=6'} 1826 | 1827 | slash@1.0.0: 1828 | resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} 1829 | engines: {node: '>=0.10.0'} 1830 | 1831 | slash@3.0.0: 1832 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1833 | engines: {node: '>=8'} 1834 | 1835 | source-map-js@1.2.1: 1836 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1837 | engines: {node: '>=0.10.0'} 1838 | 1839 | source-map-support@0.5.21: 1840 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1841 | 1842 | source-map@0.6.1: 1843 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1844 | engines: {node: '>=0.10.0'} 1845 | 1846 | source-map@0.8.0-beta.0: 1847 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 1848 | engines: {node: '>= 8'} 1849 | 1850 | stackback@0.0.2: 1851 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 1852 | 1853 | std-env@3.8.1: 1854 | resolution: {integrity: sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==} 1855 | 1856 | string-width@4.2.3: 1857 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1858 | engines: {node: '>=8'} 1859 | 1860 | string-width@5.1.2: 1861 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1862 | engines: {node: '>=12'} 1863 | 1864 | strip-ansi@6.0.1: 1865 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1866 | engines: {node: '>=8'} 1867 | 1868 | strip-ansi@7.1.0: 1869 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1870 | engines: {node: '>=12'} 1871 | 1872 | strip-bom@3.0.0: 1873 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1874 | engines: {node: '>=4'} 1875 | 1876 | strip-final-newline@2.0.0: 1877 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 1878 | engines: {node: '>=6'} 1879 | 1880 | strip-final-newline@3.0.0: 1881 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 1882 | engines: {node: '>=12'} 1883 | 1884 | strip-json-comments@2.0.1: 1885 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 1886 | engines: {node: '>=0.10.0'} 1887 | 1888 | strip-literal@2.1.1: 1889 | resolution: {integrity: sha512-631UJ6O00eNGfMiWG78ck80dfBab8X6IVFB51jZK5Icd7XAs60Z5y7QdSd/wGIklnWvRbUNloVzhOKKmutxQ6Q==} 1890 | 1891 | sucrase@3.35.0: 1892 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1893 | engines: {node: '>=16 || 14 >=14.17'} 1894 | hasBin: true 1895 | 1896 | supports-color@5.5.0: 1897 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1898 | engines: {node: '>=4'} 1899 | 1900 | supports-color@7.2.0: 1901 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1902 | engines: {node: '>=8'} 1903 | 1904 | supports-hyperlinks@2.3.0: 1905 | resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} 1906 | engines: {node: '>=8'} 1907 | 1908 | symbol-tree@3.2.4: 1909 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} 1910 | 1911 | table-layout@1.0.2: 1912 | resolution: {integrity: sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==} 1913 | engines: {node: '>=8.0.0'} 1914 | 1915 | tapable@2.2.1: 1916 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 1917 | engines: {node: '>=6'} 1918 | 1919 | terminal-link@2.1.1: 1920 | resolution: {integrity: sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==} 1921 | engines: {node: '>=8'} 1922 | 1923 | test-exclude@6.0.0: 1924 | resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} 1925 | engines: {node: '>=8'} 1926 | 1927 | thenify-all@1.6.0: 1928 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1929 | engines: {node: '>=0.8'} 1930 | 1931 | thenify@3.3.1: 1932 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1933 | 1934 | tinybench@2.9.0: 1935 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 1936 | 1937 | tinycolor2@1.6.0: 1938 | resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} 1939 | 1940 | tinypool@0.8.4: 1941 | resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} 1942 | engines: {node: '>=14.0.0'} 1943 | 1944 | tinyspy@2.2.1: 1945 | resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} 1946 | engines: {node: '>=14.0.0'} 1947 | 1948 | to-regex-range@5.0.1: 1949 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1950 | engines: {node: '>=8.0'} 1951 | 1952 | tough-cookie@4.1.4: 1953 | resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} 1954 | engines: {node: '>=6'} 1955 | 1956 | tr46@0.0.3: 1957 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 1958 | 1959 | tr46@1.0.1: 1960 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 1961 | 1962 | tr46@2.1.0: 1963 | resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} 1964 | engines: {node: '>=8'} 1965 | 1966 | tree-kill@1.2.2: 1967 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 1968 | hasBin: true 1969 | 1970 | ts-interface-checker@0.1.13: 1971 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1972 | 1973 | ts-node@10.9.2: 1974 | resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} 1975 | hasBin: true 1976 | peerDependencies: 1977 | '@swc/core': '>=1.2.50' 1978 | '@swc/wasm': '>=1.2.50' 1979 | '@types/node': '*' 1980 | typescript: '>=2.7' 1981 | peerDependenciesMeta: 1982 | '@swc/core': 1983 | optional: true 1984 | '@swc/wasm': 1985 | optional: true 1986 | 1987 | ts-node@9.1.1: 1988 | resolution: {integrity: sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==} 1989 | engines: {node: '>=10.0.0'} 1990 | hasBin: true 1991 | peerDependencies: 1992 | typescript: '>=2.7' 1993 | 1994 | tslib@1.10.0: 1995 | resolution: {integrity: sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==} 1996 | 1997 | tslib@2.1.0: 1998 | resolution: {integrity: sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==} 1999 | 2000 | tslib@2.8.1: 2001 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 2002 | 2003 | tsup@6.7.0: 2004 | resolution: {integrity: sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==} 2005 | engines: {node: '>=14.18'} 2006 | hasBin: true 2007 | peerDependencies: 2008 | '@swc/core': ^1 2009 | postcss: ^8.4.12 2010 | typescript: '>=4.1.0' 2011 | peerDependenciesMeta: 2012 | '@swc/core': 2013 | optional: true 2014 | postcss: 2015 | optional: true 2016 | typescript: 2017 | optional: true 2018 | 2019 | type-detect@4.1.0: 2020 | resolution: {integrity: sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==} 2021 | engines: {node: '>=4'} 2022 | 2023 | type-fest@0.21.3: 2024 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 2025 | engines: {node: '>=10'} 2026 | 2027 | typescript-memoize@1.1.1: 2028 | resolution: {integrity: sha512-GQ90TcKpIH4XxYTI2F98yEQYZgjNMOGPpOgdjIBhaLaWji5HPWlRnZ4AeA1hfBxtY7bCGDJsqDDHk/KaHOl5bA==} 2029 | 2030 | typescript@4.9.5: 2031 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 2032 | engines: {node: '>=4.2.0'} 2033 | hasBin: true 2034 | 2035 | typical@4.0.0: 2036 | resolution: {integrity: sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==} 2037 | engines: {node: '>=8'} 2038 | 2039 | typical@5.2.0: 2040 | resolution: {integrity: sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==} 2041 | engines: {node: '>=8'} 2042 | 2043 | ufo@1.5.4: 2044 | resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==} 2045 | 2046 | undici-types@6.20.0: 2047 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 2048 | 2049 | universal-user-agent@6.0.1: 2050 | resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} 2051 | 2052 | universalify@0.2.0: 2053 | resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} 2054 | engines: {node: '>= 4.0.0'} 2055 | 2056 | url-join@4.0.1: 2057 | resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} 2058 | 2059 | url-parse@1.5.10: 2060 | resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} 2061 | 2062 | user-home@2.0.0: 2063 | resolution: {integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==} 2064 | engines: {node: '>=0.10.0'} 2065 | 2066 | v8-compile-cache-lib@3.0.1: 2067 | resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} 2068 | 2069 | vite-node@1.6.1: 2070 | resolution: {integrity: sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==} 2071 | engines: {node: ^18.0.0 || >=20.0.0} 2072 | hasBin: true 2073 | 2074 | vite@5.4.16: 2075 | resolution: {integrity: sha512-Y5gnfp4NemVfgOTDQAunSD4346fal44L9mszGGY/e+qxsRT5y1sMlS/8tiQ8AFAp+MFgYNSINdfEchJiPm41vQ==} 2076 | engines: {node: ^18.0.0 || >=20.0.0} 2077 | hasBin: true 2078 | peerDependencies: 2079 | '@types/node': ^18.0.0 || >=20.0.0 2080 | less: '*' 2081 | lightningcss: ^1.21.0 2082 | sass: '*' 2083 | sass-embedded: '*' 2084 | stylus: '*' 2085 | sugarss: '*' 2086 | terser: ^5.4.0 2087 | peerDependenciesMeta: 2088 | '@types/node': 2089 | optional: true 2090 | less: 2091 | optional: true 2092 | lightningcss: 2093 | optional: true 2094 | sass: 2095 | optional: true 2096 | sass-embedded: 2097 | optional: true 2098 | stylus: 2099 | optional: true 2100 | sugarss: 2101 | optional: true 2102 | terser: 2103 | optional: true 2104 | 2105 | vitest@1.6.1: 2106 | resolution: {integrity: sha512-Ljb1cnSJSivGN0LqXd/zmDbWEM0RNNg2t1QW/XUhYl/qPqyu7CsqeWtqQXHVaJsecLPuDoak2oJcZN2QoRIOag==} 2107 | engines: {node: ^18.0.0 || >=20.0.0} 2108 | hasBin: true 2109 | peerDependencies: 2110 | '@edge-runtime/vm': '*' 2111 | '@types/node': ^18.0.0 || >=20.0.0 2112 | '@vitest/browser': 1.6.1 2113 | '@vitest/ui': 1.6.1 2114 | happy-dom: '*' 2115 | jsdom: '*' 2116 | peerDependenciesMeta: 2117 | '@edge-runtime/vm': 2118 | optional: true 2119 | '@types/node': 2120 | optional: true 2121 | '@vitest/browser': 2122 | optional: true 2123 | '@vitest/ui': 2124 | optional: true 2125 | happy-dom: 2126 | optional: true 2127 | jsdom: 2128 | optional: true 2129 | 2130 | w3c-hr-time@1.0.2: 2131 | resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} 2132 | deprecated: Use your platform's native performance.now() and performance.timeOrigin. 2133 | 2134 | w3c-xmlserializer@2.0.0: 2135 | resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} 2136 | engines: {node: '>=10'} 2137 | 2138 | webidl-conversions@3.0.1: 2139 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 2140 | 2141 | webidl-conversions@4.0.2: 2142 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 2143 | 2144 | webidl-conversions@5.0.0: 2145 | resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} 2146 | engines: {node: '>=8'} 2147 | 2148 | webidl-conversions@6.1.0: 2149 | resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} 2150 | engines: {node: '>=10.4'} 2151 | 2152 | webidl-conversions@7.0.0: 2153 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} 2154 | engines: {node: '>=12'} 2155 | 2156 | whatwg-encoding@1.0.5: 2157 | resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} 2158 | 2159 | whatwg-mimetype@2.3.0: 2160 | resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} 2161 | 2162 | whatwg-mimetype@3.0.0: 2163 | resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} 2164 | engines: {node: '>=12'} 2165 | 2166 | whatwg-url@5.0.0: 2167 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 2168 | 2169 | whatwg-url@7.1.0: 2170 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 2171 | 2172 | whatwg-url@8.7.0: 2173 | resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} 2174 | engines: {node: '>=10'} 2175 | 2176 | which@2.0.2: 2177 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2178 | engines: {node: '>= 8'} 2179 | hasBin: true 2180 | 2181 | why-is-node-running@2.3.0: 2182 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 2183 | engines: {node: '>=8'} 2184 | hasBin: true 2185 | 2186 | wordwrapjs@4.0.1: 2187 | resolution: {integrity: sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==} 2188 | engines: {node: '>=8.0.0'} 2189 | 2190 | wrap-ansi@7.0.0: 2191 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2192 | engines: {node: '>=10'} 2193 | 2194 | wrap-ansi@8.1.0: 2195 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2196 | engines: {node: '>=12'} 2197 | 2198 | wrappy@1.0.2: 2199 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2200 | 2201 | ws@7.5.10: 2202 | resolution: {integrity: sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==} 2203 | engines: {node: '>=8.3.0'} 2204 | peerDependencies: 2205 | bufferutil: ^4.0.1 2206 | utf-8-validate: ^5.0.2 2207 | peerDependenciesMeta: 2208 | bufferutil: 2209 | optional: true 2210 | utf-8-validate: 2211 | optional: true 2212 | 2213 | xml-name-validator@3.0.0: 2214 | resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} 2215 | 2216 | xmlchars@2.2.0: 2217 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} 2218 | 2219 | yaml@1.10.2: 2220 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 2221 | engines: {node: '>= 6'} 2222 | 2223 | yn@3.1.1: 2224 | resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} 2225 | engines: {node: '>=6'} 2226 | 2227 | yocto-queue@1.2.1: 2228 | resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} 2229 | engines: {node: '>=12.20'} 2230 | 2231 | snapshots: 2232 | 2233 | '@ampproject/remapping@2.3.0': 2234 | dependencies: 2235 | '@jridgewell/gen-mapping': 0.3.8 2236 | '@jridgewell/trace-mapping': 0.3.25 2237 | 2238 | '@auto-it/bot-list@11.3.0': {} 2239 | 2240 | '@auto-it/core@11.3.0(@types/node@22.13.14)(typescript@4.9.5)': 2241 | dependencies: 2242 | '@auto-it/bot-list': 11.3.0 2243 | '@endemolshinegroup/cosmiconfig-typescript-loader': 3.0.2(cosmiconfig@7.0.0)(typescript@4.9.5) 2244 | '@octokit/core': 3.6.0 2245 | '@octokit/plugin-enterprise-compatibility': 1.3.0 2246 | '@octokit/plugin-retry': 3.0.9 2247 | '@octokit/plugin-throttling': 3.7.0(@octokit/core@3.6.0) 2248 | '@octokit/rest': 18.12.0 2249 | await-to-js: 3.0.0 2250 | chalk: 4.1.2 2251 | cosmiconfig: 7.0.0 2252 | deepmerge: 4.3.1 2253 | dotenv: 8.6.0 2254 | endent: 2.1.0 2255 | enquirer: 2.4.1 2256 | env-ci: 5.5.0 2257 | fast-glob: 3.3.3 2258 | fp-ts: 2.16.9 2259 | fromentries: 1.3.2 2260 | gitlog: 4.0.8 2261 | https-proxy-agent: 5.0.1 2262 | import-cwd: 3.0.0 2263 | import-from: 3.0.0 2264 | io-ts: 2.2.22(fp-ts@2.16.9) 2265 | lodash.chunk: 4.2.0 2266 | log-symbols: 4.1.0 2267 | node-fetch: 2.6.7 2268 | parse-author: 2.0.0 2269 | parse-github-url: 1.0.2 2270 | pretty-ms: 7.0.1 2271 | requireg: 0.2.2 2272 | semver: 7.7.1 2273 | signale: 1.4.0 2274 | tapable: 2.2.1 2275 | terminal-link: 2.1.1 2276 | tinycolor2: 1.6.0 2277 | ts-node: 10.9.2(@types/node@22.13.14)(typescript@4.9.5) 2278 | tslib: 2.1.0 2279 | type-fest: 0.21.3 2280 | typescript: 4.9.5 2281 | typescript-memoize: 1.1.1 2282 | url-join: 4.0.1 2283 | optionalDependencies: 2284 | '@types/node': 22.13.14 2285 | transitivePeerDependencies: 2286 | - '@swc/core' 2287 | - '@swc/wasm' 2288 | - encoding 2289 | - supports-color 2290 | 2291 | '@auto-it/npm@11.3.0(@types/node@22.13.14)(typescript@4.9.5)': 2292 | dependencies: 2293 | '@auto-it/core': 11.3.0(@types/node@22.13.14)(typescript@4.9.5) 2294 | '@auto-it/package-json-utils': 11.3.0 2295 | await-to-js: 3.0.0 2296 | endent: 2.1.0 2297 | env-ci: 5.5.0 2298 | fp-ts: 2.16.9 2299 | get-monorepo-packages: 1.3.0 2300 | io-ts: 2.2.22(fp-ts@2.16.9) 2301 | registry-url: 5.1.0 2302 | semver: 7.7.1 2303 | tslib: 2.1.0 2304 | typescript-memoize: 1.1.1 2305 | url-join: 4.0.1 2306 | user-home: 2.0.0 2307 | transitivePeerDependencies: 2308 | - '@swc/core' 2309 | - '@swc/wasm' 2310 | - '@types/node' 2311 | - encoding 2312 | - supports-color 2313 | - typescript 2314 | 2315 | '@auto-it/package-json-utils@11.3.0': 2316 | dependencies: 2317 | parse-author: 2.0.0 2318 | parse-github-url: 1.0.2 2319 | 2320 | '@auto-it/released@11.3.0(@types/node@22.13.14)(typescript@4.9.5)': 2321 | dependencies: 2322 | '@auto-it/bot-list': 11.3.0 2323 | '@auto-it/core': 11.3.0(@types/node@22.13.14)(typescript@4.9.5) 2324 | deepmerge: 4.3.1 2325 | fp-ts: 2.16.9 2326 | io-ts: 2.2.22(fp-ts@2.16.9) 2327 | tslib: 2.1.0 2328 | transitivePeerDependencies: 2329 | - '@swc/core' 2330 | - '@swc/wasm' 2331 | - '@types/node' 2332 | - encoding 2333 | - supports-color 2334 | - typescript 2335 | 2336 | '@auto-it/version-file@11.3.0(@types/node@22.13.14)(typescript@4.9.5)': 2337 | dependencies: 2338 | '@auto-it/core': 11.3.0(@types/node@22.13.14)(typescript@4.9.5) 2339 | fp-ts: 2.16.9 2340 | io-ts: 2.2.22(fp-ts@2.16.9) 2341 | semver: 7.7.1 2342 | tslib: 1.10.0 2343 | transitivePeerDependencies: 2344 | - '@swc/core' 2345 | - '@swc/wasm' 2346 | - '@types/node' 2347 | - encoding 2348 | - supports-color 2349 | - typescript 2350 | 2351 | '@babel/code-frame@7.26.2': 2352 | dependencies: 2353 | '@babel/helper-validator-identifier': 7.25.9 2354 | js-tokens: 4.0.0 2355 | picocolors: 1.1.1 2356 | 2357 | '@babel/helper-string-parser@7.25.9': {} 2358 | 2359 | '@babel/helper-validator-identifier@7.25.9': {} 2360 | 2361 | '@babel/parser@7.27.0': 2362 | dependencies: 2363 | '@babel/types': 7.27.0 2364 | 2365 | '@babel/types@7.27.0': 2366 | dependencies: 2367 | '@babel/helper-string-parser': 7.25.9 2368 | '@babel/helper-validator-identifier': 7.25.9 2369 | 2370 | '@bcoe/v8-coverage@0.2.3': {} 2371 | 2372 | '@biomejs/biome@1.9.4': 2373 | optionalDependencies: 2374 | '@biomejs/cli-darwin-arm64': 1.9.4 2375 | '@biomejs/cli-darwin-x64': 1.9.4 2376 | '@biomejs/cli-linux-arm64': 1.9.4 2377 | '@biomejs/cli-linux-arm64-musl': 1.9.4 2378 | '@biomejs/cli-linux-x64': 1.9.4 2379 | '@biomejs/cli-linux-x64-musl': 1.9.4 2380 | '@biomejs/cli-win32-arm64': 1.9.4 2381 | '@biomejs/cli-win32-x64': 1.9.4 2382 | 2383 | '@biomejs/cli-darwin-arm64@1.9.4': 2384 | optional: true 2385 | 2386 | '@biomejs/cli-darwin-x64@1.9.4': 2387 | optional: true 2388 | 2389 | '@biomejs/cli-linux-arm64-musl@1.9.4': 2390 | optional: true 2391 | 2392 | '@biomejs/cli-linux-arm64@1.9.4': 2393 | optional: true 2394 | 2395 | '@biomejs/cli-linux-x64-musl@1.9.4': 2396 | optional: true 2397 | 2398 | '@biomejs/cli-linux-x64@1.9.4': 2399 | optional: true 2400 | 2401 | '@biomejs/cli-win32-arm64@1.9.4': 2402 | optional: true 2403 | 2404 | '@biomejs/cli-win32-x64@1.9.4': 2405 | optional: true 2406 | 2407 | '@cspotcode/source-map-support@0.8.1': 2408 | dependencies: 2409 | '@jridgewell/trace-mapping': 0.3.9 2410 | 2411 | '@endemolshinegroup/cosmiconfig-typescript-loader@3.0.2(cosmiconfig@7.0.0)(typescript@4.9.5)': 2412 | dependencies: 2413 | cosmiconfig: 7.0.0 2414 | lodash.get: 4.4.2 2415 | make-error: 1.3.6 2416 | ts-node: 9.1.1(typescript@4.9.5) 2417 | tslib: 2.1.0 2418 | transitivePeerDependencies: 2419 | - typescript 2420 | 2421 | '@esbuild/aix-ppc64@0.21.5': 2422 | optional: true 2423 | 2424 | '@esbuild/android-arm64@0.17.19': 2425 | optional: true 2426 | 2427 | '@esbuild/android-arm64@0.21.5': 2428 | optional: true 2429 | 2430 | '@esbuild/android-arm@0.17.19': 2431 | optional: true 2432 | 2433 | '@esbuild/android-arm@0.21.5': 2434 | optional: true 2435 | 2436 | '@esbuild/android-x64@0.17.19': 2437 | optional: true 2438 | 2439 | '@esbuild/android-x64@0.21.5': 2440 | optional: true 2441 | 2442 | '@esbuild/darwin-arm64@0.17.19': 2443 | optional: true 2444 | 2445 | '@esbuild/darwin-arm64@0.21.5': 2446 | optional: true 2447 | 2448 | '@esbuild/darwin-x64@0.17.19': 2449 | optional: true 2450 | 2451 | '@esbuild/darwin-x64@0.21.5': 2452 | optional: true 2453 | 2454 | '@esbuild/freebsd-arm64@0.17.19': 2455 | optional: true 2456 | 2457 | '@esbuild/freebsd-arm64@0.21.5': 2458 | optional: true 2459 | 2460 | '@esbuild/freebsd-x64@0.17.19': 2461 | optional: true 2462 | 2463 | '@esbuild/freebsd-x64@0.21.5': 2464 | optional: true 2465 | 2466 | '@esbuild/linux-arm64@0.17.19': 2467 | optional: true 2468 | 2469 | '@esbuild/linux-arm64@0.21.5': 2470 | optional: true 2471 | 2472 | '@esbuild/linux-arm@0.17.19': 2473 | optional: true 2474 | 2475 | '@esbuild/linux-arm@0.21.5': 2476 | optional: true 2477 | 2478 | '@esbuild/linux-ia32@0.17.19': 2479 | optional: true 2480 | 2481 | '@esbuild/linux-ia32@0.21.5': 2482 | optional: true 2483 | 2484 | '@esbuild/linux-loong64@0.17.19': 2485 | optional: true 2486 | 2487 | '@esbuild/linux-loong64@0.21.5': 2488 | optional: true 2489 | 2490 | '@esbuild/linux-mips64el@0.17.19': 2491 | optional: true 2492 | 2493 | '@esbuild/linux-mips64el@0.21.5': 2494 | optional: true 2495 | 2496 | '@esbuild/linux-ppc64@0.17.19': 2497 | optional: true 2498 | 2499 | '@esbuild/linux-ppc64@0.21.5': 2500 | optional: true 2501 | 2502 | '@esbuild/linux-riscv64@0.17.19': 2503 | optional: true 2504 | 2505 | '@esbuild/linux-riscv64@0.21.5': 2506 | optional: true 2507 | 2508 | '@esbuild/linux-s390x@0.17.19': 2509 | optional: true 2510 | 2511 | '@esbuild/linux-s390x@0.21.5': 2512 | optional: true 2513 | 2514 | '@esbuild/linux-x64@0.17.19': 2515 | optional: true 2516 | 2517 | '@esbuild/linux-x64@0.21.5': 2518 | optional: true 2519 | 2520 | '@esbuild/netbsd-x64@0.17.19': 2521 | optional: true 2522 | 2523 | '@esbuild/netbsd-x64@0.21.5': 2524 | optional: true 2525 | 2526 | '@esbuild/openbsd-x64@0.17.19': 2527 | optional: true 2528 | 2529 | '@esbuild/openbsd-x64@0.21.5': 2530 | optional: true 2531 | 2532 | '@esbuild/sunos-x64@0.17.19': 2533 | optional: true 2534 | 2535 | '@esbuild/sunos-x64@0.21.5': 2536 | optional: true 2537 | 2538 | '@esbuild/win32-arm64@0.17.19': 2539 | optional: true 2540 | 2541 | '@esbuild/win32-arm64@0.21.5': 2542 | optional: true 2543 | 2544 | '@esbuild/win32-ia32@0.17.19': 2545 | optional: true 2546 | 2547 | '@esbuild/win32-ia32@0.21.5': 2548 | optional: true 2549 | 2550 | '@esbuild/win32-x64@0.17.19': 2551 | optional: true 2552 | 2553 | '@esbuild/win32-x64@0.21.5': 2554 | optional: true 2555 | 2556 | '@isaacs/cliui@8.0.2': 2557 | dependencies: 2558 | string-width: 5.1.2 2559 | string-width-cjs: string-width@4.2.3 2560 | strip-ansi: 7.1.0 2561 | strip-ansi-cjs: strip-ansi@6.0.1 2562 | wrap-ansi: 8.1.0 2563 | wrap-ansi-cjs: wrap-ansi@7.0.0 2564 | 2565 | '@istanbuljs/schema@0.1.3': {} 2566 | 2567 | '@jest/schemas@29.6.3': 2568 | dependencies: 2569 | '@sinclair/typebox': 0.27.8 2570 | 2571 | '@jridgewell/gen-mapping@0.3.8': 2572 | dependencies: 2573 | '@jridgewell/set-array': 1.2.1 2574 | '@jridgewell/sourcemap-codec': 1.5.0 2575 | '@jridgewell/trace-mapping': 0.3.25 2576 | 2577 | '@jridgewell/resolve-uri@3.1.2': {} 2578 | 2579 | '@jridgewell/set-array@1.2.1': {} 2580 | 2581 | '@jridgewell/sourcemap-codec@1.5.0': {} 2582 | 2583 | '@jridgewell/trace-mapping@0.3.25': 2584 | dependencies: 2585 | '@jridgewell/resolve-uri': 3.1.2 2586 | '@jridgewell/sourcemap-codec': 1.5.0 2587 | 2588 | '@jridgewell/trace-mapping@0.3.9': 2589 | dependencies: 2590 | '@jridgewell/resolve-uri': 3.1.2 2591 | '@jridgewell/sourcemap-codec': 1.5.0 2592 | 2593 | '@nodelib/fs.scandir@2.1.5': 2594 | dependencies: 2595 | '@nodelib/fs.stat': 2.0.5 2596 | run-parallel: 1.2.0 2597 | 2598 | '@nodelib/fs.stat@2.0.5': {} 2599 | 2600 | '@nodelib/fs.walk@1.2.8': 2601 | dependencies: 2602 | '@nodelib/fs.scandir': 2.1.5 2603 | fastq: 1.19.1 2604 | 2605 | '@octokit/auth-token@2.5.0': 2606 | dependencies: 2607 | '@octokit/types': 6.41.0 2608 | 2609 | '@octokit/core@3.6.0': 2610 | dependencies: 2611 | '@octokit/auth-token': 2.5.0 2612 | '@octokit/graphql': 4.8.0 2613 | '@octokit/request': 5.6.3 2614 | '@octokit/request-error': 2.1.0 2615 | '@octokit/types': 6.41.0 2616 | before-after-hook: 2.2.3 2617 | universal-user-agent: 6.0.1 2618 | transitivePeerDependencies: 2619 | - encoding 2620 | 2621 | '@octokit/endpoint@6.0.12': 2622 | dependencies: 2623 | '@octokit/types': 6.41.0 2624 | is-plain-object: 5.0.0 2625 | universal-user-agent: 6.0.1 2626 | 2627 | '@octokit/graphql@4.8.0': 2628 | dependencies: 2629 | '@octokit/request': 5.6.3 2630 | '@octokit/types': 6.41.0 2631 | universal-user-agent: 6.0.1 2632 | transitivePeerDependencies: 2633 | - encoding 2634 | 2635 | '@octokit/openapi-types@12.11.0': {} 2636 | 2637 | '@octokit/plugin-enterprise-compatibility@1.3.0': 2638 | dependencies: 2639 | '@octokit/request-error': 2.1.0 2640 | '@octokit/types': 6.41.0 2641 | 2642 | '@octokit/plugin-paginate-rest@2.21.3(@octokit/core@3.6.0)': 2643 | dependencies: 2644 | '@octokit/core': 3.6.0 2645 | '@octokit/types': 6.41.0 2646 | 2647 | '@octokit/plugin-request-log@1.0.4(@octokit/core@3.6.0)': 2648 | dependencies: 2649 | '@octokit/core': 3.6.0 2650 | 2651 | '@octokit/plugin-rest-endpoint-methods@5.16.2(@octokit/core@3.6.0)': 2652 | dependencies: 2653 | '@octokit/core': 3.6.0 2654 | '@octokit/types': 6.41.0 2655 | deprecation: 2.3.1 2656 | 2657 | '@octokit/plugin-retry@3.0.9': 2658 | dependencies: 2659 | '@octokit/types': 6.41.0 2660 | bottleneck: 2.19.5 2661 | 2662 | '@octokit/plugin-throttling@3.7.0(@octokit/core@3.6.0)': 2663 | dependencies: 2664 | '@octokit/core': 3.6.0 2665 | '@octokit/types': 6.41.0 2666 | bottleneck: 2.19.5 2667 | 2668 | '@octokit/request-error@2.1.0': 2669 | dependencies: 2670 | '@octokit/types': 6.41.0 2671 | deprecation: 2.3.1 2672 | once: 1.4.0 2673 | 2674 | '@octokit/request@5.6.3': 2675 | dependencies: 2676 | '@octokit/endpoint': 6.0.12 2677 | '@octokit/request-error': 2.1.0 2678 | '@octokit/types': 6.41.0 2679 | is-plain-object: 5.0.0 2680 | node-fetch: 2.6.7 2681 | universal-user-agent: 6.0.1 2682 | transitivePeerDependencies: 2683 | - encoding 2684 | 2685 | '@octokit/rest@18.12.0': 2686 | dependencies: 2687 | '@octokit/core': 3.6.0 2688 | '@octokit/plugin-paginate-rest': 2.21.3(@octokit/core@3.6.0) 2689 | '@octokit/plugin-request-log': 1.0.4(@octokit/core@3.6.0) 2690 | '@octokit/plugin-rest-endpoint-methods': 5.16.2(@octokit/core@3.6.0) 2691 | transitivePeerDependencies: 2692 | - encoding 2693 | 2694 | '@octokit/types@6.41.0': 2695 | dependencies: 2696 | '@octokit/openapi-types': 12.11.0 2697 | 2698 | '@pkgjs/parseargs@0.11.0': 2699 | optional: true 2700 | 2701 | '@rollup/rollup-android-arm-eabi@4.38.0': 2702 | optional: true 2703 | 2704 | '@rollup/rollup-android-arm64@4.38.0': 2705 | optional: true 2706 | 2707 | '@rollup/rollup-darwin-arm64@4.38.0': 2708 | optional: true 2709 | 2710 | '@rollup/rollup-darwin-x64@4.38.0': 2711 | optional: true 2712 | 2713 | '@rollup/rollup-freebsd-arm64@4.38.0': 2714 | optional: true 2715 | 2716 | '@rollup/rollup-freebsd-x64@4.38.0': 2717 | optional: true 2718 | 2719 | '@rollup/rollup-linux-arm-gnueabihf@4.38.0': 2720 | optional: true 2721 | 2722 | '@rollup/rollup-linux-arm-musleabihf@4.38.0': 2723 | optional: true 2724 | 2725 | '@rollup/rollup-linux-arm64-gnu@4.38.0': 2726 | optional: true 2727 | 2728 | '@rollup/rollup-linux-arm64-musl@4.38.0': 2729 | optional: true 2730 | 2731 | '@rollup/rollup-linux-loongarch64-gnu@4.38.0': 2732 | optional: true 2733 | 2734 | '@rollup/rollup-linux-powerpc64le-gnu@4.38.0': 2735 | optional: true 2736 | 2737 | '@rollup/rollup-linux-riscv64-gnu@4.38.0': 2738 | optional: true 2739 | 2740 | '@rollup/rollup-linux-riscv64-musl@4.38.0': 2741 | optional: true 2742 | 2743 | '@rollup/rollup-linux-s390x-gnu@4.38.0': 2744 | optional: true 2745 | 2746 | '@rollup/rollup-linux-x64-gnu@4.38.0': 2747 | optional: true 2748 | 2749 | '@rollup/rollup-linux-x64-musl@4.38.0': 2750 | optional: true 2751 | 2752 | '@rollup/rollup-win32-arm64-msvc@4.38.0': 2753 | optional: true 2754 | 2755 | '@rollup/rollup-win32-ia32-msvc@4.38.0': 2756 | optional: true 2757 | 2758 | '@rollup/rollup-win32-x64-msvc@4.38.0': 2759 | optional: true 2760 | 2761 | '@sinclair/typebox@0.27.8': {} 2762 | 2763 | '@tootallnate/once@1.1.2': 2764 | optional: true 2765 | 2766 | '@tsconfig/node10@1.0.11': {} 2767 | 2768 | '@tsconfig/node12@1.0.11': {} 2769 | 2770 | '@tsconfig/node14@1.0.3': {} 2771 | 2772 | '@tsconfig/node16@1.0.4': {} 2773 | 2774 | '@types/command-line-args@5.2.3': {} 2775 | 2776 | '@types/command-line-usage@5.0.4': {} 2777 | 2778 | '@types/estree@1.0.7': {} 2779 | 2780 | '@types/is-function@1.0.3': {} 2781 | 2782 | '@types/lodash-es@4.17.12': 2783 | dependencies: 2784 | '@types/lodash': 4.17.16 2785 | 2786 | '@types/lodash@4.17.16': {} 2787 | 2788 | '@types/node@22.13.14': 2789 | dependencies: 2790 | undici-types: 6.20.0 2791 | 2792 | '@types/parse-json@4.0.2': {} 2793 | 2794 | '@vitest/coverage-v8@1.6.1(vitest@1.6.1(@types/node@22.13.14)(happy-dom@13.10.1)(jsdom@16.7.0))': 2795 | dependencies: 2796 | '@ampproject/remapping': 2.3.0 2797 | '@bcoe/v8-coverage': 0.2.3 2798 | debug: 4.4.0 2799 | istanbul-lib-coverage: 3.2.2 2800 | istanbul-lib-report: 3.0.1 2801 | istanbul-lib-source-maps: 5.0.6 2802 | istanbul-reports: 3.1.7 2803 | magic-string: 0.30.17 2804 | magicast: 0.3.5 2805 | picocolors: 1.1.1 2806 | std-env: 3.8.1 2807 | strip-literal: 2.1.1 2808 | test-exclude: 6.0.0 2809 | vitest: 1.6.1(@types/node@22.13.14)(happy-dom@13.10.1)(jsdom@16.7.0) 2810 | transitivePeerDependencies: 2811 | - supports-color 2812 | 2813 | '@vitest/expect@1.6.1': 2814 | dependencies: 2815 | '@vitest/spy': 1.6.1 2816 | '@vitest/utils': 1.6.1 2817 | chai: 4.5.0 2818 | 2819 | '@vitest/runner@1.6.1': 2820 | dependencies: 2821 | '@vitest/utils': 1.6.1 2822 | p-limit: 5.0.0 2823 | pathe: 1.1.2 2824 | 2825 | '@vitest/snapshot@1.6.1': 2826 | dependencies: 2827 | magic-string: 0.30.17 2828 | pathe: 1.1.2 2829 | pretty-format: 29.7.0 2830 | 2831 | '@vitest/spy@1.6.1': 2832 | dependencies: 2833 | tinyspy: 2.2.1 2834 | 2835 | '@vitest/utils@1.6.1': 2836 | dependencies: 2837 | diff-sequences: 29.6.3 2838 | estree-walker: 3.0.3 2839 | loupe: 2.3.7 2840 | pretty-format: 29.7.0 2841 | 2842 | abab@2.0.6: 2843 | optional: true 2844 | 2845 | acorn-globals@6.0.0: 2846 | dependencies: 2847 | acorn: 7.4.1 2848 | acorn-walk: 7.2.0 2849 | optional: true 2850 | 2851 | acorn-walk@7.2.0: 2852 | optional: true 2853 | 2854 | acorn-walk@8.3.4: 2855 | dependencies: 2856 | acorn: 8.14.1 2857 | 2858 | acorn@7.4.1: 2859 | optional: true 2860 | 2861 | acorn@8.14.1: {} 2862 | 2863 | agent-base@6.0.2: 2864 | dependencies: 2865 | debug: 4.4.0 2866 | transitivePeerDependencies: 2867 | - supports-color 2868 | 2869 | ansi-colors@4.1.3: {} 2870 | 2871 | ansi-escapes@4.3.2: 2872 | dependencies: 2873 | type-fest: 0.21.3 2874 | 2875 | ansi-regex@5.0.1: {} 2876 | 2877 | ansi-regex@6.1.0: {} 2878 | 2879 | ansi-styles@3.2.1: 2880 | dependencies: 2881 | color-convert: 1.9.3 2882 | 2883 | ansi-styles@4.3.0: 2884 | dependencies: 2885 | color-convert: 2.0.1 2886 | 2887 | ansi-styles@5.2.0: {} 2888 | 2889 | ansi-styles@6.2.1: {} 2890 | 2891 | any-promise@1.3.0: {} 2892 | 2893 | anymatch@3.1.3: 2894 | dependencies: 2895 | normalize-path: 3.0.0 2896 | picomatch: 2.3.1 2897 | 2898 | arg@4.1.3: {} 2899 | 2900 | array-back@3.1.0: {} 2901 | 2902 | array-back@4.0.2: {} 2903 | 2904 | array-union@1.0.2: 2905 | dependencies: 2906 | array-uniq: 1.0.3 2907 | 2908 | array-union@2.1.0: {} 2909 | 2910 | array-uniq@1.0.3: {} 2911 | 2912 | assertion-error@1.1.0: {} 2913 | 2914 | asynckit@0.4.0: 2915 | optional: true 2916 | 2917 | author-regex@1.0.0: {} 2918 | 2919 | auto@11.3.0(@types/node@22.13.14)(typescript@4.9.5): 2920 | dependencies: 2921 | '@auto-it/core': 11.3.0(@types/node@22.13.14)(typescript@4.9.5) 2922 | '@auto-it/npm': 11.3.0(@types/node@22.13.14)(typescript@4.9.5) 2923 | '@auto-it/released': 11.3.0(@types/node@22.13.14)(typescript@4.9.5) 2924 | '@auto-it/version-file': 11.3.0(@types/node@22.13.14)(typescript@4.9.5) 2925 | await-to-js: 3.0.0 2926 | chalk: 4.1.2 2927 | command-line-application: 0.10.1 2928 | endent: 2.1.0 2929 | module-alias: 2.2.3 2930 | signale: 1.4.0 2931 | terminal-link: 2.1.1 2932 | tslib: 2.1.0 2933 | transitivePeerDependencies: 2934 | - '@swc/core' 2935 | - '@swc/wasm' 2936 | - '@types/node' 2937 | - encoding 2938 | - supports-color 2939 | - typescript 2940 | 2941 | await-to-js@3.0.0: {} 2942 | 2943 | balanced-match@1.0.2: {} 2944 | 2945 | before-after-hook@2.2.3: {} 2946 | 2947 | binary-extensions@2.3.0: {} 2948 | 2949 | bottleneck@2.19.5: {} 2950 | 2951 | brace-expansion@1.1.11: 2952 | dependencies: 2953 | balanced-match: 1.0.2 2954 | concat-map: 0.0.1 2955 | 2956 | brace-expansion@2.0.1: 2957 | dependencies: 2958 | balanced-match: 1.0.2 2959 | 2960 | braces@3.0.3: 2961 | dependencies: 2962 | fill-range: 7.1.1 2963 | 2964 | browser-process-hrtime@1.0.0: 2965 | optional: true 2966 | 2967 | buffer-from@1.1.2: {} 2968 | 2969 | bundle-require@4.2.1(esbuild@0.17.19): 2970 | dependencies: 2971 | esbuild: 0.17.19 2972 | load-tsconfig: 0.2.5 2973 | 2974 | cac@6.7.14: {} 2975 | 2976 | call-bind-apply-helpers@1.0.2: 2977 | dependencies: 2978 | es-errors: 1.3.0 2979 | function-bind: 1.1.2 2980 | 2981 | call-bound@1.0.4: 2982 | dependencies: 2983 | call-bind-apply-helpers: 1.0.2 2984 | get-intrinsic: 1.3.0 2985 | 2986 | callsites@3.1.0: {} 2987 | 2988 | chai@4.5.0: 2989 | dependencies: 2990 | assertion-error: 1.1.0 2991 | check-error: 1.0.3 2992 | deep-eql: 4.1.4 2993 | get-func-name: 2.0.2 2994 | loupe: 2.3.7 2995 | pathval: 1.1.1 2996 | type-detect: 4.1.0 2997 | 2998 | chalk@2.4.2: 2999 | dependencies: 3000 | ansi-styles: 3.2.1 3001 | escape-string-regexp: 1.0.5 3002 | supports-color: 5.5.0 3003 | 3004 | chalk@4.1.2: 3005 | dependencies: 3006 | ansi-styles: 4.3.0 3007 | supports-color: 7.2.0 3008 | 3009 | check-error@1.0.3: 3010 | dependencies: 3011 | get-func-name: 2.0.2 3012 | 3013 | chokidar@3.6.0: 3014 | dependencies: 3015 | anymatch: 3.1.3 3016 | braces: 3.0.3 3017 | glob-parent: 5.1.2 3018 | is-binary-path: 2.1.0 3019 | is-glob: 4.0.3 3020 | normalize-path: 3.0.0 3021 | readdirp: 3.6.0 3022 | optionalDependencies: 3023 | fsevents: 2.3.3 3024 | 3025 | color-convert@1.9.3: 3026 | dependencies: 3027 | color-name: 1.1.3 3028 | 3029 | color-convert@2.0.1: 3030 | dependencies: 3031 | color-name: 1.1.4 3032 | 3033 | color-name@1.1.3: {} 3034 | 3035 | color-name@1.1.4: {} 3036 | 3037 | combined-stream@1.0.8: 3038 | dependencies: 3039 | delayed-stream: 1.0.0 3040 | optional: true 3041 | 3042 | command-line-application@0.10.1: 3043 | dependencies: 3044 | '@types/command-line-args': 5.2.3 3045 | '@types/command-line-usage': 5.0.4 3046 | chalk: 2.4.2 3047 | command-line-args: 5.2.1 3048 | command-line-usage: 6.1.3 3049 | meant: 1.0.3 3050 | remove-markdown: 0.3.0 3051 | tslib: 1.10.0 3052 | 3053 | command-line-args@5.2.1: 3054 | dependencies: 3055 | array-back: 3.1.0 3056 | find-replace: 3.0.0 3057 | lodash.camelcase: 4.3.0 3058 | typical: 4.0.0 3059 | 3060 | command-line-usage@6.1.3: 3061 | dependencies: 3062 | array-back: 4.0.2 3063 | chalk: 2.4.2 3064 | table-layout: 1.0.2 3065 | typical: 5.2.0 3066 | 3067 | commander@4.1.1: {} 3068 | 3069 | common-tags@1.8.2: {} 3070 | 3071 | concat-map@0.0.1: {} 3072 | 3073 | confbox@0.1.8: {} 3074 | 3075 | cosmiconfig@7.0.0: 3076 | dependencies: 3077 | '@types/parse-json': 4.0.2 3078 | import-fresh: 3.3.1 3079 | parse-json: 5.2.0 3080 | path-type: 4.0.0 3081 | yaml: 1.10.2 3082 | 3083 | create-require@1.1.1: {} 3084 | 3085 | cross-spawn@7.0.6: 3086 | dependencies: 3087 | path-key: 3.1.1 3088 | shebang-command: 2.0.0 3089 | which: 2.0.2 3090 | 3091 | cssom@0.3.8: 3092 | optional: true 3093 | 3094 | cssom@0.4.4: 3095 | optional: true 3096 | 3097 | cssstyle@2.3.0: 3098 | dependencies: 3099 | cssom: 0.3.8 3100 | optional: true 3101 | 3102 | data-urls@2.0.0: 3103 | dependencies: 3104 | abab: 2.0.6 3105 | whatwg-mimetype: 2.3.0 3106 | whatwg-url: 8.7.0 3107 | optional: true 3108 | 3109 | debug@4.4.0: 3110 | dependencies: 3111 | ms: 2.1.3 3112 | 3113 | decimal.js@10.5.0: 3114 | optional: true 3115 | 3116 | dedent@0.7.0: {} 3117 | 3118 | deep-eql@4.1.4: 3119 | dependencies: 3120 | type-detect: 4.1.0 3121 | 3122 | deep-extend@0.6.0: {} 3123 | 3124 | deepmerge@4.3.1: {} 3125 | 3126 | delayed-stream@1.0.0: 3127 | optional: true 3128 | 3129 | deprecation@2.3.1: {} 3130 | 3131 | diff-sequences@29.6.3: {} 3132 | 3133 | diff@4.0.2: {} 3134 | 3135 | dir-glob@2.2.2: 3136 | dependencies: 3137 | path-type: 3.0.0 3138 | 3139 | dir-glob@3.0.1: 3140 | dependencies: 3141 | path-type: 4.0.0 3142 | 3143 | domexception@2.0.1: 3144 | dependencies: 3145 | webidl-conversions: 5.0.0 3146 | optional: true 3147 | 3148 | dotenv@8.6.0: {} 3149 | 3150 | dunder-proto@1.0.1: 3151 | dependencies: 3152 | call-bind-apply-helpers: 1.0.2 3153 | es-errors: 1.3.0 3154 | gopd: 1.2.0 3155 | 3156 | eastasianwidth@0.2.0: {} 3157 | 3158 | emoji-regex@8.0.0: {} 3159 | 3160 | emoji-regex@9.2.2: {} 3161 | 3162 | endent@2.1.0: 3163 | dependencies: 3164 | dedent: 0.7.0 3165 | fast-json-parse: 1.0.3 3166 | objectorarray: 1.0.5 3167 | 3168 | enquirer@2.4.1: 3169 | dependencies: 3170 | ansi-colors: 4.1.3 3171 | strip-ansi: 6.0.1 3172 | 3173 | entities@4.5.0: {} 3174 | 3175 | env-ci@5.5.0: 3176 | dependencies: 3177 | execa: 5.1.1 3178 | fromentries: 1.3.2 3179 | java-properties: 1.0.2 3180 | 3181 | error-ex@1.3.2: 3182 | dependencies: 3183 | is-arrayish: 0.2.1 3184 | 3185 | es-define-property@1.0.1: {} 3186 | 3187 | es-errors@1.3.0: {} 3188 | 3189 | es-object-atoms@1.1.1: 3190 | dependencies: 3191 | es-errors: 1.3.0 3192 | 3193 | es-set-tostringtag@2.1.0: 3194 | dependencies: 3195 | es-errors: 1.3.0 3196 | get-intrinsic: 1.3.0 3197 | has-tostringtag: 1.0.2 3198 | hasown: 2.0.2 3199 | optional: true 3200 | 3201 | esbuild@0.17.19: 3202 | optionalDependencies: 3203 | '@esbuild/android-arm': 0.17.19 3204 | '@esbuild/android-arm64': 0.17.19 3205 | '@esbuild/android-x64': 0.17.19 3206 | '@esbuild/darwin-arm64': 0.17.19 3207 | '@esbuild/darwin-x64': 0.17.19 3208 | '@esbuild/freebsd-arm64': 0.17.19 3209 | '@esbuild/freebsd-x64': 0.17.19 3210 | '@esbuild/linux-arm': 0.17.19 3211 | '@esbuild/linux-arm64': 0.17.19 3212 | '@esbuild/linux-ia32': 0.17.19 3213 | '@esbuild/linux-loong64': 0.17.19 3214 | '@esbuild/linux-mips64el': 0.17.19 3215 | '@esbuild/linux-ppc64': 0.17.19 3216 | '@esbuild/linux-riscv64': 0.17.19 3217 | '@esbuild/linux-s390x': 0.17.19 3218 | '@esbuild/linux-x64': 0.17.19 3219 | '@esbuild/netbsd-x64': 0.17.19 3220 | '@esbuild/openbsd-x64': 0.17.19 3221 | '@esbuild/sunos-x64': 0.17.19 3222 | '@esbuild/win32-arm64': 0.17.19 3223 | '@esbuild/win32-ia32': 0.17.19 3224 | '@esbuild/win32-x64': 0.17.19 3225 | 3226 | esbuild@0.21.5: 3227 | optionalDependencies: 3228 | '@esbuild/aix-ppc64': 0.21.5 3229 | '@esbuild/android-arm': 0.21.5 3230 | '@esbuild/android-arm64': 0.21.5 3231 | '@esbuild/android-x64': 0.21.5 3232 | '@esbuild/darwin-arm64': 0.21.5 3233 | '@esbuild/darwin-x64': 0.21.5 3234 | '@esbuild/freebsd-arm64': 0.21.5 3235 | '@esbuild/freebsd-x64': 0.21.5 3236 | '@esbuild/linux-arm': 0.21.5 3237 | '@esbuild/linux-arm64': 0.21.5 3238 | '@esbuild/linux-ia32': 0.21.5 3239 | '@esbuild/linux-loong64': 0.21.5 3240 | '@esbuild/linux-mips64el': 0.21.5 3241 | '@esbuild/linux-ppc64': 0.21.5 3242 | '@esbuild/linux-riscv64': 0.21.5 3243 | '@esbuild/linux-s390x': 0.21.5 3244 | '@esbuild/linux-x64': 0.21.5 3245 | '@esbuild/netbsd-x64': 0.21.5 3246 | '@esbuild/openbsd-x64': 0.21.5 3247 | '@esbuild/sunos-x64': 0.21.5 3248 | '@esbuild/win32-arm64': 0.21.5 3249 | '@esbuild/win32-ia32': 0.21.5 3250 | '@esbuild/win32-x64': 0.21.5 3251 | 3252 | escape-string-regexp@1.0.5: {} 3253 | 3254 | escodegen@2.1.0: 3255 | dependencies: 3256 | esprima: 4.0.1 3257 | estraverse: 5.3.0 3258 | esutils: 2.0.3 3259 | optionalDependencies: 3260 | source-map: 0.6.1 3261 | optional: true 3262 | 3263 | esprima@4.0.1: 3264 | optional: true 3265 | 3266 | estraverse@5.3.0: 3267 | optional: true 3268 | 3269 | estree-walker@3.0.3: 3270 | dependencies: 3271 | '@types/estree': 1.0.7 3272 | 3273 | esutils@2.0.3: 3274 | optional: true 3275 | 3276 | execa@5.1.1: 3277 | dependencies: 3278 | cross-spawn: 7.0.6 3279 | get-stream: 6.0.1 3280 | human-signals: 2.1.0 3281 | is-stream: 2.0.1 3282 | merge-stream: 2.0.0 3283 | npm-run-path: 4.0.1 3284 | onetime: 5.1.2 3285 | signal-exit: 3.0.7 3286 | strip-final-newline: 2.0.0 3287 | 3288 | execa@8.0.1: 3289 | dependencies: 3290 | cross-spawn: 7.0.6 3291 | get-stream: 8.0.1 3292 | human-signals: 5.0.0 3293 | is-stream: 3.0.0 3294 | merge-stream: 2.0.0 3295 | npm-run-path: 5.3.0 3296 | onetime: 6.0.0 3297 | signal-exit: 4.1.0 3298 | strip-final-newline: 3.0.0 3299 | 3300 | fast-glob@3.3.3: 3301 | dependencies: 3302 | '@nodelib/fs.stat': 2.0.5 3303 | '@nodelib/fs.walk': 1.2.8 3304 | glob-parent: 5.1.2 3305 | merge2: 1.4.1 3306 | micromatch: 4.0.8 3307 | 3308 | fast-json-parse@1.0.3: {} 3309 | 3310 | fastq@1.19.1: 3311 | dependencies: 3312 | reusify: 1.1.0 3313 | 3314 | figures@2.0.0: 3315 | dependencies: 3316 | escape-string-regexp: 1.0.5 3317 | 3318 | fill-range@7.1.1: 3319 | dependencies: 3320 | to-regex-range: 5.0.1 3321 | 3322 | find-replace@3.0.0: 3323 | dependencies: 3324 | array-back: 3.1.0 3325 | 3326 | find-up@2.1.0: 3327 | dependencies: 3328 | locate-path: 2.0.0 3329 | 3330 | foreground-child@3.3.1: 3331 | dependencies: 3332 | cross-spawn: 7.0.6 3333 | signal-exit: 4.1.0 3334 | 3335 | form-data@3.0.3: 3336 | dependencies: 3337 | asynckit: 0.4.0 3338 | combined-stream: 1.0.8 3339 | es-set-tostringtag: 2.1.0 3340 | mime-types: 2.1.35 3341 | optional: true 3342 | 3343 | fp-ts@2.16.9: {} 3344 | 3345 | fromentries@1.3.2: {} 3346 | 3347 | fs.realpath@1.0.0: {} 3348 | 3349 | fsevents@2.3.3: 3350 | optional: true 3351 | 3352 | function-bind@1.1.2: {} 3353 | 3354 | get-func-name@2.0.2: {} 3355 | 3356 | get-intrinsic@1.3.0: 3357 | dependencies: 3358 | call-bind-apply-helpers: 1.0.2 3359 | es-define-property: 1.0.1 3360 | es-errors: 1.3.0 3361 | es-object-atoms: 1.1.1 3362 | function-bind: 1.1.2 3363 | get-proto: 1.0.1 3364 | gopd: 1.2.0 3365 | has-symbols: 1.1.0 3366 | hasown: 2.0.2 3367 | math-intrinsics: 1.1.0 3368 | 3369 | get-monorepo-packages@1.3.0: 3370 | dependencies: 3371 | globby: 7.1.1 3372 | load-json-file: 4.0.0 3373 | 3374 | get-proto@1.0.1: 3375 | dependencies: 3376 | dunder-proto: 1.0.1 3377 | es-object-atoms: 1.1.1 3378 | 3379 | get-stream@6.0.1: {} 3380 | 3381 | get-stream@8.0.1: {} 3382 | 3383 | gitlog@4.0.8: 3384 | dependencies: 3385 | debug: 4.4.0 3386 | tslib: 2.8.1 3387 | transitivePeerDependencies: 3388 | - supports-color 3389 | 3390 | glob-parent@5.1.2: 3391 | dependencies: 3392 | is-glob: 4.0.3 3393 | 3394 | glob@10.4.5: 3395 | dependencies: 3396 | foreground-child: 3.3.1 3397 | jackspeak: 3.4.3 3398 | minimatch: 9.0.5 3399 | minipass: 7.1.2 3400 | package-json-from-dist: 1.0.1 3401 | path-scurry: 1.11.1 3402 | 3403 | glob@7.2.3: 3404 | dependencies: 3405 | fs.realpath: 1.0.0 3406 | inflight: 1.0.6 3407 | inherits: 2.0.4 3408 | minimatch: 3.1.2 3409 | once: 1.4.0 3410 | path-is-absolute: 1.0.1 3411 | 3412 | globby@11.1.0: 3413 | dependencies: 3414 | array-union: 2.1.0 3415 | dir-glob: 3.0.1 3416 | fast-glob: 3.3.3 3417 | ignore: 5.3.2 3418 | merge2: 1.4.1 3419 | slash: 3.0.0 3420 | 3421 | globby@7.1.1: 3422 | dependencies: 3423 | array-union: 1.0.2 3424 | dir-glob: 2.2.2 3425 | glob: 7.2.3 3426 | ignore: 3.3.10 3427 | pify: 3.0.0 3428 | slash: 1.0.0 3429 | 3430 | gopd@1.2.0: {} 3431 | 3432 | graceful-fs@4.2.11: {} 3433 | 3434 | happy-dom@13.10.1: 3435 | dependencies: 3436 | entities: 4.5.0 3437 | webidl-conversions: 7.0.0 3438 | whatwg-mimetype: 3.0.0 3439 | 3440 | has-flag@3.0.0: {} 3441 | 3442 | has-flag@4.0.0: {} 3443 | 3444 | has-symbols@1.1.0: {} 3445 | 3446 | has-tostringtag@1.0.2: 3447 | dependencies: 3448 | has-symbols: 1.1.0 3449 | 3450 | hasown@2.0.2: 3451 | dependencies: 3452 | function-bind: 1.1.2 3453 | 3454 | html-encoding-sniffer@2.0.1: 3455 | dependencies: 3456 | whatwg-encoding: 1.0.5 3457 | optional: true 3458 | 3459 | html-escaper@2.0.2: {} 3460 | 3461 | http-proxy-agent@4.0.1: 3462 | dependencies: 3463 | '@tootallnate/once': 1.1.2 3464 | agent-base: 6.0.2 3465 | debug: 4.4.0 3466 | transitivePeerDependencies: 3467 | - supports-color 3468 | optional: true 3469 | 3470 | https-proxy-agent@5.0.1: 3471 | dependencies: 3472 | agent-base: 6.0.2 3473 | debug: 4.4.0 3474 | transitivePeerDependencies: 3475 | - supports-color 3476 | 3477 | human-signals@2.1.0: {} 3478 | 3479 | human-signals@5.0.0: {} 3480 | 3481 | iconv-lite@0.4.24: 3482 | dependencies: 3483 | safer-buffer: 2.1.2 3484 | optional: true 3485 | 3486 | ignore@3.3.10: {} 3487 | 3488 | ignore@5.3.2: {} 3489 | 3490 | import-cwd@3.0.0: 3491 | dependencies: 3492 | import-from: 3.0.0 3493 | 3494 | import-fresh@3.3.1: 3495 | dependencies: 3496 | parent-module: 1.0.1 3497 | resolve-from: 4.0.0 3498 | 3499 | import-from@3.0.0: 3500 | dependencies: 3501 | resolve-from: 5.0.0 3502 | 3503 | inflight@1.0.6: 3504 | dependencies: 3505 | once: 1.4.0 3506 | wrappy: 1.0.2 3507 | 3508 | inherits@2.0.4: {} 3509 | 3510 | ini@1.3.8: {} 3511 | 3512 | io-ts@2.2.22(fp-ts@2.16.9): 3513 | dependencies: 3514 | fp-ts: 2.16.9 3515 | 3516 | is-arrayish@0.2.1: {} 3517 | 3518 | is-binary-path@2.1.0: 3519 | dependencies: 3520 | binary-extensions: 2.3.0 3521 | 3522 | is-extglob@2.1.1: {} 3523 | 3524 | is-fullwidth-code-point@3.0.0: {} 3525 | 3526 | is-function@1.0.2: {} 3527 | 3528 | is-glob@4.0.3: 3529 | dependencies: 3530 | is-extglob: 2.1.1 3531 | 3532 | is-number@7.0.0: {} 3533 | 3534 | is-plain-object@5.0.0: {} 3535 | 3536 | is-potential-custom-element-name@1.0.1: 3537 | optional: true 3538 | 3539 | is-regex@1.2.1: 3540 | dependencies: 3541 | call-bound: 1.0.4 3542 | gopd: 1.2.0 3543 | has-tostringtag: 1.0.2 3544 | hasown: 2.0.2 3545 | 3546 | is-stream@2.0.1: {} 3547 | 3548 | is-stream@3.0.0: {} 3549 | 3550 | is-symbol@1.1.1: 3551 | dependencies: 3552 | call-bound: 1.0.4 3553 | has-symbols: 1.1.0 3554 | safe-regex-test: 1.1.0 3555 | 3556 | is-unicode-supported@0.1.0: {} 3557 | 3558 | isexe@2.0.0: {} 3559 | 3560 | isobject@4.0.0: {} 3561 | 3562 | istanbul-lib-coverage@3.2.2: {} 3563 | 3564 | istanbul-lib-report@3.0.1: 3565 | dependencies: 3566 | istanbul-lib-coverage: 3.2.2 3567 | make-dir: 4.0.0 3568 | supports-color: 7.2.0 3569 | 3570 | istanbul-lib-source-maps@5.0.6: 3571 | dependencies: 3572 | '@jridgewell/trace-mapping': 0.3.25 3573 | debug: 4.4.0 3574 | istanbul-lib-coverage: 3.2.2 3575 | transitivePeerDependencies: 3576 | - supports-color 3577 | 3578 | istanbul-reports@3.1.7: 3579 | dependencies: 3580 | html-escaper: 2.0.2 3581 | istanbul-lib-report: 3.0.1 3582 | 3583 | jackspeak@3.4.3: 3584 | dependencies: 3585 | '@isaacs/cliui': 8.0.2 3586 | optionalDependencies: 3587 | '@pkgjs/parseargs': 0.11.0 3588 | 3589 | java-properties@1.0.2: {} 3590 | 3591 | joycon@3.1.1: {} 3592 | 3593 | js-tokens@4.0.0: {} 3594 | 3595 | js-tokens@9.0.1: {} 3596 | 3597 | jsdom@16.7.0: 3598 | dependencies: 3599 | abab: 2.0.6 3600 | acorn: 8.14.1 3601 | acorn-globals: 6.0.0 3602 | cssom: 0.4.4 3603 | cssstyle: 2.3.0 3604 | data-urls: 2.0.0 3605 | decimal.js: 10.5.0 3606 | domexception: 2.0.1 3607 | escodegen: 2.1.0 3608 | form-data: 3.0.3 3609 | html-encoding-sniffer: 2.0.1 3610 | http-proxy-agent: 4.0.1 3611 | https-proxy-agent: 5.0.1 3612 | is-potential-custom-element-name: 1.0.1 3613 | nwsapi: 2.2.20 3614 | parse5: 6.0.1 3615 | saxes: 5.0.1 3616 | symbol-tree: 3.2.4 3617 | tough-cookie: 4.1.4 3618 | w3c-hr-time: 1.0.2 3619 | w3c-xmlserializer: 2.0.0 3620 | webidl-conversions: 6.1.0 3621 | whatwg-encoding: 1.0.5 3622 | whatwg-mimetype: 2.3.0 3623 | whatwg-url: 8.7.0 3624 | ws: 7.5.10 3625 | xml-name-validator: 3.0.0 3626 | transitivePeerDependencies: 3627 | - bufferutil 3628 | - supports-color 3629 | - utf-8-validate 3630 | optional: true 3631 | 3632 | json-parse-better-errors@1.0.2: {} 3633 | 3634 | json-parse-even-better-errors@2.3.1: {} 3635 | 3636 | lilconfig@2.1.0: {} 3637 | 3638 | lines-and-columns@1.2.4: {} 3639 | 3640 | load-json-file@4.0.0: 3641 | dependencies: 3642 | graceful-fs: 4.2.11 3643 | parse-json: 4.0.0 3644 | pify: 3.0.0 3645 | strip-bom: 3.0.0 3646 | 3647 | load-tsconfig@0.2.5: {} 3648 | 3649 | local-pkg@0.5.1: 3650 | dependencies: 3651 | mlly: 1.7.4 3652 | pkg-types: 1.3.1 3653 | 3654 | locate-path@2.0.0: 3655 | dependencies: 3656 | p-locate: 2.0.0 3657 | path-exists: 3.0.0 3658 | 3659 | lodash-es@4.17.21: {} 3660 | 3661 | lodash.camelcase@4.3.0: {} 3662 | 3663 | lodash.chunk@4.2.0: {} 3664 | 3665 | lodash.get@4.4.2: {} 3666 | 3667 | lodash.sortby@4.7.0: {} 3668 | 3669 | lodash@4.17.21: 3670 | optional: true 3671 | 3672 | log-symbols@4.1.0: 3673 | dependencies: 3674 | chalk: 4.1.2 3675 | is-unicode-supported: 0.1.0 3676 | 3677 | loupe@2.3.7: 3678 | dependencies: 3679 | get-func-name: 2.0.2 3680 | 3681 | lru-cache@10.4.3: {} 3682 | 3683 | magic-string@0.30.17: 3684 | dependencies: 3685 | '@jridgewell/sourcemap-codec': 1.5.0 3686 | 3687 | magicast@0.3.5: 3688 | dependencies: 3689 | '@babel/parser': 7.27.0 3690 | '@babel/types': 7.27.0 3691 | source-map-js: 1.2.1 3692 | 3693 | make-dir@4.0.0: 3694 | dependencies: 3695 | semver: 7.7.1 3696 | 3697 | make-error@1.3.6: {} 3698 | 3699 | math-intrinsics@1.1.0: {} 3700 | 3701 | meant@1.0.3: {} 3702 | 3703 | merge-stream@2.0.0: {} 3704 | 3705 | merge2@1.4.1: {} 3706 | 3707 | micromatch@4.0.8: 3708 | dependencies: 3709 | braces: 3.0.3 3710 | picomatch: 2.3.1 3711 | 3712 | mime-db@1.52.0: 3713 | optional: true 3714 | 3715 | mime-types@2.1.35: 3716 | dependencies: 3717 | mime-db: 1.52.0 3718 | optional: true 3719 | 3720 | mimic-fn@2.1.0: {} 3721 | 3722 | mimic-fn@4.0.0: {} 3723 | 3724 | minimatch@3.1.2: 3725 | dependencies: 3726 | brace-expansion: 1.1.11 3727 | 3728 | minimatch@9.0.5: 3729 | dependencies: 3730 | brace-expansion: 2.0.1 3731 | 3732 | minimist@1.2.8: {} 3733 | 3734 | minipass@7.1.2: {} 3735 | 3736 | mlly@1.7.4: 3737 | dependencies: 3738 | acorn: 8.14.1 3739 | pathe: 2.0.3 3740 | pkg-types: 1.3.1 3741 | ufo: 1.5.4 3742 | 3743 | module-alias@2.2.3: {} 3744 | 3745 | ms@2.1.3: {} 3746 | 3747 | mz@2.7.0: 3748 | dependencies: 3749 | any-promise: 1.3.0 3750 | object-assign: 4.1.1 3751 | thenify-all: 1.6.0 3752 | 3753 | nanoid@3.3.11: {} 3754 | 3755 | nested-error-stacks@2.0.1: {} 3756 | 3757 | node-fetch@2.6.7: 3758 | dependencies: 3759 | whatwg-url: 5.0.0 3760 | 3761 | normalize-path@3.0.0: {} 3762 | 3763 | npm-run-path@4.0.1: 3764 | dependencies: 3765 | path-key: 3.1.1 3766 | 3767 | npm-run-path@5.3.0: 3768 | dependencies: 3769 | path-key: 4.0.0 3770 | 3771 | nwsapi@2.2.20: 3772 | optional: true 3773 | 3774 | object-assign@4.1.1: {} 3775 | 3776 | objectorarray@1.0.5: {} 3777 | 3778 | once@1.4.0: 3779 | dependencies: 3780 | wrappy: 1.0.2 3781 | 3782 | onetime@5.1.2: 3783 | dependencies: 3784 | mimic-fn: 2.1.0 3785 | 3786 | onetime@6.0.0: 3787 | dependencies: 3788 | mimic-fn: 4.0.0 3789 | 3790 | os-homedir@1.0.2: {} 3791 | 3792 | p-limit@1.3.0: 3793 | dependencies: 3794 | p-try: 1.0.0 3795 | 3796 | p-limit@5.0.0: 3797 | dependencies: 3798 | yocto-queue: 1.2.1 3799 | 3800 | p-locate@2.0.0: 3801 | dependencies: 3802 | p-limit: 1.3.0 3803 | 3804 | p-try@1.0.0: {} 3805 | 3806 | package-json-from-dist@1.0.1: {} 3807 | 3808 | parent-module@1.0.1: 3809 | dependencies: 3810 | callsites: 3.1.0 3811 | 3812 | parse-author@2.0.0: 3813 | dependencies: 3814 | author-regex: 1.0.0 3815 | 3816 | parse-github-url@1.0.2: {} 3817 | 3818 | parse-json@4.0.0: 3819 | dependencies: 3820 | error-ex: 1.3.2 3821 | json-parse-better-errors: 1.0.2 3822 | 3823 | parse-json@5.2.0: 3824 | dependencies: 3825 | '@babel/code-frame': 7.26.2 3826 | error-ex: 1.3.2 3827 | json-parse-even-better-errors: 2.3.1 3828 | lines-and-columns: 1.2.4 3829 | 3830 | parse-ms@2.1.0: {} 3831 | 3832 | parse5@6.0.1: 3833 | optional: true 3834 | 3835 | path-exists@3.0.0: {} 3836 | 3837 | path-is-absolute@1.0.1: {} 3838 | 3839 | path-key@3.1.1: {} 3840 | 3841 | path-key@4.0.0: {} 3842 | 3843 | path-parse@1.0.7: {} 3844 | 3845 | path-scurry@1.11.1: 3846 | dependencies: 3847 | lru-cache: 10.4.3 3848 | minipass: 7.1.2 3849 | 3850 | path-type@3.0.0: 3851 | dependencies: 3852 | pify: 3.0.0 3853 | 3854 | path-type@4.0.0: {} 3855 | 3856 | pathe@1.1.2: {} 3857 | 3858 | pathe@2.0.3: {} 3859 | 3860 | pathval@1.1.1: {} 3861 | 3862 | picocolors@1.1.1: {} 3863 | 3864 | picomatch@2.3.1: {} 3865 | 3866 | pify@3.0.0: {} 3867 | 3868 | pirates@4.0.7: {} 3869 | 3870 | pkg-conf@2.1.0: 3871 | dependencies: 3872 | find-up: 2.1.0 3873 | load-json-file: 4.0.0 3874 | 3875 | pkg-types@1.3.1: 3876 | dependencies: 3877 | confbox: 0.1.8 3878 | mlly: 1.7.4 3879 | pathe: 2.0.3 3880 | 3881 | postcss-load-config@3.1.4(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.14)(typescript@4.9.5)): 3882 | dependencies: 3883 | lilconfig: 2.1.0 3884 | yaml: 1.10.2 3885 | optionalDependencies: 3886 | postcss: 8.5.3 3887 | ts-node: 10.9.2(@types/node@22.13.14)(typescript@4.9.5) 3888 | 3889 | postcss@8.5.3: 3890 | dependencies: 3891 | nanoid: 3.3.11 3892 | picocolors: 1.1.1 3893 | source-map-js: 1.2.1 3894 | 3895 | pretty-format@29.7.0: 3896 | dependencies: 3897 | '@jest/schemas': 29.6.3 3898 | ansi-styles: 5.2.0 3899 | react-is: 18.3.1 3900 | 3901 | pretty-ms@7.0.1: 3902 | dependencies: 3903 | parse-ms: 2.1.0 3904 | 3905 | psl@1.15.0: 3906 | dependencies: 3907 | punycode: 2.3.1 3908 | optional: true 3909 | 3910 | punycode@2.3.1: {} 3911 | 3912 | querystringify@2.2.0: 3913 | optional: true 3914 | 3915 | queue-microtask@1.2.3: {} 3916 | 3917 | rc@1.2.8: 3918 | dependencies: 3919 | deep-extend: 0.6.0 3920 | ini: 1.3.8 3921 | minimist: 1.2.8 3922 | strip-json-comments: 2.0.1 3923 | 3924 | react-is@18.3.1: {} 3925 | 3926 | readdirp@3.6.0: 3927 | dependencies: 3928 | picomatch: 2.3.1 3929 | 3930 | reduce-flatten@2.0.0: {} 3931 | 3932 | registry-url@5.1.0: 3933 | dependencies: 3934 | rc: 1.2.8 3935 | 3936 | remove-markdown@0.3.0: {} 3937 | 3938 | requireg@0.2.2: 3939 | dependencies: 3940 | nested-error-stacks: 2.0.1 3941 | rc: 1.2.8 3942 | resolve: 1.7.1 3943 | 3944 | requires-port@1.0.0: 3945 | optional: true 3946 | 3947 | resolve-from@4.0.0: {} 3948 | 3949 | resolve-from@5.0.0: {} 3950 | 3951 | resolve@1.7.1: 3952 | dependencies: 3953 | path-parse: 1.0.7 3954 | 3955 | reusify@1.1.0: {} 3956 | 3957 | rollup@3.29.5: 3958 | optionalDependencies: 3959 | fsevents: 2.3.3 3960 | 3961 | rollup@4.38.0: 3962 | dependencies: 3963 | '@types/estree': 1.0.7 3964 | optionalDependencies: 3965 | '@rollup/rollup-android-arm-eabi': 4.38.0 3966 | '@rollup/rollup-android-arm64': 4.38.0 3967 | '@rollup/rollup-darwin-arm64': 4.38.0 3968 | '@rollup/rollup-darwin-x64': 4.38.0 3969 | '@rollup/rollup-freebsd-arm64': 4.38.0 3970 | '@rollup/rollup-freebsd-x64': 4.38.0 3971 | '@rollup/rollup-linux-arm-gnueabihf': 4.38.0 3972 | '@rollup/rollup-linux-arm-musleabihf': 4.38.0 3973 | '@rollup/rollup-linux-arm64-gnu': 4.38.0 3974 | '@rollup/rollup-linux-arm64-musl': 4.38.0 3975 | '@rollup/rollup-linux-loongarch64-gnu': 4.38.0 3976 | '@rollup/rollup-linux-powerpc64le-gnu': 4.38.0 3977 | '@rollup/rollup-linux-riscv64-gnu': 4.38.0 3978 | '@rollup/rollup-linux-riscv64-musl': 4.38.0 3979 | '@rollup/rollup-linux-s390x-gnu': 4.38.0 3980 | '@rollup/rollup-linux-x64-gnu': 4.38.0 3981 | '@rollup/rollup-linux-x64-musl': 4.38.0 3982 | '@rollup/rollup-win32-arm64-msvc': 4.38.0 3983 | '@rollup/rollup-win32-ia32-msvc': 4.38.0 3984 | '@rollup/rollup-win32-x64-msvc': 4.38.0 3985 | fsevents: 2.3.3 3986 | 3987 | run-parallel@1.2.0: 3988 | dependencies: 3989 | queue-microtask: 1.2.3 3990 | 3991 | safe-regex-test@1.1.0: 3992 | dependencies: 3993 | call-bound: 1.0.4 3994 | es-errors: 1.3.0 3995 | is-regex: 1.2.1 3996 | 3997 | safer-buffer@2.1.2: 3998 | optional: true 3999 | 4000 | saxes@5.0.1: 4001 | dependencies: 4002 | xmlchars: 2.2.0 4003 | optional: true 4004 | 4005 | semver@7.7.1: {} 4006 | 4007 | shebang-command@2.0.0: 4008 | dependencies: 4009 | shebang-regex: 3.0.0 4010 | 4011 | shebang-regex@3.0.0: {} 4012 | 4013 | siginfo@2.0.0: {} 4014 | 4015 | signal-exit@3.0.7: {} 4016 | 4017 | signal-exit@4.1.0: {} 4018 | 4019 | signale@1.4.0: 4020 | dependencies: 4021 | chalk: 2.4.2 4022 | figures: 2.0.0 4023 | pkg-conf: 2.1.0 4024 | 4025 | slash@1.0.0: {} 4026 | 4027 | slash@3.0.0: {} 4028 | 4029 | source-map-js@1.2.1: {} 4030 | 4031 | source-map-support@0.5.21: 4032 | dependencies: 4033 | buffer-from: 1.1.2 4034 | source-map: 0.6.1 4035 | 4036 | source-map@0.6.1: {} 4037 | 4038 | source-map@0.8.0-beta.0: 4039 | dependencies: 4040 | whatwg-url: 7.1.0 4041 | 4042 | stackback@0.0.2: {} 4043 | 4044 | std-env@3.8.1: {} 4045 | 4046 | string-width@4.2.3: 4047 | dependencies: 4048 | emoji-regex: 8.0.0 4049 | is-fullwidth-code-point: 3.0.0 4050 | strip-ansi: 6.0.1 4051 | 4052 | string-width@5.1.2: 4053 | dependencies: 4054 | eastasianwidth: 0.2.0 4055 | emoji-regex: 9.2.2 4056 | strip-ansi: 7.1.0 4057 | 4058 | strip-ansi@6.0.1: 4059 | dependencies: 4060 | ansi-regex: 5.0.1 4061 | 4062 | strip-ansi@7.1.0: 4063 | dependencies: 4064 | ansi-regex: 6.1.0 4065 | 4066 | strip-bom@3.0.0: {} 4067 | 4068 | strip-final-newline@2.0.0: {} 4069 | 4070 | strip-final-newline@3.0.0: {} 4071 | 4072 | strip-json-comments@2.0.1: {} 4073 | 4074 | strip-literal@2.1.1: 4075 | dependencies: 4076 | js-tokens: 9.0.1 4077 | 4078 | sucrase@3.35.0: 4079 | dependencies: 4080 | '@jridgewell/gen-mapping': 0.3.8 4081 | commander: 4.1.1 4082 | glob: 10.4.5 4083 | lines-and-columns: 1.2.4 4084 | mz: 2.7.0 4085 | pirates: 4.0.7 4086 | ts-interface-checker: 0.1.13 4087 | 4088 | supports-color@5.5.0: 4089 | dependencies: 4090 | has-flag: 3.0.0 4091 | 4092 | supports-color@7.2.0: 4093 | dependencies: 4094 | has-flag: 4.0.0 4095 | 4096 | supports-hyperlinks@2.3.0: 4097 | dependencies: 4098 | has-flag: 4.0.0 4099 | supports-color: 7.2.0 4100 | 4101 | symbol-tree@3.2.4: 4102 | optional: true 4103 | 4104 | table-layout@1.0.2: 4105 | dependencies: 4106 | array-back: 4.0.2 4107 | deep-extend: 0.6.0 4108 | typical: 5.2.0 4109 | wordwrapjs: 4.0.1 4110 | 4111 | tapable@2.2.1: {} 4112 | 4113 | terminal-link@2.1.1: 4114 | dependencies: 4115 | ansi-escapes: 4.3.2 4116 | supports-hyperlinks: 2.3.0 4117 | 4118 | test-exclude@6.0.0: 4119 | dependencies: 4120 | '@istanbuljs/schema': 0.1.3 4121 | glob: 7.2.3 4122 | minimatch: 3.1.2 4123 | 4124 | thenify-all@1.6.0: 4125 | dependencies: 4126 | thenify: 3.3.1 4127 | 4128 | thenify@3.3.1: 4129 | dependencies: 4130 | any-promise: 1.3.0 4131 | 4132 | tinybench@2.9.0: {} 4133 | 4134 | tinycolor2@1.6.0: {} 4135 | 4136 | tinypool@0.8.4: {} 4137 | 4138 | tinyspy@2.2.1: {} 4139 | 4140 | to-regex-range@5.0.1: 4141 | dependencies: 4142 | is-number: 7.0.0 4143 | 4144 | tough-cookie@4.1.4: 4145 | dependencies: 4146 | psl: 1.15.0 4147 | punycode: 2.3.1 4148 | universalify: 0.2.0 4149 | url-parse: 1.5.10 4150 | optional: true 4151 | 4152 | tr46@0.0.3: {} 4153 | 4154 | tr46@1.0.1: 4155 | dependencies: 4156 | punycode: 2.3.1 4157 | 4158 | tr46@2.1.0: 4159 | dependencies: 4160 | punycode: 2.3.1 4161 | optional: true 4162 | 4163 | tree-kill@1.2.2: {} 4164 | 4165 | ts-interface-checker@0.1.13: {} 4166 | 4167 | ts-node@10.9.2(@types/node@22.13.14)(typescript@4.9.5): 4168 | dependencies: 4169 | '@cspotcode/source-map-support': 0.8.1 4170 | '@tsconfig/node10': 1.0.11 4171 | '@tsconfig/node12': 1.0.11 4172 | '@tsconfig/node14': 1.0.3 4173 | '@tsconfig/node16': 1.0.4 4174 | '@types/node': 22.13.14 4175 | acorn: 8.14.1 4176 | acorn-walk: 8.3.4 4177 | arg: 4.1.3 4178 | create-require: 1.1.1 4179 | diff: 4.0.2 4180 | make-error: 1.3.6 4181 | typescript: 4.9.5 4182 | v8-compile-cache-lib: 3.0.1 4183 | yn: 3.1.1 4184 | 4185 | ts-node@9.1.1(typescript@4.9.5): 4186 | dependencies: 4187 | arg: 4.1.3 4188 | create-require: 1.1.1 4189 | diff: 4.0.2 4190 | make-error: 1.3.6 4191 | source-map-support: 0.5.21 4192 | typescript: 4.9.5 4193 | yn: 3.1.1 4194 | 4195 | tslib@1.10.0: {} 4196 | 4197 | tslib@2.1.0: {} 4198 | 4199 | tslib@2.8.1: {} 4200 | 4201 | tsup@6.7.0(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.14)(typescript@4.9.5))(typescript@4.9.5): 4202 | dependencies: 4203 | bundle-require: 4.2.1(esbuild@0.17.19) 4204 | cac: 6.7.14 4205 | chokidar: 3.6.0 4206 | debug: 4.4.0 4207 | esbuild: 0.17.19 4208 | execa: 5.1.1 4209 | globby: 11.1.0 4210 | joycon: 3.1.1 4211 | postcss-load-config: 3.1.4(postcss@8.5.3)(ts-node@10.9.2(@types/node@22.13.14)(typescript@4.9.5)) 4212 | resolve-from: 5.0.0 4213 | rollup: 3.29.5 4214 | source-map: 0.8.0-beta.0 4215 | sucrase: 3.35.0 4216 | tree-kill: 1.2.2 4217 | optionalDependencies: 4218 | postcss: 8.5.3 4219 | typescript: 4.9.5 4220 | transitivePeerDependencies: 4221 | - supports-color 4222 | - ts-node 4223 | 4224 | type-detect@4.1.0: {} 4225 | 4226 | type-fest@0.21.3: {} 4227 | 4228 | typescript-memoize@1.1.1: {} 4229 | 4230 | typescript@4.9.5: {} 4231 | 4232 | typical@4.0.0: {} 4233 | 4234 | typical@5.2.0: {} 4235 | 4236 | ufo@1.5.4: {} 4237 | 4238 | undici-types@6.20.0: {} 4239 | 4240 | universal-user-agent@6.0.1: {} 4241 | 4242 | universalify@0.2.0: 4243 | optional: true 4244 | 4245 | url-join@4.0.1: {} 4246 | 4247 | url-parse@1.5.10: 4248 | dependencies: 4249 | querystringify: 2.2.0 4250 | requires-port: 1.0.0 4251 | optional: true 4252 | 4253 | user-home@2.0.0: 4254 | dependencies: 4255 | os-homedir: 1.0.2 4256 | 4257 | v8-compile-cache-lib@3.0.1: {} 4258 | 4259 | vite-node@1.6.1(@types/node@22.13.14): 4260 | dependencies: 4261 | cac: 6.7.14 4262 | debug: 4.4.0 4263 | pathe: 1.1.2 4264 | picocolors: 1.1.1 4265 | vite: 5.4.16(@types/node@22.13.14) 4266 | transitivePeerDependencies: 4267 | - '@types/node' 4268 | - less 4269 | - lightningcss 4270 | - sass 4271 | - sass-embedded 4272 | - stylus 4273 | - sugarss 4274 | - supports-color 4275 | - terser 4276 | 4277 | vite@5.4.16(@types/node@22.13.14): 4278 | dependencies: 4279 | esbuild: 0.21.5 4280 | postcss: 8.5.3 4281 | rollup: 4.38.0 4282 | optionalDependencies: 4283 | '@types/node': 22.13.14 4284 | fsevents: 2.3.3 4285 | 4286 | vitest@1.6.1(@types/node@22.13.14)(happy-dom@13.10.1)(jsdom@16.7.0): 4287 | dependencies: 4288 | '@vitest/expect': 1.6.1 4289 | '@vitest/runner': 1.6.1 4290 | '@vitest/snapshot': 1.6.1 4291 | '@vitest/spy': 1.6.1 4292 | '@vitest/utils': 1.6.1 4293 | acorn-walk: 8.3.4 4294 | chai: 4.5.0 4295 | debug: 4.4.0 4296 | execa: 8.0.1 4297 | local-pkg: 0.5.1 4298 | magic-string: 0.30.17 4299 | pathe: 1.1.2 4300 | picocolors: 1.1.1 4301 | std-env: 3.8.1 4302 | strip-literal: 2.1.1 4303 | tinybench: 2.9.0 4304 | tinypool: 0.8.4 4305 | vite: 5.4.16(@types/node@22.13.14) 4306 | vite-node: 1.6.1(@types/node@22.13.14) 4307 | why-is-node-running: 2.3.0 4308 | optionalDependencies: 4309 | '@types/node': 22.13.14 4310 | happy-dom: 13.10.1 4311 | jsdom: 16.7.0 4312 | transitivePeerDependencies: 4313 | - less 4314 | - lightningcss 4315 | - sass 4316 | - sass-embedded 4317 | - stylus 4318 | - sugarss 4319 | - supports-color 4320 | - terser 4321 | 4322 | w3c-hr-time@1.0.2: 4323 | dependencies: 4324 | browser-process-hrtime: 1.0.0 4325 | optional: true 4326 | 4327 | w3c-xmlserializer@2.0.0: 4328 | dependencies: 4329 | xml-name-validator: 3.0.0 4330 | optional: true 4331 | 4332 | webidl-conversions@3.0.1: {} 4333 | 4334 | webidl-conversions@4.0.2: {} 4335 | 4336 | webidl-conversions@5.0.0: 4337 | optional: true 4338 | 4339 | webidl-conversions@6.1.0: 4340 | optional: true 4341 | 4342 | webidl-conversions@7.0.0: {} 4343 | 4344 | whatwg-encoding@1.0.5: 4345 | dependencies: 4346 | iconv-lite: 0.4.24 4347 | optional: true 4348 | 4349 | whatwg-mimetype@2.3.0: 4350 | optional: true 4351 | 4352 | whatwg-mimetype@3.0.0: {} 4353 | 4354 | whatwg-url@5.0.0: 4355 | dependencies: 4356 | tr46: 0.0.3 4357 | webidl-conversions: 3.0.1 4358 | 4359 | whatwg-url@7.1.0: 4360 | dependencies: 4361 | lodash.sortby: 4.7.0 4362 | tr46: 1.0.1 4363 | webidl-conversions: 4.0.2 4364 | 4365 | whatwg-url@8.7.0: 4366 | dependencies: 4367 | lodash: 4.17.21 4368 | tr46: 2.1.0 4369 | webidl-conversions: 6.1.0 4370 | optional: true 4371 | 4372 | which@2.0.2: 4373 | dependencies: 4374 | isexe: 2.0.0 4375 | 4376 | why-is-node-running@2.3.0: 4377 | dependencies: 4378 | siginfo: 2.0.0 4379 | stackback: 0.0.2 4380 | 4381 | wordwrapjs@4.0.1: 4382 | dependencies: 4383 | reduce-flatten: 2.0.0 4384 | typical: 5.2.0 4385 | 4386 | wrap-ansi@7.0.0: 4387 | dependencies: 4388 | ansi-styles: 4.3.0 4389 | string-width: 4.2.3 4390 | strip-ansi: 6.0.1 4391 | 4392 | wrap-ansi@8.1.0: 4393 | dependencies: 4394 | ansi-styles: 6.2.1 4395 | string-width: 5.1.2 4396 | strip-ansi: 7.1.0 4397 | 4398 | wrappy@1.0.2: {} 4399 | 4400 | ws@7.5.10: 4401 | optional: true 4402 | 4403 | xml-name-validator@3.0.0: 4404 | optional: true 4405 | 4406 | xmlchars@2.2.0: 4407 | optional: true 4408 | 4409 | yaml@1.10.2: {} 4410 | 4411 | yn@3.1.1: {} 4412 | 4413 | yocto-queue@1.2.1: {} 4414 | -------------------------------------------------------------------------------- /src/dom-event.ts: -------------------------------------------------------------------------------- 1 | const eventProperties: Array = [ 2 | 'bubbles', 3 | 'cancelBubble', 4 | 'cancelable', 5 | 'composed', 6 | 'currentTarget', 7 | 'defaultPrevented', 8 | 'eventPhase', 9 | 'isTrusted', 10 | 'returnValue', 11 | 'srcElement', 12 | 'target', 13 | 'timeStamp', 14 | 'type', 15 | ]; 16 | 17 | const customEventSpecificProperties: Array> = ['detail']; 18 | 19 | /** 20 | * Dom Event (and all its subclasses) is built in a way its internal properties 21 | * are accessible when querying them directly but "hidden" when iterating its 22 | * keys. 23 | * 24 | * With a code example it means: `Object.keys(new Event('click')) = ["isTrusted"]` 25 | * 26 | * So to be able to stringify/parse more than just `isTrusted` info we need to 27 | * create a new object and set the properties by hand. As there is no way to 28 | * iterate the properties we rely on a list of hardcoded properties. 29 | * 30 | * @param event The event we want to extract properties 31 | */ 32 | export function extractEventHiddenProperties(event: Event) { 33 | const rebuildEvent = eventProperties 34 | .filter((value) => event[value] !== undefined) 35 | .reduce>>((acc, value) => { 36 | acc[value] = event[value]; 37 | return acc; 38 | }, {}); 39 | 40 | if (event instanceof CustomEvent) { 41 | for (const value of customEventSpecificProperties.filter( 42 | (value) => event[value] !== undefined 43 | )) { 44 | rebuildEvent[value] = event[value]; 45 | } 46 | } 47 | 48 | return rebuildEvent; 49 | } 50 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import isRegExp from 'is-regex'; 2 | import isFunction from 'is-function'; 3 | import isSymbol from 'is-symbol'; 4 | import isObjectAny from 'isobject'; 5 | import { get } from 'lodash-es'; 6 | import { extractEventHiddenProperties } from './dom-event'; 7 | 8 | const isObject = isObjectAny as (val: any) => val is T; 9 | 10 | const dateFormat = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z$/; 11 | 12 | export interface Options { 13 | allowRegExp: boolean; 14 | allowSymbol: boolean; 15 | allowDate: boolean; 16 | allowUndefined: boolean; 17 | allowError: boolean; 18 | maxDepth: number; 19 | space: number | undefined; 20 | } 21 | 22 | export const isJSON = (input: string) => input.match(/^[\[\{\"\}].*[\]\}\"]$/); 23 | 24 | function convertUnconventionalData(data: unknown) { 25 | if (!isObject(data)) { 26 | return data; 27 | } 28 | 29 | let result: any = data; 30 | let wasMutated = false; 31 | 32 | // `Event` has a weird structure, for details see `extractEventHiddenProperties` doc 33 | // Plus we need to check if running in a browser to ensure `Event` exist and 34 | // is really the dom Event class. 35 | if (typeof Event !== 'undefined' && data instanceof Event) { 36 | result = extractEventHiddenProperties(result); 37 | wasMutated = true; 38 | } 39 | 40 | result = Object.keys(result).reduce((acc, key) => { 41 | try { 42 | // Try accessing a property to test if we are allowed to do so 43 | // We have a if statement, and not a optional chaining, because webpack4 doesn't support it, and react-native uses it 44 | if (result[key]) { 45 | result[key].toJSON; 46 | } 47 | 48 | acc[key] = result[key]; 49 | } catch (_err) { 50 | wasMutated = true; 51 | } 52 | return acc; 53 | }, {} as any); 54 | 55 | return wasMutated ? result : data; 56 | } 57 | 58 | export const replacer = function replacer(options: Options): any { 59 | let objects: Map; 60 | let map: Map; 61 | let stack: any[]; 62 | let keys: string[]; 63 | 64 | return function replace(this: any, key: string, value: any) { 65 | try { 66 | // very first iteration 67 | if (key === '') { 68 | keys = []; 69 | objects = new Map([[value, '[]']]); 70 | map = new Map(); 71 | stack = []; 72 | 73 | return value; 74 | } 75 | 76 | // From the JSON.stringify's doc: 77 | // "The object in which the key was found is provided as the replacer's this parameter." thus one can control the depth 78 | const origin = map.get(this) || this; 79 | while (stack.length && origin !== stack[0]) { 80 | stack.shift(); 81 | keys.pop(); 82 | } 83 | 84 | if (typeof value === 'boolean') { 85 | return value; 86 | } 87 | 88 | if (value === undefined) { 89 | if (!options.allowUndefined) { 90 | return undefined; 91 | } 92 | return '_undefined_'; 93 | } 94 | 95 | if (value === null) { 96 | return null; 97 | } 98 | 99 | if (typeof value === 'number') { 100 | if (value === Number.NEGATIVE_INFINITY) { 101 | return '_-Infinity_'; 102 | } 103 | if (value === Number.POSITIVE_INFINITY) { 104 | return '_Infinity_'; 105 | } 106 | if (Number.isNaN(value)) { 107 | return '_NaN_'; 108 | } 109 | 110 | return value; 111 | } 112 | 113 | if (typeof value === 'bigint') { 114 | return `_bigint_${value.toString()}`; 115 | } 116 | 117 | if (typeof value === 'string') { 118 | if (dateFormat.test(value)) { 119 | if (!options.allowDate) { 120 | return undefined; 121 | } 122 | return `_date_${value}`; 123 | } 124 | 125 | return value; 126 | } 127 | 128 | if (isRegExp(value)) { 129 | if (!options.allowRegExp) { 130 | return undefined; 131 | } 132 | return `_regexp_${value.flags}|${value.source}`; 133 | } 134 | 135 | if (isFunction(value)) { 136 | return undefined; 137 | } 138 | 139 | if (isSymbol(value)) { 140 | if (!options.allowSymbol) { 141 | return undefined; 142 | } 143 | 144 | const globalRegistryKey = Symbol.keyFor(value); 145 | if (globalRegistryKey !== undefined) { 146 | return `_gsymbol_${globalRegistryKey}`; 147 | } 148 | 149 | return `_symbol_${value.toString().slice(7, -1)}`; 150 | } 151 | 152 | if (stack.length >= options.maxDepth) { 153 | if (Array.isArray(value)) { 154 | return `[Array(${value.length})]`; 155 | } 156 | return '[Object]'; 157 | } 158 | 159 | if (value === this) { 160 | return `_duplicate_${JSON.stringify(keys)}`; 161 | } 162 | 163 | if (value instanceof Error && options.allowError) { 164 | return { 165 | __isConvertedError__: true, 166 | errorProperties: { 167 | // @ts-expect-error cause is not defined in the current tsconfig target(es2020) 168 | ...(value.cause ? { cause: value.cause } : {}), 169 | ...value, 170 | name: value.name, 171 | message: value.message, 172 | stack: value.stack, 173 | '_constructor-name_': value.constructor.name, 174 | }, 175 | }; 176 | } 177 | 178 | // when it's a class, convert to plain object 179 | if ( 180 | value?.constructor?.name && 181 | value.constructor.name !== 'Object' && 182 | !Array.isArray(value) 183 | ) { 184 | const found = objects.get(value); 185 | if (!found) { 186 | const plainObject = { 187 | __isClassInstance__: true, 188 | __className__: value.constructor.name, 189 | ...Object.getOwnPropertyNames(value).reduce( 190 | (acc, prop) => { 191 | try { 192 | acc[prop] = value[prop]; 193 | } catch (_err) { 194 | // Skip properties that throw on access 195 | } 196 | return acc; 197 | }, 198 | {} as Record 199 | ), 200 | }; 201 | 202 | keys.push(key); 203 | stack.unshift(plainObject); 204 | objects.set(value, JSON.stringify(keys)); 205 | 206 | if (value !== plainObject) { 207 | map.set(value, plainObject); 208 | } 209 | 210 | return plainObject; 211 | } 212 | return `_duplicate_${found}`; 213 | } 214 | 215 | const found = objects.get(value); 216 | if (!found) { 217 | const converted = Array.isArray(value) ? value : convertUnconventionalData(value); 218 | 219 | keys.push(key); 220 | stack.unshift(converted); 221 | objects.set(value, JSON.stringify(keys)); 222 | 223 | if (value !== converted) { 224 | map.set(value, converted); 225 | } 226 | 227 | return converted; 228 | } 229 | 230 | // actually, here's the only place where the keys keeping is useful 231 | return `_duplicate_${found}`; 232 | } catch (_e) { 233 | return undefined; 234 | } 235 | }; 236 | }; 237 | 238 | interface ValueContainer { 239 | '_constructor-name_'?: string; 240 | 241 | [keys: string]: any; 242 | } 243 | 244 | export const reviver = function reviver(options: Options): any { 245 | const refs: { target: string; container: { [keys: string]: any }; replacement: string }[] = []; 246 | let root: any; 247 | 248 | return function revive(this: any, key: string, value: ValueContainer | string) { 249 | // last iteration = root 250 | if (key === '') { 251 | root = value; 252 | 253 | // restore cyclic refs 254 | // biome-ignore lint/complexity/noForEach: 255 | refs.forEach(({ target, container, replacement }) => { 256 | const replacementArr = isJSON(replacement) 257 | ? JSON.parse(replacement) 258 | : replacement.split('.'); 259 | if (replacementArr.length === 0) { 260 | container[target] = root; 261 | } else { 262 | container[target] = get(root, replacementArr); 263 | } 264 | }); 265 | } 266 | 267 | if (key === '_constructor-name_') { 268 | return value; 269 | } 270 | 271 | if (isObject(value) && value.__isConvertedError__) { 272 | // reconstruct the error with its original properties 273 | const { message, ...properties } = value.errorProperties; 274 | const error = new Error(message); 275 | Object.assign(error, properties); 276 | 277 | return error; 278 | } 279 | 280 | if (typeof value === 'string' && value.startsWith('_regexp_') && options.allowRegExp) { 281 | // this split isn't working correctly 282 | const [, flags, source] = value.match(/_regexp_([^|]*)\|(.*)/) || []; 283 | return new RegExp(source, flags); 284 | } 285 | 286 | if (typeof value === 'string' && value.startsWith('_date_') && options.allowDate) { 287 | return new Date(value.replace('_date_', '')); 288 | } 289 | 290 | if (typeof value === 'string' && value.startsWith('_duplicate_')) { 291 | refs.push({ target: key, container: this, replacement: value.replace(/^_duplicate_/, '') }); 292 | return null; 293 | } 294 | 295 | if (typeof value === 'string' && value.startsWith('_symbol_') && options.allowSymbol) { 296 | return Symbol(value.replace('_symbol_', '')); 297 | } 298 | 299 | if (typeof value === 'string' && value.startsWith('_gsymbol_') && options.allowSymbol) { 300 | return Symbol.for(value.replace('_gsymbol_', '')); 301 | } 302 | 303 | if (typeof value === 'string' && value === '_-Infinity_') { 304 | return Number.NEGATIVE_INFINITY; 305 | } 306 | 307 | if (typeof value === 'string' && value === '_Infinity_') { 308 | return Number.POSITIVE_INFINITY; 309 | } 310 | 311 | if (typeof value === 'string' && value === '_NaN_') { 312 | return Number.NaN; 313 | } 314 | 315 | if (typeof value === 'string' && value.startsWith('_bigint_') && typeof BigInt === 'function') { 316 | return BigInt(value.replace('_bigint_', '')); 317 | } 318 | 319 | return value; 320 | }; 321 | }; 322 | 323 | const defaultOptions: Options = { 324 | maxDepth: 10, 325 | space: undefined, 326 | allowRegExp: true, 327 | allowDate: true, 328 | allowError: true, 329 | allowUndefined: true, 330 | allowSymbol: true, 331 | }; 332 | 333 | export const stringify = (data: unknown, options: Partial = {}) => { 334 | const mergedOptions: Options = { ...defaultOptions, ...options }; 335 | return JSON.stringify(convertUnconventionalData(data), replacer(mergedOptions), options.space); 336 | }; 337 | 338 | const mutator = () => { 339 | const mutated: Map = new Map(); 340 | 341 | return function mutateUndefined(value: any) { 342 | // JSON.parse will not output keys with value of undefined 343 | // we map over a deeply nester object, if we find any value with `_undefined_`, we mutate it to be undefined 344 | if (isObject<{ [keys: string]: any }>(value)) { 345 | // biome-ignore lint/complexity/noForEach: 346 | Object.entries(value).forEach(([k, v]) => { 347 | if (v === '_undefined_') { 348 | value[k] = undefined; 349 | } else if (!mutated.get(v)) { 350 | mutated.set(v, true); 351 | mutateUndefined(v); 352 | } 353 | }); 354 | } 355 | if (Array.isArray(value)) { 356 | value.forEach((v, index) => { 357 | if (v === '_undefined_') { 358 | mutated.set(v, true); 359 | 360 | value[index] = undefined; 361 | } else if (!mutated.get(v)) { 362 | mutated.set(v, true); 363 | mutateUndefined(v); 364 | } 365 | }); 366 | } 367 | }; 368 | }; 369 | 370 | export const parse = (data: string, options: Partial = {}) => { 371 | const mergedOptions: Options = { ...defaultOptions, ...options }; 372 | const result = JSON.parse(data, reviver(mergedOptions)); 373 | 374 | mutator()(result); 375 | 376 | return result; 377 | }; 378 | -------------------------------------------------------------------------------- /src/typings.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'is-regex'; 2 | declare module 'is-symbol'; 3 | -------------------------------------------------------------------------------- /test/browser/index.test.js: -------------------------------------------------------------------------------- 1 | import { describe, expect, test } from 'vitest'; 2 | import * as dist from '../../dist/index.js'; 3 | 4 | const tests = ({ stringify, parse }) => { 5 | test('HTML Event', () => { 6 | const event = new MouseEvent('click', { bubbles: true, composed: true, cancelable: true }); 7 | 8 | const stringified = stringify(event); 9 | 10 | const parsed = parse(stringified); 11 | 12 | expect(parsed).toMatchObject({ 13 | type: 'click', 14 | bubbles: true, 15 | composed: true, 16 | cancelable: true, 17 | timeStamp: expect.any(Number), 18 | }); 19 | }); 20 | 21 | test('HTML Custom Event', () => { 22 | const event = new CustomEvent('custom:click', { 23 | bubbles: true, 24 | composed: true, 25 | cancelable: true, 26 | detail: { aKey: 'a Value' }, 27 | }); 28 | 29 | const stringified = stringify(event); 30 | 31 | const parsed = parse(stringified); 32 | 33 | expect(parsed).toMatchObject({ 34 | type: 'custom:click', 35 | bubbles: true, 36 | composed: true, 37 | cancelable: true, 38 | timeStamp: expect.any(Number), 39 | detail: { aKey: 'a Value' }, 40 | }); 41 | }); 42 | 43 | test('Nested HTML Custom Event', () => { 44 | const event = new CustomEvent('custom:click', { 45 | bubbles: true, 46 | composed: true, 47 | cancelable: true, 48 | detail: { aKey: 'a Value' }, 49 | }); 50 | 51 | const stringified = stringify({ key: 'value', args: event }); 52 | 53 | const parsed = parse(stringified); 54 | 55 | expect(parsed).toMatchObject({ 56 | key: 'value', 57 | args: { 58 | type: 'custom:click', 59 | bubbles: true, 60 | composed: true, 61 | cancelable: true, 62 | timeStamp: expect.any(Number), 63 | detail: { aKey: 'a Value' }, 64 | }, 65 | }); 66 | }); 67 | }; 68 | 69 | describe('Dist', () => { 70 | tests(dist); 71 | }); 72 | -------------------------------------------------------------------------------- /test/common/__snapshots__/index.test.js.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`Dist > nested arrays 1`] = ` 4 | { 5 | "event": { 6 | "args": [ 7 | { 8 | "argNames": undefined, 9 | "options": { 10 | "target": "storybook-preview-iframe", 11 | }, 12 | "storyId": "addons-controls--basic", 13 | }, 14 | ], 15 | "from": "ca341e9487ddc", 16 | "type": "resetStoryArgs", 17 | }, 18 | "key": "storybook-channel", 19 | "refId": undefined, 20 | } 21 | `; 22 | 23 | exports[`Dist > parse 1`] = ` 24 | { 25 | "cyclic": [Circular], 26 | "date": 2018-01-01T00:00:00.000Z, 27 | "error": [SomeError: Custom error message], 28 | "nested": { 29 | "a": { 30 | "b": { 31 | "c": { 32 | "d": { 33 | "e": { 34 | "f": { 35 | "g": { 36 | "h": { 37 | "i": { 38 | "j": "[Object]", 39 | }, 40 | }, 41 | }, 42 | }, 43 | }, 44 | }, 45 | }, 46 | }, 47 | }, 48 | }, 49 | "regex1": /foo/, 50 | "regex2": /foo/g, 51 | "regex3": /foo/i, 52 | "undef": undefined, 53 | } 54 | `; 55 | 56 | exports[`Dist > space 1`] = ` 57 | "{ 58 | "regex1": "_regexp_|foo", 59 | "regex2": "_regexp_g|foo", 60 | "regex3": "_regexp_i|foo", 61 | "date": "_date_2018-01-01T00:00:00.000Z", 62 | "error": { 63 | "__isConvertedError__": true, 64 | "errorProperties": { 65 | "cause": { 66 | "code": "001" 67 | }, 68 | "stack": "mocked stack to avoid inconsistent snapshots", 69 | "aCustomProperty": true, 70 | "name": "SomeError", 71 | "message": "Custom error message", 72 | "_constructor-name_": "SomeError" 73 | } 74 | }, 75 | "nested": { 76 | "a": { 77 | "b": { 78 | "c": { 79 | "d": { 80 | "e": { 81 | "f": { 82 | "g": { 83 | "h": { 84 | "i": { 85 | "j": "[Object]" 86 | } 87 | } 88 | } 89 | } 90 | } 91 | } 92 | } 93 | } 94 | } 95 | }, 96 | "undef": "_undefined_", 97 | "cyclic": "_duplicate_[]" 98 | }" 99 | `; 100 | 101 | exports[`Dist > stringify > should match snapshot 1`] = `"{"regex1":"_regexp_|foo","regex2":"_regexp_g|foo","regex3":"_regexp_i|foo","date":"_date_2018-01-01T00:00:00.000Z","error":{"__isConvertedError__":true,"errorProperties":{"cause":{"code":"001"},"stack":"mocked stack to avoid inconsistent snapshots","aCustomProperty":true,"name":"SomeError","message":"Custom error message","_constructor-name_":"SomeError"}},"nested":{"a":{"b":{"c":{"d":{"e":{"f":{"g":{"h":{"i":{"j":"[Object]"}}}}}}}}}},"undef":"_undefined_","cyclic":"_duplicate_[]"}"`; 102 | -------------------------------------------------------------------------------- /test/common/index.test.js: -------------------------------------------------------------------------------- 1 | import { describe, it, expect } from 'vitest'; 2 | import * as dist from '../../dist/index.js'; 3 | 4 | const regex1 = /foo/; 5 | const regex2 = /foo/g; 6 | // biome-ignore lint/complexity/useRegexLiterals: 7 | const regex3 = new RegExp('foo', 'i'); 8 | 9 | const fn1 = (x) => x + x; 10 | // biome-ignore lint/suspicious/noRedeclare: 11 | const fn2 = function x(x) { 12 | return x - x; 13 | }; 14 | function fn3() { 15 | return x / x; 16 | } 17 | 18 | class SomeError extends Error { 19 | aCustomProperty = true; 20 | stack = 'mocked stack to avoid inconsistent snapshots'; 21 | 22 | constructor() { 23 | super('Custom error message', { cause: { code: '001' } }); 24 | } 25 | 26 | get name() { 27 | return 'SomeError'; 28 | } 29 | 30 | fn4(x) { 31 | return x * x; 32 | } 33 | } 34 | 35 | const date = new Date('2018'); 36 | 37 | const nested = { 38 | a: { 39 | b: { 40 | c: { 41 | d: { 42 | e: { 43 | f: { 44 | g: { 45 | h: { 46 | i: { 47 | j: { 48 | k: { 49 | l: 'l', 50 | }, 51 | }, 52 | }, 53 | }, 54 | }, 55 | }, 56 | }, 57 | }, 58 | }, 59 | }, 60 | }, 61 | }; 62 | 63 | const undef = undefined; 64 | 65 | const data = { 66 | regex1, 67 | regex2, 68 | regex3, 69 | fn1, 70 | fn2, 71 | fn3, 72 | fn4(x) { 73 | return x * x; 74 | }, 75 | date, 76 | error: new SomeError(), 77 | nested, 78 | undef, 79 | }; 80 | 81 | data.cyclic = data; 82 | 83 | const tests = ({ stringify, parse }) => { 84 | it('sanity', () => { 85 | expect(true).toBe(true); 86 | }); 87 | 88 | describe('stringify', () => { 89 | let stringified; 90 | 91 | it('should not throw', () => { 92 | expect(() => { 93 | stringified = stringify(data); 94 | }).not.toThrow(); 95 | }); 96 | 97 | it('should match snapshot', () => { 98 | expect(stringified).toMatchSnapshot(); 99 | }); 100 | }); 101 | 102 | it('parse', () => { 103 | const stringified = stringify(data); 104 | let parsed; 105 | expect(() => { 106 | parsed = parse(stringified); 107 | }).not.toThrow(); 108 | expect(parsed).toMatchSnapshot(); 109 | 110 | // test the regex 111 | expect(parsed.regex1.exec).toBeDefined(); 112 | expect('aaa-foo-foo-bbb'.replace(parsed.regex1, 'BAR')).toBe('aaa-BAR-foo-bbb'); 113 | expect('aaa-foo-foo-bbb'.replace(parsed.regex2, 'BAR')).toBe('aaa-BAR-BAR-bbb'); 114 | expect('aaa-Foo-foo-bbb'.replace(parsed.regex3, 'BAR')).toBe('aaa-BAR-foo-bbb'); 115 | 116 | // test the date 117 | expect(parsed.date).toBeInstanceOf(Date); 118 | expect(parsed.date.getFullYear()).toBe(2018); 119 | 120 | // test cyclic 121 | expect(parsed.cyclic.cyclic.cyclic.cyclic).toBeDefined(); 122 | expect(parsed.cyclic.cyclic.cyclic.cyclic).toBe(parsed); 123 | 124 | // test Error instance 125 | expect(parsed.error).toBeDefined(); 126 | expect(parsed.error.message).toEqual('Custom error message'); 127 | expect(parsed.error.name).toEqual('SomeError'); 128 | expect(parsed.error.stack).toEqual(data.error.stack); 129 | expect(parsed.error.cause).toEqual(data.error.cause); 130 | expect(parsed.error.aCustomProperty).toEqual(data.error.aCustomProperty); 131 | expect(parsed.error instanceof Error).toBe(true); 132 | 133 | expect(parsed.undef).toBeUndefined(); 134 | }); 135 | 136 | it('maxDepth', () => { 137 | const stringifiedDefault = stringify(data); 138 | const stringifiedMax5 = stringify(data, { maxDepth: 5 }); 139 | const parsedDefault = parse(stringifiedDefault); 140 | const parsedMax5 = parse(stringifiedMax5); 141 | 142 | expect(parsedDefault.nested.a.b.c.d.e.f.g.h.i).toBeDefined(); 143 | expect(parsedDefault.nested.a.b.c.d.e.f.g.h.i.j).toBeDefined(); 144 | expect(parsedDefault.nested.a.b.c.d.e.f.g.h.i.j.k).not.toBeDefined(); 145 | 146 | expect(parsedMax5.nested.a.b.c.d).toBeDefined(); 147 | expect(parsedMax5.nested.a.b.c.d.e).toBeDefined(); 148 | expect(parsedMax5.nested.a.b.c.d.e.f).not.toBeDefined(); 149 | }); 150 | 151 | it('space', () => { 152 | const stringifiedSpaced = stringify(data, { space: 2 }); 153 | 154 | expect(stringifiedSpaced).toMatchSnapshot(); 155 | }); 156 | 157 | it('check duplicate value', () => { 158 | const Fruit = { 159 | apple: true, 160 | parent: {}, 161 | }; 162 | Fruit.cyclic = Fruit; 163 | const stringified = stringify(Fruit); 164 | const parsed = parse(stringified); 165 | 166 | expect(stringified).toEqual('{"apple":true,"parent":{},"cyclic":"_duplicate_[]"}'); 167 | expect(parsed.cyclic.cyclic.cyclic.cyclic).toBeDefined(); 168 | expect(parsed.cyclic).toBe(parsed); 169 | expect(parsed.cyclic.cyclic.cyclic.cyclic).toBe(parsed); 170 | }); 171 | 172 | it('check regExp value', () => { 173 | const data = { RegExpFruit: /test/g }; 174 | 175 | const stringified = stringify(data); 176 | const parsed = parse(stringified); 177 | 178 | expect(stringified).toEqual('{"RegExpFruit":"_regexp_g|test"}'); 179 | expect(parsed).toMatchObject(data); 180 | }); 181 | 182 | it('check date value', () => { 183 | const data = { DateFruit: new Date('01.01.2019') }; 184 | 185 | const stringified = stringify(data); 186 | const parsed = parse(stringified); 187 | 188 | expect(stringified).toEqual('{"DateFruit":"_date_2019-01-01T00:00:00.000Z"}'); 189 | expect(parsed).toMatchObject(data); 190 | expect(parsed.DateFruit.getFullYear()).toBe(2019); 191 | }); 192 | 193 | it('check symbol value', () => { 194 | const data = { SymbleFruit: Symbol('apple') }; 195 | 196 | const stringified = stringify(data); 197 | const parsed = parse(stringified); 198 | 199 | expect(stringified).toEqual('{"SymbleFruit":"_symbol_apple"}'); 200 | expect(parsed.SymbleFruit.toString()).toEqual('Symbol(apple)'); 201 | }); 202 | 203 | it('check global symbol value', () => { 204 | const data = { GlobalSymbolFruit: Symbol.for('grapes') }; 205 | 206 | const stringified = stringify(data); 207 | const parsed = parse(stringified); 208 | 209 | expect(stringified).toEqual('{"GlobalSymbolFruit":"_gsymbol_grapes"}'); 210 | expect(parsed.GlobalSymbolFruit.toString()).toEqual('Symbol(grapes)'); 211 | expect(parsed.GlobalSymbolFruit).toEqual(Symbol.for('grapes')); 212 | }); 213 | 214 | it('check minus Infinity value', () => { 215 | const data = { InfinityFruit: Number.NEGATIVE_INFINITY }; 216 | 217 | const stringified = stringify(data); 218 | const parsed = parse(stringified); 219 | 220 | expect(stringified).toEqual('{"InfinityFruit":"_-Infinity_"}'); 221 | expect(parsed).toMatchObject(data); 222 | }); 223 | 224 | it('check Infinity value', () => { 225 | const data = { InfinityFruit: Number.POSITIVE_INFINITY }; 226 | 227 | const stringified = stringify(data); 228 | const parsed = parse(stringified); 229 | 230 | expect(stringified).toEqual('{"InfinityFruit":"_Infinity_"}'); 231 | expect(parsed).toMatchObject(data); 232 | }); 233 | 234 | it('check NaN value', () => { 235 | const data = { NaNFruit: Number.NaN }; 236 | 237 | const stringified = stringify(data); 238 | const parsed = parse(stringified); 239 | 240 | expect(stringified).toEqual('{"NaNFruit":"_NaN_"}'); 241 | expect(parsed).toMatchObject(data); 242 | }); 243 | 244 | it('check BigInt value', () => { 245 | const data = { LotOfFruits: BigInt('123456789123456789123456789123456789') }; 246 | 247 | const stringified = stringify(data); 248 | const parsed = parse(stringified); 249 | 250 | expect(stringified).toEqual('{"LotOfFruits":"_bigint_123456789123456789123456789123456789"}'); 251 | expect(parsed).toMatchObject(data); 252 | }); 253 | 254 | it('check undefined value', () => { 255 | const data = { undefinedFruit: undefined }; 256 | 257 | const stringified = stringify(data); 258 | const parsed = parse(stringified); 259 | 260 | expect(stringified).toEqual('{"undefinedFruit":"_undefined_"}'); 261 | expect(parsed.undefinedFruit).toEqual(undefined); 262 | expect(Object.keys(parsed)).toEqual(['undefinedFruit']); 263 | }); 264 | 265 | it('primitives should not be deduplicated', () => { 266 | const data = { 267 | bool: true, 268 | a: 1, 269 | b: '1', 270 | c: { 271 | bool: true, 272 | c: 1, 273 | d: 3, 274 | e: '3', 275 | f: { 276 | bool: true, 277 | c: '1', 278 | d: 3, 279 | e: '3', 280 | }, 281 | }, 282 | }; 283 | 284 | const stringified = stringify(data); 285 | const parsed = parse(stringified); 286 | 287 | expect(stringified).toEqual( 288 | '{"bool":true,"a":1,"b":"1","c":{"bool":true,"c":1,"d":3,"e":"3","f":{"bool":true,"c":"1","d":3,"e":"3"}}}' 289 | ); 290 | expect(parsed).toMatchObject(data); 291 | }); 292 | 293 | it('bug', () => { 294 | const data = { 295 | a: 1, 296 | b: '2', 297 | c: Number.NaN, 298 | d: true, 299 | f: [1, 2, 3, 4, 5], 300 | g: undefined, 301 | h: null, 302 | }; 303 | 304 | data.e = { 305 | 1: data, 306 | }; 307 | 308 | const stringified = stringify(data); 309 | expect(stringified).toMatchInlineSnapshot( 310 | `"{"a":1,"b":"2","c":"_NaN_","d":true,"f":[1,2,3,4,5],"g":"_undefined_","h":null,"e":{"1":"_duplicate_[]"}}"` 311 | ); 312 | 313 | const parsed = parse(stringified); 314 | 315 | // biome-ignore lint/complexity/noForEach: 316 | Object.entries(parsed).forEach((k) => { 317 | expect(data[k]).toEqual(parsed[k]); 318 | }); 319 | }); 320 | 321 | it('nested arrays', () => { 322 | const stringified = stringify({ 323 | key: 'storybook-channel', 324 | event: { 325 | type: 'resetStoryArgs', 326 | args: [ 327 | { 328 | storyId: 'addons-controls--basic', 329 | argNames: undefined, 330 | options: { target: 'storybook-preview-iframe' }, 331 | }, 332 | ], 333 | from: 'ca341e9487ddc', 334 | }, 335 | refId: undefined, 336 | }); 337 | expect(parse(stringified)).toMatchSnapshot(); 338 | }); 339 | 340 | it('dots in keys', () => { 341 | const data = { 'foo.a': 'bar', foo: { a: 'foo' }, 'foo.b': 'foo' }; 342 | 343 | const stringified = stringify(data); 344 | 345 | const parsed = parse(stringified); 346 | 347 | expect(parsed['foo.b']).toEqual('foo'); 348 | }); 349 | 350 | it('filter out properties that throw on access', () => { 351 | const thrower = { 352 | a: 'foo', 353 | get b() { 354 | throw new Error('b is not allowed!'); 355 | }, 356 | }; 357 | const stringified = stringify(thrower); 358 | const parsed = parse(stringified); 359 | 360 | expect(parsed).toEqual({ a: 'foo' }); 361 | }); 362 | 363 | it('filter out properties that throw on stringification', () => { 364 | const thrower = { 365 | a: 'foo', 366 | b: { 367 | get toJSON() { 368 | throw new Error('b.toJSON is not allowed!'); 369 | }, 370 | }, 371 | }; 372 | const stringified = stringify(thrower); 373 | const parsed = parse(stringified); 374 | 375 | expect(parsed).toEqual({ a: 'foo' }); 376 | }); 377 | 378 | it('filter for forbidden objects', () => { 379 | const thrower = { 380 | a: 'foo', 381 | b: new Proxy( 382 | {}, 383 | { 384 | get() { 385 | throw new Error('properties on b are not allowed!'); 386 | }, 387 | } 388 | ), 389 | }; 390 | const stringified = stringify(thrower); 391 | const parsed = parse(stringified); 392 | 393 | expect(parsed).toEqual({ a: 'foo' }); 394 | }); 395 | 396 | it('should handle class instances', () => { 397 | class TestClass { 398 | constructor() { 399 | this.prop1 = 'value1'; 400 | this.prop2 = 42; 401 | } 402 | method() { 403 | return 'test'; 404 | } 405 | } 406 | 407 | const instance = new TestClass(); 408 | const stringified = stringify(instance); 409 | const parsed = parse(stringified); 410 | 411 | expect(parsed).toMatchObject({ 412 | prop1: 'value1', 413 | prop2: 42, 414 | }); 415 | }); 416 | 417 | it('should handle class instances with circular references', () => { 418 | class Thing { 419 | constructor() { 420 | this.token = this; 421 | } 422 | } 423 | 424 | const instance = new Thing(); 425 | const stringified = stringify({ instance }); 426 | const parsed = parse(stringified); 427 | 428 | expect(parsed).toMatchObject(parsed); 429 | 430 | expect(stringified).toMatchInlineSnapshot(`"{"instance":{"__isClassInstance__":true,"__className__":"Thing","token":"_duplicate_[\\"instance\\"]"}}"`); 431 | }); 432 | }; 433 | 434 | describe('Dist', () => { 435 | tests(dist); 436 | }); 437 | -------------------------------------------------------------------------------- /test/node/index.test.js: -------------------------------------------------------------------------------- 1 | import { describe, expect, test } from 'vitest'; 2 | 3 | import * as dist from '../../dist/index'; 4 | 5 | const tests = ({ stringify }) => { 6 | test('stringify the global object', () => { 7 | expect(() => stringify(global, { maxDepth: 10000 })).not.toThrow(); 8 | }); 9 | }; 10 | 11 | describe('Dist', () => { 12 | tests(dist); 13 | }); 14 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2020", 4 | "lib": ["dom", "es2020"], 5 | "module": "commonjs", 6 | "declaration": true, 7 | "removeComments": true, 8 | "strict": true, 9 | "noImplicitAny": true, 10 | "esModuleInterop": true, 11 | "outDir": "dist" 12 | }, 13 | "include": ["src", "vitest.config.ts", "test/**/*"], 14 | "exclude": ["dist"] 15 | } 16 | -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'tsup'; 2 | 3 | const entry = ['./src/index.ts', './src/dom-event.ts']; 4 | 5 | export default defineConfig([ 6 | { 7 | entry, 8 | format: 'cjs', 9 | 10 | esbuildOptions(options) { 11 | options.platform = 'node'; 12 | options.logLevel = 'silent'; 13 | }, 14 | }, 15 | { 16 | entry, 17 | format: 'esm', 18 | dts: { 19 | entry, 20 | }, 21 | esbuildOptions(options) { 22 | options.platform = 'browser'; 23 | options.logLevel = 'silent'; 24 | }, 25 | }, 26 | ]); 27 | -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config'; 2 | 3 | process.env.TZ = 'UTC'; 4 | 5 | export default defineConfig({ 6 | test: { 7 | environment: 'node', 8 | globals: false, 9 | include: ['test/**/*.test.ts', 'test/**/*.test.js'], 10 | coverage: { 11 | provider: 'v8', 12 | reporter: ['text', 'json', 'html'], 13 | exclude: ['node_modules/**', 'dist/**', '**/*.d.ts', '**/*.test.ts', '**/*.config.ts'], 14 | }, 15 | environmentMatchGlobs: [ 16 | ['test/browser/**/*.test.js', 'happy-dom'], 17 | ['test/node/**/*.test.js', 'node'], 18 | ], 19 | }, 20 | }); 21 | --------------------------------------------------------------------------------