├── .editorconfig ├── .eslintignore ├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── eslint.config.mjs ├── module.test.ts ├── package.json ├── pnpm-lock.yaml ├── rslib.config.ts ├── src ├── add-progress-bar.ts ├── cli.ts ├── download-main-repo.ts ├── download-partial-repo.ts ├── get-data.ts ├── index.ts └── pull-source.ts ├── tsconfig.json └── vitest.config.ts /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [{*.json,*.yml}] 11 | indent_style = space 12 | indent_size = 2 13 | -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | .eslintrc.js 2 | dist 3 | *.d.ts 4 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | on: push 3 | jobs: 4 | build: 5 | runs-on: ubuntu-latest 6 | steps: 7 | - name: Checkout 8 | uses: actions/checkout@v4.1.3 9 | 10 | - name: Use Node.js 20.x 11 | uses: actions/setup-node@v1 12 | with: 13 | node-version: '20.11.1' 14 | 15 | - name: Install pnpm 16 | uses: pnpm/action-setup@v2 17 | with: 18 | version: 8 19 | run_install: false 20 | 21 | - name: Get pnpm store directory 22 | shell: bash 23 | run: | 24 | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV 25 | 26 | - name: Setup pnpm cache 27 | uses: actions/cache@v3 28 | with: 29 | path: ${{ env.STORE_PATH }} 30 | key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} 31 | restore-keys: | 32 | ${{ runner.os }}-pnpm-store- 33 | 34 | - name: Install dependencies 35 | run: | 36 | pnpm install 37 | pnpm add -g extension@latest 38 | 39 | - name: Build 40 | run: | 41 | pnpm build 42 | 43 | - name: Test 44 | run: | 45 | pnpm test 46 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # Snowpack dependency directory (https://snowpack.dev/) 45 | web_modules/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | .parcel-cache 78 | 79 | # Next.js build output 80 | .next 81 | out 82 | 83 | # Nuxt.js build / generate output 84 | .nuxt 85 | dist 86 | 87 | # Gatsby files 88 | .cache/ 89 | # Comment in the public line in if your project uses Gatsby and not Next.js 90 | # https://nextjs.org/blog/next-9-1#public-directory-support 91 | # public 92 | 93 | # vuepress build output 94 | .vuepress/dist 95 | 96 | # Serverless directories 97 | .serverless/ 98 | 99 | # FuseBox cache 100 | .fusebox/ 101 | 102 | # DynamoDB Local files 103 | .dynamodb/ 104 | 105 | # TernJS port file 106 | .tern-port 107 | 108 | # Stores VSCode versions used for testing VSCode extensions 109 | .vscode-test 110 | 111 | # yarn v2 112 | .yarn/cache 113 | .yarn/unplugged 114 | .yarn/build-state.yml 115 | .yarn/install-state.gz 116 | .pnp.*# Logs 117 | logs 118 | *.log 119 | npm-debug.log* 120 | yarn-debug.log* 121 | yarn-error.log* 122 | lerna-debug.log* 123 | 124 | # Diagnostic reports (https://nodejs.org/api/report.html) 125 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 126 | 127 | # Runtime data 128 | pids 129 | *.pid 130 | *.seed 131 | *.pid.lock 132 | 133 | # Directory for instrumented libs generated by jscoverage/JSCover 134 | lib-cov 135 | 136 | # Coverage directory used by tools like istanbul 137 | coverage 138 | *.lcov 139 | 140 | # nyc test coverage 141 | .nyc_output 142 | 143 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 144 | .grunt 145 | 146 | # Bower dependency directory (https://bower.io/) 147 | bower_components 148 | 149 | # node-waf configuration 150 | .lock-wscript 151 | 152 | # Compiled binary addons (https://nodejs.org/api/addons.html) 153 | build/Release 154 | 155 | # Dependency directories 156 | node_modules/ 157 | jspm_packages/ 158 | 159 | # Snowpack dependency directory (https://snowpack.dev/) 160 | web_modules/ 161 | 162 | # TypeScript cache 163 | *.tsbuildinfo 164 | 165 | # Optional npm cache directory 166 | .npm 167 | 168 | # Optional eslint cache 169 | .eslintcache 170 | 171 | # Microbundle cache 172 | .rpt2_cache/ 173 | .rts2_cache_cjs/ 174 | .rts2_cache_es/ 175 | .rts2_cache_umd/ 176 | 177 | # Optional REPL history 178 | .node_repl_history 179 | 180 | # Output of 'npm pack' 181 | *.tgz 182 | 183 | # Yarn Integrity file 184 | .yarn-integrity 185 | 186 | # dotenv environment variables file 187 | .env 188 | .env.test 189 | 190 | # parcel-bundler cache (https://parceljs.org/) 191 | .cache 192 | .parcel-cache 193 | 194 | # Next.js build output 195 | .next 196 | out 197 | 198 | # Nuxt.js build / generate output 199 | .nuxt 200 | dist 201 | 202 | # Gatsby files 203 | .cache/ 204 | # Comment in the public line in if your project uses Gatsby and not Next.js 205 | # https://nextjs.org/blog/next-9-1#public-directory-support 206 | # public 207 | 208 | # vuepress build output 209 | .vuepress/dist 210 | 211 | # Serverless directories 212 | .serverless/ 213 | 214 | # FuseBox cache 215 | .fusebox/ 216 | 217 | # DynamoDB Local files 218 | .dynamodb/ 219 | 220 | # TernJS port file 221 | .tern-port 222 | 223 | # Stores VSCode versions used for testing VSCode extensions 224 | .vscode-test 225 | 226 | # yarn v2 227 | .yarn/cache 228 | .yarn/unplugged 229 | .yarn/build-state.yml 230 | .yarn/install-state.gz 231 | .pnp.* 232 | 233 | package-lock.json 234 | yarn-lock.json 235 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | # Lock files 2 | package-lock.json 3 | pnpm-lock.yaml 4 | yarn.lock 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Cezar Augusto (https://cezaraugusto.com) 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 | [action-image]: https://github.com/cezaraugusto/go-git-it/workflows/CI/badge.svg 2 | [action-url]: https://github.com/cezaraugusto/go-git-it/actions 3 | [npm-image]: https://img.shields.io/npm/v/go-git-it.svg 4 | [npm-url]: https://npmjs.org/package/go-git-it 5 | [npm-bundle-image]: https://img.shields.io/bundlephobia/min/go-git-it 6 | [npm-bundle-url]: https://npmjs.org/package/go-git-it 7 | [npm-downloads-image]: https://img.shields.io/npm/dm/go-git-it 8 | [npm-downloads-url]: https://npmjs.org/package/go-git-it 9 | 10 | # go-git-it [![npm][npm-image]][npm-url] [![downloads][npm-downloads-image]][npm-downloads-url] [![size][npm-bundle-image]][npm-bundle-url] [![workflow][action-image]][action-url] 11 | 12 | > Download any repository or subdirectory on GitHub with support for Node.js and the CLI 13 | 14 | ``` 15 | npx go-git-it [outputDir] 16 | ``` 17 | 18 | Command line instructions 19 | 20 | **Use cases** 21 | 22 | ```sh 23 | # cwd is ~/mydevspace/ 24 | 25 | npx go-git-it https://github.com/username/repository 26 | # copied remote content to ~/mydevspace/repository 27 | 28 | npx go-git-it https://github.com/username/repository/tree/main/folder 29 | # copied remote content to ~/mydevspace/folder 30 | 31 | npx go-git-it https://github.com/username/repository/blob/main/folder/file.js 32 | # copied remote content to ~/mydevspace/file.js 33 | ``` 34 | 35 | **The second command argument is the output directory:** 36 | 37 | ```sh 38 | npx go-git-it https://github.com/username/repository path/to/outputDir 39 | # copied remote content to path/to/outputDir/repository 40 | ``` 41 | 42 | ## Node interface 43 | 44 | `go-git-it` can also run on a Node.js program. 45 | 46 | ### Installation 47 | 48 | ``` 49 | npm install go-git-it 50 | ``` 51 | 52 | ### Usage 53 | 54 | ```js 55 | import goGitIt from 'go-git-it'; 56 | 57 | // Assume cwd is ~/mydevspace/ 58 | 59 | await goGitIt('https://github.com/username/repository'); 60 | // copied remote content to ~/mydevspace/repository 61 | 62 | await goGitIt('https://github.com/username/repository/tree/main/folder'); 63 | // copied remote content to ~/mydevspace/folder 64 | 65 | await goGitIt( 66 | 'https://github.com/username/repository/blob/main/folder/file.js', 67 | ); 68 | // copied remote content to ~/mydevspace/file.js 69 | ``` 70 | 71 | **The second parameter is the output path:** 72 | 73 | ```js 74 | import goGitIt from 'go-git-it'; 75 | 76 | // Assume cwd is ~/mydevspace/ 77 | 78 | await goGitIt('https://github.com/username/repository', 'path/to/outputDir'); 79 | // copied remote content to path/to/outputDir/repository 80 | ``` 81 | 82 | ### API 83 | 84 | #### goGitIt(url, outputDir?, text?) 85 | 86 | ##### url 87 | 88 | Type: `string` 89 | 90 | The URL to the path you want to download. If a folder, will download its content as well. 91 | 92 | ##### outputDir 93 | 94 | Type: `string` 95 | 96 | Custom path to the outputDir (defaults to the working directory) 97 | 98 | ##### text 99 | 100 | Type: `string` 101 | 102 | Adds a custom text message instead of default config. This option overrides the success message as well. 103 | 104 | ### Features 105 | 106 | - Progress bar showing download status 107 | - Support for downloading entire repositories 108 | - Support for downloading specific folders 109 | - Support for downloading individual files 110 | - Custom output directory support 111 | - Custom progress messages 112 | 113 | ## License 114 | 115 | MIT (c) Cezar Augusto. 116 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import js from '@eslint/js'; 2 | import globals from 'globals'; 3 | import ts from 'typescript-eslint'; 4 | 5 | export default [ 6 | { languageOptions: { globals: globals.browser } }, 7 | js.configs.recommended, 8 | ...ts.configs.recommended, 9 | { ignores: ['dist/'] }, 10 | ]; 11 | -------------------------------------------------------------------------------- /module.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, afterEach, test, expect } from 'vitest'; 2 | import path from 'path'; 3 | import { promises as fs } from 'fs'; 4 | import goGitIt from 'go-git-it'; 5 | 6 | const repoURL = 'https://github.com/lodash/lodash'; 7 | const folderURL = 'https://github.com/lodash/lodash/tree/main/lib'; 8 | const fileURL = 'https://github.com/lodash/lodash/blob/main/lib/common/file.js'; 9 | const customPath = path.resolve(__dirname, 'some/extraordinary/folder'); 10 | 11 | describe('go-git-it', () => { 12 | describe('working with full URLs', () => { 13 | afterEach(async () => { 14 | const repoPath = path.resolve(__dirname, path.basename(repoURL)); 15 | const somePath = path.resolve(__dirname, 'some'); 16 | 17 | try { 18 | await fs.rm(repoPath, { recursive: true, force: true }); 19 | } catch (error) { 20 | // Ignore if file doesn't exist 21 | } 22 | try { 23 | await fs.rm(somePath, { recursive: true, force: true }); 24 | } catch (error) { 25 | // Ignore if file doesn't exist 26 | } 27 | }); 28 | 29 | test('works with default path', async () => { 30 | await goGitIt(repoURL); 31 | const pathName = path.resolve(__dirname, path.basename(repoURL)); 32 | await expect(fs.access(pathName)).resolves.not.toThrow(); 33 | }); 34 | 35 | test('works with a custom path', async () => { 36 | await goGitIt(repoURL, customPath); 37 | const pathName = path.resolve(customPath, path.basename(repoURL)); 38 | await expect(fs.access(pathName)).resolves.not.toThrow(); 39 | }); 40 | }); 41 | 42 | describe('working with partial URLs (basename is file)', () => { 43 | afterEach(async () => { 44 | const filePath = path.resolve(process.cwd(), path.basename(fileURL)); 45 | const somePath = path.resolve(__dirname, 'some'); 46 | 47 | try { 48 | await fs.rm(filePath, { recursive: true, force: true }); 49 | } catch (error) { 50 | // Ignore if file doesn't exist 51 | } 52 | try { 53 | await fs.rm(somePath, { recursive: true, force: true }); 54 | } catch (error) { 55 | // Ignore if file doesn't exist 56 | } 57 | }); 58 | 59 | test('works with default path', async () => { 60 | await goGitIt(fileURL); 61 | const pathName = path.resolve(process.cwd(), 'file.js'); 62 | await expect(fs.access(pathName)).resolves.not.toThrow(); 63 | }); 64 | 65 | test('works with a custom path', async () => { 66 | await goGitIt(fileURL, customPath); 67 | const pathName = path.resolve(customPath, 'file.js'); 68 | await expect(fs.access(pathName)).resolves.not.toThrow(); 69 | }); 70 | }); 71 | 72 | describe('working with partial URLs (basename is folder)', () => { 73 | afterEach(async () => { 74 | const libPath = path.resolve(process.cwd(), 'lib'); 75 | const somePath = path.resolve(__dirname, 'some'); 76 | 77 | try { 78 | await fs.rm(libPath, { recursive: true, force: true }); 79 | } catch (error) { 80 | // Ignore if file doesn't exist 81 | } 82 | try { 83 | await fs.rm(somePath, { recursive: true, force: true }); 84 | } catch (error) { 85 | // Ignore if file doesn't exist 86 | } 87 | }); 88 | 89 | test('works with default path', async () => { 90 | await goGitIt(folderURL); 91 | const pathName = path.resolve(process.cwd(), 'lib'); 92 | await expect(fs.access(pathName)).resolves.not.toThrow(); 93 | }); 94 | 95 | test('works with a custom path', async () => { 96 | await goGitIt(folderURL, customPath); 97 | const pathName = path.resolve(customPath, 'lib'); 98 | await expect(fs.access(pathName)).resolves.not.toThrow(); 99 | }); 100 | }); 101 | }); 102 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "license": "MIT", 3 | "repository": { 4 | "type": "git", 5 | "url": "https://github.com/cezaraugusto/go-git-it.git" 6 | }, 7 | "name": "go-git-it", 8 | "version": "4.0.0", 9 | "description": "Download any repository or subdirectory on GitHub with support for Node.js and the CLI", 10 | "type": "module", 11 | "exports": { 12 | ".": { 13 | "types": "./dist/index.d.ts", 14 | "import": "./dist/index.js", 15 | "require": "./dist/index.cjs" 16 | } 17 | }, 18 | "bin": { 19 | "go-git-it": "./dist/index.cjs" 20 | }, 21 | "main": "./dist/index.cjs", 22 | "types": "./dist/index.d.ts", 23 | "files": [ 24 | "dist" 25 | ], 26 | "author": { 27 | "name": "Cezar Augusto", 28 | "email": "boss@cezaraugusto.net", 29 | "url": "https://cezaraugusto.com" 30 | }, 31 | "scripts": { 32 | "build": "rslib build", 33 | "dev": "rslib build --watch", 34 | "format": "prettier --write .", 35 | "lint": "eslint .", 36 | "test": "vitest", 37 | "test:coverage": "vitest run --coverage" 38 | }, 39 | "keywords": [ 40 | "git", 41 | "github", 42 | "clone", 43 | "subdirectory", 44 | "subdirectories", 45 | "folder", 46 | "folders", 47 | "file", 48 | "files", 49 | "some", 50 | "download", 51 | "get", 52 | "clone", 53 | "pull" 54 | ], 55 | "devDependencies": { 56 | "@eslint/js": "^9.25.1", 57 | "@rslib/core": "^0.6.9", 58 | "@types/node": "^22.8.1", 59 | "@types/progress": "^2.0.7", 60 | "@vitest/coverage-v8": "^3.1.3", 61 | "prettier": "^3.5.3", 62 | "eslint": "^9.25.1", 63 | "globals": "^16.0.0", 64 | "typescript": "^5.8.3", 65 | "typescript-eslint": "^8.31.1", 66 | "vitest": "^3.1.3" 67 | }, 68 | "dependencies": { 69 | "progress": "^2.0.3" 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | progress: 12 | specifier: ^2.0.3 13 | version: 2.0.3 14 | devDependencies: 15 | '@eslint/js': 16 | specifier: ^9.25.1 17 | version: 9.26.0 18 | '@rslib/core': 19 | specifier: ^0.6.9 20 | version: 0.6.9(typescript@5.8.3) 21 | '@types/node': 22 | specifier: ^22.8.1 23 | version: 22.15.17 24 | '@types/progress': 25 | specifier: ^2.0.7 26 | version: 2.0.7 27 | '@vitest/coverage-v8': 28 | specifier: ^3.1.3 29 | version: 3.1.3(vitest@3.1.3(@types/node@22.15.17)(jiti@2.4.2)) 30 | eslint: 31 | specifier: ^9.25.1 32 | version: 9.26.0(jiti@2.4.2) 33 | globals: 34 | specifier: ^16.0.0 35 | version: 16.1.0 36 | prettier: 37 | specifier: ^3.5.3 38 | version: 3.5.3 39 | typescript: 40 | specifier: ^5.8.3 41 | version: 5.8.3 42 | typescript-eslint: 43 | specifier: ^8.31.1 44 | version: 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 45 | vitest: 46 | specifier: ^3.1.3 47 | version: 3.1.3(@types/node@22.15.17)(jiti@2.4.2) 48 | 49 | packages: 50 | 51 | '@ampproject/remapping@2.3.0': 52 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 53 | engines: {node: '>=6.0.0'} 54 | 55 | '@ast-grep/napi-darwin-arm64@0.37.0': 56 | resolution: {integrity: sha512-QAiIiaAbLvMEg/yBbyKn+p1gX2/FuaC0SMf7D7capm/oG4xGMzdeaQIcSosF4TCxxV+hIH4Bz9e4/u7w6Bnk3Q==} 57 | engines: {node: '>= 10'} 58 | cpu: [arm64] 59 | os: [darwin] 60 | 61 | '@ast-grep/napi-darwin-x64@0.37.0': 62 | resolution: {integrity: sha512-zvcvdgekd4ySV3zUbUp8HF5nk5zqwiMXTuVzTUdl/w08O7JjM6XPOIVT+d2o/MqwM9rsXdzdergY5oY2RdhSPA==} 63 | engines: {node: '>= 10'} 64 | cpu: [x64] 65 | os: [darwin] 66 | 67 | '@ast-grep/napi-linux-arm64-gnu@0.37.0': 68 | resolution: {integrity: sha512-L7Sj0lXy8X+BqSMgr1LB8cCoWk0rericdeu+dC8/c8zpsav5Oo2IQKY1PmiZ7H8IHoFBbURLf8iklY9wsD+cyA==} 69 | engines: {node: '>= 10'} 70 | cpu: [arm64] 71 | os: [linux] 72 | 73 | '@ast-grep/napi-linux-arm64-musl@0.37.0': 74 | resolution: {integrity: sha512-LF9sAvYy6es/OdyJDO3RwkX3I82Vkfsng1sqUBcoWC1jVb1wX5YVzHtpQox9JrEhGl+bNp7FYxB4Qba9OdA5GA==} 75 | engines: {node: '>= 10'} 76 | cpu: [arm64] 77 | os: [linux] 78 | 79 | '@ast-grep/napi-linux-x64-gnu@0.37.0': 80 | resolution: {integrity: sha512-TViz5/klqre6aSmJzswEIjApnGjJzstG/SE8VDWsrftMBMYt2PTu3MeluZVwzSqDao8doT/P+6U11dU05UOgxw==} 81 | engines: {node: '>= 10'} 82 | cpu: [x64] 83 | os: [linux] 84 | 85 | '@ast-grep/napi-linux-x64-musl@0.37.0': 86 | resolution: {integrity: sha512-/BcCH33S9E3ovOAEoxYngUNXgb+JLg991sdyiNP2bSoYd30a9RHrG7CYwW6fMgua3ijQ474eV6cq9yZO1bCpXg==} 87 | engines: {node: '>= 10'} 88 | cpu: [x64] 89 | os: [linux] 90 | 91 | '@ast-grep/napi-win32-arm64-msvc@0.37.0': 92 | resolution: {integrity: sha512-TjQA4cFoIEW2bgjLkaL9yqT4XWuuLa5MCNd0VCDhGRDMNQ9+rhwi9eLOWRaap3xzT7g+nlbcEHL3AkVCD2+b3A==} 93 | engines: {node: '>= 10'} 94 | cpu: [arm64] 95 | os: [win32] 96 | 97 | '@ast-grep/napi-win32-ia32-msvc@0.37.0': 98 | resolution: {integrity: sha512-uNmVka8fJCdYsyOlF9aZqQMLTatEYBynjChVTzUfFMDfmZ0bihs/YTqJVbkSm8TZM7CUX82apvn50z/dX5iWRA==} 99 | engines: {node: '>= 10'} 100 | cpu: [ia32] 101 | os: [win32] 102 | 103 | '@ast-grep/napi-win32-x64-msvc@0.37.0': 104 | resolution: {integrity: sha512-vCiFOT3hSCQuHHfZ933GAwnPzmL0G04JxQEsBRfqONywyT8bSdDc/ECpAfr3S9VcS4JZ9/F6tkePKW/Om2Dq2g==} 105 | engines: {node: '>= 10'} 106 | cpu: [x64] 107 | os: [win32] 108 | 109 | '@ast-grep/napi@0.37.0': 110 | resolution: {integrity: sha512-Hb4o6h1Pf6yRUAX07DR4JVY7dmQw+RVQMW5/m55GoiAT/VRoKCWBtIUPPOnqDVhbx1Cjfil9b6EDrgJsUAujEQ==} 111 | engines: {node: '>= 10'} 112 | 113 | '@babel/helper-string-parser@7.27.1': 114 | resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} 115 | engines: {node: '>=6.9.0'} 116 | 117 | '@babel/helper-validator-identifier@7.27.1': 118 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 119 | engines: {node: '>=6.9.0'} 120 | 121 | '@babel/parser@7.27.1': 122 | resolution: {integrity: sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==} 123 | engines: {node: '>=6.0.0'} 124 | hasBin: true 125 | 126 | '@babel/types@7.27.1': 127 | resolution: {integrity: sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==} 128 | engines: {node: '>=6.9.0'} 129 | 130 | '@bcoe/v8-coverage@1.0.2': 131 | resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} 132 | engines: {node: '>=18'} 133 | 134 | '@esbuild/aix-ppc64@0.25.3': 135 | resolution: {integrity: sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==} 136 | engines: {node: '>=18'} 137 | cpu: [ppc64] 138 | os: [aix] 139 | 140 | '@esbuild/android-arm64@0.25.3': 141 | resolution: {integrity: sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==} 142 | engines: {node: '>=18'} 143 | cpu: [arm64] 144 | os: [android] 145 | 146 | '@esbuild/android-arm@0.25.3': 147 | resolution: {integrity: sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==} 148 | engines: {node: '>=18'} 149 | cpu: [arm] 150 | os: [android] 151 | 152 | '@esbuild/android-x64@0.25.3': 153 | resolution: {integrity: sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==} 154 | engines: {node: '>=18'} 155 | cpu: [x64] 156 | os: [android] 157 | 158 | '@esbuild/darwin-arm64@0.25.3': 159 | resolution: {integrity: sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==} 160 | engines: {node: '>=18'} 161 | cpu: [arm64] 162 | os: [darwin] 163 | 164 | '@esbuild/darwin-x64@0.25.3': 165 | resolution: {integrity: sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==} 166 | engines: {node: '>=18'} 167 | cpu: [x64] 168 | os: [darwin] 169 | 170 | '@esbuild/freebsd-arm64@0.25.3': 171 | resolution: {integrity: sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==} 172 | engines: {node: '>=18'} 173 | cpu: [arm64] 174 | os: [freebsd] 175 | 176 | '@esbuild/freebsd-x64@0.25.3': 177 | resolution: {integrity: sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==} 178 | engines: {node: '>=18'} 179 | cpu: [x64] 180 | os: [freebsd] 181 | 182 | '@esbuild/linux-arm64@0.25.3': 183 | resolution: {integrity: sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==} 184 | engines: {node: '>=18'} 185 | cpu: [arm64] 186 | os: [linux] 187 | 188 | '@esbuild/linux-arm@0.25.3': 189 | resolution: {integrity: sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==} 190 | engines: {node: '>=18'} 191 | cpu: [arm] 192 | os: [linux] 193 | 194 | '@esbuild/linux-ia32@0.25.3': 195 | resolution: {integrity: sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==} 196 | engines: {node: '>=18'} 197 | cpu: [ia32] 198 | os: [linux] 199 | 200 | '@esbuild/linux-loong64@0.25.3': 201 | resolution: {integrity: sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==} 202 | engines: {node: '>=18'} 203 | cpu: [loong64] 204 | os: [linux] 205 | 206 | '@esbuild/linux-mips64el@0.25.3': 207 | resolution: {integrity: sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==} 208 | engines: {node: '>=18'} 209 | cpu: [mips64el] 210 | os: [linux] 211 | 212 | '@esbuild/linux-ppc64@0.25.3': 213 | resolution: {integrity: sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==} 214 | engines: {node: '>=18'} 215 | cpu: [ppc64] 216 | os: [linux] 217 | 218 | '@esbuild/linux-riscv64@0.25.3': 219 | resolution: {integrity: sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==} 220 | engines: {node: '>=18'} 221 | cpu: [riscv64] 222 | os: [linux] 223 | 224 | '@esbuild/linux-s390x@0.25.3': 225 | resolution: {integrity: sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==} 226 | engines: {node: '>=18'} 227 | cpu: [s390x] 228 | os: [linux] 229 | 230 | '@esbuild/linux-x64@0.25.3': 231 | resolution: {integrity: sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==} 232 | engines: {node: '>=18'} 233 | cpu: [x64] 234 | os: [linux] 235 | 236 | '@esbuild/netbsd-arm64@0.25.3': 237 | resolution: {integrity: sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==} 238 | engines: {node: '>=18'} 239 | cpu: [arm64] 240 | os: [netbsd] 241 | 242 | '@esbuild/netbsd-x64@0.25.3': 243 | resolution: {integrity: sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==} 244 | engines: {node: '>=18'} 245 | cpu: [x64] 246 | os: [netbsd] 247 | 248 | '@esbuild/openbsd-arm64@0.25.3': 249 | resolution: {integrity: sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==} 250 | engines: {node: '>=18'} 251 | cpu: [arm64] 252 | os: [openbsd] 253 | 254 | '@esbuild/openbsd-x64@0.25.3': 255 | resolution: {integrity: sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==} 256 | engines: {node: '>=18'} 257 | cpu: [x64] 258 | os: [openbsd] 259 | 260 | '@esbuild/sunos-x64@0.25.3': 261 | resolution: {integrity: sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==} 262 | engines: {node: '>=18'} 263 | cpu: [x64] 264 | os: [sunos] 265 | 266 | '@esbuild/win32-arm64@0.25.3': 267 | resolution: {integrity: sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==} 268 | engines: {node: '>=18'} 269 | cpu: [arm64] 270 | os: [win32] 271 | 272 | '@esbuild/win32-ia32@0.25.3': 273 | resolution: {integrity: sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==} 274 | engines: {node: '>=18'} 275 | cpu: [ia32] 276 | os: [win32] 277 | 278 | '@esbuild/win32-x64@0.25.3': 279 | resolution: {integrity: sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==} 280 | engines: {node: '>=18'} 281 | cpu: [x64] 282 | os: [win32] 283 | 284 | '@eslint-community/eslint-utils@4.7.0': 285 | resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} 286 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 287 | peerDependencies: 288 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 289 | 290 | '@eslint-community/regexpp@4.12.1': 291 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 292 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 293 | 294 | '@eslint/config-array@0.20.0': 295 | resolution: {integrity: sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==} 296 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 297 | 298 | '@eslint/config-helpers@0.2.2': 299 | resolution: {integrity: sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==} 300 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 301 | 302 | '@eslint/core@0.13.0': 303 | resolution: {integrity: sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==} 304 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 305 | 306 | '@eslint/eslintrc@3.3.1': 307 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 308 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 309 | 310 | '@eslint/js@9.26.0': 311 | resolution: {integrity: sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==} 312 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 313 | 314 | '@eslint/object-schema@2.1.6': 315 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 316 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 317 | 318 | '@eslint/plugin-kit@0.2.8': 319 | resolution: {integrity: sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==} 320 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 321 | 322 | '@humanfs/core@0.19.1': 323 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 324 | engines: {node: '>=18.18.0'} 325 | 326 | '@humanfs/node@0.16.6': 327 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 328 | engines: {node: '>=18.18.0'} 329 | 330 | '@humanwhocodes/module-importer@1.0.1': 331 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 332 | engines: {node: '>=12.22'} 333 | 334 | '@humanwhocodes/retry@0.3.1': 335 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 336 | engines: {node: '>=18.18'} 337 | 338 | '@humanwhocodes/retry@0.4.3': 339 | resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 340 | engines: {node: '>=18.18'} 341 | 342 | '@isaacs/cliui@8.0.2': 343 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 344 | engines: {node: '>=12'} 345 | 346 | '@istanbuljs/schema@0.1.3': 347 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 348 | engines: {node: '>=8'} 349 | 350 | '@jridgewell/gen-mapping@0.3.8': 351 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 352 | engines: {node: '>=6.0.0'} 353 | 354 | '@jridgewell/resolve-uri@3.1.2': 355 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 356 | engines: {node: '>=6.0.0'} 357 | 358 | '@jridgewell/set-array@1.2.1': 359 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 360 | engines: {node: '>=6.0.0'} 361 | 362 | '@jridgewell/sourcemap-codec@1.5.0': 363 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 364 | 365 | '@jridgewell/trace-mapping@0.3.25': 366 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 367 | 368 | '@modelcontextprotocol/sdk@1.11.1': 369 | resolution: {integrity: sha512-9LfmxKTb1v+vUS1/emSk1f5ePmTLkb9Le9AxOB5T0XM59EUumwcS45z05h7aiZx3GI0Bl7mjb3FMEglYj+acuQ==} 370 | engines: {node: '>=18'} 371 | 372 | '@module-federation/error-codes@0.13.1': 373 | resolution: {integrity: sha512-azgGDBnFRfqlivHOl96ZjlFUFlukESz2Rnnz/pINiSqoBBNjUE0fcAZP4X6jgrVITuEg90YkruZa7pW9I3m7Uw==} 374 | 375 | '@module-federation/runtime-core@0.13.1': 376 | resolution: {integrity: sha512-TfyKfkSAentKeuvSsAItk8s5tqQSMfIRTPN2e1aoaq/kFhE+7blps719csyWSX5Lg5Es7WXKMsXHy40UgtBtuw==} 377 | 378 | '@module-federation/runtime-tools@0.13.1': 379 | resolution: {integrity: sha512-GEF1pxqLc80osIMZmE8j9UKZSaTm2hX2lql8tgIH/O9yK4wnF06k6LL5Ah+wJt+oJv6Dj55ri/MoxMP4SXoPNA==} 380 | 381 | '@module-federation/runtime@0.13.1': 382 | resolution: {integrity: sha512-ZHnYvBquDm49LiHfv6fgagMo/cVJneijNJzfPh6S0CJrPS2Tay1bnTXzy8VA5sdIrESagYPaskKMGIj7YfnPug==} 383 | 384 | '@module-federation/sdk@0.13.1': 385 | resolution: {integrity: sha512-bmf2FGQ0ymZuxYnw9bIUfhV3y6zDhaqgydEjbl4msObKMLGXZqhse2pTIIxBFpIxR1oONKX/y2FAolDCTlWKiw==} 386 | 387 | '@module-federation/webpack-bundler-runtime@0.13.1': 388 | resolution: {integrity: sha512-QSuSIGa09S8mthbB1L6xERqrz+AzPlHR6D7RwAzssAc+IHf40U6NiTLPzUqp9mmKDhC5Tm0EISU0ZHNeJpnpBQ==} 389 | 390 | '@nodelib/fs.scandir@2.1.5': 391 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 392 | engines: {node: '>= 8'} 393 | 394 | '@nodelib/fs.stat@2.0.5': 395 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 396 | engines: {node: '>= 8'} 397 | 398 | '@nodelib/fs.walk@1.2.8': 399 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 400 | engines: {node: '>= 8'} 401 | 402 | '@pkgjs/parseargs@0.11.0': 403 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 404 | engines: {node: '>=14'} 405 | 406 | '@rollup/rollup-android-arm-eabi@4.40.1': 407 | resolution: {integrity: sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==} 408 | cpu: [arm] 409 | os: [android] 410 | 411 | '@rollup/rollup-android-arm64@4.40.1': 412 | resolution: {integrity: sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==} 413 | cpu: [arm64] 414 | os: [android] 415 | 416 | '@rollup/rollup-darwin-arm64@4.40.1': 417 | resolution: {integrity: sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==} 418 | cpu: [arm64] 419 | os: [darwin] 420 | 421 | '@rollup/rollup-darwin-x64@4.40.1': 422 | resolution: {integrity: sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==} 423 | cpu: [x64] 424 | os: [darwin] 425 | 426 | '@rollup/rollup-freebsd-arm64@4.40.1': 427 | resolution: {integrity: sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==} 428 | cpu: [arm64] 429 | os: [freebsd] 430 | 431 | '@rollup/rollup-freebsd-x64@4.40.1': 432 | resolution: {integrity: sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==} 433 | cpu: [x64] 434 | os: [freebsd] 435 | 436 | '@rollup/rollup-linux-arm-gnueabihf@4.40.1': 437 | resolution: {integrity: sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==} 438 | cpu: [arm] 439 | os: [linux] 440 | 441 | '@rollup/rollup-linux-arm-musleabihf@4.40.1': 442 | resolution: {integrity: sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==} 443 | cpu: [arm] 444 | os: [linux] 445 | 446 | '@rollup/rollup-linux-arm64-gnu@4.40.1': 447 | resolution: {integrity: sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==} 448 | cpu: [arm64] 449 | os: [linux] 450 | 451 | '@rollup/rollup-linux-arm64-musl@4.40.1': 452 | resolution: {integrity: sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==} 453 | cpu: [arm64] 454 | os: [linux] 455 | 456 | '@rollup/rollup-linux-loongarch64-gnu@4.40.1': 457 | resolution: {integrity: sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==} 458 | cpu: [loong64] 459 | os: [linux] 460 | 461 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': 462 | resolution: {integrity: sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==} 463 | cpu: [ppc64] 464 | os: [linux] 465 | 466 | '@rollup/rollup-linux-riscv64-gnu@4.40.1': 467 | resolution: {integrity: sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==} 468 | cpu: [riscv64] 469 | os: [linux] 470 | 471 | '@rollup/rollup-linux-riscv64-musl@4.40.1': 472 | resolution: {integrity: sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==} 473 | cpu: [riscv64] 474 | os: [linux] 475 | 476 | '@rollup/rollup-linux-s390x-gnu@4.40.1': 477 | resolution: {integrity: sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==} 478 | cpu: [s390x] 479 | os: [linux] 480 | 481 | '@rollup/rollup-linux-x64-gnu@4.40.1': 482 | resolution: {integrity: sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==} 483 | cpu: [x64] 484 | os: [linux] 485 | 486 | '@rollup/rollup-linux-x64-musl@4.40.1': 487 | resolution: {integrity: sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==} 488 | cpu: [x64] 489 | os: [linux] 490 | 491 | '@rollup/rollup-win32-arm64-msvc@4.40.1': 492 | resolution: {integrity: sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==} 493 | cpu: [arm64] 494 | os: [win32] 495 | 496 | '@rollup/rollup-win32-ia32-msvc@4.40.1': 497 | resolution: {integrity: sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==} 498 | cpu: [ia32] 499 | os: [win32] 500 | 501 | '@rollup/rollup-win32-x64-msvc@4.40.1': 502 | resolution: {integrity: sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==} 503 | cpu: [x64] 504 | os: [win32] 505 | 506 | '@rsbuild/core@1.3.18': 507 | resolution: {integrity: sha512-ocnz3pVapMTeuoP3zZ1shYcxnAQtRf6RzLl8n7acNi8Hu+ku6SiDGR65foclwcubWF6e9nZPohH94rXnmEVfrw==} 508 | engines: {node: '>=16.10.0'} 509 | hasBin: true 510 | 511 | '@rslib/core@0.6.9': 512 | resolution: {integrity: sha512-xF/JssYVghxoR6qE/O9tdUW029aN4WdWTIve9VrStsFkLK6U/1lykMHtgDu3VhcfYrs2p0Wfku5dLBmo9/WnrA==} 513 | engines: {node: '>=16.7.0'} 514 | hasBin: true 515 | peerDependencies: 516 | '@microsoft/api-extractor': ^7 517 | typescript: ^5 518 | peerDependenciesMeta: 519 | '@microsoft/api-extractor': 520 | optional: true 521 | typescript: 522 | optional: true 523 | 524 | '@rspack/binding-darwin-arm64@1.3.9': 525 | resolution: {integrity: sha512-lfTmsbUGab9Ak/X6aPLacHLe4MBRra+sLmhoNK8OKEN3qQCjDcomwW5OlmBRV5bcUYWdbK8vgDk2HUUXRuibVg==} 526 | cpu: [arm64] 527 | os: [darwin] 528 | 529 | '@rspack/binding-darwin-x64@1.3.9': 530 | resolution: {integrity: sha512-rYuOUINhnhLDbG5LHHKurRSuKIsw0LKUHcd6AAsFmijo4RMnGBJ4NOI4tOLAQvkoSTQ+HU5wiTGSQOgHVhYreQ==} 531 | cpu: [x64] 532 | os: [darwin] 533 | 534 | '@rspack/binding-linux-arm64-gnu@1.3.9': 535 | resolution: {integrity: sha512-pBKnS2Fbn9cDtWe1KcD1qRjQlJwQhP9pFW2KpxdjE7qXbaO11IHtem6dLZwdpNqbDn9QgyfdVGXBDvBaP1tGwA==} 536 | cpu: [arm64] 537 | os: [linux] 538 | 539 | '@rspack/binding-linux-arm64-musl@1.3.9': 540 | resolution: {integrity: sha512-0B+iiINW0qOEkBE9exsRcdmcHtYIWAoJGnXrz9tUiiewRxX0Cmm0MjD2HAVUAggJZo+9IN8RGz5PopCjJ/dn1g==} 541 | cpu: [arm64] 542 | os: [linux] 543 | 544 | '@rspack/binding-linux-x64-gnu@1.3.9': 545 | resolution: {integrity: sha512-82izGJw/qxJ4xaHJy/A4MF7aTRT9tE6VlWoWM4rJmqRszfujN/w54xJRie9jkt041TPvJWGNpYD4Hjpt0/n/oA==} 546 | cpu: [x64] 547 | os: [linux] 548 | 549 | '@rspack/binding-linux-x64-musl@1.3.9': 550 | resolution: {integrity: sha512-V9nDg63iPI6Z7kM11UPV5kBdOdLXPIu3IgI2ObON5Rd4KEZr7RLo/Q4HKzj0IH27Zwl5qeBJdx69zZdu66eOqg==} 551 | cpu: [x64] 552 | os: [linux] 553 | 554 | '@rspack/binding-win32-arm64-msvc@1.3.9': 555 | resolution: {integrity: sha512-owWCJTezFkiBOSRzH+eOTN15H5QYyThHE5crZ0I30UmpoSEchcPSCvddliA0W62ZJIOgG4IUSNamKBiiTwdjLQ==} 556 | cpu: [arm64] 557 | os: [win32] 558 | 559 | '@rspack/binding-win32-ia32-msvc@1.3.9': 560 | resolution: {integrity: sha512-YUuNA8lkGSXJ07fOjkX+yuWrWcsU5x5uGFuAYsglw+rDTWCS6m9HSwQjbCp7HUp81qPszjSk+Ore5XVh07FKeQ==} 561 | cpu: [ia32] 562 | os: [win32] 563 | 564 | '@rspack/binding-win32-x64-msvc@1.3.9': 565 | resolution: {integrity: sha512-E0gtYBVt5vRj0zBeplEf8wsVDPDQ6XBdRiFVUgmgwYUYYkXaalaIvbD1ioB8cA05vfz8HrPGXcMrgletUP4ojA==} 566 | cpu: [x64] 567 | os: [win32] 568 | 569 | '@rspack/binding@1.3.9': 570 | resolution: {integrity: sha512-3FFen1/0F2aP5uuCm8vPaJOrzM3karCPNMsc5gLCGfEy2rsK38Qinf9W4p1bw7+FhjOTzoSdkX+LFHeMDVxJhw==} 571 | 572 | '@rspack/core@1.3.9': 573 | resolution: {integrity: sha512-u7usd9srCBPBfNJCSvsfh14AOPq6LCVna0Vb/aA2nyJTawHqzfAMz1QRb/e27nP3NrV6RPiwx03W494Dd6r6wg==} 574 | engines: {node: '>=16.0.0'} 575 | peerDependencies: 576 | '@swc/helpers': '>=0.5.1' 577 | peerDependenciesMeta: 578 | '@swc/helpers': 579 | optional: true 580 | 581 | '@rspack/lite-tapable@1.0.1': 582 | resolution: {integrity: sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w==} 583 | engines: {node: '>=16.0.0'} 584 | 585 | '@swc/helpers@0.5.17': 586 | resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} 587 | 588 | '@types/estree@1.0.7': 589 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} 590 | 591 | '@types/json-schema@7.0.15': 592 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 593 | 594 | '@types/node@22.15.17': 595 | resolution: {integrity: sha512-wIX2aSZL5FE+MR0JlvF87BNVrtFWf6AE6rxSE9X7OwnVvoyCQjpzSRJ+M87se/4QCkCiebQAqrJ0y6fwIyi7nw==} 596 | 597 | '@types/progress@2.0.7': 598 | resolution: {integrity: sha512-iadjw02vte8qWx7U0YM++EybBha2CQLPGu9iJ97whVgJUT5Zq9MjAPYUnbfRI2Kpehimf1QjFJYxD0t8nqzu5w==} 599 | 600 | '@typescript-eslint/eslint-plugin@8.32.0': 601 | resolution: {integrity: sha512-/jU9ettcntkBFmWUzzGgsClEi2ZFiikMX5eEQsmxIAWMOn4H3D4rvHssstmAHGVvrYnaMqdWWWg0b5M6IN/MTQ==} 602 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 603 | peerDependencies: 604 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 605 | eslint: ^8.57.0 || ^9.0.0 606 | typescript: '>=4.8.4 <5.9.0' 607 | 608 | '@typescript-eslint/parser@8.32.0': 609 | resolution: {integrity: sha512-B2MdzyWxCE2+SqiZHAjPphft+/2x2FlO9YBx7eKE1BCb+rqBlQdhtAEhzIEdozHd55DXPmxBdpMygFJjfjjA9A==} 610 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 611 | peerDependencies: 612 | eslint: ^8.57.0 || ^9.0.0 613 | typescript: '>=4.8.4 <5.9.0' 614 | 615 | '@typescript-eslint/scope-manager@8.32.0': 616 | resolution: {integrity: sha512-jc/4IxGNedXkmG4mx4nJTILb6TMjL66D41vyeaPWvDUmeYQzF3lKtN15WsAeTr65ce4mPxwopPSo1yUUAWw0hQ==} 617 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 618 | 619 | '@typescript-eslint/type-utils@8.32.0': 620 | resolution: {integrity: sha512-t2vouuYQKEKSLtJaa5bB4jHeha2HJczQ6E5IXPDPgIty9EqcJxpr1QHQ86YyIPwDwxvUmLfP2YADQ5ZY4qddZg==} 621 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 622 | peerDependencies: 623 | eslint: ^8.57.0 || ^9.0.0 624 | typescript: '>=4.8.4 <5.9.0' 625 | 626 | '@typescript-eslint/types@8.32.0': 627 | resolution: {integrity: sha512-O5Id6tGadAZEMThM6L9HmVf5hQUXNSxLVKeGJYWNhhVseps/0LddMkp7//VDkzwJ69lPL0UmZdcZwggj9akJaA==} 628 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 629 | 630 | '@typescript-eslint/typescript-estree@8.32.0': 631 | resolution: {integrity: sha512-pU9VD7anSCOIoBFnhTGfOzlVFQIA1XXiQpH/CezqOBaDppRwTglJzCC6fUQGpfwey4T183NKhF1/mfatYmjRqQ==} 632 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 633 | peerDependencies: 634 | typescript: '>=4.8.4 <5.9.0' 635 | 636 | '@typescript-eslint/utils@8.32.0': 637 | resolution: {integrity: sha512-8S9hXau6nQ/sYVtC3D6ISIDoJzS1NsCK+gluVhLN2YkBPX+/1wkwyUiDKnxRh15579WoOIyVWnoyIf3yGI9REw==} 638 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 639 | peerDependencies: 640 | eslint: ^8.57.0 || ^9.0.0 641 | typescript: '>=4.8.4 <5.9.0' 642 | 643 | '@typescript-eslint/visitor-keys@8.32.0': 644 | resolution: {integrity: sha512-1rYQTCLFFzOI5Nl0c8LUpJT8HxpwVRn9E4CkMsYfuN6ctmQqExjSTzzSk0Tz2apmXy7WU6/6fyaZVVA/thPN+w==} 645 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 646 | 647 | '@vitest/coverage-v8@3.1.3': 648 | resolution: {integrity: sha512-cj76U5gXCl3g88KSnf80kof6+6w+K4BjOflCl7t6yRJPDuCrHtVu0SgNYOUARJOL5TI8RScDbm5x4s1/P9bvpw==} 649 | peerDependencies: 650 | '@vitest/browser': 3.1.3 651 | vitest: 3.1.3 652 | peerDependenciesMeta: 653 | '@vitest/browser': 654 | optional: true 655 | 656 | '@vitest/expect@3.1.3': 657 | resolution: {integrity: sha512-7FTQQuuLKmN1Ig/h+h/GO+44Q1IlglPlR2es4ab7Yvfx+Uk5xsv+Ykk+MEt/M2Yn/xGmzaLKxGw2lgy2bwuYqg==} 658 | 659 | '@vitest/mocker@3.1.3': 660 | resolution: {integrity: sha512-PJbLjonJK82uCWHjzgBJZuR7zmAOrSvKk1QBxrennDIgtH4uK0TB1PvYmc0XBCigxxtiAVPfWtAdy4lpz8SQGQ==} 661 | peerDependencies: 662 | msw: ^2.4.9 663 | vite: ^5.0.0 || ^6.0.0 664 | peerDependenciesMeta: 665 | msw: 666 | optional: true 667 | vite: 668 | optional: true 669 | 670 | '@vitest/pretty-format@3.1.3': 671 | resolution: {integrity: sha512-i6FDiBeJUGLDKADw2Gb01UtUNb12yyXAqC/mmRWuYl+m/U9GS7s8us5ONmGkGpUUo7/iAYzI2ePVfOZTYvUifA==} 672 | 673 | '@vitest/runner@3.1.3': 674 | resolution: {integrity: sha512-Tae+ogtlNfFei5DggOsSUvkIaSuVywujMj6HzR97AHK6XK8i3BuVyIifWAm/sE3a15lF5RH9yQIrbXYuo0IFyA==} 675 | 676 | '@vitest/snapshot@3.1.3': 677 | resolution: {integrity: sha512-XVa5OPNTYUsyqG9skuUkFzAeFnEzDp8hQu7kZ0N25B1+6KjGm4hWLtURyBbsIAOekfWQ7Wuz/N/XXzgYO3deWQ==} 678 | 679 | '@vitest/spy@3.1.3': 680 | resolution: {integrity: sha512-x6w+ctOEmEXdWaa6TO4ilb7l9DxPR5bwEb6hILKuxfU1NqWT2mpJD9NJN7t3OTfxmVlOMrvtoFJGdgyzZ605lQ==} 681 | 682 | '@vitest/utils@3.1.3': 683 | resolution: {integrity: sha512-2Ltrpht4OmHO9+c/nmHtF09HWiyWdworqnHIwjfvDyWjuwKbdkcS9AnhsDn+8E2RM4x++foD1/tNuLPVvWG1Rg==} 684 | 685 | accepts@2.0.0: 686 | resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==} 687 | engines: {node: '>= 0.6'} 688 | 689 | acorn-jsx@5.3.2: 690 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 691 | peerDependencies: 692 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 693 | 694 | acorn@8.14.1: 695 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 696 | engines: {node: '>=0.4.0'} 697 | hasBin: true 698 | 699 | ajv@6.12.6: 700 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 701 | 702 | ansi-regex@5.0.1: 703 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 704 | engines: {node: '>=8'} 705 | 706 | ansi-regex@6.1.0: 707 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 708 | engines: {node: '>=12'} 709 | 710 | ansi-styles@4.3.0: 711 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 712 | engines: {node: '>=8'} 713 | 714 | ansi-styles@6.2.1: 715 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 716 | engines: {node: '>=12'} 717 | 718 | argparse@2.0.1: 719 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 720 | 721 | assertion-error@2.0.1: 722 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 723 | engines: {node: '>=12'} 724 | 725 | balanced-match@1.0.2: 726 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 727 | 728 | body-parser@2.2.0: 729 | resolution: {integrity: sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==} 730 | engines: {node: '>=18'} 731 | 732 | brace-expansion@1.1.11: 733 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 734 | 735 | brace-expansion@2.0.1: 736 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 737 | 738 | braces@3.0.3: 739 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 740 | engines: {node: '>=8'} 741 | 742 | bytes@3.1.2: 743 | resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} 744 | engines: {node: '>= 0.8'} 745 | 746 | cac@6.7.14: 747 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 748 | engines: {node: '>=8'} 749 | 750 | call-bind-apply-helpers@1.0.2: 751 | resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} 752 | engines: {node: '>= 0.4'} 753 | 754 | call-bound@1.0.4: 755 | resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} 756 | engines: {node: '>= 0.4'} 757 | 758 | callsites@3.1.0: 759 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 760 | engines: {node: '>=6'} 761 | 762 | caniuse-lite@1.0.30001717: 763 | resolution: {integrity: sha512-auPpttCq6BDEG8ZAuHJIplGw6GODhjw+/11e7IjpnYCxZcW/ONgPs0KVBJ0d1bY3e2+7PRe5RCLyP+PfwVgkYw==} 764 | 765 | chai@5.2.0: 766 | resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} 767 | engines: {node: '>=12'} 768 | 769 | chalk@4.1.2: 770 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 771 | engines: {node: '>=10'} 772 | 773 | check-error@2.1.1: 774 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 775 | engines: {node: '>= 16'} 776 | 777 | color-convert@2.0.1: 778 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 779 | engines: {node: '>=7.0.0'} 780 | 781 | color-name@1.1.4: 782 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 783 | 784 | concat-map@0.0.1: 785 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 786 | 787 | content-disposition@1.0.0: 788 | resolution: {integrity: sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==} 789 | engines: {node: '>= 0.6'} 790 | 791 | content-type@1.0.5: 792 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 793 | engines: {node: '>= 0.6'} 794 | 795 | cookie-signature@1.2.2: 796 | resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} 797 | engines: {node: '>=6.6.0'} 798 | 799 | cookie@0.7.2: 800 | resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} 801 | engines: {node: '>= 0.6'} 802 | 803 | core-js@3.42.0: 804 | resolution: {integrity: sha512-Sz4PP4ZA+Rq4II21qkNqOEDTDrCvcANId3xpIgB34NDkWc3UduWj2dqEtN9yZIq8Dk3HyPI33x9sqqU5C8sr0g==} 805 | 806 | cors@2.8.5: 807 | resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} 808 | engines: {node: '>= 0.10'} 809 | 810 | cross-spawn@7.0.6: 811 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 812 | engines: {node: '>= 8'} 813 | 814 | debug@4.4.0: 815 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 816 | engines: {node: '>=6.0'} 817 | peerDependencies: 818 | supports-color: '*' 819 | peerDependenciesMeta: 820 | supports-color: 821 | optional: true 822 | 823 | deep-eql@5.0.2: 824 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} 825 | engines: {node: '>=6'} 826 | 827 | deep-is@0.1.4: 828 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 829 | 830 | depd@2.0.0: 831 | resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} 832 | engines: {node: '>= 0.8'} 833 | 834 | dunder-proto@1.0.1: 835 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} 836 | engines: {node: '>= 0.4'} 837 | 838 | eastasianwidth@0.2.0: 839 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 840 | 841 | ee-first@1.1.1: 842 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 843 | 844 | emoji-regex@8.0.0: 845 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 846 | 847 | emoji-regex@9.2.2: 848 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 849 | 850 | encodeurl@2.0.0: 851 | resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} 852 | engines: {node: '>= 0.8'} 853 | 854 | es-define-property@1.0.1: 855 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 856 | engines: {node: '>= 0.4'} 857 | 858 | es-errors@1.3.0: 859 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 860 | engines: {node: '>= 0.4'} 861 | 862 | es-module-lexer@1.7.0: 863 | resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} 864 | 865 | es-object-atoms@1.1.1: 866 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} 867 | engines: {node: '>= 0.4'} 868 | 869 | esbuild@0.25.3: 870 | resolution: {integrity: sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==} 871 | engines: {node: '>=18'} 872 | hasBin: true 873 | 874 | escape-html@1.0.3: 875 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 876 | 877 | escape-string-regexp@4.0.0: 878 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 879 | engines: {node: '>=10'} 880 | 881 | eslint-scope@8.3.0: 882 | resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} 883 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 884 | 885 | eslint-visitor-keys@3.4.3: 886 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 887 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 888 | 889 | eslint-visitor-keys@4.2.0: 890 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 891 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 892 | 893 | eslint@9.26.0: 894 | resolution: {integrity: sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==} 895 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 896 | hasBin: true 897 | peerDependencies: 898 | jiti: '*' 899 | peerDependenciesMeta: 900 | jiti: 901 | optional: true 902 | 903 | espree@10.3.0: 904 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 905 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 906 | 907 | esquery@1.6.0: 908 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 909 | engines: {node: '>=0.10'} 910 | 911 | esrecurse@4.3.0: 912 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 913 | engines: {node: '>=4.0'} 914 | 915 | estraverse@5.3.0: 916 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 917 | engines: {node: '>=4.0'} 918 | 919 | estree-walker@3.0.3: 920 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 921 | 922 | esutils@2.0.3: 923 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 924 | engines: {node: '>=0.10.0'} 925 | 926 | etag@1.8.1: 927 | resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} 928 | engines: {node: '>= 0.6'} 929 | 930 | eventsource-parser@3.0.1: 931 | resolution: {integrity: sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==} 932 | engines: {node: '>=18.0.0'} 933 | 934 | eventsource@3.0.7: 935 | resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==} 936 | engines: {node: '>=18.0.0'} 937 | 938 | expect-type@1.2.1: 939 | resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} 940 | engines: {node: '>=12.0.0'} 941 | 942 | express-rate-limit@7.5.0: 943 | resolution: {integrity: sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==} 944 | engines: {node: '>= 16'} 945 | peerDependencies: 946 | express: ^4.11 || 5 || ^5.0.0-beta.1 947 | 948 | express@5.1.0: 949 | resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} 950 | engines: {node: '>= 18'} 951 | 952 | fast-deep-equal@3.1.3: 953 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 954 | 955 | fast-glob@3.3.3: 956 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 957 | engines: {node: '>=8.6.0'} 958 | 959 | fast-json-stable-stringify@2.1.0: 960 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 961 | 962 | fast-levenshtein@2.0.6: 963 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 964 | 965 | fastq@1.19.1: 966 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 967 | 968 | fdir@6.4.4: 969 | resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} 970 | peerDependencies: 971 | picomatch: ^3 || ^4 972 | peerDependenciesMeta: 973 | picomatch: 974 | optional: true 975 | 976 | file-entry-cache@8.0.0: 977 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 978 | engines: {node: '>=16.0.0'} 979 | 980 | fill-range@7.1.1: 981 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 982 | engines: {node: '>=8'} 983 | 984 | finalhandler@2.1.0: 985 | resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==} 986 | engines: {node: '>= 0.8'} 987 | 988 | find-up@5.0.0: 989 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 990 | engines: {node: '>=10'} 991 | 992 | flat-cache@4.0.1: 993 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 994 | engines: {node: '>=16'} 995 | 996 | flatted@3.3.3: 997 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 998 | 999 | foreground-child@3.3.1: 1000 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 1001 | engines: {node: '>=14'} 1002 | 1003 | forwarded@0.2.0: 1004 | resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} 1005 | engines: {node: '>= 0.6'} 1006 | 1007 | fresh@2.0.0: 1008 | resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==} 1009 | engines: {node: '>= 0.8'} 1010 | 1011 | fsevents@2.3.3: 1012 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1013 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1014 | os: [darwin] 1015 | 1016 | function-bind@1.1.2: 1017 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1018 | 1019 | get-intrinsic@1.3.0: 1020 | resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} 1021 | engines: {node: '>= 0.4'} 1022 | 1023 | get-proto@1.0.1: 1024 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} 1025 | engines: {node: '>= 0.4'} 1026 | 1027 | glob-parent@5.1.2: 1028 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1029 | engines: {node: '>= 6'} 1030 | 1031 | glob-parent@6.0.2: 1032 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1033 | engines: {node: '>=10.13.0'} 1034 | 1035 | glob@10.4.5: 1036 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1037 | hasBin: true 1038 | 1039 | globals@14.0.0: 1040 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1041 | engines: {node: '>=18'} 1042 | 1043 | globals@16.1.0: 1044 | resolution: {integrity: sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==} 1045 | engines: {node: '>=18'} 1046 | 1047 | gopd@1.2.0: 1048 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1049 | engines: {node: '>= 0.4'} 1050 | 1051 | graphemer@1.4.0: 1052 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1053 | 1054 | has-flag@4.0.0: 1055 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1056 | engines: {node: '>=8'} 1057 | 1058 | has-symbols@1.1.0: 1059 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1060 | engines: {node: '>= 0.4'} 1061 | 1062 | hasown@2.0.2: 1063 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1064 | engines: {node: '>= 0.4'} 1065 | 1066 | html-escaper@2.0.2: 1067 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1068 | 1069 | http-errors@2.0.0: 1070 | resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} 1071 | engines: {node: '>= 0.8'} 1072 | 1073 | iconv-lite@0.6.3: 1074 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1075 | engines: {node: '>=0.10.0'} 1076 | 1077 | ignore@5.3.2: 1078 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1079 | engines: {node: '>= 4'} 1080 | 1081 | import-fresh@3.3.1: 1082 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1083 | engines: {node: '>=6'} 1084 | 1085 | imurmurhash@0.1.4: 1086 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1087 | engines: {node: '>=0.8.19'} 1088 | 1089 | inherits@2.0.4: 1090 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1091 | 1092 | ipaddr.js@1.9.1: 1093 | resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} 1094 | engines: {node: '>= 0.10'} 1095 | 1096 | is-extglob@2.1.1: 1097 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1098 | engines: {node: '>=0.10.0'} 1099 | 1100 | is-fullwidth-code-point@3.0.0: 1101 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1102 | engines: {node: '>=8'} 1103 | 1104 | is-glob@4.0.3: 1105 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1106 | engines: {node: '>=0.10.0'} 1107 | 1108 | is-number@7.0.0: 1109 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1110 | engines: {node: '>=0.12.0'} 1111 | 1112 | is-promise@4.0.0: 1113 | resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==} 1114 | 1115 | isexe@2.0.0: 1116 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1117 | 1118 | istanbul-lib-coverage@3.2.2: 1119 | resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} 1120 | engines: {node: '>=8'} 1121 | 1122 | istanbul-lib-report@3.0.1: 1123 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} 1124 | engines: {node: '>=10'} 1125 | 1126 | istanbul-lib-source-maps@5.0.6: 1127 | resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} 1128 | engines: {node: '>=10'} 1129 | 1130 | istanbul-reports@3.1.7: 1131 | resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} 1132 | engines: {node: '>=8'} 1133 | 1134 | jackspeak@3.4.3: 1135 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1136 | 1137 | jiti@2.4.2: 1138 | resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 1139 | hasBin: true 1140 | 1141 | js-yaml@4.1.0: 1142 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1143 | hasBin: true 1144 | 1145 | json-buffer@3.0.1: 1146 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1147 | 1148 | json-schema-traverse@0.4.1: 1149 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1150 | 1151 | json-stable-stringify-without-jsonify@1.0.1: 1152 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1153 | 1154 | json5@2.2.3: 1155 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1156 | engines: {node: '>=6'} 1157 | hasBin: true 1158 | 1159 | keyv@4.5.4: 1160 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1161 | 1162 | levn@0.4.1: 1163 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1164 | engines: {node: '>= 0.8.0'} 1165 | 1166 | locate-path@6.0.0: 1167 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1168 | engines: {node: '>=10'} 1169 | 1170 | lodash.merge@4.6.2: 1171 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1172 | 1173 | loupe@3.1.3: 1174 | resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} 1175 | 1176 | lru-cache@10.4.3: 1177 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1178 | 1179 | magic-string@0.30.17: 1180 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1181 | 1182 | magicast@0.3.5: 1183 | resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} 1184 | 1185 | make-dir@4.0.0: 1186 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} 1187 | engines: {node: '>=10'} 1188 | 1189 | math-intrinsics@1.1.0: 1190 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} 1191 | engines: {node: '>= 0.4'} 1192 | 1193 | media-typer@1.1.0: 1194 | resolution: {integrity: sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==} 1195 | engines: {node: '>= 0.8'} 1196 | 1197 | merge-descriptors@2.0.0: 1198 | resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==} 1199 | engines: {node: '>=18'} 1200 | 1201 | merge2@1.4.1: 1202 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1203 | engines: {node: '>= 8'} 1204 | 1205 | micromatch@4.0.8: 1206 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1207 | engines: {node: '>=8.6'} 1208 | 1209 | mime-db@1.54.0: 1210 | resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==} 1211 | engines: {node: '>= 0.6'} 1212 | 1213 | mime-types@3.0.1: 1214 | resolution: {integrity: sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==} 1215 | engines: {node: '>= 0.6'} 1216 | 1217 | minimatch@3.1.2: 1218 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1219 | 1220 | minimatch@9.0.5: 1221 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1222 | engines: {node: '>=16 || 14 >=14.17'} 1223 | 1224 | minimist@1.2.8: 1225 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1226 | 1227 | minipass@7.1.2: 1228 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1229 | engines: {node: '>=16 || 14 >=14.17'} 1230 | 1231 | ms@2.1.3: 1232 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1233 | 1234 | nanoid@3.3.11: 1235 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1236 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1237 | hasBin: true 1238 | 1239 | natural-compare@1.4.0: 1240 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1241 | 1242 | negotiator@1.0.0: 1243 | resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==} 1244 | engines: {node: '>= 0.6'} 1245 | 1246 | object-assign@4.1.1: 1247 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1248 | engines: {node: '>=0.10.0'} 1249 | 1250 | object-inspect@1.13.4: 1251 | resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} 1252 | engines: {node: '>= 0.4'} 1253 | 1254 | on-finished@2.4.1: 1255 | resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} 1256 | engines: {node: '>= 0.8'} 1257 | 1258 | once@1.4.0: 1259 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1260 | 1261 | optionator@0.9.4: 1262 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1263 | engines: {node: '>= 0.8.0'} 1264 | 1265 | p-limit@3.1.0: 1266 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1267 | engines: {node: '>=10'} 1268 | 1269 | p-locate@5.0.0: 1270 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1271 | engines: {node: '>=10'} 1272 | 1273 | package-json-from-dist@1.0.1: 1274 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1275 | 1276 | parent-module@1.0.1: 1277 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1278 | engines: {node: '>=6'} 1279 | 1280 | parseurl@1.3.3: 1281 | resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} 1282 | engines: {node: '>= 0.8'} 1283 | 1284 | path-exists@4.0.0: 1285 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1286 | engines: {node: '>=8'} 1287 | 1288 | path-key@3.1.1: 1289 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1290 | engines: {node: '>=8'} 1291 | 1292 | path-scurry@1.11.1: 1293 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1294 | engines: {node: '>=16 || 14 >=14.18'} 1295 | 1296 | path-to-regexp@8.2.0: 1297 | resolution: {integrity: sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==} 1298 | engines: {node: '>=16'} 1299 | 1300 | pathe@2.0.3: 1301 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1302 | 1303 | pathval@2.0.0: 1304 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} 1305 | engines: {node: '>= 14.16'} 1306 | 1307 | picocolors@1.1.1: 1308 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1309 | 1310 | picomatch@2.3.1: 1311 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1312 | engines: {node: '>=8.6'} 1313 | 1314 | picomatch@4.0.2: 1315 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1316 | engines: {node: '>=12'} 1317 | 1318 | pkce-challenge@5.0.0: 1319 | resolution: {integrity: sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==} 1320 | engines: {node: '>=16.20.0'} 1321 | 1322 | postcss@8.5.3: 1323 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1324 | engines: {node: ^10 || ^12 || >=14} 1325 | 1326 | prelude-ls@1.2.1: 1327 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1328 | engines: {node: '>= 0.8.0'} 1329 | 1330 | prettier@3.5.3: 1331 | resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} 1332 | engines: {node: '>=14'} 1333 | hasBin: true 1334 | 1335 | progress@2.0.3: 1336 | resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 1337 | engines: {node: '>=0.4.0'} 1338 | 1339 | proxy-addr@2.0.7: 1340 | resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} 1341 | engines: {node: '>= 0.10'} 1342 | 1343 | punycode@2.3.1: 1344 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1345 | engines: {node: '>=6'} 1346 | 1347 | qs@6.14.0: 1348 | resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} 1349 | engines: {node: '>=0.6'} 1350 | 1351 | queue-microtask@1.2.3: 1352 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1353 | 1354 | range-parser@1.2.1: 1355 | resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} 1356 | engines: {node: '>= 0.6'} 1357 | 1358 | raw-body@3.0.0: 1359 | resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==} 1360 | engines: {node: '>= 0.8'} 1361 | 1362 | resolve-from@4.0.0: 1363 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1364 | engines: {node: '>=4'} 1365 | 1366 | reusify@1.1.0: 1367 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1368 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1369 | 1370 | rollup@4.40.1: 1371 | resolution: {integrity: sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==} 1372 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1373 | hasBin: true 1374 | 1375 | router@2.2.0: 1376 | resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} 1377 | engines: {node: '>= 18'} 1378 | 1379 | rsbuild-plugin-dts@0.6.9: 1380 | resolution: {integrity: sha512-mcB4mxfUqkHHzR5VV6PuXRGpLC1Gdly0BN/jRzbPmdWDtvfBO6LLOniiBzVVemibqs9gBQhl2OEilJs4Cyoq5w==} 1381 | engines: {node: '>=16.7.0'} 1382 | peerDependencies: 1383 | '@microsoft/api-extractor': ^7 1384 | '@rsbuild/core': 1.x 1385 | typescript: ^5 1386 | peerDependenciesMeta: 1387 | '@microsoft/api-extractor': 1388 | optional: true 1389 | typescript: 1390 | optional: true 1391 | 1392 | run-parallel@1.2.0: 1393 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1394 | 1395 | safe-buffer@5.2.1: 1396 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1397 | 1398 | safer-buffer@2.1.2: 1399 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1400 | 1401 | semver@7.7.1: 1402 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 1403 | engines: {node: '>=10'} 1404 | hasBin: true 1405 | 1406 | send@1.2.0: 1407 | resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} 1408 | engines: {node: '>= 18'} 1409 | 1410 | serve-static@2.2.0: 1411 | resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} 1412 | engines: {node: '>= 18'} 1413 | 1414 | setprototypeof@1.2.0: 1415 | resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} 1416 | 1417 | shebang-command@2.0.0: 1418 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1419 | engines: {node: '>=8'} 1420 | 1421 | shebang-regex@3.0.0: 1422 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1423 | engines: {node: '>=8'} 1424 | 1425 | side-channel-list@1.0.0: 1426 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} 1427 | engines: {node: '>= 0.4'} 1428 | 1429 | side-channel-map@1.0.1: 1430 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==} 1431 | engines: {node: '>= 0.4'} 1432 | 1433 | side-channel-weakmap@1.0.2: 1434 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==} 1435 | engines: {node: '>= 0.4'} 1436 | 1437 | side-channel@1.1.0: 1438 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==} 1439 | engines: {node: '>= 0.4'} 1440 | 1441 | siginfo@2.0.0: 1442 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 1443 | 1444 | signal-exit@4.1.0: 1445 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1446 | engines: {node: '>=14'} 1447 | 1448 | source-map-js@1.2.1: 1449 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1450 | engines: {node: '>=0.10.0'} 1451 | 1452 | stackback@0.0.2: 1453 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 1454 | 1455 | statuses@2.0.1: 1456 | resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} 1457 | engines: {node: '>= 0.8'} 1458 | 1459 | std-env@3.9.0: 1460 | resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} 1461 | 1462 | string-width@4.2.3: 1463 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1464 | engines: {node: '>=8'} 1465 | 1466 | string-width@5.1.2: 1467 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1468 | engines: {node: '>=12'} 1469 | 1470 | strip-ansi@6.0.1: 1471 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1472 | engines: {node: '>=8'} 1473 | 1474 | strip-ansi@7.1.0: 1475 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1476 | engines: {node: '>=12'} 1477 | 1478 | strip-bom@3.0.0: 1479 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1480 | engines: {node: '>=4'} 1481 | 1482 | strip-json-comments@3.1.1: 1483 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1484 | engines: {node: '>=8'} 1485 | 1486 | supports-color@7.2.0: 1487 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1488 | engines: {node: '>=8'} 1489 | 1490 | test-exclude@7.0.1: 1491 | resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} 1492 | engines: {node: '>=18'} 1493 | 1494 | tinybench@2.9.0: 1495 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 1496 | 1497 | tinyexec@0.3.2: 1498 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 1499 | 1500 | tinyglobby@0.2.13: 1501 | resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} 1502 | engines: {node: '>=12.0.0'} 1503 | 1504 | tinypool@1.0.2: 1505 | resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} 1506 | engines: {node: ^18.0.0 || >=20.0.0} 1507 | 1508 | tinyrainbow@2.0.0: 1509 | resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} 1510 | engines: {node: '>=14.0.0'} 1511 | 1512 | tinyspy@3.0.2: 1513 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} 1514 | engines: {node: '>=14.0.0'} 1515 | 1516 | to-regex-range@5.0.1: 1517 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1518 | engines: {node: '>=8.0'} 1519 | 1520 | toidentifier@1.0.1: 1521 | resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} 1522 | engines: {node: '>=0.6'} 1523 | 1524 | ts-api-utils@2.1.0: 1525 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 1526 | engines: {node: '>=18.12'} 1527 | peerDependencies: 1528 | typescript: '>=4.8.4' 1529 | 1530 | tsconfig-paths@4.2.0: 1531 | resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} 1532 | engines: {node: '>=6'} 1533 | 1534 | tslib@2.8.1: 1535 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1536 | 1537 | type-check@0.4.0: 1538 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1539 | engines: {node: '>= 0.8.0'} 1540 | 1541 | type-is@2.0.1: 1542 | resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==} 1543 | engines: {node: '>= 0.6'} 1544 | 1545 | typescript-eslint@8.32.0: 1546 | resolution: {integrity: sha512-UMq2kxdXCzinFFPsXc9o2ozIpYCCOiEC46MG3yEh5Vipq6BO27otTtEBZA1fQ66DulEUgE97ucQ/3YY66CPg0A==} 1547 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1548 | peerDependencies: 1549 | eslint: ^8.57.0 || ^9.0.0 1550 | typescript: '>=4.8.4 <5.9.0' 1551 | 1552 | typescript@5.8.3: 1553 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} 1554 | engines: {node: '>=14.17'} 1555 | hasBin: true 1556 | 1557 | undici-types@6.21.0: 1558 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 1559 | 1560 | unpipe@1.0.0: 1561 | resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} 1562 | engines: {node: '>= 0.8'} 1563 | 1564 | uri-js@4.4.1: 1565 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1566 | 1567 | vary@1.1.2: 1568 | resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} 1569 | engines: {node: '>= 0.8'} 1570 | 1571 | vite-node@3.1.3: 1572 | resolution: {integrity: sha512-uHV4plJ2IxCl4u1up1FQRrqclylKAogbtBfOTwcuJ28xFi+89PZ57BRh+naIRvH70HPwxy5QHYzg1OrEaC7AbA==} 1573 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1574 | hasBin: true 1575 | 1576 | vite@6.3.5: 1577 | resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} 1578 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1579 | hasBin: true 1580 | peerDependencies: 1581 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1582 | jiti: '>=1.21.0' 1583 | less: '*' 1584 | lightningcss: ^1.21.0 1585 | sass: '*' 1586 | sass-embedded: '*' 1587 | stylus: '*' 1588 | sugarss: '*' 1589 | terser: ^5.16.0 1590 | tsx: ^4.8.1 1591 | yaml: ^2.4.2 1592 | peerDependenciesMeta: 1593 | '@types/node': 1594 | optional: true 1595 | jiti: 1596 | optional: true 1597 | less: 1598 | optional: true 1599 | lightningcss: 1600 | optional: true 1601 | sass: 1602 | optional: true 1603 | sass-embedded: 1604 | optional: true 1605 | stylus: 1606 | optional: true 1607 | sugarss: 1608 | optional: true 1609 | terser: 1610 | optional: true 1611 | tsx: 1612 | optional: true 1613 | yaml: 1614 | optional: true 1615 | 1616 | vitest@3.1.3: 1617 | resolution: {integrity: sha512-188iM4hAHQ0km23TN/adso1q5hhwKqUpv+Sd6p5sOuh6FhQnRNW3IsiIpvxqahtBabsJ2SLZgmGSpcYK4wQYJw==} 1618 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 1619 | hasBin: true 1620 | peerDependencies: 1621 | '@edge-runtime/vm': '*' 1622 | '@types/debug': ^4.1.12 1623 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 1624 | '@vitest/browser': 3.1.3 1625 | '@vitest/ui': 3.1.3 1626 | happy-dom: '*' 1627 | jsdom: '*' 1628 | peerDependenciesMeta: 1629 | '@edge-runtime/vm': 1630 | optional: true 1631 | '@types/debug': 1632 | optional: true 1633 | '@types/node': 1634 | optional: true 1635 | '@vitest/browser': 1636 | optional: true 1637 | '@vitest/ui': 1638 | optional: true 1639 | happy-dom: 1640 | optional: true 1641 | jsdom: 1642 | optional: true 1643 | 1644 | which@2.0.2: 1645 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1646 | engines: {node: '>= 8'} 1647 | hasBin: true 1648 | 1649 | why-is-node-running@2.3.0: 1650 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 1651 | engines: {node: '>=8'} 1652 | hasBin: true 1653 | 1654 | word-wrap@1.2.5: 1655 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1656 | engines: {node: '>=0.10.0'} 1657 | 1658 | wrap-ansi@7.0.0: 1659 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 1660 | engines: {node: '>=10'} 1661 | 1662 | wrap-ansi@8.1.0: 1663 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 1664 | engines: {node: '>=12'} 1665 | 1666 | wrappy@1.0.2: 1667 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1668 | 1669 | yocto-queue@0.1.0: 1670 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1671 | engines: {node: '>=10'} 1672 | 1673 | zod-to-json-schema@3.24.5: 1674 | resolution: {integrity: sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==} 1675 | peerDependencies: 1676 | zod: ^3.24.1 1677 | 1678 | zod@3.24.4: 1679 | resolution: {integrity: sha512-OdqJE9UDRPwWsrHjLN2F8bPxvwJBK22EHLWtanu0LSYr5YqzsaaW3RMgmjwr8Rypg5k+meEJdSPXJZXE/yqOMg==} 1680 | 1681 | snapshots: 1682 | 1683 | '@ampproject/remapping@2.3.0': 1684 | dependencies: 1685 | '@jridgewell/gen-mapping': 0.3.8 1686 | '@jridgewell/trace-mapping': 0.3.25 1687 | 1688 | '@ast-grep/napi-darwin-arm64@0.37.0': 1689 | optional: true 1690 | 1691 | '@ast-grep/napi-darwin-x64@0.37.0': 1692 | optional: true 1693 | 1694 | '@ast-grep/napi-linux-arm64-gnu@0.37.0': 1695 | optional: true 1696 | 1697 | '@ast-grep/napi-linux-arm64-musl@0.37.0': 1698 | optional: true 1699 | 1700 | '@ast-grep/napi-linux-x64-gnu@0.37.0': 1701 | optional: true 1702 | 1703 | '@ast-grep/napi-linux-x64-musl@0.37.0': 1704 | optional: true 1705 | 1706 | '@ast-grep/napi-win32-arm64-msvc@0.37.0': 1707 | optional: true 1708 | 1709 | '@ast-grep/napi-win32-ia32-msvc@0.37.0': 1710 | optional: true 1711 | 1712 | '@ast-grep/napi-win32-x64-msvc@0.37.0': 1713 | optional: true 1714 | 1715 | '@ast-grep/napi@0.37.0': 1716 | optionalDependencies: 1717 | '@ast-grep/napi-darwin-arm64': 0.37.0 1718 | '@ast-grep/napi-darwin-x64': 0.37.0 1719 | '@ast-grep/napi-linux-arm64-gnu': 0.37.0 1720 | '@ast-grep/napi-linux-arm64-musl': 0.37.0 1721 | '@ast-grep/napi-linux-x64-gnu': 0.37.0 1722 | '@ast-grep/napi-linux-x64-musl': 0.37.0 1723 | '@ast-grep/napi-win32-arm64-msvc': 0.37.0 1724 | '@ast-grep/napi-win32-ia32-msvc': 0.37.0 1725 | '@ast-grep/napi-win32-x64-msvc': 0.37.0 1726 | 1727 | '@babel/helper-string-parser@7.27.1': {} 1728 | 1729 | '@babel/helper-validator-identifier@7.27.1': {} 1730 | 1731 | '@babel/parser@7.27.1': 1732 | dependencies: 1733 | '@babel/types': 7.27.1 1734 | 1735 | '@babel/types@7.27.1': 1736 | dependencies: 1737 | '@babel/helper-string-parser': 7.27.1 1738 | '@babel/helper-validator-identifier': 7.27.1 1739 | 1740 | '@bcoe/v8-coverage@1.0.2': {} 1741 | 1742 | '@esbuild/aix-ppc64@0.25.3': 1743 | optional: true 1744 | 1745 | '@esbuild/android-arm64@0.25.3': 1746 | optional: true 1747 | 1748 | '@esbuild/android-arm@0.25.3': 1749 | optional: true 1750 | 1751 | '@esbuild/android-x64@0.25.3': 1752 | optional: true 1753 | 1754 | '@esbuild/darwin-arm64@0.25.3': 1755 | optional: true 1756 | 1757 | '@esbuild/darwin-x64@0.25.3': 1758 | optional: true 1759 | 1760 | '@esbuild/freebsd-arm64@0.25.3': 1761 | optional: true 1762 | 1763 | '@esbuild/freebsd-x64@0.25.3': 1764 | optional: true 1765 | 1766 | '@esbuild/linux-arm64@0.25.3': 1767 | optional: true 1768 | 1769 | '@esbuild/linux-arm@0.25.3': 1770 | optional: true 1771 | 1772 | '@esbuild/linux-ia32@0.25.3': 1773 | optional: true 1774 | 1775 | '@esbuild/linux-loong64@0.25.3': 1776 | optional: true 1777 | 1778 | '@esbuild/linux-mips64el@0.25.3': 1779 | optional: true 1780 | 1781 | '@esbuild/linux-ppc64@0.25.3': 1782 | optional: true 1783 | 1784 | '@esbuild/linux-riscv64@0.25.3': 1785 | optional: true 1786 | 1787 | '@esbuild/linux-s390x@0.25.3': 1788 | optional: true 1789 | 1790 | '@esbuild/linux-x64@0.25.3': 1791 | optional: true 1792 | 1793 | '@esbuild/netbsd-arm64@0.25.3': 1794 | optional: true 1795 | 1796 | '@esbuild/netbsd-x64@0.25.3': 1797 | optional: true 1798 | 1799 | '@esbuild/openbsd-arm64@0.25.3': 1800 | optional: true 1801 | 1802 | '@esbuild/openbsd-x64@0.25.3': 1803 | optional: true 1804 | 1805 | '@esbuild/sunos-x64@0.25.3': 1806 | optional: true 1807 | 1808 | '@esbuild/win32-arm64@0.25.3': 1809 | optional: true 1810 | 1811 | '@esbuild/win32-ia32@0.25.3': 1812 | optional: true 1813 | 1814 | '@esbuild/win32-x64@0.25.3': 1815 | optional: true 1816 | 1817 | '@eslint-community/eslint-utils@4.7.0(eslint@9.26.0(jiti@2.4.2))': 1818 | dependencies: 1819 | eslint: 9.26.0(jiti@2.4.2) 1820 | eslint-visitor-keys: 3.4.3 1821 | 1822 | '@eslint-community/regexpp@4.12.1': {} 1823 | 1824 | '@eslint/config-array@0.20.0': 1825 | dependencies: 1826 | '@eslint/object-schema': 2.1.6 1827 | debug: 4.4.0 1828 | minimatch: 3.1.2 1829 | transitivePeerDependencies: 1830 | - supports-color 1831 | 1832 | '@eslint/config-helpers@0.2.2': {} 1833 | 1834 | '@eslint/core@0.13.0': 1835 | dependencies: 1836 | '@types/json-schema': 7.0.15 1837 | 1838 | '@eslint/eslintrc@3.3.1': 1839 | dependencies: 1840 | ajv: 6.12.6 1841 | debug: 4.4.0 1842 | espree: 10.3.0 1843 | globals: 14.0.0 1844 | ignore: 5.3.2 1845 | import-fresh: 3.3.1 1846 | js-yaml: 4.1.0 1847 | minimatch: 3.1.2 1848 | strip-json-comments: 3.1.1 1849 | transitivePeerDependencies: 1850 | - supports-color 1851 | 1852 | '@eslint/js@9.26.0': {} 1853 | 1854 | '@eslint/object-schema@2.1.6': {} 1855 | 1856 | '@eslint/plugin-kit@0.2.8': 1857 | dependencies: 1858 | '@eslint/core': 0.13.0 1859 | levn: 0.4.1 1860 | 1861 | '@humanfs/core@0.19.1': {} 1862 | 1863 | '@humanfs/node@0.16.6': 1864 | dependencies: 1865 | '@humanfs/core': 0.19.1 1866 | '@humanwhocodes/retry': 0.3.1 1867 | 1868 | '@humanwhocodes/module-importer@1.0.1': {} 1869 | 1870 | '@humanwhocodes/retry@0.3.1': {} 1871 | 1872 | '@humanwhocodes/retry@0.4.3': {} 1873 | 1874 | '@isaacs/cliui@8.0.2': 1875 | dependencies: 1876 | string-width: 5.1.2 1877 | string-width-cjs: string-width@4.2.3 1878 | strip-ansi: 7.1.0 1879 | strip-ansi-cjs: strip-ansi@6.0.1 1880 | wrap-ansi: 8.1.0 1881 | wrap-ansi-cjs: wrap-ansi@7.0.0 1882 | 1883 | '@istanbuljs/schema@0.1.3': {} 1884 | 1885 | '@jridgewell/gen-mapping@0.3.8': 1886 | dependencies: 1887 | '@jridgewell/set-array': 1.2.1 1888 | '@jridgewell/sourcemap-codec': 1.5.0 1889 | '@jridgewell/trace-mapping': 0.3.25 1890 | 1891 | '@jridgewell/resolve-uri@3.1.2': {} 1892 | 1893 | '@jridgewell/set-array@1.2.1': {} 1894 | 1895 | '@jridgewell/sourcemap-codec@1.5.0': {} 1896 | 1897 | '@jridgewell/trace-mapping@0.3.25': 1898 | dependencies: 1899 | '@jridgewell/resolve-uri': 3.1.2 1900 | '@jridgewell/sourcemap-codec': 1.5.0 1901 | 1902 | '@modelcontextprotocol/sdk@1.11.1': 1903 | dependencies: 1904 | content-type: 1.0.5 1905 | cors: 2.8.5 1906 | cross-spawn: 7.0.6 1907 | eventsource: 3.0.7 1908 | express: 5.1.0 1909 | express-rate-limit: 7.5.0(express@5.1.0) 1910 | pkce-challenge: 5.0.0 1911 | raw-body: 3.0.0 1912 | zod: 3.24.4 1913 | zod-to-json-schema: 3.24.5(zod@3.24.4) 1914 | transitivePeerDependencies: 1915 | - supports-color 1916 | 1917 | '@module-federation/error-codes@0.13.1': {} 1918 | 1919 | '@module-federation/runtime-core@0.13.1': 1920 | dependencies: 1921 | '@module-federation/error-codes': 0.13.1 1922 | '@module-federation/sdk': 0.13.1 1923 | 1924 | '@module-federation/runtime-tools@0.13.1': 1925 | dependencies: 1926 | '@module-federation/runtime': 0.13.1 1927 | '@module-federation/webpack-bundler-runtime': 0.13.1 1928 | 1929 | '@module-federation/runtime@0.13.1': 1930 | dependencies: 1931 | '@module-federation/error-codes': 0.13.1 1932 | '@module-federation/runtime-core': 0.13.1 1933 | '@module-federation/sdk': 0.13.1 1934 | 1935 | '@module-federation/sdk@0.13.1': {} 1936 | 1937 | '@module-federation/webpack-bundler-runtime@0.13.1': 1938 | dependencies: 1939 | '@module-federation/runtime': 0.13.1 1940 | '@module-federation/sdk': 0.13.1 1941 | 1942 | '@nodelib/fs.scandir@2.1.5': 1943 | dependencies: 1944 | '@nodelib/fs.stat': 2.0.5 1945 | run-parallel: 1.2.0 1946 | 1947 | '@nodelib/fs.stat@2.0.5': {} 1948 | 1949 | '@nodelib/fs.walk@1.2.8': 1950 | dependencies: 1951 | '@nodelib/fs.scandir': 2.1.5 1952 | fastq: 1.19.1 1953 | 1954 | '@pkgjs/parseargs@0.11.0': 1955 | optional: true 1956 | 1957 | '@rollup/rollup-android-arm-eabi@4.40.1': 1958 | optional: true 1959 | 1960 | '@rollup/rollup-android-arm64@4.40.1': 1961 | optional: true 1962 | 1963 | '@rollup/rollup-darwin-arm64@4.40.1': 1964 | optional: true 1965 | 1966 | '@rollup/rollup-darwin-x64@4.40.1': 1967 | optional: true 1968 | 1969 | '@rollup/rollup-freebsd-arm64@4.40.1': 1970 | optional: true 1971 | 1972 | '@rollup/rollup-freebsd-x64@4.40.1': 1973 | optional: true 1974 | 1975 | '@rollup/rollup-linux-arm-gnueabihf@4.40.1': 1976 | optional: true 1977 | 1978 | '@rollup/rollup-linux-arm-musleabihf@4.40.1': 1979 | optional: true 1980 | 1981 | '@rollup/rollup-linux-arm64-gnu@4.40.1': 1982 | optional: true 1983 | 1984 | '@rollup/rollup-linux-arm64-musl@4.40.1': 1985 | optional: true 1986 | 1987 | '@rollup/rollup-linux-loongarch64-gnu@4.40.1': 1988 | optional: true 1989 | 1990 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.1': 1991 | optional: true 1992 | 1993 | '@rollup/rollup-linux-riscv64-gnu@4.40.1': 1994 | optional: true 1995 | 1996 | '@rollup/rollup-linux-riscv64-musl@4.40.1': 1997 | optional: true 1998 | 1999 | '@rollup/rollup-linux-s390x-gnu@4.40.1': 2000 | optional: true 2001 | 2002 | '@rollup/rollup-linux-x64-gnu@4.40.1': 2003 | optional: true 2004 | 2005 | '@rollup/rollup-linux-x64-musl@4.40.1': 2006 | optional: true 2007 | 2008 | '@rollup/rollup-win32-arm64-msvc@4.40.1': 2009 | optional: true 2010 | 2011 | '@rollup/rollup-win32-ia32-msvc@4.40.1': 2012 | optional: true 2013 | 2014 | '@rollup/rollup-win32-x64-msvc@4.40.1': 2015 | optional: true 2016 | 2017 | '@rsbuild/core@1.3.18': 2018 | dependencies: 2019 | '@rspack/core': 1.3.9(@swc/helpers@0.5.17) 2020 | '@rspack/lite-tapable': 1.0.1 2021 | '@swc/helpers': 0.5.17 2022 | core-js: 3.42.0 2023 | jiti: 2.4.2 2024 | 2025 | '@rslib/core@0.6.9(typescript@5.8.3)': 2026 | dependencies: 2027 | '@rsbuild/core': 1.3.18 2028 | rsbuild-plugin-dts: 0.6.9(@rsbuild/core@1.3.18)(typescript@5.8.3) 2029 | tinyglobby: 0.2.13 2030 | optionalDependencies: 2031 | typescript: 5.8.3 2032 | 2033 | '@rspack/binding-darwin-arm64@1.3.9': 2034 | optional: true 2035 | 2036 | '@rspack/binding-darwin-x64@1.3.9': 2037 | optional: true 2038 | 2039 | '@rspack/binding-linux-arm64-gnu@1.3.9': 2040 | optional: true 2041 | 2042 | '@rspack/binding-linux-arm64-musl@1.3.9': 2043 | optional: true 2044 | 2045 | '@rspack/binding-linux-x64-gnu@1.3.9': 2046 | optional: true 2047 | 2048 | '@rspack/binding-linux-x64-musl@1.3.9': 2049 | optional: true 2050 | 2051 | '@rspack/binding-win32-arm64-msvc@1.3.9': 2052 | optional: true 2053 | 2054 | '@rspack/binding-win32-ia32-msvc@1.3.9': 2055 | optional: true 2056 | 2057 | '@rspack/binding-win32-x64-msvc@1.3.9': 2058 | optional: true 2059 | 2060 | '@rspack/binding@1.3.9': 2061 | optionalDependencies: 2062 | '@rspack/binding-darwin-arm64': 1.3.9 2063 | '@rspack/binding-darwin-x64': 1.3.9 2064 | '@rspack/binding-linux-arm64-gnu': 1.3.9 2065 | '@rspack/binding-linux-arm64-musl': 1.3.9 2066 | '@rspack/binding-linux-x64-gnu': 1.3.9 2067 | '@rspack/binding-linux-x64-musl': 1.3.9 2068 | '@rspack/binding-win32-arm64-msvc': 1.3.9 2069 | '@rspack/binding-win32-ia32-msvc': 1.3.9 2070 | '@rspack/binding-win32-x64-msvc': 1.3.9 2071 | 2072 | '@rspack/core@1.3.9(@swc/helpers@0.5.17)': 2073 | dependencies: 2074 | '@module-federation/runtime-tools': 0.13.1 2075 | '@rspack/binding': 1.3.9 2076 | '@rspack/lite-tapable': 1.0.1 2077 | caniuse-lite: 1.0.30001717 2078 | optionalDependencies: 2079 | '@swc/helpers': 0.5.17 2080 | 2081 | '@rspack/lite-tapable@1.0.1': {} 2082 | 2083 | '@swc/helpers@0.5.17': 2084 | dependencies: 2085 | tslib: 2.8.1 2086 | 2087 | '@types/estree@1.0.7': {} 2088 | 2089 | '@types/json-schema@7.0.15': {} 2090 | 2091 | '@types/node@22.15.17': 2092 | dependencies: 2093 | undici-types: 6.21.0 2094 | 2095 | '@types/progress@2.0.7': 2096 | dependencies: 2097 | '@types/node': 22.15.17 2098 | 2099 | '@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)': 2100 | dependencies: 2101 | '@eslint-community/regexpp': 4.12.1 2102 | '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2103 | '@typescript-eslint/scope-manager': 8.32.0 2104 | '@typescript-eslint/type-utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2105 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2106 | '@typescript-eslint/visitor-keys': 8.32.0 2107 | eslint: 9.26.0(jiti@2.4.2) 2108 | graphemer: 1.4.0 2109 | ignore: 5.3.2 2110 | natural-compare: 1.4.0 2111 | ts-api-utils: 2.1.0(typescript@5.8.3) 2112 | typescript: 5.8.3 2113 | transitivePeerDependencies: 2114 | - supports-color 2115 | 2116 | '@typescript-eslint/parser@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': 2117 | dependencies: 2118 | '@typescript-eslint/scope-manager': 8.32.0 2119 | '@typescript-eslint/types': 8.32.0 2120 | '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) 2121 | '@typescript-eslint/visitor-keys': 8.32.0 2122 | debug: 4.4.0 2123 | eslint: 9.26.0(jiti@2.4.2) 2124 | typescript: 5.8.3 2125 | transitivePeerDependencies: 2126 | - supports-color 2127 | 2128 | '@typescript-eslint/scope-manager@8.32.0': 2129 | dependencies: 2130 | '@typescript-eslint/types': 8.32.0 2131 | '@typescript-eslint/visitor-keys': 8.32.0 2132 | 2133 | '@typescript-eslint/type-utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': 2134 | dependencies: 2135 | '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) 2136 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 2137 | debug: 4.4.0 2138 | eslint: 9.26.0(jiti@2.4.2) 2139 | ts-api-utils: 2.1.0(typescript@5.8.3) 2140 | typescript: 5.8.3 2141 | transitivePeerDependencies: 2142 | - supports-color 2143 | 2144 | '@typescript-eslint/types@8.32.0': {} 2145 | 2146 | '@typescript-eslint/typescript-estree@8.32.0(typescript@5.8.3)': 2147 | dependencies: 2148 | '@typescript-eslint/types': 8.32.0 2149 | '@typescript-eslint/visitor-keys': 8.32.0 2150 | debug: 4.4.0 2151 | fast-glob: 3.3.3 2152 | is-glob: 4.0.3 2153 | minimatch: 9.0.5 2154 | semver: 7.7.1 2155 | ts-api-utils: 2.1.0(typescript@5.8.3) 2156 | typescript: 5.8.3 2157 | transitivePeerDependencies: 2158 | - supports-color 2159 | 2160 | '@typescript-eslint/utils@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3)': 2161 | dependencies: 2162 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 2163 | '@typescript-eslint/scope-manager': 8.32.0 2164 | '@typescript-eslint/types': 8.32.0 2165 | '@typescript-eslint/typescript-estree': 8.32.0(typescript@5.8.3) 2166 | eslint: 9.26.0(jiti@2.4.2) 2167 | typescript: 5.8.3 2168 | transitivePeerDependencies: 2169 | - supports-color 2170 | 2171 | '@typescript-eslint/visitor-keys@8.32.0': 2172 | dependencies: 2173 | '@typescript-eslint/types': 8.32.0 2174 | eslint-visitor-keys: 4.2.0 2175 | 2176 | '@vitest/coverage-v8@3.1.3(vitest@3.1.3(@types/node@22.15.17)(jiti@2.4.2))': 2177 | dependencies: 2178 | '@ampproject/remapping': 2.3.0 2179 | '@bcoe/v8-coverage': 1.0.2 2180 | debug: 4.4.0 2181 | istanbul-lib-coverage: 3.2.2 2182 | istanbul-lib-report: 3.0.1 2183 | istanbul-lib-source-maps: 5.0.6 2184 | istanbul-reports: 3.1.7 2185 | magic-string: 0.30.17 2186 | magicast: 0.3.5 2187 | std-env: 3.9.0 2188 | test-exclude: 7.0.1 2189 | tinyrainbow: 2.0.0 2190 | vitest: 3.1.3(@types/node@22.15.17)(jiti@2.4.2) 2191 | transitivePeerDependencies: 2192 | - supports-color 2193 | 2194 | '@vitest/expect@3.1.3': 2195 | dependencies: 2196 | '@vitest/spy': 3.1.3 2197 | '@vitest/utils': 3.1.3 2198 | chai: 5.2.0 2199 | tinyrainbow: 2.0.0 2200 | 2201 | '@vitest/mocker@3.1.3(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2))': 2202 | dependencies: 2203 | '@vitest/spy': 3.1.3 2204 | estree-walker: 3.0.3 2205 | magic-string: 0.30.17 2206 | optionalDependencies: 2207 | vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2) 2208 | 2209 | '@vitest/pretty-format@3.1.3': 2210 | dependencies: 2211 | tinyrainbow: 2.0.0 2212 | 2213 | '@vitest/runner@3.1.3': 2214 | dependencies: 2215 | '@vitest/utils': 3.1.3 2216 | pathe: 2.0.3 2217 | 2218 | '@vitest/snapshot@3.1.3': 2219 | dependencies: 2220 | '@vitest/pretty-format': 3.1.3 2221 | magic-string: 0.30.17 2222 | pathe: 2.0.3 2223 | 2224 | '@vitest/spy@3.1.3': 2225 | dependencies: 2226 | tinyspy: 3.0.2 2227 | 2228 | '@vitest/utils@3.1.3': 2229 | dependencies: 2230 | '@vitest/pretty-format': 3.1.3 2231 | loupe: 3.1.3 2232 | tinyrainbow: 2.0.0 2233 | 2234 | accepts@2.0.0: 2235 | dependencies: 2236 | mime-types: 3.0.1 2237 | negotiator: 1.0.0 2238 | 2239 | acorn-jsx@5.3.2(acorn@8.14.1): 2240 | dependencies: 2241 | acorn: 8.14.1 2242 | 2243 | acorn@8.14.1: {} 2244 | 2245 | ajv@6.12.6: 2246 | dependencies: 2247 | fast-deep-equal: 3.1.3 2248 | fast-json-stable-stringify: 2.1.0 2249 | json-schema-traverse: 0.4.1 2250 | uri-js: 4.4.1 2251 | 2252 | ansi-regex@5.0.1: {} 2253 | 2254 | ansi-regex@6.1.0: {} 2255 | 2256 | ansi-styles@4.3.0: 2257 | dependencies: 2258 | color-convert: 2.0.1 2259 | 2260 | ansi-styles@6.2.1: {} 2261 | 2262 | argparse@2.0.1: {} 2263 | 2264 | assertion-error@2.0.1: {} 2265 | 2266 | balanced-match@1.0.2: {} 2267 | 2268 | body-parser@2.2.0: 2269 | dependencies: 2270 | bytes: 3.1.2 2271 | content-type: 1.0.5 2272 | debug: 4.4.0 2273 | http-errors: 2.0.0 2274 | iconv-lite: 0.6.3 2275 | on-finished: 2.4.1 2276 | qs: 6.14.0 2277 | raw-body: 3.0.0 2278 | type-is: 2.0.1 2279 | transitivePeerDependencies: 2280 | - supports-color 2281 | 2282 | brace-expansion@1.1.11: 2283 | dependencies: 2284 | balanced-match: 1.0.2 2285 | concat-map: 0.0.1 2286 | 2287 | brace-expansion@2.0.1: 2288 | dependencies: 2289 | balanced-match: 1.0.2 2290 | 2291 | braces@3.0.3: 2292 | dependencies: 2293 | fill-range: 7.1.1 2294 | 2295 | bytes@3.1.2: {} 2296 | 2297 | cac@6.7.14: {} 2298 | 2299 | call-bind-apply-helpers@1.0.2: 2300 | dependencies: 2301 | es-errors: 1.3.0 2302 | function-bind: 1.1.2 2303 | 2304 | call-bound@1.0.4: 2305 | dependencies: 2306 | call-bind-apply-helpers: 1.0.2 2307 | get-intrinsic: 1.3.0 2308 | 2309 | callsites@3.1.0: {} 2310 | 2311 | caniuse-lite@1.0.30001717: {} 2312 | 2313 | chai@5.2.0: 2314 | dependencies: 2315 | assertion-error: 2.0.1 2316 | check-error: 2.1.1 2317 | deep-eql: 5.0.2 2318 | loupe: 3.1.3 2319 | pathval: 2.0.0 2320 | 2321 | chalk@4.1.2: 2322 | dependencies: 2323 | ansi-styles: 4.3.0 2324 | supports-color: 7.2.0 2325 | 2326 | check-error@2.1.1: {} 2327 | 2328 | color-convert@2.0.1: 2329 | dependencies: 2330 | color-name: 1.1.4 2331 | 2332 | color-name@1.1.4: {} 2333 | 2334 | concat-map@0.0.1: {} 2335 | 2336 | content-disposition@1.0.0: 2337 | dependencies: 2338 | safe-buffer: 5.2.1 2339 | 2340 | content-type@1.0.5: {} 2341 | 2342 | cookie-signature@1.2.2: {} 2343 | 2344 | cookie@0.7.2: {} 2345 | 2346 | core-js@3.42.0: {} 2347 | 2348 | cors@2.8.5: 2349 | dependencies: 2350 | object-assign: 4.1.1 2351 | vary: 1.1.2 2352 | 2353 | cross-spawn@7.0.6: 2354 | dependencies: 2355 | path-key: 3.1.1 2356 | shebang-command: 2.0.0 2357 | which: 2.0.2 2358 | 2359 | debug@4.4.0: 2360 | dependencies: 2361 | ms: 2.1.3 2362 | 2363 | deep-eql@5.0.2: {} 2364 | 2365 | deep-is@0.1.4: {} 2366 | 2367 | depd@2.0.0: {} 2368 | 2369 | dunder-proto@1.0.1: 2370 | dependencies: 2371 | call-bind-apply-helpers: 1.0.2 2372 | es-errors: 1.3.0 2373 | gopd: 1.2.0 2374 | 2375 | eastasianwidth@0.2.0: {} 2376 | 2377 | ee-first@1.1.1: {} 2378 | 2379 | emoji-regex@8.0.0: {} 2380 | 2381 | emoji-regex@9.2.2: {} 2382 | 2383 | encodeurl@2.0.0: {} 2384 | 2385 | es-define-property@1.0.1: {} 2386 | 2387 | es-errors@1.3.0: {} 2388 | 2389 | es-module-lexer@1.7.0: {} 2390 | 2391 | es-object-atoms@1.1.1: 2392 | dependencies: 2393 | es-errors: 1.3.0 2394 | 2395 | esbuild@0.25.3: 2396 | optionalDependencies: 2397 | '@esbuild/aix-ppc64': 0.25.3 2398 | '@esbuild/android-arm': 0.25.3 2399 | '@esbuild/android-arm64': 0.25.3 2400 | '@esbuild/android-x64': 0.25.3 2401 | '@esbuild/darwin-arm64': 0.25.3 2402 | '@esbuild/darwin-x64': 0.25.3 2403 | '@esbuild/freebsd-arm64': 0.25.3 2404 | '@esbuild/freebsd-x64': 0.25.3 2405 | '@esbuild/linux-arm': 0.25.3 2406 | '@esbuild/linux-arm64': 0.25.3 2407 | '@esbuild/linux-ia32': 0.25.3 2408 | '@esbuild/linux-loong64': 0.25.3 2409 | '@esbuild/linux-mips64el': 0.25.3 2410 | '@esbuild/linux-ppc64': 0.25.3 2411 | '@esbuild/linux-riscv64': 0.25.3 2412 | '@esbuild/linux-s390x': 0.25.3 2413 | '@esbuild/linux-x64': 0.25.3 2414 | '@esbuild/netbsd-arm64': 0.25.3 2415 | '@esbuild/netbsd-x64': 0.25.3 2416 | '@esbuild/openbsd-arm64': 0.25.3 2417 | '@esbuild/openbsd-x64': 0.25.3 2418 | '@esbuild/sunos-x64': 0.25.3 2419 | '@esbuild/win32-arm64': 0.25.3 2420 | '@esbuild/win32-ia32': 0.25.3 2421 | '@esbuild/win32-x64': 0.25.3 2422 | 2423 | escape-html@1.0.3: {} 2424 | 2425 | escape-string-regexp@4.0.0: {} 2426 | 2427 | eslint-scope@8.3.0: 2428 | dependencies: 2429 | esrecurse: 4.3.0 2430 | estraverse: 5.3.0 2431 | 2432 | eslint-visitor-keys@3.4.3: {} 2433 | 2434 | eslint-visitor-keys@4.2.0: {} 2435 | 2436 | eslint@9.26.0(jiti@2.4.2): 2437 | dependencies: 2438 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.26.0(jiti@2.4.2)) 2439 | '@eslint-community/regexpp': 4.12.1 2440 | '@eslint/config-array': 0.20.0 2441 | '@eslint/config-helpers': 0.2.2 2442 | '@eslint/core': 0.13.0 2443 | '@eslint/eslintrc': 3.3.1 2444 | '@eslint/js': 9.26.0 2445 | '@eslint/plugin-kit': 0.2.8 2446 | '@humanfs/node': 0.16.6 2447 | '@humanwhocodes/module-importer': 1.0.1 2448 | '@humanwhocodes/retry': 0.4.3 2449 | '@modelcontextprotocol/sdk': 1.11.1 2450 | '@types/estree': 1.0.7 2451 | '@types/json-schema': 7.0.15 2452 | ajv: 6.12.6 2453 | chalk: 4.1.2 2454 | cross-spawn: 7.0.6 2455 | debug: 4.4.0 2456 | escape-string-regexp: 4.0.0 2457 | eslint-scope: 8.3.0 2458 | eslint-visitor-keys: 4.2.0 2459 | espree: 10.3.0 2460 | esquery: 1.6.0 2461 | esutils: 2.0.3 2462 | fast-deep-equal: 3.1.3 2463 | file-entry-cache: 8.0.0 2464 | find-up: 5.0.0 2465 | glob-parent: 6.0.2 2466 | ignore: 5.3.2 2467 | imurmurhash: 0.1.4 2468 | is-glob: 4.0.3 2469 | json-stable-stringify-without-jsonify: 1.0.1 2470 | lodash.merge: 4.6.2 2471 | minimatch: 3.1.2 2472 | natural-compare: 1.4.0 2473 | optionator: 0.9.4 2474 | zod: 3.24.4 2475 | optionalDependencies: 2476 | jiti: 2.4.2 2477 | transitivePeerDependencies: 2478 | - supports-color 2479 | 2480 | espree@10.3.0: 2481 | dependencies: 2482 | acorn: 8.14.1 2483 | acorn-jsx: 5.3.2(acorn@8.14.1) 2484 | eslint-visitor-keys: 4.2.0 2485 | 2486 | esquery@1.6.0: 2487 | dependencies: 2488 | estraverse: 5.3.0 2489 | 2490 | esrecurse@4.3.0: 2491 | dependencies: 2492 | estraverse: 5.3.0 2493 | 2494 | estraverse@5.3.0: {} 2495 | 2496 | estree-walker@3.0.3: 2497 | dependencies: 2498 | '@types/estree': 1.0.7 2499 | 2500 | esutils@2.0.3: {} 2501 | 2502 | etag@1.8.1: {} 2503 | 2504 | eventsource-parser@3.0.1: {} 2505 | 2506 | eventsource@3.0.7: 2507 | dependencies: 2508 | eventsource-parser: 3.0.1 2509 | 2510 | expect-type@1.2.1: {} 2511 | 2512 | express-rate-limit@7.5.0(express@5.1.0): 2513 | dependencies: 2514 | express: 5.1.0 2515 | 2516 | express@5.1.0: 2517 | dependencies: 2518 | accepts: 2.0.0 2519 | body-parser: 2.2.0 2520 | content-disposition: 1.0.0 2521 | content-type: 1.0.5 2522 | cookie: 0.7.2 2523 | cookie-signature: 1.2.2 2524 | debug: 4.4.0 2525 | encodeurl: 2.0.0 2526 | escape-html: 1.0.3 2527 | etag: 1.8.1 2528 | finalhandler: 2.1.0 2529 | fresh: 2.0.0 2530 | http-errors: 2.0.0 2531 | merge-descriptors: 2.0.0 2532 | mime-types: 3.0.1 2533 | on-finished: 2.4.1 2534 | once: 1.4.0 2535 | parseurl: 1.3.3 2536 | proxy-addr: 2.0.7 2537 | qs: 6.14.0 2538 | range-parser: 1.2.1 2539 | router: 2.2.0 2540 | send: 1.2.0 2541 | serve-static: 2.2.0 2542 | statuses: 2.0.1 2543 | type-is: 2.0.1 2544 | vary: 1.1.2 2545 | transitivePeerDependencies: 2546 | - supports-color 2547 | 2548 | fast-deep-equal@3.1.3: {} 2549 | 2550 | fast-glob@3.3.3: 2551 | dependencies: 2552 | '@nodelib/fs.stat': 2.0.5 2553 | '@nodelib/fs.walk': 1.2.8 2554 | glob-parent: 5.1.2 2555 | merge2: 1.4.1 2556 | micromatch: 4.0.8 2557 | 2558 | fast-json-stable-stringify@2.1.0: {} 2559 | 2560 | fast-levenshtein@2.0.6: {} 2561 | 2562 | fastq@1.19.1: 2563 | dependencies: 2564 | reusify: 1.1.0 2565 | 2566 | fdir@6.4.4(picomatch@4.0.2): 2567 | optionalDependencies: 2568 | picomatch: 4.0.2 2569 | 2570 | file-entry-cache@8.0.0: 2571 | dependencies: 2572 | flat-cache: 4.0.1 2573 | 2574 | fill-range@7.1.1: 2575 | dependencies: 2576 | to-regex-range: 5.0.1 2577 | 2578 | finalhandler@2.1.0: 2579 | dependencies: 2580 | debug: 4.4.0 2581 | encodeurl: 2.0.0 2582 | escape-html: 1.0.3 2583 | on-finished: 2.4.1 2584 | parseurl: 1.3.3 2585 | statuses: 2.0.1 2586 | transitivePeerDependencies: 2587 | - supports-color 2588 | 2589 | find-up@5.0.0: 2590 | dependencies: 2591 | locate-path: 6.0.0 2592 | path-exists: 4.0.0 2593 | 2594 | flat-cache@4.0.1: 2595 | dependencies: 2596 | flatted: 3.3.3 2597 | keyv: 4.5.4 2598 | 2599 | flatted@3.3.3: {} 2600 | 2601 | foreground-child@3.3.1: 2602 | dependencies: 2603 | cross-spawn: 7.0.6 2604 | signal-exit: 4.1.0 2605 | 2606 | forwarded@0.2.0: {} 2607 | 2608 | fresh@2.0.0: {} 2609 | 2610 | fsevents@2.3.3: 2611 | optional: true 2612 | 2613 | function-bind@1.1.2: {} 2614 | 2615 | get-intrinsic@1.3.0: 2616 | dependencies: 2617 | call-bind-apply-helpers: 1.0.2 2618 | es-define-property: 1.0.1 2619 | es-errors: 1.3.0 2620 | es-object-atoms: 1.1.1 2621 | function-bind: 1.1.2 2622 | get-proto: 1.0.1 2623 | gopd: 1.2.0 2624 | has-symbols: 1.1.0 2625 | hasown: 2.0.2 2626 | math-intrinsics: 1.1.0 2627 | 2628 | get-proto@1.0.1: 2629 | dependencies: 2630 | dunder-proto: 1.0.1 2631 | es-object-atoms: 1.1.1 2632 | 2633 | glob-parent@5.1.2: 2634 | dependencies: 2635 | is-glob: 4.0.3 2636 | 2637 | glob-parent@6.0.2: 2638 | dependencies: 2639 | is-glob: 4.0.3 2640 | 2641 | glob@10.4.5: 2642 | dependencies: 2643 | foreground-child: 3.3.1 2644 | jackspeak: 3.4.3 2645 | minimatch: 9.0.5 2646 | minipass: 7.1.2 2647 | package-json-from-dist: 1.0.1 2648 | path-scurry: 1.11.1 2649 | 2650 | globals@14.0.0: {} 2651 | 2652 | globals@16.1.0: {} 2653 | 2654 | gopd@1.2.0: {} 2655 | 2656 | graphemer@1.4.0: {} 2657 | 2658 | has-flag@4.0.0: {} 2659 | 2660 | has-symbols@1.1.0: {} 2661 | 2662 | hasown@2.0.2: 2663 | dependencies: 2664 | function-bind: 1.1.2 2665 | 2666 | html-escaper@2.0.2: {} 2667 | 2668 | http-errors@2.0.0: 2669 | dependencies: 2670 | depd: 2.0.0 2671 | inherits: 2.0.4 2672 | setprototypeof: 1.2.0 2673 | statuses: 2.0.1 2674 | toidentifier: 1.0.1 2675 | 2676 | iconv-lite@0.6.3: 2677 | dependencies: 2678 | safer-buffer: 2.1.2 2679 | 2680 | ignore@5.3.2: {} 2681 | 2682 | import-fresh@3.3.1: 2683 | dependencies: 2684 | parent-module: 1.0.1 2685 | resolve-from: 4.0.0 2686 | 2687 | imurmurhash@0.1.4: {} 2688 | 2689 | inherits@2.0.4: {} 2690 | 2691 | ipaddr.js@1.9.1: {} 2692 | 2693 | is-extglob@2.1.1: {} 2694 | 2695 | is-fullwidth-code-point@3.0.0: {} 2696 | 2697 | is-glob@4.0.3: 2698 | dependencies: 2699 | is-extglob: 2.1.1 2700 | 2701 | is-number@7.0.0: {} 2702 | 2703 | is-promise@4.0.0: {} 2704 | 2705 | isexe@2.0.0: {} 2706 | 2707 | istanbul-lib-coverage@3.2.2: {} 2708 | 2709 | istanbul-lib-report@3.0.1: 2710 | dependencies: 2711 | istanbul-lib-coverage: 3.2.2 2712 | make-dir: 4.0.0 2713 | supports-color: 7.2.0 2714 | 2715 | istanbul-lib-source-maps@5.0.6: 2716 | dependencies: 2717 | '@jridgewell/trace-mapping': 0.3.25 2718 | debug: 4.4.0 2719 | istanbul-lib-coverage: 3.2.2 2720 | transitivePeerDependencies: 2721 | - supports-color 2722 | 2723 | istanbul-reports@3.1.7: 2724 | dependencies: 2725 | html-escaper: 2.0.2 2726 | istanbul-lib-report: 3.0.1 2727 | 2728 | jackspeak@3.4.3: 2729 | dependencies: 2730 | '@isaacs/cliui': 8.0.2 2731 | optionalDependencies: 2732 | '@pkgjs/parseargs': 0.11.0 2733 | 2734 | jiti@2.4.2: {} 2735 | 2736 | js-yaml@4.1.0: 2737 | dependencies: 2738 | argparse: 2.0.1 2739 | 2740 | json-buffer@3.0.1: {} 2741 | 2742 | json-schema-traverse@0.4.1: {} 2743 | 2744 | json-stable-stringify-without-jsonify@1.0.1: {} 2745 | 2746 | json5@2.2.3: {} 2747 | 2748 | keyv@4.5.4: 2749 | dependencies: 2750 | json-buffer: 3.0.1 2751 | 2752 | levn@0.4.1: 2753 | dependencies: 2754 | prelude-ls: 1.2.1 2755 | type-check: 0.4.0 2756 | 2757 | locate-path@6.0.0: 2758 | dependencies: 2759 | p-locate: 5.0.0 2760 | 2761 | lodash.merge@4.6.2: {} 2762 | 2763 | loupe@3.1.3: {} 2764 | 2765 | lru-cache@10.4.3: {} 2766 | 2767 | magic-string@0.30.17: 2768 | dependencies: 2769 | '@jridgewell/sourcemap-codec': 1.5.0 2770 | 2771 | magicast@0.3.5: 2772 | dependencies: 2773 | '@babel/parser': 7.27.1 2774 | '@babel/types': 7.27.1 2775 | source-map-js: 1.2.1 2776 | 2777 | make-dir@4.0.0: 2778 | dependencies: 2779 | semver: 7.7.1 2780 | 2781 | math-intrinsics@1.1.0: {} 2782 | 2783 | media-typer@1.1.0: {} 2784 | 2785 | merge-descriptors@2.0.0: {} 2786 | 2787 | merge2@1.4.1: {} 2788 | 2789 | micromatch@4.0.8: 2790 | dependencies: 2791 | braces: 3.0.3 2792 | picomatch: 2.3.1 2793 | 2794 | mime-db@1.54.0: {} 2795 | 2796 | mime-types@3.0.1: 2797 | dependencies: 2798 | mime-db: 1.54.0 2799 | 2800 | minimatch@3.1.2: 2801 | dependencies: 2802 | brace-expansion: 1.1.11 2803 | 2804 | minimatch@9.0.5: 2805 | dependencies: 2806 | brace-expansion: 2.0.1 2807 | 2808 | minimist@1.2.8: {} 2809 | 2810 | minipass@7.1.2: {} 2811 | 2812 | ms@2.1.3: {} 2813 | 2814 | nanoid@3.3.11: {} 2815 | 2816 | natural-compare@1.4.0: {} 2817 | 2818 | negotiator@1.0.0: {} 2819 | 2820 | object-assign@4.1.1: {} 2821 | 2822 | object-inspect@1.13.4: {} 2823 | 2824 | on-finished@2.4.1: 2825 | dependencies: 2826 | ee-first: 1.1.1 2827 | 2828 | once@1.4.0: 2829 | dependencies: 2830 | wrappy: 1.0.2 2831 | 2832 | optionator@0.9.4: 2833 | dependencies: 2834 | deep-is: 0.1.4 2835 | fast-levenshtein: 2.0.6 2836 | levn: 0.4.1 2837 | prelude-ls: 1.2.1 2838 | type-check: 0.4.0 2839 | word-wrap: 1.2.5 2840 | 2841 | p-limit@3.1.0: 2842 | dependencies: 2843 | yocto-queue: 0.1.0 2844 | 2845 | p-locate@5.0.0: 2846 | dependencies: 2847 | p-limit: 3.1.0 2848 | 2849 | package-json-from-dist@1.0.1: {} 2850 | 2851 | parent-module@1.0.1: 2852 | dependencies: 2853 | callsites: 3.1.0 2854 | 2855 | parseurl@1.3.3: {} 2856 | 2857 | path-exists@4.0.0: {} 2858 | 2859 | path-key@3.1.1: {} 2860 | 2861 | path-scurry@1.11.1: 2862 | dependencies: 2863 | lru-cache: 10.4.3 2864 | minipass: 7.1.2 2865 | 2866 | path-to-regexp@8.2.0: {} 2867 | 2868 | pathe@2.0.3: {} 2869 | 2870 | pathval@2.0.0: {} 2871 | 2872 | picocolors@1.1.1: {} 2873 | 2874 | picomatch@2.3.1: {} 2875 | 2876 | picomatch@4.0.2: {} 2877 | 2878 | pkce-challenge@5.0.0: {} 2879 | 2880 | postcss@8.5.3: 2881 | dependencies: 2882 | nanoid: 3.3.11 2883 | picocolors: 1.1.1 2884 | source-map-js: 1.2.1 2885 | 2886 | prelude-ls@1.2.1: {} 2887 | 2888 | prettier@3.5.3: {} 2889 | 2890 | progress@2.0.3: {} 2891 | 2892 | proxy-addr@2.0.7: 2893 | dependencies: 2894 | forwarded: 0.2.0 2895 | ipaddr.js: 1.9.1 2896 | 2897 | punycode@2.3.1: {} 2898 | 2899 | qs@6.14.0: 2900 | dependencies: 2901 | side-channel: 1.1.0 2902 | 2903 | queue-microtask@1.2.3: {} 2904 | 2905 | range-parser@1.2.1: {} 2906 | 2907 | raw-body@3.0.0: 2908 | dependencies: 2909 | bytes: 3.1.2 2910 | http-errors: 2.0.0 2911 | iconv-lite: 0.6.3 2912 | unpipe: 1.0.0 2913 | 2914 | resolve-from@4.0.0: {} 2915 | 2916 | reusify@1.1.0: {} 2917 | 2918 | rollup@4.40.1: 2919 | dependencies: 2920 | '@types/estree': 1.0.7 2921 | optionalDependencies: 2922 | '@rollup/rollup-android-arm-eabi': 4.40.1 2923 | '@rollup/rollup-android-arm64': 4.40.1 2924 | '@rollup/rollup-darwin-arm64': 4.40.1 2925 | '@rollup/rollup-darwin-x64': 4.40.1 2926 | '@rollup/rollup-freebsd-arm64': 4.40.1 2927 | '@rollup/rollup-freebsd-x64': 4.40.1 2928 | '@rollup/rollup-linux-arm-gnueabihf': 4.40.1 2929 | '@rollup/rollup-linux-arm-musleabihf': 4.40.1 2930 | '@rollup/rollup-linux-arm64-gnu': 4.40.1 2931 | '@rollup/rollup-linux-arm64-musl': 4.40.1 2932 | '@rollup/rollup-linux-loongarch64-gnu': 4.40.1 2933 | '@rollup/rollup-linux-powerpc64le-gnu': 4.40.1 2934 | '@rollup/rollup-linux-riscv64-gnu': 4.40.1 2935 | '@rollup/rollup-linux-riscv64-musl': 4.40.1 2936 | '@rollup/rollup-linux-s390x-gnu': 4.40.1 2937 | '@rollup/rollup-linux-x64-gnu': 4.40.1 2938 | '@rollup/rollup-linux-x64-musl': 4.40.1 2939 | '@rollup/rollup-win32-arm64-msvc': 4.40.1 2940 | '@rollup/rollup-win32-ia32-msvc': 4.40.1 2941 | '@rollup/rollup-win32-x64-msvc': 4.40.1 2942 | fsevents: 2.3.3 2943 | 2944 | router@2.2.0: 2945 | dependencies: 2946 | debug: 4.4.0 2947 | depd: 2.0.0 2948 | is-promise: 4.0.0 2949 | parseurl: 1.3.3 2950 | path-to-regexp: 8.2.0 2951 | transitivePeerDependencies: 2952 | - supports-color 2953 | 2954 | rsbuild-plugin-dts@0.6.9(@rsbuild/core@1.3.18)(typescript@5.8.3): 2955 | dependencies: 2956 | '@ast-grep/napi': 0.37.0 2957 | '@rsbuild/core': 1.3.18 2958 | magic-string: 0.30.17 2959 | picocolors: 1.1.1 2960 | tinyglobby: 0.2.13 2961 | tsconfig-paths: 4.2.0 2962 | optionalDependencies: 2963 | typescript: 5.8.3 2964 | 2965 | run-parallel@1.2.0: 2966 | dependencies: 2967 | queue-microtask: 1.2.3 2968 | 2969 | safe-buffer@5.2.1: {} 2970 | 2971 | safer-buffer@2.1.2: {} 2972 | 2973 | semver@7.7.1: {} 2974 | 2975 | send@1.2.0: 2976 | dependencies: 2977 | debug: 4.4.0 2978 | encodeurl: 2.0.0 2979 | escape-html: 1.0.3 2980 | etag: 1.8.1 2981 | fresh: 2.0.0 2982 | http-errors: 2.0.0 2983 | mime-types: 3.0.1 2984 | ms: 2.1.3 2985 | on-finished: 2.4.1 2986 | range-parser: 1.2.1 2987 | statuses: 2.0.1 2988 | transitivePeerDependencies: 2989 | - supports-color 2990 | 2991 | serve-static@2.2.0: 2992 | dependencies: 2993 | encodeurl: 2.0.0 2994 | escape-html: 1.0.3 2995 | parseurl: 1.3.3 2996 | send: 1.2.0 2997 | transitivePeerDependencies: 2998 | - supports-color 2999 | 3000 | setprototypeof@1.2.0: {} 3001 | 3002 | shebang-command@2.0.0: 3003 | dependencies: 3004 | shebang-regex: 3.0.0 3005 | 3006 | shebang-regex@3.0.0: {} 3007 | 3008 | side-channel-list@1.0.0: 3009 | dependencies: 3010 | es-errors: 1.3.0 3011 | object-inspect: 1.13.4 3012 | 3013 | side-channel-map@1.0.1: 3014 | dependencies: 3015 | call-bound: 1.0.4 3016 | es-errors: 1.3.0 3017 | get-intrinsic: 1.3.0 3018 | object-inspect: 1.13.4 3019 | 3020 | side-channel-weakmap@1.0.2: 3021 | dependencies: 3022 | call-bound: 1.0.4 3023 | es-errors: 1.3.0 3024 | get-intrinsic: 1.3.0 3025 | object-inspect: 1.13.4 3026 | side-channel-map: 1.0.1 3027 | 3028 | side-channel@1.1.0: 3029 | dependencies: 3030 | es-errors: 1.3.0 3031 | object-inspect: 1.13.4 3032 | side-channel-list: 1.0.0 3033 | side-channel-map: 1.0.1 3034 | side-channel-weakmap: 1.0.2 3035 | 3036 | siginfo@2.0.0: {} 3037 | 3038 | signal-exit@4.1.0: {} 3039 | 3040 | source-map-js@1.2.1: {} 3041 | 3042 | stackback@0.0.2: {} 3043 | 3044 | statuses@2.0.1: {} 3045 | 3046 | std-env@3.9.0: {} 3047 | 3048 | string-width@4.2.3: 3049 | dependencies: 3050 | emoji-regex: 8.0.0 3051 | is-fullwidth-code-point: 3.0.0 3052 | strip-ansi: 6.0.1 3053 | 3054 | string-width@5.1.2: 3055 | dependencies: 3056 | eastasianwidth: 0.2.0 3057 | emoji-regex: 9.2.2 3058 | strip-ansi: 7.1.0 3059 | 3060 | strip-ansi@6.0.1: 3061 | dependencies: 3062 | ansi-regex: 5.0.1 3063 | 3064 | strip-ansi@7.1.0: 3065 | dependencies: 3066 | ansi-regex: 6.1.0 3067 | 3068 | strip-bom@3.0.0: {} 3069 | 3070 | strip-json-comments@3.1.1: {} 3071 | 3072 | supports-color@7.2.0: 3073 | dependencies: 3074 | has-flag: 4.0.0 3075 | 3076 | test-exclude@7.0.1: 3077 | dependencies: 3078 | '@istanbuljs/schema': 0.1.3 3079 | glob: 10.4.5 3080 | minimatch: 9.0.5 3081 | 3082 | tinybench@2.9.0: {} 3083 | 3084 | tinyexec@0.3.2: {} 3085 | 3086 | tinyglobby@0.2.13: 3087 | dependencies: 3088 | fdir: 6.4.4(picomatch@4.0.2) 3089 | picomatch: 4.0.2 3090 | 3091 | tinypool@1.0.2: {} 3092 | 3093 | tinyrainbow@2.0.0: {} 3094 | 3095 | tinyspy@3.0.2: {} 3096 | 3097 | to-regex-range@5.0.1: 3098 | dependencies: 3099 | is-number: 7.0.0 3100 | 3101 | toidentifier@1.0.1: {} 3102 | 3103 | ts-api-utils@2.1.0(typescript@5.8.3): 3104 | dependencies: 3105 | typescript: 5.8.3 3106 | 3107 | tsconfig-paths@4.2.0: 3108 | dependencies: 3109 | json5: 2.2.3 3110 | minimist: 1.2.8 3111 | strip-bom: 3.0.0 3112 | 3113 | tslib@2.8.1: {} 3114 | 3115 | type-check@0.4.0: 3116 | dependencies: 3117 | prelude-ls: 1.2.1 3118 | 3119 | type-is@2.0.1: 3120 | dependencies: 3121 | content-type: 1.0.5 3122 | media-typer: 1.1.0 3123 | mime-types: 3.0.1 3124 | 3125 | typescript-eslint@8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3): 3126 | dependencies: 3127 | '@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) 3128 | '@typescript-eslint/parser': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 3129 | '@typescript-eslint/utils': 8.32.0(eslint@9.26.0(jiti@2.4.2))(typescript@5.8.3) 3130 | eslint: 9.26.0(jiti@2.4.2) 3131 | typescript: 5.8.3 3132 | transitivePeerDependencies: 3133 | - supports-color 3134 | 3135 | typescript@5.8.3: {} 3136 | 3137 | undici-types@6.21.0: {} 3138 | 3139 | unpipe@1.0.0: {} 3140 | 3141 | uri-js@4.4.1: 3142 | dependencies: 3143 | punycode: 2.3.1 3144 | 3145 | vary@1.1.2: {} 3146 | 3147 | vite-node@3.1.3(@types/node@22.15.17)(jiti@2.4.2): 3148 | dependencies: 3149 | cac: 6.7.14 3150 | debug: 4.4.0 3151 | es-module-lexer: 1.7.0 3152 | pathe: 2.0.3 3153 | vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2) 3154 | transitivePeerDependencies: 3155 | - '@types/node' 3156 | - jiti 3157 | - less 3158 | - lightningcss 3159 | - sass 3160 | - sass-embedded 3161 | - stylus 3162 | - sugarss 3163 | - supports-color 3164 | - terser 3165 | - tsx 3166 | - yaml 3167 | 3168 | vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2): 3169 | dependencies: 3170 | esbuild: 0.25.3 3171 | fdir: 6.4.4(picomatch@4.0.2) 3172 | picomatch: 4.0.2 3173 | postcss: 8.5.3 3174 | rollup: 4.40.1 3175 | tinyglobby: 0.2.13 3176 | optionalDependencies: 3177 | '@types/node': 22.15.17 3178 | fsevents: 2.3.3 3179 | jiti: 2.4.2 3180 | 3181 | vitest@3.1.3(@types/node@22.15.17)(jiti@2.4.2): 3182 | dependencies: 3183 | '@vitest/expect': 3.1.3 3184 | '@vitest/mocker': 3.1.3(vite@6.3.5(@types/node@22.15.17)(jiti@2.4.2)) 3185 | '@vitest/pretty-format': 3.1.3 3186 | '@vitest/runner': 3.1.3 3187 | '@vitest/snapshot': 3.1.3 3188 | '@vitest/spy': 3.1.3 3189 | '@vitest/utils': 3.1.3 3190 | chai: 5.2.0 3191 | debug: 4.4.0 3192 | expect-type: 1.2.1 3193 | magic-string: 0.30.17 3194 | pathe: 2.0.3 3195 | std-env: 3.9.0 3196 | tinybench: 2.9.0 3197 | tinyexec: 0.3.2 3198 | tinyglobby: 0.2.13 3199 | tinypool: 1.0.2 3200 | tinyrainbow: 2.0.0 3201 | vite: 6.3.5(@types/node@22.15.17)(jiti@2.4.2) 3202 | vite-node: 3.1.3(@types/node@22.15.17)(jiti@2.4.2) 3203 | why-is-node-running: 2.3.0 3204 | optionalDependencies: 3205 | '@types/node': 22.15.17 3206 | transitivePeerDependencies: 3207 | - jiti 3208 | - less 3209 | - lightningcss 3210 | - msw 3211 | - sass 3212 | - sass-embedded 3213 | - stylus 3214 | - sugarss 3215 | - supports-color 3216 | - terser 3217 | - tsx 3218 | - yaml 3219 | 3220 | which@2.0.2: 3221 | dependencies: 3222 | isexe: 2.0.0 3223 | 3224 | why-is-node-running@2.3.0: 3225 | dependencies: 3226 | siginfo: 2.0.0 3227 | stackback: 0.0.2 3228 | 3229 | word-wrap@1.2.5: {} 3230 | 3231 | wrap-ansi@7.0.0: 3232 | dependencies: 3233 | ansi-styles: 4.3.0 3234 | string-width: 4.2.3 3235 | strip-ansi: 6.0.1 3236 | 3237 | wrap-ansi@8.1.0: 3238 | dependencies: 3239 | ansi-styles: 6.2.1 3240 | string-width: 5.1.2 3241 | strip-ansi: 7.1.0 3242 | 3243 | wrappy@1.0.2: {} 3244 | 3245 | yocto-queue@0.1.0: {} 3246 | 3247 | zod-to-json-schema@3.24.5(zod@3.24.4): 3248 | dependencies: 3249 | zod: 3.24.4 3250 | 3251 | zod@3.24.4: {} 3252 | -------------------------------------------------------------------------------- /rslib.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from '@rslib/core'; 2 | 3 | export default defineConfig({ 4 | lib: [ 5 | { 6 | format: 'esm', 7 | syntax: 'es2021', 8 | dts: true, 9 | }, 10 | { 11 | format: 'cjs', 12 | syntax: 'es2021', 13 | }, 14 | ], 15 | }); 16 | -------------------------------------------------------------------------------- /src/add-progress-bar.ts: -------------------------------------------------------------------------------- 1 | import ProgressBar from 'progress'; 2 | 3 | export default async function addProgressBar( 4 | text: string | undefined, 5 | completionCallback: () => Promise, 6 | ): Promise { 7 | await new Promise(async (resolve, reject) => { 8 | const contentLength = 2048 * 1024; // 2MB 9 | if (text) { 10 | console.log(text); 11 | } 12 | 13 | const bar = new ProgressBar(`[:bar] :percent :etas`, { 14 | complete: '=', 15 | incomplete: ' ', 16 | width: 50, 17 | total: contentLength, 18 | }); 19 | 20 | // Simulate progress 21 | let progress = 0; 22 | 23 | const timer = setInterval(() => { 24 | const chunk = Math.random() * 10 * 1024; 25 | progress += chunk; 26 | bar.tick(chunk); 27 | if (progress >= contentLength || bar.complete) { 28 | // Clear interval when progress is complete 29 | clearInterval(timer); 30 | } 31 | }, 50); 32 | 33 | try { 34 | // Wait for the cloning operation to complete 35 | await completionCallback(); 36 | 37 | // Ensure the interval is cleared after operation completes 38 | clearInterval(timer); 39 | 40 | // Force-complete the progress bar 41 | bar.tick(contentLength); 42 | resolve(); 43 | } catch (error) { 44 | // Ensure the interval is cleared in case of error 45 | clearInterval(timer); 46 | 47 | console.error('[go-git-it] An error occurred:', error); 48 | reject(error); 49 | } 50 | }); 51 | } 52 | -------------------------------------------------------------------------------- /src/cli.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | type GoGitIt = (gitURL: string, outputDirectory?: string) => Promise; 4 | 5 | export default function cli(goGitIt: GoGitIt) { 6 | const args = process.argv; 7 | 8 | // CLI needs at least one argument to run 9 | if (args.length < 3) { 10 | console.log('You need to provide a valid GitHub URL to start a download.'); 11 | process.exit(); 12 | } 13 | 14 | // Execute CLI with one argument 15 | if (args.length === 3) { 16 | goGitIt(args[args.length - 1]); 17 | } 18 | 19 | // Execute CLI with two argument 20 | if (args.length === 4) { 21 | goGitIt(args[args.length - 2], args[args.length - 1]); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /src/download-main-repo.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import fs from 'fs'; 3 | import { exec as execCallback } from 'child_process'; 4 | import util from 'util'; 5 | import pullSource from './pull-source'; 6 | 7 | const exec = util.promisify(execCallback); 8 | const mkdir = util.promisify(fs.mkdir); 9 | 10 | interface DownloadMainRepo { 11 | owner: string; 12 | project: string; 13 | } 14 | 15 | export default async function downloadMainRepo( 16 | outputDirectory: string, 17 | { owner, project }: DownloadMainRepo, 18 | ) { 19 | const projectPath = path.join(outputDirectory, project); 20 | 21 | await mkdir(projectPath, { recursive: true }); 22 | 23 | // Execute git commands in the project directory 24 | await exec('git init --quiet', { cwd: projectPath }); 25 | await exec(`git remote add origin https://github.com/${owner}/${project}`, { 26 | cwd: projectPath, 27 | }); 28 | 29 | // Try to pull from 'main' first, then fallback to 'master' 30 | const branches = ['main', 'master']; 31 | let success = false; 32 | 33 | for (const branch of branches) { 34 | try { 35 | await exec(pullSource(branch), { cwd: projectPath }); 36 | success = true; 37 | break; // Exit the loop on success 38 | } catch (error) { 39 | console.log( 40 | `Failed to pull using branch '${branch}'. Trying next option...`, 41 | ); 42 | } 43 | } 44 | 45 | if (!success) { 46 | console.error( 47 | 'Error: Could not determine the default branch or failed to pull from it.', 48 | ); 49 | process.exit(1); 50 | } 51 | 52 | // Clean up .git directory 53 | await exec(`rm -rf .git`, { cwd: projectPath }); 54 | } 55 | -------------------------------------------------------------------------------- /src/download-partial-repo.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import fs from 'fs'; 3 | import { exec as execCallback } from 'child_process'; 4 | import util from 'util'; 5 | import pullSource from './pull-source'; 6 | 7 | const exec = util.promisify(execCallback); 8 | const mkdir = util.promisify(fs.mkdir); 9 | const writeFile = util.promisify(fs.writeFile); 10 | const rm = util.promisify(fs.rm); 11 | const rename = util.promisify(fs.rename); 12 | 13 | export default async function downloadPartialRepo( 14 | outputDirectory: string, 15 | { 16 | owner, 17 | project, 18 | filePath, 19 | branch, 20 | }: { owner: string; project: string; filePath: string; branch: string }, 21 | ) { 22 | const tempDownloadName = '.go-git-it-temp-folder'; 23 | const tempDownloadPath = path.join(outputDirectory, tempDownloadName); 24 | 25 | // Check and remove any existing .go-git-it-temp-folder 26 | if (fs.existsSync(tempDownloadPath)) { 27 | console.log(`Removing existing ${tempDownloadName}...`); 28 | await rm(tempDownloadPath, { recursive: true, force: true }); 29 | } 30 | 31 | await mkdir(tempDownloadPath, { recursive: true }); 32 | 33 | await exec('git init --quiet', { cwd: tempDownloadPath }); 34 | await exec(`git remote add origin https://github.com/${owner}/${project}`, { 35 | cwd: tempDownloadPath, 36 | }); 37 | 38 | await exec('git config core.sparseCheckout true', { cwd: tempDownloadPath }); 39 | 40 | const isFile = path.extname(filePath) !== ''; 41 | const sparsePath = isFile ? filePath : `${filePath}/*`; 42 | await writeFile( 43 | path.join(tempDownloadPath, '.git/info/sparse-checkout'), 44 | sparsePath, 45 | ); 46 | 47 | try { 48 | await exec(pullSource(branch), { cwd: tempDownloadPath }); 49 | const destinationPath = path.join(outputDirectory, path.basename(filePath)); 50 | await rename(path.join(tempDownloadPath, filePath), destinationPath); 51 | } catch (error) { 52 | console.error('Error pulling git repository:', error); 53 | process.exit(1); 54 | } finally { 55 | if (fs.existsSync(tempDownloadPath)) { 56 | await rm(tempDownloadPath, { recursive: true, force: true }); 57 | } 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /src/get-data.ts: -------------------------------------------------------------------------------- 1 | const NO_BRANCH_FOUND = -1; 2 | 3 | export function getOwner(urlData: string[]) { 4 | return urlData[1]; 5 | } 6 | 7 | export function getProject(urlData: string[]) { 8 | return urlData[2]; 9 | } 10 | 11 | export function getFilePath(urlData: string[]) { 12 | const branchIndex = urlData.findIndex( 13 | (data) => data === 'blob' || data === 'tree', 14 | ); 15 | 16 | if (branchIndex !== NO_BRANCH_FOUND) { 17 | return urlData.slice(branchIndex + 2).join('/'); 18 | } 19 | 20 | return urlData.slice(3).join('/'); 21 | } 22 | 23 | export function getBranch(urlData: string[]) { 24 | const branchIndex = urlData.findIndex( 25 | (data) => data === 'blob' || data === 'tree', 26 | ); 27 | 28 | if (branchIndex !== NO_BRANCH_FOUND) { 29 | return urlData[branchIndex + 1]; 30 | } 31 | 32 | // Assume 'main' 33 | return 'main'; 34 | } 35 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | import * as getData from './get-data'; 4 | import addProgressBar from './add-progress-bar'; 5 | import downloadMainRepo from './download-main-repo'; 6 | import downloadPartialRepo from './download-partial-repo'; 7 | import cli from './cli'; 8 | 9 | async function cloneRemote( 10 | outputDirectory: string, 11 | options: { 12 | filePath: string; 13 | owner: string; 14 | project: string; 15 | isMainRepo: boolean; 16 | branch: string; 17 | }, 18 | ) { 19 | const { owner, project, isMainRepo } = options; 20 | 21 | if (isMainRepo) { 22 | await downloadMainRepo(outputDirectory, { owner, project }); 23 | } else { 24 | await downloadPartialRepo(outputDirectory, options); 25 | } 26 | } 27 | 28 | async function goGitIt( 29 | gitURL: string, 30 | outputDirectory?: string, 31 | text?: string, 32 | ) { 33 | const urlData = new URL(gitURL).pathname.split('/'); 34 | const remoteInfo = { 35 | owner: getData.getOwner(urlData), 36 | project: getData.getProject(urlData), 37 | filePath: getData.getFilePath(urlData), 38 | branch: getData.getBranch(urlData), 39 | }; 40 | 41 | const filePath = remoteInfo.filePath || remoteInfo.project; 42 | const isMainRepo = filePath === remoteInfo.project; 43 | 44 | // Output directory defaults to working directory 45 | const outDir = outputDirectory || process.cwd(); 46 | const remoteSource = `@${remoteInfo.owner}/${remoteInfo.project} `; 47 | await addProgressBar( 48 | text || `Downloading ${filePath} from ${remoteSource}`, 49 | async () => { 50 | await cloneRemote(outDir, { ...remoteInfo, filePath, isMainRepo }); 51 | }, 52 | ); 53 | 54 | if (!text) { 55 | console.log(`Success! Data downloaded to ${outDir + '/' + filePath}`); 56 | } 57 | } 58 | 59 | // Execute CLI if requested 60 | if (import.meta.url === `file://${process.argv[1]}`) { 61 | cli(goGitIt); 62 | } 63 | 64 | // Export as a node module as well 65 | export default goGitIt; 66 | -------------------------------------------------------------------------------- /src/pull-source.ts: -------------------------------------------------------------------------------- 1 | export default function pullSource(branch: string) { 2 | return `git pull origin --quiet ${branch} --depth 1`; 3 | } 4 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://json.schemastore.org/tsconfig", 3 | "compilerOptions": { 4 | "lib": ["ES2021"], 5 | "module": "ESNext", 6 | "noEmit": true, 7 | "strict": true, 8 | "skipLibCheck": true, 9 | "isolatedModules": true, 10 | "resolveJsonModule": true, 11 | "moduleResolution": "bundler", 12 | "useDefineForClassFields": true, 13 | "allowImportingTsExtensions": true 14 | }, 15 | "include": ["src"] 16 | } 17 | -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vitest/config'; 2 | 3 | export default defineConfig({ 4 | test: { 5 | globals: true, 6 | environment: 'node', 7 | coverage: { 8 | provider: 'v8', 9 | reporter: ['text', 'json', 'html'], 10 | }, 11 | }, 12 | }); 13 | --------------------------------------------------------------------------------