├── .github ├── dependabot.yml └── workflows │ └── main.yml ├── .gitignore ├── LICENSE ├── README.md ├── biome.json ├── package.json ├── pnpm-lock.yaml ├── src ├── index.ts └── parseCompilerLog.ts ├── test ├── index.test.ts └── parseCompilerLog.test.ts ├── tsconfig.json ├── tsup.config.ts └── vitest.config.ts /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: github-actions 4 | directory: / 5 | schedule: 6 | interval: weekly 7 | - package-ecosystem: npm 8 | directory: / 9 | schedule: 10 | interval: weekly 11 | groups: 12 | minor-and-patch: 13 | applies-to: version-updates 14 | patterns: 15 | - "*" 16 | update-types: 17 | - "patch" 18 | - "minor" 19 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push, pull_request] 4 | 5 | jobs: 6 | build: 7 | name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }} 8 | 9 | strategy: 10 | matrix: 11 | node: [18, 20, 22] 12 | os: [ubuntu-latest, windows-latest, macos-latest] 13 | fail-fast: false 14 | 15 | runs-on: ${{ matrix.os }} 16 | 17 | steps: 18 | - name: Set git to use LF 19 | run: | 20 | git config --global core.autocrlf false 21 | git config --global core.eol lf 22 | 23 | - name: Checkout repo 24 | uses: actions/checkout@v4 25 | 26 | - uses: pnpm/action-setup@v4 27 | 28 | - name: Set-up Node.js ${{ matrix.node }} 29 | uses: actions/setup-node@v4 30 | with: 31 | node-version: ${{ matrix.node }} 32 | check-latest: true 33 | cache: pnpm 34 | 35 | - name: Install dependencies 36 | run: pnpm install --frozen-lockfile 37 | 38 | - name: CI checks with Biome 39 | run: pnpm run ci 40 | 41 | - name: Typecheck 42 | run: pnpm run typecheck 43 | 44 | - name: Test 45 | run: pnpm run test -- --coverage 46 | 47 | - name: Build 48 | run: pnpm run build 49 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | .DS_Store 3 | node_modules 4 | dist 5 | coverage 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Jihchi Lee 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # @jihchi/vite-plugin-rescript 2 | 3 | [![Workflows - CI][workflows-ci-shield]][workflows-ci-url] 4 | [![npm package][npm-package-shield]][npm-package-url] 5 | ![npm download per month][npm-download-shield] 6 | [![npm license][npm-licence-shield]](./LICENSE) 7 | 8 | Integrate ReScript with Vite by: 9 | 10 | - Starting ReScript compilation automatically 11 | - Showing HMR overlay for ReScript compiler errors 12 | - Importing `.res` files directly (see [Using Loader](#using-loader)) 13 | 14 | ## Getting Started 15 | 16 | > If you are looking for a template to quickly start a project using Vite, ReScript and React, take a look at [vitejs-template-react-rescript](https://github.com/jihchi/vitejs-template-react-rescript), the template depends on this plugin. 17 | 18 | ```sh 19 | # npm 20 | npm i -D @jihchi/vite-plugin-rescript 21 | 22 | # yarn 23 | yarn add -D @jihchi/vite-plugin-rescript 24 | 25 | # pnpm 26 | pnpm i -D @jihchi/vite-plugin-rescript 27 | ``` 28 | 29 | Configure your vite plugin in `vite.config.ts`: 30 | 31 | ```js 32 | import { defineConfig } from 'vite'; 33 | import createReScriptPlugin from '@jihchi/vite-plugin-rescript'; 34 | 35 | export default defineConfig({ 36 | plugins: [createReScriptPlugin()], 37 | }); 38 | ``` 39 | 40 | If you're using `require` syntax: 41 | 42 | ```js 43 | const { 44 | default: createReScriptPlugin, 45 | } = require('@jihchi/vite-plugin-rescript'); 46 | ``` 47 | 48 | ## Using Loader 49 | 50 | The plugin comes with support for loading `.res` files directly. This is optional and in most cases not necessary, 51 | but can be useful in combination with ["in-source": false](https://rescript-lang.org/docs/manual/latest/build-configuration#package-specs). 52 | When using `"in-source": false` (without the loader), importing local files using relative paths is troublesome. 53 | Take for example the following code: 54 | 55 | ```res 56 | %%raw(`import "./local.css"`) 57 | @module("./local.js") external runSomeJs: unit => unit = "default" 58 | ``` 59 | 60 | The bundler will fail when reaching this file, since the imports are resolved relative to the generated JS file (which resides in `lib`), 61 | but the `.css` and `.js` files are not copied into this directory. By utilizing the loader it no longer fails since the bundler will 62 | resolve the files relative to the `.res` file instead. 63 | 64 | ### Configuration 65 | 66 | The loader is configured to support `lib/es6` output with `.bs.js` suffix by default. This can be 67 | changed by providing an options object to the plugin: 68 | 69 | ```js 70 | export default defineConfig({ 71 | plugins: [ 72 | createReScriptPlugin({ 73 | loader: { 74 | output: './lib/js', 75 | suffix: '.mjs', 76 | }, 77 | silent: false, 78 | rewatch: false, 79 | }), 80 | ], 81 | }); 82 | ``` 83 | 84 | _Note: It is recommended to use `.bs.js` suffix since the loader cannot otherwise distinguish 85 | between imports of regular JS files and those that were generated by the ReScript compiler._ 86 | 87 | _Note: Using es6-global module format may cause issues with imports of ReScript node modules, 88 | since the paths to the node_modules will be generated as relative to the `lib` folder._ 89 | 90 | ### Setup 91 | 92 | For HTML entry points, it must be imported using inline JS: 93 | 94 | ```html 95 | 96 | 97 | 98 | 99 | 100 | 101 | Vite App 102 | 103 | 104 |
105 | 108 | 109 | 110 | ``` 111 | 112 | If using Vite with library mode, just use the `.res` as entry point: 113 | 114 | ```js 115 | import { defineConfig } from 'vite'; 116 | import createReScriptPlugin from '@jihchi/vite-plugin-rescript'; 117 | 118 | export default defineConfig({ 119 | plugins: [createReScriptPlugin()], 120 | build: { 121 | lib: { 122 | entry: 'src/Main.res', 123 | }, 124 | }, 125 | }); 126 | ``` 127 | 128 | ## Contributors 129 | 130 | Many thanks for your help! 131 | 132 | 133 | 134 | 135 | 136 | The image of contributors is made with [contrib.rocks](https://contrib.rocks). 137 | 138 | [workflows-ci-shield]: https://github.com/jihchi/vite-plugin-rescript/actions/workflows/main.yml/badge.svg 139 | [workflows-ci-url]: https://github.com/jihchi/vite-plugin-rescript/actions/workflows/main.yml 140 | [npm-package-shield]: https://img.shields.io/npm/v/@jihchi/vite-plugin-rescript 141 | [npm-package-url]: https://www.npmjs.com/package/@jihchi/vite-plugin-rescript 142 | [npm-download-shield]: https://img.shields.io/npm/dm/@jihchi/vite-plugin-rescript 143 | [npm-licence-shield]: https://img.shields.io/npm/l/@jihchi/vite-plugin-rescript 144 | -------------------------------------------------------------------------------- /biome.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "node_modules/@biomejs/biome/configuration_schema.json", 3 | "files": { 4 | "ignore": ["package.json", "pnpm-lock.yaml"] 5 | }, 6 | "formatter": { 7 | "enabled": true, 8 | "indentStyle": "space" 9 | }, 10 | "javascript": { 11 | "formatter": { 12 | "quoteStyle": "single" 13 | } 14 | }, 15 | "linter": { 16 | "enabled": true, 17 | "rules": { 18 | "recommended": true 19 | } 20 | }, 21 | "organizeImports": { 22 | "enabled": true 23 | }, 24 | "vcs": { 25 | "clientKind": "git", 26 | "enabled": true, 27 | "useIgnoreFile": true 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@jihchi/vite-plugin-rescript", 3 | "version": "7.0.0", 4 | "keywords": [ 5 | "rollup-plugin", 6 | "vite-plugin", 7 | "ReScript", 8 | "ReasonML", 9 | "BuckleScript" 10 | ], 11 | "homepage": "https://github.com/jihchi/vite-plugin-rescript", 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/jihchi/vite-plugin-rescript.git" 15 | }, 16 | "license": "MIT", 17 | "author": "jihchi", 18 | "type": "module", 19 | "exports": { 20 | ".": { 21 | "import": { 22 | "types": "./dist/index.d.ts", 23 | "default": "./dist/index.js" 24 | }, 25 | "require": { 26 | "types": "./dist/index.d.cts", 27 | "default": "./dist/index.cjs" 28 | } 29 | } 30 | }, 31 | "main": "./dist/index.cjs", 32 | "module": "./dist/index.js", 33 | "types": "./dist/index.d.ts", 34 | "files": [ 35 | "dist" 36 | ], 37 | "scripts": { 38 | "prebuild": "pnpm clean", 39 | "build": "tsup", 40 | "ci": "biome ci .", 41 | "clean": "rimraf dist", 42 | "format": "sort-package-json && biome format --write .", 43 | "lint": "biome lint .", 44 | "prepack": "pnpm build", 45 | "release": "np", 46 | "start": "pnpm build -- --watch", 47 | "test": "vitest run", 48 | "typecheck": "tsc" 49 | }, 50 | "dependencies": { 51 | "chalk": "^5.4.1", 52 | "execa": "^9.6.0", 53 | "npm-run-path": "^6.0.0" 54 | }, 55 | "devDependencies": { 56 | "@biomejs/biome": "^1.7.1", 57 | "@sindresorhus/tsconfig": "^7.0.0", 58 | "@types/node": "^22.15.29", 59 | "@vitest/coverage-v8": "^2.1.4", 60 | "np": "*", 61 | "rimraf": "^6.0.1", 62 | "sort-package-json": "^3.2.1", 63 | "tsup": "^8.5.0", 64 | "typescript": "^5.8.3", 65 | "vite": "^6.3.5", 66 | "vitest": "^2.1.4" 67 | }, 68 | "peerDependencies": { 69 | "rescript": ">=9", 70 | "vite": ">=5.1.0" 71 | }, 72 | "packageManager": "pnpm@10.6.5", 73 | "engines": { 74 | "node": ">=18.0" 75 | }, 76 | "pnpm": { 77 | "onlyBuiltDependencies": [ 78 | "@biomejs/biome", 79 | "esbuild", 80 | "rescript" 81 | ] 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | chalk: 12 | specifier: ^5.4.1 13 | version: 5.4.1 14 | execa: 15 | specifier: ^9.6.0 16 | version: 9.6.0 17 | npm-run-path: 18 | specifier: ^6.0.0 19 | version: 6.0.0 20 | rescript: 21 | specifier: '>=9' 22 | version: 11.1.4 23 | devDependencies: 24 | '@biomejs/biome': 25 | specifier: ^1.7.1 26 | version: 1.9.4 27 | '@sindresorhus/tsconfig': 28 | specifier: ^7.0.0 29 | version: 7.0.0 30 | '@types/node': 31 | specifier: ^22.15.29 32 | version: 22.15.29 33 | '@vitest/coverage-v8': 34 | specifier: ^2.1.4 35 | version: 2.1.9(vitest@2.1.9(@types/node@22.15.29)) 36 | np: 37 | specifier: '*' 38 | version: 10.2.0(@types/node@22.15.29)(typescript@5.8.3) 39 | rimraf: 40 | specifier: ^6.0.1 41 | version: 6.0.1 42 | sort-package-json: 43 | specifier: ^3.2.1 44 | version: 3.2.1 45 | tsup: 46 | specifier: ^8.5.0 47 | version: 8.5.0(postcss@8.5.3)(typescript@5.8.3) 48 | typescript: 49 | specifier: ^5.8.3 50 | version: 5.8.3 51 | vite: 52 | specifier: ^6.3.5 53 | version: 6.3.5(@types/node@22.15.29) 54 | vitest: 55 | specifier: ^2.1.4 56 | version: 2.1.9(@types/node@22.15.29) 57 | 58 | packages: 59 | 60 | '@ampproject/remapping@2.3.0': 61 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 62 | engines: {node: '>=6.0.0'} 63 | 64 | '@babel/code-frame@7.26.2': 65 | resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} 66 | engines: {node: '>=6.9.0'} 67 | 68 | '@babel/helper-string-parser@7.25.9': 69 | resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} 70 | engines: {node: '>=6.9.0'} 71 | 72 | '@babel/helper-validator-identifier@7.25.9': 73 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} 74 | engines: {node: '>=6.9.0'} 75 | 76 | '@babel/parser@7.26.10': 77 | resolution: {integrity: sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==} 78 | engines: {node: '>=6.0.0'} 79 | hasBin: true 80 | 81 | '@babel/types@7.26.10': 82 | resolution: {integrity: sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==} 83 | engines: {node: '>=6.9.0'} 84 | 85 | '@bcoe/v8-coverage@0.2.3': 86 | resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} 87 | 88 | '@biomejs/biome@1.9.4': 89 | resolution: {integrity: sha512-1rkd7G70+o9KkTn5KLmDYXihGoTaIGO9PIIN2ZB7UJxFrWw04CZHPYiMRjYsaDvVV7hP1dYNRLxSANLaBFGpog==} 90 | engines: {node: '>=14.21.3'} 91 | hasBin: true 92 | 93 | '@biomejs/cli-darwin-arm64@1.9.4': 94 | resolution: {integrity: sha512-bFBsPWrNvkdKrNCYeAp+xo2HecOGPAy9WyNyB/jKnnedgzl4W4Hb9ZMzYNbf8dMCGmUdSavlYHiR01QaYR58cw==} 95 | engines: {node: '>=14.21.3'} 96 | cpu: [arm64] 97 | os: [darwin] 98 | 99 | '@biomejs/cli-darwin-x64@1.9.4': 100 | resolution: {integrity: sha512-ngYBh/+bEedqkSevPVhLP4QfVPCpb+4BBe2p7Xs32dBgs7rh9nY2AIYUL6BgLw1JVXV8GlpKmb/hNiuIxfPfZg==} 101 | engines: {node: '>=14.21.3'} 102 | cpu: [x64] 103 | os: [darwin] 104 | 105 | '@biomejs/cli-linux-arm64-musl@1.9.4': 106 | resolution: {integrity: sha512-v665Ct9WCRjGa8+kTr0CzApU0+XXtRgwmzIf1SeKSGAv+2scAlW6JR5PMFo6FzqqZ64Po79cKODKf3/AAmECqA==} 107 | engines: {node: '>=14.21.3'} 108 | cpu: [arm64] 109 | os: [linux] 110 | 111 | '@biomejs/cli-linux-arm64@1.9.4': 112 | resolution: {integrity: sha512-fJIW0+LYujdjUgJJuwesP4EjIBl/N/TcOX3IvIHJQNsAqvV2CHIogsmA94BPG6jZATS4Hi+xv4SkBBQSt1N4/g==} 113 | engines: {node: '>=14.21.3'} 114 | cpu: [arm64] 115 | os: [linux] 116 | 117 | '@biomejs/cli-linux-x64-musl@1.9.4': 118 | resolution: {integrity: sha512-gEhi/jSBhZ2m6wjV530Yy8+fNqG8PAinM3oV7CyO+6c3CEh16Eizm21uHVsyVBEB6RIM8JHIl6AGYCv6Q6Q9Tg==} 119 | engines: {node: '>=14.21.3'} 120 | cpu: [x64] 121 | os: [linux] 122 | 123 | '@biomejs/cli-linux-x64@1.9.4': 124 | resolution: {integrity: sha512-lRCJv/Vi3Vlwmbd6K+oQ0KhLHMAysN8lXoCI7XeHlxaajk06u7G+UsFSO01NAs5iYuWKmVZjmiOzJ0OJmGsMwg==} 125 | engines: {node: '>=14.21.3'} 126 | cpu: [x64] 127 | os: [linux] 128 | 129 | '@biomejs/cli-win32-arm64@1.9.4': 130 | resolution: {integrity: sha512-tlbhLk+WXZmgwoIKwHIHEBZUwxml7bRJgk0X2sPyNR3S93cdRq6XulAZRQJ17FYGGzWne0fgrXBKpl7l4M87Hg==} 131 | engines: {node: '>=14.21.3'} 132 | cpu: [arm64] 133 | os: [win32] 134 | 135 | '@biomejs/cli-win32-x64@1.9.4': 136 | resolution: {integrity: sha512-8Y5wMhVIPaWe6jw2H+KlEm4wP/f7EW3810ZLmDlrEEy5KvBsb9ECEfu/kMWD484ijfQ8+nIi0giMgu9g1UAuuA==} 137 | engines: {node: '>=14.21.3'} 138 | cpu: [x64] 139 | os: [win32] 140 | 141 | '@esbuild/aix-ppc64@0.21.5': 142 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 143 | engines: {node: '>=12'} 144 | cpu: [ppc64] 145 | os: [aix] 146 | 147 | '@esbuild/aix-ppc64@0.25.4': 148 | resolution: {integrity: sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==} 149 | engines: {node: '>=18'} 150 | cpu: [ppc64] 151 | os: [aix] 152 | 153 | '@esbuild/android-arm64@0.21.5': 154 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 155 | engines: {node: '>=12'} 156 | cpu: [arm64] 157 | os: [android] 158 | 159 | '@esbuild/android-arm64@0.25.4': 160 | resolution: {integrity: sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==} 161 | engines: {node: '>=18'} 162 | cpu: [arm64] 163 | os: [android] 164 | 165 | '@esbuild/android-arm@0.21.5': 166 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 167 | engines: {node: '>=12'} 168 | cpu: [arm] 169 | os: [android] 170 | 171 | '@esbuild/android-arm@0.25.4': 172 | resolution: {integrity: sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==} 173 | engines: {node: '>=18'} 174 | cpu: [arm] 175 | os: [android] 176 | 177 | '@esbuild/android-x64@0.21.5': 178 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 179 | engines: {node: '>=12'} 180 | cpu: [x64] 181 | os: [android] 182 | 183 | '@esbuild/android-x64@0.25.4': 184 | resolution: {integrity: sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==} 185 | engines: {node: '>=18'} 186 | cpu: [x64] 187 | os: [android] 188 | 189 | '@esbuild/darwin-arm64@0.21.5': 190 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 191 | engines: {node: '>=12'} 192 | cpu: [arm64] 193 | os: [darwin] 194 | 195 | '@esbuild/darwin-arm64@0.25.4': 196 | resolution: {integrity: sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==} 197 | engines: {node: '>=18'} 198 | cpu: [arm64] 199 | os: [darwin] 200 | 201 | '@esbuild/darwin-x64@0.21.5': 202 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 203 | engines: {node: '>=12'} 204 | cpu: [x64] 205 | os: [darwin] 206 | 207 | '@esbuild/darwin-x64@0.25.4': 208 | resolution: {integrity: sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==} 209 | engines: {node: '>=18'} 210 | cpu: [x64] 211 | os: [darwin] 212 | 213 | '@esbuild/freebsd-arm64@0.21.5': 214 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 215 | engines: {node: '>=12'} 216 | cpu: [arm64] 217 | os: [freebsd] 218 | 219 | '@esbuild/freebsd-arm64@0.25.4': 220 | resolution: {integrity: sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==} 221 | engines: {node: '>=18'} 222 | cpu: [arm64] 223 | os: [freebsd] 224 | 225 | '@esbuild/freebsd-x64@0.21.5': 226 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 227 | engines: {node: '>=12'} 228 | cpu: [x64] 229 | os: [freebsd] 230 | 231 | '@esbuild/freebsd-x64@0.25.4': 232 | resolution: {integrity: sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==} 233 | engines: {node: '>=18'} 234 | cpu: [x64] 235 | os: [freebsd] 236 | 237 | '@esbuild/linux-arm64@0.21.5': 238 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 239 | engines: {node: '>=12'} 240 | cpu: [arm64] 241 | os: [linux] 242 | 243 | '@esbuild/linux-arm64@0.25.4': 244 | resolution: {integrity: sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==} 245 | engines: {node: '>=18'} 246 | cpu: [arm64] 247 | os: [linux] 248 | 249 | '@esbuild/linux-arm@0.21.5': 250 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 251 | engines: {node: '>=12'} 252 | cpu: [arm] 253 | os: [linux] 254 | 255 | '@esbuild/linux-arm@0.25.4': 256 | resolution: {integrity: sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==} 257 | engines: {node: '>=18'} 258 | cpu: [arm] 259 | os: [linux] 260 | 261 | '@esbuild/linux-ia32@0.21.5': 262 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 263 | engines: {node: '>=12'} 264 | cpu: [ia32] 265 | os: [linux] 266 | 267 | '@esbuild/linux-ia32@0.25.4': 268 | resolution: {integrity: sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==} 269 | engines: {node: '>=18'} 270 | cpu: [ia32] 271 | os: [linux] 272 | 273 | '@esbuild/linux-loong64@0.21.5': 274 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 275 | engines: {node: '>=12'} 276 | cpu: [loong64] 277 | os: [linux] 278 | 279 | '@esbuild/linux-loong64@0.25.4': 280 | resolution: {integrity: sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==} 281 | engines: {node: '>=18'} 282 | cpu: [loong64] 283 | os: [linux] 284 | 285 | '@esbuild/linux-mips64el@0.21.5': 286 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 287 | engines: {node: '>=12'} 288 | cpu: [mips64el] 289 | os: [linux] 290 | 291 | '@esbuild/linux-mips64el@0.25.4': 292 | resolution: {integrity: sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==} 293 | engines: {node: '>=18'} 294 | cpu: [mips64el] 295 | os: [linux] 296 | 297 | '@esbuild/linux-ppc64@0.21.5': 298 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 299 | engines: {node: '>=12'} 300 | cpu: [ppc64] 301 | os: [linux] 302 | 303 | '@esbuild/linux-ppc64@0.25.4': 304 | resolution: {integrity: sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==} 305 | engines: {node: '>=18'} 306 | cpu: [ppc64] 307 | os: [linux] 308 | 309 | '@esbuild/linux-riscv64@0.21.5': 310 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 311 | engines: {node: '>=12'} 312 | cpu: [riscv64] 313 | os: [linux] 314 | 315 | '@esbuild/linux-riscv64@0.25.4': 316 | resolution: {integrity: sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==} 317 | engines: {node: '>=18'} 318 | cpu: [riscv64] 319 | os: [linux] 320 | 321 | '@esbuild/linux-s390x@0.21.5': 322 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 323 | engines: {node: '>=12'} 324 | cpu: [s390x] 325 | os: [linux] 326 | 327 | '@esbuild/linux-s390x@0.25.4': 328 | resolution: {integrity: sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==} 329 | engines: {node: '>=18'} 330 | cpu: [s390x] 331 | os: [linux] 332 | 333 | '@esbuild/linux-x64@0.21.5': 334 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 335 | engines: {node: '>=12'} 336 | cpu: [x64] 337 | os: [linux] 338 | 339 | '@esbuild/linux-x64@0.25.4': 340 | resolution: {integrity: sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==} 341 | engines: {node: '>=18'} 342 | cpu: [x64] 343 | os: [linux] 344 | 345 | '@esbuild/netbsd-arm64@0.25.4': 346 | resolution: {integrity: sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==} 347 | engines: {node: '>=18'} 348 | cpu: [arm64] 349 | os: [netbsd] 350 | 351 | '@esbuild/netbsd-x64@0.21.5': 352 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 353 | engines: {node: '>=12'} 354 | cpu: [x64] 355 | os: [netbsd] 356 | 357 | '@esbuild/netbsd-x64@0.25.4': 358 | resolution: {integrity: sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==} 359 | engines: {node: '>=18'} 360 | cpu: [x64] 361 | os: [netbsd] 362 | 363 | '@esbuild/openbsd-arm64@0.25.4': 364 | resolution: {integrity: sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==} 365 | engines: {node: '>=18'} 366 | cpu: [arm64] 367 | os: [openbsd] 368 | 369 | '@esbuild/openbsd-x64@0.21.5': 370 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 371 | engines: {node: '>=12'} 372 | cpu: [x64] 373 | os: [openbsd] 374 | 375 | '@esbuild/openbsd-x64@0.25.4': 376 | resolution: {integrity: sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==} 377 | engines: {node: '>=18'} 378 | cpu: [x64] 379 | os: [openbsd] 380 | 381 | '@esbuild/sunos-x64@0.21.5': 382 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 383 | engines: {node: '>=12'} 384 | cpu: [x64] 385 | os: [sunos] 386 | 387 | '@esbuild/sunos-x64@0.25.4': 388 | resolution: {integrity: sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==} 389 | engines: {node: '>=18'} 390 | cpu: [x64] 391 | os: [sunos] 392 | 393 | '@esbuild/win32-arm64@0.21.5': 394 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 395 | engines: {node: '>=12'} 396 | cpu: [arm64] 397 | os: [win32] 398 | 399 | '@esbuild/win32-arm64@0.25.4': 400 | resolution: {integrity: sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==} 401 | engines: {node: '>=18'} 402 | cpu: [arm64] 403 | os: [win32] 404 | 405 | '@esbuild/win32-ia32@0.21.5': 406 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 407 | engines: {node: '>=12'} 408 | cpu: [ia32] 409 | os: [win32] 410 | 411 | '@esbuild/win32-ia32@0.25.4': 412 | resolution: {integrity: sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==} 413 | engines: {node: '>=18'} 414 | cpu: [ia32] 415 | os: [win32] 416 | 417 | '@esbuild/win32-x64@0.21.5': 418 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 419 | engines: {node: '>=12'} 420 | cpu: [x64] 421 | os: [win32] 422 | 423 | '@esbuild/win32-x64@0.25.4': 424 | resolution: {integrity: sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==} 425 | engines: {node: '>=18'} 426 | cpu: [x64] 427 | os: [win32] 428 | 429 | '@inquirer/checkbox@4.1.4': 430 | resolution: {integrity: sha512-d30576EZdApjAMceijXA5jDzRQHT/MygbC+J8I7EqA6f/FRpYxlRtRJbHF8gHeWYeSdOuTEJqonn7QLB1ELezA==} 431 | engines: {node: '>=18'} 432 | peerDependencies: 433 | '@types/node': '>=18' 434 | peerDependenciesMeta: 435 | '@types/node': 436 | optional: true 437 | 438 | '@inquirer/confirm@5.1.8': 439 | resolution: {integrity: sha512-dNLWCYZvXDjO3rnQfk2iuJNL4Ivwz/T2+C3+WnNfJKsNGSuOs3wAo2F6e0p946gtSAk31nZMfW+MRmYaplPKsg==} 440 | engines: {node: '>=18'} 441 | peerDependencies: 442 | '@types/node': '>=18' 443 | peerDependenciesMeta: 444 | '@types/node': 445 | optional: true 446 | 447 | '@inquirer/core@10.1.9': 448 | resolution: {integrity: sha512-sXhVB8n20NYkUBfDYgizGHlpRVaCRjtuzNZA6xpALIUbkgfd2Hjz+DfEN6+h1BRnuxw0/P4jCIMjMsEOAMwAJw==} 449 | engines: {node: '>=18'} 450 | peerDependencies: 451 | '@types/node': '>=18' 452 | peerDependenciesMeta: 453 | '@types/node': 454 | optional: true 455 | 456 | '@inquirer/editor@4.2.9': 457 | resolution: {integrity: sha512-8HjOppAxO7O4wV1ETUlJFg6NDjp/W2NP5FB9ZPAcinAlNT4ZIWOLe2pUVwmmPRSV0NMdI5r/+lflN55AwZOKSw==} 458 | engines: {node: '>=18'} 459 | peerDependencies: 460 | '@types/node': '>=18' 461 | peerDependenciesMeta: 462 | '@types/node': 463 | optional: true 464 | 465 | '@inquirer/expand@4.0.11': 466 | resolution: {integrity: sha512-OZSUW4hFMW2TYvX/Sv+NnOZgO8CHT2TU1roUCUIF2T+wfw60XFRRp9MRUPCT06cRnKL+aemt2YmTWwt7rOrNEA==} 467 | engines: {node: '>=18'} 468 | peerDependencies: 469 | '@types/node': '>=18' 470 | peerDependenciesMeta: 471 | '@types/node': 472 | optional: true 473 | 474 | '@inquirer/figures@1.0.11': 475 | resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==} 476 | engines: {node: '>=18'} 477 | 478 | '@inquirer/input@4.1.8': 479 | resolution: {integrity: sha512-WXJI16oOZ3/LiENCAxe8joniNp8MQxF6Wi5V+EBbVA0ZIOpFcL4I9e7f7cXse0HJeIPCWO8Lcgnk98juItCi7Q==} 480 | engines: {node: '>=18'} 481 | peerDependencies: 482 | '@types/node': '>=18' 483 | peerDependenciesMeta: 484 | '@types/node': 485 | optional: true 486 | 487 | '@inquirer/number@3.0.11': 488 | resolution: {integrity: sha512-pQK68CsKOgwvU2eA53AG/4npRTH2pvs/pZ2bFvzpBhrznh8Mcwt19c+nMO7LHRr3Vreu1KPhNBF3vQAKrjIulw==} 489 | engines: {node: '>=18'} 490 | peerDependencies: 491 | '@types/node': '>=18' 492 | peerDependenciesMeta: 493 | '@types/node': 494 | optional: true 495 | 496 | '@inquirer/password@4.0.11': 497 | resolution: {integrity: sha512-dH6zLdv+HEv1nBs96Case6eppkRggMe8LoOTl30+Gq5Wf27AO/vHFgStTVz4aoevLdNXqwE23++IXGw4eiOXTg==} 498 | engines: {node: '>=18'} 499 | peerDependencies: 500 | '@types/node': '>=18' 501 | peerDependenciesMeta: 502 | '@types/node': 503 | optional: true 504 | 505 | '@inquirer/prompts@7.4.0': 506 | resolution: {integrity: sha512-EZiJidQOT4O5PYtqnu1JbF0clv36oW2CviR66c7ma4LsupmmQlUwmdReGKRp456OWPWMz3PdrPiYg3aCk3op2w==} 507 | engines: {node: '>=18'} 508 | peerDependencies: 509 | '@types/node': '>=18' 510 | peerDependenciesMeta: 511 | '@types/node': 512 | optional: true 513 | 514 | '@inquirer/rawlist@4.0.11': 515 | resolution: {integrity: sha512-uAYtTx0IF/PqUAvsRrF3xvnxJV516wmR6YVONOmCWJbbt87HcDHLfL9wmBQFbNJRv5kCjdYKrZcavDkH3sVJPg==} 516 | engines: {node: '>=18'} 517 | peerDependencies: 518 | '@types/node': '>=18' 519 | peerDependenciesMeta: 520 | '@types/node': 521 | optional: true 522 | 523 | '@inquirer/search@3.0.11': 524 | resolution: {integrity: sha512-9CWQT0ikYcg6Ls3TOa7jljsD7PgjcsYEM0bYE+Gkz+uoW9u8eaJCRHJKkucpRE5+xKtaaDbrND+nPDoxzjYyew==} 525 | engines: {node: '>=18'} 526 | peerDependencies: 527 | '@types/node': '>=18' 528 | peerDependenciesMeta: 529 | '@types/node': 530 | optional: true 531 | 532 | '@inquirer/select@4.1.0': 533 | resolution: {integrity: sha512-z0a2fmgTSRN+YBuiK1ROfJ2Nvrpij5lVN3gPDkQGhavdvIVGHGW29LwYZfM/j42Ai2hUghTI/uoBuTbrJk42bA==} 534 | engines: {node: '>=18'} 535 | peerDependencies: 536 | '@types/node': '>=18' 537 | peerDependenciesMeta: 538 | '@types/node': 539 | optional: true 540 | 541 | '@inquirer/type@3.0.5': 542 | resolution: {integrity: sha512-ZJpeIYYueOz/i/ONzrfof8g89kNdO2hjGuvULROo3O8rlB2CRtSseE5KeirnyE4t/thAn/EwvS/vuQeJCn+NZg==} 543 | engines: {node: '>=18'} 544 | peerDependencies: 545 | '@types/node': '>=18' 546 | peerDependenciesMeta: 547 | '@types/node': 548 | optional: true 549 | 550 | '@isaacs/cliui@8.0.2': 551 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 552 | engines: {node: '>=12'} 553 | 554 | '@istanbuljs/schema@0.1.3': 555 | resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} 556 | engines: {node: '>=8'} 557 | 558 | '@jridgewell/gen-mapping@0.3.8': 559 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} 560 | engines: {node: '>=6.0.0'} 561 | 562 | '@jridgewell/resolve-uri@3.1.2': 563 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 564 | engines: {node: '>=6.0.0'} 565 | 566 | '@jridgewell/set-array@1.2.1': 567 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 568 | engines: {node: '>=6.0.0'} 569 | 570 | '@jridgewell/sourcemap-codec@1.5.0': 571 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 572 | 573 | '@jridgewell/trace-mapping@0.3.25': 574 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 575 | 576 | '@nodelib/fs.scandir@2.1.5': 577 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 578 | engines: {node: '>= 8'} 579 | 580 | '@nodelib/fs.stat@2.0.5': 581 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 582 | engines: {node: '>= 8'} 583 | 584 | '@nodelib/fs.walk@1.2.8': 585 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 586 | engines: {node: '>= 8'} 587 | 588 | '@pkgjs/parseargs@0.11.0': 589 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 590 | engines: {node: '>=14'} 591 | 592 | '@pnpm/config.env-replace@1.1.0': 593 | resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} 594 | engines: {node: '>=12.22.0'} 595 | 596 | '@pnpm/network.ca-file@1.0.2': 597 | resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} 598 | engines: {node: '>=12.22.0'} 599 | 600 | '@pnpm/npm-conf@2.3.1': 601 | resolution: {integrity: sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==} 602 | engines: {node: '>=12'} 603 | 604 | '@rollup/rollup-android-arm-eabi@4.40.2': 605 | resolution: {integrity: sha512-JkdNEq+DFxZfUwxvB58tHMHBHVgX23ew41g1OQinthJ+ryhdRk67O31S7sYw8u2lTjHUPFxwar07BBt1KHp/hg==} 606 | cpu: [arm] 607 | os: [android] 608 | 609 | '@rollup/rollup-android-arm-eabi@4.41.0': 610 | resolution: {integrity: sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==} 611 | cpu: [arm] 612 | os: [android] 613 | 614 | '@rollup/rollup-android-arm64@4.40.2': 615 | resolution: {integrity: sha512-13unNoZ8NzUmnndhPTkWPWbX3vtHodYmy+I9kuLxN+F+l+x3LdVF7UCu8TWVMt1POHLh6oDHhnOA04n8oJZhBw==} 616 | cpu: [arm64] 617 | os: [android] 618 | 619 | '@rollup/rollup-android-arm64@4.41.0': 620 | resolution: {integrity: sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==} 621 | cpu: [arm64] 622 | os: [android] 623 | 624 | '@rollup/rollup-darwin-arm64@4.40.2': 625 | resolution: {integrity: sha512-Gzf1Hn2Aoe8VZzevHostPX23U7N5+4D36WJNHK88NZHCJr7aVMG4fadqkIf72eqVPGjGc0HJHNuUaUcxiR+N/w==} 626 | cpu: [arm64] 627 | os: [darwin] 628 | 629 | '@rollup/rollup-darwin-arm64@4.41.0': 630 | resolution: {integrity: sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==} 631 | cpu: [arm64] 632 | os: [darwin] 633 | 634 | '@rollup/rollup-darwin-x64@4.40.2': 635 | resolution: {integrity: sha512-47N4hxa01a4x6XnJoskMKTS8XZ0CZMd8YTbINbi+w03A2w4j1RTlnGHOz/P0+Bg1LaVL6ufZyNprSg+fW5nYQQ==} 636 | cpu: [x64] 637 | os: [darwin] 638 | 639 | '@rollup/rollup-darwin-x64@4.41.0': 640 | resolution: {integrity: sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==} 641 | cpu: [x64] 642 | os: [darwin] 643 | 644 | '@rollup/rollup-freebsd-arm64@4.40.2': 645 | resolution: {integrity: sha512-8t6aL4MD+rXSHHZUR1z19+9OFJ2rl1wGKvckN47XFRVO+QL/dUSpKA2SLRo4vMg7ELA8pzGpC+W9OEd1Z/ZqoQ==} 646 | cpu: [arm64] 647 | os: [freebsd] 648 | 649 | '@rollup/rollup-freebsd-arm64@4.41.0': 650 | resolution: {integrity: sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==} 651 | cpu: [arm64] 652 | os: [freebsd] 653 | 654 | '@rollup/rollup-freebsd-x64@4.40.2': 655 | resolution: {integrity: sha512-C+AyHBzfpsOEYRFjztcYUFsH4S7UsE9cDtHCtma5BK8+ydOZYgMmWg1d/4KBytQspJCld8ZIujFMAdKG1xyr4Q==} 656 | cpu: [x64] 657 | os: [freebsd] 658 | 659 | '@rollup/rollup-freebsd-x64@4.41.0': 660 | resolution: {integrity: sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==} 661 | cpu: [x64] 662 | os: [freebsd] 663 | 664 | '@rollup/rollup-linux-arm-gnueabihf@4.40.2': 665 | resolution: {integrity: sha512-de6TFZYIvJwRNjmW3+gaXiZ2DaWL5D5yGmSYzkdzjBDS3W+B9JQ48oZEsmMvemqjtAFzE16DIBLqd6IQQRuG9Q==} 666 | cpu: [arm] 667 | os: [linux] 668 | 669 | '@rollup/rollup-linux-arm-gnueabihf@4.41.0': 670 | resolution: {integrity: sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==} 671 | cpu: [arm] 672 | os: [linux] 673 | 674 | '@rollup/rollup-linux-arm-musleabihf@4.40.2': 675 | resolution: {integrity: sha512-urjaEZubdIkacKc930hUDOfQPysezKla/O9qV+O89enqsqUmQm8Xj8O/vh0gHg4LYfv7Y7UsE3QjzLQzDYN1qg==} 676 | cpu: [arm] 677 | os: [linux] 678 | 679 | '@rollup/rollup-linux-arm-musleabihf@4.41.0': 680 | resolution: {integrity: sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==} 681 | cpu: [arm] 682 | os: [linux] 683 | 684 | '@rollup/rollup-linux-arm64-gnu@4.40.2': 685 | resolution: {integrity: sha512-KlE8IC0HFOC33taNt1zR8qNlBYHj31qGT1UqWqtvR/+NuCVhfufAq9fxO8BMFC22Wu0rxOwGVWxtCMvZVLmhQg==} 686 | cpu: [arm64] 687 | os: [linux] 688 | 689 | '@rollup/rollup-linux-arm64-gnu@4.41.0': 690 | resolution: {integrity: sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==} 691 | cpu: [arm64] 692 | os: [linux] 693 | 694 | '@rollup/rollup-linux-arm64-musl@4.40.2': 695 | resolution: {integrity: sha512-j8CgxvfM0kbnhu4XgjnCWJQyyBOeBI1Zq91Z850aUddUmPeQvuAy6OiMdPS46gNFgy8gN1xkYyLgwLYZG3rBOg==} 696 | cpu: [arm64] 697 | os: [linux] 698 | 699 | '@rollup/rollup-linux-arm64-musl@4.41.0': 700 | resolution: {integrity: sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==} 701 | cpu: [arm64] 702 | os: [linux] 703 | 704 | '@rollup/rollup-linux-loongarch64-gnu@4.40.2': 705 | resolution: {integrity: sha512-Ybc/1qUampKuRF4tQXc7G7QY9YRyeVSykfK36Y5Qc5dmrIxwFhrOzqaVTNoZygqZ1ZieSWTibfFhQ5qK8jpWxw==} 706 | cpu: [loong64] 707 | os: [linux] 708 | 709 | '@rollup/rollup-linux-loongarch64-gnu@4.41.0': 710 | resolution: {integrity: sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==} 711 | cpu: [loong64] 712 | os: [linux] 713 | 714 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': 715 | resolution: {integrity: sha512-3FCIrnrt03CCsZqSYAOW/k9n625pjpuMzVfeI+ZBUSDT3MVIFDSPfSUgIl9FqUftxcUXInvFah79hE1c9abD+Q==} 716 | cpu: [ppc64] 717 | os: [linux] 718 | 719 | '@rollup/rollup-linux-powerpc64le-gnu@4.41.0': 720 | resolution: {integrity: sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==} 721 | cpu: [ppc64] 722 | os: [linux] 723 | 724 | '@rollup/rollup-linux-riscv64-gnu@4.40.2': 725 | resolution: {integrity: sha512-QNU7BFHEvHMp2ESSY3SozIkBPaPBDTsfVNGx3Xhv+TdvWXFGOSH2NJvhD1zKAT6AyuuErJgbdvaJhYVhVqrWTg==} 726 | cpu: [riscv64] 727 | os: [linux] 728 | 729 | '@rollup/rollup-linux-riscv64-gnu@4.41.0': 730 | resolution: {integrity: sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==} 731 | cpu: [riscv64] 732 | os: [linux] 733 | 734 | '@rollup/rollup-linux-riscv64-musl@4.40.2': 735 | resolution: {integrity: sha512-5W6vNYkhgfh7URiXTO1E9a0cy4fSgfE4+Hl5agb/U1sa0kjOLMLC1wObxwKxecE17j0URxuTrYZZME4/VH57Hg==} 736 | cpu: [riscv64] 737 | os: [linux] 738 | 739 | '@rollup/rollup-linux-riscv64-musl@4.41.0': 740 | resolution: {integrity: sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==} 741 | cpu: [riscv64] 742 | os: [linux] 743 | 744 | '@rollup/rollup-linux-s390x-gnu@4.40.2': 745 | resolution: {integrity: sha512-B7LKIz+0+p348JoAL4X/YxGx9zOx3sR+o6Hj15Y3aaApNfAshK8+mWZEf759DXfRLeL2vg5LYJBB7DdcleYCoQ==} 746 | cpu: [s390x] 747 | os: [linux] 748 | 749 | '@rollup/rollup-linux-s390x-gnu@4.41.0': 750 | resolution: {integrity: sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==} 751 | cpu: [s390x] 752 | os: [linux] 753 | 754 | '@rollup/rollup-linux-x64-gnu@4.40.2': 755 | resolution: {integrity: sha512-lG7Xa+BmBNwpjmVUbmyKxdQJ3Q6whHjMjzQplOs5Z+Gj7mxPtWakGHqzMqNER68G67kmCX9qX57aRsW5V0VOng==} 756 | cpu: [x64] 757 | os: [linux] 758 | 759 | '@rollup/rollup-linux-x64-gnu@4.41.0': 760 | resolution: {integrity: sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==} 761 | cpu: [x64] 762 | os: [linux] 763 | 764 | '@rollup/rollup-linux-x64-musl@4.40.2': 765 | resolution: {integrity: sha512-tD46wKHd+KJvsmije4bUskNuvWKFcTOIM9tZ/RrmIvcXnbi0YK/cKS9FzFtAm7Oxi2EhV5N2OpfFB348vSQRXA==} 766 | cpu: [x64] 767 | os: [linux] 768 | 769 | '@rollup/rollup-linux-x64-musl@4.41.0': 770 | resolution: {integrity: sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==} 771 | cpu: [x64] 772 | os: [linux] 773 | 774 | '@rollup/rollup-win32-arm64-msvc@4.40.2': 775 | resolution: {integrity: sha512-Bjv/HG8RRWLNkXwQQemdsWw4Mg+IJ29LK+bJPW2SCzPKOUaMmPEppQlu/Fqk1d7+DX3V7JbFdbkh/NMmurT6Pg==} 776 | cpu: [arm64] 777 | os: [win32] 778 | 779 | '@rollup/rollup-win32-arm64-msvc@4.41.0': 780 | resolution: {integrity: sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==} 781 | cpu: [arm64] 782 | os: [win32] 783 | 784 | '@rollup/rollup-win32-ia32-msvc@4.40.2': 785 | resolution: {integrity: sha512-dt1llVSGEsGKvzeIO76HToiYPNPYPkmjhMHhP00T9S4rDern8P2ZWvWAQUEJ+R1UdMWJ/42i/QqJ2WV765GZcA==} 786 | cpu: [ia32] 787 | os: [win32] 788 | 789 | '@rollup/rollup-win32-ia32-msvc@4.41.0': 790 | resolution: {integrity: sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==} 791 | cpu: [ia32] 792 | os: [win32] 793 | 794 | '@rollup/rollup-win32-x64-msvc@4.40.2': 795 | resolution: {integrity: sha512-bwspbWB04XJpeElvsp+DCylKfF4trJDa2Y9Go8O6A7YLX2LIKGcNK/CYImJN6ZP4DcuOHB4Utl3iCbnR62DudA==} 796 | cpu: [x64] 797 | os: [win32] 798 | 799 | '@rollup/rollup-win32-x64-msvc@4.41.0': 800 | resolution: {integrity: sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==} 801 | cpu: [x64] 802 | os: [win32] 803 | 804 | '@samverschueren/stream-to-observable@0.3.1': 805 | resolution: {integrity: sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==} 806 | engines: {node: '>=6'} 807 | peerDependencies: 808 | rxjs: '*' 809 | zen-observable: '*' 810 | peerDependenciesMeta: 811 | rxjs: 812 | optional: true 813 | zen-observable: 814 | optional: true 815 | 816 | '@sec-ant/readable-stream@0.4.1': 817 | resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} 818 | 819 | '@sindresorhus/merge-streams@2.3.0': 820 | resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} 821 | engines: {node: '>=18'} 822 | 823 | '@sindresorhus/merge-streams@4.0.0': 824 | resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} 825 | engines: {node: '>=18'} 826 | 827 | '@sindresorhus/tsconfig@7.0.0': 828 | resolution: {integrity: sha512-i5K04hLAP44Af16zmDjG07E1NHuDgCM07SJAT4gY0LZSRrWYzwt4qkLem6TIbIVh0k51RkN2bF+lP+lM5eC9fw==} 829 | engines: {node: '>=18'} 830 | 831 | '@types/estree@1.0.7': 832 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} 833 | 834 | '@types/node@22.15.29': 835 | resolution: {integrity: sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==} 836 | 837 | '@types/normalize-package-data@2.4.4': 838 | resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} 839 | 840 | '@vitest/coverage-v8@2.1.9': 841 | resolution: {integrity: sha512-Z2cOr0ksM00MpEfyVE8KXIYPEcBFxdbLSs56L8PO0QQMxt/6bDj45uQfxoc96v05KW3clk7vvgP0qfDit9DmfQ==} 842 | peerDependencies: 843 | '@vitest/browser': 2.1.9 844 | vitest: 2.1.9 845 | peerDependenciesMeta: 846 | '@vitest/browser': 847 | optional: true 848 | 849 | '@vitest/expect@2.1.9': 850 | resolution: {integrity: sha512-UJCIkTBenHeKT1TTlKMJWy1laZewsRIzYighyYiJKZreqtdxSos/S1t+ktRMQWu2CKqaarrkeszJx1cgC5tGZw==} 851 | 852 | '@vitest/mocker@2.1.9': 853 | resolution: {integrity: sha512-tVL6uJgoUdi6icpxmdrn5YNo3g3Dxv+IHJBr0GXHaEdTcw3F+cPKnsXFhli6nO+f/6SDKPHEK1UN+k+TQv0Ehg==} 854 | peerDependencies: 855 | msw: ^2.4.9 856 | vite: ^5.0.0 857 | peerDependenciesMeta: 858 | msw: 859 | optional: true 860 | vite: 861 | optional: true 862 | 863 | '@vitest/pretty-format@2.1.9': 864 | resolution: {integrity: sha512-KhRIdGV2U9HOUzxfiHmY8IFHTdqtOhIzCpd8WRdJiE7D/HUcZVD0EgQCVjm+Q9gkUXWgBvMmTtZgIG48wq7sOQ==} 865 | 866 | '@vitest/runner@2.1.9': 867 | resolution: {integrity: sha512-ZXSSqTFIrzduD63btIfEyOmNcBmQvgOVsPNPe0jYtESiXkhd8u2erDLnMxmGrDCwHCCHE7hxwRDCT3pt0esT4g==} 868 | 869 | '@vitest/snapshot@2.1.9': 870 | resolution: {integrity: sha512-oBO82rEjsxLNJincVhLhaxxZdEtV0EFHMK5Kmx5sJ6H9L183dHECjiefOAdnqpIgT5eZwT04PoggUnW88vOBNQ==} 871 | 872 | '@vitest/spy@2.1.9': 873 | resolution: {integrity: sha512-E1B35FwzXXTs9FHNK6bDszs7mtydNi5MIfUWpceJ8Xbfb1gBMscAnwLbEu+B44ed6W3XjL9/ehLPHR1fkf1KLQ==} 874 | 875 | '@vitest/utils@2.1.9': 876 | resolution: {integrity: sha512-v0psaMSkNJ3A2NMrUEHFRzJtDPFn+/VWZ5WxImB21T9fjucJRmS7xCS3ppEnARb9y11OAzaD+P2Ps+b+BGX5iQ==} 877 | 878 | acorn@8.14.1: 879 | resolution: {integrity: sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==} 880 | engines: {node: '>=0.4.0'} 881 | hasBin: true 882 | 883 | ansi-align@3.0.1: 884 | resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} 885 | 886 | ansi-escapes@3.2.0: 887 | resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} 888 | engines: {node: '>=4'} 889 | 890 | ansi-escapes@4.3.2: 891 | resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} 892 | engines: {node: '>=8'} 893 | 894 | ansi-escapes@5.0.0: 895 | resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} 896 | engines: {node: '>=12'} 897 | 898 | ansi-regex@2.1.1: 899 | resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} 900 | engines: {node: '>=0.10.0'} 901 | 902 | ansi-regex@3.0.1: 903 | resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} 904 | engines: {node: '>=4'} 905 | 906 | ansi-regex@4.1.1: 907 | resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} 908 | engines: {node: '>=6'} 909 | 910 | ansi-regex@5.0.1: 911 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 912 | engines: {node: '>=8'} 913 | 914 | ansi-regex@6.1.0: 915 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} 916 | engines: {node: '>=12'} 917 | 918 | ansi-styles@2.2.1: 919 | resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} 920 | engines: {node: '>=0.10.0'} 921 | 922 | ansi-styles@3.2.1: 923 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 924 | engines: {node: '>=4'} 925 | 926 | ansi-styles@4.3.0: 927 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 928 | engines: {node: '>=8'} 929 | 930 | ansi-styles@6.2.1: 931 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 932 | engines: {node: '>=12'} 933 | 934 | any-observable@0.3.0: 935 | resolution: {integrity: sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==} 936 | engines: {node: '>=6'} 937 | peerDependencies: 938 | rxjs: '*' 939 | zenObservable: '*' 940 | peerDependenciesMeta: 941 | rxjs: 942 | optional: true 943 | zenObservable: 944 | optional: true 945 | 946 | any-promise@1.3.0: 947 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 948 | 949 | argparse@2.0.1: 950 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 951 | 952 | assertion-error@2.0.1: 953 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 954 | engines: {node: '>=12'} 955 | 956 | atomically@2.0.3: 957 | resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==} 958 | 959 | balanced-match@1.0.2: 960 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 961 | 962 | boxen@8.0.1: 963 | resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} 964 | engines: {node: '>=18'} 965 | 966 | brace-expansion@2.0.1: 967 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 968 | 969 | braces@3.0.3: 970 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 971 | engines: {node: '>=8'} 972 | 973 | bundle-name@4.1.0: 974 | resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} 975 | engines: {node: '>=18'} 976 | 977 | bundle-require@5.1.0: 978 | resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} 979 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 980 | peerDependencies: 981 | esbuild: '>=0.18' 982 | 983 | cac@6.7.14: 984 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 985 | engines: {node: '>=8'} 986 | 987 | callsites@3.1.0: 988 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 989 | engines: {node: '>=6'} 990 | 991 | camelcase@8.0.0: 992 | resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} 993 | engines: {node: '>=16'} 994 | 995 | chai@5.2.0: 996 | resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} 997 | engines: {node: '>=12'} 998 | 999 | chalk-template@1.1.0: 1000 | resolution: {integrity: sha512-T2VJbcDuZQ0Tb2EWwSotMPJjgpy1/tGee1BTpUNsGZ/qgNjV2t7Mvu+d4600U564nbLesN1x2dPL+xii174Ekg==} 1001 | engines: {node: '>=14.16'} 1002 | 1003 | chalk@1.1.3: 1004 | resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} 1005 | engines: {node: '>=0.10.0'} 1006 | 1007 | chalk@2.4.2: 1008 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 1009 | engines: {node: '>=4'} 1010 | 1011 | chalk@4.1.2: 1012 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 1013 | engines: {node: '>=10'} 1014 | 1015 | chalk@5.4.1: 1016 | resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} 1017 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 1018 | 1019 | chardet@0.7.0: 1020 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 1021 | 1022 | check-error@2.1.1: 1023 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 1024 | engines: {node: '>= 16'} 1025 | 1026 | chokidar@4.0.3: 1027 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} 1028 | engines: {node: '>= 14.16.0'} 1029 | 1030 | cli-boxes@3.0.0: 1031 | resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} 1032 | engines: {node: '>=10'} 1033 | 1034 | cli-cursor@2.1.0: 1035 | resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} 1036 | engines: {node: '>=4'} 1037 | 1038 | cli-cursor@3.1.0: 1039 | resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} 1040 | engines: {node: '>=8'} 1041 | 1042 | cli-truncate@0.2.1: 1043 | resolution: {integrity: sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==} 1044 | engines: {node: '>=0.10.0'} 1045 | 1046 | cli-width@2.2.1: 1047 | resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} 1048 | 1049 | cli-width@3.0.0: 1050 | resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} 1051 | engines: {node: '>= 10'} 1052 | 1053 | cli-width@4.1.0: 1054 | resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} 1055 | engines: {node: '>= 12'} 1056 | 1057 | code-point-at@1.1.0: 1058 | resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} 1059 | engines: {node: '>=0.10.0'} 1060 | 1061 | color-convert@1.9.3: 1062 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 1063 | 1064 | color-convert@2.0.1: 1065 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 1066 | engines: {node: '>=7.0.0'} 1067 | 1068 | color-name@1.1.3: 1069 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 1070 | 1071 | color-name@1.1.4: 1072 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 1073 | 1074 | commander@4.1.1: 1075 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 1076 | engines: {node: '>= 6'} 1077 | 1078 | confbox@0.1.8: 1079 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 1080 | 1081 | config-chain@1.1.13: 1082 | resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} 1083 | 1084 | configstore@7.0.0: 1085 | resolution: {integrity: sha512-yk7/5PN5im4qwz0WFZW3PXnzHgPu9mX29Y8uZ3aefe2lBPC1FYttWZRcaW9fKkT0pBCJyuQ2HfbmPVaODi9jcQ==} 1086 | engines: {node: '>=18'} 1087 | 1088 | consola@3.4.2: 1089 | resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} 1090 | engines: {node: ^14.18.0 || >=16.10.0} 1091 | 1092 | cosmiconfig@8.3.6: 1093 | resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} 1094 | engines: {node: '>=14'} 1095 | peerDependencies: 1096 | typescript: '>=4.9.5' 1097 | peerDependenciesMeta: 1098 | typescript: 1099 | optional: true 1100 | 1101 | cross-spawn@7.0.6: 1102 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 1103 | engines: {node: '>= 8'} 1104 | 1105 | date-fns@1.30.1: 1106 | resolution: {integrity: sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==} 1107 | 1108 | debug@4.4.0: 1109 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 1110 | engines: {node: '>=6.0'} 1111 | peerDependencies: 1112 | supports-color: '*' 1113 | peerDependenciesMeta: 1114 | supports-color: 1115 | optional: true 1116 | 1117 | debug@4.4.1: 1118 | resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} 1119 | engines: {node: '>=6.0'} 1120 | peerDependencies: 1121 | supports-color: '*' 1122 | peerDependenciesMeta: 1123 | supports-color: 1124 | optional: true 1125 | 1126 | deep-eql@5.0.2: 1127 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} 1128 | engines: {node: '>=6'} 1129 | 1130 | deep-extend@0.6.0: 1131 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 1132 | engines: {node: '>=4.0.0'} 1133 | 1134 | default-browser-id@5.0.0: 1135 | resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} 1136 | engines: {node: '>=18'} 1137 | 1138 | default-browser@5.2.1: 1139 | resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} 1140 | engines: {node: '>=18'} 1141 | 1142 | define-lazy-prop@3.0.0: 1143 | resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} 1144 | engines: {node: '>=12'} 1145 | 1146 | del@8.0.0: 1147 | resolution: {integrity: sha512-R6ep6JJ+eOBZsBr9esiNN1gxFbZE4Q2cULkUSFumGYecAiS6qodDvcPx/sFuWHMNul7DWmrtoEOpYSm7o6tbSA==} 1148 | engines: {node: '>=18'} 1149 | 1150 | detect-indent@7.0.1: 1151 | resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} 1152 | engines: {node: '>=12.20'} 1153 | 1154 | detect-newline@4.0.1: 1155 | resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} 1156 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1157 | 1158 | dot-prop@9.0.0: 1159 | resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} 1160 | engines: {node: '>=18'} 1161 | 1162 | eastasianwidth@0.2.0: 1163 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 1164 | 1165 | elegant-spinner@1.0.1: 1166 | resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} 1167 | engines: {node: '>=0.10.0'} 1168 | 1169 | emoji-regex@10.4.0: 1170 | resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} 1171 | 1172 | emoji-regex@8.0.0: 1173 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 1174 | 1175 | emoji-regex@9.2.2: 1176 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 1177 | 1178 | error-ex@1.3.2: 1179 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 1180 | 1181 | es-module-lexer@1.6.0: 1182 | resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==} 1183 | 1184 | esbuild@0.21.5: 1185 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 1186 | engines: {node: '>=12'} 1187 | hasBin: true 1188 | 1189 | esbuild@0.25.4: 1190 | resolution: {integrity: sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==} 1191 | engines: {node: '>=18'} 1192 | hasBin: true 1193 | 1194 | escape-goat@4.0.0: 1195 | resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} 1196 | engines: {node: '>=12'} 1197 | 1198 | escape-string-regexp@1.0.5: 1199 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1200 | engines: {node: '>=0.8.0'} 1201 | 1202 | escape-string-regexp@5.0.0: 1203 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 1204 | engines: {node: '>=12'} 1205 | 1206 | estree-walker@3.0.3: 1207 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 1208 | 1209 | execa@8.0.1: 1210 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 1211 | engines: {node: '>=16.17'} 1212 | 1213 | execa@9.6.0: 1214 | resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==} 1215 | engines: {node: ^18.19.0 || >=20.5.0} 1216 | 1217 | exit-hook@4.0.0: 1218 | resolution: {integrity: sha512-Fqs7ChZm72y40wKjOFXBKg7nJZvQJmewP5/7LtePDdnah/+FH9Hp5sgMujSCMPXlxOAW2//1jrW9pnsY7o20vQ==} 1219 | engines: {node: '>=18'} 1220 | 1221 | expect-type@1.2.0: 1222 | resolution: {integrity: sha512-80F22aiJ3GLyVnS/B3HzgR6RelZVumzj9jkL0Rhz4h0xYbNW9PjlQz5h3J/SShErbXBc295vseR4/MIbVmUbeA==} 1223 | engines: {node: '>=12.0.0'} 1224 | 1225 | external-editor@3.1.0: 1226 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 1227 | engines: {node: '>=4'} 1228 | 1229 | fast-glob@3.3.3: 1230 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1231 | engines: {node: '>=8.6.0'} 1232 | 1233 | fastq@1.19.1: 1234 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1235 | 1236 | fdir@6.4.4: 1237 | resolution: {integrity: sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==} 1238 | peerDependencies: 1239 | picomatch: ^3 || ^4 1240 | peerDependenciesMeta: 1241 | picomatch: 1242 | optional: true 1243 | 1244 | figures@1.7.0: 1245 | resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==} 1246 | engines: {node: '>=0.10.0'} 1247 | 1248 | figures@2.0.0: 1249 | resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} 1250 | engines: {node: '>=4'} 1251 | 1252 | figures@3.2.0: 1253 | resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} 1254 | engines: {node: '>=8'} 1255 | 1256 | figures@6.1.0: 1257 | resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} 1258 | engines: {node: '>=18'} 1259 | 1260 | fill-range@7.1.1: 1261 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1262 | engines: {node: '>=8'} 1263 | 1264 | find-up-simple@1.0.1: 1265 | resolution: {integrity: sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==} 1266 | engines: {node: '>=18'} 1267 | 1268 | find-up@4.1.0: 1269 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} 1270 | engines: {node: '>=8'} 1271 | 1272 | fix-dts-default-cjs-exports@1.0.1: 1273 | resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} 1274 | 1275 | foreground-child@3.3.1: 1276 | resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} 1277 | engines: {node: '>=14'} 1278 | 1279 | fsevents@2.3.3: 1280 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1281 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1282 | os: [darwin] 1283 | 1284 | get-east-asian-width@1.3.0: 1285 | resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} 1286 | engines: {node: '>=18'} 1287 | 1288 | get-stream@8.0.1: 1289 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 1290 | engines: {node: '>=16'} 1291 | 1292 | get-stream@9.0.1: 1293 | resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} 1294 | engines: {node: '>=18'} 1295 | 1296 | git-hooks-list@4.1.1: 1297 | resolution: {integrity: sha512-cmP497iLq54AZnv4YRAEMnEyQ1eIn4tGKbmswqwmFV4GBnAqE8NLtWxxdXa++AalfgL5EBH4IxTPyquEuGY/jA==} 1298 | 1299 | github-url-from-git@1.5.0: 1300 | resolution: {integrity: sha512-WWOec4aRI7YAykQ9+BHmzjyNlkfJFG8QLXnDTsLz/kZefq7qkzdfo4p6fkYYMIq1aj+gZcQs/1HQhQh3DPPxlQ==} 1301 | 1302 | glob-parent@5.1.2: 1303 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1304 | engines: {node: '>= 6'} 1305 | 1306 | glob@10.4.5: 1307 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} 1308 | hasBin: true 1309 | 1310 | glob@11.0.1: 1311 | resolution: {integrity: sha512-zrQDm8XPnYEKawJScsnM0QzobJxlT/kHOOlRTio8IH/GrmxRE5fjllkzdaHclIuNjUQTJYH2xHNIGfdpJkDJUw==} 1312 | engines: {node: 20 || >=22} 1313 | hasBin: true 1314 | 1315 | global-directory@4.0.1: 1316 | resolution: {integrity: sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==} 1317 | engines: {node: '>=18'} 1318 | 1319 | globby@14.1.0: 1320 | resolution: {integrity: sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==} 1321 | engines: {node: '>=18'} 1322 | 1323 | graceful-fs@4.2.10: 1324 | resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} 1325 | 1326 | graceful-fs@4.2.11: 1327 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1328 | 1329 | has-ansi@2.0.0: 1330 | resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} 1331 | engines: {node: '>=0.10.0'} 1332 | 1333 | has-flag@3.0.0: 1334 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1335 | engines: {node: '>=4'} 1336 | 1337 | has-flag@4.0.0: 1338 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1339 | engines: {node: '>=8'} 1340 | 1341 | hosted-git-info@7.0.2: 1342 | resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} 1343 | engines: {node: ^16.14.0 || >=18.0.0} 1344 | 1345 | hosted-git-info@8.0.2: 1346 | resolution: {integrity: sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==} 1347 | engines: {node: ^18.17.0 || >=20.5.0} 1348 | 1349 | html-escaper@2.0.2: 1350 | resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} 1351 | 1352 | human-signals@5.0.0: 1353 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 1354 | engines: {node: '>=16.17.0'} 1355 | 1356 | human-signals@8.0.1: 1357 | resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} 1358 | engines: {node: '>=18.18.0'} 1359 | 1360 | iconv-lite@0.4.24: 1361 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1362 | engines: {node: '>=0.10.0'} 1363 | 1364 | ignore-walk@7.0.0: 1365 | resolution: {integrity: sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==} 1366 | engines: {node: ^18.17.0 || >=20.5.0} 1367 | 1368 | ignore@7.0.3: 1369 | resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==} 1370 | engines: {node: '>= 4'} 1371 | 1372 | import-fresh@3.3.1: 1373 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1374 | engines: {node: '>=6'} 1375 | 1376 | import-local@3.2.0: 1377 | resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} 1378 | engines: {node: '>=8'} 1379 | hasBin: true 1380 | 1381 | indent-string@3.2.0: 1382 | resolution: {integrity: sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==} 1383 | engines: {node: '>=4'} 1384 | 1385 | index-to-position@1.0.0: 1386 | resolution: {integrity: sha512-sCO7uaLVhRJ25vz1o8s9IFM3nVS4DkuQnyjMwiQPKvQuBYBDmb8H7zx8ki7nVh4HJQOdVWebyvLE0qt+clruxA==} 1387 | engines: {node: '>=18'} 1388 | 1389 | ini@1.3.8: 1390 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1391 | 1392 | ini@4.1.1: 1393 | resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} 1394 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 1395 | 1396 | inquirer-autosubmit-prompt@0.2.0: 1397 | resolution: {integrity: sha512-mzNrusCk5L6kSzlN0Ioddn8yzrhYNLli+Sn2ZxMuLechMYAzakiFCIULxsxlQb5YKzthLGfrFACcWoAvM7p04Q==} 1398 | 1399 | inquirer@12.5.0: 1400 | resolution: {integrity: sha512-aiBBq5aKF1k87MTxXDylLfwpRwToShiHrSv4EmB07EYyLgmnjEz5B3rn0aGw1X3JA/64Ngf2T54oGwc+BCsPIQ==} 1401 | engines: {node: '>=18'} 1402 | peerDependencies: 1403 | '@types/node': '>=18' 1404 | peerDependenciesMeta: 1405 | '@types/node': 1406 | optional: true 1407 | 1408 | inquirer@6.5.2: 1409 | resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} 1410 | engines: {node: '>=6.0.0'} 1411 | 1412 | inquirer@7.3.3: 1413 | resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} 1414 | engines: {node: '>=8.0.0'} 1415 | 1416 | is-arrayish@0.2.1: 1417 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1418 | 1419 | is-docker@3.0.0: 1420 | resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} 1421 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1422 | hasBin: true 1423 | 1424 | is-extglob@2.1.1: 1425 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1426 | engines: {node: '>=0.10.0'} 1427 | 1428 | is-fullwidth-code-point@1.0.0: 1429 | resolution: {integrity: sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==} 1430 | engines: {node: '>=0.10.0'} 1431 | 1432 | is-fullwidth-code-point@2.0.0: 1433 | resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} 1434 | engines: {node: '>=4'} 1435 | 1436 | is-fullwidth-code-point@3.0.0: 1437 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1438 | engines: {node: '>=8'} 1439 | 1440 | is-glob@4.0.3: 1441 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1442 | engines: {node: '>=0.10.0'} 1443 | 1444 | is-in-ci@1.0.0: 1445 | resolution: {integrity: sha512-eUuAjybVTHMYWm/U+vBO1sY/JOCgoPCXRxzdju0K+K0BiGW0SChEL1MLC0PoCIR1OlPo5YAp8HuQoUlsWEICwg==} 1446 | engines: {node: '>=18'} 1447 | hasBin: true 1448 | 1449 | is-inside-container@1.0.0: 1450 | resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} 1451 | engines: {node: '>=14.16'} 1452 | hasBin: true 1453 | 1454 | is-installed-globally@1.0.0: 1455 | resolution: {integrity: sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==} 1456 | engines: {node: '>=18'} 1457 | 1458 | is-interactive@2.0.0: 1459 | resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} 1460 | engines: {node: '>=12'} 1461 | 1462 | is-npm@6.0.0: 1463 | resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} 1464 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1465 | 1466 | is-number@7.0.0: 1467 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1468 | engines: {node: '>=0.12.0'} 1469 | 1470 | is-observable@1.1.0: 1471 | resolution: {integrity: sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==} 1472 | engines: {node: '>=4'} 1473 | 1474 | is-path-cwd@3.0.0: 1475 | resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} 1476 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1477 | 1478 | is-path-inside@4.0.0: 1479 | resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} 1480 | engines: {node: '>=12'} 1481 | 1482 | is-plain-obj@4.1.0: 1483 | resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} 1484 | engines: {node: '>=12'} 1485 | 1486 | is-promise@2.2.2: 1487 | resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} 1488 | 1489 | is-scoped@3.0.0: 1490 | resolution: {integrity: sha512-ezxLUq30kiTvP0w/5n9tj4qTOKlrA07Oty1hwTQ+lcqw11x6uc8sp7VRb2OVGRzKfCHZ2A22T5Zsau/Q2Akb0g==} 1491 | engines: {node: '>=12'} 1492 | 1493 | is-stream@1.1.0: 1494 | resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} 1495 | engines: {node: '>=0.10.0'} 1496 | 1497 | is-stream@3.0.0: 1498 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1499 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1500 | 1501 | is-stream@4.0.1: 1502 | resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} 1503 | engines: {node: '>=18'} 1504 | 1505 | is-unicode-supported@2.1.0: 1506 | resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==} 1507 | engines: {node: '>=18'} 1508 | 1509 | is-url-superb@6.1.0: 1510 | resolution: {integrity: sha512-LXdhGlYqUPdvEyIhWPEEwYYK3yrUiPcBjmFGlZNv1u5GtIL5qQRf7ddDyPNAvsMFqdzS923FROpTQU97tLe3JQ==} 1511 | engines: {node: '>=12'} 1512 | 1513 | is-wsl@3.1.0: 1514 | resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==} 1515 | engines: {node: '>=16'} 1516 | 1517 | isexe@2.0.0: 1518 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1519 | 1520 | issue-regex@4.3.0: 1521 | resolution: {integrity: sha512-7731a/t2llyrk8Hdwl1x3LkhIFGzxHQGpJA7Ur9cIRViakQF2y25Lwhx8Ziy1B068+kBYUmYPBzw5uo3DdWrdQ==} 1522 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1523 | 1524 | istanbul-lib-coverage@3.2.2: 1525 | resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} 1526 | engines: {node: '>=8'} 1527 | 1528 | istanbul-lib-report@3.0.1: 1529 | resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} 1530 | engines: {node: '>=10'} 1531 | 1532 | istanbul-lib-source-maps@5.0.6: 1533 | resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} 1534 | engines: {node: '>=10'} 1535 | 1536 | istanbul-reports@3.1.7: 1537 | resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} 1538 | engines: {node: '>=8'} 1539 | 1540 | jackspeak@3.4.3: 1541 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} 1542 | 1543 | jackspeak@4.1.0: 1544 | resolution: {integrity: sha512-9DDdhb5j6cpeitCbvLO7n7J4IxnbM6hoF6O1g4HQ5TfhvvKN8ywDM7668ZhMHRqVmxqhps/F6syWK2KcPxYlkw==} 1545 | engines: {node: 20 || >=22} 1546 | 1547 | joycon@3.1.1: 1548 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1549 | engines: {node: '>=10'} 1550 | 1551 | js-tokens@4.0.0: 1552 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1553 | 1554 | js-yaml@4.1.0: 1555 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1556 | hasBin: true 1557 | 1558 | json-parse-even-better-errors@2.3.1: 1559 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1560 | 1561 | ky@1.7.5: 1562 | resolution: {integrity: sha512-HzhziW6sc5m0pwi5M196+7cEBtbt0lCYi67wNsiwMUmz833wloE0gbzJPWKs1gliFKQb34huItDQX97LyOdPdA==} 1563 | engines: {node: '>=18'} 1564 | 1565 | latest-version@9.0.0: 1566 | resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==} 1567 | engines: {node: '>=18'} 1568 | 1569 | lilconfig@3.1.3: 1570 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 1571 | engines: {node: '>=14'} 1572 | 1573 | lines-and-columns@1.2.4: 1574 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1575 | 1576 | listr-input@0.2.1: 1577 | resolution: {integrity: sha512-oa8iVG870qJq+OuuMK3DjGqFcwsK1SDu+kULp9kEq09TY231aideIZenr3lFOQdASpAr6asuyJBbX62/a3IIhg==} 1578 | engines: {node: '>=6'} 1579 | 1580 | listr-silent-renderer@1.1.1: 1581 | resolution: {integrity: sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==} 1582 | engines: {node: '>=4'} 1583 | 1584 | listr-update-renderer@0.5.0: 1585 | resolution: {integrity: sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==} 1586 | engines: {node: '>=6'} 1587 | peerDependencies: 1588 | listr: ^0.14.2 1589 | 1590 | listr-verbose-renderer@0.5.0: 1591 | resolution: {integrity: sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==} 1592 | engines: {node: '>=4'} 1593 | 1594 | listr@0.14.3: 1595 | resolution: {integrity: sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==} 1596 | engines: {node: '>=6'} 1597 | 1598 | load-tsconfig@0.2.5: 1599 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 1600 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1601 | 1602 | locate-path@5.0.0: 1603 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} 1604 | engines: {node: '>=8'} 1605 | 1606 | lodash.sortby@4.7.0: 1607 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 1608 | 1609 | lodash.zip@4.2.0: 1610 | resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} 1611 | 1612 | lodash@4.17.21: 1613 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1614 | 1615 | log-symbols@1.0.2: 1616 | resolution: {integrity: sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==} 1617 | engines: {node: '>=0.10.0'} 1618 | 1619 | log-symbols@7.0.0: 1620 | resolution: {integrity: sha512-zrc91EDk2M+2AXo/9BTvK91pqb7qrPg2nX/Hy+u8a5qQlbaOflCKO+6SqgZ+M+xUFxGdKTgwnGiL96b1W3ikRA==} 1621 | engines: {node: '>=18'} 1622 | 1623 | log-update@2.3.0: 1624 | resolution: {integrity: sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==} 1625 | engines: {node: '>=4'} 1626 | 1627 | loupe@3.1.3: 1628 | resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} 1629 | 1630 | lru-cache@10.4.3: 1631 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} 1632 | 1633 | lru-cache@11.0.2: 1634 | resolution: {integrity: sha512-123qHRfJBmo2jXDbo/a5YOQrJoHF/GNQTLzQ5+IdK5pWpceK17yRc6ozlWd25FxvGKQbIUs91fDFkXmDHTKcyA==} 1635 | engines: {node: 20 || >=22} 1636 | 1637 | magic-string@0.30.17: 1638 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1639 | 1640 | magicast@0.3.5: 1641 | resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} 1642 | 1643 | make-dir@4.0.0: 1644 | resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} 1645 | engines: {node: '>=10'} 1646 | 1647 | meow@13.2.0: 1648 | resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} 1649 | engines: {node: '>=18'} 1650 | 1651 | merge-stream@2.0.0: 1652 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1653 | 1654 | merge2@1.4.1: 1655 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1656 | engines: {node: '>= 8'} 1657 | 1658 | micromatch@4.0.8: 1659 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1660 | engines: {node: '>=8.6'} 1661 | 1662 | mimic-fn@1.2.0: 1663 | resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} 1664 | engines: {node: '>=4'} 1665 | 1666 | mimic-fn@2.1.0: 1667 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1668 | engines: {node: '>=6'} 1669 | 1670 | mimic-fn@4.0.0: 1671 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1672 | engines: {node: '>=12'} 1673 | 1674 | mimic-function@5.0.1: 1675 | resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} 1676 | engines: {node: '>=18'} 1677 | 1678 | minimatch@10.0.1: 1679 | resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} 1680 | engines: {node: 20 || >=22} 1681 | 1682 | minimatch@9.0.5: 1683 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1684 | engines: {node: '>=16 || 14 >=14.17'} 1685 | 1686 | minimist@1.2.8: 1687 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1688 | 1689 | minipass@7.1.2: 1690 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} 1691 | engines: {node: '>=16 || 14 >=14.17'} 1692 | 1693 | mlly@1.7.4: 1694 | resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} 1695 | 1696 | ms@2.1.3: 1697 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1698 | 1699 | mute-stream@0.0.7: 1700 | resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} 1701 | 1702 | mute-stream@0.0.8: 1703 | resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} 1704 | 1705 | mute-stream@2.0.0: 1706 | resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} 1707 | engines: {node: ^18.17.0 || >=20.5.0} 1708 | 1709 | mz@2.7.0: 1710 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1711 | 1712 | nanoid@3.3.11: 1713 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1714 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1715 | hasBin: true 1716 | 1717 | new-github-release-url@2.0.0: 1718 | resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==} 1719 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1720 | 1721 | normalize-package-data@6.0.2: 1722 | resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} 1723 | engines: {node: ^16.14.0 || >=18.0.0} 1724 | 1725 | np@10.2.0: 1726 | resolution: {integrity: sha512-7Pwk8qcsks2c9ETS35aeJSON6uJAbOsx7TwTFzZNUGgH4djT+Yt/p9S7PZuqH5pkcpNUhasne3cDRBzaUtvetg==} 1727 | engines: {bun: '>=1', git: '>=2.11.0', node: '>=18', npm: '>=9', pnpm: '>=8', yarn: '>=1.7.0'} 1728 | hasBin: true 1729 | 1730 | npm-name@8.0.0: 1731 | resolution: {integrity: sha512-DIuCGcKYYhASAZW6Xh/tiaGMko8IHOHe0n3zOA7SzTi0Yvy00x8L7sa5yNiZ75Ny58O/KeRtNouy8Ut6gPbKiw==} 1732 | engines: {node: '>=18'} 1733 | 1734 | npm-run-path@5.3.0: 1735 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 1736 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1737 | 1738 | npm-run-path@6.0.0: 1739 | resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} 1740 | engines: {node: '>=18'} 1741 | 1742 | number-is-nan@1.0.1: 1743 | resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==} 1744 | engines: {node: '>=0.10.0'} 1745 | 1746 | object-assign@4.1.1: 1747 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1748 | engines: {node: '>=0.10.0'} 1749 | 1750 | onetime@2.0.1: 1751 | resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} 1752 | engines: {node: '>=4'} 1753 | 1754 | onetime@5.1.2: 1755 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1756 | engines: {node: '>=6'} 1757 | 1758 | onetime@6.0.0: 1759 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 1760 | engines: {node: '>=12'} 1761 | 1762 | onetime@7.0.0: 1763 | resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} 1764 | engines: {node: '>=18'} 1765 | 1766 | open@10.1.0: 1767 | resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==} 1768 | engines: {node: '>=18'} 1769 | 1770 | org-regex@1.0.0: 1771 | resolution: {integrity: sha512-7bqkxkEJwzJQUAlyYniqEZ3Ilzjh0yoa62c7gL6Ijxj5bEpPL+8IE1Z0PFj0ywjjXQcdrwR51g9MIcLezR0hKQ==} 1772 | engines: {node: '>=8'} 1773 | 1774 | os-tmpdir@1.0.2: 1775 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 1776 | engines: {node: '>=0.10.0'} 1777 | 1778 | p-limit@2.3.0: 1779 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} 1780 | engines: {node: '>=6'} 1781 | 1782 | p-locate@4.1.0: 1783 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} 1784 | engines: {node: '>=8'} 1785 | 1786 | p-map@2.1.0: 1787 | resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} 1788 | engines: {node: '>=6'} 1789 | 1790 | p-map@7.0.3: 1791 | resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} 1792 | engines: {node: '>=18'} 1793 | 1794 | p-memoize@7.1.1: 1795 | resolution: {integrity: sha512-DZ/bONJILHkQ721hSr/E9wMz5Am/OTJ9P6LhLFo2Tu+jL8044tgc9LwHO8g4PiaYePnlVVRAJcKmgy8J9MVFrA==} 1796 | engines: {node: '>=14.16'} 1797 | 1798 | p-timeout@6.1.4: 1799 | resolution: {integrity: sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==} 1800 | engines: {node: '>=14.16'} 1801 | 1802 | p-try@2.2.0: 1803 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} 1804 | engines: {node: '>=6'} 1805 | 1806 | package-json-from-dist@1.0.1: 1807 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} 1808 | 1809 | package-json@10.0.1: 1810 | resolution: {integrity: sha512-ua1L4OgXSBdsu1FPb7F3tYH0F48a6kxvod4pLUlGY9COeJAJQNX/sNH2IiEmsxw7lqYiAwrdHMjz1FctOsyDQg==} 1811 | engines: {node: '>=18'} 1812 | 1813 | parent-module@1.0.1: 1814 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1815 | engines: {node: '>=6'} 1816 | 1817 | parse-json@5.2.0: 1818 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1819 | engines: {node: '>=8'} 1820 | 1821 | parse-json@8.2.0: 1822 | resolution: {integrity: sha512-eONBZy4hm2AgxjNFd8a4nyDJnzUAH0g34xSQAwWEVGCjdZ4ZL7dKZBfq267GWP/JaS9zW62Xs2FeAdDvpHHJGQ==} 1823 | engines: {node: '>=18'} 1824 | 1825 | parse-ms@4.0.0: 1826 | resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} 1827 | engines: {node: '>=18'} 1828 | 1829 | path-exists@4.0.0: 1830 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1831 | engines: {node: '>=8'} 1832 | 1833 | path-exists@5.0.0: 1834 | resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} 1835 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1836 | 1837 | path-key@3.1.1: 1838 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1839 | engines: {node: '>=8'} 1840 | 1841 | path-key@4.0.0: 1842 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 1843 | engines: {node: '>=12'} 1844 | 1845 | path-scurry@1.11.1: 1846 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} 1847 | engines: {node: '>=16 || 14 >=14.18'} 1848 | 1849 | path-scurry@2.0.0: 1850 | resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} 1851 | engines: {node: 20 || >=22} 1852 | 1853 | path-type@4.0.0: 1854 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1855 | engines: {node: '>=8'} 1856 | 1857 | path-type@6.0.0: 1858 | resolution: {integrity: sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==} 1859 | engines: {node: '>=18'} 1860 | 1861 | pathe@1.1.2: 1862 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 1863 | 1864 | pathe@2.0.3: 1865 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1866 | 1867 | pathval@2.0.0: 1868 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} 1869 | engines: {node: '>= 14.16'} 1870 | 1871 | picocolors@1.1.1: 1872 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1873 | 1874 | picomatch@2.3.1: 1875 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1876 | engines: {node: '>=8.6'} 1877 | 1878 | picomatch@4.0.2: 1879 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1880 | engines: {node: '>=12'} 1881 | 1882 | pirates@4.0.7: 1883 | resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} 1884 | engines: {node: '>= 6'} 1885 | 1886 | pkg-dir@4.2.0: 1887 | resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} 1888 | engines: {node: '>=8'} 1889 | 1890 | pkg-dir@8.0.0: 1891 | resolution: {integrity: sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==} 1892 | engines: {node: '>=18'} 1893 | 1894 | pkg-types@1.3.1: 1895 | resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} 1896 | 1897 | postcss-load-config@6.0.1: 1898 | resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} 1899 | engines: {node: '>= 18'} 1900 | peerDependencies: 1901 | jiti: '>=1.21.0' 1902 | postcss: '>=8.0.9' 1903 | tsx: ^4.8.1 1904 | yaml: ^2.4.2 1905 | peerDependenciesMeta: 1906 | jiti: 1907 | optional: true 1908 | postcss: 1909 | optional: true 1910 | tsx: 1911 | optional: true 1912 | yaml: 1913 | optional: true 1914 | 1915 | postcss@8.5.3: 1916 | resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} 1917 | engines: {node: ^10 || ^12 || >=14} 1918 | 1919 | pretty-ms@9.2.0: 1920 | resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==} 1921 | engines: {node: '>=18'} 1922 | 1923 | proto-list@1.2.4: 1924 | resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} 1925 | 1926 | punycode@2.3.1: 1927 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1928 | engines: {node: '>=6'} 1929 | 1930 | pupa@3.1.0: 1931 | resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} 1932 | engines: {node: '>=12.20'} 1933 | 1934 | queue-microtask@1.2.3: 1935 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1936 | 1937 | rc@1.2.8: 1938 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 1939 | hasBin: true 1940 | 1941 | read-package-up@11.0.0: 1942 | resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} 1943 | engines: {node: '>=18'} 1944 | 1945 | read-pkg@9.0.1: 1946 | resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} 1947 | engines: {node: '>=18'} 1948 | 1949 | readdirp@4.1.2: 1950 | resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} 1951 | engines: {node: '>= 14.18.0'} 1952 | 1953 | registry-auth-token@5.1.0: 1954 | resolution: {integrity: sha512-GdekYuwLXLxMuFTwAPg5UKGLW/UXzQrZvH/Zj791BQif5T05T0RsaLfHc9q3ZOKi7n+BoprPD9mJ0O0k4xzUlw==} 1955 | engines: {node: '>=14'} 1956 | 1957 | registry-url@6.0.1: 1958 | resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} 1959 | engines: {node: '>=12'} 1960 | 1961 | rescript@11.1.4: 1962 | resolution: {integrity: sha512-0bGU0bocihjSC6MsE3TMjHjY0EUpchyrREquLS8VsZ3ohSMD+VHUEwimEfB3kpBI1vYkw3UFZ3WD8R28guz/Vw==} 1963 | engines: {node: '>=10'} 1964 | hasBin: true 1965 | 1966 | resolve-cwd@3.0.0: 1967 | resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} 1968 | engines: {node: '>=8'} 1969 | 1970 | resolve-from@4.0.0: 1971 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1972 | engines: {node: '>=4'} 1973 | 1974 | resolve-from@5.0.0: 1975 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1976 | engines: {node: '>=8'} 1977 | 1978 | restore-cursor@2.0.0: 1979 | resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} 1980 | engines: {node: '>=4'} 1981 | 1982 | restore-cursor@3.1.0: 1983 | resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} 1984 | engines: {node: '>=8'} 1985 | 1986 | reusify@1.1.0: 1987 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1988 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1989 | 1990 | rimraf@6.0.1: 1991 | resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} 1992 | engines: {node: 20 || >=22} 1993 | hasBin: true 1994 | 1995 | rollup@4.40.2: 1996 | resolution: {integrity: sha512-tfUOg6DTP4rhQ3VjOO6B4wyrJnGOX85requAXvqYTHsOgb2TFJdZ3aWpT8W2kPoypSGP7dZUyzxJ9ee4buM5Fg==} 1997 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1998 | hasBin: true 1999 | 2000 | rollup@4.41.0: 2001 | resolution: {integrity: sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==} 2002 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 2003 | hasBin: true 2004 | 2005 | run-applescript@7.0.0: 2006 | resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} 2007 | engines: {node: '>=18'} 2008 | 2009 | run-async@2.4.1: 2010 | resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} 2011 | engines: {node: '>=0.12.0'} 2012 | 2013 | run-async@3.0.0: 2014 | resolution: {integrity: sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==} 2015 | engines: {node: '>=0.12.0'} 2016 | 2017 | run-parallel@1.2.0: 2018 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 2019 | 2020 | rxjs@6.6.7: 2021 | resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} 2022 | engines: {npm: '>=2.0.0'} 2023 | 2024 | rxjs@7.8.2: 2025 | resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} 2026 | 2027 | safer-buffer@2.1.2: 2028 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 2029 | 2030 | scoped-regex@3.0.0: 2031 | resolution: {integrity: sha512-yEsN6TuxZhZ1Tl9iB81frTNS292m0I/IG7+w8lTvfcJQP2x3vnpOoevjBoE3Np5A6KnZM2+RtVenihj9t6NiYg==} 2032 | engines: {node: '>=12'} 2033 | 2034 | semver@7.7.1: 2035 | resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} 2036 | engines: {node: '>=10'} 2037 | hasBin: true 2038 | 2039 | shebang-command@2.0.0: 2040 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 2041 | engines: {node: '>=8'} 2042 | 2043 | shebang-regex@3.0.0: 2044 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 2045 | engines: {node: '>=8'} 2046 | 2047 | siginfo@2.0.0: 2048 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 2049 | 2050 | signal-exit@3.0.7: 2051 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 2052 | 2053 | signal-exit@4.1.0: 2054 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 2055 | engines: {node: '>=14'} 2056 | 2057 | slash@5.1.0: 2058 | resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} 2059 | engines: {node: '>=14.16'} 2060 | 2061 | slice-ansi@0.0.4: 2062 | resolution: {integrity: sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==} 2063 | engines: {node: '>=0.10.0'} 2064 | 2065 | sort-object-keys@1.1.3: 2066 | resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} 2067 | 2068 | sort-package-json@3.2.1: 2069 | resolution: {integrity: sha512-rTfRdb20vuoAn7LDlEtCqOkYfl2X+Qze6cLbNOzcDpbmKEhJI30tTN44d5shbKJnXsvz24QQhlCm81Bag7EOKg==} 2070 | hasBin: true 2071 | 2072 | source-map-js@1.2.1: 2073 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 2074 | engines: {node: '>=0.10.0'} 2075 | 2076 | source-map@0.8.0-beta.0: 2077 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 2078 | engines: {node: '>= 8'} 2079 | 2080 | spdx-correct@3.2.0: 2081 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} 2082 | 2083 | spdx-exceptions@2.5.0: 2084 | resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} 2085 | 2086 | spdx-expression-parse@3.0.1: 2087 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} 2088 | 2089 | spdx-license-ids@3.0.21: 2090 | resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} 2091 | 2092 | stackback@0.0.2: 2093 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 2094 | 2095 | std-env@3.8.1: 2096 | resolution: {integrity: sha512-vj5lIj3Mwf9D79hBkltk5qmkFI+biIKWS2IBxEyEU3AX1tUf7AoL8nSazCOiiqQsGKIq01SClsKEzweu34uwvA==} 2097 | 2098 | string-width@1.0.2: 2099 | resolution: {integrity: sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==} 2100 | engines: {node: '>=0.10.0'} 2101 | 2102 | string-width@2.1.1: 2103 | resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} 2104 | engines: {node: '>=4'} 2105 | 2106 | string-width@4.2.3: 2107 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 2108 | engines: {node: '>=8'} 2109 | 2110 | string-width@5.1.2: 2111 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 2112 | engines: {node: '>=12'} 2113 | 2114 | string-width@7.2.0: 2115 | resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} 2116 | engines: {node: '>=18'} 2117 | 2118 | strip-ansi@3.0.1: 2119 | resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} 2120 | engines: {node: '>=0.10.0'} 2121 | 2122 | strip-ansi@4.0.0: 2123 | resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} 2124 | engines: {node: '>=4'} 2125 | 2126 | strip-ansi@5.2.0: 2127 | resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} 2128 | engines: {node: '>=6'} 2129 | 2130 | strip-ansi@6.0.1: 2131 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 2132 | engines: {node: '>=8'} 2133 | 2134 | strip-ansi@7.1.0: 2135 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 2136 | engines: {node: '>=12'} 2137 | 2138 | strip-final-newline@3.0.0: 2139 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 2140 | engines: {node: '>=12'} 2141 | 2142 | strip-final-newline@4.0.0: 2143 | resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} 2144 | engines: {node: '>=18'} 2145 | 2146 | strip-json-comments@2.0.1: 2147 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 2148 | engines: {node: '>=0.10.0'} 2149 | 2150 | stubborn-fs@1.2.5: 2151 | resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} 2152 | 2153 | sucrase@3.35.0: 2154 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 2155 | engines: {node: '>=16 || 14 >=14.17'} 2156 | hasBin: true 2157 | 2158 | supports-color@2.0.0: 2159 | resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} 2160 | engines: {node: '>=0.8.0'} 2161 | 2162 | supports-color@5.5.0: 2163 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 2164 | engines: {node: '>=4'} 2165 | 2166 | supports-color@7.2.0: 2167 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 2168 | engines: {node: '>=8'} 2169 | 2170 | supports-hyperlinks@2.3.0: 2171 | resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} 2172 | engines: {node: '>=8'} 2173 | 2174 | symbol-observable@1.2.0: 2175 | resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} 2176 | engines: {node: '>=0.10.0'} 2177 | 2178 | symbol-observable@4.0.0: 2179 | resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} 2180 | engines: {node: '>=0.10'} 2181 | 2182 | terminal-link@3.0.0: 2183 | resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} 2184 | engines: {node: '>=12'} 2185 | 2186 | test-exclude@7.0.1: 2187 | resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} 2188 | engines: {node: '>=18'} 2189 | 2190 | thenify-all@1.6.0: 2191 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 2192 | engines: {node: '>=0.8'} 2193 | 2194 | thenify@3.3.1: 2195 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 2196 | 2197 | through@2.3.8: 2198 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 2199 | 2200 | tinybench@2.9.0: 2201 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 2202 | 2203 | tinyexec@0.3.2: 2204 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} 2205 | 2206 | tinyglobby@0.2.13: 2207 | resolution: {integrity: sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==} 2208 | engines: {node: '>=12.0.0'} 2209 | 2210 | tinypool@1.0.2: 2211 | resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==} 2212 | engines: {node: ^18.0.0 || >=20.0.0} 2213 | 2214 | tinyrainbow@1.2.0: 2215 | resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} 2216 | engines: {node: '>=14.0.0'} 2217 | 2218 | tinyspy@3.0.2: 2219 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} 2220 | engines: {node: '>=14.0.0'} 2221 | 2222 | tmp@0.0.33: 2223 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 2224 | engines: {node: '>=0.6.0'} 2225 | 2226 | to-regex-range@5.0.1: 2227 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 2228 | engines: {node: '>=8.0'} 2229 | 2230 | tr46@1.0.1: 2231 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 2232 | 2233 | tree-kill@1.2.2: 2234 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 2235 | hasBin: true 2236 | 2237 | ts-interface-checker@0.1.13: 2238 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 2239 | 2240 | tslib@1.14.1: 2241 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 2242 | 2243 | tslib@2.8.1: 2244 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 2245 | 2246 | tsup@8.5.0: 2247 | resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==} 2248 | engines: {node: '>=18'} 2249 | hasBin: true 2250 | peerDependencies: 2251 | '@microsoft/api-extractor': ^7.36.0 2252 | '@swc/core': ^1 2253 | postcss: ^8.4.12 2254 | typescript: '>=4.5.0' 2255 | peerDependenciesMeta: 2256 | '@microsoft/api-extractor': 2257 | optional: true 2258 | '@swc/core': 2259 | optional: true 2260 | postcss: 2261 | optional: true 2262 | typescript: 2263 | optional: true 2264 | 2265 | type-fest@0.21.3: 2266 | resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} 2267 | engines: {node: '>=10'} 2268 | 2269 | type-fest@1.4.0: 2270 | resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} 2271 | engines: {node: '>=10'} 2272 | 2273 | type-fest@2.19.0: 2274 | resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} 2275 | engines: {node: '>=12.20'} 2276 | 2277 | type-fest@3.13.1: 2278 | resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} 2279 | engines: {node: '>=14.16'} 2280 | 2281 | type-fest@4.37.0: 2282 | resolution: {integrity: sha512-S/5/0kFftkq27FPNye0XM1e2NsnoD/3FS+pBmbjmmtLT6I+i344KoOf7pvXreaFsDamWeaJX55nczA1m5PsBDg==} 2283 | engines: {node: '>=16'} 2284 | 2285 | typescript@5.8.3: 2286 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} 2287 | engines: {node: '>=14.17'} 2288 | hasBin: true 2289 | 2290 | ufo@1.6.1: 2291 | resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} 2292 | 2293 | undici-types@6.21.0: 2294 | resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} 2295 | 2296 | unicorn-magic@0.1.0: 2297 | resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} 2298 | engines: {node: '>=18'} 2299 | 2300 | unicorn-magic@0.3.0: 2301 | resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} 2302 | engines: {node: '>=18'} 2303 | 2304 | update-notifier@7.3.1: 2305 | resolution: {integrity: sha512-+dwUY4L35XFYEzE+OAL3sarJdUioVovq+8f7lcIJ7wnmnYQV5UD1Y/lcwaMSyaQ6Bj3JMj1XSTjZbNLHn/19yA==} 2306 | engines: {node: '>=18'} 2307 | 2308 | validate-npm-package-license@3.0.4: 2309 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} 2310 | 2311 | validate-npm-package-name@5.0.1: 2312 | resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} 2313 | engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} 2314 | 2315 | vite-node@2.1.9: 2316 | resolution: {integrity: sha512-AM9aQ/IPrW/6ENLQg3AGY4K1N2TGZdR5e4gu/MmmR2xR3Ll1+dib+nook92g4TV3PXVyeyxdWwtaCAiUL0hMxA==} 2317 | engines: {node: ^18.0.0 || >=20.0.0} 2318 | hasBin: true 2319 | 2320 | vite@5.4.19: 2321 | resolution: {integrity: sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==} 2322 | engines: {node: ^18.0.0 || >=20.0.0} 2323 | hasBin: true 2324 | peerDependencies: 2325 | '@types/node': ^18.0.0 || >=20.0.0 2326 | less: '*' 2327 | lightningcss: ^1.21.0 2328 | sass: '*' 2329 | sass-embedded: '*' 2330 | stylus: '*' 2331 | sugarss: '*' 2332 | terser: ^5.4.0 2333 | peerDependenciesMeta: 2334 | '@types/node': 2335 | optional: true 2336 | less: 2337 | optional: true 2338 | lightningcss: 2339 | optional: true 2340 | sass: 2341 | optional: true 2342 | sass-embedded: 2343 | optional: true 2344 | stylus: 2345 | optional: true 2346 | sugarss: 2347 | optional: true 2348 | terser: 2349 | optional: true 2350 | 2351 | vite@6.3.5: 2352 | resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} 2353 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} 2354 | hasBin: true 2355 | peerDependencies: 2356 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 2357 | jiti: '>=1.21.0' 2358 | less: '*' 2359 | lightningcss: ^1.21.0 2360 | sass: '*' 2361 | sass-embedded: '*' 2362 | stylus: '*' 2363 | sugarss: '*' 2364 | terser: ^5.16.0 2365 | tsx: ^4.8.1 2366 | yaml: ^2.4.2 2367 | peerDependenciesMeta: 2368 | '@types/node': 2369 | optional: true 2370 | jiti: 2371 | optional: true 2372 | less: 2373 | optional: true 2374 | lightningcss: 2375 | optional: true 2376 | sass: 2377 | optional: true 2378 | sass-embedded: 2379 | optional: true 2380 | stylus: 2381 | optional: true 2382 | sugarss: 2383 | optional: true 2384 | terser: 2385 | optional: true 2386 | tsx: 2387 | optional: true 2388 | yaml: 2389 | optional: true 2390 | 2391 | vitest@2.1.9: 2392 | resolution: {integrity: sha512-MSmPM9REYqDGBI8439mA4mWhV5sKmDlBKWIYbA3lRb2PTHACE0mgKwA8yQ2xq9vxDTuk4iPrECBAEW2aoFXY0Q==} 2393 | engines: {node: ^18.0.0 || >=20.0.0} 2394 | hasBin: true 2395 | peerDependencies: 2396 | '@edge-runtime/vm': '*' 2397 | '@types/node': ^18.0.0 || >=20.0.0 2398 | '@vitest/browser': 2.1.9 2399 | '@vitest/ui': 2.1.9 2400 | happy-dom: '*' 2401 | jsdom: '*' 2402 | peerDependenciesMeta: 2403 | '@edge-runtime/vm': 2404 | optional: true 2405 | '@types/node': 2406 | optional: true 2407 | '@vitest/browser': 2408 | optional: true 2409 | '@vitest/ui': 2410 | optional: true 2411 | happy-dom: 2412 | optional: true 2413 | jsdom: 2414 | optional: true 2415 | 2416 | webidl-conversions@4.0.2: 2417 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 2418 | 2419 | whatwg-url@7.1.0: 2420 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 2421 | 2422 | when-exit@2.1.4: 2423 | resolution: {integrity: sha512-4rnvd3A1t16PWzrBUcSDZqcAmsUIy4minDXT/CZ8F2mVDgd65i4Aalimgz1aQkRGU0iH5eT5+6Rx2TK8o443Pg==} 2424 | 2425 | which@2.0.2: 2426 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2427 | engines: {node: '>= 8'} 2428 | hasBin: true 2429 | 2430 | why-is-node-running@2.3.0: 2431 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 2432 | engines: {node: '>=8'} 2433 | hasBin: true 2434 | 2435 | widest-line@5.0.0: 2436 | resolution: {integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==} 2437 | engines: {node: '>=18'} 2438 | 2439 | wrap-ansi@3.0.1: 2440 | resolution: {integrity: sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==} 2441 | engines: {node: '>=4'} 2442 | 2443 | wrap-ansi@6.2.0: 2444 | resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} 2445 | engines: {node: '>=8'} 2446 | 2447 | wrap-ansi@7.0.0: 2448 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2449 | engines: {node: '>=10'} 2450 | 2451 | wrap-ansi@8.1.0: 2452 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2453 | engines: {node: '>=12'} 2454 | 2455 | wrap-ansi@9.0.0: 2456 | resolution: {integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==} 2457 | engines: {node: '>=18'} 2458 | 2459 | xdg-basedir@5.1.0: 2460 | resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} 2461 | engines: {node: '>=12'} 2462 | 2463 | yoctocolors-cjs@2.1.2: 2464 | resolution: {integrity: sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==} 2465 | engines: {node: '>=18'} 2466 | 2467 | yoctocolors@2.1.1: 2468 | resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} 2469 | engines: {node: '>=18'} 2470 | 2471 | snapshots: 2472 | 2473 | '@ampproject/remapping@2.3.0': 2474 | dependencies: 2475 | '@jridgewell/gen-mapping': 0.3.8 2476 | '@jridgewell/trace-mapping': 0.3.25 2477 | 2478 | '@babel/code-frame@7.26.2': 2479 | dependencies: 2480 | '@babel/helper-validator-identifier': 7.25.9 2481 | js-tokens: 4.0.0 2482 | picocolors: 1.1.1 2483 | 2484 | '@babel/helper-string-parser@7.25.9': {} 2485 | 2486 | '@babel/helper-validator-identifier@7.25.9': {} 2487 | 2488 | '@babel/parser@7.26.10': 2489 | dependencies: 2490 | '@babel/types': 7.26.10 2491 | 2492 | '@babel/types@7.26.10': 2493 | dependencies: 2494 | '@babel/helper-string-parser': 7.25.9 2495 | '@babel/helper-validator-identifier': 7.25.9 2496 | 2497 | '@bcoe/v8-coverage@0.2.3': {} 2498 | 2499 | '@biomejs/biome@1.9.4': 2500 | optionalDependencies: 2501 | '@biomejs/cli-darwin-arm64': 1.9.4 2502 | '@biomejs/cli-darwin-x64': 1.9.4 2503 | '@biomejs/cli-linux-arm64': 1.9.4 2504 | '@biomejs/cli-linux-arm64-musl': 1.9.4 2505 | '@biomejs/cli-linux-x64': 1.9.4 2506 | '@biomejs/cli-linux-x64-musl': 1.9.4 2507 | '@biomejs/cli-win32-arm64': 1.9.4 2508 | '@biomejs/cli-win32-x64': 1.9.4 2509 | 2510 | '@biomejs/cli-darwin-arm64@1.9.4': 2511 | optional: true 2512 | 2513 | '@biomejs/cli-darwin-x64@1.9.4': 2514 | optional: true 2515 | 2516 | '@biomejs/cli-linux-arm64-musl@1.9.4': 2517 | optional: true 2518 | 2519 | '@biomejs/cli-linux-arm64@1.9.4': 2520 | optional: true 2521 | 2522 | '@biomejs/cli-linux-x64-musl@1.9.4': 2523 | optional: true 2524 | 2525 | '@biomejs/cli-linux-x64@1.9.4': 2526 | optional: true 2527 | 2528 | '@biomejs/cli-win32-arm64@1.9.4': 2529 | optional: true 2530 | 2531 | '@biomejs/cli-win32-x64@1.9.4': 2532 | optional: true 2533 | 2534 | '@esbuild/aix-ppc64@0.21.5': 2535 | optional: true 2536 | 2537 | '@esbuild/aix-ppc64@0.25.4': 2538 | optional: true 2539 | 2540 | '@esbuild/android-arm64@0.21.5': 2541 | optional: true 2542 | 2543 | '@esbuild/android-arm64@0.25.4': 2544 | optional: true 2545 | 2546 | '@esbuild/android-arm@0.21.5': 2547 | optional: true 2548 | 2549 | '@esbuild/android-arm@0.25.4': 2550 | optional: true 2551 | 2552 | '@esbuild/android-x64@0.21.5': 2553 | optional: true 2554 | 2555 | '@esbuild/android-x64@0.25.4': 2556 | optional: true 2557 | 2558 | '@esbuild/darwin-arm64@0.21.5': 2559 | optional: true 2560 | 2561 | '@esbuild/darwin-arm64@0.25.4': 2562 | optional: true 2563 | 2564 | '@esbuild/darwin-x64@0.21.5': 2565 | optional: true 2566 | 2567 | '@esbuild/darwin-x64@0.25.4': 2568 | optional: true 2569 | 2570 | '@esbuild/freebsd-arm64@0.21.5': 2571 | optional: true 2572 | 2573 | '@esbuild/freebsd-arm64@0.25.4': 2574 | optional: true 2575 | 2576 | '@esbuild/freebsd-x64@0.21.5': 2577 | optional: true 2578 | 2579 | '@esbuild/freebsd-x64@0.25.4': 2580 | optional: true 2581 | 2582 | '@esbuild/linux-arm64@0.21.5': 2583 | optional: true 2584 | 2585 | '@esbuild/linux-arm64@0.25.4': 2586 | optional: true 2587 | 2588 | '@esbuild/linux-arm@0.21.5': 2589 | optional: true 2590 | 2591 | '@esbuild/linux-arm@0.25.4': 2592 | optional: true 2593 | 2594 | '@esbuild/linux-ia32@0.21.5': 2595 | optional: true 2596 | 2597 | '@esbuild/linux-ia32@0.25.4': 2598 | optional: true 2599 | 2600 | '@esbuild/linux-loong64@0.21.5': 2601 | optional: true 2602 | 2603 | '@esbuild/linux-loong64@0.25.4': 2604 | optional: true 2605 | 2606 | '@esbuild/linux-mips64el@0.21.5': 2607 | optional: true 2608 | 2609 | '@esbuild/linux-mips64el@0.25.4': 2610 | optional: true 2611 | 2612 | '@esbuild/linux-ppc64@0.21.5': 2613 | optional: true 2614 | 2615 | '@esbuild/linux-ppc64@0.25.4': 2616 | optional: true 2617 | 2618 | '@esbuild/linux-riscv64@0.21.5': 2619 | optional: true 2620 | 2621 | '@esbuild/linux-riscv64@0.25.4': 2622 | optional: true 2623 | 2624 | '@esbuild/linux-s390x@0.21.5': 2625 | optional: true 2626 | 2627 | '@esbuild/linux-s390x@0.25.4': 2628 | optional: true 2629 | 2630 | '@esbuild/linux-x64@0.21.5': 2631 | optional: true 2632 | 2633 | '@esbuild/linux-x64@0.25.4': 2634 | optional: true 2635 | 2636 | '@esbuild/netbsd-arm64@0.25.4': 2637 | optional: true 2638 | 2639 | '@esbuild/netbsd-x64@0.21.5': 2640 | optional: true 2641 | 2642 | '@esbuild/netbsd-x64@0.25.4': 2643 | optional: true 2644 | 2645 | '@esbuild/openbsd-arm64@0.25.4': 2646 | optional: true 2647 | 2648 | '@esbuild/openbsd-x64@0.21.5': 2649 | optional: true 2650 | 2651 | '@esbuild/openbsd-x64@0.25.4': 2652 | optional: true 2653 | 2654 | '@esbuild/sunos-x64@0.21.5': 2655 | optional: true 2656 | 2657 | '@esbuild/sunos-x64@0.25.4': 2658 | optional: true 2659 | 2660 | '@esbuild/win32-arm64@0.21.5': 2661 | optional: true 2662 | 2663 | '@esbuild/win32-arm64@0.25.4': 2664 | optional: true 2665 | 2666 | '@esbuild/win32-ia32@0.21.5': 2667 | optional: true 2668 | 2669 | '@esbuild/win32-ia32@0.25.4': 2670 | optional: true 2671 | 2672 | '@esbuild/win32-x64@0.21.5': 2673 | optional: true 2674 | 2675 | '@esbuild/win32-x64@0.25.4': 2676 | optional: true 2677 | 2678 | '@inquirer/checkbox@4.1.4(@types/node@22.15.29)': 2679 | dependencies: 2680 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2681 | '@inquirer/figures': 1.0.11 2682 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2683 | ansi-escapes: 4.3.2 2684 | yoctocolors-cjs: 2.1.2 2685 | optionalDependencies: 2686 | '@types/node': 22.15.29 2687 | 2688 | '@inquirer/confirm@5.1.8(@types/node@22.15.29)': 2689 | dependencies: 2690 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2691 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2692 | optionalDependencies: 2693 | '@types/node': 22.15.29 2694 | 2695 | '@inquirer/core@10.1.9(@types/node@22.15.29)': 2696 | dependencies: 2697 | '@inquirer/figures': 1.0.11 2698 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2699 | ansi-escapes: 4.3.2 2700 | cli-width: 4.1.0 2701 | mute-stream: 2.0.0 2702 | signal-exit: 4.1.0 2703 | wrap-ansi: 6.2.0 2704 | yoctocolors-cjs: 2.1.2 2705 | optionalDependencies: 2706 | '@types/node': 22.15.29 2707 | 2708 | '@inquirer/editor@4.2.9(@types/node@22.15.29)': 2709 | dependencies: 2710 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2711 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2712 | external-editor: 3.1.0 2713 | optionalDependencies: 2714 | '@types/node': 22.15.29 2715 | 2716 | '@inquirer/expand@4.0.11(@types/node@22.15.29)': 2717 | dependencies: 2718 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2719 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2720 | yoctocolors-cjs: 2.1.2 2721 | optionalDependencies: 2722 | '@types/node': 22.15.29 2723 | 2724 | '@inquirer/figures@1.0.11': {} 2725 | 2726 | '@inquirer/input@4.1.8(@types/node@22.15.29)': 2727 | dependencies: 2728 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2729 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2730 | optionalDependencies: 2731 | '@types/node': 22.15.29 2732 | 2733 | '@inquirer/number@3.0.11(@types/node@22.15.29)': 2734 | dependencies: 2735 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2736 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2737 | optionalDependencies: 2738 | '@types/node': 22.15.29 2739 | 2740 | '@inquirer/password@4.0.11(@types/node@22.15.29)': 2741 | dependencies: 2742 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2743 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2744 | ansi-escapes: 4.3.2 2745 | optionalDependencies: 2746 | '@types/node': 22.15.29 2747 | 2748 | '@inquirer/prompts@7.4.0(@types/node@22.15.29)': 2749 | dependencies: 2750 | '@inquirer/checkbox': 4.1.4(@types/node@22.15.29) 2751 | '@inquirer/confirm': 5.1.8(@types/node@22.15.29) 2752 | '@inquirer/editor': 4.2.9(@types/node@22.15.29) 2753 | '@inquirer/expand': 4.0.11(@types/node@22.15.29) 2754 | '@inquirer/input': 4.1.8(@types/node@22.15.29) 2755 | '@inquirer/number': 3.0.11(@types/node@22.15.29) 2756 | '@inquirer/password': 4.0.11(@types/node@22.15.29) 2757 | '@inquirer/rawlist': 4.0.11(@types/node@22.15.29) 2758 | '@inquirer/search': 3.0.11(@types/node@22.15.29) 2759 | '@inquirer/select': 4.1.0(@types/node@22.15.29) 2760 | optionalDependencies: 2761 | '@types/node': 22.15.29 2762 | 2763 | '@inquirer/rawlist@4.0.11(@types/node@22.15.29)': 2764 | dependencies: 2765 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2766 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2767 | yoctocolors-cjs: 2.1.2 2768 | optionalDependencies: 2769 | '@types/node': 22.15.29 2770 | 2771 | '@inquirer/search@3.0.11(@types/node@22.15.29)': 2772 | dependencies: 2773 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2774 | '@inquirer/figures': 1.0.11 2775 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2776 | yoctocolors-cjs: 2.1.2 2777 | optionalDependencies: 2778 | '@types/node': 22.15.29 2779 | 2780 | '@inquirer/select@4.1.0(@types/node@22.15.29)': 2781 | dependencies: 2782 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 2783 | '@inquirer/figures': 1.0.11 2784 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 2785 | ansi-escapes: 4.3.2 2786 | yoctocolors-cjs: 2.1.2 2787 | optionalDependencies: 2788 | '@types/node': 22.15.29 2789 | 2790 | '@inquirer/type@3.0.5(@types/node@22.15.29)': 2791 | optionalDependencies: 2792 | '@types/node': 22.15.29 2793 | 2794 | '@isaacs/cliui@8.0.2': 2795 | dependencies: 2796 | string-width: 5.1.2 2797 | string-width-cjs: string-width@4.2.3 2798 | strip-ansi: 7.1.0 2799 | strip-ansi-cjs: strip-ansi@6.0.1 2800 | wrap-ansi: 8.1.0 2801 | wrap-ansi-cjs: wrap-ansi@7.0.0 2802 | 2803 | '@istanbuljs/schema@0.1.3': {} 2804 | 2805 | '@jridgewell/gen-mapping@0.3.8': 2806 | dependencies: 2807 | '@jridgewell/set-array': 1.2.1 2808 | '@jridgewell/sourcemap-codec': 1.5.0 2809 | '@jridgewell/trace-mapping': 0.3.25 2810 | 2811 | '@jridgewell/resolve-uri@3.1.2': {} 2812 | 2813 | '@jridgewell/set-array@1.2.1': {} 2814 | 2815 | '@jridgewell/sourcemap-codec@1.5.0': {} 2816 | 2817 | '@jridgewell/trace-mapping@0.3.25': 2818 | dependencies: 2819 | '@jridgewell/resolve-uri': 3.1.2 2820 | '@jridgewell/sourcemap-codec': 1.5.0 2821 | 2822 | '@nodelib/fs.scandir@2.1.5': 2823 | dependencies: 2824 | '@nodelib/fs.stat': 2.0.5 2825 | run-parallel: 1.2.0 2826 | 2827 | '@nodelib/fs.stat@2.0.5': {} 2828 | 2829 | '@nodelib/fs.walk@1.2.8': 2830 | dependencies: 2831 | '@nodelib/fs.scandir': 2.1.5 2832 | fastq: 1.19.1 2833 | 2834 | '@pkgjs/parseargs@0.11.0': 2835 | optional: true 2836 | 2837 | '@pnpm/config.env-replace@1.1.0': {} 2838 | 2839 | '@pnpm/network.ca-file@1.0.2': 2840 | dependencies: 2841 | graceful-fs: 4.2.10 2842 | 2843 | '@pnpm/npm-conf@2.3.1': 2844 | dependencies: 2845 | '@pnpm/config.env-replace': 1.1.0 2846 | '@pnpm/network.ca-file': 1.0.2 2847 | config-chain: 1.1.13 2848 | 2849 | '@rollup/rollup-android-arm-eabi@4.40.2': 2850 | optional: true 2851 | 2852 | '@rollup/rollup-android-arm-eabi@4.41.0': 2853 | optional: true 2854 | 2855 | '@rollup/rollup-android-arm64@4.40.2': 2856 | optional: true 2857 | 2858 | '@rollup/rollup-android-arm64@4.41.0': 2859 | optional: true 2860 | 2861 | '@rollup/rollup-darwin-arm64@4.40.2': 2862 | optional: true 2863 | 2864 | '@rollup/rollup-darwin-arm64@4.41.0': 2865 | optional: true 2866 | 2867 | '@rollup/rollup-darwin-x64@4.40.2': 2868 | optional: true 2869 | 2870 | '@rollup/rollup-darwin-x64@4.41.0': 2871 | optional: true 2872 | 2873 | '@rollup/rollup-freebsd-arm64@4.40.2': 2874 | optional: true 2875 | 2876 | '@rollup/rollup-freebsd-arm64@4.41.0': 2877 | optional: true 2878 | 2879 | '@rollup/rollup-freebsd-x64@4.40.2': 2880 | optional: true 2881 | 2882 | '@rollup/rollup-freebsd-x64@4.41.0': 2883 | optional: true 2884 | 2885 | '@rollup/rollup-linux-arm-gnueabihf@4.40.2': 2886 | optional: true 2887 | 2888 | '@rollup/rollup-linux-arm-gnueabihf@4.41.0': 2889 | optional: true 2890 | 2891 | '@rollup/rollup-linux-arm-musleabihf@4.40.2': 2892 | optional: true 2893 | 2894 | '@rollup/rollup-linux-arm-musleabihf@4.41.0': 2895 | optional: true 2896 | 2897 | '@rollup/rollup-linux-arm64-gnu@4.40.2': 2898 | optional: true 2899 | 2900 | '@rollup/rollup-linux-arm64-gnu@4.41.0': 2901 | optional: true 2902 | 2903 | '@rollup/rollup-linux-arm64-musl@4.40.2': 2904 | optional: true 2905 | 2906 | '@rollup/rollup-linux-arm64-musl@4.41.0': 2907 | optional: true 2908 | 2909 | '@rollup/rollup-linux-loongarch64-gnu@4.40.2': 2910 | optional: true 2911 | 2912 | '@rollup/rollup-linux-loongarch64-gnu@4.41.0': 2913 | optional: true 2914 | 2915 | '@rollup/rollup-linux-powerpc64le-gnu@4.40.2': 2916 | optional: true 2917 | 2918 | '@rollup/rollup-linux-powerpc64le-gnu@4.41.0': 2919 | optional: true 2920 | 2921 | '@rollup/rollup-linux-riscv64-gnu@4.40.2': 2922 | optional: true 2923 | 2924 | '@rollup/rollup-linux-riscv64-gnu@4.41.0': 2925 | optional: true 2926 | 2927 | '@rollup/rollup-linux-riscv64-musl@4.40.2': 2928 | optional: true 2929 | 2930 | '@rollup/rollup-linux-riscv64-musl@4.41.0': 2931 | optional: true 2932 | 2933 | '@rollup/rollup-linux-s390x-gnu@4.40.2': 2934 | optional: true 2935 | 2936 | '@rollup/rollup-linux-s390x-gnu@4.41.0': 2937 | optional: true 2938 | 2939 | '@rollup/rollup-linux-x64-gnu@4.40.2': 2940 | optional: true 2941 | 2942 | '@rollup/rollup-linux-x64-gnu@4.41.0': 2943 | optional: true 2944 | 2945 | '@rollup/rollup-linux-x64-musl@4.40.2': 2946 | optional: true 2947 | 2948 | '@rollup/rollup-linux-x64-musl@4.41.0': 2949 | optional: true 2950 | 2951 | '@rollup/rollup-win32-arm64-msvc@4.40.2': 2952 | optional: true 2953 | 2954 | '@rollup/rollup-win32-arm64-msvc@4.41.0': 2955 | optional: true 2956 | 2957 | '@rollup/rollup-win32-ia32-msvc@4.40.2': 2958 | optional: true 2959 | 2960 | '@rollup/rollup-win32-ia32-msvc@4.41.0': 2961 | optional: true 2962 | 2963 | '@rollup/rollup-win32-x64-msvc@4.40.2': 2964 | optional: true 2965 | 2966 | '@rollup/rollup-win32-x64-msvc@4.41.0': 2967 | optional: true 2968 | 2969 | '@samverschueren/stream-to-observable@0.3.1(rxjs@6.6.7)': 2970 | dependencies: 2971 | any-observable: 0.3.0(rxjs@6.6.7) 2972 | optionalDependencies: 2973 | rxjs: 6.6.7 2974 | transitivePeerDependencies: 2975 | - zenObservable 2976 | 2977 | '@sec-ant/readable-stream@0.4.1': {} 2978 | 2979 | '@sindresorhus/merge-streams@2.3.0': {} 2980 | 2981 | '@sindresorhus/merge-streams@4.0.0': {} 2982 | 2983 | '@sindresorhus/tsconfig@7.0.0': {} 2984 | 2985 | '@types/estree@1.0.7': {} 2986 | 2987 | '@types/node@22.15.29': 2988 | dependencies: 2989 | undici-types: 6.21.0 2990 | 2991 | '@types/normalize-package-data@2.4.4': {} 2992 | 2993 | '@vitest/coverage-v8@2.1.9(vitest@2.1.9(@types/node@22.15.29))': 2994 | dependencies: 2995 | '@ampproject/remapping': 2.3.0 2996 | '@bcoe/v8-coverage': 0.2.3 2997 | debug: 4.4.0 2998 | istanbul-lib-coverage: 3.2.2 2999 | istanbul-lib-report: 3.0.1 3000 | istanbul-lib-source-maps: 5.0.6 3001 | istanbul-reports: 3.1.7 3002 | magic-string: 0.30.17 3003 | magicast: 0.3.5 3004 | std-env: 3.8.1 3005 | test-exclude: 7.0.1 3006 | tinyrainbow: 1.2.0 3007 | vitest: 2.1.9(@types/node@22.15.29) 3008 | transitivePeerDependencies: 3009 | - supports-color 3010 | 3011 | '@vitest/expect@2.1.9': 3012 | dependencies: 3013 | '@vitest/spy': 2.1.9 3014 | '@vitest/utils': 2.1.9 3015 | chai: 5.2.0 3016 | tinyrainbow: 1.2.0 3017 | 3018 | '@vitest/mocker@2.1.9(vite@5.4.19(@types/node@22.15.29))': 3019 | dependencies: 3020 | '@vitest/spy': 2.1.9 3021 | estree-walker: 3.0.3 3022 | magic-string: 0.30.17 3023 | optionalDependencies: 3024 | vite: 5.4.19(@types/node@22.15.29) 3025 | 3026 | '@vitest/pretty-format@2.1.9': 3027 | dependencies: 3028 | tinyrainbow: 1.2.0 3029 | 3030 | '@vitest/runner@2.1.9': 3031 | dependencies: 3032 | '@vitest/utils': 2.1.9 3033 | pathe: 1.1.2 3034 | 3035 | '@vitest/snapshot@2.1.9': 3036 | dependencies: 3037 | '@vitest/pretty-format': 2.1.9 3038 | magic-string: 0.30.17 3039 | pathe: 1.1.2 3040 | 3041 | '@vitest/spy@2.1.9': 3042 | dependencies: 3043 | tinyspy: 3.0.2 3044 | 3045 | '@vitest/utils@2.1.9': 3046 | dependencies: 3047 | '@vitest/pretty-format': 2.1.9 3048 | loupe: 3.1.3 3049 | tinyrainbow: 1.2.0 3050 | 3051 | acorn@8.14.1: {} 3052 | 3053 | ansi-align@3.0.1: 3054 | dependencies: 3055 | string-width: 4.2.3 3056 | 3057 | ansi-escapes@3.2.0: {} 3058 | 3059 | ansi-escapes@4.3.2: 3060 | dependencies: 3061 | type-fest: 0.21.3 3062 | 3063 | ansi-escapes@5.0.0: 3064 | dependencies: 3065 | type-fest: 1.4.0 3066 | 3067 | ansi-regex@2.1.1: {} 3068 | 3069 | ansi-regex@3.0.1: {} 3070 | 3071 | ansi-regex@4.1.1: {} 3072 | 3073 | ansi-regex@5.0.1: {} 3074 | 3075 | ansi-regex@6.1.0: {} 3076 | 3077 | ansi-styles@2.2.1: {} 3078 | 3079 | ansi-styles@3.2.1: 3080 | dependencies: 3081 | color-convert: 1.9.3 3082 | 3083 | ansi-styles@4.3.0: 3084 | dependencies: 3085 | color-convert: 2.0.1 3086 | 3087 | ansi-styles@6.2.1: {} 3088 | 3089 | any-observable@0.3.0(rxjs@6.6.7): 3090 | optionalDependencies: 3091 | rxjs: 6.6.7 3092 | 3093 | any-promise@1.3.0: {} 3094 | 3095 | argparse@2.0.1: {} 3096 | 3097 | assertion-error@2.0.1: {} 3098 | 3099 | atomically@2.0.3: 3100 | dependencies: 3101 | stubborn-fs: 1.2.5 3102 | when-exit: 2.1.4 3103 | 3104 | balanced-match@1.0.2: {} 3105 | 3106 | boxen@8.0.1: 3107 | dependencies: 3108 | ansi-align: 3.0.1 3109 | camelcase: 8.0.0 3110 | chalk: 5.4.1 3111 | cli-boxes: 3.0.0 3112 | string-width: 7.2.0 3113 | type-fest: 4.37.0 3114 | widest-line: 5.0.0 3115 | wrap-ansi: 9.0.0 3116 | 3117 | brace-expansion@2.0.1: 3118 | dependencies: 3119 | balanced-match: 1.0.2 3120 | 3121 | braces@3.0.3: 3122 | dependencies: 3123 | fill-range: 7.1.1 3124 | 3125 | bundle-name@4.1.0: 3126 | dependencies: 3127 | run-applescript: 7.0.0 3128 | 3129 | bundle-require@5.1.0(esbuild@0.25.4): 3130 | dependencies: 3131 | esbuild: 0.25.4 3132 | load-tsconfig: 0.2.5 3133 | 3134 | cac@6.7.14: {} 3135 | 3136 | callsites@3.1.0: {} 3137 | 3138 | camelcase@8.0.0: {} 3139 | 3140 | chai@5.2.0: 3141 | dependencies: 3142 | assertion-error: 2.0.1 3143 | check-error: 2.1.1 3144 | deep-eql: 5.0.2 3145 | loupe: 3.1.3 3146 | pathval: 2.0.0 3147 | 3148 | chalk-template@1.1.0: 3149 | dependencies: 3150 | chalk: 5.4.1 3151 | 3152 | chalk@1.1.3: 3153 | dependencies: 3154 | ansi-styles: 2.2.1 3155 | escape-string-regexp: 1.0.5 3156 | has-ansi: 2.0.0 3157 | strip-ansi: 3.0.1 3158 | supports-color: 2.0.0 3159 | 3160 | chalk@2.4.2: 3161 | dependencies: 3162 | ansi-styles: 3.2.1 3163 | escape-string-regexp: 1.0.5 3164 | supports-color: 5.5.0 3165 | 3166 | chalk@4.1.2: 3167 | dependencies: 3168 | ansi-styles: 4.3.0 3169 | supports-color: 7.2.0 3170 | 3171 | chalk@5.4.1: {} 3172 | 3173 | chardet@0.7.0: {} 3174 | 3175 | check-error@2.1.1: {} 3176 | 3177 | chokidar@4.0.3: 3178 | dependencies: 3179 | readdirp: 4.1.2 3180 | 3181 | cli-boxes@3.0.0: {} 3182 | 3183 | cli-cursor@2.1.0: 3184 | dependencies: 3185 | restore-cursor: 2.0.0 3186 | 3187 | cli-cursor@3.1.0: 3188 | dependencies: 3189 | restore-cursor: 3.1.0 3190 | 3191 | cli-truncate@0.2.1: 3192 | dependencies: 3193 | slice-ansi: 0.0.4 3194 | string-width: 1.0.2 3195 | 3196 | cli-width@2.2.1: {} 3197 | 3198 | cli-width@3.0.0: {} 3199 | 3200 | cli-width@4.1.0: {} 3201 | 3202 | code-point-at@1.1.0: {} 3203 | 3204 | color-convert@1.9.3: 3205 | dependencies: 3206 | color-name: 1.1.3 3207 | 3208 | color-convert@2.0.1: 3209 | dependencies: 3210 | color-name: 1.1.4 3211 | 3212 | color-name@1.1.3: {} 3213 | 3214 | color-name@1.1.4: {} 3215 | 3216 | commander@4.1.1: {} 3217 | 3218 | confbox@0.1.8: {} 3219 | 3220 | config-chain@1.1.13: 3221 | dependencies: 3222 | ini: 1.3.8 3223 | proto-list: 1.2.4 3224 | 3225 | configstore@7.0.0: 3226 | dependencies: 3227 | atomically: 2.0.3 3228 | dot-prop: 9.0.0 3229 | graceful-fs: 4.2.11 3230 | xdg-basedir: 5.1.0 3231 | 3232 | consola@3.4.2: {} 3233 | 3234 | cosmiconfig@8.3.6(typescript@5.8.3): 3235 | dependencies: 3236 | import-fresh: 3.3.1 3237 | js-yaml: 4.1.0 3238 | parse-json: 5.2.0 3239 | path-type: 4.0.0 3240 | optionalDependencies: 3241 | typescript: 5.8.3 3242 | 3243 | cross-spawn@7.0.6: 3244 | dependencies: 3245 | path-key: 3.1.1 3246 | shebang-command: 2.0.0 3247 | which: 2.0.2 3248 | 3249 | date-fns@1.30.1: {} 3250 | 3251 | debug@4.4.0: 3252 | dependencies: 3253 | ms: 2.1.3 3254 | 3255 | debug@4.4.1: 3256 | dependencies: 3257 | ms: 2.1.3 3258 | 3259 | deep-eql@5.0.2: {} 3260 | 3261 | deep-extend@0.6.0: {} 3262 | 3263 | default-browser-id@5.0.0: {} 3264 | 3265 | default-browser@5.2.1: 3266 | dependencies: 3267 | bundle-name: 4.1.0 3268 | default-browser-id: 5.0.0 3269 | 3270 | define-lazy-prop@3.0.0: {} 3271 | 3272 | del@8.0.0: 3273 | dependencies: 3274 | globby: 14.1.0 3275 | is-glob: 4.0.3 3276 | is-path-cwd: 3.0.0 3277 | is-path-inside: 4.0.0 3278 | p-map: 7.0.3 3279 | slash: 5.1.0 3280 | 3281 | detect-indent@7.0.1: {} 3282 | 3283 | detect-newline@4.0.1: {} 3284 | 3285 | dot-prop@9.0.0: 3286 | dependencies: 3287 | type-fest: 4.37.0 3288 | 3289 | eastasianwidth@0.2.0: {} 3290 | 3291 | elegant-spinner@1.0.1: {} 3292 | 3293 | emoji-regex@10.4.0: {} 3294 | 3295 | emoji-regex@8.0.0: {} 3296 | 3297 | emoji-regex@9.2.2: {} 3298 | 3299 | error-ex@1.3.2: 3300 | dependencies: 3301 | is-arrayish: 0.2.1 3302 | 3303 | es-module-lexer@1.6.0: {} 3304 | 3305 | esbuild@0.21.5: 3306 | optionalDependencies: 3307 | '@esbuild/aix-ppc64': 0.21.5 3308 | '@esbuild/android-arm': 0.21.5 3309 | '@esbuild/android-arm64': 0.21.5 3310 | '@esbuild/android-x64': 0.21.5 3311 | '@esbuild/darwin-arm64': 0.21.5 3312 | '@esbuild/darwin-x64': 0.21.5 3313 | '@esbuild/freebsd-arm64': 0.21.5 3314 | '@esbuild/freebsd-x64': 0.21.5 3315 | '@esbuild/linux-arm': 0.21.5 3316 | '@esbuild/linux-arm64': 0.21.5 3317 | '@esbuild/linux-ia32': 0.21.5 3318 | '@esbuild/linux-loong64': 0.21.5 3319 | '@esbuild/linux-mips64el': 0.21.5 3320 | '@esbuild/linux-ppc64': 0.21.5 3321 | '@esbuild/linux-riscv64': 0.21.5 3322 | '@esbuild/linux-s390x': 0.21.5 3323 | '@esbuild/linux-x64': 0.21.5 3324 | '@esbuild/netbsd-x64': 0.21.5 3325 | '@esbuild/openbsd-x64': 0.21.5 3326 | '@esbuild/sunos-x64': 0.21.5 3327 | '@esbuild/win32-arm64': 0.21.5 3328 | '@esbuild/win32-ia32': 0.21.5 3329 | '@esbuild/win32-x64': 0.21.5 3330 | 3331 | esbuild@0.25.4: 3332 | optionalDependencies: 3333 | '@esbuild/aix-ppc64': 0.25.4 3334 | '@esbuild/android-arm': 0.25.4 3335 | '@esbuild/android-arm64': 0.25.4 3336 | '@esbuild/android-x64': 0.25.4 3337 | '@esbuild/darwin-arm64': 0.25.4 3338 | '@esbuild/darwin-x64': 0.25.4 3339 | '@esbuild/freebsd-arm64': 0.25.4 3340 | '@esbuild/freebsd-x64': 0.25.4 3341 | '@esbuild/linux-arm': 0.25.4 3342 | '@esbuild/linux-arm64': 0.25.4 3343 | '@esbuild/linux-ia32': 0.25.4 3344 | '@esbuild/linux-loong64': 0.25.4 3345 | '@esbuild/linux-mips64el': 0.25.4 3346 | '@esbuild/linux-ppc64': 0.25.4 3347 | '@esbuild/linux-riscv64': 0.25.4 3348 | '@esbuild/linux-s390x': 0.25.4 3349 | '@esbuild/linux-x64': 0.25.4 3350 | '@esbuild/netbsd-arm64': 0.25.4 3351 | '@esbuild/netbsd-x64': 0.25.4 3352 | '@esbuild/openbsd-arm64': 0.25.4 3353 | '@esbuild/openbsd-x64': 0.25.4 3354 | '@esbuild/sunos-x64': 0.25.4 3355 | '@esbuild/win32-arm64': 0.25.4 3356 | '@esbuild/win32-ia32': 0.25.4 3357 | '@esbuild/win32-x64': 0.25.4 3358 | 3359 | escape-goat@4.0.0: {} 3360 | 3361 | escape-string-regexp@1.0.5: {} 3362 | 3363 | escape-string-regexp@5.0.0: {} 3364 | 3365 | estree-walker@3.0.3: 3366 | dependencies: 3367 | '@types/estree': 1.0.7 3368 | 3369 | execa@8.0.1: 3370 | dependencies: 3371 | cross-spawn: 7.0.6 3372 | get-stream: 8.0.1 3373 | human-signals: 5.0.0 3374 | is-stream: 3.0.0 3375 | merge-stream: 2.0.0 3376 | npm-run-path: 5.3.0 3377 | onetime: 6.0.0 3378 | signal-exit: 4.1.0 3379 | strip-final-newline: 3.0.0 3380 | 3381 | execa@9.6.0: 3382 | dependencies: 3383 | '@sindresorhus/merge-streams': 4.0.0 3384 | cross-spawn: 7.0.6 3385 | figures: 6.1.0 3386 | get-stream: 9.0.1 3387 | human-signals: 8.0.1 3388 | is-plain-obj: 4.1.0 3389 | is-stream: 4.0.1 3390 | npm-run-path: 6.0.0 3391 | pretty-ms: 9.2.0 3392 | signal-exit: 4.1.0 3393 | strip-final-newline: 4.0.0 3394 | yoctocolors: 2.1.1 3395 | 3396 | exit-hook@4.0.0: {} 3397 | 3398 | expect-type@1.2.0: {} 3399 | 3400 | external-editor@3.1.0: 3401 | dependencies: 3402 | chardet: 0.7.0 3403 | iconv-lite: 0.4.24 3404 | tmp: 0.0.33 3405 | 3406 | fast-glob@3.3.3: 3407 | dependencies: 3408 | '@nodelib/fs.stat': 2.0.5 3409 | '@nodelib/fs.walk': 1.2.8 3410 | glob-parent: 5.1.2 3411 | merge2: 1.4.1 3412 | micromatch: 4.0.8 3413 | 3414 | fastq@1.19.1: 3415 | dependencies: 3416 | reusify: 1.1.0 3417 | 3418 | fdir@6.4.4(picomatch@4.0.2): 3419 | optionalDependencies: 3420 | picomatch: 4.0.2 3421 | 3422 | figures@1.7.0: 3423 | dependencies: 3424 | escape-string-regexp: 1.0.5 3425 | object-assign: 4.1.1 3426 | 3427 | figures@2.0.0: 3428 | dependencies: 3429 | escape-string-regexp: 1.0.5 3430 | 3431 | figures@3.2.0: 3432 | dependencies: 3433 | escape-string-regexp: 1.0.5 3434 | 3435 | figures@6.1.0: 3436 | dependencies: 3437 | is-unicode-supported: 2.1.0 3438 | 3439 | fill-range@7.1.1: 3440 | dependencies: 3441 | to-regex-range: 5.0.1 3442 | 3443 | find-up-simple@1.0.1: {} 3444 | 3445 | find-up@4.1.0: 3446 | dependencies: 3447 | locate-path: 5.0.0 3448 | path-exists: 4.0.0 3449 | 3450 | fix-dts-default-cjs-exports@1.0.1: 3451 | dependencies: 3452 | magic-string: 0.30.17 3453 | mlly: 1.7.4 3454 | rollup: 4.41.0 3455 | 3456 | foreground-child@3.3.1: 3457 | dependencies: 3458 | cross-spawn: 7.0.6 3459 | signal-exit: 4.1.0 3460 | 3461 | fsevents@2.3.3: 3462 | optional: true 3463 | 3464 | get-east-asian-width@1.3.0: {} 3465 | 3466 | get-stream@8.0.1: {} 3467 | 3468 | get-stream@9.0.1: 3469 | dependencies: 3470 | '@sec-ant/readable-stream': 0.4.1 3471 | is-stream: 4.0.1 3472 | 3473 | git-hooks-list@4.1.1: {} 3474 | 3475 | github-url-from-git@1.5.0: {} 3476 | 3477 | glob-parent@5.1.2: 3478 | dependencies: 3479 | is-glob: 4.0.3 3480 | 3481 | glob@10.4.5: 3482 | dependencies: 3483 | foreground-child: 3.3.1 3484 | jackspeak: 3.4.3 3485 | minimatch: 9.0.5 3486 | minipass: 7.1.2 3487 | package-json-from-dist: 1.0.1 3488 | path-scurry: 1.11.1 3489 | 3490 | glob@11.0.1: 3491 | dependencies: 3492 | foreground-child: 3.3.1 3493 | jackspeak: 4.1.0 3494 | minimatch: 10.0.1 3495 | minipass: 7.1.2 3496 | package-json-from-dist: 1.0.1 3497 | path-scurry: 2.0.0 3498 | 3499 | global-directory@4.0.1: 3500 | dependencies: 3501 | ini: 4.1.1 3502 | 3503 | globby@14.1.0: 3504 | dependencies: 3505 | '@sindresorhus/merge-streams': 2.3.0 3506 | fast-glob: 3.3.3 3507 | ignore: 7.0.3 3508 | path-type: 6.0.0 3509 | slash: 5.1.0 3510 | unicorn-magic: 0.3.0 3511 | 3512 | graceful-fs@4.2.10: {} 3513 | 3514 | graceful-fs@4.2.11: {} 3515 | 3516 | has-ansi@2.0.0: 3517 | dependencies: 3518 | ansi-regex: 2.1.1 3519 | 3520 | has-flag@3.0.0: {} 3521 | 3522 | has-flag@4.0.0: {} 3523 | 3524 | hosted-git-info@7.0.2: 3525 | dependencies: 3526 | lru-cache: 10.4.3 3527 | 3528 | hosted-git-info@8.0.2: 3529 | dependencies: 3530 | lru-cache: 10.4.3 3531 | 3532 | html-escaper@2.0.2: {} 3533 | 3534 | human-signals@5.0.0: {} 3535 | 3536 | human-signals@8.0.1: {} 3537 | 3538 | iconv-lite@0.4.24: 3539 | dependencies: 3540 | safer-buffer: 2.1.2 3541 | 3542 | ignore-walk@7.0.0: 3543 | dependencies: 3544 | minimatch: 9.0.5 3545 | 3546 | ignore@7.0.3: {} 3547 | 3548 | import-fresh@3.3.1: 3549 | dependencies: 3550 | parent-module: 1.0.1 3551 | resolve-from: 4.0.0 3552 | 3553 | import-local@3.2.0: 3554 | dependencies: 3555 | pkg-dir: 4.2.0 3556 | resolve-cwd: 3.0.0 3557 | 3558 | indent-string@3.2.0: {} 3559 | 3560 | index-to-position@1.0.0: {} 3561 | 3562 | ini@1.3.8: {} 3563 | 3564 | ini@4.1.1: {} 3565 | 3566 | inquirer-autosubmit-prompt@0.2.0: 3567 | dependencies: 3568 | chalk: 2.4.2 3569 | inquirer: 6.5.2 3570 | rxjs: 6.6.7 3571 | 3572 | inquirer@12.5.0(@types/node@22.15.29): 3573 | dependencies: 3574 | '@inquirer/core': 10.1.9(@types/node@22.15.29) 3575 | '@inquirer/prompts': 7.4.0(@types/node@22.15.29) 3576 | '@inquirer/type': 3.0.5(@types/node@22.15.29) 3577 | ansi-escapes: 4.3.2 3578 | mute-stream: 2.0.0 3579 | run-async: 3.0.0 3580 | rxjs: 7.8.2 3581 | optionalDependencies: 3582 | '@types/node': 22.15.29 3583 | 3584 | inquirer@6.5.2: 3585 | dependencies: 3586 | ansi-escapes: 3.2.0 3587 | chalk: 2.4.2 3588 | cli-cursor: 2.1.0 3589 | cli-width: 2.2.1 3590 | external-editor: 3.1.0 3591 | figures: 2.0.0 3592 | lodash: 4.17.21 3593 | mute-stream: 0.0.7 3594 | run-async: 2.4.1 3595 | rxjs: 6.6.7 3596 | string-width: 2.1.1 3597 | strip-ansi: 5.2.0 3598 | through: 2.3.8 3599 | 3600 | inquirer@7.3.3: 3601 | dependencies: 3602 | ansi-escapes: 4.3.2 3603 | chalk: 4.1.2 3604 | cli-cursor: 3.1.0 3605 | cli-width: 3.0.0 3606 | external-editor: 3.1.0 3607 | figures: 3.2.0 3608 | lodash: 4.17.21 3609 | mute-stream: 0.0.8 3610 | run-async: 2.4.1 3611 | rxjs: 6.6.7 3612 | string-width: 4.2.3 3613 | strip-ansi: 6.0.1 3614 | through: 2.3.8 3615 | 3616 | is-arrayish@0.2.1: {} 3617 | 3618 | is-docker@3.0.0: {} 3619 | 3620 | is-extglob@2.1.1: {} 3621 | 3622 | is-fullwidth-code-point@1.0.0: 3623 | dependencies: 3624 | number-is-nan: 1.0.1 3625 | 3626 | is-fullwidth-code-point@2.0.0: {} 3627 | 3628 | is-fullwidth-code-point@3.0.0: {} 3629 | 3630 | is-glob@4.0.3: 3631 | dependencies: 3632 | is-extglob: 2.1.1 3633 | 3634 | is-in-ci@1.0.0: {} 3635 | 3636 | is-inside-container@1.0.0: 3637 | dependencies: 3638 | is-docker: 3.0.0 3639 | 3640 | is-installed-globally@1.0.0: 3641 | dependencies: 3642 | global-directory: 4.0.1 3643 | is-path-inside: 4.0.0 3644 | 3645 | is-interactive@2.0.0: {} 3646 | 3647 | is-npm@6.0.0: {} 3648 | 3649 | is-number@7.0.0: {} 3650 | 3651 | is-observable@1.1.0: 3652 | dependencies: 3653 | symbol-observable: 1.2.0 3654 | 3655 | is-path-cwd@3.0.0: {} 3656 | 3657 | is-path-inside@4.0.0: {} 3658 | 3659 | is-plain-obj@4.1.0: {} 3660 | 3661 | is-promise@2.2.2: {} 3662 | 3663 | is-scoped@3.0.0: 3664 | dependencies: 3665 | scoped-regex: 3.0.0 3666 | 3667 | is-stream@1.1.0: {} 3668 | 3669 | is-stream@3.0.0: {} 3670 | 3671 | is-stream@4.0.1: {} 3672 | 3673 | is-unicode-supported@2.1.0: {} 3674 | 3675 | is-url-superb@6.1.0: {} 3676 | 3677 | is-wsl@3.1.0: 3678 | dependencies: 3679 | is-inside-container: 1.0.0 3680 | 3681 | isexe@2.0.0: {} 3682 | 3683 | issue-regex@4.3.0: {} 3684 | 3685 | istanbul-lib-coverage@3.2.2: {} 3686 | 3687 | istanbul-lib-report@3.0.1: 3688 | dependencies: 3689 | istanbul-lib-coverage: 3.2.2 3690 | make-dir: 4.0.0 3691 | supports-color: 7.2.0 3692 | 3693 | istanbul-lib-source-maps@5.0.6: 3694 | dependencies: 3695 | '@jridgewell/trace-mapping': 0.3.25 3696 | debug: 4.4.0 3697 | istanbul-lib-coverage: 3.2.2 3698 | transitivePeerDependencies: 3699 | - supports-color 3700 | 3701 | istanbul-reports@3.1.7: 3702 | dependencies: 3703 | html-escaper: 2.0.2 3704 | istanbul-lib-report: 3.0.1 3705 | 3706 | jackspeak@3.4.3: 3707 | dependencies: 3708 | '@isaacs/cliui': 8.0.2 3709 | optionalDependencies: 3710 | '@pkgjs/parseargs': 0.11.0 3711 | 3712 | jackspeak@4.1.0: 3713 | dependencies: 3714 | '@isaacs/cliui': 8.0.2 3715 | 3716 | joycon@3.1.1: {} 3717 | 3718 | js-tokens@4.0.0: {} 3719 | 3720 | js-yaml@4.1.0: 3721 | dependencies: 3722 | argparse: 2.0.1 3723 | 3724 | json-parse-even-better-errors@2.3.1: {} 3725 | 3726 | ky@1.7.5: {} 3727 | 3728 | latest-version@9.0.0: 3729 | dependencies: 3730 | package-json: 10.0.1 3731 | 3732 | lilconfig@3.1.3: {} 3733 | 3734 | lines-and-columns@1.2.4: {} 3735 | 3736 | listr-input@0.2.1: 3737 | dependencies: 3738 | inquirer: 7.3.3 3739 | inquirer-autosubmit-prompt: 0.2.0 3740 | rxjs: 6.6.7 3741 | through: 2.3.8 3742 | 3743 | listr-silent-renderer@1.1.1: {} 3744 | 3745 | listr-update-renderer@0.5.0(listr@0.14.3): 3746 | dependencies: 3747 | chalk: 1.1.3 3748 | cli-truncate: 0.2.1 3749 | elegant-spinner: 1.0.1 3750 | figures: 1.7.0 3751 | indent-string: 3.2.0 3752 | listr: 0.14.3 3753 | log-symbols: 1.0.2 3754 | log-update: 2.3.0 3755 | strip-ansi: 3.0.1 3756 | 3757 | listr-verbose-renderer@0.5.0: 3758 | dependencies: 3759 | chalk: 2.4.2 3760 | cli-cursor: 2.1.0 3761 | date-fns: 1.30.1 3762 | figures: 2.0.0 3763 | 3764 | listr@0.14.3: 3765 | dependencies: 3766 | '@samverschueren/stream-to-observable': 0.3.1(rxjs@6.6.7) 3767 | is-observable: 1.1.0 3768 | is-promise: 2.2.2 3769 | is-stream: 1.1.0 3770 | listr-silent-renderer: 1.1.1 3771 | listr-update-renderer: 0.5.0(listr@0.14.3) 3772 | listr-verbose-renderer: 0.5.0 3773 | p-map: 2.1.0 3774 | rxjs: 6.6.7 3775 | transitivePeerDependencies: 3776 | - zen-observable 3777 | - zenObservable 3778 | 3779 | load-tsconfig@0.2.5: {} 3780 | 3781 | locate-path@5.0.0: 3782 | dependencies: 3783 | p-locate: 4.1.0 3784 | 3785 | lodash.sortby@4.7.0: {} 3786 | 3787 | lodash.zip@4.2.0: {} 3788 | 3789 | lodash@4.17.21: {} 3790 | 3791 | log-symbols@1.0.2: 3792 | dependencies: 3793 | chalk: 1.1.3 3794 | 3795 | log-symbols@7.0.0: 3796 | dependencies: 3797 | is-unicode-supported: 2.1.0 3798 | yoctocolors: 2.1.1 3799 | 3800 | log-update@2.3.0: 3801 | dependencies: 3802 | ansi-escapes: 3.2.0 3803 | cli-cursor: 2.1.0 3804 | wrap-ansi: 3.0.1 3805 | 3806 | loupe@3.1.3: {} 3807 | 3808 | lru-cache@10.4.3: {} 3809 | 3810 | lru-cache@11.0.2: {} 3811 | 3812 | magic-string@0.30.17: 3813 | dependencies: 3814 | '@jridgewell/sourcemap-codec': 1.5.0 3815 | 3816 | magicast@0.3.5: 3817 | dependencies: 3818 | '@babel/parser': 7.26.10 3819 | '@babel/types': 7.26.10 3820 | source-map-js: 1.2.1 3821 | 3822 | make-dir@4.0.0: 3823 | dependencies: 3824 | semver: 7.7.1 3825 | 3826 | meow@13.2.0: {} 3827 | 3828 | merge-stream@2.0.0: {} 3829 | 3830 | merge2@1.4.1: {} 3831 | 3832 | micromatch@4.0.8: 3833 | dependencies: 3834 | braces: 3.0.3 3835 | picomatch: 2.3.1 3836 | 3837 | mimic-fn@1.2.0: {} 3838 | 3839 | mimic-fn@2.1.0: {} 3840 | 3841 | mimic-fn@4.0.0: {} 3842 | 3843 | mimic-function@5.0.1: {} 3844 | 3845 | minimatch@10.0.1: 3846 | dependencies: 3847 | brace-expansion: 2.0.1 3848 | 3849 | minimatch@9.0.5: 3850 | dependencies: 3851 | brace-expansion: 2.0.1 3852 | 3853 | minimist@1.2.8: {} 3854 | 3855 | minipass@7.1.2: {} 3856 | 3857 | mlly@1.7.4: 3858 | dependencies: 3859 | acorn: 8.14.1 3860 | pathe: 2.0.3 3861 | pkg-types: 1.3.1 3862 | ufo: 1.6.1 3863 | 3864 | ms@2.1.3: {} 3865 | 3866 | mute-stream@0.0.7: {} 3867 | 3868 | mute-stream@0.0.8: {} 3869 | 3870 | mute-stream@2.0.0: {} 3871 | 3872 | mz@2.7.0: 3873 | dependencies: 3874 | any-promise: 1.3.0 3875 | object-assign: 4.1.1 3876 | thenify-all: 1.6.0 3877 | 3878 | nanoid@3.3.11: {} 3879 | 3880 | new-github-release-url@2.0.0: 3881 | dependencies: 3882 | type-fest: 2.19.0 3883 | 3884 | normalize-package-data@6.0.2: 3885 | dependencies: 3886 | hosted-git-info: 7.0.2 3887 | semver: 7.7.1 3888 | validate-npm-package-license: 3.0.4 3889 | 3890 | np@10.2.0(@types/node@22.15.29)(typescript@5.8.3): 3891 | dependencies: 3892 | chalk: 5.4.1 3893 | chalk-template: 1.1.0 3894 | cosmiconfig: 8.3.6(typescript@5.8.3) 3895 | del: 8.0.0 3896 | escape-goat: 4.0.0 3897 | escape-string-regexp: 5.0.0 3898 | execa: 8.0.1 3899 | exit-hook: 4.0.0 3900 | github-url-from-git: 1.5.0 3901 | hosted-git-info: 8.0.2 3902 | ignore-walk: 7.0.0 3903 | import-local: 3.2.0 3904 | inquirer: 12.5.0(@types/node@22.15.29) 3905 | is-installed-globally: 1.0.0 3906 | is-interactive: 2.0.0 3907 | is-scoped: 3.0.0 3908 | issue-regex: 4.3.0 3909 | listr: 0.14.3 3910 | listr-input: 0.2.1 3911 | log-symbols: 7.0.0 3912 | meow: 13.2.0 3913 | new-github-release-url: 2.0.0 3914 | npm-name: 8.0.0 3915 | onetime: 7.0.0 3916 | open: 10.1.0 3917 | p-memoize: 7.1.1 3918 | p-timeout: 6.1.4 3919 | path-exists: 5.0.0 3920 | pkg-dir: 8.0.0 3921 | read-package-up: 11.0.0 3922 | read-pkg: 9.0.1 3923 | rxjs: 7.8.2 3924 | semver: 7.7.1 3925 | symbol-observable: 4.0.0 3926 | terminal-link: 3.0.0 3927 | update-notifier: 7.3.1 3928 | transitivePeerDependencies: 3929 | - '@types/node' 3930 | - typescript 3931 | - zen-observable 3932 | - zenObservable 3933 | 3934 | npm-name@8.0.0: 3935 | dependencies: 3936 | is-scoped: 3.0.0 3937 | is-url-superb: 6.1.0 3938 | ky: 1.7.5 3939 | lodash.zip: 4.2.0 3940 | org-regex: 1.0.0 3941 | p-map: 7.0.3 3942 | registry-auth-token: 5.1.0 3943 | registry-url: 6.0.1 3944 | validate-npm-package-name: 5.0.1 3945 | 3946 | npm-run-path@5.3.0: 3947 | dependencies: 3948 | path-key: 4.0.0 3949 | 3950 | npm-run-path@6.0.0: 3951 | dependencies: 3952 | path-key: 4.0.0 3953 | unicorn-magic: 0.3.0 3954 | 3955 | number-is-nan@1.0.1: {} 3956 | 3957 | object-assign@4.1.1: {} 3958 | 3959 | onetime@2.0.1: 3960 | dependencies: 3961 | mimic-fn: 1.2.0 3962 | 3963 | onetime@5.1.2: 3964 | dependencies: 3965 | mimic-fn: 2.1.0 3966 | 3967 | onetime@6.0.0: 3968 | dependencies: 3969 | mimic-fn: 4.0.0 3970 | 3971 | onetime@7.0.0: 3972 | dependencies: 3973 | mimic-function: 5.0.1 3974 | 3975 | open@10.1.0: 3976 | dependencies: 3977 | default-browser: 5.2.1 3978 | define-lazy-prop: 3.0.0 3979 | is-inside-container: 1.0.0 3980 | is-wsl: 3.1.0 3981 | 3982 | org-regex@1.0.0: {} 3983 | 3984 | os-tmpdir@1.0.2: {} 3985 | 3986 | p-limit@2.3.0: 3987 | dependencies: 3988 | p-try: 2.2.0 3989 | 3990 | p-locate@4.1.0: 3991 | dependencies: 3992 | p-limit: 2.3.0 3993 | 3994 | p-map@2.1.0: {} 3995 | 3996 | p-map@7.0.3: {} 3997 | 3998 | p-memoize@7.1.1: 3999 | dependencies: 4000 | mimic-fn: 4.0.0 4001 | type-fest: 3.13.1 4002 | 4003 | p-timeout@6.1.4: {} 4004 | 4005 | p-try@2.2.0: {} 4006 | 4007 | package-json-from-dist@1.0.1: {} 4008 | 4009 | package-json@10.0.1: 4010 | dependencies: 4011 | ky: 1.7.5 4012 | registry-auth-token: 5.1.0 4013 | registry-url: 6.0.1 4014 | semver: 7.7.1 4015 | 4016 | parent-module@1.0.1: 4017 | dependencies: 4018 | callsites: 3.1.0 4019 | 4020 | parse-json@5.2.0: 4021 | dependencies: 4022 | '@babel/code-frame': 7.26.2 4023 | error-ex: 1.3.2 4024 | json-parse-even-better-errors: 2.3.1 4025 | lines-and-columns: 1.2.4 4026 | 4027 | parse-json@8.2.0: 4028 | dependencies: 4029 | '@babel/code-frame': 7.26.2 4030 | index-to-position: 1.0.0 4031 | type-fest: 4.37.0 4032 | 4033 | parse-ms@4.0.0: {} 4034 | 4035 | path-exists@4.0.0: {} 4036 | 4037 | path-exists@5.0.0: {} 4038 | 4039 | path-key@3.1.1: {} 4040 | 4041 | path-key@4.0.0: {} 4042 | 4043 | path-scurry@1.11.1: 4044 | dependencies: 4045 | lru-cache: 10.4.3 4046 | minipass: 7.1.2 4047 | 4048 | path-scurry@2.0.0: 4049 | dependencies: 4050 | lru-cache: 11.0.2 4051 | minipass: 7.1.2 4052 | 4053 | path-type@4.0.0: {} 4054 | 4055 | path-type@6.0.0: {} 4056 | 4057 | pathe@1.1.2: {} 4058 | 4059 | pathe@2.0.3: {} 4060 | 4061 | pathval@2.0.0: {} 4062 | 4063 | picocolors@1.1.1: {} 4064 | 4065 | picomatch@2.3.1: {} 4066 | 4067 | picomatch@4.0.2: {} 4068 | 4069 | pirates@4.0.7: {} 4070 | 4071 | pkg-dir@4.2.0: 4072 | dependencies: 4073 | find-up: 4.1.0 4074 | 4075 | pkg-dir@8.0.0: 4076 | dependencies: 4077 | find-up-simple: 1.0.1 4078 | 4079 | pkg-types@1.3.1: 4080 | dependencies: 4081 | confbox: 0.1.8 4082 | mlly: 1.7.4 4083 | pathe: 2.0.3 4084 | 4085 | postcss-load-config@6.0.1(postcss@8.5.3): 4086 | dependencies: 4087 | lilconfig: 3.1.3 4088 | optionalDependencies: 4089 | postcss: 8.5.3 4090 | 4091 | postcss@8.5.3: 4092 | dependencies: 4093 | nanoid: 3.3.11 4094 | picocolors: 1.1.1 4095 | source-map-js: 1.2.1 4096 | 4097 | pretty-ms@9.2.0: 4098 | dependencies: 4099 | parse-ms: 4.0.0 4100 | 4101 | proto-list@1.2.4: {} 4102 | 4103 | punycode@2.3.1: {} 4104 | 4105 | pupa@3.1.0: 4106 | dependencies: 4107 | escape-goat: 4.0.0 4108 | 4109 | queue-microtask@1.2.3: {} 4110 | 4111 | rc@1.2.8: 4112 | dependencies: 4113 | deep-extend: 0.6.0 4114 | ini: 1.3.8 4115 | minimist: 1.2.8 4116 | strip-json-comments: 2.0.1 4117 | 4118 | read-package-up@11.0.0: 4119 | dependencies: 4120 | find-up-simple: 1.0.1 4121 | read-pkg: 9.0.1 4122 | type-fest: 4.37.0 4123 | 4124 | read-pkg@9.0.1: 4125 | dependencies: 4126 | '@types/normalize-package-data': 2.4.4 4127 | normalize-package-data: 6.0.2 4128 | parse-json: 8.2.0 4129 | type-fest: 4.37.0 4130 | unicorn-magic: 0.1.0 4131 | 4132 | readdirp@4.1.2: {} 4133 | 4134 | registry-auth-token@5.1.0: 4135 | dependencies: 4136 | '@pnpm/npm-conf': 2.3.1 4137 | 4138 | registry-url@6.0.1: 4139 | dependencies: 4140 | rc: 1.2.8 4141 | 4142 | rescript@11.1.4: {} 4143 | 4144 | resolve-cwd@3.0.0: 4145 | dependencies: 4146 | resolve-from: 5.0.0 4147 | 4148 | resolve-from@4.0.0: {} 4149 | 4150 | resolve-from@5.0.0: {} 4151 | 4152 | restore-cursor@2.0.0: 4153 | dependencies: 4154 | onetime: 2.0.1 4155 | signal-exit: 3.0.7 4156 | 4157 | restore-cursor@3.1.0: 4158 | dependencies: 4159 | onetime: 5.1.2 4160 | signal-exit: 3.0.7 4161 | 4162 | reusify@1.1.0: {} 4163 | 4164 | rimraf@6.0.1: 4165 | dependencies: 4166 | glob: 11.0.1 4167 | package-json-from-dist: 1.0.1 4168 | 4169 | rollup@4.40.2: 4170 | dependencies: 4171 | '@types/estree': 1.0.7 4172 | optionalDependencies: 4173 | '@rollup/rollup-android-arm-eabi': 4.40.2 4174 | '@rollup/rollup-android-arm64': 4.40.2 4175 | '@rollup/rollup-darwin-arm64': 4.40.2 4176 | '@rollup/rollup-darwin-x64': 4.40.2 4177 | '@rollup/rollup-freebsd-arm64': 4.40.2 4178 | '@rollup/rollup-freebsd-x64': 4.40.2 4179 | '@rollup/rollup-linux-arm-gnueabihf': 4.40.2 4180 | '@rollup/rollup-linux-arm-musleabihf': 4.40.2 4181 | '@rollup/rollup-linux-arm64-gnu': 4.40.2 4182 | '@rollup/rollup-linux-arm64-musl': 4.40.2 4183 | '@rollup/rollup-linux-loongarch64-gnu': 4.40.2 4184 | '@rollup/rollup-linux-powerpc64le-gnu': 4.40.2 4185 | '@rollup/rollup-linux-riscv64-gnu': 4.40.2 4186 | '@rollup/rollup-linux-riscv64-musl': 4.40.2 4187 | '@rollup/rollup-linux-s390x-gnu': 4.40.2 4188 | '@rollup/rollup-linux-x64-gnu': 4.40.2 4189 | '@rollup/rollup-linux-x64-musl': 4.40.2 4190 | '@rollup/rollup-win32-arm64-msvc': 4.40.2 4191 | '@rollup/rollup-win32-ia32-msvc': 4.40.2 4192 | '@rollup/rollup-win32-x64-msvc': 4.40.2 4193 | fsevents: 2.3.3 4194 | 4195 | rollup@4.41.0: 4196 | dependencies: 4197 | '@types/estree': 1.0.7 4198 | optionalDependencies: 4199 | '@rollup/rollup-android-arm-eabi': 4.41.0 4200 | '@rollup/rollup-android-arm64': 4.41.0 4201 | '@rollup/rollup-darwin-arm64': 4.41.0 4202 | '@rollup/rollup-darwin-x64': 4.41.0 4203 | '@rollup/rollup-freebsd-arm64': 4.41.0 4204 | '@rollup/rollup-freebsd-x64': 4.41.0 4205 | '@rollup/rollup-linux-arm-gnueabihf': 4.41.0 4206 | '@rollup/rollup-linux-arm-musleabihf': 4.41.0 4207 | '@rollup/rollup-linux-arm64-gnu': 4.41.0 4208 | '@rollup/rollup-linux-arm64-musl': 4.41.0 4209 | '@rollup/rollup-linux-loongarch64-gnu': 4.41.0 4210 | '@rollup/rollup-linux-powerpc64le-gnu': 4.41.0 4211 | '@rollup/rollup-linux-riscv64-gnu': 4.41.0 4212 | '@rollup/rollup-linux-riscv64-musl': 4.41.0 4213 | '@rollup/rollup-linux-s390x-gnu': 4.41.0 4214 | '@rollup/rollup-linux-x64-gnu': 4.41.0 4215 | '@rollup/rollup-linux-x64-musl': 4.41.0 4216 | '@rollup/rollup-win32-arm64-msvc': 4.41.0 4217 | '@rollup/rollup-win32-ia32-msvc': 4.41.0 4218 | '@rollup/rollup-win32-x64-msvc': 4.41.0 4219 | fsevents: 2.3.3 4220 | 4221 | run-applescript@7.0.0: {} 4222 | 4223 | run-async@2.4.1: {} 4224 | 4225 | run-async@3.0.0: {} 4226 | 4227 | run-parallel@1.2.0: 4228 | dependencies: 4229 | queue-microtask: 1.2.3 4230 | 4231 | rxjs@6.6.7: 4232 | dependencies: 4233 | tslib: 1.14.1 4234 | 4235 | rxjs@7.8.2: 4236 | dependencies: 4237 | tslib: 2.8.1 4238 | 4239 | safer-buffer@2.1.2: {} 4240 | 4241 | scoped-regex@3.0.0: {} 4242 | 4243 | semver@7.7.1: {} 4244 | 4245 | shebang-command@2.0.0: 4246 | dependencies: 4247 | shebang-regex: 3.0.0 4248 | 4249 | shebang-regex@3.0.0: {} 4250 | 4251 | siginfo@2.0.0: {} 4252 | 4253 | signal-exit@3.0.7: {} 4254 | 4255 | signal-exit@4.1.0: {} 4256 | 4257 | slash@5.1.0: {} 4258 | 4259 | slice-ansi@0.0.4: {} 4260 | 4261 | sort-object-keys@1.1.3: {} 4262 | 4263 | sort-package-json@3.2.1: 4264 | dependencies: 4265 | detect-indent: 7.0.1 4266 | detect-newline: 4.0.1 4267 | git-hooks-list: 4.1.1 4268 | is-plain-obj: 4.1.0 4269 | semver: 7.7.1 4270 | sort-object-keys: 1.1.3 4271 | tinyglobby: 0.2.13 4272 | 4273 | source-map-js@1.2.1: {} 4274 | 4275 | source-map@0.8.0-beta.0: 4276 | dependencies: 4277 | whatwg-url: 7.1.0 4278 | 4279 | spdx-correct@3.2.0: 4280 | dependencies: 4281 | spdx-expression-parse: 3.0.1 4282 | spdx-license-ids: 3.0.21 4283 | 4284 | spdx-exceptions@2.5.0: {} 4285 | 4286 | spdx-expression-parse@3.0.1: 4287 | dependencies: 4288 | spdx-exceptions: 2.5.0 4289 | spdx-license-ids: 3.0.21 4290 | 4291 | spdx-license-ids@3.0.21: {} 4292 | 4293 | stackback@0.0.2: {} 4294 | 4295 | std-env@3.8.1: {} 4296 | 4297 | string-width@1.0.2: 4298 | dependencies: 4299 | code-point-at: 1.1.0 4300 | is-fullwidth-code-point: 1.0.0 4301 | strip-ansi: 3.0.1 4302 | 4303 | string-width@2.1.1: 4304 | dependencies: 4305 | is-fullwidth-code-point: 2.0.0 4306 | strip-ansi: 4.0.0 4307 | 4308 | string-width@4.2.3: 4309 | dependencies: 4310 | emoji-regex: 8.0.0 4311 | is-fullwidth-code-point: 3.0.0 4312 | strip-ansi: 6.0.1 4313 | 4314 | string-width@5.1.2: 4315 | dependencies: 4316 | eastasianwidth: 0.2.0 4317 | emoji-regex: 9.2.2 4318 | strip-ansi: 7.1.0 4319 | 4320 | string-width@7.2.0: 4321 | dependencies: 4322 | emoji-regex: 10.4.0 4323 | get-east-asian-width: 1.3.0 4324 | strip-ansi: 7.1.0 4325 | 4326 | strip-ansi@3.0.1: 4327 | dependencies: 4328 | ansi-regex: 2.1.1 4329 | 4330 | strip-ansi@4.0.0: 4331 | dependencies: 4332 | ansi-regex: 3.0.1 4333 | 4334 | strip-ansi@5.2.0: 4335 | dependencies: 4336 | ansi-regex: 4.1.1 4337 | 4338 | strip-ansi@6.0.1: 4339 | dependencies: 4340 | ansi-regex: 5.0.1 4341 | 4342 | strip-ansi@7.1.0: 4343 | dependencies: 4344 | ansi-regex: 6.1.0 4345 | 4346 | strip-final-newline@3.0.0: {} 4347 | 4348 | strip-final-newline@4.0.0: {} 4349 | 4350 | strip-json-comments@2.0.1: {} 4351 | 4352 | stubborn-fs@1.2.5: {} 4353 | 4354 | sucrase@3.35.0: 4355 | dependencies: 4356 | '@jridgewell/gen-mapping': 0.3.8 4357 | commander: 4.1.1 4358 | glob: 10.4.5 4359 | lines-and-columns: 1.2.4 4360 | mz: 2.7.0 4361 | pirates: 4.0.7 4362 | ts-interface-checker: 0.1.13 4363 | 4364 | supports-color@2.0.0: {} 4365 | 4366 | supports-color@5.5.0: 4367 | dependencies: 4368 | has-flag: 3.0.0 4369 | 4370 | supports-color@7.2.0: 4371 | dependencies: 4372 | has-flag: 4.0.0 4373 | 4374 | supports-hyperlinks@2.3.0: 4375 | dependencies: 4376 | has-flag: 4.0.0 4377 | supports-color: 7.2.0 4378 | 4379 | symbol-observable@1.2.0: {} 4380 | 4381 | symbol-observable@4.0.0: {} 4382 | 4383 | terminal-link@3.0.0: 4384 | dependencies: 4385 | ansi-escapes: 5.0.0 4386 | supports-hyperlinks: 2.3.0 4387 | 4388 | test-exclude@7.0.1: 4389 | dependencies: 4390 | '@istanbuljs/schema': 0.1.3 4391 | glob: 10.4.5 4392 | minimatch: 9.0.5 4393 | 4394 | thenify-all@1.6.0: 4395 | dependencies: 4396 | thenify: 3.3.1 4397 | 4398 | thenify@3.3.1: 4399 | dependencies: 4400 | any-promise: 1.3.0 4401 | 4402 | through@2.3.8: {} 4403 | 4404 | tinybench@2.9.0: {} 4405 | 4406 | tinyexec@0.3.2: {} 4407 | 4408 | tinyglobby@0.2.13: 4409 | dependencies: 4410 | fdir: 6.4.4(picomatch@4.0.2) 4411 | picomatch: 4.0.2 4412 | 4413 | tinypool@1.0.2: {} 4414 | 4415 | tinyrainbow@1.2.0: {} 4416 | 4417 | tinyspy@3.0.2: {} 4418 | 4419 | tmp@0.0.33: 4420 | dependencies: 4421 | os-tmpdir: 1.0.2 4422 | 4423 | to-regex-range@5.0.1: 4424 | dependencies: 4425 | is-number: 7.0.0 4426 | 4427 | tr46@1.0.1: 4428 | dependencies: 4429 | punycode: 2.3.1 4430 | 4431 | tree-kill@1.2.2: {} 4432 | 4433 | ts-interface-checker@0.1.13: {} 4434 | 4435 | tslib@1.14.1: {} 4436 | 4437 | tslib@2.8.1: {} 4438 | 4439 | tsup@8.5.0(postcss@8.5.3)(typescript@5.8.3): 4440 | dependencies: 4441 | bundle-require: 5.1.0(esbuild@0.25.4) 4442 | cac: 6.7.14 4443 | chokidar: 4.0.3 4444 | consola: 3.4.2 4445 | debug: 4.4.1 4446 | esbuild: 0.25.4 4447 | fix-dts-default-cjs-exports: 1.0.1 4448 | joycon: 3.1.1 4449 | picocolors: 1.1.1 4450 | postcss-load-config: 6.0.1(postcss@8.5.3) 4451 | resolve-from: 5.0.0 4452 | rollup: 4.41.0 4453 | source-map: 0.8.0-beta.0 4454 | sucrase: 3.35.0 4455 | tinyexec: 0.3.2 4456 | tinyglobby: 0.2.13 4457 | tree-kill: 1.2.2 4458 | optionalDependencies: 4459 | postcss: 8.5.3 4460 | typescript: 5.8.3 4461 | transitivePeerDependencies: 4462 | - jiti 4463 | - supports-color 4464 | - tsx 4465 | - yaml 4466 | 4467 | type-fest@0.21.3: {} 4468 | 4469 | type-fest@1.4.0: {} 4470 | 4471 | type-fest@2.19.0: {} 4472 | 4473 | type-fest@3.13.1: {} 4474 | 4475 | type-fest@4.37.0: {} 4476 | 4477 | typescript@5.8.3: {} 4478 | 4479 | ufo@1.6.1: {} 4480 | 4481 | undici-types@6.21.0: {} 4482 | 4483 | unicorn-magic@0.1.0: {} 4484 | 4485 | unicorn-magic@0.3.0: {} 4486 | 4487 | update-notifier@7.3.1: 4488 | dependencies: 4489 | boxen: 8.0.1 4490 | chalk: 5.4.1 4491 | configstore: 7.0.0 4492 | is-in-ci: 1.0.0 4493 | is-installed-globally: 1.0.0 4494 | is-npm: 6.0.0 4495 | latest-version: 9.0.0 4496 | pupa: 3.1.0 4497 | semver: 7.7.1 4498 | xdg-basedir: 5.1.0 4499 | 4500 | validate-npm-package-license@3.0.4: 4501 | dependencies: 4502 | spdx-correct: 3.2.0 4503 | spdx-expression-parse: 3.0.1 4504 | 4505 | validate-npm-package-name@5.0.1: {} 4506 | 4507 | vite-node@2.1.9(@types/node@22.15.29): 4508 | dependencies: 4509 | cac: 6.7.14 4510 | debug: 4.4.0 4511 | es-module-lexer: 1.6.0 4512 | pathe: 1.1.2 4513 | vite: 5.4.19(@types/node@22.15.29) 4514 | transitivePeerDependencies: 4515 | - '@types/node' 4516 | - less 4517 | - lightningcss 4518 | - sass 4519 | - sass-embedded 4520 | - stylus 4521 | - sugarss 4522 | - supports-color 4523 | - terser 4524 | 4525 | vite@5.4.19(@types/node@22.15.29): 4526 | dependencies: 4527 | esbuild: 0.21.5 4528 | postcss: 8.5.3 4529 | rollup: 4.40.2 4530 | optionalDependencies: 4531 | '@types/node': 22.15.29 4532 | fsevents: 2.3.3 4533 | 4534 | vite@6.3.5(@types/node@22.15.29): 4535 | dependencies: 4536 | esbuild: 0.25.4 4537 | fdir: 6.4.4(picomatch@4.0.2) 4538 | picomatch: 4.0.2 4539 | postcss: 8.5.3 4540 | rollup: 4.40.2 4541 | tinyglobby: 0.2.13 4542 | optionalDependencies: 4543 | '@types/node': 22.15.29 4544 | fsevents: 2.3.3 4545 | 4546 | vitest@2.1.9(@types/node@22.15.29): 4547 | dependencies: 4548 | '@vitest/expect': 2.1.9 4549 | '@vitest/mocker': 2.1.9(vite@5.4.19(@types/node@22.15.29)) 4550 | '@vitest/pretty-format': 2.1.9 4551 | '@vitest/runner': 2.1.9 4552 | '@vitest/snapshot': 2.1.9 4553 | '@vitest/spy': 2.1.9 4554 | '@vitest/utils': 2.1.9 4555 | chai: 5.2.0 4556 | debug: 4.4.0 4557 | expect-type: 1.2.0 4558 | magic-string: 0.30.17 4559 | pathe: 1.1.2 4560 | std-env: 3.8.1 4561 | tinybench: 2.9.0 4562 | tinyexec: 0.3.2 4563 | tinypool: 1.0.2 4564 | tinyrainbow: 1.2.0 4565 | vite: 5.4.19(@types/node@22.15.29) 4566 | vite-node: 2.1.9(@types/node@22.15.29) 4567 | why-is-node-running: 2.3.0 4568 | optionalDependencies: 4569 | '@types/node': 22.15.29 4570 | transitivePeerDependencies: 4571 | - less 4572 | - lightningcss 4573 | - msw 4574 | - sass 4575 | - sass-embedded 4576 | - stylus 4577 | - sugarss 4578 | - supports-color 4579 | - terser 4580 | 4581 | webidl-conversions@4.0.2: {} 4582 | 4583 | whatwg-url@7.1.0: 4584 | dependencies: 4585 | lodash.sortby: 4.7.0 4586 | tr46: 1.0.1 4587 | webidl-conversions: 4.0.2 4588 | 4589 | when-exit@2.1.4: {} 4590 | 4591 | which@2.0.2: 4592 | dependencies: 4593 | isexe: 2.0.0 4594 | 4595 | why-is-node-running@2.3.0: 4596 | dependencies: 4597 | siginfo: 2.0.0 4598 | stackback: 0.0.2 4599 | 4600 | widest-line@5.0.0: 4601 | dependencies: 4602 | string-width: 7.2.0 4603 | 4604 | wrap-ansi@3.0.1: 4605 | dependencies: 4606 | string-width: 2.1.1 4607 | strip-ansi: 4.0.0 4608 | 4609 | wrap-ansi@6.2.0: 4610 | dependencies: 4611 | ansi-styles: 4.3.0 4612 | string-width: 4.2.3 4613 | strip-ansi: 6.0.1 4614 | 4615 | wrap-ansi@7.0.0: 4616 | dependencies: 4617 | ansi-styles: 4.3.0 4618 | string-width: 4.2.3 4619 | strip-ansi: 6.0.1 4620 | 4621 | wrap-ansi@8.1.0: 4622 | dependencies: 4623 | ansi-styles: 6.2.1 4624 | string-width: 5.1.2 4625 | strip-ansi: 7.1.0 4626 | 4627 | wrap-ansi@9.0.0: 4628 | dependencies: 4629 | ansi-styles: 6.2.1 4630 | string-width: 7.2.0 4631 | strip-ansi: 7.1.0 4632 | 4633 | xdg-basedir@5.1.0: {} 4634 | 4635 | yoctocolors-cjs@2.1.2: {} 4636 | 4637 | yoctocolors@2.1.1: {} 4638 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { existsSync } from 'node:fs'; 2 | import * as fs from 'node:fs/promises'; 3 | import * as path from 'node:path'; 4 | import type { Readable } from 'node:stream'; 5 | import chalk from 'chalk'; 6 | import { execaCommand } from 'execa'; 7 | import { npmRunPathEnv } from 'npm-run-path'; 8 | import type { Plugin } from 'vite'; 9 | import parseCompilerLog from './parseCompilerLog.js'; 10 | 11 | const logPrefix = chalk.cyan('[@jihchi/vite-plugin-rescript]'); 12 | 13 | type ReScriptProcess = { 14 | shutdown: () => void; 15 | }; 16 | 17 | async function launchReScript( 18 | watch: boolean, 19 | silent: boolean, 20 | rewatch: boolean, 21 | ): Promise { 22 | let cmd: string; 23 | let finishSignal: string; 24 | if (rewatch) { 25 | cmd = watch ? 'rewatch watch' : 'rewatch build'; 26 | finishSignal = 'Finished initial compilation'; 27 | } else { 28 | cmd = watch ? 'rescript build -with-deps -w' : 'rescript build -with-deps'; 29 | finishSignal = '>>>> Finish compiling'; 30 | } 31 | 32 | const result = execaCommand(cmd, { 33 | env: npmRunPathEnv(), 34 | extendEnv: true, 35 | shell: true, 36 | windowsHide: false, 37 | cwd: process.cwd(), 38 | }); 39 | 40 | let compileOnce = (_value: unknown) => {}; 41 | 42 | function dataListener(chunk: Readable) { 43 | const output = chunk.toString().trimEnd(); 44 | if (!silent) { 45 | // eslint-disable-next-line no-console 46 | console.log(logPrefix, output); 47 | } 48 | if (watch && output.includes(finishSignal)) { 49 | compileOnce(true); 50 | } 51 | } 52 | 53 | const { stdout, stderr } = result; 54 | stdout?.on('data', dataListener); 55 | stderr?.on('data', dataListener); 56 | 57 | if (watch) { 58 | await new Promise((resolve) => { 59 | compileOnce = resolve; 60 | }); 61 | } else { 62 | await result; 63 | } 64 | 65 | return { 66 | shutdown() { 67 | if (!result.killed) { 68 | result.kill(); 69 | } 70 | }, 71 | }; 72 | } 73 | 74 | interface Config { 75 | loader?: { 76 | output?: string; 77 | suffix?: string; 78 | }; 79 | silent?: boolean; 80 | rewatch?: boolean; 81 | } 82 | 83 | export default function createReScriptPlugin(config?: Config): Plugin { 84 | let root: string; 85 | let usingLoader = false; 86 | let childProcessReScript: undefined | ReScriptProcess; 87 | 88 | // Retrieve config 89 | const output = config?.loader?.output ?? './lib/es6'; 90 | const suffix = config?.loader?.suffix ?? '.bs.js'; 91 | const suffixRegex = new RegExp(`${suffix.replace('.', '\\.')}$`); 92 | const silent = config?.silent ?? false; 93 | const rewatch = config?.rewatch ?? false; 94 | 95 | return { 96 | name: '@jihchi/vite-plugin-rescript', 97 | enforce: 'pre', 98 | async configResolved(resolvedConfig) { 99 | root = resolvedConfig.root; 100 | 101 | const { build, command, inlineConfig } = resolvedConfig; 102 | 103 | // exclude "vite preview [--mode ]" 104 | const isOnlyDevServerLaunching = 105 | command === 'serve' && !Object.hasOwn(inlineConfig, 'preview'); 106 | 107 | const isBuildForProduction = command === 'build'; 108 | 109 | const needReScript = isOnlyDevServerLaunching || isBuildForProduction; 110 | 111 | // The watch command can only be run by one process at the same time. 112 | const isLocked = existsSync(path.resolve('./.bsb.lock')); 113 | 114 | const watch = !isLocked && (command === 'serve' || Boolean(build.watch)); 115 | 116 | if (needReScript) { 117 | childProcessReScript = await launchReScript(watch, silent, rewatch); 118 | } 119 | }, 120 | config: (userConfig) => ({ 121 | build: { 122 | // If the build watcher is enabled (adding watch config would automatically enable it), 123 | // exclude rescript files since recompilation should be based on the generated JS files. 124 | watch: userConfig.build?.watch 125 | ? { exclude: ['**/*.res', '**/*.resi'] } 126 | : null, 127 | }, 128 | server: { 129 | watch: { 130 | // Ignore rescript files when watching since they may occasionally trigger hot update 131 | ignored: ['**/*.res', '**/*.resi'], 132 | }, 133 | }, 134 | }), 135 | configureServer(server) { 136 | // Manually find and parse log file after server start since 137 | // initial compilation does not trigger handleHotUpdate. 138 | fs.readFile(path.resolve('./lib/bs/.compiler.log'), 'utf8').then( 139 | (data) => { 140 | const log = data.toString(); 141 | const err = parseCompilerLog(log); 142 | if (err) server.hot.send({ type: 'error', err }); 143 | }, 144 | ); 145 | }, 146 | // Hook that resolves `.bs.js` imports to their `.res` counterpart 147 | async resolveId(source, importer, options) { 148 | if (source.endsWith('.res')) usingLoader = true; 149 | if (options.isEntry || !importer) return null; 150 | if (!importer.endsWith('.res')) return null; 151 | if (!source.endsWith(suffix)) return null; 152 | if (path.isAbsolute(source)) return null; 153 | 154 | // This is the directory name of the ReScript file 155 | const dirname = path.dirname(importer); 156 | 157 | try { 158 | // Check if the source is a node module or an existing file 159 | require.resolve(source, { paths: [dirname] }); 160 | return null; 161 | } catch (err) { 162 | // empty catch 163 | } 164 | 165 | // Only replace the last occurrence 166 | const resFile = source.replace(suffixRegex, '.res'); 167 | const id = path.join(dirname, resFile); 168 | 169 | // Enable other plugins to resolve the file 170 | const resolution = await this.resolve(resFile, importer, { 171 | skipSelf: true, 172 | ...options, 173 | }); 174 | 175 | // The file either doesn't exist or was marked as external 176 | if (!resolution || resolution.external) return resolution; 177 | 178 | // Another plugin resolved the file 179 | if (resolution.id !== resFile) return resolution; 180 | 181 | // Set the id to the absolute path of the ReScript file 182 | return { ...resolution, id }; 183 | }, 184 | // Hook that loads the generated `.bs.js` file from `lib/es6` for ReScript files 185 | async load(id) { 186 | if (!id.endsWith('.res')) return null; 187 | 188 | // Find the path to the generated js file 189 | const relativePath = path.relative(root, id); 190 | const filePath = path 191 | .resolve(output, relativePath) 192 | .replace(/\.res$/, suffix); 193 | 194 | // Add the generated file to the watch module graph 195 | this.addWatchFile(filePath); 196 | 197 | // Read the file content and return the code 198 | return { code: await fs.readFile(filePath, 'utf8') }; 199 | }, 200 | async handleHotUpdate({ file, read, server }) { 201 | // HMR is not automatically triggered when using the ReScript file loader. 202 | // This waits for the generated `.bs.js` files to be generated, then finds 203 | // their associated `.res` files and marks them as files to be reloaded. 204 | if (usingLoader && file.endsWith(suffix)) { 205 | const lib = path.resolve(output); 206 | const relativePath = path.relative(lib, file); 207 | if (relativePath.startsWith('..')) return; 208 | const resFile = relativePath.replace(suffixRegex, '.res'); 209 | const id = path.join(root, resFile); 210 | const moduleNode = server.moduleGraph.getModuleById(id); 211 | if (moduleNode) return [moduleNode]; 212 | } else if (file.endsWith('.compiler.log')) { 213 | const log = await read(); 214 | const err = parseCompilerLog(log); 215 | if (err) server.hot.send({ type: 'error', err }); 216 | } 217 | 218 | return; 219 | }, 220 | async closeBundle() { 221 | childProcessReScript?.shutdown(); 222 | return; 223 | }, 224 | }; 225 | } 226 | -------------------------------------------------------------------------------- /src/parseCompilerLog.ts: -------------------------------------------------------------------------------- 1 | import { EOL } from 'node:os'; 2 | import type { ErrorPayload } from 'vite'; 3 | 4 | const ruler = '—'.repeat(80); 5 | 6 | // https://github.com/rescript-lang/rescript-vscode/blob/7ab2d231f91fee2f93cbf6cae1b38f94c06a58c1/server/src/utils.ts#L288 7 | const fileAndRangeRegex = /(.+):(\d+):(\d+)(-(\d+)(:(\d+))?)?$/; 8 | 9 | // https://github.com/rescript-lang/rescript-vscode/blob/7ab2d231f91fee2f93cbf6cae1b38f94c06a58c1/server/src/utils.ts#L433 10 | const codeRegex = /^ {2,}([0-9]+| +|\.) (│|┆)/; 11 | 12 | // Compiler can treat warnings as hard errors based on `warnings` object in bsconfig.json 13 | const warningErrorRegex = /Warning number \d+ \(configured as error\)/; 14 | 15 | // Returns true if the line indicates the start of an error block 16 | function isErrorLine(line: string | undefined) { 17 | if (line?.startsWith(" We've found a bug for you!")) return true; 18 | if (line?.startsWith(' Syntax error!')) return true; 19 | if (line && warningErrorRegex.test(line)) return true; 20 | return false; 21 | } 22 | 23 | /** 24 | * Parses the .compiler.log, returning the first error or null if no errors were found. 25 | * @param log - The log file text. 26 | * @returns Error object to send to the client or null. 27 | */ 28 | export default function parseCompilerLog( 29 | log: string, 30 | ): ErrorPayload['err'] | null { 31 | // Split by line endings and remove empty lines 32 | const lines = log.split(EOL).filter(Boolean); 33 | 34 | // Optimization; only parse log when compiler is done 35 | if (lines[lines.length - 1]?.startsWith('#Done(')) { 36 | let foundError = false; 37 | let path: string | undefined; 38 | let startLine = 0; 39 | 40 | // There can be additional messages such as hints 41 | const messages = []; 42 | 43 | // Avoid trimming the indentation in vite overlay by adding a horizontal ruler 44 | // https://github.com/vitejs/vite/blob/96591bf9989529de839ba89958755eafe4c445ae/packages/vite/src/client/overlay.ts#L144 45 | const frame = [ruler]; 46 | 47 | // Parse the log file line by line. It might seem weird having to resort to log parsing, 48 | // but this is actually how the official rescript language server works: 49 | // https://github.com/rescript-lang/rescript-vscode/blob/7ab2d231f91fee2f93cbf6cae1b38f94c06a58c1/server/src/utils.ts#L368 50 | for (let i = 0; i < lines.length; i += 1) { 51 | const line = lines[i]; 52 | if (isErrorLine(line)) { 53 | // An error has already been found, but only one can be handled. Do the sane thing 54 | // here by considering the parsing done. It might be possible to combine the multiple 55 | // error messages into one, but that does not seem worth it at the moment. 56 | if (foundError) break; 57 | foundError = true; 58 | 59 | // Optimization; the next line is always the file + range, which means it 60 | // can be parsed now and the next iteration (line) can be skipped. 61 | path = lines?.[i + 1]?.trim(); 62 | 63 | // Extract the start line 64 | const match = path?.match(fileAndRangeRegex); 65 | if (match) startLine = Number(match[2]); 66 | 67 | // Skip the next line since it was handled here 68 | i += 1; 69 | } else if (!foundError) { 70 | // Only run below checks once an error has been found 71 | } else if (line?.startsWith(' Warning number ')) { 72 | // Reached the end of the error 73 | break; 74 | } else if (line?.startsWith('#Done(')) { 75 | // Reached the end of the log file 76 | break; 77 | } else { 78 | // This can now only be code lines or messages 79 | const match = line?.match(codeRegex); 80 | if (match) { 81 | // Replace strange vertical bars with regular ones in order to match 82 | // the code frame regex defined in the vite overlay file: 83 | // https://github.com/vitejs/vite/blob/96591bf9989529de839ba89958755eafe4c445ae/packages/vite/src/client/overlay.ts#L116 84 | let codeFrameLine = line?.replace('┆', '|').replace('│', '|'); 85 | 86 | // Since the red color indicator is lost when parsing the log file, 87 | // this adds a pointer (`>`) to the line where the error starts. 88 | if (Number(match[1]) === startLine) { 89 | codeFrameLine = `> ${codeFrameLine?.substring(2)}`; 90 | } 91 | 92 | if (codeFrameLine) { 93 | frame.push(codeFrameLine); 94 | } 95 | } else if (line?.startsWith(' ')) { 96 | // It has to be a message by now 97 | messages.push(line.trim()); 98 | } 99 | } 100 | } 101 | 102 | if (foundError) { 103 | return { 104 | message: messages.join('\n'), 105 | frame: `${frame.join('\n')}`, 106 | stack: '', 107 | id: path, 108 | }; 109 | } 110 | } 111 | 112 | return null; 113 | } 114 | -------------------------------------------------------------------------------- /test/index.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, expect, it } from 'vitest'; 2 | import Plugin from '../src/index.js'; 3 | 4 | describe('@jihchi/vite-plugin-rescript', () => { 5 | it('works', () => { 6 | const actual = Plugin(); 7 | expect(actual).toHaveProperty('name', '@jihchi/vite-plugin-rescript'); 8 | expect(actual).toHaveProperty('configResolved'); 9 | expect(actual.configResolved).toBeInstanceOf(Function); 10 | }); 11 | 12 | it('invokes closeBundle hook without crashing', async () => { 13 | const actual = Plugin(); 14 | expect(actual).toHaveProperty('closeBundle'); 15 | await expect( 16 | // @ts-expect-error 17 | actual.closeBundle(), 18 | ).resolves.toEqual(undefined); 19 | }); 20 | }); 21 | -------------------------------------------------------------------------------- /test/parseCompilerLog.test.ts: -------------------------------------------------------------------------------- 1 | import { EOL } from 'node:os'; 2 | import { describe, expect, it } from 'vitest'; 3 | import parseCompilerLog from '../src/parseCompilerLog.js'; 4 | 5 | const start = '#Start(1638790229265)'; 6 | const done = '#Done(1638790229437)'; 7 | 8 | const warning = ` 9 | Warning number 27 10 | /path/to/file.res:2:13-18 11 | 12 | 1 │ @react.component 13 | 2 │ let make = (~error, ~status) => { 14 | 3 │ switch error { 15 | 4 │ | #NetworkError => React.null 16 | 17 | unused variable status. 18 | `; 19 | 20 | const error = ` 21 | We've found a bug for you! 22 | /path/to/file.res:3:3-8 23 | 24 | 1 │ @react.component 25 | 2 │ let make = (~error) => { 26 | 3 │ whoops 27 | 4 │ switch error { 28 | 5 │ | #NetworkError => React.null 29 | 30 | The value whoops can't be found 31 | `; 32 | 33 | const syntaxError = ` 34 | Syntax error! 35 | /path/to/file.res:3:20 36 | 37 | 1 │ @react.component 38 | 2 │ let make = (~error) => { 39 | 3 │ let list = list[1, 2, 3] 40 | 4 │ switch error { 41 | 5 │ | #NetworkError => React.null 42 | 43 | Did you forget a \`]\` here? 44 | `; 45 | 46 | const warningError = ` 47 | Warning number 27 (configured as error) 48 | /path/to/file.res:2:13-18 49 | 50 | 1 │ @react.component 51 | 2 │ let make = (~error, ~status) => { 52 | 3 │ switch error { 53 | 4 │ | #NetworkError => React.null 54 | 55 | unused variable status. 56 | `; 57 | 58 | // https://github.com/rescript-lang/rescript-vscode/blob/7ab2d231f91fee2f93cbf6cae1b38f94c06a58c1/server/src/utils.ts#L291 59 | const ppxError = ` 60 | We've found a bug for you! 61 | /path/to/file.res 62 | 63 | 1 │ @react.component 64 | 2 │ let make = (~error) => { 65 | 4 │ switch error { 66 | 5 │ | #NetworkError => React.null 67 | 68 | Something went wrong... 69 | `; 70 | 71 | const errorFrame = ` 72 | ———————————————————————————————————————————————————————————————————————————————— 73 | 1 | @react.component 74 | 2 | let make = (~error) => { 75 | > 3 | whoops 76 | 4 | switch error { 77 | 5 | | #NetworkError => React.null 78 | `.trim(); // Trim newlines while also matching vite overlay trim behavior 79 | 80 | const syntaxErrorFrame = ` 81 | ———————————————————————————————————————————————————————————————————————————————— 82 | 1 | @react.component 83 | 2 | let make = (~error) => { 84 | > 3 | let list = list[1, 2, 3] 85 | 4 | switch error { 86 | 5 | | #NetworkError => React.null 87 | `.trim(); // Trim newlines while also matching vite overlay trim behavior 88 | 89 | const warningErrorFrame = ` 90 | ———————————————————————————————————————————————————————————————————————————————— 91 | 1 | @react.component 92 | > 2 | let make = (~error, ~status) => { 93 | 3 | switch error { 94 | 4 | | #NetworkError => React.null 95 | `.trim(); // Trim newlines while also matching vite overlay trim behavior 96 | 97 | const ppxErrorFrame = ` 98 | ———————————————————————————————————————————————————————————————————————————————— 99 | 1 | @react.component 100 | 2 | let make = (~error) => { 101 | 4 | switch error { 102 | 5 | | #NetworkError => React.null 103 | `.trim(); // Trim newlines while also matching vite overlay trim behavior 104 | 105 | function expectParseCompilerLog(...sections: string[]) { 106 | return expect(parseCompilerLog(sections.join(EOL).replace(/\n/g, EOL))); 107 | } 108 | 109 | describe('@jihchi/vite-plugin-rescript/overlay', () => { 110 | it('returns null for empty string', () => { 111 | expectParseCompilerLog('').toBe(null); 112 | }); 113 | 114 | it('returns null when compiler has just started', () => { 115 | expectParseCompilerLog(start).toBe(null); 116 | }); 117 | 118 | it('returns null when compiler is not yet done', () => { 119 | expectParseCompilerLog(start, error).toBe(null); 120 | }); 121 | 122 | it('returns null when compiler log contains no errors', () => { 123 | expectParseCompilerLog(start, done).toBe(null); 124 | }); 125 | 126 | it('returns null when compiler log contains only warning', () => { 127 | expectParseCompilerLog(start, warning, done).toBe(null); 128 | }); 129 | 130 | it('returns error when compiler log contains error', () => { 131 | expectParseCompilerLog(start, error, done).toEqual({ 132 | message: "The value whoops can't be found", 133 | stack: '', 134 | id: '/path/to/file.res:3:3-8', 135 | frame: errorFrame, 136 | }); 137 | }); 138 | 139 | it('returns error when compiler log contains syntax error', () => { 140 | expectParseCompilerLog(start, syntaxError, done).toEqual({ 141 | message: 'Did you forget a `]` here?', 142 | stack: '', 143 | id: '/path/to/file.res:3:20', 144 | frame: syntaxErrorFrame, 145 | }); 146 | }); 147 | 148 | it('returns error when compiler log contains warning configured as error', () => { 149 | expectParseCompilerLog(start, warningError, done).toEqual({ 150 | message: 'unused variable status.', 151 | stack: '', 152 | id: '/path/to/file.res:2:13-18', 153 | frame: warningErrorFrame, 154 | }); 155 | }); 156 | 157 | it('returns error without frame pointer when path has no location', () => { 158 | expectParseCompilerLog(start, ppxError, done).toEqual({ 159 | message: 'Something went wrong...', 160 | stack: '', 161 | id: '/path/to/file.res', 162 | frame: ppxErrorFrame, 163 | }); 164 | }); 165 | 166 | it('returns error when compiler log contains error and warning', () => { 167 | expectParseCompilerLog(start, error, warning, done).toEqual({ 168 | message: "The value whoops can't be found", 169 | stack: '', 170 | id: '/path/to/file.res:3:3-8', 171 | frame: errorFrame, 172 | }); 173 | }); 174 | 175 | it('returns error when compiler log contains error with odd vertical bars', () => { 176 | expectParseCompilerLog( 177 | start, 178 | error.replace('│', '┆'), 179 | warning, 180 | done, 181 | ).toEqual({ 182 | message: "The value whoops can't be found", 183 | stack: '', 184 | id: '/path/to/file.res:3:3-8', 185 | frame: errorFrame, 186 | }); 187 | }); 188 | 189 | it('returns only the first error', () => { 190 | expectParseCompilerLog(start, error, syntaxError, done).toEqual({ 191 | message: "The value whoops can't be found", 192 | stack: '', 193 | id: '/path/to/file.res:3:3-8', 194 | frame: errorFrame, 195 | }); 196 | }); 197 | 198 | it('returns error with multiple messages', () => { 199 | const hint = ' Did you mean whooops?'; 200 | expectParseCompilerLog(start, error, hint, done).toEqual({ 201 | message: "The value whoops can't be found\nDid you mean whooops?", 202 | stack: '', 203 | id: '/path/to/file.res:3:3-8', 204 | frame: errorFrame, 205 | }); 206 | }); 207 | }); 208 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@sindresorhus/tsconfig", 3 | "compilerOptions": { 4 | "noEmit": true 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'tsup'; 2 | 3 | export default defineConfig({ 4 | entry: ['src/index.ts'], 5 | format: ['cjs', 'esm'], 6 | clean: true, 7 | dts: true, 8 | }); 9 | -------------------------------------------------------------------------------- /vitest.config.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { defineConfig } from 'vite'; 3 | 4 | export default defineConfig({}); 5 | --------------------------------------------------------------------------------