├── .editorconfig ├── .gitattributes ├── .github ├── FUNDING.yml ├── renovate.json5 └── workflows │ ├── release.yml │ └── unit-test.yml ├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── eslint.config.js ├── example.ts ├── package.json ├── pnpm-lock.yaml ├── src ├── index.ts ├── types.ts └── utils │ └── babel.ts ├── tests ├── __snapshots__ │ └── analyze.test.ts.snap ├── analyze.test.ts ├── fixtures │ ├── arrow-fn.ts │ ├── basic.ts │ ├── catch-params.ts │ ├── destructuring-var.ts │ ├── fn-params.ts │ ├── loop.js │ └── var-hoist.ts └── utils.ts ├── tsconfig.json └── tsdown.config.ts /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_size = 2 5 | end_of_line = lf 6 | insert_final_newline = true 7 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | * text=auto eol=lf 2 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: sxzz 2 | -------------------------------------------------------------------------------- /.github/renovate.json5: -------------------------------------------------------------------------------- 1 | { 2 | extends: ['github>sxzz/renovate-config'], 3 | } 4 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' 7 | 8 | jobs: 9 | release: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v4 13 | with: 14 | fetch-depth: 0 15 | 16 | - name: Set node 17 | uses: actions/setup-node@v4 18 | with: 19 | node-version: lts/* 20 | 21 | - run: npx changelogithub 22 | env: 23 | GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} 24 | -------------------------------------------------------------------------------- /.github/workflows/unit-test.yml: -------------------------------------------------------------------------------- 1 | name: Unit Test 2 | 3 | on: 4 | push: 5 | branches: [main] 6 | pull_request: 7 | branches: [main] 8 | 9 | jobs: 10 | lint: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Checkout 14 | uses: actions/checkout@v4 15 | 16 | - name: Install pnpm 17 | uses: pnpm/action-setup@v4.1.0 18 | 19 | - name: Set node LTS 20 | uses: actions/setup-node@v4 21 | with: 22 | node-version: lts/* 23 | cache: pnpm 24 | 25 | - name: Install 26 | run: pnpm install 27 | 28 | - name: Lint 29 | run: pnpm run lint 30 | 31 | - name: Typecheck 32 | run: pnpm run typecheck 33 | 34 | test: 35 | runs-on: ${{ matrix.os }} 36 | 37 | strategy: 38 | matrix: 39 | os: [ubuntu-latest, windows-latest] 40 | node: [20, 22, 24] 41 | fail-fast: false 42 | 43 | steps: 44 | - name: Checkout 45 | uses: actions/checkout@v4 46 | 47 | - name: Install pnpm 48 | uses: pnpm/action-setup@v4.1.0 49 | 50 | - name: Set node ${{ matrix.node }} 51 | uses: actions/setup-node@v4 52 | with: 53 | node-version: ${{ matrix.node }} 54 | cache: pnpm 55 | 56 | - name: Install 57 | run: pnpm install 58 | 59 | - name: Build 60 | run: pnpm run build 61 | 62 | - name: Test 63 | run: pnpm run test 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | dist 4 | *.log 5 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright © 2022-PRESENT 三咲智子 (https://github.com/sxzz) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ast-walker-scope [![npm](https://img.shields.io/npm/v/ast-walker-scope.svg)](https://npmjs.com/package/ast-walker-scope) 2 | 3 | [![Unit Test](https://github.com/sxzz/ast-walker-scope/actions/workflows/unit-test.yml/badge.svg)](https://github.com/sxzz/ast-walker-scope/actions/workflows/unit-test.yml) 4 | 5 | Traverse Babel AST with scope information. 6 | 7 | Inherited from [estree-walker](https://github.com/Rich-Harris/estree-walker). 8 | 9 | ## Install 10 | 11 | ```bash 12 | npm i ast-walker-scope 13 | ``` 14 | 15 | ## Usage 16 | 17 | ### Basic Example 18 | 19 | For a real example, you can refer to [example.ts](./example.ts) 20 | 21 | ```ts 22 | import { walk } from 'ast-walker-scope' 23 | 24 | const code = ` 25 | const a = 'root level' 26 | 27 | { 28 | const a = 'second level' 29 | let secondLevel = true 30 | console.log(a, secondLevel) 31 | } 32 | 33 | var err = undefined 34 | try { 35 | } catch (err) { 36 | console.log(err) 37 | } 38 | 39 | console.log(a) 40 | `.trim() 41 | 42 | walk(code, { 43 | leave(this, node) { 44 | if (node.type === 'CallExpression') { 45 | console.log(`\nLevel: ${this.level}`) 46 | for (const [name, node] of Object.entries(this.scope)) { 47 | console.log( 48 | `variable ${name} is located at line ${node.loc?.start.line}, column ${node.loc?.start.column}`, 49 | ) 50 | } 51 | } 52 | }, 53 | }) 54 | ``` 55 | 56 | Output: 57 | 58 | ``` 59 | Level: 2 60 | variable a is located at line 4, column 8 61 | variable secondLevel is located at line 5, column 6 62 | 63 | Level: 2 64 | variable a is located at line 1, column 6 65 | variable err is located at line 12, column 9 66 | 67 | Level: 1 68 | variable a is located at line 1, column 6 69 | variable err is located at line 9, column 4 70 | ``` 71 | 72 | ## Typings 73 | 74 | ```ts 75 | export type Scope = Record 76 | export interface HookContext extends WalkerContext { 77 | // inherited from estree-walker 78 | skip: () => void 79 | remove: () => void 80 | replace: (node: Node) => void 81 | 82 | // arguments of estree-walker hook 83 | parent: Node 84 | key: string 85 | index: number 86 | 87 | // scope info 88 | scope: Scope 89 | scopes: Scope[] 90 | level: number 91 | } 92 | ``` 93 | 94 | ## Sponsors 95 | 96 |

97 | 98 | 99 | 100 |

101 | 102 | ## Credits 103 | 104 | - [@vue/reactivity-transform](https://github.com/vuejs/core/blob/v3.2.37/packages/reactivity-transform/src/reactivityTransform.ts) - almost copy-like referenced 105 | 106 | ## License 107 | 108 | [MIT](./LICENSE) License © 2022-PRESENT [三咲智子](https://github.com/sxzz) 109 | -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- 1 | import { sxzz } from '@sxzz/eslint-config' 2 | export default sxzz() 3 | -------------------------------------------------------------------------------- /example.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | import { walk } from './dist' 3 | 4 | const code = ` 5 | const a = 'root level' 6 | 7 | { 8 | const a = 'second level' 9 | let secondLevel = true 10 | console.log(a, secondLevel) 11 | } 12 | 13 | var err = undefined 14 | try { 15 | } catch (err) { 16 | console.log(err) 17 | } 18 | 19 | console.log(a) 20 | `.trim() 21 | 22 | walk(code, { 23 | leave(this, node) { 24 | if (node.type === 'CallExpression') { 25 | console.log(`\nLevel: ${this.level}`) 26 | for (const [name, node] of Object.entries(this.scope)) { 27 | console.log( 28 | `variable ${name} is located at line ${node.loc?.start.line}, column ${node.loc?.start.column}`, 29 | ) 30 | } 31 | } 32 | }, 33 | }) 34 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ast-walker-scope", 3 | "version": "0.8.1", 4 | "packageManager": "pnpm@10.10.0", 5 | "description": "Traverse Babel AST with scope information.", 6 | "type": "module", 7 | "license": "MIT", 8 | "homepage": "https://github.com/sxzz/ast-walker-scope#readme", 9 | "bugs": { 10 | "url": "https://github.com/sxzz/ast-walker-scope/issues" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "git+https://github.com/sxzz/ast-walker-scope.git" 15 | }, 16 | "author": "三咲智子 Kevin Deng ", 17 | "funding": "https://github.com/sponsors/sxzz", 18 | "files": [ 19 | "dist" 20 | ], 21 | "main": "./dist/index.js", 22 | "module": "./dist/index.js", 23 | "types": "./dist/index.d.ts", 24 | "exports": { 25 | ".": "./dist/index.js", 26 | "./*": "./*" 27 | }, 28 | "publishConfig": { 29 | "access": "public" 30 | }, 31 | "scripts": { 32 | "lint": "eslint .", 33 | "lint:fix": "pnpm run lint --fix", 34 | "build": "tsdown", 35 | "test": "vitest", 36 | "typecheck": "tsc --noEmit", 37 | "release": "bumpp && pnpm publish", 38 | "prepublishOnly": "pnpm run build" 39 | }, 40 | "dependencies": { 41 | "@babel/parser": "^7.27.2", 42 | "ast-kit": "^2.0.0" 43 | }, 44 | "devDependencies": { 45 | "@babel/types": "^7.27.1", 46 | "@sxzz/eslint-config": "^7.0.0", 47 | "@sxzz/prettier-config": "^2.2.1", 48 | "@types/node": "^22.15.17", 49 | "bumpp": "^10.1.0", 50 | "eslint": "^9.26.0", 51 | "magic-string": "^0.30.17", 52 | "prettier": "^3.5.3", 53 | "tsdown": "^0.11.1", 54 | "tsx": "^4.19.4", 55 | "typescript": "^5.8.3", 56 | "vite": "^6.3.5", 57 | "vitest": "^3.1.3" 58 | }, 59 | "engines": { 60 | "node": ">=20.18.0" 61 | }, 62 | "prettier": "@sxzz/prettier-config" 63 | } 64 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@babel/parser': 12 | specifier: ^7.27.2 13 | version: 7.27.2 14 | ast-kit: 15 | specifier: ^2.0.0 16 | version: 2.0.0 17 | devDependencies: 18 | '@babel/types': 19 | specifier: ^7.27.1 20 | version: 7.27.1 21 | '@sxzz/eslint-config': 22 | specifier: ^7.0.0 23 | version: 7.0.0(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 24 | '@sxzz/prettier-config': 25 | specifier: ^2.2.1 26 | version: 2.2.1 27 | '@types/node': 28 | specifier: ^22.15.17 29 | version: 22.15.17 30 | bumpp: 31 | specifier: ^10.1.0 32 | version: 10.1.0 33 | eslint: 34 | specifier: ^9.26.0 35 | version: 9.26.0(jiti@2.4.2) 36 | magic-string: 37 | specifier: ^0.30.17 38 | version: 0.30.17 39 | prettier: 40 | specifier: ^3.5.3 41 | version: 3.5.3 42 | tsdown: 43 | specifier: ^0.11.1 44 | version: 0.11.1(publint@0.3.5)(typescript@5.8.3)(unplugin-unused@0.4.1) 45 | tsx: 46 | specifier: ^4.19.4 47 | version: 4.19.4 48 | typescript: 49 | specifier: ^5.8.3 50 | version: 5.8.3 51 | vite: 52 | specifier: ^6.3.5 53 | version: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1) 54 | vitest: 55 | specifier: ^3.1.3 56 | version: 3.1.3(@types/debug@4.1.12)(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1) 57 | 58 | packages: 59 | 60 | '@babel/generator@7.27.1': 61 | resolution: {integrity: sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==} 62 | engines: {node: '>=6.9.0'} 63 | 64 | '@babel/helper-string-parser@7.27.1': 65 | resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} 66 | engines: {node: '>=6.9.0'} 67 | 68 | '@babel/helper-validator-identifier@7.27.1': 69 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 70 | engines: {node: '>=6.9.0'} 71 | 72 | '@babel/parser@7.27.2': 73 | resolution: {integrity: sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==} 74 | engines: {node: '>=6.0.0'} 75 | hasBin: true 76 | 77 | '@babel/types@7.27.1': 78 | resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==} 79 | engines: {node: '>=6.9.0'} 80 | 81 | '@emnapi/core@1.4.3': 82 | resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} 83 | 84 | '@emnapi/runtime@1.4.3': 85 | resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} 86 | 87 | '@emnapi/wasi-threads@1.0.2': 88 | resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} 89 | 90 | '@es-joy/jsdoccomment@0.49.0': 91 | resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} 92 | engines: {node: '>=16'} 93 | 94 | '@es-joy/jsdoccomment@0.50.0': 95 | resolution: {integrity: sha512-+zZymuVLH6zVwXPtCAtC+bDymxmEwEqDftdAK+f407IF1bnX49anIxvBhCA1AqUIfD6egj1jM1vUnSuijjNyYg==} 96 | engines: {node: '>=18'} 97 | 98 | '@esbuild/aix-ppc64@0.25.4': 99 | resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} 100 | engines: {node: '>=18'} 101 | cpu: [ppc64] 102 | os: [aix] 103 | 104 | '@esbuild/android-arm64@0.25.4': 105 | resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} 106 | engines: {node: '>=18'} 107 | cpu: [arm64] 108 | os: [android] 109 | 110 | '@esbuild/android-arm@0.25.4': 111 | resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} 112 | engines: {node: '>=18'} 113 | cpu: [arm] 114 | os: [android] 115 | 116 | '@esbuild/android-x64@0.25.4': 117 | resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} 118 | engines: {node: '>=18'} 119 | cpu: [x64] 120 | os: [android] 121 | 122 | '@esbuild/darwin-arm64@0.25.4': 123 | resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} 124 | engines: {node: '>=18'} 125 | cpu: [arm64] 126 | os: [darwin] 127 | 128 | '@esbuild/darwin-x64@0.25.4': 129 | resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} 130 | engines: {node: '>=18'} 131 | cpu: [x64] 132 | os: [darwin] 133 | 134 | '@esbuild/freebsd-arm64@0.25.4': 135 | resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} 136 | engines: {node: '>=18'} 137 | cpu: [arm64] 138 | os: [freebsd] 139 | 140 | '@esbuild/freebsd-x64@0.25.4': 141 | resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} 142 | engines: {node: '>=18'} 143 | cpu: [x64] 144 | os: [freebsd] 145 | 146 | '@esbuild/linux-arm64@0.25.4': 147 | resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} 148 | engines: {node: '>=18'} 149 | cpu: [arm64] 150 | os: [linux] 151 | 152 | '@esbuild/linux-arm@0.25.4': 153 | resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} 154 | engines: {node: '>=18'} 155 | cpu: [arm] 156 | os: [linux] 157 | 158 | '@esbuild/linux-ia32@0.25.4': 159 | resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} 160 | engines: {node: '>=18'} 161 | cpu: [ia32] 162 | os: [linux] 163 | 164 | '@esbuild/linux-loong64@0.25.4': 165 | resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} 166 | engines: {node: '>=18'} 167 | cpu: [loong64] 168 | os: [linux] 169 | 170 | '@esbuild/linux-mips64el@0.25.4': 171 | resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} 172 | engines: {node: '>=18'} 173 | cpu: [mips64el] 174 | os: [linux] 175 | 176 | '@esbuild/linux-ppc64@0.25.4': 177 | resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} 178 | engines: {node: '>=18'} 179 | cpu: [ppc64] 180 | os: [linux] 181 | 182 | '@esbuild/linux-riscv64@0.25.4': 183 | resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} 184 | engines: {node: '>=18'} 185 | cpu: [riscv64] 186 | os: [linux] 187 | 188 | '@esbuild/linux-s390x@0.25.4': 189 | resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} 190 | engines: {node: '>=18'} 191 | cpu: [s390x] 192 | os: [linux] 193 | 194 | '@esbuild/linux-x64@0.25.4': 195 | resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} 196 | engines: {node: '>=18'} 197 | cpu: [x64] 198 | os: [linux] 199 | 200 | '@esbuild/netbsd-arm64@0.25.4': 201 | resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} 202 | engines: {node: '>=18'} 203 | cpu: [arm64] 204 | os: [netbsd] 205 | 206 | '@esbuild/netbsd-x64@0.25.4': 207 | resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} 208 | engines: {node: '>=18'} 209 | cpu: [x64] 210 | os: [netbsd] 211 | 212 | '@esbuild/openbsd-arm64@0.25.4': 213 | resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} 214 | engines: {node: '>=18'} 215 | cpu: [arm64] 216 | os: [openbsd] 217 | 218 | '@esbuild/openbsd-x64@0.25.4': 219 | resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} 220 | engines: {node: '>=18'} 221 | cpu: [x64] 222 | os: [openbsd] 223 | 224 | '@esbuild/sunos-x64@0.25.4': 225 | resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} 226 | engines: {node: '>=18'} 227 | cpu: [x64] 228 | os: [sunos] 229 | 230 | '@esbuild/win32-arm64@0.25.4': 231 | resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} 232 | engines: {node: '>=18'} 233 | cpu: [arm64] 234 | os: [win32] 235 | 236 | '@esbuild/win32-ia32@0.25.4': 237 | resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} 238 | engines: {node: '>=18'} 239 | cpu: [ia32] 240 | os: [win32] 241 | 242 | '@esbuild/win32-x64@0.25.4': 243 | resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} 244 | engines: {node: '>=18'} 245 | cpu: [x64] 246 | os: [win32] 247 | 248 | '@eslint-community/eslint-plugin-eslint-comments@4.5.0': 249 | resolution: {integrity: sha512-MAhuTKlr4y/CE3WYX26raZjy+I/kS2PLKSzvfmDCGrBLTFHOYwqROZdr4XwPgXwX3K9rjzMr4pSmUWGnzsUyMg==} 250 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 251 | peerDependencies: 252 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 253 | 254 | '@eslint-community/eslint-utils@4.7.0': 255 | resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} 256 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 257 | peerDependencies: 258 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 259 | 260 | '@eslint-community/regexpp@4.12.1': 261 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 262 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 263 | 264 | '@eslint/compat@1.2.9': 265 | resolution: {integrity: sha512-gCdSY54n7k+driCadyMNv8JSPzYLeDVM/ikZRtvtROBpRdFSkS8W9A82MqsaY7lZuwL0wiapgD0NT1xT0hyJsA==} 266 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 267 | peerDependencies: 268 | eslint: ^9.10.0 269 | peerDependenciesMeta: 270 | eslint: 271 | optional: true 272 | 273 | '@eslint/config-array@0.20.0': 274 | resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} 275 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 276 | 277 | '@eslint/config-helpers@0.2.2': 278 | resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} 279 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 280 | 281 | '@eslint/core@0.10.0': 282 | resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==} 283 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 284 | 285 | '@eslint/core@0.13.0': 286 | resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} 287 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 288 | 289 | '@eslint/eslintrc@3.3.1': 290 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 291 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 292 | 293 | '@eslint/js@9.26.0': 294 | resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} 295 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 296 | 297 | '@eslint/markdown@6.4.0': 298 | resolution: {integrity: sha512-J07rR8uBSNFJ9iliNINrchilpkmCihPmTVotpThUeKEn5G8aBBZnkjNBy/zovhJA5LBk1vWU9UDlhqKSc/dViQ==} 299 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 300 | 301 | '@eslint/object-schema@2.1.6': 302 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 303 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 304 | 305 | '@eslint/plugin-kit@0.2.8': 306 | resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} 307 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 308 | 309 | '@humanfs/core@0.19.1': 310 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 311 | engines: {node: '>=18.18.0'} 312 | 313 | '@humanfs/node@0.16.6': 314 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 315 | engines: {node: '>=18.18.0'} 316 | 317 | '@humanwhocodes/module-importer@1.0.1': 318 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 319 | engines: {node: '>=12.22'} 320 | 321 | '@humanwhocodes/retry@0.3.1': 322 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 323 | engines: {node: '>=18.18'} 324 | 325 | '@humanwhocodes/retry@0.4.3': 326 | resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 327 | engines: {node: '>=18.18'} 328 | 329 | '@jridgewell/gen-mapping@0.3.8': 330 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 331 | engines: {node: '>=6.0.0'} 332 | 333 | '@jridgewell/resolve-uri@3.1.2': 334 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 335 | engines: {node: '>=6.0.0'} 336 | 337 | '@jridgewell/set-array@1.2.1': 338 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 339 | engines: {node: '>=6.0.0'} 340 | 341 | '@jridgewell/sourcemap-codec@1.5.0': 342 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 343 | 344 | '@jridgewell/trace-mapping@0.3.25': 345 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 346 | 347 | '@modelcontextprotocol/sdk@1.11.1': 348 | resolution: {integrity: sha512-9LfmxKTb1v+vUS1/emSk1f5ePmTLkb9Le9AxOB5T0XM59EUumwcS45z05h7aiZx3GI0Bl7mjb3FMEglYj+acuQ==} 349 | engines: {node: '>=18'} 350 | 351 | '@napi-rs/wasm-runtime@0.2.9': 352 | resolution: {integrity: sha512-OKRBiajrrxB9ATokgEQoG87Z25c67pCpYcCwmXYX8PBftC9pBfN18gnm/fh1wurSLEKIAt+QRFLFCQISrb66Jg==} 353 | 354 | '@nodelib/fs.scandir@2.1.5': 355 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 356 | engines: {node: '>= 8'} 357 | 358 | '@nodelib/fs.stat@2.0.5': 359 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 360 | engines: {node: '>= 8'} 361 | 362 | '@nodelib/fs.walk@1.2.8': 363 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 364 | engines: {node: '>= 8'} 365 | 366 | '@oxc-project/types@0.68.1': 367 | resolution: {integrity: sha512-Q/H52+HXPPxuIHwQnVkEM8GebLnNcokkI4zQQdbxLIZdfxMGhAm9+gEqsMku3t95trN/1titHUmCM9NxbKaE2g==} 368 | 369 | '@oxc-resolver/binding-darwin-arm64@7.0.1': 370 | resolution: {integrity: sha512-LpqmYjzY+f4AThJ9oy1DjRfkWoQcwGJtpU1UWRlR5Zm5Q/H86hFqkf8D97aqku1lLjzewi7qFWyo2gR1Fwkhhw==} 371 | cpu: [arm64] 372 | os: [darwin] 373 | 374 | '@oxc-resolver/binding-darwin-x64@7.0.1': 375 | resolution: {integrity: sha512-MmVmhkIKD7pd4ChdkYtiTXi5HpK2+tRFMH/G692cYKs3T6SqRciFm6uXFWNreZsavhqfnolJFvGDFAkvpEN6xQ==} 376 | cpu: [x64] 377 | os: [darwin] 378 | 379 | '@oxc-resolver/binding-freebsd-x64@7.0.1': 380 | resolution: {integrity: sha512-2+8DMR56iXxj7eZLJteXFM/lmEz1mQI0btCyddREWI8MMgpLY4ORNXZZbBZB/ucaHS3WeBp68PDN6oFyKm1YiA==} 381 | cpu: [x64] 382 | os: [freebsd] 383 | 384 | '@oxc-resolver/binding-linux-arm-gnueabihf@7.0.1': 385 | resolution: {integrity: sha512-EXdtmtbmKVm9H+qhJswUsKC0/AVdm1fIB69DBhzpMUFn6Bf+s6anZmMYUJY70cyAYsOvC0DhYiFw2vHZSl6htQ==} 386 | cpu: [arm] 387 | os: [linux] 388 | 389 | '@oxc-resolver/binding-linux-arm64-gnu@7.0.1': 390 | resolution: {integrity: sha512-mU+3n1K9qYpgZQtcwrYqaaM/y5I1j7YX4KdvKONgQLNMM8lHysXuidn35j0MX7grGKh7I1iKC1JxHQHTDzDRSg==} 391 | cpu: [arm64] 392 | os: [linux] 393 | 394 | '@oxc-resolver/binding-linux-arm64-musl@7.0.1': 395 | resolution: {integrity: sha512-6gqY+pcvAAwKpC1F9adtL8DyrYq7GBcbkTzokeR2M++zB1CSp30SK1WAm50w0lqcUNU0eIlClM1LQUTqLJ5U6g==} 396 | cpu: [arm64] 397 | os: [linux] 398 | 399 | '@oxc-resolver/binding-linux-riscv64-gnu@7.0.1': 400 | resolution: {integrity: sha512-zCWDS84aFhPMiZsAkBvNl4MmNCF6V9usPiCnFwRSqAMfbNd9QC6jF96v3frYJZKHUswsBWMveBaZsTa6R2z5bA==} 401 | cpu: [riscv64] 402 | os: [linux] 403 | 404 | '@oxc-resolver/binding-linux-s390x-gnu@7.0.1': 405 | resolution: {integrity: sha512-mP3IN+UPz4KQTUJXsl15l87JcOlex+wCNaL5lUXuwdllC4hTcpcs+t/3zEKRh5qw0ltYKIgGbyol/QDnlZdieg==} 406 | cpu: [s390x] 407 | os: [linux] 408 | 409 | '@oxc-resolver/binding-linux-x64-gnu@7.0.1': 410 | resolution: {integrity: sha512-y5Jxb/IihMMkczQ5+R68cdug0ojVNLsNCJxF0NhTBxhy0e7XtpJVmFXlFDxXcN3rjnB+Esub13CSetZ1tirYYg==} 411 | cpu: [x64] 412 | os: [linux] 413 | 414 | '@oxc-resolver/binding-linux-x64-musl@7.0.1': 415 | resolution: {integrity: sha512-rgtOKJFdFULwPfc2o8b1EmObykBu4V9SpyJjMI717DPbd3zwfUCLBsO0sCDfZiFiH7CHpZDsiStdLrmgjwD5NA==} 416 | cpu: [x64] 417 | os: [linux] 418 | 419 | '@oxc-resolver/binding-wasm32-wasi@7.0.1': 420 | resolution: {integrity: sha512-lFAGp9yu96S3/hyrCY9Wg6oX/tfCa3NCV40eZFTHJj6YU+cbpNVBeYI0RPIG1EPp4Idw54L1xVjVfQuBBtbcDw==} 421 | engines: {node: '>=14.0.0'} 422 | cpu: [wasm32] 423 | 424 | '@oxc-resolver/binding-win32-arm64-msvc@7.0.1': 425 | resolution: {integrity: sha512-M2nyfCrIwwEzyJNSBYMCztTzVj7DZPV/IAzBqgZxOPzxKDt6mP/uuKjQYSO/A1SRouPWkbCQZe5sFR4cpCYwDA==} 426 | cpu: [arm64] 427 | os: [win32] 428 | 429 | '@oxc-resolver/binding-win32-x64-msvc@7.0.1': 430 | resolution: {integrity: sha512-CTfcJ9Rp3Lb6YU0smoSEdChHtSY/LriZkuikwHTDVkfl1rtUXhZMt3SwHQq37Mgf/BezUZJh7cSgy5rgM0ARLw==} 431 | cpu: [x64] 432 | os: [win32] 433 | 434 | '@pkgr/core@0.2.4': 435 | resolution: {integrity: sha512-ROFF39F6ZrnzSUEmQQZUar0Jt4xVoP9WnDRdWwF4NNcXs3xBTLgBUDoOwW141y1jP+S8nahIbdxbFC7IShw9Iw==} 436 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 437 | 438 | '@publint/pack@0.1.2': 439 | resolution: {integrity: sha512-S+9ANAvUmjutrshV4jZjaiG8XQyuJIZ8a4utWmN/vW1sgQ9IfBnPndwkmQYw53QmouOIytT874u65HEmu6H5jw==} 440 | engines: {node: '>=18'} 441 | 442 | '@quansync/fs@0.1.2': 443 | resolution: {integrity: sha512-ezIadUb1aFhwJLd++WVqVpi9rnlX8vnd4ju7saPhwLHJN1mJgOv0puePTGV+FbtSnWtwoHDT8lAm4kagDZmpCg==} 444 | engines: {node: '>=20.0.0'} 445 | 446 | '@rolldown/binding-darwin-arm64@1.0.0-beta.8-commit.534fde3': 447 | resolution: {integrity: sha512-I5dN4pf0VZTWNOZluLKvNiCJTPK6kHfvaPNEXE4o2V/o+yUarqIYpjKfz4enQMQyzoKXUkFs9Y8lhMtL32BJZA==} 448 | cpu: [arm64] 449 | os: [darwin] 450 | 451 | '@rolldown/binding-darwin-x64@1.0.0-beta.8-commit.534fde3': 452 | resolution: {integrity: sha512-xH9mSqc29+P3rCKv8EAih3FbF3Yz8HqT9nzZU5WuxrJ2mjoUwgI4rshFRJGUzjzYPuF4TTX5ooEApI+ndhvyWQ==} 453 | cpu: [x64] 454 | os: [darwin] 455 | 456 | '@rolldown/binding-freebsd-x64@1.0.0-beta.8-commit.534fde3': 457 | resolution: {integrity: sha512-Y5wAtH+CPp7wI68w3yL2DmEHhzAr7NAt+RlaUXJvppt/yjcfV4iLWEVZSF8AN/aGajoCRe7tx61Bj7AIysvpWw==} 458 | cpu: [x64] 459 | os: [freebsd] 460 | 461 | '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.8-commit.534fde3': 462 | resolution: {integrity: sha512-JQFHthJZSlkJA98bu3lSVXAt6Kg0NhRr2KfKSfJ9ITJyWmQbpIaC+5ATCejPJLbRTb/38SiJW3ggpn/NKgfOFQ==} 463 | cpu: [arm] 464 | os: [linux] 465 | 466 | '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.8-commit.534fde3': 467 | resolution: {integrity: sha512-JYZPiZi7e2OQEcnkQQrpsG2PjvnCkOtd+6PH5X6i9CBoym79h/l9WKYCve4ylqQWsWe8WVs+lcLqBHRwm2LfZw==} 468 | cpu: [arm64] 469 | os: [linux] 470 | 471 | '@rolldown/binding-linux-arm64-musl@1.0.0-beta.8-commit.534fde3': 472 | resolution: {integrity: sha512-AHww+JECcMYmAHNt4erYBIBAt8jcWZnos6cYTohRsS7Fp/v9gELeDCwz21h8eITJ0I+gsjaFyRxRPfPh2bbQXw==} 473 | cpu: [arm64] 474 | os: [linux] 475 | 476 | '@rolldown/binding-linux-x64-gnu@1.0.0-beta.8-commit.534fde3': 477 | resolution: {integrity: sha512-JuO+i82hYTexZoVFBkvTuEA6YPyjurPEv+ljmNkLA70NsuLWN6iw1Va0hz+TgcYh7wNsDBtWjN2W16/oeRqBGw==} 478 | cpu: [x64] 479 | os: [linux] 480 | 481 | '@rolldown/binding-linux-x64-musl@1.0.0-beta.8-commit.534fde3': 482 | resolution: {integrity: sha512-3WSs+v5lIWtl7ScUzNCasNjf4UAXLaPuQHxKP+nPdwhmGseKOLjpHmaJe9CTHQiJPuMJ1GtIXWM5oDMO3TSjYA==} 483 | cpu: [x64] 484 | os: [linux] 485 | 486 | '@rolldown/binding-wasm32-wasi@1.0.0-beta.8-commit.534fde3': 487 | resolution: {integrity: sha512-+gY8nPSODSQHasW9cDHfBe2Z6uwj4602YWoULTn8V64n2E2Wu9mqiaXJSmtjL1V2G0ANbObL4xwoL70FSTiHaQ==} 488 | engines: {node: '>=14.21.3'} 489 | cpu: [wasm32] 490 | 491 | '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.8-commit.534fde3': 492 | resolution: {integrity: sha512-fbdRFDttUqWaM2YVEai9Qk8qcQGaEz2TLr1YEPqSaNs0N8ZX4bP8WbmQLrQPGdfpCn0GzFwOcyyQLVzex2Zbvw==} 493 | cpu: [arm64] 494 | os: [win32] 495 | 496 | '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.8-commit.534fde3': 497 | resolution: {integrity: sha512-CEnxxh6NuD6mSpJsY+z7PXbJsi2O3HKdy5/rVGeNW0h0EJyJ8vk0SuCVjyK1vGUcOmy33vEEKM3z5iTijze7kQ==} 498 | cpu: [ia32] 499 | os: [win32] 500 | 501 | '@rolldown/binding-win32-x64-msvc@1.0.0-beta.8-commit.534fde3': 502 | resolution: {integrity: sha512-6lAzp3kMr4VZ+DXHZazvr51OtKdr8mgWWLspxSyrr+WVCdF3SdPh0vp1cZ6+c+psm5YWW6RZClhGAzjM+ZzD1w==} 503 | cpu: [x64] 504 | os: [win32] 505 | 506 | '@rollup/rollup-android-arm-eabi@4.40.2': 507 | resolution: {integrity: sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==} 508 | cpu: [arm] 509 | os: [android] 510 | 511 | '@rollup/rollup-android-arm64@4.40.2': 512 | resolution: {integrity: sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==} 513 | cpu: [arm64] 514 | os: [android] 515 | 516 | '@rollup/rollup-darwin-arm64@4.40.2': 517 | resolution: {integrity: sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==} 518 | cpu: [arm64] 519 | os: [darwin] 520 | 521 | '@rollup/rollup-darwin-x64@4.40.2': 522 | resolution: {integrity: sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==} 523 | cpu: [x64] 524 | os: [darwin] 525 | 526 | '@rollup/rollup-freebsd-arm64@4.40.2': 527 | resolution: {integrity: sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==} 528 | cpu: [arm64] 529 | os: [freebsd] 530 | 531 | '@rollup/rollup-freebsd-x64@4.40.2': 532 | resolution: {integrity: sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==} 533 | cpu: [x64] 534 | os: [freebsd] 535 | 536 | '@rollup/rollup-linux-arm-gnueabihf@4.40.2': 537 | resolution: {integrity: sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==} 538 | cpu: [arm] 539 | os: [linux] 540 | 541 | '@rollup/rollup-linux-arm-musleabihf@4.40.2': 542 | resolution: {integrity: sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==} 543 | cpu: [arm] 544 | os: [linux] 545 | 546 | '@rollup/rollup-linux-arm64-gnu@4.40.2': 547 | resolution: {integrity: sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==} 548 | cpu: [arm64] 549 | os: [linux] 550 | 551 | '@rollup/rollup-linux-arm64-musl@4.40.2': 552 | resolution: {integrity: sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==} 553 | cpu: [arm64] 554 | os: [linux] 555 | 556 | '@rollup/rollup-linux-loongarch64-gnu@4.40.2': 557 | resolution: {integrity: sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==} 558 | cpu: [loong64] 559 | os: [linux] 560 | 561 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': 562 | resolution: {integrity: sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==} 563 | cpu: [ppc64] 564 | os: [linux] 565 | 566 | '@rollup/rollup-linux-riscv64-gnu@4.40.2': 567 | resolution: {integrity: sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==} 568 | cpu: [riscv64] 569 | os: [linux] 570 | 571 | '@rollup/rollup-linux-riscv64-musl@4.40.2': 572 | resolution: {integrity: sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==} 573 | cpu: [riscv64] 574 | os: [linux] 575 | 576 | '@rollup/rollup-linux-s390x-gnu@4.40.2': 577 | resolution: {integrity: sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==} 578 | cpu: [s390x] 579 | os: [linux] 580 | 581 | '@rollup/rollup-linux-x64-gnu@4.40.2': 582 | resolution: {integrity: sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==} 583 | cpu: [x64] 584 | os: [linux] 585 | 586 | '@rollup/rollup-linux-x64-musl@4.40.2': 587 | resolution: {integrity: sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==} 588 | cpu: [x64] 589 | os: [linux] 590 | 591 | '@rollup/rollup-win32-arm64-msvc@4.40.2': 592 | resolution: {integrity: sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==} 593 | cpu: [arm64] 594 | os: [win32] 595 | 596 | '@rollup/rollup-win32-ia32-msvc@4.40.2': 597 | resolution: {integrity: sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==} 598 | cpu: [ia32] 599 | os: [win32] 600 | 601 | '@rollup/rollup-win32-x64-msvc@4.40.2': 602 | resolution: {integrity: sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==} 603 | cpu: [x64] 604 | os: [win32] 605 | 606 | '@sxzz/eslint-config@7.0.0': 607 | resolution: {integrity: sha512-qLKt73ZlEj+V8l4nnclQTeIVo4OQV7P2PJq9/UuxkrZtOWrO39NlLRw5/jvYKdNkQMKi3VZ6oDPFdnnhU6gegA==} 608 | engines: {node: '>=20.0.0'} 609 | peerDependencies: 610 | '@unocss/eslint-plugin': '>=65.0.0' 611 | eslint: ^9.5.0 612 | peerDependenciesMeta: 613 | '@unocss/eslint-plugin': 614 | optional: true 615 | 616 | '@sxzz/prettier-config@2.2.1': 617 | resolution: {integrity: sha512-4eKrQdzJpMOFrUD9rFm1IfVkpchPvnPOObJvnX+DQB0KHRtHbU0vBwSpOLHioxLPYFwJGjSl6NC0trrCDkCtsA==} 618 | 619 | '@tybys/wasm-util@0.9.0': 620 | resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} 621 | 622 | '@types/debug@4.1.12': 623 | resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} 624 | 625 | '@types/eslint@9.6.1': 626 | resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} 627 | 628 | '@types/estree@1.0.7': 629 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} 630 | 631 | '@types/json-schema@7.0.15': 632 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 633 | 634 | '@types/mdast@4.0.4': 635 | resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==} 636 | 637 | '@types/ms@2.1.0': 638 | resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} 639 | 640 | '@types/node@22.15.17': 641 | resolution: {integrity: sha512-wIX2aSZL5FE+MR0JlvF87BNVrtFWf6AE6rxSE9X7OwnVvoyCQjpzSRJ+M87se/4QCkCiebQAqrJ0y6fwIyi7nw==} 642 | 643 | '@types/unist@3.0.3': 644 | resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} 645 | 646 | '@typescript-eslint/eslint-plugin@8.32.0': 647 | resolution: {integrity: sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==} 648 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 649 | peerDependencies: 650 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 651 | eslint: ^8.57.0 || ^9.0.0 652 | typescript: '>=4.8.4 <5.9.0' 653 | 654 | '@typescript-eslint/parser@8.32.0': 655 | resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==} 656 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 657 | peerDependencies: 658 | eslint: ^8.57.0 || ^9.0.0 659 | typescript: '>=4.8.4 <5.9.0' 660 | 661 | '@typescript-eslint/scope-manager@8.32.0': 662 | resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==} 663 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 664 | 665 | '@typescript-eslint/type-utils@8.32.0': 666 | resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==} 667 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 668 | peerDependencies: 669 | eslint: ^8.57.0 || ^9.0.0 670 | typescript: '>=4.8.4 <5.9.0' 671 | 672 | '@typescript-eslint/types@8.32.0': 673 | resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==} 674 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 675 | 676 | '@typescript-eslint/typescript-estree@8.32.0': 677 | resolution: {integrity: sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==} 678 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 679 | peerDependencies: 680 | typescript: '>=4.8.4 <5.9.0' 681 | 682 | '@typescript-eslint/utils@8.32.0': 683 | resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==} 684 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 685 | peerDependencies: 686 | eslint: ^8.57.0 || ^9.0.0 687 | typescript: '>=4.8.4 <5.9.0' 688 | 689 | '@typescript-eslint/visitor-keys@8.32.0': 690 | resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==} 691 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 692 | 693 | '@unrs/resolver-binding-darwin-arm64@1.7.2': 694 | resolution: {integrity: sha512-vxtBno4xvowwNmO/ASL0Y45TpHqmNkAaDtz4Jqb+clmcVSSl8XCG/PNFFkGsXXXS6AMjP+ja/TtNCFFa1QwLRg==} 695 | cpu: [arm64] 696 | os: [darwin] 697 | 698 | '@unrs/resolver-binding-darwin-x64@1.7.2': 699 | resolution: {integrity: sha512-qhVa8ozu92C23Hsmv0BF4+5Dyyd5STT1FolV4whNgbY6mj3kA0qsrGPe35zNR3wAN7eFict3s4Rc2dDTPBTuFQ==} 700 | cpu: [x64] 701 | os: [darwin] 702 | 703 | '@unrs/resolver-binding-freebsd-x64@1.7.2': 704 | resolution: {integrity: sha512-zKKdm2uMXqLFX6Ac7K5ElnnG5VIXbDlFWzg4WJ8CGUedJryM5A3cTgHuGMw1+P5ziV8CRhnSEgOnurTI4vpHpg==} 705 | cpu: [x64] 706 | os: [freebsd] 707 | 708 | '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.2': 709 | resolution: {integrity: sha512-8N1z1TbPnHH+iDS/42GJ0bMPLiGK+cUqOhNbMKtWJ4oFGzqSJk/zoXFzcQkgtI63qMcUI7wW1tq2usZQSb2jxw==} 710 | cpu: [arm] 711 | os: [linux] 712 | 713 | '@unrs/resolver-binding-linux-arm-musleabihf@1.7.2': 714 | resolution: {integrity: sha512-tjYzI9LcAXR9MYd9rO45m1s0B/6bJNuZ6jeOxo1pq1K6OBuRMMmfyvJYval3s9FPPGmrldYA3mi4gWDlWuTFGA==} 715 | cpu: [arm] 716 | os: [linux] 717 | 718 | '@unrs/resolver-binding-linux-arm64-gnu@1.7.2': 719 | resolution: {integrity: sha512-jon9M7DKRLGZ9VYSkFMflvNqu9hDtOCEnO2QAryFWgT6o6AXU8du56V7YqnaLKr6rAbZBWYsYpikF226v423QA==} 720 | cpu: [arm64] 721 | os: [linux] 722 | 723 | '@unrs/resolver-binding-linux-arm64-musl@1.7.2': 724 | resolution: {integrity: sha512-c8Cg4/h+kQ63pL43wBNaVMmOjXI/X62wQmru51qjfTvI7kmCy5uHTJvK/9LrF0G8Jdx8r34d019P1DVJmhXQpA==} 725 | cpu: [arm64] 726 | os: [linux] 727 | 728 | '@unrs/resolver-binding-linux-ppc64-gnu@1.7.2': 729 | resolution: {integrity: sha512-A+lcwRFyrjeJmv3JJvhz5NbcCkLQL6Mk16kHTNm6/aGNc4FwPHPE4DR9DwuCvCnVHvF5IAd9U4VIs/VvVir5lg==} 730 | cpu: [ppc64] 731 | os: [linux] 732 | 733 | '@unrs/resolver-binding-linux-riscv64-gnu@1.7.2': 734 | resolution: {integrity: sha512-hQQ4TJQrSQW8JlPm7tRpXN8OCNP9ez7PajJNjRD1ZTHQAy685OYqPrKjfaMw/8LiHCt8AZ74rfUVHP9vn0N69Q==} 735 | cpu: [riscv64] 736 | os: [linux] 737 | 738 | '@unrs/resolver-binding-linux-riscv64-musl@1.7.2': 739 | resolution: {integrity: sha512-NoAGbiqrxtY8kVooZ24i70CjLDlUFI7nDj3I9y54U94p+3kPxwd2L692YsdLa+cqQ0VoqMWoehDFp21PKRUoIQ==} 740 | cpu: [riscv64] 741 | os: [linux] 742 | 743 | '@unrs/resolver-binding-linux-s390x-gnu@1.7.2': 744 | resolution: {integrity: sha512-KaZByo8xuQZbUhhreBTW+yUnOIHUsv04P8lKjQ5otiGoSJ17ISGYArc+4vKdLEpGaLbemGzr4ZeUbYQQsLWFjA==} 745 | cpu: [s390x] 746 | os: [linux] 747 | 748 | '@unrs/resolver-binding-linux-x64-gnu@1.7.2': 749 | resolution: {integrity: sha512-dEidzJDubxxhUCBJ/SHSMJD/9q7JkyfBMT77Px1npl4xpg9t0POLvnWywSk66BgZS/b2Hy9Y1yFaoMTFJUe9yg==} 750 | cpu: [x64] 751 | os: [linux] 752 | 753 | '@unrs/resolver-binding-linux-x64-musl@1.7.2': 754 | resolution: {integrity: sha512-RvP+Ux3wDjmnZDT4XWFfNBRVG0fMsc+yVzNFUqOflnDfZ9OYujv6nkh+GOr+watwrW4wdp6ASfG/e7bkDradsw==} 755 | cpu: [x64] 756 | os: [linux] 757 | 758 | '@unrs/resolver-binding-wasm32-wasi@1.7.2': 759 | resolution: {integrity: sha512-y797JBmO9IsvXVRCKDXOxjyAE4+CcZpla2GSoBQ33TVb3ILXuFnMrbR/QQZoauBYeOFuu4w3ifWLw52sdHGz6g==} 760 | engines: {node: '>=14.0.0'} 761 | cpu: [wasm32] 762 | 763 | '@unrs/resolver-binding-win32-arm64-msvc@1.7.2': 764 | resolution: {integrity: sha512-gtYTh4/VREVSLA+gHrfbWxaMO/00y+34htY7XpioBTy56YN2eBjkPrY1ML1Zys89X3RJDKVaogzwxlM1qU7egg==} 765 | cpu: [arm64] 766 | os: [win32] 767 | 768 | '@unrs/resolver-binding-win32-ia32-msvc@1.7.2': 769 | resolution: {integrity: sha512-Ywv20XHvHTDRQs12jd3MY8X5C8KLjDbg/jyaal/QLKx3fAShhJyD4blEANInsjxW3P7isHx1Blt56iUDDJO3jg==} 770 | cpu: [ia32] 771 | os: [win32] 772 | 773 | '@unrs/resolver-binding-win32-x64-msvc@1.7.2': 774 | resolution: {integrity: sha512-friS8NEQfHaDbkThxopGk+LuE5v3iY0StruifjQEt7SLbA46OnfgMO15sOTkbpJkol6RB+1l1TYPXh0sCddpvA==} 775 | cpu: [x64] 776 | os: [win32] 777 | 778 | '@vitest/expect@3.1.3': 779 | resolution: {integrity: sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==} 780 | 781 | '@vitest/mocker@3.1.3': 782 | resolution: {integrity: sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ==} 783 | peerDependencies: 784 | msw: ^2.4.9 785 | vite: ^5.0.0 || ^6.0.0 786 | peerDependenciesMeta: 787 | msw: 788 | optional: true 789 | vite: 790 | optional: true 791 | 792 | '@vitest/pretty-format@3.1.3': 793 | resolution: {integrity: sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA==} 794 | 795 | '@vitest/runner@3.1.3': 796 | resolution: {integrity: sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA==} 797 | 798 | '@vitest/snapshot@3.1.3': 799 | resolution: {integrity: sha512-XVa5OPNTYUsyqG9skuUkFzAeFnEzDp8hQu7kZ0N25B1+6KjGm4hWLtURyBbsIAOekfWQ7Wuz/N/XXzgYO3deWQ==} 800 | 801 | '@vitest/spy@3.1.3': 802 | resolution: {integrity: sha512-x6w+ctOEmEXdWaa6TO4ilb7l9DxPR5bwEb6hILKuxfU1NqWT2mpJD9NJN7t3OTfxmVlOMrvtoFJGdgyzZ605lQ==} 803 | 804 | '@vitest/utils@3.1.3': 805 | resolution: {integrity: sha512-2Ltrpht4OmHO9+c/nmHtF09HWiyWdworqnHIwjfvDyWjuwKbdkcS9AnhsDn+8E2RM4x++foD1/tNuLPVvWG1Rg==} 806 | 807 | accepts@2.0.0: 808 | resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} 809 | engines: {node: '>= 0.6'} 810 | 811 | acorn-jsx@5.3.2: 812 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 813 | peerDependencies: 814 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 815 | 816 | acorn@8.14.1: 817 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 818 | engines: {node: '>=0.4.0'} 819 | hasBin: true 820 | 821 | ajv@6.12.6: 822 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 823 | 824 | ansi-styles@4.3.0: 825 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 826 | engines: {node: '>=8'} 827 | 828 | ansis@3.17.0: 829 | resolution: {integrity: sha512-0qWUglt9JEqLFr3w1I1pbrChn1grhaiAR2ocX1PP/flRmxgtwTzPFFFnfIlD6aMOLQZgSuCRlidD70lvx8yhzg==} 830 | engines: {node: '>=14'} 831 | 832 | are-docs-informative@0.0.2: 833 | resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==} 834 | engines: {node: '>=14'} 835 | 836 | argparse@2.0.1: 837 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 838 | 839 | args-tokenizer@0.3.0: 840 | resolution: {integrity: sha512-xXAd7G2Mll5W8uo37GETpQ2VrE84M181Z7ugHFGQnJZ50M2mbOv0osSZ9VsSgPfJQ+LVG0prSi0th+ELMsno7Q==} 841 | 842 | assertion-error@2.0.1: 843 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 844 | engines: {node: '>=12'} 845 | 846 | ast-kit@1.4.3: 847 | resolution: {integrity: sha512-MdJqjpodkS5J149zN0Po+HPshkTdUyrvF7CKTafUgv69vBSPtncrj+3IiUgqdd7ElIEkbeXCsEouBUwLrw9Ilg==} 848 | engines: {node: '>=16.14.0'} 849 | 850 | ast-kit@2.0.0: 851 | resolution: {integrity: sha512-P63jzlYNz96MF9mCcprU+a7I5/ZQ5QAn3y+mZcPWEcGV3CHF/GWnkFPj3oCrWLUjL47+PD9PNiCUdXxw0cWdsg==} 852 | engines: {node: '>=20.18.0'} 853 | 854 | balanced-match@1.0.2: 855 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 856 | 857 | body-parser@2.2.0: 858 | resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} 859 | engines: {node: '>=18'} 860 | 861 | boolbase@1.0.0: 862 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 863 | 864 | brace-expansion@1.1.11: 865 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 866 | 867 | brace-expansion@2.0.1: 868 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 869 | 870 | braces@3.0.3: 871 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 872 | engines: {node: '>=8'} 873 | 874 | browserslist@4.24.5: 875 | resolution: {integrity: sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==} 876 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 877 | hasBin: true 878 | 879 | builtin-modules@5.0.0: 880 | resolution: {integrity: sha512-bkXY9WsVpY7CvMhKSR6pZilZu9Ln5WDrKVBUXf2S443etkmEO4V58heTecXcUIsNsi4Rx8JUO4NfX1IcQl4deg==} 881 | engines: {node: '>=18.20'} 882 | 883 | bumpp@10.1.0: 884 | resolution: {integrity: sha512-cM/4+kO2A2l3aDSL7tr/ALg8TWPihl1fDWHZyz55JlDmzd01Y+8Vq3YQ1ydeKDS4QFN+tKaLsVzhdDIb/cbsLQ==} 885 | engines: {node: '>=18'} 886 | hasBin: true 887 | 888 | bytes@3.1.2: 889 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 890 | engines: {node: '>= 0.8'} 891 | 892 | c12@3.0.3: 893 | resolution: {integrity: sha512-uC3MacKBb0Z15o5QWCHvHWj5Zv34pGQj9P+iXKSpTuSGFS0KKhUWf4t9AJ+gWjYOdmWCPEGpEzm8sS0iqbpo1w==} 894 | peerDependencies: 895 | magicast: ^0.3.5 896 | peerDependenciesMeta: 897 | magicast: 898 | optional: true 899 | 900 | cac@6.7.14: 901 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 902 | engines: {node: '>=8'} 903 | 904 | call-bind-apply-helpers@1.0.2: 905 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 906 | engines: {node: '>= 0.4'} 907 | 908 | call-bound@1.0.4: 909 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 910 | engines: {node: '>= 0.4'} 911 | 912 | callsites@3.1.0: 913 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 914 | engines: {node: '>=6'} 915 | 916 | caniuse-lite@1.0.30001717: 917 | resolution: {integrity: sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==} 918 | 919 | ccount@2.0.1: 920 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} 921 | 922 | chai@5.2.0: 923 | resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} 924 | engines: {node: '>=12'} 925 | 926 | chalk@4.1.2: 927 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 928 | engines: {node: '>=10'} 929 | 930 | character-entities@2.0.2: 931 | resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} 932 | 933 | check-error@2.1.1: 934 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 935 | engines: {node: '>= 16'} 936 | 937 | chokidar@4.0.3: 938 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 939 | engines: {node: '>= 14.16.0'} 940 | 941 | ci-info@4.2.0: 942 | resolution: {integrity: sha512-cYY9mypksY8NRqgDB1XD1RiJL338v/551niynFTGkZOO2LHuB2OmOYxDIe/ttN9AHwrqdum1360G3ald0W9kCg==} 943 | engines: {node: '>=8'} 944 | 945 | citty@0.1.6: 946 | resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} 947 | 948 | clean-regexp@1.0.0: 949 | resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} 950 | engines: {node: '>=4'} 951 | 952 | color-convert@2.0.1: 953 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 954 | engines: {node: '>=7.0.0'} 955 | 956 | color-name@1.1.4: 957 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 958 | 959 | comment-parser@1.4.1: 960 | resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} 961 | engines: {node: '>= 12.0.0'} 962 | 963 | concat-map@0.0.1: 964 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 965 | 966 | confbox@0.1.8: 967 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 968 | 969 | confbox@0.2.2: 970 | resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} 971 | 972 | consola@3.4.2: 973 | resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} 974 | engines: {node: ^14.18.0 || >=16.10.0} 975 | 976 | content-disposition@1.0.0: 977 | resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} 978 | engines: {node: '>= 0.6'} 979 | 980 | content-type@1.0.5: 981 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 982 | engines: {node: '>= 0.6'} 983 | 984 | cookie-signature@1.2.2: 985 | resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} 986 | engines: {node: '>=6.6.0'} 987 | 988 | cookie@0.7.2: 989 | resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 990 | engines: {node: '>= 0.6'} 991 | 992 | core-js-compat@3.42.0: 993 | resolution: {integrity: sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==} 994 | 995 | cors@2.8.5: 996 | resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} 997 | engines: {node: '>= 0.10'} 998 | 999 | cross-spawn@7.0.6: 1000 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 1001 | engines: {node: '>= 8'} 1002 | 1003 | cssesc@3.0.0: 1004 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 1005 | engines: {node: '>=4'} 1006 | hasBin: true 1007 | 1008 | debug@3.2.7: 1009 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 1010 | peerDependencies: 1011 | supports-color: '*' 1012 | peerDependenciesMeta: 1013 | supports-color: 1014 | optional: true 1015 | 1016 | debug@4.4.0: 1017 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 1018 | engines: {node: '>=6.0'} 1019 | peerDependencies: 1020 | supports-color: '*' 1021 | peerDependenciesMeta: 1022 | supports-color: 1023 | optional: true 1024 | 1025 | decode-named-character-reference@1.1.0: 1026 | resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} 1027 | 1028 | deep-eql@5.0.2: 1029 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} 1030 | engines: {node: '>=6'} 1031 | 1032 | deep-is@0.1.4: 1033 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 1034 | 1035 | defu@6.1.4: 1036 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 1037 | 1038 | depd@2.0.0: 1039 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 1040 | engines: {node: '>= 0.8'} 1041 | 1042 | dequal@2.0.3: 1043 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} 1044 | engines: {node: '>=6'} 1045 | 1046 | destr@2.0.5: 1047 | resolution: {integrity: sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==} 1048 | 1049 | devlop@1.1.0: 1050 | resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} 1051 | 1052 | diff@7.0.0: 1053 | resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} 1054 | engines: {node: '>=0.3.1'} 1055 | 1056 | dotenv@16.5.0: 1057 | resolution: {integrity: sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==} 1058 | engines: {node: '>=12'} 1059 | 1060 | dts-resolver@1.1.2: 1061 | resolution: {integrity: sha512-tdZBOVmuQKMd5oJvzSns3IVLw2DRM3iVH2Xz6jbPFB4/mLifQVBNe70dJZ97C17FCSbMs2SCH/d8YLwrPCdSfw==} 1062 | engines: {node: '>=20.18.0'} 1063 | 1064 | dunder-proto@1.0.1: 1065 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 1066 | engines: {node: '>= 0.4'} 1067 | 1068 | ee-first@1.1.1: 1069 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 1070 | 1071 | electron-to-chromium@1.5.151: 1072 | resolution: {integrity: sha512-Rl6uugut2l9sLojjS4H4SAr3A4IgACMLgpuEMPYCVcKydzfyPrn5absNRju38IhQOf/NwjJY8OGWjlteqYeBCA==} 1073 | 1074 | empathic@1.1.0: 1075 | resolution: {integrity: sha512-rsPft6CK3eHtrlp9Y5ALBb+hfK+DWnA4WFebbazxjWyx8vSm3rZeoM3z9irsjcqO3PYRzlfv27XIB4tz2DV7RA==} 1076 | engines: {node: '>=14'} 1077 | 1078 | encodeurl@2.0.0: 1079 | resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} 1080 | engines: {node: '>= 0.8'} 1081 | 1082 | enhanced-resolve@5.18.1: 1083 | resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} 1084 | engines: {node: '>=10.13.0'} 1085 | 1086 | es-define-property@1.0.1: 1087 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 1088 | engines: {node: '>= 0.4'} 1089 | 1090 | es-errors@1.3.0: 1091 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 1092 | engines: {node: '>= 0.4'} 1093 | 1094 | es-module-lexer@1.7.0: 1095 | resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} 1096 | 1097 | es-object-atoms@1.1.1: 1098 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 1099 | engines: {node: '>= 0.4'} 1100 | 1101 | esbuild@0.25.4: 1102 | resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} 1103 | engines: {node: '>=18'} 1104 | hasBin: true 1105 | 1106 | escalade@3.2.0: 1107 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 1108 | engines: {node: '>=6'} 1109 | 1110 | escape-html@1.0.3: 1111 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 1112 | 1113 | escape-string-regexp@1.0.5: 1114 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1115 | engines: {node: '>=0.8.0'} 1116 | 1117 | escape-string-regexp@4.0.0: 1118 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1119 | engines: {node: '>=10'} 1120 | 1121 | escape-string-regexp@5.0.0: 1122 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1123 | engines: {node: '>=12'} 1124 | 1125 | eslint-compat-utils@0.5.1: 1126 | resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} 1127 | engines: {node: '>=12'} 1128 | peerDependencies: 1129 | eslint: '>=6.0.0' 1130 | 1131 | eslint-compat-utils@0.6.5: 1132 | resolution: {integrity: sha512-vAUHYzue4YAa2hNACjB8HvUQj5yehAZgiClyFVVom9cP8z5NSFq3PwB/TtJslN2zAMgRX6FCFCjYBbQh71g5RQ==} 1133 | engines: {node: '>=12'} 1134 | peerDependencies: 1135 | eslint: '>=6.0.0' 1136 | 1137 | eslint-config-flat-gitignore@2.1.0: 1138 | resolution: {integrity: sha512-cJzNJ7L+psWp5mXM7jBX+fjHtBvvh06RBlcweMhKD8jWqQw0G78hOW5tpVALGHGFPsBV+ot2H+pdDGJy6CV8pA==} 1139 | peerDependencies: 1140 | eslint: ^9.5.0 1141 | 1142 | eslint-config-prettier@10.1.3: 1143 | resolution: {integrity: sha512-vDo4d9yQE+cS2tdIT4J02H/16veRvkHgiLDRpej+WL67oCfbOb97itZXn8wMPJ/GsiEBVjrjs//AVNw2Cp1EcA==} 1144 | hasBin: true 1145 | peerDependencies: 1146 | eslint: '>=7.0.0' 1147 | 1148 | eslint-flat-config-utils@2.0.1: 1149 | resolution: {integrity: sha512-brf0eAgQ6JlKj3bKfOTuuI7VcCZvi8ZCD1MMTVoEvS/d38j8cByZViLFALH/36+eqB17ukmfmKq3bWzGvizejA==} 1150 | 1151 | eslint-import-resolver-node@0.3.9: 1152 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 1153 | 1154 | eslint-json-compat-utils@0.2.1: 1155 | resolution: {integrity: sha512-YzEodbDyW8DX8bImKhAcCeu/L31Dd/70Bidx2Qex9OFUtgzXLqtfWL4Hr5fM/aCCB8QUZLuJur0S9k6UfgFkfg==} 1156 | engines: {node: '>=12'} 1157 | peerDependencies: 1158 | '@eslint/json': '*' 1159 | eslint: '*' 1160 | jsonc-eslint-parser: ^2.4.0 1161 | peerDependenciesMeta: 1162 | '@eslint/json': 1163 | optional: true 1164 | 1165 | eslint-plugin-antfu@3.1.1: 1166 | resolution: {integrity: sha512-7Q+NhwLfHJFvopI2HBZbSxWXngTwBLKxW1AGXLr2lEGxcEIK/AsDs8pn8fvIizl5aZjBbVbVK5ujmMpBe4Tvdg==} 1167 | peerDependencies: 1168 | eslint: '*' 1169 | 1170 | eslint-plugin-command@3.2.0: 1171 | resolution: {integrity: sha512-PSDOB9k7Wd57pp4HD/l3C1D93pKX8/wQo0kWDI4q6/UpgrfMTyNsavklipgiZqbXl1+VBABY1buCcQE5LDpg5g==} 1172 | peerDependencies: 1173 | eslint: '*' 1174 | 1175 | eslint-plugin-de-morgan@1.2.1: 1176 | resolution: {integrity: sha512-lzh5DWqdogO6kasbGdWNHy6XOMajv4CRQnEiv/XJFpL1xxG0hxF2uxF+KAkcTzR+w85l4nWoqGbI39ZF+sk4+g==} 1177 | engines: {node: ^18.0.0 || >=20.0.0} 1178 | peerDependencies: 1179 | eslint: '>=8.0.0' 1180 | 1181 | eslint-plugin-es-x@7.8.0: 1182 | resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} 1183 | engines: {node: ^14.18.0 || >=16.0.0} 1184 | peerDependencies: 1185 | eslint: '>=8' 1186 | 1187 | eslint-plugin-import-x@4.11.0: 1188 | resolution: {integrity: sha512-NAaYY49342gj09QGvwnFFl5KcD5aLzjAz97Lo+upnN8MzjEGSIlmL5sxCYGqtIeMjw8fSRDFZIp2xjRLT+yl4Q==} 1189 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1190 | peerDependencies: 1191 | eslint: ^8.57.0 || ^9.0.0 1192 | 1193 | eslint-plugin-jsdoc@50.6.11: 1194 | resolution: {integrity: sha512-k4+MnBCGR8cuIB5MZ++FGd4gbXxjob2rX1Nq0q3nWFF4xSGZENTgTLZSjb+u9B8SAnP6lpGV2FJrBjllV3pVSg==} 1195 | engines: {node: '>=18'} 1196 | peerDependencies: 1197 | eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 1198 | 1199 | eslint-plugin-jsonc@2.20.0: 1200 | resolution: {integrity: sha512-FRgCn9Hzk5eKboCbVMrr9QrhM0eO4G+WKH8IFXoaeqhM/2kuWzbStJn4kkr0VWL8J5H8RYZF+Aoam1vlBaZVkw==} 1201 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1202 | peerDependencies: 1203 | eslint: '>=6.0.0' 1204 | 1205 | eslint-plugin-n@17.17.0: 1206 | resolution: {integrity: sha512-2VvPK7Mo73z1rDFb6pTvkH6kFibAmnTubFq5l83vePxu0WiY1s0LOtj2WHb6Sa40R3w4mnh8GFYbHBQyMlotKw==} 1207 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1208 | peerDependencies: 1209 | eslint: '>=8.23.0' 1210 | 1211 | eslint-plugin-perfectionist@4.12.3: 1212 | resolution: {integrity: sha512-V0dmpq6fBbn0BYofHsiRuuY9wgkKMDkdruM0mIRBIJ8XZ8vEaTAZqFsywm40RuWNVnduWBt5HO1ZZ+flE2yqjg==} 1213 | engines: {node: ^18.0.0 || >=20.0.0} 1214 | peerDependencies: 1215 | eslint: '>=8.45.0' 1216 | 1217 | eslint-plugin-pnpm@0.3.1: 1218 | resolution: {integrity: sha512-vi5iHoELIAlBbX4AW8ZGzU3tUnfxuXhC/NKo3qRcI5o9igbz6zJUqSlQ03bPeMqWIGTPatZnbWsNR1RnlNERNQ==} 1219 | peerDependencies: 1220 | eslint: ^9.0.0 1221 | 1222 | eslint-plugin-prettier@5.4.0: 1223 | resolution: {integrity: sha512-BvQOvUhkVQM1i63iMETK9Hjud9QhqBnbtT1Zc642p9ynzBuCe5pybkOnvqZIBypXmMlsGcnU4HZ8sCTPfpAexA==} 1224 | engines: {node: ^14.18.0 || >=16.0.0} 1225 | peerDependencies: 1226 | '@types/eslint': '>=8.0.0' 1227 | eslint: '>=8.0.0' 1228 | eslint-config-prettier: '>= 7.0.0 <10.0.0 || >=10.1.0' 1229 | prettier: '>=3.0.0' 1230 | peerDependenciesMeta: 1231 | '@types/eslint': 1232 | optional: true 1233 | eslint-config-prettier: 1234 | optional: true 1235 | 1236 | eslint-plugin-regexp@2.7.0: 1237 | resolution: {integrity: sha512-U8oZI77SBtH8U3ulZ05iu0qEzIizyEDXd+BWHvyVxTOjGwcDcvy/kEpgFG4DYca2ByRLiVPFZ2GeH7j1pdvZTA==} 1238 | engines: {node: ^18 || >=20} 1239 | peerDependencies: 1240 | eslint: '>=8.44.0' 1241 | 1242 | eslint-plugin-sxzz@0.2.2: 1243 | resolution: {integrity: sha512-K8/4zHUBafZjnbQk7Q4nNcMbW1vzNDq6g1euy4BnQ/kECuphWOUVnuxiSJCZb2esUfm1l4pgtr1Tay65ypMDgQ==} 1244 | engines: {node: '>=18.12.0'} 1245 | peerDependencies: 1246 | eslint: '*' 1247 | 1248 | eslint-plugin-unicorn@59.0.1: 1249 | resolution: {integrity: sha512-EtNXYuWPUmkgSU2E7Ttn57LbRREQesIP1BiLn7OZLKodopKfDXfBUkC/0j6mpw2JExwf43Uf3qLSvrSvppgy8Q==} 1250 | engines: {node: ^18.20.0 || ^20.10.0 || >=21.0.0} 1251 | peerDependencies: 1252 | eslint: '>=9.22.0' 1253 | 1254 | eslint-plugin-unused-imports@4.1.4: 1255 | resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==} 1256 | peerDependencies: 1257 | '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0 1258 | eslint: ^9.0.0 || ^8.0.0 1259 | peerDependenciesMeta: 1260 | '@typescript-eslint/eslint-plugin': 1261 | optional: true 1262 | 1263 | eslint-plugin-vue@10.1.0: 1264 | resolution: {integrity: sha512-/VTiJ1eSfNLw6lvG9ENySbGmcVvz6wZ9nA7ZqXlLBY2RkaF15iViYKxglWiIch12KiLAj0j1iXPYU6W4wTROFA==} 1265 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1266 | peerDependencies: 1267 | eslint: ^8.57.0 || ^9.0.0 1268 | vue-eslint-parser: ^10.0.0 1269 | 1270 | eslint-plugin-yml@1.18.0: 1271 | resolution: {integrity: sha512-9NtbhHRN2NJa/s3uHchO3qVVZw0vyOIvWlXWGaKCr/6l3Go62wsvJK5byiI6ZoYztDsow4GnS69BZD3GnqH3hA==} 1272 | engines: {node: ^14.17.0 || >=16.0.0} 1273 | peerDependencies: 1274 | eslint: '>=6.0.0' 1275 | 1276 | eslint-scope@8.3.0: 1277 | resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} 1278 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1279 | 1280 | eslint-visitor-keys@3.4.3: 1281 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1282 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1283 | 1284 | eslint-visitor-keys@4.2.0: 1285 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 1286 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1287 | 1288 | eslint@9.26.0: 1289 | resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} 1290 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1291 | hasBin: true 1292 | peerDependencies: 1293 | jiti: '*' 1294 | peerDependenciesMeta: 1295 | jiti: 1296 | optional: true 1297 | 1298 | espree@10.3.0: 1299 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 1300 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1301 | 1302 | espree@9.6.1: 1303 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} 1304 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1305 | 1306 | esquery@1.6.0: 1307 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1308 | engines: {node: '>=0.10'} 1309 | 1310 | esrecurse@4.3.0: 1311 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1312 | engines: {node: '>=4.0'} 1313 | 1314 | estraverse@5.3.0: 1315 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1316 | engines: {node: '>=4.0'} 1317 | 1318 | estree-walker@3.0.3: 1319 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 1320 | 1321 | esutils@2.0.3: 1322 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1323 | engines: {node: '>=0.10.0'} 1324 | 1325 | etag@1.8.1: 1326 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 1327 | engines: {node: '>= 0.6'} 1328 | 1329 | eventsource-parser@3.0.1: 1330 | resolution: {integrity: sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==} 1331 | engines: {node: '>=18.0.0'} 1332 | 1333 | eventsource@3.0.6: 1334 | resolution: {integrity: sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==} 1335 | engines: {node: '>=18.0.0'} 1336 | 1337 | expect-type@1.2.1: 1338 | resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} 1339 | engines: {node: '>=12.0.0'} 1340 | 1341 | express-rate-limit@7.5.0: 1342 | resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} 1343 | engines: {node: '>= 16'} 1344 | peerDependencies: 1345 | express: ^4.11 || 5 || ^5.0.0-beta.1 1346 | 1347 | express@5.1.0: 1348 | resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} 1349 | engines: {node: '>= 18'} 1350 | 1351 | exsolve@1.0.5: 1352 | resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} 1353 | 1354 | fast-deep-equal@3.1.3: 1355 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1356 | 1357 | fast-diff@1.3.0: 1358 | resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} 1359 | 1360 | fast-glob@3.3.3: 1361 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1362 | engines: {node: '>=8.6.0'} 1363 | 1364 | fast-json-stable-stringify@2.1.0: 1365 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1366 | 1367 | fast-levenshtein@2.0.6: 1368 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1369 | 1370 | fastq@1.19.1: 1371 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1372 | 1373 | fault@2.0.1: 1374 | resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} 1375 | 1376 | fdir@6.4.4: 1377 | resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} 1378 | peerDependencies: 1379 | picomatch: ^3 || ^4 1380 | peerDependenciesMeta: 1381 | picomatch: 1382 | optional: true 1383 | 1384 | file-entry-cache@8.0.0: 1385 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 1386 | engines: {node: '>=16.0.0'} 1387 | 1388 | fill-range@7.1.1: 1389 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1390 | engines: {node: '>=8'} 1391 | 1392 | finalhandler@2.1.0: 1393 | resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} 1394 | engines: {node: '>= 0.8'} 1395 | 1396 | find-up-simple@1.0.1: 1397 | resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} 1398 | engines: {node: '>=18'} 1399 | 1400 | find-up@5.0.0: 1401 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1402 | engines: {node: '>=10'} 1403 | 1404 | flat-cache@4.0.1: 1405 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 1406 | engines: {node: '>=16'} 1407 | 1408 | flatted@3.3.3: 1409 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 1410 | 1411 | format@0.2.2: 1412 | resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} 1413 | engines: {node: '>=0.4.x'} 1414 | 1415 | forwarded@0.2.0: 1416 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 1417 | engines: {node: '>= 0.6'} 1418 | 1419 | fresh@2.0.0: 1420 | resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} 1421 | engines: {node: '>= 0.8'} 1422 | 1423 | fsevents@2.3.3: 1424 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1425 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1426 | os: [darwin] 1427 | 1428 | function-bind@1.1.2: 1429 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1430 | 1431 | get-intrinsic@1.3.0: 1432 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1433 | engines: {node: '>= 0.4'} 1434 | 1435 | get-proto@1.0.1: 1436 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1437 | engines: {node: '>= 0.4'} 1438 | 1439 | get-tsconfig@4.10.0: 1440 | resolution: {integrity: sha512-kGzZ3LWWQcGIAmg6iWvXn0ei6WDtV26wzHRMwDSzmAbcXrTEXxHy6IehI6/4eT6VRKyMP1eF1VqwrVUmE/LR7A==} 1441 | 1442 | giget@2.0.0: 1443 | resolution: {integrity: sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==} 1444 | hasBin: true 1445 | 1446 | glob-parent@5.1.2: 1447 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1448 | engines: {node: '>= 6'} 1449 | 1450 | glob-parent@6.0.2: 1451 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1452 | engines: {node: '>=10.13.0'} 1453 | 1454 | globals@14.0.0: 1455 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1456 | engines: {node: '>=18'} 1457 | 1458 | globals@15.15.0: 1459 | resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} 1460 | engines: {node: '>=18'} 1461 | 1462 | globals@16.1.0: 1463 | resolution: {integrity: sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==} 1464 | engines: {node: '>=18'} 1465 | 1466 | gopd@1.2.0: 1467 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1468 | engines: {node: '>= 0.4'} 1469 | 1470 | graceful-fs@4.2.11: 1471 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1472 | 1473 | graphemer@1.4.0: 1474 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1475 | 1476 | has-flag@4.0.0: 1477 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1478 | engines: {node: '>=8'} 1479 | 1480 | has-symbols@1.1.0: 1481 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1482 | engines: {node: '>= 0.4'} 1483 | 1484 | hasown@2.0.2: 1485 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1486 | engines: {node: '>= 0.4'} 1487 | 1488 | hookable@5.5.3: 1489 | resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} 1490 | 1491 | http-errors@2.0.0: 1492 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 1493 | engines: {node: '>= 0.8'} 1494 | 1495 | iconv-lite@0.6.3: 1496 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1497 | engines: {node: '>=0.10.0'} 1498 | 1499 | ignore@5.3.2: 1500 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1501 | engines: {node: '>= 4'} 1502 | 1503 | import-fresh@3.3.1: 1504 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1505 | engines: {node: '>=6'} 1506 | 1507 | imurmurhash@0.1.4: 1508 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1509 | engines: {node: '>=0.8.19'} 1510 | 1511 | indent-string@5.0.0: 1512 | resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} 1513 | engines: {node: '>=12'} 1514 | 1515 | inherits@2.0.4: 1516 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1517 | 1518 | ipaddr.js@1.9.1: 1519 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 1520 | engines: {node: '>= 0.10'} 1521 | 1522 | is-builtin-module@5.0.0: 1523 | resolution: {integrity: sha512-f4RqJKBUe5rQkJ2eJEJBXSticB3hGbN9j0yxxMQFqIW89Jp9WYFtzfTcRlstDKVUTRzSOTLKRfO9vIztenwtxA==} 1524 | engines: {node: '>=18.20'} 1525 | 1526 | is-core-module@2.16.1: 1527 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1528 | engines: {node: '>= 0.4'} 1529 | 1530 | is-extglob@2.1.1: 1531 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1532 | engines: {node: '>=0.10.0'} 1533 | 1534 | is-glob@4.0.3: 1535 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1536 | engines: {node: '>=0.10.0'} 1537 | 1538 | is-number@7.0.0: 1539 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1540 | engines: {node: '>=0.12.0'} 1541 | 1542 | is-promise@4.0.0: 1543 | resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} 1544 | 1545 | isexe@2.0.0: 1546 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1547 | 1548 | jiti@2.4.2: 1549 | resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 1550 | hasBin: true 1551 | 1552 | js-tokens@9.0.1: 1553 | resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} 1554 | 1555 | js-yaml@4.1.0: 1556 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1557 | hasBin: true 1558 | 1559 | jsdoc-type-pratt-parser@4.1.0: 1560 | resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==} 1561 | engines: {node: '>=12.0.0'} 1562 | 1563 | jsesc@3.0.2: 1564 | resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} 1565 | engines: {node: '>=6'} 1566 | hasBin: true 1567 | 1568 | jsesc@3.1.0: 1569 | resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} 1570 | engines: {node: '>=6'} 1571 | hasBin: true 1572 | 1573 | json-buffer@3.0.1: 1574 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1575 | 1576 | json-schema-traverse@0.4.1: 1577 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1578 | 1579 | json-stable-stringify-without-jsonify@1.0.1: 1580 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1581 | 1582 | jsonc-eslint-parser@2.4.0: 1583 | resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} 1584 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1585 | 1586 | jsonc-parser@3.3.1: 1587 | resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} 1588 | 1589 | keyv@4.5.4: 1590 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1591 | 1592 | levn@0.4.1: 1593 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1594 | engines: {node: '>= 0.8.0'} 1595 | 1596 | local-pkg@1.1.1: 1597 | resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} 1598 | engines: {node: '>=14'} 1599 | 1600 | locate-path@6.0.0: 1601 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1602 | engines: {node: '>=10'} 1603 | 1604 | lodash.merge@4.6.2: 1605 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1606 | 1607 | lodash@4.17.21: 1608 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1609 | 1610 | longest-streak@3.1.0: 1611 | resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} 1612 | 1613 | loupe@3.1.3: 1614 | resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} 1615 | 1616 | magic-string@0.30.17: 1617 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1618 | 1619 | markdown-table@3.0.4: 1620 | resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} 1621 | 1622 | math-intrinsics@1.1.0: 1623 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1624 | engines: {node: '>= 0.4'} 1625 | 1626 | mdast-util-find-and-replace@3.0.2: 1627 | resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==} 1628 | 1629 | mdast-util-from-markdown@2.0.2: 1630 | resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} 1631 | 1632 | mdast-util-frontmatter@2.0.1: 1633 | resolution: {integrity: sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==} 1634 | 1635 | mdast-util-gfm-autolink-literal@2.0.1: 1636 | resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} 1637 | 1638 | mdast-util-gfm-footnote@2.1.0: 1639 | resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==} 1640 | 1641 | mdast-util-gfm-strikethrough@2.0.0: 1642 | resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} 1643 | 1644 | mdast-util-gfm-table@2.0.0: 1645 | resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} 1646 | 1647 | mdast-util-gfm-task-list-item@2.0.0: 1648 | resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} 1649 | 1650 | mdast-util-gfm@3.1.0: 1651 | resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} 1652 | 1653 | mdast-util-phrasing@4.1.0: 1654 | resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} 1655 | 1656 | mdast-util-to-markdown@2.1.2: 1657 | resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} 1658 | 1659 | mdast-util-to-string@4.0.0: 1660 | resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} 1661 | 1662 | media-typer@1.1.0: 1663 | resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} 1664 | engines: {node: '>= 0.8'} 1665 | 1666 | merge-descriptors@2.0.0: 1667 | resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} 1668 | engines: {node: '>=18'} 1669 | 1670 | merge2@1.4.1: 1671 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1672 | engines: {node: '>= 8'} 1673 | 1674 | micromark-core-commonmark@2.0.3: 1675 | resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==} 1676 | 1677 | micromark-extension-frontmatter@2.0.0: 1678 | resolution: {integrity: sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==} 1679 | 1680 | micromark-extension-gfm-autolink-literal@2.1.0: 1681 | resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==} 1682 | 1683 | micromark-extension-gfm-footnote@2.1.0: 1684 | resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==} 1685 | 1686 | micromark-extension-gfm-strikethrough@2.1.0: 1687 | resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==} 1688 | 1689 | micromark-extension-gfm-table@2.1.1: 1690 | resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==} 1691 | 1692 | micromark-extension-gfm-tagfilter@2.0.0: 1693 | resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==} 1694 | 1695 | micromark-extension-gfm-task-list-item@2.1.0: 1696 | resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==} 1697 | 1698 | micromark-extension-gfm@3.0.0: 1699 | resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==} 1700 | 1701 | micromark-factory-destination@2.0.1: 1702 | resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==} 1703 | 1704 | micromark-factory-label@2.0.1: 1705 | resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==} 1706 | 1707 | micromark-factory-space@2.0.1: 1708 | resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==} 1709 | 1710 | micromark-factory-title@2.0.1: 1711 | resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==} 1712 | 1713 | micromark-factory-whitespace@2.0.1: 1714 | resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==} 1715 | 1716 | micromark-util-character@2.1.1: 1717 | resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==} 1718 | 1719 | micromark-util-chunked@2.0.1: 1720 | resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==} 1721 | 1722 | micromark-util-classify-character@2.0.1: 1723 | resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==} 1724 | 1725 | micromark-util-combine-extensions@2.0.1: 1726 | resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==} 1727 | 1728 | micromark-util-decode-numeric-character-reference@2.0.2: 1729 | resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==} 1730 | 1731 | micromark-util-decode-string@2.0.1: 1732 | resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==} 1733 | 1734 | micromark-util-encode@2.0.1: 1735 | resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==} 1736 | 1737 | micromark-util-html-tag-name@2.0.1: 1738 | resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==} 1739 | 1740 | micromark-util-normalize-identifier@2.0.1: 1741 | resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==} 1742 | 1743 | micromark-util-resolve-all@2.0.1: 1744 | resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==} 1745 | 1746 | micromark-util-sanitize-uri@2.0.1: 1747 | resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==} 1748 | 1749 | micromark-util-subtokenize@2.1.0: 1750 | resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==} 1751 | 1752 | micromark-util-symbol@2.0.1: 1753 | resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==} 1754 | 1755 | micromark-util-types@2.0.2: 1756 | resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==} 1757 | 1758 | micromark@4.0.2: 1759 | resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==} 1760 | 1761 | micromatch@4.0.8: 1762 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1763 | engines: {node: '>=8.6'} 1764 | 1765 | mime-db@1.54.0: 1766 | resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} 1767 | engines: {node: '>= 0.6'} 1768 | 1769 | mime-types@3.0.1: 1770 | resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} 1771 | engines: {node: '>= 0.6'} 1772 | 1773 | min-indent@1.0.1: 1774 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} 1775 | engines: {node: '>=4'} 1776 | 1777 | minimatch@10.0.1: 1778 | resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} 1779 | engines: {node: 20 || >=22} 1780 | 1781 | minimatch@3.1.2: 1782 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1783 | 1784 | minimatch@9.0.5: 1785 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1786 | engines: {node: '>=16 || 14 >=14.17'} 1787 | 1788 | mlly@1.7.4: 1789 | resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} 1790 | 1791 | mri@1.2.0: 1792 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} 1793 | engines: {node: '>=4'} 1794 | 1795 | ms@2.1.3: 1796 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1797 | 1798 | nanoid@3.3.11: 1799 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1800 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1801 | hasBin: true 1802 | 1803 | napi-postinstall@0.2.3: 1804 | resolution: {integrity: sha512-Mi7JISo/4Ij2tDZ2xBE2WH+/KvVlkhA6juEjpEeRAVPNCpN3nxJo/5FhDNKgBcdmcmhaH6JjgST4xY/23ZYK0w==} 1805 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 1806 | hasBin: true 1807 | 1808 | natural-compare@1.4.0: 1809 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1810 | 1811 | natural-orderby@5.0.0: 1812 | resolution: {integrity: sha512-kKHJhxwpR/Okycz4HhQKKlhWe4ASEfPgkSWNmKFHd7+ezuQlxkA5cM3+XkBPvm1gmHen3w53qsYAv+8GwRrBlg==} 1813 | engines: {node: '>=18'} 1814 | 1815 | negotiator@1.0.0: 1816 | resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} 1817 | engines: {node: '>= 0.6'} 1818 | 1819 | node-fetch-native@1.6.6: 1820 | resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} 1821 | 1822 | node-releases@2.0.19: 1823 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} 1824 | 1825 | nth-check@2.1.1: 1826 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 1827 | 1828 | nypm@0.6.0: 1829 | resolution: {integrity: sha512-mn8wBFV9G9+UFHIrq+pZ2r2zL4aPau/by3kJb3cM7+5tQHMt6HGQB8FDIeKFYp8o0D2pnH6nVsO88N4AmUxIWg==} 1830 | engines: {node: ^14.16.0 || >=16.10.0} 1831 | hasBin: true 1832 | 1833 | object-assign@4.1.1: 1834 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1835 | engines: {node: '>=0.10.0'} 1836 | 1837 | object-inspect@1.13.4: 1838 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1839 | engines: {node: '>= 0.4'} 1840 | 1841 | ohash@2.0.11: 1842 | resolution: {integrity: sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==} 1843 | 1844 | on-finished@2.4.1: 1845 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 1846 | engines: {node: '>= 0.8'} 1847 | 1848 | once@1.4.0: 1849 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1850 | 1851 | optionator@0.9.4: 1852 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1853 | engines: {node: '>= 0.8.0'} 1854 | 1855 | oxc-resolver@7.0.1: 1856 | resolution: {integrity: sha512-9TrxkeIdlszOtIXZaPPM3ARs2dEVeANL5tmayrAWWowBYJh4ZEBrO1PqFN3wFHiOpx1+50GI4zvqLKpXa7tdfQ==} 1857 | 1858 | p-limit@3.1.0: 1859 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1860 | engines: {node: '>=10'} 1861 | 1862 | p-locate@5.0.0: 1863 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1864 | engines: {node: '>=10'} 1865 | 1866 | package-manager-detector@0.2.11: 1867 | resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==} 1868 | 1869 | package-manager-detector@1.3.0: 1870 | resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} 1871 | 1872 | parent-module@1.0.1: 1873 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1874 | engines: {node: '>=6'} 1875 | 1876 | parse-imports-exports@0.2.4: 1877 | resolution: {integrity: sha512-4s6vd6dx1AotCx/RCI2m7t7GCh5bDRUtGNvRfHSP2wbBQdMi67pPe7mtzmgwcaQ8VKK/6IB7Glfyu3qdZJPybQ==} 1878 | 1879 | parse-statements@1.0.11: 1880 | resolution: {integrity: sha512-HlsyYdMBnbPQ9Jr/VgJ1YF4scnldvJpJxCVx6KgqPL4dxppsWrJHCIIxQXMJrqGnsRkNPATbeMJ8Yxu7JMsYcA==} 1881 | 1882 | parseurl@1.3.3: 1883 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 1884 | engines: {node: '>= 0.8'} 1885 | 1886 | path-exists@4.0.0: 1887 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1888 | engines: {node: '>=8'} 1889 | 1890 | path-key@3.1.1: 1891 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1892 | engines: {node: '>=8'} 1893 | 1894 | path-parse@1.0.7: 1895 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1896 | 1897 | path-to-regexp@8.2.0: 1898 | resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} 1899 | engines: {node: '>=16'} 1900 | 1901 | pathe@2.0.3: 1902 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1903 | 1904 | pathval@2.0.0: 1905 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} 1906 | engines: {node: '>= 14.16'} 1907 | 1908 | perfect-debounce@1.0.0: 1909 | resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} 1910 | 1911 | picocolors@1.1.1: 1912 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1913 | 1914 | picomatch@2.3.1: 1915 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1916 | engines: {node: '>=8.6'} 1917 | 1918 | picomatch@4.0.2: 1919 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1920 | engines: {node: '>=12'} 1921 | 1922 | pkce-challenge@5.0.0: 1923 | resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} 1924 | engines: {node: '>=16.20.0'} 1925 | 1926 | pkg-types@1.3.1: 1927 | resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} 1928 | 1929 | pkg-types@2.1.0: 1930 | resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} 1931 | 1932 | pluralize@8.0.0: 1933 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} 1934 | engines: {node: '>=4'} 1935 | 1936 | pnpm-workspace-yaml@0.3.1: 1937 | resolution: {integrity: sha512-3nW5RLmREmZ8Pm8MbPsO2RM+99RRjYd25ynj3NV0cFsN7CcEl4sDFzgoFmSyduFwxFQ2Qbu3y2UdCh6HlyUOeA==} 1938 | 1939 | postcss-selector-parser@6.1.2: 1940 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} 1941 | engines: {node: '>=4'} 1942 | 1943 | postcss@8.5.3: 1944 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1945 | engines: {node: ^10 || ^12 || >=14} 1946 | 1947 | prelude-ls@1.2.1: 1948 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1949 | engines: {node: '>= 0.8.0'} 1950 | 1951 | prettier-linter-helpers@1.0.0: 1952 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} 1953 | engines: {node: '>=6.0.0'} 1954 | 1955 | prettier@3.5.3: 1956 | resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} 1957 | engines: {node: '>=14'} 1958 | hasBin: true 1959 | 1960 | proxy-addr@2.0.7: 1961 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1962 | engines: {node: '>= 0.10'} 1963 | 1964 | publint@0.3.5: 1965 | resolution: {integrity: sha512-/84pl/T/emCA5hHmNYqsE/x0Voikg278QmFwNiORYqnZgqeII2HSZ+aAGs4frfDpOCQlU1SAgYloz8ayJGMbIg==} 1966 | engines: {node: '>=18'} 1967 | hasBin: true 1968 | 1969 | punycode@2.3.1: 1970 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1971 | engines: {node: '>=6'} 1972 | 1973 | qs@6.14.0: 1974 | resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} 1975 | engines: {node: '>=0.6'} 1976 | 1977 | quansync@0.2.10: 1978 | resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} 1979 | 1980 | queue-microtask@1.2.3: 1981 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1982 | 1983 | range-parser@1.2.1: 1984 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 1985 | engines: {node: '>= 0.6'} 1986 | 1987 | raw-body@3.0.0: 1988 | resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} 1989 | engines: {node: '>= 0.8'} 1990 | 1991 | rc9@2.1.2: 1992 | resolution: {integrity: sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==} 1993 | 1994 | readdirp@4.1.2: 1995 | resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 1996 | engines: {node: '>= 14.18.0'} 1997 | 1998 | refa@0.12.1: 1999 | resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} 2000 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 2001 | 2002 | regexp-ast-analysis@0.7.1: 2003 | resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} 2004 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 2005 | 2006 | regexp-tree@0.1.27: 2007 | resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} 2008 | hasBin: true 2009 | 2010 | regjsparser@0.12.0: 2011 | resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} 2012 | hasBin: true 2013 | 2014 | resolve-from@4.0.0: 2015 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 2016 | engines: {node: '>=4'} 2017 | 2018 | resolve-pkg-maps@1.0.0: 2019 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 2020 | 2021 | resolve@1.22.10: 2022 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 2023 | engines: {node: '>= 0.4'} 2024 | hasBin: true 2025 | 2026 | reusify@1.1.0: 2027 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 2028 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 2029 | 2030 | rolldown-plugin-dts@0.11.2: 2031 | resolution: {integrity: sha512-iJGnIcZU7g6sLcU1mljQg8mhKSbfFiQM4jDH1QmOGDabri/06Qs4TU5NzIDRzWxHkd6CfZIkO5axLohF+YHiNQ==} 2032 | engines: {node: '>=20.18.0'} 2033 | peerDependencies: 2034 | rolldown: ^1.0.0-beta.8-commit.534fde3 2035 | typescript: ^5.0.0 2036 | peerDependenciesMeta: 2037 | typescript: 2038 | optional: true 2039 | 2040 | rolldown@1.0.0-beta.8-commit.534fde3: 2041 | resolution: {integrity: sha512-56dNFF0SVSQv3IZRhfAQg0PCPEyXAzZWtFNFjCj31XnsssuBUQe+CTbd+NVAsnJHIe9B7zBF7CFHlnkVCd/U2A==} 2042 | hasBin: true 2043 | peerDependencies: 2044 | '@oxc-project/runtime': 0.68.1 2045 | peerDependenciesMeta: 2046 | '@oxc-project/runtime': 2047 | optional: true 2048 | 2049 | rollup@4.40.2: 2050 | resolution: {integrity: sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==} 2051 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2052 | hasBin: true 2053 | 2054 | router@2.2.0: 2055 | resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} 2056 | engines: {node: '>= 18'} 2057 | 2058 | run-parallel@1.2.0: 2059 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2060 | 2061 | sade@1.8.1: 2062 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} 2063 | engines: {node: '>=6'} 2064 | 2065 | safe-buffer@5.2.1: 2066 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 2067 | 2068 | safer-buffer@2.1.2: 2069 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2070 | 2071 | scslre@0.3.0: 2072 | resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} 2073 | engines: {node: ^14.0.0 || >=16.0.0} 2074 | 2075 | semver@7.7.1: 2076 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 2077 | engines: {node: '>=10'} 2078 | hasBin: true 2079 | 2080 | send@1.2.0: 2081 | resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} 2082 | engines: {node: '>= 18'} 2083 | 2084 | serve-static@2.2.0: 2085 | resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} 2086 | engines: {node: '>= 18'} 2087 | 2088 | setprototypeof@1.2.0: 2089 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 2090 | 2091 | shebang-command@2.0.0: 2092 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2093 | engines: {node: '>=8'} 2094 | 2095 | shebang-regex@3.0.0: 2096 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2097 | engines: {node: '>=8'} 2098 | 2099 | side-channel-list@1.0.0: 2100 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 2101 | engines: {node: '>= 0.4'} 2102 | 2103 | side-channel-map@1.0.1: 2104 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 2105 | engines: {node: '>= 0.4'} 2106 | 2107 | side-channel-weakmap@1.0.2: 2108 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 2109 | engines: {node: '>= 0.4'} 2110 | 2111 | side-channel@1.1.0: 2112 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 2113 | engines: {node: '>= 0.4'} 2114 | 2115 | siginfo@2.0.0: 2116 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 2117 | 2118 | source-map-js@1.2.1: 2119 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 2120 | engines: {node: '>=0.10.0'} 2121 | 2122 | spdx-exceptions@2.5.0: 2123 | resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} 2124 | 2125 | spdx-expression-parse@4.0.0: 2126 | resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} 2127 | 2128 | spdx-license-ids@3.0.21: 2129 | resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} 2130 | 2131 | stable-hash@0.0.5: 2132 | resolution: {integrity: sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==} 2133 | 2134 | stackback@0.0.2: 2135 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 2136 | 2137 | statuses@2.0.1: 2138 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 2139 | engines: {node: '>= 0.8'} 2140 | 2141 | std-env@3.9.0: 2142 | resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} 2143 | 2144 | strip-indent@4.0.0: 2145 | resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} 2146 | engines: {node: '>=12'} 2147 | 2148 | strip-json-comments@3.1.1: 2149 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 2150 | engines: {node: '>=8'} 2151 | 2152 | supports-color@7.2.0: 2153 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2154 | engines: {node: '>=8'} 2155 | 2156 | supports-preserve-symlinks-flag@1.0.0: 2157 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 2158 | engines: {node: '>= 0.4'} 2159 | 2160 | synckit@0.10.3: 2161 | resolution: {integrity: sha512-R1urvuyiTaWfeCggqEvpDJwAlDVdsT9NM+IP//Tk2x7qHCkSvBk/fwFgw/TLAHzZlrAnnazMcRw0ZD8HlYFTEQ==} 2162 | engines: {node: ^14.18.0 || >=16.0.0} 2163 | 2164 | synckit@0.11.4: 2165 | resolution: {integrity: sha512-Q/XQKRaJiLiFIBNN+mndW7S/RHxvwzuZS6ZwmRzUBqJBv/5QIKCEwkBC8GBf8EQJKYnaFs0wOZbKTXBPj8L9oQ==} 2166 | engines: {node: ^14.18.0 || >=16.0.0} 2167 | 2168 | tapable@2.2.1: 2169 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 2170 | engines: {node: '>=6'} 2171 | 2172 | tinybench@2.9.0: 2173 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 2174 | 2175 | tinyexec@0.3.2: 2176 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 2177 | 2178 | tinyexec@1.0.1: 2179 | resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} 2180 | 2181 | tinyglobby@0.2.13: 2182 | resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} 2183 | engines: {node: '>=12.0.0'} 2184 | 2185 | tinypool@1.0.2: 2186 | resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} 2187 | engines: {node: ^18.0.0 || >=20.0.0} 2188 | 2189 | tinyrainbow@2.0.0: 2190 | resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} 2191 | engines: {node: '>=14.0.0'} 2192 | 2193 | tinyspy@3.0.2: 2194 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} 2195 | engines: {node: '>=14.0.0'} 2196 | 2197 | to-regex-range@5.0.1: 2198 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2199 | engines: {node: '>=8.0'} 2200 | 2201 | toidentifier@1.0.1: 2202 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 2203 | engines: {node: '>=0.6'} 2204 | 2205 | ts-api-utils@2.1.0: 2206 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 2207 | engines: {node: '>=18.12'} 2208 | peerDependencies: 2209 | typescript: '>=4.8.4' 2210 | 2211 | tsdown@0.11.1: 2212 | resolution: {integrity: sha512-VtooVG/dMeIddux3AG5fYatl9WEAS42A+pQVuHWrE3doGo1ZW9A57gT477x/hL7jxkq52srv3zKyrp2hyFdDng==} 2213 | engines: {node: '>=18.0.0'} 2214 | hasBin: true 2215 | peerDependencies: 2216 | publint: ^0.3.0 2217 | unplugin-lightningcss: ^0.3.3 2218 | unplugin-unused: ^0.4.0 2219 | peerDependenciesMeta: 2220 | publint: 2221 | optional: true 2222 | unplugin-lightningcss: 2223 | optional: true 2224 | unplugin-unused: 2225 | optional: true 2226 | 2227 | tslib@2.8.1: 2228 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 2229 | 2230 | tsx@4.19.4: 2231 | resolution: {integrity: sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==} 2232 | engines: {node: '>=18.0.0'} 2233 | hasBin: true 2234 | 2235 | type-check@0.4.0: 2236 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 2237 | engines: {node: '>= 0.8.0'} 2238 | 2239 | type-is@2.0.1: 2240 | resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} 2241 | engines: {node: '>= 0.6'} 2242 | 2243 | typescript-eslint@8.32.0: 2244 | resolution: {integrity: sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==} 2245 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2246 | peerDependencies: 2247 | eslint: ^8.57.0 || ^9.0.0 2248 | typescript: '>=4.8.4 <5.9.0' 2249 | 2250 | typescript@5.8.3: 2251 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} 2252 | engines: {node: '>=14.17'} 2253 | hasBin: true 2254 | 2255 | ufo@1.6.1: 2256 | resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} 2257 | 2258 | unconfig@7.3.2: 2259 | resolution: {integrity: sha512-nqG5NNL2wFVGZ0NA/aCFw0oJ2pxSf1lwg4Z5ill8wd7K4KX/rQbHlwbh+bjctXL5Ly1xtzHenHGOK0b+lG6JVg==} 2260 | 2261 | undici-types@6.21.0: 2262 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 2263 | 2264 | unist-util-is@6.0.0: 2265 | resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} 2266 | 2267 | unist-util-stringify-position@4.0.0: 2268 | resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} 2269 | 2270 | unist-util-visit-parents@6.0.1: 2271 | resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} 2272 | 2273 | unist-util-visit@5.0.0: 2274 | resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} 2275 | 2276 | unpipe@1.0.0: 2277 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 2278 | engines: {node: '>= 0.8'} 2279 | 2280 | unplugin-unused@0.4.1: 2281 | resolution: {integrity: sha512-qPZXTaViFcUJIIQ6KeivWD5dgvyimnubylap86PJELJpcdizOJ8ASgNfipm9QXiZyN6sBUu8o265Q5qqpYifDA==} 2282 | engines: {node: '>=18.12.0'} 2283 | 2284 | unplugin-utils@0.2.4: 2285 | resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} 2286 | engines: {node: '>=18.12.0'} 2287 | 2288 | unplugin@2.3.2: 2289 | resolution: {integrity: sha512-3n7YA46rROb3zSj8fFxtxC/PqoyvYQ0llwz9wtUPUutr9ig09C8gGo5CWCwHrUzlqC1LLR43kxp5vEIyH1ac1w==} 2290 | engines: {node: '>=18.12.0'} 2291 | 2292 | unrs-resolver@1.7.2: 2293 | resolution: {integrity: sha512-BBKpaylOW8KbHsu378Zky/dGh4ckT/4NW/0SHRABdqRLcQJ2dAOjDo9g97p04sWflm0kqPqpUatxReNV/dqI5A==} 2294 | 2295 | update-browserslist-db@1.1.3: 2296 | resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} 2297 | hasBin: true 2298 | peerDependencies: 2299 | browserslist: '>= 4.21.0' 2300 | 2301 | uri-js@4.4.1: 2302 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 2303 | 2304 | util-deprecate@1.0.2: 2305 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2306 | 2307 | vary@1.1.2: 2308 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 2309 | engines: {node: '>= 0.8'} 2310 | 2311 | vite-node@3.1.3: 2312 | resolution: {integrity: sha512-uHV4plJ2IxCl4u1up1FQRrqclylKAogbtBfOTwcuJ28xFi+89PZ57BRh+naIRvH70HPwxy5QHYzg1OrEaC7AbA==} 2313 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 2314 | hasBin: true 2315 | 2316 | vite@6.3.5: 2317 | resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} 2318 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 2319 | hasBin: true 2320 | peerDependencies: 2321 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 2322 | jiti: '>=1.21.0' 2323 | less: '*' 2324 | lightningcss: ^1.21.0 2325 | sass: '*' 2326 | sass-embedded: '*' 2327 | stylus: '*' 2328 | sugarss: '*' 2329 | terser: ^5.16.0 2330 | tsx: ^4.8.1 2331 | yaml: ^2.4.2 2332 | peerDependenciesMeta: 2333 | '@types/node': 2334 | optional: true 2335 | jiti: 2336 | optional: true 2337 | less: 2338 | optional: true 2339 | lightningcss: 2340 | optional: true 2341 | sass: 2342 | optional: true 2343 | sass-embedded: 2344 | optional: true 2345 | stylus: 2346 | optional: true 2347 | sugarss: 2348 | optional: true 2349 | terser: 2350 | optional: true 2351 | tsx: 2352 | optional: true 2353 | yaml: 2354 | optional: true 2355 | 2356 | vitest@3.1.3: 2357 | resolution: {integrity: sha512-188iM4hAHQ0km23TN/adso1q5hhwKqUpv+Sd6p5sOuh6FhQnRNW3IsiIpvxqahtBabsJ2SLZgmGSpcYK4wQYJw==} 2358 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 2359 | hasBin: true 2360 | peerDependencies: 2361 | '@edge-runtime/vm': '*' 2362 | '@types/debug': ^4.1.12 2363 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 2364 | '@vitest/browser': 3.1.3 2365 | '@vitest/ui': 3.1.3 2366 | happy-dom: '*' 2367 | jsdom: '*' 2368 | peerDependenciesMeta: 2369 | '@edge-runtime/vm': 2370 | optional: true 2371 | '@types/debug': 2372 | optional: true 2373 | '@types/node': 2374 | optional: true 2375 | '@vitest/browser': 2376 | optional: true 2377 | '@vitest/ui': 2378 | optional: true 2379 | happy-dom: 2380 | optional: true 2381 | jsdom: 2382 | optional: true 2383 | 2384 | vue-eslint-parser@10.1.3: 2385 | resolution: {integrity: sha512-dbCBnd2e02dYWsXoqX5yKUZlOt+ExIpq7hmHKPb5ZqKcjf++Eo0hMseFTZMLKThrUk61m+Uv6A2YSBve6ZvuDQ==} 2386 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 2387 | peerDependencies: 2388 | eslint: ^8.57.0 || ^9.0.0 2389 | 2390 | webpack-virtual-modules@0.6.2: 2391 | resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} 2392 | 2393 | which@2.0.2: 2394 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2395 | engines: {node: '>= 8'} 2396 | hasBin: true 2397 | 2398 | why-is-node-running@2.3.0: 2399 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 2400 | engines: {node: '>=8'} 2401 | hasBin: true 2402 | 2403 | word-wrap@1.2.5: 2404 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2405 | engines: {node: '>=0.10.0'} 2406 | 2407 | wrappy@1.0.2: 2408 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2409 | 2410 | xml-name-validator@4.0.0: 2411 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} 2412 | engines: {node: '>=12'} 2413 | 2414 | yaml-eslint-parser@1.3.0: 2415 | resolution: {integrity: sha512-E/+VitOorXSLiAqtTd7Yqax0/pAS3xaYMP+AUUJGOK1OZG3rhcj9fcJOM5HJ2VrP1FrStVCWr1muTfQCdj4tAA==} 2416 | engines: {node: ^14.17.0 || >=16.0.0} 2417 | 2418 | yaml@2.7.1: 2419 | resolution: {integrity: sha512-10ULxpnOCQXxJvBgxsn9ptjq6uviG/htZKk9veJGhlqn3w/DxQ631zFF+nlQXLwmImeS5amR2dl2U8sg6U9jsQ==} 2420 | engines: {node: '>= 14'} 2421 | hasBin: true 2422 | 2423 | yocto-queue@0.1.0: 2424 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2425 | engines: {node: '>=10'} 2426 | 2427 | zod-to-json-schema@3.24.5: 2428 | resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} 2429 | peerDependencies: 2430 | zod: ^3.24.1 2431 | 2432 | zod@3.24.4: 2433 | resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} 2434 | 2435 | zwitch@2.0.4: 2436 | resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} 2437 | 2438 | snapshots: 2439 | 2440 | '@babel/generator@7.27.1': 2441 | dependencies: 2442 | '@babel/parser': 7.27.2 2443 | '@babel/types': 7.27.1 2444 | '@jridgewell/gen-mapping': 0.3.8 2445 | '@jridgewell/trace-mapping': 0.3.25 2446 | jsesc: 3.1.0 2447 | 2448 | '@babel/helper-string-parser@7.27.1': {} 2449 | 2450 | '@babel/helper-validator-identifier@7.27.1': {} 2451 | 2452 | '@babel/parser@7.27.2': 2453 | dependencies: 2454 | '@babel/types': 7.27.1 2455 | 2456 | '@babel/types@7.27.1': 2457 | dependencies: 2458 | '@babel/helper-string-parser': 7.27.1 2459 | '@babel/helper-validator-identifier': 7.27.1 2460 | 2461 | '@emnapi/core@1.4.3': 2462 | dependencies: 2463 | '@emnapi/wasi-threads': 1.0.2 2464 | tslib: 2.8.1 2465 | optional: true 2466 | 2467 | '@emnapi/runtime@1.4.3': 2468 | dependencies: 2469 | tslib: 2.8.1 2470 | optional: true 2471 | 2472 | '@emnapi/wasi-threads@1.0.2': 2473 | dependencies: 2474 | tslib: 2.8.1 2475 | optional: true 2476 | 2477 | '@es-joy/jsdoccomment@0.49.0': 2478 | dependencies: 2479 | comment-parser: 1.4.1 2480 | esquery: 1.6.0 2481 | jsdoc-type-pratt-parser: 4.1.0 2482 | 2483 | '@es-joy/jsdoccomment@0.50.0': 2484 | dependencies: 2485 | '@types/eslint': 9.6.1 2486 | '@types/estree': 1.0.7 2487 | '@typescript-eslint/types': 8.32.0 2488 | comment-parser: 1.4.1 2489 | esquery: 1.6.0 2490 | jsdoc-type-pratt-parser: 4.1.0 2491 | 2492 | '@esbuild/aix-ppc64@0.25.4': 2493 | optional: true 2494 | 2495 | '@esbuild/android-arm64@0.25.4': 2496 | optional: true 2497 | 2498 | '@esbuild/android-arm@0.25.4': 2499 | optional: true 2500 | 2501 | '@esbuild/android-x64@0.25.4': 2502 | optional: true 2503 | 2504 | '@esbuild/darwin-arm64@0.25.4': 2505 | optional: true 2506 | 2507 | '@esbuild/darwin-x64@0.25.4': 2508 | optional: true 2509 | 2510 | '@esbuild/freebsd-arm64@0.25.4': 2511 | optional: true 2512 | 2513 | '@esbuild/freebsd-x64@0.25.4': 2514 | optional: true 2515 | 2516 | '@esbuild/linux-arm64@0.25.4': 2517 | optional: true 2518 | 2519 | '@esbuild/linux-arm@0.25.4': 2520 | optional: true 2521 | 2522 | '@esbuild/linux-ia32@0.25.4': 2523 | optional: true 2524 | 2525 | '@esbuild/linux-loong64@0.25.4': 2526 | optional: true 2527 | 2528 | '@esbuild/linux-mips64el@0.25.4': 2529 | optional: true 2530 | 2531 | '@esbuild/linux-ppc64@0.25.4': 2532 | optional: true 2533 | 2534 | '@esbuild/linux-riscv64@0.25.4': 2535 | optional: true 2536 | 2537 | '@esbuild/linux-s390x@0.25.4': 2538 | optional: true 2539 | 2540 | '@esbuild/linux-x64@0.25.4': 2541 | optional: true 2542 | 2543 | '@esbuild/netbsd-arm64@0.25.4': 2544 | optional: true 2545 | 2546 | '@esbuild/netbsd-x64@0.25.4': 2547 | optional: true 2548 | 2549 | '@esbuild/openbsd-arm64@0.25.4': 2550 | optional: true 2551 | 2552 | '@esbuild/openbsd-x64@0.25.4': 2553 | optional: true 2554 | 2555 | '@esbuild/sunos-x64@0.25.4': 2556 | optional: true 2557 | 2558 | '@esbuild/win32-arm64@0.25.4': 2559 | optional: true 2560 | 2561 | '@esbuild/win32-ia32@0.25.4': 2562 | optional: true 2563 | 2564 | '@esbuild/win32-x64@0.25.4': 2565 | optional: true 2566 | 2567 | '@eslint-community/eslint-plugin-eslint-comments@4.5.0(eslint@9.26.0(jiti@2.4.2))': 2568 | dependencies: 2569 | escape-string-regexp: 4.0.0 2570 | eslint: 9.26.0(jiti@2.4.2) 2571 | ignore: 5.3.2 2572 | 2573 | '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@2.4.2))': 2574 | dependencies: 2575 | eslint: 9.26.0(jiti@2.4.2) 2576 | eslint-visitor-keys: 3.4.3 2577 | 2578 | '@eslint-community/regexpp@4.12.1': {} 2579 | 2580 | '@eslint/compat@1.2.9(eslint@9.26.0(jiti@2.4.2))': 2581 | optionalDependencies: 2582 | eslint: 9.26.0(jiti@2.4.2) 2583 | 2584 | '@eslint/config-array@0.20.0': 2585 | dependencies: 2586 | '@eslint/object-schema': 2.1.6 2587 | debug: 4.4.0 2588 | minimatch: 3.1.2 2589 | transitivePeerDependencies: 2590 | - supports-color 2591 | 2592 | '@eslint/config-helpers@0.2.2': {} 2593 | 2594 | '@eslint/core@0.10.0': 2595 | dependencies: 2596 | '@types/json-schema': 7.0.15 2597 | 2598 | '@eslint/core@0.13.0': 2599 | dependencies: 2600 | '@types/json-schema': 7.0.15 2601 | 2602 | '@eslint/eslintrc@3.3.1': 2603 | dependencies: 2604 | ajv: 6.12.6 2605 | debug: 4.4.0 2606 | espree: 10.3.0 2607 | globals: 14.0.0 2608 | ignore: 5.3.2 2609 | import-fresh: 3.3.1 2610 | js-yaml: 4.1.0 2611 | minimatch: 3.1.2 2612 | strip-json-comments: 3.1.1 2613 | transitivePeerDependencies: 2614 | - supports-color 2615 | 2616 | '@eslint/js@9.26.0': {} 2617 | 2618 | '@eslint/markdown@6.4.0': 2619 | dependencies: 2620 | '@eslint/core': 0.10.0 2621 | '@eslint/plugin-kit': 0.2.8 2622 | mdast-util-from-markdown: 2.0.2 2623 | mdast-util-frontmatter: 2.0.1 2624 | mdast-util-gfm: 3.1.0 2625 | micromark-extension-frontmatter: 2.0.0 2626 | micromark-extension-gfm: 3.0.0 2627 | transitivePeerDependencies: 2628 | - supports-color 2629 | 2630 | '@eslint/object-schema@2.1.6': {} 2631 | 2632 | '@eslint/plugin-kit@0.2.8': 2633 | dependencies: 2634 | '@eslint/core': 0.13.0 2635 | levn: 0.4.1 2636 | 2637 | '@humanfs/core@0.19.1': {} 2638 | 2639 | '@humanfs/node@0.16.6': 2640 | dependencies: 2641 | '@humanfs/core': 0.19.1 2642 | '@humanwhocodes/retry': 0.3.1 2643 | 2644 | '@humanwhocodes/module-importer@1.0.1': {} 2645 | 2646 | '@humanwhocodes/retry@0.3.1': {} 2647 | 2648 | '@humanwhocodes/retry@0.4.3': {} 2649 | 2650 | '@jridgewell/gen-mapping@0.3.8': 2651 | dependencies: 2652 | '@jridgewell/set-array': 1.2.1 2653 | '@jridgewell/sourcemap-codec': 1.5.0 2654 | '@jridgewell/trace-mapping': 0.3.25 2655 | 2656 | '@jridgewell/resolve-uri@3.1.2': {} 2657 | 2658 | '@jridgewell/set-array@1.2.1': {} 2659 | 2660 | '@jridgewell/sourcemap-codec@1.5.0': {} 2661 | 2662 | '@jridgewell/trace-mapping@0.3.25': 2663 | dependencies: 2664 | '@jridgewell/resolve-uri': 3.1.2 2665 | '@jridgewell/sourcemap-codec': 1.5.0 2666 | 2667 | '@modelcontextprotocol/sdk@1.11.1': 2668 | dependencies: 2669 | content-type: 1.0.5 2670 | cors: 2.8.5 2671 | cross-spawn: 7.0.6 2672 | eventsource: 3.0.6 2673 | express: 5.1.0 2674 | express-rate-limit: 7.5.0(express@5.1.0) 2675 | pkce-challenge: 5.0.0 2676 | raw-body: 3.0.0 2677 | zod: 3.24.4 2678 | zod-to-json-schema: 3.24.5(zod@3.24.4) 2679 | transitivePeerDependencies: 2680 | - supports-color 2681 | 2682 | '@napi-rs/wasm-runtime@0.2.9': 2683 | dependencies: 2684 | '@emnapi/core': 1.4.3 2685 | '@emnapi/runtime': 1.4.3 2686 | '@tybys/wasm-util': 0.9.0 2687 | optional: true 2688 | 2689 | '@nodelib/fs.scandir@2.1.5': 2690 | dependencies: 2691 | '@nodelib/fs.stat': 2.0.5 2692 | run-parallel: 1.2.0 2693 | 2694 | '@nodelib/fs.stat@2.0.5': {} 2695 | 2696 | '@nodelib/fs.walk@1.2.8': 2697 | dependencies: 2698 | '@nodelib/fs.scandir': 2.1.5 2699 | fastq: 1.19.1 2700 | 2701 | '@oxc-project/types@0.68.1': {} 2702 | 2703 | '@oxc-resolver/binding-darwin-arm64@7.0.1': 2704 | optional: true 2705 | 2706 | '@oxc-resolver/binding-darwin-x64@7.0.1': 2707 | optional: true 2708 | 2709 | '@oxc-resolver/binding-freebsd-x64@7.0.1': 2710 | optional: true 2711 | 2712 | '@oxc-resolver/binding-linux-arm-gnueabihf@7.0.1': 2713 | optional: true 2714 | 2715 | '@oxc-resolver/binding-linux-arm64-gnu@7.0.1': 2716 | optional: true 2717 | 2718 | '@oxc-resolver/binding-linux-arm64-musl@7.0.1': 2719 | optional: true 2720 | 2721 | '@oxc-resolver/binding-linux-riscv64-gnu@7.0.1': 2722 | optional: true 2723 | 2724 | '@oxc-resolver/binding-linux-s390x-gnu@7.0.1': 2725 | optional: true 2726 | 2727 | '@oxc-resolver/binding-linux-x64-gnu@7.0.1': 2728 | optional: true 2729 | 2730 | '@oxc-resolver/binding-linux-x64-musl@7.0.1': 2731 | optional: true 2732 | 2733 | '@oxc-resolver/binding-wasm32-wasi@7.0.1': 2734 | dependencies: 2735 | '@napi-rs/wasm-runtime': 0.2.9 2736 | optional: true 2737 | 2738 | '@oxc-resolver/binding-win32-arm64-msvc@7.0.1': 2739 | optional: true 2740 | 2741 | '@oxc-resolver/binding-win32-x64-msvc@7.0.1': 2742 | optional: true 2743 | 2744 | '@pkgr/core@0.2.4': {} 2745 | 2746 | '@publint/pack@0.1.2': 2747 | optional: true 2748 | 2749 | '@quansync/fs@0.1.2': 2750 | dependencies: 2751 | quansync: 0.2.10 2752 | 2753 | '@rolldown/binding-darwin-arm64@1.0.0-beta.8-commit.534fde3': 2754 | optional: true 2755 | 2756 | '@rolldown/binding-darwin-x64@1.0.0-beta.8-commit.534fde3': 2757 | optional: true 2758 | 2759 | '@rolldown/binding-freebsd-x64@1.0.0-beta.8-commit.534fde3': 2760 | optional: true 2761 | 2762 | '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.8-commit.534fde3': 2763 | optional: true 2764 | 2765 | '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.8-commit.534fde3': 2766 | optional: true 2767 | 2768 | '@rolldown/binding-linux-arm64-musl@1.0.0-beta.8-commit.534fde3': 2769 | optional: true 2770 | 2771 | '@rolldown/binding-linux-x64-gnu@1.0.0-beta.8-commit.534fde3': 2772 | optional: true 2773 | 2774 | '@rolldown/binding-linux-x64-musl@1.0.0-beta.8-commit.534fde3': 2775 | optional: true 2776 | 2777 | '@rolldown/binding-wasm32-wasi@1.0.0-beta.8-commit.534fde3': 2778 | dependencies: 2779 | '@napi-rs/wasm-runtime': 0.2.9 2780 | optional: true 2781 | 2782 | '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.8-commit.534fde3': 2783 | optional: true 2784 | 2785 | '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.8-commit.534fde3': 2786 | optional: true 2787 | 2788 | '@rolldown/binding-win32-x64-msvc@1.0.0-beta.8-commit.534fde3': 2789 | optional: true 2790 | 2791 | '@rollup/rollup-android-arm-eabi@4.40.2': 2792 | optional: true 2793 | 2794 | '@rollup/rollup-android-arm64@4.40.2': 2795 | optional: true 2796 | 2797 | '@rollup/rollup-darwin-arm64@4.40.2': 2798 | optional: true 2799 | 2800 | '@rollup/rollup-darwin-x64@4.40.2': 2801 | optional: true 2802 | 2803 | '@rollup/rollup-freebsd-arm64@4.40.2': 2804 | optional: true 2805 | 2806 | '@rollup/rollup-freebsd-x64@4.40.2': 2807 | optional: true 2808 | 2809 | '@rollup/rollup-linux-arm-gnueabihf@4.40.2': 2810 | optional: true 2811 | 2812 | '@rollup/rollup-linux-arm-musleabihf@4.40.2': 2813 | optional: true 2814 | 2815 | '@rollup/rollup-linux-arm64-gnu@4.40.2': 2816 | optional: true 2817 | 2818 | '@rollup/rollup-linux-arm64-musl@4.40.2': 2819 | optional: true 2820 | 2821 | '@rollup/rollup-linux-loongarch64-gnu@4.40.2': 2822 | optional: true 2823 | 2824 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': 2825 | optional: true 2826 | 2827 | '@rollup/rollup-linux-riscv64-gnu@4.40.2': 2828 | optional: true 2829 | 2830 | '@rollup/rollup-linux-riscv64-musl@4.40.2': 2831 | optional: true 2832 | 2833 | '@rollup/rollup-linux-s390x-gnu@4.40.2': 2834 | optional: true 2835 | 2836 | '@rollup/rollup-linux-x64-gnu@4.40.2': 2837 | optional: true 2838 | 2839 | '@rollup/rollup-linux-x64-musl@4.40.2': 2840 | optional: true 2841 | 2842 | '@rollup/rollup-win32-arm64-msvc@4.40.2': 2843 | optional: true 2844 | 2845 | '@rollup/rollup-win32-ia32-msvc@4.40.2': 2846 | optional: true 2847 | 2848 | '@rollup/rollup-win32-x64-msvc@4.40.2': 2849 | optional: true 2850 | 2851 | '@sxzz/eslint-config@7.0.0(@types/eslint@9.6.1)(@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': 2852 | dependencies: 2853 | '@eslint-community/eslint-plugin-eslint-comments': 4.5.0(eslint@9.26.0(jiti@2.4.2)) 2854 | '@eslint/js': 9.26.0 2855 | '@eslint/markdown': 6.4.0 2856 | eslint: 9.26.0(jiti@2.4.2) 2857 | eslint-config-flat-gitignore: 2.1.0(eslint@9.26.0(jiti@2.4.2)) 2858 | eslint-config-prettier: 10.1.3(eslint@9.26.0(jiti@2.4.2)) 2859 | eslint-flat-config-utils: 2.0.1 2860 | eslint-plugin-antfu: 3.1.1(eslint@9.26.0(jiti@2.4.2)) 2861 | eslint-plugin-command: 3.2.0(eslint@9.26.0(jiti@2.4.2)) 2862 | eslint-plugin-de-morgan: 1.2.1(eslint@9.26.0(jiti@2.4.2)) 2863 | eslint-plugin-import-x: 4.11.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2864 | eslint-plugin-jsdoc: 50.6.11(eslint@9.26.0(jiti@2.4.2)) 2865 | eslint-plugin-jsonc: 2.20.0(eslint@9.26.0(jiti@2.4.2)) 2866 | eslint-plugin-n: 17.17.0(eslint@9.26.0(jiti@2.4.2)) 2867 | eslint-plugin-perfectionist: 4.12.3(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2868 | eslint-plugin-pnpm: 0.3.1(eslint@9.26.0(jiti@2.4.2)) 2869 | eslint-plugin-prettier: 5.4.0(@types/eslint@9.6.1)(eslint-config-prettier@10.1.3(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3) 2870 | eslint-plugin-regexp: 2.7.0(eslint@9.26.0(jiti@2.4.2)) 2871 | eslint-plugin-sxzz: 0.2.2(eslint@9.26.0(jiti@2.4.2)) 2872 | eslint-plugin-unicorn: 59.0.1(eslint@9.26.0(jiti@2.4.2)) 2873 | eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2)) 2874 | eslint-plugin-vue: 10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))) 2875 | eslint-plugin-yml: 1.18.0(eslint@9.26.0(jiti@2.4.2)) 2876 | globals: 16.1.0 2877 | jsonc-eslint-parser: 2.4.0 2878 | local-pkg: 1.1.1 2879 | prettier: 3.5.3 2880 | typescript-eslint: 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2881 | vue-eslint-parser: 10.1.3(eslint@9.26.0(jiti@2.4.2)) 2882 | yaml-eslint-parser: 1.3.0 2883 | transitivePeerDependencies: 2884 | - '@eslint/json' 2885 | - '@types/eslint' 2886 | - '@typescript-eslint/eslint-plugin' 2887 | - supports-color 2888 | - typescript 2889 | 2890 | '@sxzz/prettier-config@2.2.1': {} 2891 | 2892 | '@tybys/wasm-util@0.9.0': 2893 | dependencies: 2894 | tslib: 2.8.1 2895 | optional: true 2896 | 2897 | '@types/debug@4.1.12': 2898 | dependencies: 2899 | '@types/ms': 2.1.0 2900 | 2901 | '@types/eslint@9.6.1': 2902 | dependencies: 2903 | '@types/estree': 1.0.7 2904 | '@types/json-schema': 7.0.15 2905 | 2906 | '@types/estree@1.0.7': {} 2907 | 2908 | '@types/json-schema@7.0.15': {} 2909 | 2910 | '@types/mdast@4.0.4': 2911 | dependencies: 2912 | '@types/unist': 3.0.3 2913 | 2914 | '@types/ms@2.1.0': {} 2915 | 2916 | '@types/node@22.15.17': 2917 | dependencies: 2918 | undici-types: 6.21.0 2919 | 2920 | '@types/unist@3.0.3': {} 2921 | 2922 | '@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': 2923 | dependencies: 2924 | '@eslint-community/regexpp': 4.12.1 2925 | '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2926 | '@typescript-eslint/scope-manager': 8.32.0 2927 | '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2928 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2929 | '@typescript-eslint/visitor-keys': 8.32.0 2930 | eslint: 9.26.0(jiti@2.4.2) 2931 | graphemer: 1.4.0 2932 | ignore: 5.3.2 2933 | natural-compare: 1.4.0 2934 | ts-api-utils: 2.1.0(typescript@5.8.3) 2935 | typescript: 5.8.3 2936 | transitivePeerDependencies: 2937 | - supports-color 2938 | 2939 | '@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': 2940 | dependencies: 2941 | '@typescript-eslint/scope-manager': 8.32.0 2942 | '@typescript-eslint/types': 8.32.0 2943 | '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) 2944 | '@typescript-eslint/visitor-keys': 8.32.0 2945 | debug: 4.4.0 2946 | eslint: 9.26.0(jiti@2.4.2) 2947 | typescript: 5.8.3 2948 | transitivePeerDependencies: 2949 | - supports-color 2950 | 2951 | '@typescript-eslint/scope-manager@8.32.0': 2952 | dependencies: 2953 | '@typescript-eslint/types': 8.32.0 2954 | '@typescript-eslint/visitor-keys': 8.32.0 2955 | 2956 | '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': 2957 | dependencies: 2958 | '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) 2959 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2960 | debug: 4.4.0 2961 | eslint: 9.26.0(jiti@2.4.2) 2962 | ts-api-utils: 2.1.0(typescript@5.8.3) 2963 | typescript: 5.8.3 2964 | transitivePeerDependencies: 2965 | - supports-color 2966 | 2967 | '@typescript-eslint/types@8.32.0': {} 2968 | 2969 | '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)': 2970 | dependencies: 2971 | '@typescript-eslint/types': 8.32.0 2972 | '@typescript-eslint/visitor-keys': 8.32.0 2973 | debug: 4.4.0 2974 | fast-glob: 3.3.3 2975 | is-glob: 4.0.3 2976 | minimatch: 9.0.5 2977 | semver: 7.7.1 2978 | ts-api-utils: 2.1.0(typescript@5.8.3) 2979 | typescript: 5.8.3 2980 | transitivePeerDependencies: 2981 | - supports-color 2982 | 2983 | '@typescript-eslint/utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': 2984 | dependencies: 2985 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 2986 | '@typescript-eslint/scope-manager': 8.32.0 2987 | '@typescript-eslint/types': 8.32.0 2988 | '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) 2989 | eslint: 9.26.0(jiti@2.4.2) 2990 | typescript: 5.8.3 2991 | transitivePeerDependencies: 2992 | - supports-color 2993 | 2994 | '@typescript-eslint/visitor-keys@8.32.0': 2995 | dependencies: 2996 | '@typescript-eslint/types': 8.32.0 2997 | eslint-visitor-keys: 4.2.0 2998 | 2999 | '@unrs/resolver-binding-darwin-arm64@1.7.2': 3000 | optional: true 3001 | 3002 | '@unrs/resolver-binding-darwin-x64@1.7.2': 3003 | optional: true 3004 | 3005 | '@unrs/resolver-binding-freebsd-x64@1.7.2': 3006 | optional: true 3007 | 3008 | '@unrs/resolver-binding-linux-arm-gnueabihf@1.7.2': 3009 | optional: true 3010 | 3011 | '@unrs/resolver-binding-linux-arm-musleabihf@1.7.2': 3012 | optional: true 3013 | 3014 | '@unrs/resolver-binding-linux-arm64-gnu@1.7.2': 3015 | optional: true 3016 | 3017 | '@unrs/resolver-binding-linux-arm64-musl@1.7.2': 3018 | optional: true 3019 | 3020 | '@unrs/resolver-binding-linux-ppc64-gnu@1.7.2': 3021 | optional: true 3022 | 3023 | '@unrs/resolver-binding-linux-riscv64-gnu@1.7.2': 3024 | optional: true 3025 | 3026 | '@unrs/resolver-binding-linux-riscv64-musl@1.7.2': 3027 | optional: true 3028 | 3029 | '@unrs/resolver-binding-linux-s390x-gnu@1.7.2': 3030 | optional: true 3031 | 3032 | '@unrs/resolver-binding-linux-x64-gnu@1.7.2': 3033 | optional: true 3034 | 3035 | '@unrs/resolver-binding-linux-x64-musl@1.7.2': 3036 | optional: true 3037 | 3038 | '@unrs/resolver-binding-wasm32-wasi@1.7.2': 3039 | dependencies: 3040 | '@napi-rs/wasm-runtime': 0.2.9 3041 | optional: true 3042 | 3043 | '@unrs/resolver-binding-win32-arm64-msvc@1.7.2': 3044 | optional: true 3045 | 3046 | '@unrs/resolver-binding-win32-ia32-msvc@1.7.2': 3047 | optional: true 3048 | 3049 | '@unrs/resolver-binding-win32-x64-msvc@1.7.2': 3050 | optional: true 3051 | 3052 | '@vitest/expect@3.1.3': 3053 | dependencies: 3054 | '@vitest/spy': 3.1.3 3055 | '@vitest/utils': 3.1.3 3056 | chai: 5.2.0 3057 | tinyrainbow: 2.0.0 3058 | 3059 | '@vitest/mocker@3.1.3(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1))': 3060 | dependencies: 3061 | '@vitest/spy': 3.1.3 3062 | estree-walker: 3.0.3 3063 | magic-string: 0.30.17 3064 | optionalDependencies: 3065 | vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1) 3066 | 3067 | '@vitest/pretty-format@3.1.3': 3068 | dependencies: 3069 | tinyrainbow: 2.0.0 3070 | 3071 | '@vitest/runner@3.1.3': 3072 | dependencies: 3073 | '@vitest/utils': 3.1.3 3074 | pathe: 2.0.3 3075 | 3076 | '@vitest/snapshot@3.1.3': 3077 | dependencies: 3078 | '@vitest/pretty-format': 3.1.3 3079 | magic-string: 0.30.17 3080 | pathe: 2.0.3 3081 | 3082 | '@vitest/spy@3.1.3': 3083 | dependencies: 3084 | tinyspy: 3.0.2 3085 | 3086 | '@vitest/utils@3.1.3': 3087 | dependencies: 3088 | '@vitest/pretty-format': 3.1.3 3089 | loupe: 3.1.3 3090 | tinyrainbow: 2.0.0 3091 | 3092 | accepts@2.0.0: 3093 | dependencies: 3094 | mime-types: 3.0.1 3095 | negotiator: 1.0.0 3096 | 3097 | acorn-jsx@5.3.2(acorn@8.14.1): 3098 | dependencies: 3099 | acorn: 8.14.1 3100 | 3101 | acorn@8.14.1: {} 3102 | 3103 | ajv@6.12.6: 3104 | dependencies: 3105 | fast-deep-equal: 3.1.3 3106 | fast-json-stable-stringify: 2.1.0 3107 | json-schema-traverse: 0.4.1 3108 | uri-js: 4.4.1 3109 | 3110 | ansi-styles@4.3.0: 3111 | dependencies: 3112 | color-convert: 2.0.1 3113 | 3114 | ansis@3.17.0: {} 3115 | 3116 | are-docs-informative@0.0.2: {} 3117 | 3118 | argparse@2.0.1: {} 3119 | 3120 | args-tokenizer@0.3.0: {} 3121 | 3122 | assertion-error@2.0.1: {} 3123 | 3124 | ast-kit@1.4.3: 3125 | dependencies: 3126 | '@babel/parser': 7.27.2 3127 | pathe: 2.0.3 3128 | 3129 | ast-kit@2.0.0: 3130 | dependencies: 3131 | '@babel/parser': 7.27.2 3132 | pathe: 2.0.3 3133 | 3134 | balanced-match@1.0.2: {} 3135 | 3136 | body-parser@2.2.0: 3137 | dependencies: 3138 | bytes: 3.1.2 3139 | content-type: 1.0.5 3140 | debug: 4.4.0 3141 | http-errors: 2.0.0 3142 | iconv-lite: 0.6.3 3143 | on-finished: 2.4.1 3144 | qs: 6.14.0 3145 | raw-body: 3.0.0 3146 | type-is: 2.0.1 3147 | transitivePeerDependencies: 3148 | - supports-color 3149 | 3150 | boolbase@1.0.0: {} 3151 | 3152 | brace-expansion@1.1.11: 3153 | dependencies: 3154 | balanced-match: 1.0.2 3155 | concat-map: 0.0.1 3156 | 3157 | brace-expansion@2.0.1: 3158 | dependencies: 3159 | balanced-match: 1.0.2 3160 | 3161 | braces@3.0.3: 3162 | dependencies: 3163 | fill-range: 7.1.1 3164 | 3165 | browserslist@4.24.5: 3166 | dependencies: 3167 | caniuse-lite: 1.0.30001717 3168 | electron-to-chromium: 1.5.151 3169 | node-releases: 2.0.19 3170 | update-browserslist-db: 1.1.3(browserslist@4.24.5) 3171 | 3172 | builtin-modules@5.0.0: {} 3173 | 3174 | bumpp@10.1.0: 3175 | dependencies: 3176 | ansis: 3.17.0 3177 | args-tokenizer: 0.3.0 3178 | c12: 3.0.3 3179 | cac: 6.7.14 3180 | escalade: 3.2.0 3181 | jsonc-parser: 3.3.1 3182 | package-manager-detector: 1.3.0 3183 | semver: 7.7.1 3184 | tinyexec: 0.3.2 3185 | tinyglobby: 0.2.13 3186 | yaml: 2.7.1 3187 | transitivePeerDependencies: 3188 | - magicast 3189 | 3190 | bytes@3.1.2: {} 3191 | 3192 | c12@3.0.3: 3193 | dependencies: 3194 | chokidar: 4.0.3 3195 | confbox: 0.2.2 3196 | defu: 6.1.4 3197 | dotenv: 16.5.0 3198 | exsolve: 1.0.5 3199 | giget: 2.0.0 3200 | jiti: 2.4.2 3201 | ohash: 2.0.11 3202 | pathe: 2.0.3 3203 | perfect-debounce: 1.0.0 3204 | pkg-types: 2.1.0 3205 | rc9: 2.1.2 3206 | 3207 | cac@6.7.14: {} 3208 | 3209 | call-bind-apply-helpers@1.0.2: 3210 | dependencies: 3211 | es-errors: 1.3.0 3212 | function-bind: 1.1.2 3213 | 3214 | call-bound@1.0.4: 3215 | dependencies: 3216 | call-bind-apply-helpers: 1.0.2 3217 | get-intrinsic: 1.3.0 3218 | 3219 | callsites@3.1.0: {} 3220 | 3221 | caniuse-lite@1.0.30001717: {} 3222 | 3223 | ccount@2.0.1: {} 3224 | 3225 | chai@5.2.0: 3226 | dependencies: 3227 | assertion-error: 2.0.1 3228 | check-error: 2.1.1 3229 | deep-eql: 5.0.2 3230 | loupe: 3.1.3 3231 | pathval: 2.0.0 3232 | 3233 | chalk@4.1.2: 3234 | dependencies: 3235 | ansi-styles: 4.3.0 3236 | supports-color: 7.2.0 3237 | 3238 | character-entities@2.0.2: {} 3239 | 3240 | check-error@2.1.1: {} 3241 | 3242 | chokidar@4.0.3: 3243 | dependencies: 3244 | readdirp: 4.1.2 3245 | 3246 | ci-info@4.2.0: {} 3247 | 3248 | citty@0.1.6: 3249 | dependencies: 3250 | consola: 3.4.2 3251 | 3252 | clean-regexp@1.0.0: 3253 | dependencies: 3254 | escape-string-regexp: 1.0.5 3255 | 3256 | color-convert@2.0.1: 3257 | dependencies: 3258 | color-name: 1.1.4 3259 | 3260 | color-name@1.1.4: {} 3261 | 3262 | comment-parser@1.4.1: {} 3263 | 3264 | concat-map@0.0.1: {} 3265 | 3266 | confbox@0.1.8: {} 3267 | 3268 | confbox@0.2.2: {} 3269 | 3270 | consola@3.4.2: {} 3271 | 3272 | content-disposition@1.0.0: 3273 | dependencies: 3274 | safe-buffer: 5.2.1 3275 | 3276 | content-type@1.0.5: {} 3277 | 3278 | cookie-signature@1.2.2: {} 3279 | 3280 | cookie@0.7.2: {} 3281 | 3282 | core-js-compat@3.42.0: 3283 | dependencies: 3284 | browserslist: 4.24.5 3285 | 3286 | cors@2.8.5: 3287 | dependencies: 3288 | object-assign: 4.1.1 3289 | vary: 1.1.2 3290 | 3291 | cross-spawn@7.0.6: 3292 | dependencies: 3293 | path-key: 3.1.1 3294 | shebang-command: 2.0.0 3295 | which: 2.0.2 3296 | 3297 | cssesc@3.0.0: {} 3298 | 3299 | debug@3.2.7: 3300 | dependencies: 3301 | ms: 2.1.3 3302 | 3303 | debug@4.4.0: 3304 | dependencies: 3305 | ms: 2.1.3 3306 | 3307 | decode-named-character-reference@1.1.0: 3308 | dependencies: 3309 | character-entities: 2.0.2 3310 | 3311 | deep-eql@5.0.2: {} 3312 | 3313 | deep-is@0.1.4: {} 3314 | 3315 | defu@6.1.4: {} 3316 | 3317 | depd@2.0.0: {} 3318 | 3319 | dequal@2.0.3: {} 3320 | 3321 | destr@2.0.5: {} 3322 | 3323 | devlop@1.1.0: 3324 | dependencies: 3325 | dequal: 2.0.3 3326 | 3327 | diff@7.0.0: {} 3328 | 3329 | dotenv@16.5.0: {} 3330 | 3331 | dts-resolver@1.1.2: 3332 | dependencies: 3333 | oxc-resolver: 7.0.1 3334 | pathe: 2.0.3 3335 | 3336 | dunder-proto@1.0.1: 3337 | dependencies: 3338 | call-bind-apply-helpers: 1.0.2 3339 | es-errors: 1.3.0 3340 | gopd: 1.2.0 3341 | 3342 | ee-first@1.1.1: {} 3343 | 3344 | electron-to-chromium@1.5.151: {} 3345 | 3346 | empathic@1.1.0: {} 3347 | 3348 | encodeurl@2.0.0: {} 3349 | 3350 | enhanced-resolve@5.18.1: 3351 | dependencies: 3352 | graceful-fs: 4.2.11 3353 | tapable: 2.2.1 3354 | 3355 | es-define-property@1.0.1: {} 3356 | 3357 | es-errors@1.3.0: {} 3358 | 3359 | es-module-lexer@1.7.0: {} 3360 | 3361 | es-object-atoms@1.1.1: 3362 | dependencies: 3363 | es-errors: 1.3.0 3364 | 3365 | esbuild@0.25.4: 3366 | optionalDependencies: 3367 | '@esbuild/aix-ppc64': 0.25.4 3368 | '@esbuild/android-arm': 0.25.4 3369 | '@esbuild/android-arm64': 0.25.4 3370 | '@esbuild/android-x64': 0.25.4 3371 | '@esbuild/darwin-arm64': 0.25.4 3372 | '@esbuild/darwin-x64': 0.25.4 3373 | '@esbuild/freebsd-arm64': 0.25.4 3374 | '@esbuild/freebsd-x64': 0.25.4 3375 | '@esbuild/linux-arm': 0.25.4 3376 | '@esbuild/linux-arm64': 0.25.4 3377 | '@esbuild/linux-ia32': 0.25.4 3378 | '@esbuild/linux-loong64': 0.25.4 3379 | '@esbuild/linux-mips64el': 0.25.4 3380 | '@esbuild/linux-ppc64': 0.25.4 3381 | '@esbuild/linux-riscv64': 0.25.4 3382 | '@esbuild/linux-s390x': 0.25.4 3383 | '@esbuild/linux-x64': 0.25.4 3384 | '@esbuild/netbsd-arm64': 0.25.4 3385 | '@esbuild/netbsd-x64': 0.25.4 3386 | '@esbuild/openbsd-arm64': 0.25.4 3387 | '@esbuild/openbsd-x64': 0.25.4 3388 | '@esbuild/sunos-x64': 0.25.4 3389 | '@esbuild/win32-arm64': 0.25.4 3390 | '@esbuild/win32-ia32': 0.25.4 3391 | '@esbuild/win32-x64': 0.25.4 3392 | 3393 | escalade@3.2.0: {} 3394 | 3395 | escape-html@1.0.3: {} 3396 | 3397 | escape-string-regexp@1.0.5: {} 3398 | 3399 | escape-string-regexp@4.0.0: {} 3400 | 3401 | escape-string-regexp@5.0.0: {} 3402 | 3403 | eslint-compat-utils@0.5.1(eslint@9.26.0(jiti@2.4.2)): 3404 | dependencies: 3405 | eslint: 9.26.0(jiti@2.4.2) 3406 | semver: 7.7.1 3407 | 3408 | eslint-compat-utils@0.6.5(eslint@9.26.0(jiti@2.4.2)): 3409 | dependencies: 3410 | eslint: 9.26.0(jiti@2.4.2) 3411 | semver: 7.7.1 3412 | 3413 | eslint-config-flat-gitignore@2.1.0(eslint@9.26.0(jiti@2.4.2)): 3414 | dependencies: 3415 | '@eslint/compat': 1.2.9(eslint@9.26.0(jiti@2.4.2)) 3416 | eslint: 9.26.0(jiti@2.4.2) 3417 | 3418 | eslint-config-prettier@10.1.3(eslint@9.26.0(jiti@2.4.2)): 3419 | dependencies: 3420 | eslint: 9.26.0(jiti@2.4.2) 3421 | 3422 | eslint-flat-config-utils@2.0.1: 3423 | dependencies: 3424 | pathe: 2.0.3 3425 | 3426 | eslint-import-resolver-node@0.3.9: 3427 | dependencies: 3428 | debug: 3.2.7 3429 | is-core-module: 2.16.1 3430 | resolve: 1.22.10 3431 | transitivePeerDependencies: 3432 | - supports-color 3433 | 3434 | eslint-json-compat-utils@0.2.1(eslint@9.26.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): 3435 | dependencies: 3436 | eslint: 9.26.0(jiti@2.4.2) 3437 | esquery: 1.6.0 3438 | jsonc-eslint-parser: 2.4.0 3439 | 3440 | eslint-plugin-antfu@3.1.1(eslint@9.26.0(jiti@2.4.2)): 3441 | dependencies: 3442 | eslint: 9.26.0(jiti@2.4.2) 3443 | 3444 | eslint-plugin-command@3.2.0(eslint@9.26.0(jiti@2.4.2)): 3445 | dependencies: 3446 | '@es-joy/jsdoccomment': 0.50.0 3447 | eslint: 9.26.0(jiti@2.4.2) 3448 | 3449 | eslint-plugin-de-morgan@1.2.1(eslint@9.26.0(jiti@2.4.2)): 3450 | dependencies: 3451 | eslint: 9.26.0(jiti@2.4.2) 3452 | 3453 | eslint-plugin-es-x@7.8.0(eslint@9.26.0(jiti@2.4.2)): 3454 | dependencies: 3455 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 3456 | '@eslint-community/regexpp': 4.12.1 3457 | eslint: 9.26.0(jiti@2.4.2) 3458 | eslint-compat-utils: 0.5.1(eslint@9.26.0(jiti@2.4.2)) 3459 | 3460 | eslint-plugin-import-x@4.11.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): 3461 | dependencies: 3462 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 3463 | comment-parser: 1.4.1 3464 | debug: 4.4.0 3465 | eslint: 9.26.0(jiti@2.4.2) 3466 | eslint-import-resolver-node: 0.3.9 3467 | get-tsconfig: 4.10.0 3468 | is-glob: 4.0.3 3469 | minimatch: 10.0.1 3470 | semver: 7.7.1 3471 | stable-hash: 0.0.5 3472 | tslib: 2.8.1 3473 | unrs-resolver: 1.7.2 3474 | transitivePeerDependencies: 3475 | - supports-color 3476 | - typescript 3477 | 3478 | eslint-plugin-jsdoc@50.6.11(eslint@9.26.0(jiti@2.4.2)): 3479 | dependencies: 3480 | '@es-joy/jsdoccomment': 0.49.0 3481 | are-docs-informative: 0.0.2 3482 | comment-parser: 1.4.1 3483 | debug: 4.4.0 3484 | escape-string-regexp: 4.0.0 3485 | eslint: 9.26.0(jiti@2.4.2) 3486 | espree: 10.3.0 3487 | esquery: 1.6.0 3488 | parse-imports-exports: 0.2.4 3489 | semver: 7.7.1 3490 | spdx-expression-parse: 4.0.0 3491 | transitivePeerDependencies: 3492 | - supports-color 3493 | 3494 | eslint-plugin-jsonc@2.20.0(eslint@9.26.0(jiti@2.4.2)): 3495 | dependencies: 3496 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 3497 | eslint: 9.26.0(jiti@2.4.2) 3498 | eslint-compat-utils: 0.6.5(eslint@9.26.0(jiti@2.4.2)) 3499 | eslint-json-compat-utils: 0.2.1(eslint@9.26.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) 3500 | espree: 10.3.0 3501 | graphemer: 1.4.0 3502 | jsonc-eslint-parser: 2.4.0 3503 | natural-compare: 1.4.0 3504 | synckit: 0.10.3 3505 | transitivePeerDependencies: 3506 | - '@eslint/json' 3507 | 3508 | eslint-plugin-n@17.17.0(eslint@9.26.0(jiti@2.4.2)): 3509 | dependencies: 3510 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 3511 | enhanced-resolve: 5.18.1 3512 | eslint: 9.26.0(jiti@2.4.2) 3513 | eslint-plugin-es-x: 7.8.0(eslint@9.26.0(jiti@2.4.2)) 3514 | get-tsconfig: 4.10.0 3515 | globals: 15.15.0 3516 | ignore: 5.3.2 3517 | minimatch: 9.0.5 3518 | semver: 7.7.1 3519 | 3520 | eslint-plugin-perfectionist@4.12.3(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): 3521 | dependencies: 3522 | '@typescript-eslint/types': 8.32.0 3523 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 3524 | eslint: 9.26.0(jiti@2.4.2) 3525 | natural-orderby: 5.0.0 3526 | transitivePeerDependencies: 3527 | - supports-color 3528 | - typescript 3529 | 3530 | eslint-plugin-pnpm@0.3.1(eslint@9.26.0(jiti@2.4.2)): 3531 | dependencies: 3532 | eslint: 9.26.0(jiti@2.4.2) 3533 | find-up-simple: 1.0.1 3534 | jsonc-eslint-parser: 2.4.0 3535 | pathe: 2.0.3 3536 | pnpm-workspace-yaml: 0.3.1 3537 | tinyglobby: 0.2.13 3538 | yaml-eslint-parser: 1.3.0 3539 | 3540 | eslint-plugin-prettier@5.4.0(@types/eslint@9.6.1)(eslint-config-prettier@10.1.3(eslint@9.26.0(jiti@2.4.2)))(eslint@9.26.0(jiti@2.4.2))(prettier@3.5.3): 3541 | dependencies: 3542 | eslint: 9.26.0(jiti@2.4.2) 3543 | prettier: 3.5.3 3544 | prettier-linter-helpers: 1.0.0 3545 | synckit: 0.11.4 3546 | optionalDependencies: 3547 | '@types/eslint': 9.6.1 3548 | eslint-config-prettier: 10.1.3(eslint@9.26.0(jiti@2.4.2)) 3549 | 3550 | eslint-plugin-regexp@2.7.0(eslint@9.26.0(jiti@2.4.2)): 3551 | dependencies: 3552 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 3553 | '@eslint-community/regexpp': 4.12.1 3554 | comment-parser: 1.4.1 3555 | eslint: 9.26.0(jiti@2.4.2) 3556 | jsdoc-type-pratt-parser: 4.1.0 3557 | refa: 0.12.1 3558 | regexp-ast-analysis: 0.7.1 3559 | scslre: 0.3.0 3560 | 3561 | eslint-plugin-sxzz@0.2.2(eslint@9.26.0(jiti@2.4.2)): 3562 | dependencies: 3563 | eslint: 9.26.0(jiti@2.4.2) 3564 | 3565 | eslint-plugin-unicorn@59.0.1(eslint@9.26.0(jiti@2.4.2)): 3566 | dependencies: 3567 | '@babel/helper-validator-identifier': 7.27.1 3568 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 3569 | '@eslint/plugin-kit': 0.2.8 3570 | ci-info: 4.2.0 3571 | clean-regexp: 1.0.0 3572 | core-js-compat: 3.42.0 3573 | eslint: 9.26.0(jiti@2.4.2) 3574 | esquery: 1.6.0 3575 | find-up-simple: 1.0.1 3576 | globals: 16.1.0 3577 | indent-string: 5.0.0 3578 | is-builtin-module: 5.0.0 3579 | jsesc: 3.1.0 3580 | pluralize: 8.0.0 3581 | regexp-tree: 0.1.27 3582 | regjsparser: 0.12.0 3583 | semver: 7.7.1 3584 | strip-indent: 4.0.0 3585 | 3586 | eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2)): 3587 | dependencies: 3588 | eslint: 9.26.0(jiti@2.4.2) 3589 | optionalDependencies: 3590 | '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 3591 | 3592 | eslint-plugin-vue@10.1.0(eslint@9.26.0(jiti@2.4.2))(vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2))): 3593 | dependencies: 3594 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 3595 | eslint: 9.26.0(jiti@2.4.2) 3596 | natural-compare: 1.4.0 3597 | nth-check: 2.1.1 3598 | postcss-selector-parser: 6.1.2 3599 | semver: 7.7.1 3600 | vue-eslint-parser: 10.1.3(eslint@9.26.0(jiti@2.4.2)) 3601 | xml-name-validator: 4.0.0 3602 | 3603 | eslint-plugin-yml@1.18.0(eslint@9.26.0(jiti@2.4.2)): 3604 | dependencies: 3605 | debug: 4.4.0 3606 | escape-string-regexp: 4.0.0 3607 | eslint: 9.26.0(jiti@2.4.2) 3608 | eslint-compat-utils: 0.6.5(eslint@9.26.0(jiti@2.4.2)) 3609 | natural-compare: 1.4.0 3610 | yaml-eslint-parser: 1.3.0 3611 | transitivePeerDependencies: 3612 | - supports-color 3613 | 3614 | eslint-scope@8.3.0: 3615 | dependencies: 3616 | esrecurse: 4.3.0 3617 | estraverse: 5.3.0 3618 | 3619 | eslint-visitor-keys@3.4.3: {} 3620 | 3621 | eslint-visitor-keys@4.2.0: {} 3622 | 3623 | eslint@9.26.0(jiti@2.4.2): 3624 | dependencies: 3625 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 3626 | '@eslint-community/regexpp': 4.12.1 3627 | '@eslint/config-array': 0.20.0 3628 | '@eslint/config-helpers': 0.2.2 3629 | '@eslint/core': 0.13.0 3630 | '@eslint/eslintrc': 3.3.1 3631 | '@eslint/js': 9.26.0 3632 | '@eslint/plugin-kit': 0.2.8 3633 | '@humanfs/node': 0.16.6 3634 | '@humanwhocodes/module-importer': 1.0.1 3635 | '@humanwhocodes/retry': 0.4.3 3636 | '@modelcontextprotocol/sdk': 1.11.1 3637 | '@types/estree': 1.0.7 3638 | '@types/json-schema': 7.0.15 3639 | ajv: 6.12.6 3640 | chalk: 4.1.2 3641 | cross-spawn: 7.0.6 3642 | debug: 4.4.0 3643 | escape-string-regexp: 4.0.0 3644 | eslint-scope: 8.3.0 3645 | eslint-visitor-keys: 4.2.0 3646 | espree: 10.3.0 3647 | esquery: 1.6.0 3648 | esutils: 2.0.3 3649 | fast-deep-equal: 3.1.3 3650 | file-entry-cache: 8.0.0 3651 | find-up: 5.0.0 3652 | glob-parent: 6.0.2 3653 | ignore: 5.3.2 3654 | imurmurhash: 0.1.4 3655 | is-glob: 4.0.3 3656 | json-stable-stringify-without-jsonify: 1.0.1 3657 | lodash.merge: 4.6.2 3658 | minimatch: 3.1.2 3659 | natural-compare: 1.4.0 3660 | optionator: 0.9.4 3661 | zod: 3.24.4 3662 | optionalDependencies: 3663 | jiti: 2.4.2 3664 | transitivePeerDependencies: 3665 | - supports-color 3666 | 3667 | espree@10.3.0: 3668 | dependencies: 3669 | acorn: 8.14.1 3670 | acorn-jsx: 5.3.2(acorn@8.14.1) 3671 | eslint-visitor-keys: 4.2.0 3672 | 3673 | espree@9.6.1: 3674 | dependencies: 3675 | acorn: 8.14.1 3676 | acorn-jsx: 5.3.2(acorn@8.14.1) 3677 | eslint-visitor-keys: 3.4.3 3678 | 3679 | esquery@1.6.0: 3680 | dependencies: 3681 | estraverse: 5.3.0 3682 | 3683 | esrecurse@4.3.0: 3684 | dependencies: 3685 | estraverse: 5.3.0 3686 | 3687 | estraverse@5.3.0: {} 3688 | 3689 | estree-walker@3.0.3: 3690 | dependencies: 3691 | '@types/estree': 1.0.7 3692 | 3693 | esutils@2.0.3: {} 3694 | 3695 | etag@1.8.1: {} 3696 | 3697 | eventsource-parser@3.0.1: {} 3698 | 3699 | eventsource@3.0.6: 3700 | dependencies: 3701 | eventsource-parser: 3.0.1 3702 | 3703 | expect-type@1.2.1: {} 3704 | 3705 | express-rate-limit@7.5.0(express@5.1.0): 3706 | dependencies: 3707 | express: 5.1.0 3708 | 3709 | express@5.1.0: 3710 | dependencies: 3711 | accepts: 2.0.0 3712 | body-parser: 2.2.0 3713 | content-disposition: 1.0.0 3714 | content-type: 1.0.5 3715 | cookie: 0.7.2 3716 | cookie-signature: 1.2.2 3717 | debug: 4.4.0 3718 | encodeurl: 2.0.0 3719 | escape-html: 1.0.3 3720 | etag: 1.8.1 3721 | finalhandler: 2.1.0 3722 | fresh: 2.0.0 3723 | http-errors: 2.0.0 3724 | merge-descriptors: 2.0.0 3725 | mime-types: 3.0.1 3726 | on-finished: 2.4.1 3727 | once: 1.4.0 3728 | parseurl: 1.3.3 3729 | proxy-addr: 2.0.7 3730 | qs: 6.14.0 3731 | range-parser: 1.2.1 3732 | router: 2.2.0 3733 | send: 1.2.0 3734 | serve-static: 2.2.0 3735 | statuses: 2.0.1 3736 | type-is: 2.0.1 3737 | vary: 1.1.2 3738 | transitivePeerDependencies: 3739 | - supports-color 3740 | 3741 | exsolve@1.0.5: {} 3742 | 3743 | fast-deep-equal@3.1.3: {} 3744 | 3745 | fast-diff@1.3.0: {} 3746 | 3747 | fast-glob@3.3.3: 3748 | dependencies: 3749 | '@nodelib/fs.stat': 2.0.5 3750 | '@nodelib/fs.walk': 1.2.8 3751 | glob-parent: 5.1.2 3752 | merge2: 1.4.1 3753 | micromatch: 4.0.8 3754 | 3755 | fast-json-stable-stringify@2.1.0: {} 3756 | 3757 | fast-levenshtein@2.0.6: {} 3758 | 3759 | fastq@1.19.1: 3760 | dependencies: 3761 | reusify: 1.1.0 3762 | 3763 | fault@2.0.1: 3764 | dependencies: 3765 | format: 0.2.2 3766 | 3767 | fdir@6.4.4(picomatch@4.0.2): 3768 | optionalDependencies: 3769 | picomatch: 4.0.2 3770 | 3771 | file-entry-cache@8.0.0: 3772 | dependencies: 3773 | flat-cache: 4.0.1 3774 | 3775 | fill-range@7.1.1: 3776 | dependencies: 3777 | to-regex-range: 5.0.1 3778 | 3779 | finalhandler@2.1.0: 3780 | dependencies: 3781 | debug: 4.4.0 3782 | encodeurl: 2.0.0 3783 | escape-html: 1.0.3 3784 | on-finished: 2.4.1 3785 | parseurl: 1.3.3 3786 | statuses: 2.0.1 3787 | transitivePeerDependencies: 3788 | - supports-color 3789 | 3790 | find-up-simple@1.0.1: {} 3791 | 3792 | find-up@5.0.0: 3793 | dependencies: 3794 | locate-path: 6.0.0 3795 | path-exists: 4.0.0 3796 | 3797 | flat-cache@4.0.1: 3798 | dependencies: 3799 | flatted: 3.3.3 3800 | keyv: 4.5.4 3801 | 3802 | flatted@3.3.3: {} 3803 | 3804 | format@0.2.2: {} 3805 | 3806 | forwarded@0.2.0: {} 3807 | 3808 | fresh@2.0.0: {} 3809 | 3810 | fsevents@2.3.3: 3811 | optional: true 3812 | 3813 | function-bind@1.1.2: {} 3814 | 3815 | get-intrinsic@1.3.0: 3816 | dependencies: 3817 | call-bind-apply-helpers: 1.0.2 3818 | es-define-property: 1.0.1 3819 | es-errors: 1.3.0 3820 | es-object-atoms: 1.1.1 3821 | function-bind: 1.1.2 3822 | get-proto: 1.0.1 3823 | gopd: 1.2.0 3824 | has-symbols: 1.1.0 3825 | hasown: 2.0.2 3826 | math-intrinsics: 1.1.0 3827 | 3828 | get-proto@1.0.1: 3829 | dependencies: 3830 | dunder-proto: 1.0.1 3831 | es-object-atoms: 1.1.1 3832 | 3833 | get-tsconfig@4.10.0: 3834 | dependencies: 3835 | resolve-pkg-maps: 1.0.0 3836 | 3837 | giget@2.0.0: 3838 | dependencies: 3839 | citty: 0.1.6 3840 | consola: 3.4.2 3841 | defu: 6.1.4 3842 | node-fetch-native: 1.6.6 3843 | nypm: 0.6.0 3844 | pathe: 2.0.3 3845 | 3846 | glob-parent@5.1.2: 3847 | dependencies: 3848 | is-glob: 4.0.3 3849 | 3850 | glob-parent@6.0.2: 3851 | dependencies: 3852 | is-glob: 4.0.3 3853 | 3854 | globals@14.0.0: {} 3855 | 3856 | globals@15.15.0: {} 3857 | 3858 | globals@16.1.0: {} 3859 | 3860 | gopd@1.2.0: {} 3861 | 3862 | graceful-fs@4.2.11: {} 3863 | 3864 | graphemer@1.4.0: {} 3865 | 3866 | has-flag@4.0.0: {} 3867 | 3868 | has-symbols@1.1.0: {} 3869 | 3870 | hasown@2.0.2: 3871 | dependencies: 3872 | function-bind: 1.1.2 3873 | 3874 | hookable@5.5.3: {} 3875 | 3876 | http-errors@2.0.0: 3877 | dependencies: 3878 | depd: 2.0.0 3879 | inherits: 2.0.4 3880 | setprototypeof: 1.2.0 3881 | statuses: 2.0.1 3882 | toidentifier: 1.0.1 3883 | 3884 | iconv-lite@0.6.3: 3885 | dependencies: 3886 | safer-buffer: 2.1.2 3887 | 3888 | ignore@5.3.2: {} 3889 | 3890 | import-fresh@3.3.1: 3891 | dependencies: 3892 | parent-module: 1.0.1 3893 | resolve-from: 4.0.0 3894 | 3895 | imurmurhash@0.1.4: {} 3896 | 3897 | indent-string@5.0.0: {} 3898 | 3899 | inherits@2.0.4: {} 3900 | 3901 | ipaddr.js@1.9.1: {} 3902 | 3903 | is-builtin-module@5.0.0: 3904 | dependencies: 3905 | builtin-modules: 5.0.0 3906 | 3907 | is-core-module@2.16.1: 3908 | dependencies: 3909 | hasown: 2.0.2 3910 | 3911 | is-extglob@2.1.1: {} 3912 | 3913 | is-glob@4.0.3: 3914 | dependencies: 3915 | is-extglob: 2.1.1 3916 | 3917 | is-number@7.0.0: {} 3918 | 3919 | is-promise@4.0.0: {} 3920 | 3921 | isexe@2.0.0: {} 3922 | 3923 | jiti@2.4.2: {} 3924 | 3925 | js-tokens@9.0.1: 3926 | optional: true 3927 | 3928 | js-yaml@4.1.0: 3929 | dependencies: 3930 | argparse: 2.0.1 3931 | 3932 | jsdoc-type-pratt-parser@4.1.0: {} 3933 | 3934 | jsesc@3.0.2: {} 3935 | 3936 | jsesc@3.1.0: {} 3937 | 3938 | json-buffer@3.0.1: {} 3939 | 3940 | json-schema-traverse@0.4.1: {} 3941 | 3942 | json-stable-stringify-without-jsonify@1.0.1: {} 3943 | 3944 | jsonc-eslint-parser@2.4.0: 3945 | dependencies: 3946 | acorn: 8.14.1 3947 | eslint-visitor-keys: 3.4.3 3948 | espree: 9.6.1 3949 | semver: 7.7.1 3950 | 3951 | jsonc-parser@3.3.1: {} 3952 | 3953 | keyv@4.5.4: 3954 | dependencies: 3955 | json-buffer: 3.0.1 3956 | 3957 | levn@0.4.1: 3958 | dependencies: 3959 | prelude-ls: 1.2.1 3960 | type-check: 0.4.0 3961 | 3962 | local-pkg@1.1.1: 3963 | dependencies: 3964 | mlly: 1.7.4 3965 | pkg-types: 2.1.0 3966 | quansync: 0.2.10 3967 | 3968 | locate-path@6.0.0: 3969 | dependencies: 3970 | p-locate: 5.0.0 3971 | 3972 | lodash.merge@4.6.2: {} 3973 | 3974 | lodash@4.17.21: {} 3975 | 3976 | longest-streak@3.1.0: {} 3977 | 3978 | loupe@3.1.3: {} 3979 | 3980 | magic-string@0.30.17: 3981 | dependencies: 3982 | '@jridgewell/sourcemap-codec': 1.5.0 3983 | 3984 | markdown-table@3.0.4: {} 3985 | 3986 | math-intrinsics@1.1.0: {} 3987 | 3988 | mdast-util-find-and-replace@3.0.2: 3989 | dependencies: 3990 | '@types/mdast': 4.0.4 3991 | escape-string-regexp: 5.0.0 3992 | unist-util-is: 6.0.0 3993 | unist-util-visit-parents: 6.0.1 3994 | 3995 | mdast-util-from-markdown@2.0.2: 3996 | dependencies: 3997 | '@types/mdast': 4.0.4 3998 | '@types/unist': 3.0.3 3999 | decode-named-character-reference: 1.1.0 4000 | devlop: 1.1.0 4001 | mdast-util-to-string: 4.0.0 4002 | micromark: 4.0.2 4003 | micromark-util-decode-numeric-character-reference: 2.0.2 4004 | micromark-util-decode-string: 2.0.1 4005 | micromark-util-normalize-identifier: 2.0.1 4006 | micromark-util-symbol: 2.0.1 4007 | micromark-util-types: 2.0.2 4008 | unist-util-stringify-position: 4.0.0 4009 | transitivePeerDependencies: 4010 | - supports-color 4011 | 4012 | mdast-util-frontmatter@2.0.1: 4013 | dependencies: 4014 | '@types/mdast': 4.0.4 4015 | devlop: 1.1.0 4016 | escape-string-regexp: 5.0.0 4017 | mdast-util-from-markdown: 2.0.2 4018 | mdast-util-to-markdown: 2.1.2 4019 | micromark-extension-frontmatter: 2.0.0 4020 | transitivePeerDependencies: 4021 | - supports-color 4022 | 4023 | mdast-util-gfm-autolink-literal@2.0.1: 4024 | dependencies: 4025 | '@types/mdast': 4.0.4 4026 | ccount: 2.0.1 4027 | devlop: 1.1.0 4028 | mdast-util-find-and-replace: 3.0.2 4029 | micromark-util-character: 2.1.1 4030 | 4031 | mdast-util-gfm-footnote@2.1.0: 4032 | dependencies: 4033 | '@types/mdast': 4.0.4 4034 | devlop: 1.1.0 4035 | mdast-util-from-markdown: 2.0.2 4036 | mdast-util-to-markdown: 2.1.2 4037 | micromark-util-normalize-identifier: 2.0.1 4038 | transitivePeerDependencies: 4039 | - supports-color 4040 | 4041 | mdast-util-gfm-strikethrough@2.0.0: 4042 | dependencies: 4043 | '@types/mdast': 4.0.4 4044 | mdast-util-from-markdown: 2.0.2 4045 | mdast-util-to-markdown: 2.1.2 4046 | transitivePeerDependencies: 4047 | - supports-color 4048 | 4049 | mdast-util-gfm-table@2.0.0: 4050 | dependencies: 4051 | '@types/mdast': 4.0.4 4052 | devlop: 1.1.0 4053 | markdown-table: 3.0.4 4054 | mdast-util-from-markdown: 2.0.2 4055 | mdast-util-to-markdown: 2.1.2 4056 | transitivePeerDependencies: 4057 | - supports-color 4058 | 4059 | mdast-util-gfm-task-list-item@2.0.0: 4060 | dependencies: 4061 | '@types/mdast': 4.0.4 4062 | devlop: 1.1.0 4063 | mdast-util-from-markdown: 2.0.2 4064 | mdast-util-to-markdown: 2.1.2 4065 | transitivePeerDependencies: 4066 | - supports-color 4067 | 4068 | mdast-util-gfm@3.1.0: 4069 | dependencies: 4070 | mdast-util-from-markdown: 2.0.2 4071 | mdast-util-gfm-autolink-literal: 2.0.1 4072 | mdast-util-gfm-footnote: 2.1.0 4073 | mdast-util-gfm-strikethrough: 2.0.0 4074 | mdast-util-gfm-table: 2.0.0 4075 | mdast-util-gfm-task-list-item: 2.0.0 4076 | mdast-util-to-markdown: 2.1.2 4077 | transitivePeerDependencies: 4078 | - supports-color 4079 | 4080 | mdast-util-phrasing@4.1.0: 4081 | dependencies: 4082 | '@types/mdast': 4.0.4 4083 | unist-util-is: 6.0.0 4084 | 4085 | mdast-util-to-markdown@2.1.2: 4086 | dependencies: 4087 | '@types/mdast': 4.0.4 4088 | '@types/unist': 3.0.3 4089 | longest-streak: 3.1.0 4090 | mdast-util-phrasing: 4.1.0 4091 | mdast-util-to-string: 4.0.0 4092 | micromark-util-classify-character: 2.0.1 4093 | micromark-util-decode-string: 2.0.1 4094 | unist-util-visit: 5.0.0 4095 | zwitch: 2.0.4 4096 | 4097 | mdast-util-to-string@4.0.0: 4098 | dependencies: 4099 | '@types/mdast': 4.0.4 4100 | 4101 | media-typer@1.1.0: {} 4102 | 4103 | merge-descriptors@2.0.0: {} 4104 | 4105 | merge2@1.4.1: {} 4106 | 4107 | micromark-core-commonmark@2.0.3: 4108 | dependencies: 4109 | decode-named-character-reference: 1.1.0 4110 | devlop: 1.1.0 4111 | micromark-factory-destination: 2.0.1 4112 | micromark-factory-label: 2.0.1 4113 | micromark-factory-space: 2.0.1 4114 | micromark-factory-title: 2.0.1 4115 | micromark-factory-whitespace: 2.0.1 4116 | micromark-util-character: 2.1.1 4117 | micromark-util-chunked: 2.0.1 4118 | micromark-util-classify-character: 2.0.1 4119 | micromark-util-html-tag-name: 2.0.1 4120 | micromark-util-normalize-identifier: 2.0.1 4121 | micromark-util-resolve-all: 2.0.1 4122 | micromark-util-subtokenize: 2.1.0 4123 | micromark-util-symbol: 2.0.1 4124 | micromark-util-types: 2.0.2 4125 | 4126 | micromark-extension-frontmatter@2.0.0: 4127 | dependencies: 4128 | fault: 2.0.1 4129 | micromark-util-character: 2.1.1 4130 | micromark-util-symbol: 2.0.1 4131 | micromark-util-types: 2.0.2 4132 | 4133 | micromark-extension-gfm-autolink-literal@2.1.0: 4134 | dependencies: 4135 | micromark-util-character: 2.1.1 4136 | micromark-util-sanitize-uri: 2.0.1 4137 | micromark-util-symbol: 2.0.1 4138 | micromark-util-types: 2.0.2 4139 | 4140 | micromark-extension-gfm-footnote@2.1.0: 4141 | dependencies: 4142 | devlop: 1.1.0 4143 | micromark-core-commonmark: 2.0.3 4144 | micromark-factory-space: 2.0.1 4145 | micromark-util-character: 2.1.1 4146 | micromark-util-normalize-identifier: 2.0.1 4147 | micromark-util-sanitize-uri: 2.0.1 4148 | micromark-util-symbol: 2.0.1 4149 | micromark-util-types: 2.0.2 4150 | 4151 | micromark-extension-gfm-strikethrough@2.1.0: 4152 | dependencies: 4153 | devlop: 1.1.0 4154 | micromark-util-chunked: 2.0.1 4155 | micromark-util-classify-character: 2.0.1 4156 | micromark-util-resolve-all: 2.0.1 4157 | micromark-util-symbol: 2.0.1 4158 | micromark-util-types: 2.0.2 4159 | 4160 | micromark-extension-gfm-table@2.1.1: 4161 | dependencies: 4162 | devlop: 1.1.0 4163 | micromark-factory-space: 2.0.1 4164 | micromark-util-character: 2.1.1 4165 | micromark-util-symbol: 2.0.1 4166 | micromark-util-types: 2.0.2 4167 | 4168 | micromark-extension-gfm-tagfilter@2.0.0: 4169 | dependencies: 4170 | micromark-util-types: 2.0.2 4171 | 4172 | micromark-extension-gfm-task-list-item@2.1.0: 4173 | dependencies: 4174 | devlop: 1.1.0 4175 | micromark-factory-space: 2.0.1 4176 | micromark-util-character: 2.1.1 4177 | micromark-util-symbol: 2.0.1 4178 | micromark-util-types: 2.0.2 4179 | 4180 | micromark-extension-gfm@3.0.0: 4181 | dependencies: 4182 | micromark-extension-gfm-autolink-literal: 2.1.0 4183 | micromark-extension-gfm-footnote: 2.1.0 4184 | micromark-extension-gfm-strikethrough: 2.1.0 4185 | micromark-extension-gfm-table: 2.1.1 4186 | micromark-extension-gfm-tagfilter: 2.0.0 4187 | micromark-extension-gfm-task-list-item: 2.1.0 4188 | micromark-util-combine-extensions: 2.0.1 4189 | micromark-util-types: 2.0.2 4190 | 4191 | micromark-factory-destination@2.0.1: 4192 | dependencies: 4193 | micromark-util-character: 2.1.1 4194 | micromark-util-symbol: 2.0.1 4195 | micromark-util-types: 2.0.2 4196 | 4197 | micromark-factory-label@2.0.1: 4198 | dependencies: 4199 | devlop: 1.1.0 4200 | micromark-util-character: 2.1.1 4201 | micromark-util-symbol: 2.0.1 4202 | micromark-util-types: 2.0.2 4203 | 4204 | micromark-factory-space@2.0.1: 4205 | dependencies: 4206 | micromark-util-character: 2.1.1 4207 | micromark-util-types: 2.0.2 4208 | 4209 | micromark-factory-title@2.0.1: 4210 | dependencies: 4211 | micromark-factory-space: 2.0.1 4212 | micromark-util-character: 2.1.1 4213 | micromark-util-symbol: 2.0.1 4214 | micromark-util-types: 2.0.2 4215 | 4216 | micromark-factory-whitespace@2.0.1: 4217 | dependencies: 4218 | micromark-factory-space: 2.0.1 4219 | micromark-util-character: 2.1.1 4220 | micromark-util-symbol: 2.0.1 4221 | micromark-util-types: 2.0.2 4222 | 4223 | micromark-util-character@2.1.1: 4224 | dependencies: 4225 | micromark-util-symbol: 2.0.1 4226 | micromark-util-types: 2.0.2 4227 | 4228 | micromark-util-chunked@2.0.1: 4229 | dependencies: 4230 | micromark-util-symbol: 2.0.1 4231 | 4232 | micromark-util-classify-character@2.0.1: 4233 | dependencies: 4234 | micromark-util-character: 2.1.1 4235 | micromark-util-symbol: 2.0.1 4236 | micromark-util-types: 2.0.2 4237 | 4238 | micromark-util-combine-extensions@2.0.1: 4239 | dependencies: 4240 | micromark-util-chunked: 2.0.1 4241 | micromark-util-types: 2.0.2 4242 | 4243 | micromark-util-decode-numeric-character-reference@2.0.2: 4244 | dependencies: 4245 | micromark-util-symbol: 2.0.1 4246 | 4247 | micromark-util-decode-string@2.0.1: 4248 | dependencies: 4249 | decode-named-character-reference: 1.1.0 4250 | micromark-util-character: 2.1.1 4251 | micromark-util-decode-numeric-character-reference: 2.0.2 4252 | micromark-util-symbol: 2.0.1 4253 | 4254 | micromark-util-encode@2.0.1: {} 4255 | 4256 | micromark-util-html-tag-name@2.0.1: {} 4257 | 4258 | micromark-util-normalize-identifier@2.0.1: 4259 | dependencies: 4260 | micromark-util-symbol: 2.0.1 4261 | 4262 | micromark-util-resolve-all@2.0.1: 4263 | dependencies: 4264 | micromark-util-types: 2.0.2 4265 | 4266 | micromark-util-sanitize-uri@2.0.1: 4267 | dependencies: 4268 | micromark-util-character: 2.1.1 4269 | micromark-util-encode: 2.0.1 4270 | micromark-util-symbol: 2.0.1 4271 | 4272 | micromark-util-subtokenize@2.1.0: 4273 | dependencies: 4274 | devlop: 1.1.0 4275 | micromark-util-chunked: 2.0.1 4276 | micromark-util-symbol: 2.0.1 4277 | micromark-util-types: 2.0.2 4278 | 4279 | micromark-util-symbol@2.0.1: {} 4280 | 4281 | micromark-util-types@2.0.2: {} 4282 | 4283 | micromark@4.0.2: 4284 | dependencies: 4285 | '@types/debug': 4.1.12 4286 | debug: 4.4.0 4287 | decode-named-character-reference: 1.1.0 4288 | devlop: 1.1.0 4289 | micromark-core-commonmark: 2.0.3 4290 | micromark-factory-space: 2.0.1 4291 | micromark-util-character: 2.1.1 4292 | micromark-util-chunked: 2.0.1 4293 | micromark-util-combine-extensions: 2.0.1 4294 | micromark-util-decode-numeric-character-reference: 2.0.2 4295 | micromark-util-encode: 2.0.1 4296 | micromark-util-normalize-identifier: 2.0.1 4297 | micromark-util-resolve-all: 2.0.1 4298 | micromark-util-sanitize-uri: 2.0.1 4299 | micromark-util-subtokenize: 2.1.0 4300 | micromark-util-symbol: 2.0.1 4301 | micromark-util-types: 2.0.2 4302 | transitivePeerDependencies: 4303 | - supports-color 4304 | 4305 | micromatch@4.0.8: 4306 | dependencies: 4307 | braces: 3.0.3 4308 | picomatch: 2.3.1 4309 | 4310 | mime-db@1.54.0: {} 4311 | 4312 | mime-types@3.0.1: 4313 | dependencies: 4314 | mime-db: 1.54.0 4315 | 4316 | min-indent@1.0.1: {} 4317 | 4318 | minimatch@10.0.1: 4319 | dependencies: 4320 | brace-expansion: 2.0.1 4321 | 4322 | minimatch@3.1.2: 4323 | dependencies: 4324 | brace-expansion: 1.1.11 4325 | 4326 | minimatch@9.0.5: 4327 | dependencies: 4328 | brace-expansion: 2.0.1 4329 | 4330 | mlly@1.7.4: 4331 | dependencies: 4332 | acorn: 8.14.1 4333 | pathe: 2.0.3 4334 | pkg-types: 1.3.1 4335 | ufo: 1.6.1 4336 | 4337 | mri@1.2.0: 4338 | optional: true 4339 | 4340 | ms@2.1.3: {} 4341 | 4342 | nanoid@3.3.11: {} 4343 | 4344 | napi-postinstall@0.2.3: {} 4345 | 4346 | natural-compare@1.4.0: {} 4347 | 4348 | natural-orderby@5.0.0: {} 4349 | 4350 | negotiator@1.0.0: {} 4351 | 4352 | node-fetch-native@1.6.6: {} 4353 | 4354 | node-releases@2.0.19: {} 4355 | 4356 | nth-check@2.1.1: 4357 | dependencies: 4358 | boolbase: 1.0.0 4359 | 4360 | nypm@0.6.0: 4361 | dependencies: 4362 | citty: 0.1.6 4363 | consola: 3.4.2 4364 | pathe: 2.0.3 4365 | pkg-types: 2.1.0 4366 | tinyexec: 0.3.2 4367 | 4368 | object-assign@4.1.1: {} 4369 | 4370 | object-inspect@1.13.4: {} 4371 | 4372 | ohash@2.0.11: {} 4373 | 4374 | on-finished@2.4.1: 4375 | dependencies: 4376 | ee-first: 1.1.1 4377 | 4378 | once@1.4.0: 4379 | dependencies: 4380 | wrappy: 1.0.2 4381 | 4382 | optionator@0.9.4: 4383 | dependencies: 4384 | deep-is: 0.1.4 4385 | fast-levenshtein: 2.0.6 4386 | levn: 0.4.1 4387 | prelude-ls: 1.2.1 4388 | type-check: 0.4.0 4389 | word-wrap: 1.2.5 4390 | 4391 | oxc-resolver@7.0.1: 4392 | optionalDependencies: 4393 | '@oxc-resolver/binding-darwin-arm64': 7.0.1 4394 | '@oxc-resolver/binding-darwin-x64': 7.0.1 4395 | '@oxc-resolver/binding-freebsd-x64': 7.0.1 4396 | '@oxc-resolver/binding-linux-arm-gnueabihf': 7.0.1 4397 | '@oxc-resolver/binding-linux-arm64-gnu': 7.0.1 4398 | '@oxc-resolver/binding-linux-arm64-musl': 7.0.1 4399 | '@oxc-resolver/binding-linux-riscv64-gnu': 7.0.1 4400 | '@oxc-resolver/binding-linux-s390x-gnu': 7.0.1 4401 | '@oxc-resolver/binding-linux-x64-gnu': 7.0.1 4402 | '@oxc-resolver/binding-linux-x64-musl': 7.0.1 4403 | '@oxc-resolver/binding-wasm32-wasi': 7.0.1 4404 | '@oxc-resolver/binding-win32-arm64-msvc': 7.0.1 4405 | '@oxc-resolver/binding-win32-x64-msvc': 7.0.1 4406 | 4407 | p-limit@3.1.0: 4408 | dependencies: 4409 | yocto-queue: 0.1.0 4410 | 4411 | p-locate@5.0.0: 4412 | dependencies: 4413 | p-limit: 3.1.0 4414 | 4415 | package-manager-detector@0.2.11: 4416 | dependencies: 4417 | quansync: 0.2.10 4418 | optional: true 4419 | 4420 | package-manager-detector@1.3.0: {} 4421 | 4422 | parent-module@1.0.1: 4423 | dependencies: 4424 | callsites: 3.1.0 4425 | 4426 | parse-imports-exports@0.2.4: 4427 | dependencies: 4428 | parse-statements: 1.0.11 4429 | 4430 | parse-statements@1.0.11: {} 4431 | 4432 | parseurl@1.3.3: {} 4433 | 4434 | path-exists@4.0.0: {} 4435 | 4436 | path-key@3.1.1: {} 4437 | 4438 | path-parse@1.0.7: {} 4439 | 4440 | path-to-regexp@8.2.0: {} 4441 | 4442 | pathe@2.0.3: {} 4443 | 4444 | pathval@2.0.0: {} 4445 | 4446 | perfect-debounce@1.0.0: {} 4447 | 4448 | picocolors@1.1.1: {} 4449 | 4450 | picomatch@2.3.1: {} 4451 | 4452 | picomatch@4.0.2: {} 4453 | 4454 | pkce-challenge@5.0.0: {} 4455 | 4456 | pkg-types@1.3.1: 4457 | dependencies: 4458 | confbox: 0.1.8 4459 | mlly: 1.7.4 4460 | pathe: 2.0.3 4461 | 4462 | pkg-types@2.1.0: 4463 | dependencies: 4464 | confbox: 0.2.2 4465 | exsolve: 1.0.5 4466 | pathe: 2.0.3 4467 | 4468 | pluralize@8.0.0: {} 4469 | 4470 | pnpm-workspace-yaml@0.3.1: 4471 | dependencies: 4472 | yaml: 2.7.1 4473 | 4474 | postcss-selector-parser@6.1.2: 4475 | dependencies: 4476 | cssesc: 3.0.0 4477 | util-deprecate: 1.0.2 4478 | 4479 | postcss@8.5.3: 4480 | dependencies: 4481 | nanoid: 3.3.11 4482 | picocolors: 1.1.1 4483 | source-map-js: 1.2.1 4484 | 4485 | prelude-ls@1.2.1: {} 4486 | 4487 | prettier-linter-helpers@1.0.0: 4488 | dependencies: 4489 | fast-diff: 1.3.0 4490 | 4491 | prettier@3.5.3: {} 4492 | 4493 | proxy-addr@2.0.7: 4494 | dependencies: 4495 | forwarded: 0.2.0 4496 | ipaddr.js: 1.9.1 4497 | 4498 | publint@0.3.5: 4499 | dependencies: 4500 | '@publint/pack': 0.1.2 4501 | package-manager-detector: 0.2.11 4502 | picocolors: 1.1.1 4503 | sade: 1.8.1 4504 | optional: true 4505 | 4506 | punycode@2.3.1: {} 4507 | 4508 | qs@6.14.0: 4509 | dependencies: 4510 | side-channel: 1.1.0 4511 | 4512 | quansync@0.2.10: {} 4513 | 4514 | queue-microtask@1.2.3: {} 4515 | 4516 | range-parser@1.2.1: {} 4517 | 4518 | raw-body@3.0.0: 4519 | dependencies: 4520 | bytes: 3.1.2 4521 | http-errors: 2.0.0 4522 | iconv-lite: 0.6.3 4523 | unpipe: 1.0.0 4524 | 4525 | rc9@2.1.2: 4526 | dependencies: 4527 | defu: 6.1.4 4528 | destr: 2.0.5 4529 | 4530 | readdirp@4.1.2: {} 4531 | 4532 | refa@0.12.1: 4533 | dependencies: 4534 | '@eslint-community/regexpp': 4.12.1 4535 | 4536 | regexp-ast-analysis@0.7.1: 4537 | dependencies: 4538 | '@eslint-community/regexpp': 4.12.1 4539 | refa: 0.12.1 4540 | 4541 | regexp-tree@0.1.27: {} 4542 | 4543 | regjsparser@0.12.0: 4544 | dependencies: 4545 | jsesc: 3.0.2 4546 | 4547 | resolve-from@4.0.0: {} 4548 | 4549 | resolve-pkg-maps@1.0.0: {} 4550 | 4551 | resolve@1.22.10: 4552 | dependencies: 4553 | is-core-module: 2.16.1 4554 | path-parse: 1.0.7 4555 | supports-preserve-symlinks-flag: 1.0.0 4556 | 4557 | reusify@1.1.0: {} 4558 | 4559 | rolldown-plugin-dts@0.11.2(rolldown@1.0.0-beta.8-commit.534fde3)(typescript@5.8.3): 4560 | dependencies: 4561 | '@babel/generator': 7.27.1 4562 | '@babel/parser': 7.27.2 4563 | '@babel/types': 7.27.1 4564 | ast-kit: 1.4.3 4565 | debug: 4.4.0 4566 | dts-resolver: 1.1.2 4567 | get-tsconfig: 4.10.0 4568 | rolldown: 1.0.0-beta.8-commit.534fde3 4569 | optionalDependencies: 4570 | typescript: 5.8.3 4571 | transitivePeerDependencies: 4572 | - supports-color 4573 | 4574 | rolldown@1.0.0-beta.8-commit.534fde3: 4575 | dependencies: 4576 | '@oxc-project/types': 0.68.1 4577 | ansis: 3.17.0 4578 | optionalDependencies: 4579 | '@rolldown/binding-darwin-arm64': 1.0.0-beta.8-commit.534fde3 4580 | '@rolldown/binding-darwin-x64': 1.0.0-beta.8-commit.534fde3 4581 | '@rolldown/binding-freebsd-x64': 1.0.0-beta.8-commit.534fde3 4582 | '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.8-commit.534fde3 4583 | '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.8-commit.534fde3 4584 | '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.8-commit.534fde3 4585 | '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.8-commit.534fde3 4586 | '@rolldown/binding-linux-x64-musl': 1.0.0-beta.8-commit.534fde3 4587 | '@rolldown/binding-wasm32-wasi': 1.0.0-beta.8-commit.534fde3 4588 | '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.8-commit.534fde3 4589 | '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.8-commit.534fde3 4590 | '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.8-commit.534fde3 4591 | 4592 | rollup@4.40.2: 4593 | dependencies: 4594 | '@types/estree': 1.0.7 4595 | optionalDependencies: 4596 | '@rollup/rollup-android-arm-eabi': 4.40.2 4597 | '@rollup/rollup-android-arm64': 4.40.2 4598 | '@rollup/rollup-darwin-arm64': 4.40.2 4599 | '@rollup/rollup-darwin-x64': 4.40.2 4600 | '@rollup/rollup-freebsd-arm64': 4.40.2 4601 | '@rollup/rollup-freebsd-x64': 4.40.2 4602 | '@rollup/rollup-linux-arm-gnueabihf': 4.40.2 4603 | '@rollup/rollup-linux-arm-musleabihf': 4.40.2 4604 | '@rollup/rollup-linux-arm64-gnu': 4.40.2 4605 | '@rollup/rollup-linux-arm64-musl': 4.40.2 4606 | '@rollup/rollup-linux-loongarch64-gnu': 4.40.2 4607 | '@rollup/rollup-linux-powerpc64le-gnu': 4.40.2 4608 | '@rollup/rollup-linux-riscv64-gnu': 4.40.2 4609 | '@rollup/rollup-linux-riscv64-musl': 4.40.2 4610 | '@rollup/rollup-linux-s390x-gnu': 4.40.2 4611 | '@rollup/rollup-linux-x64-gnu': 4.40.2 4612 | '@rollup/rollup-linux-x64-musl': 4.40.2 4613 | '@rollup/rollup-win32-arm64-msvc': 4.40.2 4614 | '@rollup/rollup-win32-ia32-msvc': 4.40.2 4615 | '@rollup/rollup-win32-x64-msvc': 4.40.2 4616 | fsevents: 2.3.3 4617 | 4618 | router@2.2.0: 4619 | dependencies: 4620 | debug: 4.4.0 4621 | depd: 2.0.0 4622 | is-promise: 4.0.0 4623 | parseurl: 1.3.3 4624 | path-to-regexp: 8.2.0 4625 | transitivePeerDependencies: 4626 | - supports-color 4627 | 4628 | run-parallel@1.2.0: 4629 | dependencies: 4630 | queue-microtask: 1.2.3 4631 | 4632 | sade@1.8.1: 4633 | dependencies: 4634 | mri: 1.2.0 4635 | optional: true 4636 | 4637 | safe-buffer@5.2.1: {} 4638 | 4639 | safer-buffer@2.1.2: {} 4640 | 4641 | scslre@0.3.0: 4642 | dependencies: 4643 | '@eslint-community/regexpp': 4.12.1 4644 | refa: 0.12.1 4645 | regexp-ast-analysis: 0.7.1 4646 | 4647 | semver@7.7.1: {} 4648 | 4649 | send@1.2.0: 4650 | dependencies: 4651 | debug: 4.4.0 4652 | encodeurl: 2.0.0 4653 | escape-html: 1.0.3 4654 | etag: 1.8.1 4655 | fresh: 2.0.0 4656 | http-errors: 2.0.0 4657 | mime-types: 3.0.1 4658 | ms: 2.1.3 4659 | on-finished: 2.4.1 4660 | range-parser: 1.2.1 4661 | statuses: 2.0.1 4662 | transitivePeerDependencies: 4663 | - supports-color 4664 | 4665 | serve-static@2.2.0: 4666 | dependencies: 4667 | encodeurl: 2.0.0 4668 | escape-html: 1.0.3 4669 | parseurl: 1.3.3 4670 | send: 1.2.0 4671 | transitivePeerDependencies: 4672 | - supports-color 4673 | 4674 | setprototypeof@1.2.0: {} 4675 | 4676 | shebang-command@2.0.0: 4677 | dependencies: 4678 | shebang-regex: 3.0.0 4679 | 4680 | shebang-regex@3.0.0: {} 4681 | 4682 | side-channel-list@1.0.0: 4683 | dependencies: 4684 | es-errors: 1.3.0 4685 | object-inspect: 1.13.4 4686 | 4687 | side-channel-map@1.0.1: 4688 | dependencies: 4689 | call-bound: 1.0.4 4690 | es-errors: 1.3.0 4691 | get-intrinsic: 1.3.0 4692 | object-inspect: 1.13.4 4693 | 4694 | side-channel-weakmap@1.0.2: 4695 | dependencies: 4696 | call-bound: 1.0.4 4697 | es-errors: 1.3.0 4698 | get-intrinsic: 1.3.0 4699 | object-inspect: 1.13.4 4700 | side-channel-map: 1.0.1 4701 | 4702 | side-channel@1.1.0: 4703 | dependencies: 4704 | es-errors: 1.3.0 4705 | object-inspect: 1.13.4 4706 | side-channel-list: 1.0.0 4707 | side-channel-map: 1.0.1 4708 | side-channel-weakmap: 1.0.2 4709 | 4710 | siginfo@2.0.0: {} 4711 | 4712 | source-map-js@1.2.1: {} 4713 | 4714 | spdx-exceptions@2.5.0: {} 4715 | 4716 | spdx-expression-parse@4.0.0: 4717 | dependencies: 4718 | spdx-exceptions: 2.5.0 4719 | spdx-license-ids: 3.0.21 4720 | 4721 | spdx-license-ids@3.0.21: {} 4722 | 4723 | stable-hash@0.0.5: {} 4724 | 4725 | stackback@0.0.2: {} 4726 | 4727 | statuses@2.0.1: {} 4728 | 4729 | std-env@3.9.0: {} 4730 | 4731 | strip-indent@4.0.0: 4732 | dependencies: 4733 | min-indent: 1.0.1 4734 | 4735 | strip-json-comments@3.1.1: {} 4736 | 4737 | supports-color@7.2.0: 4738 | dependencies: 4739 | has-flag: 4.0.0 4740 | 4741 | supports-preserve-symlinks-flag@1.0.0: {} 4742 | 4743 | synckit@0.10.3: 4744 | dependencies: 4745 | '@pkgr/core': 0.2.4 4746 | tslib: 2.8.1 4747 | 4748 | synckit@0.11.4: 4749 | dependencies: 4750 | '@pkgr/core': 0.2.4 4751 | tslib: 2.8.1 4752 | 4753 | tapable@2.2.1: {} 4754 | 4755 | tinybench@2.9.0: {} 4756 | 4757 | tinyexec@0.3.2: {} 4758 | 4759 | tinyexec@1.0.1: {} 4760 | 4761 | tinyglobby@0.2.13: 4762 | dependencies: 4763 | fdir: 6.4.4(picomatch@4.0.2) 4764 | picomatch: 4.0.2 4765 | 4766 | tinypool@1.0.2: {} 4767 | 4768 | tinyrainbow@2.0.0: {} 4769 | 4770 | tinyspy@3.0.2: {} 4771 | 4772 | to-regex-range@5.0.1: 4773 | dependencies: 4774 | is-number: 7.0.0 4775 | 4776 | toidentifier@1.0.1: {} 4777 | 4778 | ts-api-utils@2.1.0(typescript@5.8.3): 4779 | dependencies: 4780 | typescript: 5.8.3 4781 | 4782 | tsdown@0.11.1(publint@0.3.5)(typescript@5.8.3)(unplugin-unused@0.4.1): 4783 | dependencies: 4784 | ansis: 3.17.0 4785 | cac: 6.7.14 4786 | chokidar: 4.0.3 4787 | debug: 4.4.0 4788 | diff: 7.0.0 4789 | empathic: 1.1.0 4790 | hookable: 5.5.3 4791 | rolldown: 1.0.0-beta.8-commit.534fde3 4792 | rolldown-plugin-dts: 0.11.2(rolldown@1.0.0-beta.8-commit.534fde3)(typescript@5.8.3) 4793 | semver: 7.7.1 4794 | tinyexec: 1.0.1 4795 | tinyglobby: 0.2.13 4796 | unconfig: 7.3.2 4797 | optionalDependencies: 4798 | publint: 0.3.5 4799 | unplugin-unused: 0.4.1 4800 | transitivePeerDependencies: 4801 | - '@oxc-project/runtime' 4802 | - supports-color 4803 | - typescript 4804 | 4805 | tslib@2.8.1: {} 4806 | 4807 | tsx@4.19.4: 4808 | dependencies: 4809 | esbuild: 0.25.4 4810 | get-tsconfig: 4.10.0 4811 | optionalDependencies: 4812 | fsevents: 2.3.3 4813 | 4814 | type-check@0.4.0: 4815 | dependencies: 4816 | prelude-ls: 1.2.1 4817 | 4818 | type-is@2.0.1: 4819 | dependencies: 4820 | content-type: 1.0.5 4821 | media-typer: 1.1.0 4822 | mime-types: 3.0.1 4823 | 4824 | typescript-eslint@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): 4825 | dependencies: 4826 | '@typescript-eslint/eslint-plugin': 8.32.0(@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 4827 | '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 4828 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 4829 | eslint: 9.26.0(jiti@2.4.2) 4830 | typescript: 5.8.3 4831 | transitivePeerDependencies: 4832 | - supports-color 4833 | 4834 | typescript@5.8.3: {} 4835 | 4836 | ufo@1.6.1: {} 4837 | 4838 | unconfig@7.3.2: 4839 | dependencies: 4840 | '@quansync/fs': 0.1.2 4841 | defu: 6.1.4 4842 | jiti: 2.4.2 4843 | quansync: 0.2.10 4844 | 4845 | undici-types@6.21.0: {} 4846 | 4847 | unist-util-is@6.0.0: 4848 | dependencies: 4849 | '@types/unist': 3.0.3 4850 | 4851 | unist-util-stringify-position@4.0.0: 4852 | dependencies: 4853 | '@types/unist': 3.0.3 4854 | 4855 | unist-util-visit-parents@6.0.1: 4856 | dependencies: 4857 | '@types/unist': 3.0.3 4858 | unist-util-is: 6.0.0 4859 | 4860 | unist-util-visit@5.0.0: 4861 | dependencies: 4862 | '@types/unist': 3.0.3 4863 | unist-util-is: 6.0.0 4864 | unist-util-visit-parents: 6.0.1 4865 | 4866 | unpipe@1.0.0: {} 4867 | 4868 | unplugin-unused@0.4.1: 4869 | dependencies: 4870 | js-tokens: 9.0.1 4871 | picocolors: 1.1.1 4872 | pkg-types: 1.3.1 4873 | unplugin: 2.3.2 4874 | unplugin-utils: 0.2.4 4875 | optional: true 4876 | 4877 | unplugin-utils@0.2.4: 4878 | dependencies: 4879 | pathe: 2.0.3 4880 | picomatch: 4.0.2 4881 | optional: true 4882 | 4883 | unplugin@2.3.2: 4884 | dependencies: 4885 | acorn: 8.14.1 4886 | picomatch: 4.0.2 4887 | webpack-virtual-modules: 0.6.2 4888 | optional: true 4889 | 4890 | unrs-resolver@1.7.2: 4891 | dependencies: 4892 | napi-postinstall: 0.2.3 4893 | optionalDependencies: 4894 | '@unrs/resolver-binding-darwin-arm64': 1.7.2 4895 | '@unrs/resolver-binding-darwin-x64': 1.7.2 4896 | '@unrs/resolver-binding-freebsd-x64': 1.7.2 4897 | '@unrs/resolver-binding-linux-arm-gnueabihf': 1.7.2 4898 | '@unrs/resolver-binding-linux-arm-musleabihf': 1.7.2 4899 | '@unrs/resolver-binding-linux-arm64-gnu': 1.7.2 4900 | '@unrs/resolver-binding-linux-arm64-musl': 1.7.2 4901 | '@unrs/resolver-binding-linux-ppc64-gnu': 1.7.2 4902 | '@unrs/resolver-binding-linux-riscv64-gnu': 1.7.2 4903 | '@unrs/resolver-binding-linux-riscv64-musl': 1.7.2 4904 | '@unrs/resolver-binding-linux-s390x-gnu': 1.7.2 4905 | '@unrs/resolver-binding-linux-x64-gnu': 1.7.2 4906 | '@unrs/resolver-binding-linux-x64-musl': 1.7.2 4907 | '@unrs/resolver-binding-wasm32-wasi': 1.7.2 4908 | '@unrs/resolver-binding-win32-arm64-msvc': 1.7.2 4909 | '@unrs/resolver-binding-win32-ia32-msvc': 1.7.2 4910 | '@unrs/resolver-binding-win32-x64-msvc': 1.7.2 4911 | 4912 | update-browserslist-db@1.1.3(browserslist@4.24.5): 4913 | dependencies: 4914 | browserslist: 4.24.5 4915 | escalade: 3.2.0 4916 | picocolors: 1.1.1 4917 | 4918 | uri-js@4.4.1: 4919 | dependencies: 4920 | punycode: 2.3.1 4921 | 4922 | util-deprecate@1.0.2: {} 4923 | 4924 | vary@1.1.2: {} 4925 | 4926 | vite-node@3.1.3(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1): 4927 | dependencies: 4928 | cac: 6.7.14 4929 | debug: 4.4.0 4930 | es-module-lexer: 1.7.0 4931 | pathe: 2.0.3 4932 | vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1) 4933 | transitivePeerDependencies: 4934 | - '@types/node' 4935 | - jiti 4936 | - less 4937 | - lightningcss 4938 | - sass 4939 | - sass-embedded 4940 | - stylus 4941 | - sugarss 4942 | - supports-color 4943 | - terser 4944 | - tsx 4945 | - yaml 4946 | 4947 | vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1): 4948 | dependencies: 4949 | esbuild: 0.25.4 4950 | fdir: 6.4.4(picomatch@4.0.2) 4951 | picomatch: 4.0.2 4952 | postcss: 8.5.3 4953 | rollup: 4.40.2 4954 | tinyglobby: 0.2.13 4955 | optionalDependencies: 4956 | '@types/node': 22.15.17 4957 | fsevents: 2.3.3 4958 | jiti: 2.4.2 4959 | tsx: 4.19.4 4960 | yaml: 2.7.1 4961 | 4962 | vitest@3.1.3(@types/debug@4.1.12)(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1): 4963 | dependencies: 4964 | '@vitest/expect': 3.1.3 4965 | '@vitest/mocker': 3.1.3(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1)) 4966 | '@vitest/pretty-format': 3.1.3 4967 | '@vitest/runner': 3.1.3 4968 | '@vitest/snapshot': 3.1.3 4969 | '@vitest/spy': 3.1.3 4970 | '@vitest/utils': 3.1.3 4971 | chai: 5.2.0 4972 | debug: 4.4.0 4973 | expect-type: 1.2.1 4974 | magic-string: 0.30.17 4975 | pathe: 2.0.3 4976 | std-env: 3.9.0 4977 | tinybench: 2.9.0 4978 | tinyexec: 0.3.2 4979 | tinyglobby: 0.2.13 4980 | tinypool: 1.0.2 4981 | tinyrainbow: 2.0.0 4982 | vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1) 4983 | vite-node: 3.1.3(@types/node@22.15.17)(jiti@2.4.2)(tsx@4.19.4)(yaml@2.7.1) 4984 | why-is-node-running: 2.3.0 4985 | optionalDependencies: 4986 | '@types/debug': 4.1.12 4987 | '@types/node': 22.15.17 4988 | transitivePeerDependencies: 4989 | - jiti 4990 | - less 4991 | - lightningcss 4992 | - msw 4993 | - sass 4994 | - sass-embedded 4995 | - stylus 4996 | - sugarss 4997 | - supports-color 4998 | - terser 4999 | - tsx 5000 | - yaml 5001 | 5002 | vue-eslint-parser@10.1.3(eslint@9.26.0(jiti@2.4.2)): 5003 | dependencies: 5004 | debug: 4.4.0 5005 | eslint: 9.26.0(jiti@2.4.2) 5006 | eslint-scope: 8.3.0 5007 | eslint-visitor-keys: 4.2.0 5008 | espree: 10.3.0 5009 | esquery: 1.6.0 5010 | lodash: 4.17.21 5011 | semver: 7.7.1 5012 | transitivePeerDependencies: 5013 | - supports-color 5014 | 5015 | webpack-virtual-modules@0.6.2: 5016 | optional: true 5017 | 5018 | which@2.0.2: 5019 | dependencies: 5020 | isexe: 2.0.0 5021 | 5022 | why-is-node-running@2.3.0: 5023 | dependencies: 5024 | siginfo: 2.0.0 5025 | stackback: 0.0.2 5026 | 5027 | word-wrap@1.2.5: {} 5028 | 5029 | wrappy@1.0.2: {} 5030 | 5031 | xml-name-validator@4.0.0: {} 5032 | 5033 | yaml-eslint-parser@1.3.0: 5034 | dependencies: 5035 | eslint-visitor-keys: 3.4.3 5036 | yaml: 2.7.1 5037 | 5038 | yaml@2.7.1: {} 5039 | 5040 | yocto-queue@0.1.0: {} 5041 | 5042 | zod-to-json-schema@3.24.5(zod@3.24.4): 5043 | dependencies: 5044 | zod: 3.24.4 5045 | 5046 | zod@3.24.4: {} 5047 | 5048 | zwitch@2.0.4: {} 5049 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { walkAST as estreeWalk, isFunctionType } from 'ast-kit' 2 | import { 3 | babelParse, 4 | isNewScope, 5 | walkFunctionParams, 6 | walkNewIdentifier, 7 | walkVariableDeclaration, 8 | } from './utils/babel' 9 | import type { 10 | ParseOptions, 11 | Scope, 12 | ScopeContext, 13 | WalkerContext, 14 | WalkerHooks, 15 | } from './types' 16 | import type { ParseResult } from '@babel/parser' 17 | import type { File, Identifier, Node } from '@babel/types' 18 | 19 | export * from './types' 20 | export * from './utils/babel' 21 | 22 | export function walk( 23 | code: string, 24 | walkHooks: WalkerHooks, 25 | { filename, parserPlugins }: ParseOptions = {}, 26 | ): ParseResult { 27 | const ast = babelParse(code, filename, parserPlugins) 28 | walkAST(ast.program, walkHooks) 29 | 30 | return ast 31 | } 32 | 33 | export function walkAST( 34 | node: Node | Node[], 35 | { enter, leave, enterAfter, leaveAfter }: WalkerHooks, 36 | ): void { 37 | let currentScope: Scope = {} 38 | const scopeStack: Scope[] = [currentScope] 39 | 40 | const ast: Node = Array.isArray(node) 41 | ? ({ type: 'Program', body: node } as any) 42 | : node 43 | estreeWalk(ast, { 44 | enter(node, parent, ...args) { 45 | const { scopeCtx, walkerCtx, isSkip, isRemoved, getNode } = 46 | getHookContext(this, node, [parent, ...args]) 47 | 48 | enter?.call({ ...scopeCtx(), ...walkerCtx }, node) 49 | node = getNode() 50 | 51 | if (!isSkip() && !isRemoved()) { 52 | enterNode(node, parent) 53 | enterAfter?.call(scopeCtx(), node) 54 | } 55 | }, 56 | 57 | leave(this, node, parent, ...args) { 58 | const { scopeCtx, walkerCtx, isSkip, isRemoved, getNode } = 59 | getHookContext(this, node, [parent, ...args]) 60 | 61 | leave?.call({ ...scopeCtx(), ...walkerCtx }, node) 62 | node = getNode() 63 | 64 | if (!isSkip() && !isRemoved()) { 65 | leaveNode(node, parent) 66 | leaveAfter?.call(scopeCtx(), node) 67 | } 68 | }, 69 | }) 70 | 71 | function getHookContext( 72 | ctx: WalkerContext, 73 | node: Node, 74 | [parent, key, index]: [ 75 | Node | undefined | null, 76 | string | undefined | null, 77 | number | undefined | null, 78 | ], 79 | ): { 80 | scopeCtx: () => ScopeContext 81 | walkerCtx: WalkerContext 82 | isSkip: () => boolean 83 | isRemoved: () => boolean 84 | getNode: () => Node 85 | } { 86 | const scopeCtx: () => ScopeContext = () => ({ 87 | parent, 88 | key, 89 | index, 90 | 91 | scope: scopeStack.reduce((prev, curr) => ({ ...prev, ...curr }), {}), 92 | scopes: scopeStack, 93 | level: scopeStack.length, 94 | }) 95 | 96 | let isSkip = false 97 | let isRemoved = false 98 | let newNode: Node = node 99 | const walkerCtx: WalkerContext = { 100 | skip() { 101 | isSkip = true 102 | ctx.skip() 103 | }, 104 | replace(node) { 105 | newNode = node 106 | }, 107 | remove() { 108 | isRemoved = true 109 | }, 110 | } 111 | 112 | return { 113 | scopeCtx, 114 | walkerCtx, 115 | isSkip: () => isSkip, 116 | isRemoved: () => isRemoved, 117 | getNode: () => newNode, 118 | } 119 | } 120 | 121 | function enterNode(node: Node, parent: Node | undefined | null) { 122 | if ( 123 | isNewScope(node) || 124 | (node.type === 'BlockStatement' && !isNewScope(parent)) 125 | ) 126 | scopeStack.push((currentScope = {})) 127 | 128 | if (isFunctionType(node)) { 129 | walkFunctionParams(node, registerBinding) 130 | } else if ( 131 | // catch param 132 | node.type === 'CatchClause' && 133 | node.param && 134 | node.param.type === 'Identifier' 135 | ) 136 | registerBinding(node.param) 137 | 138 | // handle hoist 139 | if (node.type === 'BlockStatement' || node.type === 'Program') { 140 | for (const stmt of node.body) { 141 | if (stmt.type === 'VariableDeclaration' && stmt.kind === 'var') { 142 | walkVariableDeclaration(stmt, registerBinding) 143 | } else if (stmt.type === 'FunctionDeclaration' && stmt.id) { 144 | registerBinding(stmt.id) 145 | } 146 | } 147 | } 148 | } 149 | 150 | function leaveNode(node: Node, parent: Node | undefined | null) { 151 | if ( 152 | isNewScope(node) || 153 | (node.type === 'BlockStatement' && !isNewScope(parent)) 154 | ) { 155 | scopeStack.pop() 156 | currentScope = scopeStack.at(-1)! 157 | } 158 | walkNewIdentifier(node, registerBinding) 159 | } 160 | 161 | function registerBinding(id: Identifier) { 162 | if (currentScope) { 163 | currentScope[id.name] = id 164 | } else { 165 | error( 166 | 'registerBinding called without active scope, something is wrong.', 167 | id, 168 | ) 169 | } 170 | } 171 | 172 | function error(msg: string, node: Node) { 173 | const e = new Error(msg) 174 | ;(e as any).node = node 175 | throw e 176 | } 177 | } 178 | 179 | export function getRootScope(nodes: Node[]): Scope { 180 | const scope: Scope = {} 181 | for (const node of nodes) { 182 | walkNewIdentifier(node, (id) => { 183 | scope[id.name] = id 184 | }) 185 | } 186 | return scope 187 | } 188 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | import type { ParserPlugin } from '@babel/parser' 2 | import type { Node } from '@babel/types' 3 | 4 | export interface ParseOptions { 5 | filename?: string 6 | parserPlugins?: ParserPlugin[] 7 | } 8 | 9 | export type Scope = Record 10 | 11 | export interface WalkerContext { 12 | skip: () => void 13 | remove: () => void 14 | replace: (node: Node) => void 15 | } 16 | 17 | export interface ScopeContext { 18 | parent: Node | undefined | null 19 | key: string | undefined | null 20 | index: number | undefined | null 21 | 22 | scope: Scope 23 | scopes: Scope[] 24 | level: number 25 | } 26 | 27 | export interface WalkerHooks { 28 | enter?: (this: WalkerContext & ScopeContext, node: Node) => void 29 | enterAfter?: (this: ScopeContext, node: Node) => void 30 | leave?: (this: WalkerContext & ScopeContext, node: Node) => void 31 | leaveAfter?: (this: ScopeContext, node: Node) => void 32 | } 33 | -------------------------------------------------------------------------------- /src/utils/babel.ts: -------------------------------------------------------------------------------- 1 | import { parse, type ParseResult, type ParserPlugin } from '@babel/parser' 2 | import { isFunctionType } from 'ast-kit' 3 | import type { 4 | File, 5 | Function, 6 | Identifier, 7 | Node, 8 | VariableDeclaration, 9 | } from '@babel/types' 10 | 11 | const NEW_SCOPE: Node['type'][] = [ 12 | 'CatchClause', 13 | 'ForInStatement', 14 | 'ForOfStatement', 15 | ] 16 | 17 | export const isNewScope = (node: Node | undefined | null): boolean => 18 | (node && NEW_SCOPE.includes(node.type)) || isFunctionType(node) 19 | 20 | export function walkFunctionParams( 21 | node: Function, 22 | onIdent: (id: Identifier) => void, 23 | ): void { 24 | for (const p of node.params) { 25 | for (const id of extractIdentifiers(p)) { 26 | onIdent(id) 27 | } 28 | } 29 | } 30 | 31 | export function extractIdentifiers( 32 | param: Node, 33 | nodes: Identifier[] = [], 34 | ): Identifier[] { 35 | switch (param.type) { 36 | case 'Identifier': 37 | nodes.push(param) 38 | break 39 | 40 | case 'MemberExpression': { 41 | let object: any = param 42 | while (object.type === 'MemberExpression') { 43 | object = object.object 44 | } 45 | nodes.push(object) 46 | break 47 | } 48 | 49 | case 'ObjectPattern': 50 | for (const prop of param.properties) { 51 | if (prop.type === 'RestElement') { 52 | extractIdentifiers(prop.argument, nodes) 53 | } else { 54 | extractIdentifiers(prop.value, nodes) 55 | } 56 | } 57 | break 58 | 59 | case 'ArrayPattern': 60 | param.elements.forEach((element) => { 61 | if (element) extractIdentifiers(element, nodes) 62 | }) 63 | break 64 | 65 | case 'RestElement': 66 | extractIdentifiers(param.argument, nodes) 67 | break 68 | 69 | case 'AssignmentPattern': 70 | extractIdentifiers(param.left, nodes) 71 | break 72 | } 73 | 74 | return nodes 75 | } 76 | 77 | export function babelParse( 78 | code: string, 79 | filename?: string, 80 | parserPlugins: ParserPlugin[] = [], 81 | ): ParseResult { 82 | const plugins: ParserPlugin[] = parserPlugins || [] 83 | if (filename) { 84 | if (/\.tsx?$/.test(filename)) plugins.push('typescript') 85 | if (filename.endsWith('x')) plugins.push('jsx') 86 | } 87 | 88 | const ast = parse(code, { 89 | sourceType: 'module', 90 | plugins, 91 | }) 92 | return ast 93 | } 94 | 95 | export function walkVariableDeclaration( 96 | stmt: VariableDeclaration, 97 | register: (id: Identifier) => void, 98 | ): void { 99 | if (stmt.declare) return 100 | 101 | for (const decl of stmt.declarations) { 102 | for (const id of extractIdentifiers(decl.id)) { 103 | register(id) 104 | } 105 | } 106 | } 107 | 108 | export function walkNewIdentifier( 109 | node: Node, 110 | register: (id: Identifier) => void, 111 | ): void { 112 | if (node.type === 'ExportNamedDeclaration' && node.declaration) { 113 | node = node.declaration 114 | } 115 | 116 | if (node.type === 'VariableDeclaration') { 117 | walkVariableDeclaration(node, register) 118 | } else if ( 119 | node.type === 'FunctionDeclaration' || 120 | node.type === 'ClassDeclaration' 121 | ) { 122 | if (node.declare || !node.id) return 123 | register(node.id) 124 | } else if ( 125 | node.type === 'ExportNamedDeclaration' && 126 | node.declaration && 127 | node.declaration.type === 'VariableDeclaration' 128 | ) { 129 | walkVariableDeclaration(node.declaration, register) 130 | } 131 | } 132 | -------------------------------------------------------------------------------- /tests/__snapshots__/analyze.test.ts.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`analyze > ./fixtures/arrow-fn.ts 1`] = ` 4 | " 1 | let level = 'root'/* LEVEL: 1 5 | | > { 6 | | > level: 1, 4 7 | | } */ 8 | 2 | 9 | 3 | const foo = (a, b) => console.log(a, b)/* LEVEL: 2 10 | | > { 11 | | > a: 3, 13 12 | | > b: 3, 16 13 | | > level: 1, 4 14 | | } *//* LEVEL: 1 15 | | > { 16 | | > foo: 3, 6 17 | | > level: 1, 4 18 | | } */ 19 | 4 | 20 | 5 | console.log(level)/* LEVEL: 1 21 | | > { 22 | | > foo: 3, 6 23 | | > level: 1, 4 24 | | } */ 25 | 6 | " 26 | `; 27 | 28 | exports[`analyze > ./fixtures/basic.ts 1`] = ` 29 | " 1 | const level = 'root'/* LEVEL: 1 30 | | > { 31 | | > level: 1, 6 32 | | > topFn: 6, 9 33 | | } */ 34 | 2 | export const topVar = 'foo'/* LEVEL: 1 35 | | > { 36 | | > level: 1, 6 37 | | > topFn: 6, 9 38 | | > topVar: 2, 13 39 | | } */ 40 | 3 | 41 | 4 | class topClass {}/* LEVEL: 1 42 | | > { 43 | | > level: 1, 6 44 | | > topClass: 4, 6 45 | | > topFn: 6, 9 46 | | > topVar: 2, 13 47 | | } */ 48 | 5 | 49 | 6 | function topFn() {}/* LEVEL: 1 50 | | > { 51 | | > level: 1, 6 52 | | > topClass: 4, 6 53 | | > topFn: 6, 9 54 | | > topVar: 2, 13 55 | | } */ 56 | 7 | 57 | 8 | export const topFoo = () => { 58 | 9 | console.log(level)/* LEVEL: 2 59 | | > { 60 | | > level: 1, 6 61 | | > topClass: 4, 6 62 | | > topFn: 6, 9 63 | | > topVar: 2, 13 64 | | } */ 65 | 10 | }/* LEVEL: 1 66 | | > { 67 | | > level: 1, 6 68 | | > topClass: 4, 6 69 | | > topFn: 6, 9 70 | | > topFoo: 8, 13 71 | | > topVar: 2, 13 72 | | } */ 73 | 11 | 74 | 12 | { 75 | 13 | const level = '2'/* LEVEL: 2 76 | | > { 77 | | > level: 13, 8 78 | | > topClass: 4, 6 79 | | > topFn: 6, 9 80 | | > topFoo: 8, 13 81 | | > topVar: 2, 13 82 | | } */ 83 | 14 | class Level2Class { 84 | 15 | // 85 | 16 | }/* LEVEL: 2 86 | | > { 87 | | > level: 13, 8 88 | | > Level2Class: 14, 8 89 | | > topClass: 4, 6 90 | | > topFn: 6, 9 91 | | > topFoo: 8, 13 92 | | > topVar: 2, 13 93 | | } */ 94 | 17 | 95 | 18 | { 96 | 19 | const level = '3'/* LEVEL: 3 97 | | > { 98 | | > level: 19, 10 99 | | > Level2Class: 14, 8 100 | | > Level3Fn: 20, 13 101 | | > topClass: 4, 6 102 | | > topFn: 6, 9 103 | | > topFoo: 8, 13 104 | | > topVar: 2, 13 105 | | } */ 106 | 20 | function Level3Fn() { 107 | 21 | // 108 | 22 | }/* LEVEL: 3 109 | | > { 110 | | > level: 19, 10 111 | | > Level2Class: 14, 8 112 | | > Level3Fn: 20, 13 113 | | > topClass: 4, 6 114 | | > topFn: 6, 9 115 | | > topFoo: 8, 13 116 | | > topVar: 2, 13 117 | | } */ 118 | 23 | } 119 | 24 | 120 | 25 | // Level 2 121 | 26 | } 122 | 27 | 123 | 28 | // Level 1 124 | 29 | " 125 | `; 126 | 127 | exports[`analyze > ./fixtures/catch-params.ts 1`] = ` 128 | " 1 | const level = 'root'/* LEVEL: 1 129 | | > { 130 | | > level: 1, 6 131 | | } */ 132 | 2 | try { 133 | 3 | const tryVar = '1'/* LEVEL: 2 134 | | > { 135 | | > level: 1, 6 136 | | > tryVar: 3, 8 137 | | } */ 138 | 4 | } catch (err) { 139 | 5 | console.log(err)/* LEVEL: 2 140 | | > { 141 | | > err: 4, 9 142 | | > level: 1, 6 143 | | } */ 144 | 6 | } 145 | 7 | 146 | 8 | console.log(level)/* LEVEL: 1 147 | | > { 148 | | > level: 1, 6 149 | | } */ 150 | 9 | " 151 | `; 152 | 153 | exports[`analyze > ./fixtures/destructuring-var.ts 1`] = ` 154 | " 1 | const { 155 | 2 | a, 156 | 3 | b, 157 | 4 | c: c1, 158 | 5 | d: { e }, 159 | 6 | } = { 160 | 7 | a: 'a', 161 | 8 | b: 'b', 162 | 9 | c: 'c', 163 | 10 | d: { e: 'e' }, 164 | 11 | }/* LEVEL: 1 165 | | > { 166 | | > a: 2, 2 167 | | > b: 3, 2 168 | | > c1: 4, 5 169 | | > e: 5, 7 170 | | } */ 171 | 12 | 172 | 13 | const [a1, a2, , [a4]] = [1, 2, 3, [4]]/* LEVEL: 1 173 | | > { 174 | | > a: 2, 2 175 | | > a1: 13, 7 176 | | > a2: 13, 11 177 | | > a4: 13, 18 178 | | > b: 3, 2 179 | | > c1: 4, 5 180 | | > e: 5, 7 181 | | } */ 182 | 14 | " 183 | `; 184 | 185 | exports[`analyze > ./fixtures/fn-params.ts 1`] = ` 186 | " 1 | let level = 'root'/* LEVEL: 1 187 | | > { 188 | | > level: 1, 4 189 | | } */ 190 | 2 | 191 | 3 | const foo = function (a, b) { 192 | 4 | console.log(a, b)/* LEVEL: 2 193 | | > { 194 | | > a: 3, 22 195 | | > b: 3, 25 196 | | > level: 1, 4 197 | | } */ 198 | 5 | }/* LEVEL: 1 199 | | > { 200 | | > foo: 3, 6 201 | | > level: 1, 4 202 | | } */ 203 | 6 | " 204 | `; 205 | 206 | exports[`analyze > ./fixtures/loop.js 1`] = ` 207 | " 1 | const level = 'root'/* LEVEL: 1 208 | | > { 209 | | > level: 1, 6 210 | | } */ 211 | 2 | 212 | 3 | for (const iterator/* LEVEL: 2 213 | | > { 214 | | > iterator: 3, 11 215 | | > level: 1, 6 216 | | } */ of object) { 217 | 4 | console.log(iterator)/* LEVEL: 2 218 | | > { 219 | | > iterator: 3, 11 220 | | > level: 1, 6 221 | | } */ 222 | 5 | } 223 | 6 | 224 | 7 | for (const key/* LEVEL: 2 225 | | > { 226 | | > key: 7, 11 227 | | > level: 1, 6 228 | | } */ in object) { 229 | 8 | console.log(key)/* LEVEL: 2 230 | | > { 231 | | > key: 7, 11 232 | | > level: 1, 6 233 | | } */ 234 | 9 | } 235 | 10 | 236 | 11 | for (let i = 0/* LEVEL: 1 237 | | > { 238 | | > i: 11, 9 239 | | > level: 1, 6 240 | | } */; i < array.length; i++) { 241 | 12 | console.log(i)/* LEVEL: 2 242 | | > { 243 | | > i: 11, 9 244 | | > level: 1, 6 245 | | } */ 246 | 13 | } 247 | 14 | 248 | 15 | while (1) { 249 | 16 | console.log(level)/* LEVEL: 2 250 | | > { 251 | | > i: 11, 9 252 | | > level: 1, 6 253 | | } */ 254 | 17 | } 255 | 18 | 256 | 19 | do { 257 | 20 | console.log(level)/* LEVEL: 2 258 | | > { 259 | | > i: 11, 9 260 | | > level: 1, 6 261 | | } */ 262 | 21 | } while (1) 263 | 22 | ;[].forEach((item, idx) => { 264 | 23 | console.log(item, idx)/* LEVEL: 2 265 | | > { 266 | | > i: 11, 9 267 | | > idx: 22, 19 268 | | > item: 22, 13 269 | | > level: 1, 6 270 | | } */ 271 | 24 | })/* LEVEL: 1 272 | | > { 273 | | > i: 11, 9 274 | | > level: 1, 6 275 | | } */ 276 | 25 | 277 | 26 | console.log(level)/* LEVEL: 1 278 | | > { 279 | | > i: 11, 9 280 | | > level: 1, 6 281 | | } */ 282 | 27 | " 283 | `; 284 | 285 | exports[`analyze > ./fixtures/var-hoist.ts 1`] = ` 286 | " 1 | console.log(foo)/* LEVEL: 1 287 | | > { 288 | | > foo: 3, 9 289 | | > v: 4, 4 290 | | } */ 291 | 2 | 292 | 3 | function foo() {}/* LEVEL: 1 293 | | > { 294 | | > foo: 3, 9 295 | | > v: 4, 4 296 | | } */ 297 | 4 | var v = '123'/* LEVEL: 1 298 | | > { 299 | | > foo: 3, 9 300 | | > v: 4, 4 301 | | } */ 302 | 5 | " 303 | `; 304 | -------------------------------------------------------------------------------- /tests/analyze.test.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | import { 4 | isCallExpression, 5 | isDeclaration, 6 | isExportNamedDeclaration, 7 | } from '@babel/types' 8 | import MagicString from 'magic-string' 9 | import { describe, expect, test } from 'vitest' 10 | import { babelParse, getRootScope, walk, type WalkerHooks } from '../src' 11 | import { output, prependLineNumber } from './utils' 12 | 13 | describe('analyze', () => { 14 | const fixtures = import.meta.glob('./fixtures/*.{ts,js}', { 15 | eager: true, 16 | query: '?raw', 17 | import: 'default', 18 | }) 19 | 20 | for (const [filename, content] of Object.entries(fixtures)) { 21 | test(filename, () => { 22 | const s = new MagicString(content) 23 | prependLineNumber(content, s) 24 | 25 | const hooks: WalkerHooks = { 26 | leaveAfter(node) { 27 | if ( 28 | (isDeclaration(node) || isCallExpression(node)) && 29 | !isExportNamedDeclaration(node) 30 | ) { 31 | output(s, node, this) 32 | } 33 | }, 34 | } 35 | walk(content, hooks, { filename }) 36 | 37 | expect(s.toString()).toMatchSnapshot() 38 | }) 39 | } 40 | }) 41 | 42 | test('getRootScope', () => { 43 | const { program } = babelParse(` 44 | const a = 1 45 | const b = 2 46 | { 47 | const c = 3 48 | } 49 | function foo() { } 50 | class Clz { } 51 | `) 52 | const scope = getRootScope(program.body) 53 | expect(Object.keys(scope)).toMatchInlineSnapshot(` 54 | [ 55 | "a", 56 | "b", 57 | "foo", 58 | "Clz", 59 | ] 60 | `) 61 | }) 62 | -------------------------------------------------------------------------------- /tests/fixtures/arrow-fn.ts: -------------------------------------------------------------------------------- 1 | let level = 'root' 2 | 3 | const foo = (a, b) => console.log(a, b) 4 | 5 | console.log(level) 6 | -------------------------------------------------------------------------------- /tests/fixtures/basic.ts: -------------------------------------------------------------------------------- 1 | const level = 'root' 2 | export const topVar = 'foo' 3 | 4 | class topClass {} 5 | 6 | function topFn() {} 7 | 8 | export const topFoo = () => { 9 | console.log(level) 10 | } 11 | 12 | { 13 | const level = '2' 14 | class Level2Class { 15 | // 16 | } 17 | 18 | { 19 | const level = '3' 20 | function Level3Fn() { 21 | // 22 | } 23 | } 24 | 25 | // Level 2 26 | } 27 | 28 | // Level 1 29 | -------------------------------------------------------------------------------- /tests/fixtures/catch-params.ts: -------------------------------------------------------------------------------- 1 | const level = 'root' 2 | try { 3 | const tryVar = '1' 4 | } catch (err) { 5 | console.log(err) 6 | } 7 | 8 | console.log(level) 9 | -------------------------------------------------------------------------------- /tests/fixtures/destructuring-var.ts: -------------------------------------------------------------------------------- 1 | const { 2 | a, 3 | b, 4 | c: c1, 5 | d: { e }, 6 | } = { 7 | a: 'a', 8 | b: 'b', 9 | c: 'c', 10 | d: { e: 'e' }, 11 | } 12 | 13 | const [a1, a2, , [a4]] = [1, 2, 3, [4]] 14 | -------------------------------------------------------------------------------- /tests/fixtures/fn-params.ts: -------------------------------------------------------------------------------- 1 | let level = 'root' 2 | 3 | const foo = function (a, b) { 4 | console.log(a, b) 5 | } 6 | -------------------------------------------------------------------------------- /tests/fixtures/loop.js: -------------------------------------------------------------------------------- 1 | const level = 'root' 2 | 3 | for (const iterator of object) { 4 | console.log(iterator) 5 | } 6 | 7 | for (const key in object) { 8 | console.log(key) 9 | } 10 | 11 | for (let i = 0; i < array.length; i++) { 12 | console.log(i) 13 | } 14 | 15 | while (1) { 16 | console.log(level) 17 | } 18 | 19 | do { 20 | console.log(level) 21 | } while (1) 22 | ;[].forEach((item, idx) => { 23 | console.log(item, idx) 24 | }) 25 | 26 | console.log(level) 27 | -------------------------------------------------------------------------------- /tests/fixtures/var-hoist.ts: -------------------------------------------------------------------------------- 1 | console.log(foo) 2 | 3 | function foo() {} 4 | var v = '123' 5 | -------------------------------------------------------------------------------- /tests/utils.ts: -------------------------------------------------------------------------------- 1 | import type { Scope, ScopeContext } from '../src' 2 | import type { Node } from '@babel/types' 3 | import type MagicString from 'magic-string' 4 | 5 | export function stringifyScope(scope: Scope) { 6 | return `{\n | > ${Object.entries(scope) 7 | .sort(([a], [b]) => a.localeCompare(b)) 8 | .map( 9 | ([key, node]) => 10 | `${key}: ${ 11 | node?.loc?.start 12 | ? `${node?.loc?.start.line}, ${node?.loc?.start.column}` 13 | : undefined 14 | }`, 15 | ) 16 | .join('\n | > ')}\n | }` 17 | } 18 | 19 | export function prependLineNumber(code: string, s: MagicString): void { 20 | let idx = 0 21 | for (const [lineNumber, line] of code.split('\n').entries()) { 22 | s.prependLeft(idx, `${String(lineNumber + 1).padStart(2)} | `) 23 | idx += line.length + 1 24 | } 25 | } 26 | 27 | export function output(s: MagicString, node: Node, ctx: ScopeContext): void { 28 | s.appendLeft( 29 | node.end!, 30 | `/* LEVEL: ${ctx.scopes.length} \n | > ${stringifyScope(ctx.scope)} */`, 31 | ) 32 | } 33 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "lib": ["es2022"], 5 | "moduleDetection": "force", 6 | "module": "preserve", 7 | "moduleResolution": "bundler", 8 | "resolveJsonModule": true, 9 | "types": ["node"], 10 | "strict": true, 11 | "noUnusedLocals": true, 12 | "declaration": true, 13 | "isolatedDeclarations": true, 14 | "esModuleInterop": true, 15 | "isolatedModules": true, 16 | "verbatimModuleSyntax": true, 17 | "skipLibCheck": true 18 | }, 19 | "include": ["src", "tests"], 20 | "exclude": ["tests/fixtures"] 21 | } 22 | -------------------------------------------------------------------------------- /tsdown.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'tsdown' 2 | 3 | export default defineConfig({ 4 | entry: './src/index.ts', 5 | }) 6 | --------------------------------------------------------------------------------