├── .gitignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── package-lock.json ├── package.json ├── src ├── core │ └── index.ts ├── react-entry.ts ├── react │ ├── Button.tsx │ └── index.ts ├── vite-env.d.ts ├── vue-entry.ts └── vue │ ├── Button.vue │ └── index.ts ├── tsconfig.json ├── tsconfig.react.json ├── tsconfig.vue.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | test/**/* 2 | # Logs 3 | logs 4 | *.log 5 | npm-debug.log* 6 | yarn-debug.log* 7 | yarn-error.log* 8 | pnpm-debug.log* 9 | lerna-debug.log* 10 | 11 | node_modules 12 | dist 13 | dist-ssr 14 | *.local 15 | 16 | # Editor directories and files 17 | .vscode/* 18 | !.vscode/extensions.json 19 | .idea 20 | .DS_Store 21 | *.suo 22 | *.ntvs* 23 | *.njsproj 24 | *.sln 25 | *.sw? 26 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | #### 0.0.1 (2024-12-10) 2 | 3 | ##### Chores 4 | 5 | * update dependencies to latest versions (7df6f6aa) 6 | 7 | ##### Bug Fixes 8 | 9 | * react and vue component library setup (844a3922) 10 | 11 | ##### Other Changes 12 | 13 | * core folder (b1fc3554) 14 | 15 | #### 0.0.1 (2024-12-10) 16 | 17 | ##### Chores 18 | 19 | * update dependencies to latest versions (7df6f6aa) 20 | 21 | ##### Bug Fixes 22 | 23 | * react and vue component library setup (844a3922) 24 | 25 | ##### Other Changes 26 | 27 | * core folder (b1fc3554) 28 | 29 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Ebraheem Alhetari 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vue and React Library Template 2 | 3 | ### Enjoying my project? Please show your appreciation by starring it on GitHub! ⭐ 4 | 5 | This is a monorepo template for building a reusable library that supports both **Vue** and **React** components. It is set up using **Vite** for fast builds, TypeScript for type safety, and includes configuration for generating declaration files (`.d.ts`). The template is optimized for creating UI components that can be shared across different frontend frameworks. 6 | 7 | ## Features 8 | 9 | - 🚀 **Fast Builds with Vite**: Vite is used as the build tool, providing fast build times for both Vue and React libraries. 10 | - 💬 **TypeScript Support**: Type-safe development with automatic declaration file generation. 11 | - 📦 **ESM and UMD Bundles**: Outputs both ES modules (`.es.js`) and UMD bundles (`.umd.js`). 12 | - 🌐 **Framework-Specific Bundles**: Separate builds and types for Vue and React (`dist/vue` and `dist/react`). 13 | - 🏗️ **Modular Design**: Supports tree-shaking to minimize bundle sizes. 14 | 15 | ## Table of Contents 16 | 17 | - [Vue and React Library Template](#vue-and-react-library-template) 18 | - [Features](#features) 19 | - [Table of Contents](#table-of-contents) 20 | - [Installation](#installation) 21 | - [Getting Started](#getting-started) 22 | - [Setup Guide](#setup-guide) 23 | - [Rename Placeholder](#rename-placeholder) 24 | - [Commands](#commands) 25 | - [Usage](#usage) 26 | - [Vue](#vue) 27 | - [React](#react) 28 | - [Project Structure](#project-structure) 29 | - [Configuration](#configuration) 30 | - [Vite Config](#vite-config) 31 | - [Setting Up for Vue-Only or React-Only](#setting-up-for-vue-only-or-react-only) 32 | - [Vue-Only Configuration](#vue-only-configuration) 33 | - [React-Only Configuration](#react-only-configuration) 34 | - [TypeScript Config](#typescript-config) 35 | - [Dependencies](#dependencies) 36 | - [Vue and React](#vue-and-react) 37 | - [Vue Only](#vue-only) 38 | - [React Only](#react-only) 39 | - [Build](#build) 40 | - [Contributing](#contributing) 41 | - [License](#license) 42 | 43 | ## Installation 44 | 45 | Clone this repository to start developing your library: 46 | 47 | ```bash 48 | git clone https://github.com/your-username/vue-and-react-library-template.git 49 | cd vue-and-react-library-template 50 | ``` 51 | 52 | Install the latest version of dependencies by running 53 | ```bash 54 | npx npm-check-updates -u && npm i 55 | ``` 56 | 57 | ## Getting Started 58 | 59 | The template includes two main modes: 60 | 61 | - **Vue Mode**: Builds the library for Vue components. 62 | - **React Mode**: Builds the library for React components. 63 | 64 | ### Setup Guide 65 | 66 | #### Rename Placeholder 67 | 68 | Before using this template, make sure to replace all instances of `"Library-Name"` with your actual library name. This includes: 69 | 70 | 1. **Package.json**: Update `name`, `description`, and other relevant fields. 71 | 2. **Vite Config**: Replace `"LibraryName"` in `vite.config.ts`. 72 | 3. **README.md**: Write your description and instructions for using your library. 73 | 74 | ### Commands 75 | 76 | - **Build**: 77 | 78 | ```bash 79 | npm run build # Builds both Vue and React packages 80 | npm run build:vue # Builds Vue package only 81 | npm run build:react # Builds React package only 82 | ``` 83 | 84 | - **Clean**: 85 | 86 | ```bash 87 | npm run clean # Removes the dist folder 88 | ``` 89 | 90 | - **Release Commands**: 91 | Automated scripts are provided for versioning and GitHub releases using [Conventional Changelog](https://github.com/conventional-changelog/standard-version): 92 | **Prerequisites: GitHub CLI installed `gh`** 93 | 94 | - **Patch Release**: 95 | 96 | Updates patch version (e.g., `1.0.0` → `1.0.1`). 97 | 98 | ```bash 99 | npm run release:patch 100 | ``` 101 | 102 | - **Minor Release**: 103 | 104 | Updates minor version (e.g., `1.0.0` → `1.1.0`). 105 | 106 | ```bash 107 | npm run release:minor 108 | ``` 109 | 110 | - **Major Release**: 111 | 112 | Updates major version (e.g., `1.0.0` → `2.0.0`). 113 | 114 | ```bash 115 | npm run release:major 116 | ``` 117 | 118 | ## Usage 119 | 120 | After building your library, the output will be in the `dist` folder, and after publishing, it will be available on npm with the following package names: 121 | 122 | - **Vue package**: `libraryName/vue` 123 | - **React package**: `libraryName/react` 124 | 125 | You can install and use your library as follows: 126 | 127 | ### Vue 128 | 129 | ```javascript 130 | import { MyVueComponent } from 'libraryName/vue'; 131 | 132 | export default { 133 | components: { MyVueComponent } 134 | }; 135 | ``` 136 | 137 | ### React 138 | 139 | ```javascript 140 | import { MyReactComponent } from 'libraryName/react'; 141 | 142 | function App() { 143 | return ; 144 | } 145 | ``` 146 | 147 | ## Project Structure 148 | 149 | ``` 150 | vue-and-react-library-template/ 151 | ├── dist/ # Build output 152 | │ ├── vue/ # Vue library bundle 153 | │ └── react/ # React library bundle 154 | ├── src/ # Source code 155 | ├── ├── core/ # Shared core code 156 | │ ├── vue/ # Vue source code 157 | │ └── react/ # React source code 158 | ├── tsconfig.json # Main TypeScript config 159 | ├── tsconfig.vue.json # Vue-specific TypeScript config 160 | ├── tsconfig.react.json # React-specific TypeScript config 161 | ├── vite.config.ts # Vite config for both Vue and React 162 | ├── package.json 163 | └── README.md 164 | ``` 165 | 166 | ## Configuration 167 | 168 | ### Vite Config 169 | 170 | The `vite.config.ts` is set up to detect the build mode (`vue` or `react`) and apply the respective configuration: 171 | 172 | ```typescript 173 | // ... vite.config.ts code ... 174 | export default defineConfig(({ mode }) => { 175 | const isVue = mode === 'vue'; 176 | const framework = isVue ? 'vue' : 'react'; 177 | const global = ( 178 | isVue ? { vue: 'Vue' } : { react: 'React', 'react/jsx-runtime': 'JSX' } 179 | ) as { [key: string]: string }; 180 | 181 | return { 182 | // ... vite config code ... 183 | }; 184 | }); 185 | ``` 186 | 187 | #### Setting Up for Vue-Only or React-Only 188 | 189 | If you only want to build a Vue or React version of your library and skip dual-mode support, you can simplify your Vite configuration as follows: 190 | 191 | ##### Vue-Only Configuration 192 | 193 | 1. **Remove React files and configurations**: 194 | 195 | - Delete the `src/react/` directory. 196 | - Delete `tsconfig.react.json`. 197 | - Delete any React-related dependencies from `package.json` like `@vitejs/plugin-react`, `react`, and `react-dom`. 198 | 199 | 2. **Update `vite.config.ts`** to a Vue-only configuration: 200 | 201 | ```typescript 202 | import { defineConfig } from 'vite'; 203 | import vue from '@vitejs/plugin-vue'; 204 | import dts from 'vite-plugin-dts'; 205 | import { resolve } from 'path'; 206 | 207 | export default defineConfig({ 208 | plugins: [ 209 | vue(), 210 | dts({ 211 | tsconfigPath: './tsconfig.vue.json', 212 | outDir: 'dist/vue', 213 | include: ['src/vue/**/*', 'src/vue-entry.ts'], 214 | insertTypesEntry: true, 215 | cleanVueFileName: true, 216 | rollupTypes: true, 217 | entryRoot: 'src/' 218 | }) 219 | ], 220 | build: { 221 | target: 'es2015', 222 | copyPublicDir: false, 223 | outDir: 'dist/vue', 224 | lib: { 225 | entry: resolve(__dirname, 'src/vue-entry.ts'), 226 | name: 'LibraryName', 227 | formats: ['es', 'cjs', 'umd'], 228 | fileName: (format) => 229 | format === 'es' ? 'index.js' : `index.${format}.js` 230 | }, 231 | rollupOptions: { 232 | external: ['vue'], 233 | output: { 234 | exports: 'named', 235 | globals: { vue: 'Vue' } 236 | } 237 | } 238 | } 239 | }); 240 | ``` 241 | 242 | ##### React-Only Configuration 243 | 244 | 1. **Remove Vue files and configurations**: 245 | 246 | - Delete the `src/vue/` directory. 247 | - Delete `tsconfig.vue.json`. 248 | - Delete any Vue-related dependencies from `package.json` like `@vitejs/plugin-vue` and `vue`. 249 | 250 | 2. **Update `vite.config.ts`** to a React-only configuration: 251 | 252 | ```typescript 253 | import { defineConfig } from 'vite'; 254 | import react from '@vitejs/plugin-react'; 255 | import dts from 'vite-plugin-dts'; 256 | import { resolve } from 'path'; 257 | 258 | export default defineConfig({ 259 | plugins: [ 260 | react(), 261 | dts({ 262 | tsconfigPath: './tsconfig.react.json', 263 | outDir: 'dist/react', 264 | include: ['src/react/**/*', 'src/react-entry.ts'], 265 | insertTypesEntry: true, 266 | cleanVueFileName: true, 267 | rollupTypes: true, 268 | entryRoot: 'src/' 269 | }) 270 | ], 271 | build: { 272 | target: 'es2015', 273 | copyPublicDir: false, 274 | outDir: 'dist/react', 275 | lib: { 276 | entry: resolve(__dirname, 'src/react-entry.ts'), 277 | name: 'LibraryName', 278 | formats: ['es', 'cjs', 'umd'], 279 | fileName: (format) => 280 | format === 'es' ? 'index.js' : `index.${format}.js` 281 | }, 282 | rollupOptions: { 283 | external: ['react', 'react/jsx-runtime'], 284 | output: { 285 | exports: 'named', 286 | globals: { react: 'React', 'react/jsx-runtime': 'JSX' } 287 | } 288 | } 289 | } 290 | }); 291 | ``` 292 | 293 | ### TypeScript Config 294 | 295 | - `tsconfig.json`: Common settings 296 | - `tsconfig.vue.json`: Vue-specific TypeScript settings 297 | - `tsconfig.react.json`: React-specific TypeScript settings 298 | 299 | for individual libraries, you can add the respective TypeScript configuration file (`tsconfig.react.json` for React or `tsconfig.vue.json` for Vue) to the main `tsconfig.json` file. 300 | 301 | ### Dependencies 302 | 303 | Install necessary dependencies based on your preferred setup: 304 | 305 | #### Vue and React 306 | 307 | If you want both Vue and React support: 308 | 309 | ```bash 310 | npm install vue react react-dom \ 311 | @vitejs/plugin-vue @vitejs/plugin-react \ 312 | @types/vue @types/react @types/node \ 313 | typescript vite vite-plugin-dts generate-changelog 314 | ``` 315 | 316 | #### Vue Only 317 | 318 | ```bash 319 | npm install vue @vitejs/plugin-vue @types/node typescript vite vite-plugin-dts generate-changelog 320 | ``` 321 | 322 | #### React Only 323 | 324 | ```bash 325 | npm install react react-dom @vitejs/plugin-react @types/react @types/node typescript vite vite-plugin-dts generate-changelog 326 | ``` 327 | 328 | ## Build 329 | 330 | To build the project for both Vue and React, use: 331 | 332 | ```bash 333 | npm run build 334 | ``` 335 | 336 | Or to build individually: 337 | 338 | ```bash 339 | npm run build:vue 340 | npm run build:react 341 | ``` 342 | 343 | The compiled files will be available in: 344 | 345 | - `dist/vue`: For Vue components 346 | - `dist/react`: For React components 347 | 348 | ## Contributing 349 | 350 | Contributions are welcome! Please follow these steps: 351 | 352 | 1. Fork this repository 353 | 2. Create a feature branch (`feat/your-feature`) 354 | 3. Commit your changes with descriptive messages (`feat: add new component`) 355 | 4. Open a pull request 356 | 357 | ## License 358 | 359 | This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. 360 | 361 | --- 362 | 363 | Happy coding! 🎉 364 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Library-Name", 3 | "version": "0.0.1", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "Library-Name", 9 | "version": "0.0.1", 10 | "license": "MIT", 11 | "dependencies": { 12 | "react": "^19.0.0", 13 | "vue": "^3.5.13" 14 | }, 15 | "devDependencies": { 16 | "@types/node": "^22.10.1", 17 | "@types/react": "^19.0.1", 18 | "@vitejs/plugin-react": "^4.3.4", 19 | "@vitejs/plugin-vue": "^5.2.1", 20 | "generate-changelog": "^1.8.0", 21 | "typescript": "~5.7.2", 22 | "vite": "^6.0.3", 23 | "vite-plugin-dts": "^4.3.0" 24 | } 25 | }, 26 | "node_modules/@ampproject/remapping": { 27 | "version": "2.3.0", 28 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 29 | "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 30 | "dev": true, 31 | "license": "Apache-2.0", 32 | "dependencies": { 33 | "@jridgewell/gen-mapping": "^0.3.5", 34 | "@jridgewell/trace-mapping": "^0.3.24" 35 | }, 36 | "engines": { 37 | "node": ">=6.0.0" 38 | } 39 | }, 40 | "node_modules/@babel/code-frame": { 41 | "version": "7.26.2", 42 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", 43 | "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", 44 | "dev": true, 45 | "license": "MIT", 46 | "dependencies": { 47 | "@babel/helper-validator-identifier": "^7.25.9", 48 | "js-tokens": "^4.0.0", 49 | "picocolors": "^1.0.0" 50 | }, 51 | "engines": { 52 | "node": ">=6.9.0" 53 | } 54 | }, 55 | "node_modules/@babel/compat-data": { 56 | "version": "7.26.2", 57 | "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", 58 | "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", 59 | "dev": true, 60 | "license": "MIT", 61 | "engines": { 62 | "node": ">=6.9.0" 63 | } 64 | }, 65 | "node_modules/@babel/core": { 66 | "version": "7.26.0", 67 | "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", 68 | "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", 69 | "dev": true, 70 | "license": "MIT", 71 | "dependencies": { 72 | "@ampproject/remapping": "^2.2.0", 73 | "@babel/code-frame": "^7.26.0", 74 | "@babel/generator": "^7.26.0", 75 | "@babel/helper-compilation-targets": "^7.25.9", 76 | "@babel/helper-module-transforms": "^7.26.0", 77 | "@babel/helpers": "^7.26.0", 78 | "@babel/parser": "^7.26.0", 79 | "@babel/template": "^7.25.9", 80 | "@babel/traverse": "^7.25.9", 81 | "@babel/types": "^7.26.0", 82 | "convert-source-map": "^2.0.0", 83 | "debug": "^4.1.0", 84 | "gensync": "^1.0.0-beta.2", 85 | "json5": "^2.2.3", 86 | "semver": "^6.3.1" 87 | }, 88 | "engines": { 89 | "node": ">=6.9.0" 90 | }, 91 | "funding": { 92 | "type": "opencollective", 93 | "url": "https://opencollective.com/babel" 94 | } 95 | }, 96 | "node_modules/@babel/generator": { 97 | "version": "7.26.2", 98 | "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.2.tgz", 99 | "integrity": "sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==", 100 | "dev": true, 101 | "license": "MIT", 102 | "dependencies": { 103 | "@babel/parser": "^7.26.2", 104 | "@babel/types": "^7.26.0", 105 | "@jridgewell/gen-mapping": "^0.3.5", 106 | "@jridgewell/trace-mapping": "^0.3.25", 107 | "jsesc": "^3.0.2" 108 | }, 109 | "engines": { 110 | "node": ">=6.9.0" 111 | } 112 | }, 113 | "node_modules/@babel/helper-compilation-targets": { 114 | "version": "7.25.9", 115 | "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", 116 | "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", 117 | "dev": true, 118 | "license": "MIT", 119 | "dependencies": { 120 | "@babel/compat-data": "^7.25.9", 121 | "@babel/helper-validator-option": "^7.25.9", 122 | "browserslist": "^4.24.0", 123 | "lru-cache": "^5.1.1", 124 | "semver": "^6.3.1" 125 | }, 126 | "engines": { 127 | "node": ">=6.9.0" 128 | } 129 | }, 130 | "node_modules/@babel/helper-module-imports": { 131 | "version": "7.25.9", 132 | "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", 133 | "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", 134 | "dev": true, 135 | "license": "MIT", 136 | "dependencies": { 137 | "@babel/traverse": "^7.25.9", 138 | "@babel/types": "^7.25.9" 139 | }, 140 | "engines": { 141 | "node": ">=6.9.0" 142 | } 143 | }, 144 | "node_modules/@babel/helper-module-transforms": { 145 | "version": "7.26.0", 146 | "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", 147 | "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", 148 | "dev": true, 149 | "license": "MIT", 150 | "dependencies": { 151 | "@babel/helper-module-imports": "^7.25.9", 152 | "@babel/helper-validator-identifier": "^7.25.9", 153 | "@babel/traverse": "^7.25.9" 154 | }, 155 | "engines": { 156 | "node": ">=6.9.0" 157 | }, 158 | "peerDependencies": { 159 | "@babel/core": "^7.0.0" 160 | } 161 | }, 162 | "node_modules/@babel/helper-plugin-utils": { 163 | "version": "7.25.9", 164 | "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz", 165 | "integrity": "sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==", 166 | "dev": true, 167 | "license": "MIT", 168 | "engines": { 169 | "node": ">=6.9.0" 170 | } 171 | }, 172 | "node_modules/@babel/helper-string-parser": { 173 | "version": "7.25.9", 174 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", 175 | "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", 176 | "license": "MIT", 177 | "engines": { 178 | "node": ">=6.9.0" 179 | } 180 | }, 181 | "node_modules/@babel/helper-validator-identifier": { 182 | "version": "7.25.9", 183 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", 184 | "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", 185 | "license": "MIT", 186 | "engines": { 187 | "node": ">=6.9.0" 188 | } 189 | }, 190 | "node_modules/@babel/helper-validator-option": { 191 | "version": "7.25.9", 192 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", 193 | "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", 194 | "dev": true, 195 | "license": "MIT", 196 | "engines": { 197 | "node": ">=6.9.0" 198 | } 199 | }, 200 | "node_modules/@babel/helpers": { 201 | "version": "7.26.0", 202 | "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", 203 | "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", 204 | "dev": true, 205 | "license": "MIT", 206 | "dependencies": { 207 | "@babel/template": "^7.25.9", 208 | "@babel/types": "^7.26.0" 209 | }, 210 | "engines": { 211 | "node": ">=6.9.0" 212 | } 213 | }, 214 | "node_modules/@babel/parser": { 215 | "version": "7.26.2", 216 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", 217 | "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", 218 | "license": "MIT", 219 | "dependencies": { 220 | "@babel/types": "^7.26.0" 221 | }, 222 | "bin": { 223 | "parser": "bin/babel-parser.js" 224 | }, 225 | "engines": { 226 | "node": ">=6.0.0" 227 | } 228 | }, 229 | "node_modules/@babel/plugin-transform-react-jsx-self": { 230 | "version": "7.25.9", 231 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", 232 | "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", 233 | "dev": true, 234 | "license": "MIT", 235 | "dependencies": { 236 | "@babel/helper-plugin-utils": "^7.25.9" 237 | }, 238 | "engines": { 239 | "node": ">=6.9.0" 240 | }, 241 | "peerDependencies": { 242 | "@babel/core": "^7.0.0-0" 243 | } 244 | }, 245 | "node_modules/@babel/plugin-transform-react-jsx-source": { 246 | "version": "7.25.9", 247 | "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", 248 | "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", 249 | "dev": true, 250 | "license": "MIT", 251 | "dependencies": { 252 | "@babel/helper-plugin-utils": "^7.25.9" 253 | }, 254 | "engines": { 255 | "node": ">=6.9.0" 256 | }, 257 | "peerDependencies": { 258 | "@babel/core": "^7.0.0-0" 259 | } 260 | }, 261 | "node_modules/@babel/template": { 262 | "version": "7.25.9", 263 | "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz", 264 | "integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==", 265 | "dev": true, 266 | "license": "MIT", 267 | "dependencies": { 268 | "@babel/code-frame": "^7.25.9", 269 | "@babel/parser": "^7.25.9", 270 | "@babel/types": "^7.25.9" 271 | }, 272 | "engines": { 273 | "node": ">=6.9.0" 274 | } 275 | }, 276 | "node_modules/@babel/traverse": { 277 | "version": "7.25.9", 278 | "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.9.tgz", 279 | "integrity": "sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==", 280 | "dev": true, 281 | "license": "MIT", 282 | "dependencies": { 283 | "@babel/code-frame": "^7.25.9", 284 | "@babel/generator": "^7.25.9", 285 | "@babel/parser": "^7.25.9", 286 | "@babel/template": "^7.25.9", 287 | "@babel/types": "^7.25.9", 288 | "debug": "^4.3.1", 289 | "globals": "^11.1.0" 290 | }, 291 | "engines": { 292 | "node": ">=6.9.0" 293 | } 294 | }, 295 | "node_modules/@babel/types": { 296 | "version": "7.26.0", 297 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", 298 | "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", 299 | "license": "MIT", 300 | "dependencies": { 301 | "@babel/helper-string-parser": "^7.25.9", 302 | "@babel/helper-validator-identifier": "^7.25.9" 303 | }, 304 | "engines": { 305 | "node": ">=6.9.0" 306 | } 307 | }, 308 | "node_modules/@esbuild/aix-ppc64": { 309 | "version": "0.24.0", 310 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.0.tgz", 311 | "integrity": "sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==", 312 | "cpu": [ 313 | "ppc64" 314 | ], 315 | "dev": true, 316 | "optional": true, 317 | "os": [ 318 | "aix" 319 | ], 320 | "engines": { 321 | "node": ">=18" 322 | } 323 | }, 324 | "node_modules/@esbuild/android-arm": { 325 | "version": "0.24.0", 326 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.0.tgz", 327 | "integrity": "sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==", 328 | "cpu": [ 329 | "arm" 330 | ], 331 | "dev": true, 332 | "optional": true, 333 | "os": [ 334 | "android" 335 | ], 336 | "engines": { 337 | "node": ">=18" 338 | } 339 | }, 340 | "node_modules/@esbuild/android-arm64": { 341 | "version": "0.24.0", 342 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.0.tgz", 343 | "integrity": "sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==", 344 | "cpu": [ 345 | "arm64" 346 | ], 347 | "dev": true, 348 | "optional": true, 349 | "os": [ 350 | "android" 351 | ], 352 | "engines": { 353 | "node": ">=18" 354 | } 355 | }, 356 | "node_modules/@esbuild/android-x64": { 357 | "version": "0.24.0", 358 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.0.tgz", 359 | "integrity": "sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==", 360 | "cpu": [ 361 | "x64" 362 | ], 363 | "dev": true, 364 | "optional": true, 365 | "os": [ 366 | "android" 367 | ], 368 | "engines": { 369 | "node": ">=18" 370 | } 371 | }, 372 | "node_modules/@esbuild/darwin-arm64": { 373 | "version": "0.24.0", 374 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.0.tgz", 375 | "integrity": "sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==", 376 | "cpu": [ 377 | "arm64" 378 | ], 379 | "dev": true, 380 | "optional": true, 381 | "os": [ 382 | "darwin" 383 | ], 384 | "engines": { 385 | "node": ">=18" 386 | } 387 | }, 388 | "node_modules/@esbuild/darwin-x64": { 389 | "version": "0.24.0", 390 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.0.tgz", 391 | "integrity": "sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==", 392 | "cpu": [ 393 | "x64" 394 | ], 395 | "dev": true, 396 | "optional": true, 397 | "os": [ 398 | "darwin" 399 | ], 400 | "engines": { 401 | "node": ">=18" 402 | } 403 | }, 404 | "node_modules/@esbuild/freebsd-arm64": { 405 | "version": "0.24.0", 406 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.0.tgz", 407 | "integrity": "sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==", 408 | "cpu": [ 409 | "arm64" 410 | ], 411 | "dev": true, 412 | "optional": true, 413 | "os": [ 414 | "freebsd" 415 | ], 416 | "engines": { 417 | "node": ">=18" 418 | } 419 | }, 420 | "node_modules/@esbuild/freebsd-x64": { 421 | "version": "0.24.0", 422 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.0.tgz", 423 | "integrity": "sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==", 424 | "cpu": [ 425 | "x64" 426 | ], 427 | "dev": true, 428 | "optional": true, 429 | "os": [ 430 | "freebsd" 431 | ], 432 | "engines": { 433 | "node": ">=18" 434 | } 435 | }, 436 | "node_modules/@esbuild/linux-arm": { 437 | "version": "0.24.0", 438 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.0.tgz", 439 | "integrity": "sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==", 440 | "cpu": [ 441 | "arm" 442 | ], 443 | "dev": true, 444 | "optional": true, 445 | "os": [ 446 | "linux" 447 | ], 448 | "engines": { 449 | "node": ">=18" 450 | } 451 | }, 452 | "node_modules/@esbuild/linux-arm64": { 453 | "version": "0.24.0", 454 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.0.tgz", 455 | "integrity": "sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==", 456 | "cpu": [ 457 | "arm64" 458 | ], 459 | "dev": true, 460 | "optional": true, 461 | "os": [ 462 | "linux" 463 | ], 464 | "engines": { 465 | "node": ">=18" 466 | } 467 | }, 468 | "node_modules/@esbuild/linux-ia32": { 469 | "version": "0.24.0", 470 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.0.tgz", 471 | "integrity": "sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==", 472 | "cpu": [ 473 | "ia32" 474 | ], 475 | "dev": true, 476 | "optional": true, 477 | "os": [ 478 | "linux" 479 | ], 480 | "engines": { 481 | "node": ">=18" 482 | } 483 | }, 484 | "node_modules/@esbuild/linux-loong64": { 485 | "version": "0.24.0", 486 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.0.tgz", 487 | "integrity": "sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==", 488 | "cpu": [ 489 | "loong64" 490 | ], 491 | "dev": true, 492 | "optional": true, 493 | "os": [ 494 | "linux" 495 | ], 496 | "engines": { 497 | "node": ">=18" 498 | } 499 | }, 500 | "node_modules/@esbuild/linux-mips64el": { 501 | "version": "0.24.0", 502 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.0.tgz", 503 | "integrity": "sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==", 504 | "cpu": [ 505 | "mips64el" 506 | ], 507 | "dev": true, 508 | "optional": true, 509 | "os": [ 510 | "linux" 511 | ], 512 | "engines": { 513 | "node": ">=18" 514 | } 515 | }, 516 | "node_modules/@esbuild/linux-ppc64": { 517 | "version": "0.24.0", 518 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.0.tgz", 519 | "integrity": "sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==", 520 | "cpu": [ 521 | "ppc64" 522 | ], 523 | "dev": true, 524 | "optional": true, 525 | "os": [ 526 | "linux" 527 | ], 528 | "engines": { 529 | "node": ">=18" 530 | } 531 | }, 532 | "node_modules/@esbuild/linux-riscv64": { 533 | "version": "0.24.0", 534 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.0.tgz", 535 | "integrity": "sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==", 536 | "cpu": [ 537 | "riscv64" 538 | ], 539 | "dev": true, 540 | "optional": true, 541 | "os": [ 542 | "linux" 543 | ], 544 | "engines": { 545 | "node": ">=18" 546 | } 547 | }, 548 | "node_modules/@esbuild/linux-s390x": { 549 | "version": "0.24.0", 550 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.0.tgz", 551 | "integrity": "sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==", 552 | "cpu": [ 553 | "s390x" 554 | ], 555 | "dev": true, 556 | "optional": true, 557 | "os": [ 558 | "linux" 559 | ], 560 | "engines": { 561 | "node": ">=18" 562 | } 563 | }, 564 | "node_modules/@esbuild/linux-x64": { 565 | "version": "0.24.0", 566 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.0.tgz", 567 | "integrity": "sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==", 568 | "cpu": [ 569 | "x64" 570 | ], 571 | "dev": true, 572 | "optional": true, 573 | "os": [ 574 | "linux" 575 | ], 576 | "engines": { 577 | "node": ">=18" 578 | } 579 | }, 580 | "node_modules/@esbuild/netbsd-x64": { 581 | "version": "0.24.0", 582 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.0.tgz", 583 | "integrity": "sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==", 584 | "cpu": [ 585 | "x64" 586 | ], 587 | "dev": true, 588 | "optional": true, 589 | "os": [ 590 | "netbsd" 591 | ], 592 | "engines": { 593 | "node": ">=18" 594 | } 595 | }, 596 | "node_modules/@esbuild/openbsd-arm64": { 597 | "version": "0.24.0", 598 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.0.tgz", 599 | "integrity": "sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==", 600 | "cpu": [ 601 | "arm64" 602 | ], 603 | "dev": true, 604 | "optional": true, 605 | "os": [ 606 | "openbsd" 607 | ], 608 | "engines": { 609 | "node": ">=18" 610 | } 611 | }, 612 | "node_modules/@esbuild/openbsd-x64": { 613 | "version": "0.24.0", 614 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.0.tgz", 615 | "integrity": "sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==", 616 | "cpu": [ 617 | "x64" 618 | ], 619 | "dev": true, 620 | "optional": true, 621 | "os": [ 622 | "openbsd" 623 | ], 624 | "engines": { 625 | "node": ">=18" 626 | } 627 | }, 628 | "node_modules/@esbuild/sunos-x64": { 629 | "version": "0.24.0", 630 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.0.tgz", 631 | "integrity": "sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==", 632 | "cpu": [ 633 | "x64" 634 | ], 635 | "dev": true, 636 | "optional": true, 637 | "os": [ 638 | "sunos" 639 | ], 640 | "engines": { 641 | "node": ">=18" 642 | } 643 | }, 644 | "node_modules/@esbuild/win32-arm64": { 645 | "version": "0.24.0", 646 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.0.tgz", 647 | "integrity": "sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==", 648 | "cpu": [ 649 | "arm64" 650 | ], 651 | "dev": true, 652 | "optional": true, 653 | "os": [ 654 | "win32" 655 | ], 656 | "engines": { 657 | "node": ">=18" 658 | } 659 | }, 660 | "node_modules/@esbuild/win32-ia32": { 661 | "version": "0.24.0", 662 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.0.tgz", 663 | "integrity": "sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==", 664 | "cpu": [ 665 | "ia32" 666 | ], 667 | "dev": true, 668 | "optional": true, 669 | "os": [ 670 | "win32" 671 | ], 672 | "engines": { 673 | "node": ">=18" 674 | } 675 | }, 676 | "node_modules/@esbuild/win32-x64": { 677 | "version": "0.24.0", 678 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.0.tgz", 679 | "integrity": "sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==", 680 | "cpu": [ 681 | "x64" 682 | ], 683 | "dev": true, 684 | "optional": true, 685 | "os": [ 686 | "win32" 687 | ], 688 | "engines": { 689 | "node": ">=18" 690 | } 691 | }, 692 | "node_modules/@jridgewell/gen-mapping": { 693 | "version": "0.3.5", 694 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 695 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 696 | "dev": true, 697 | "license": "MIT", 698 | "dependencies": { 699 | "@jridgewell/set-array": "^1.2.1", 700 | "@jridgewell/sourcemap-codec": "^1.4.10", 701 | "@jridgewell/trace-mapping": "^0.3.24" 702 | }, 703 | "engines": { 704 | "node": ">=6.0.0" 705 | } 706 | }, 707 | "node_modules/@jridgewell/resolve-uri": { 708 | "version": "3.1.2", 709 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 710 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 711 | "dev": true, 712 | "license": "MIT", 713 | "engines": { 714 | "node": ">=6.0.0" 715 | } 716 | }, 717 | "node_modules/@jridgewell/set-array": { 718 | "version": "1.2.1", 719 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 720 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 721 | "dev": true, 722 | "license": "MIT", 723 | "engines": { 724 | "node": ">=6.0.0" 725 | } 726 | }, 727 | "node_modules/@jridgewell/sourcemap-codec": { 728 | "version": "1.5.0", 729 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 730 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 731 | "license": "MIT" 732 | }, 733 | "node_modules/@jridgewell/trace-mapping": { 734 | "version": "0.3.25", 735 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 736 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 737 | "dev": true, 738 | "license": "MIT", 739 | "dependencies": { 740 | "@jridgewell/resolve-uri": "^3.1.0", 741 | "@jridgewell/sourcemap-codec": "^1.4.14" 742 | } 743 | }, 744 | "node_modules/@microsoft/api-extractor": { 745 | "version": "7.47.11", 746 | "resolved": "https://registry.npmjs.org/@microsoft/api-extractor/-/api-extractor-7.47.11.tgz", 747 | "integrity": "sha512-lrudfbPub5wzBhymfFtgZKuBvXxoSIAdrvS2UbHjoMT2TjIEddq6Z13pcve7A03BAouw0x8sW8G4txdgfiSwpQ==", 748 | "dev": true, 749 | "license": "MIT", 750 | "dependencies": { 751 | "@microsoft/api-extractor-model": "7.29.8", 752 | "@microsoft/tsdoc": "~0.15.0", 753 | "@microsoft/tsdoc-config": "~0.17.0", 754 | "@rushstack/node-core-library": "5.9.0", 755 | "@rushstack/rig-package": "0.5.3", 756 | "@rushstack/terminal": "0.14.2", 757 | "@rushstack/ts-command-line": "4.23.0", 758 | "lodash": "~4.17.15", 759 | "minimatch": "~3.0.3", 760 | "resolve": "~1.22.1", 761 | "semver": "~7.5.4", 762 | "source-map": "~0.6.1", 763 | "typescript": "5.4.2" 764 | }, 765 | "bin": { 766 | "api-extractor": "bin/api-extractor" 767 | } 768 | }, 769 | "node_modules/@microsoft/api-extractor-model": { 770 | "version": "7.29.8", 771 | "resolved": "https://registry.npmjs.org/@microsoft/api-extractor-model/-/api-extractor-model-7.29.8.tgz", 772 | "integrity": "sha512-t3Z/xcO6TRbMcnKGVMs4uMzv/gd5j0NhMiJIGjD4cJMeFJ1Hf8wnLSx37vxlRlL0GWlGJhnFgxvnaL6JlS+73g==", 773 | "dev": true, 774 | "license": "MIT", 775 | "dependencies": { 776 | "@microsoft/tsdoc": "~0.15.0", 777 | "@microsoft/tsdoc-config": "~0.17.0", 778 | "@rushstack/node-core-library": "5.9.0" 779 | } 780 | }, 781 | "node_modules/@microsoft/api-extractor/node_modules/lru-cache": { 782 | "version": "6.0.0", 783 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 784 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 785 | "dev": true, 786 | "license": "ISC", 787 | "dependencies": { 788 | "yallist": "^4.0.0" 789 | }, 790 | "engines": { 791 | "node": ">=10" 792 | } 793 | }, 794 | "node_modules/@microsoft/api-extractor/node_modules/semver": { 795 | "version": "7.5.4", 796 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", 797 | "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", 798 | "dev": true, 799 | "license": "ISC", 800 | "dependencies": { 801 | "lru-cache": "^6.0.0" 802 | }, 803 | "bin": { 804 | "semver": "bin/semver.js" 805 | }, 806 | "engines": { 807 | "node": ">=10" 808 | } 809 | }, 810 | "node_modules/@microsoft/api-extractor/node_modules/typescript": { 811 | "version": "5.4.2", 812 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.2.tgz", 813 | "integrity": "sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==", 814 | "dev": true, 815 | "license": "Apache-2.0", 816 | "bin": { 817 | "tsc": "bin/tsc", 818 | "tsserver": "bin/tsserver" 819 | }, 820 | "engines": { 821 | "node": ">=14.17" 822 | } 823 | }, 824 | "node_modules/@microsoft/api-extractor/node_modules/yallist": { 825 | "version": "4.0.0", 826 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 827 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 828 | "dev": true, 829 | "license": "ISC" 830 | }, 831 | "node_modules/@microsoft/tsdoc": { 832 | "version": "0.15.0", 833 | "resolved": "https://registry.npmjs.org/@microsoft/tsdoc/-/tsdoc-0.15.0.tgz", 834 | "integrity": "sha512-HZpPoABogPvjeJOdzCOSJsXeL/SMCBgBZMVC3X3d7YYp2gf31MfxhUoYUNwf1ERPJOnQc0wkFn9trqI6ZEdZuA==", 835 | "dev": true, 836 | "license": "MIT" 837 | }, 838 | "node_modules/@microsoft/tsdoc-config": { 839 | "version": "0.17.0", 840 | "resolved": "https://registry.npmjs.org/@microsoft/tsdoc-config/-/tsdoc-config-0.17.0.tgz", 841 | "integrity": "sha512-v/EYRXnCAIHxOHW+Plb6OWuUoMotxTN0GLatnpOb1xq0KuTNw/WI3pamJx/UbsoJP5k9MCw1QxvvhPcF9pH3Zg==", 842 | "dev": true, 843 | "license": "MIT", 844 | "dependencies": { 845 | "@microsoft/tsdoc": "0.15.0", 846 | "ajv": "~8.12.0", 847 | "jju": "~1.4.0", 848 | "resolve": "~1.22.2" 849 | } 850 | }, 851 | "node_modules/@rollup/pluginutils": { 852 | "version": "5.1.3", 853 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", 854 | "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", 855 | "dev": true, 856 | "license": "MIT", 857 | "dependencies": { 858 | "@types/estree": "^1.0.0", 859 | "estree-walker": "^2.0.2", 860 | "picomatch": "^4.0.2" 861 | }, 862 | "engines": { 863 | "node": ">=14.0.0" 864 | }, 865 | "peerDependencies": { 866 | "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" 867 | }, 868 | "peerDependenciesMeta": { 869 | "rollup": { 870 | "optional": true 871 | } 872 | } 873 | }, 874 | "node_modules/@rollup/rollup-android-arm-eabi": { 875 | "version": "4.24.4", 876 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.24.4.tgz", 877 | "integrity": "sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==", 878 | "cpu": [ 879 | "arm" 880 | ], 881 | "dev": true, 882 | "license": "MIT", 883 | "optional": true, 884 | "os": [ 885 | "android" 886 | ] 887 | }, 888 | "node_modules/@rollup/rollup-android-arm64": { 889 | "version": "4.24.4", 890 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.24.4.tgz", 891 | "integrity": "sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==", 892 | "cpu": [ 893 | "arm64" 894 | ], 895 | "dev": true, 896 | "license": "MIT", 897 | "optional": true, 898 | "os": [ 899 | "android" 900 | ] 901 | }, 902 | "node_modules/@rollup/rollup-darwin-arm64": { 903 | "version": "4.24.4", 904 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.24.4.tgz", 905 | "integrity": "sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==", 906 | "cpu": [ 907 | "arm64" 908 | ], 909 | "dev": true, 910 | "license": "MIT", 911 | "optional": true, 912 | "os": [ 913 | "darwin" 914 | ] 915 | }, 916 | "node_modules/@rollup/rollup-darwin-x64": { 917 | "version": "4.24.4", 918 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.24.4.tgz", 919 | "integrity": "sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==", 920 | "cpu": [ 921 | "x64" 922 | ], 923 | "dev": true, 924 | "license": "MIT", 925 | "optional": true, 926 | "os": [ 927 | "darwin" 928 | ] 929 | }, 930 | "node_modules/@rollup/rollup-freebsd-arm64": { 931 | "version": "4.24.4", 932 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.24.4.tgz", 933 | "integrity": "sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==", 934 | "cpu": [ 935 | "arm64" 936 | ], 937 | "dev": true, 938 | "license": "MIT", 939 | "optional": true, 940 | "os": [ 941 | "freebsd" 942 | ] 943 | }, 944 | "node_modules/@rollup/rollup-freebsd-x64": { 945 | "version": "4.24.4", 946 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.24.4.tgz", 947 | "integrity": "sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==", 948 | "cpu": [ 949 | "x64" 950 | ], 951 | "dev": true, 952 | "license": "MIT", 953 | "optional": true, 954 | "os": [ 955 | "freebsd" 956 | ] 957 | }, 958 | "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 959 | "version": "4.24.4", 960 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.24.4.tgz", 961 | "integrity": "sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==", 962 | "cpu": [ 963 | "arm" 964 | ], 965 | "dev": true, 966 | "license": "MIT", 967 | "optional": true, 968 | "os": [ 969 | "linux" 970 | ] 971 | }, 972 | "node_modules/@rollup/rollup-linux-arm-musleabihf": { 973 | "version": "4.24.4", 974 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.24.4.tgz", 975 | "integrity": "sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==", 976 | "cpu": [ 977 | "arm" 978 | ], 979 | "dev": true, 980 | "license": "MIT", 981 | "optional": true, 982 | "os": [ 983 | "linux" 984 | ] 985 | }, 986 | "node_modules/@rollup/rollup-linux-arm64-gnu": { 987 | "version": "4.24.4", 988 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.24.4.tgz", 989 | "integrity": "sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==", 990 | "cpu": [ 991 | "arm64" 992 | ], 993 | "dev": true, 994 | "license": "MIT", 995 | "optional": true, 996 | "os": [ 997 | "linux" 998 | ] 999 | }, 1000 | "node_modules/@rollup/rollup-linux-arm64-musl": { 1001 | "version": "4.24.4", 1002 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.24.4.tgz", 1003 | "integrity": "sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==", 1004 | "cpu": [ 1005 | "arm64" 1006 | ], 1007 | "dev": true, 1008 | "license": "MIT", 1009 | "optional": true, 1010 | "os": [ 1011 | "linux" 1012 | ] 1013 | }, 1014 | "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 1015 | "version": "4.24.4", 1016 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.24.4.tgz", 1017 | "integrity": "sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==", 1018 | "cpu": [ 1019 | "ppc64" 1020 | ], 1021 | "dev": true, 1022 | "license": "MIT", 1023 | "optional": true, 1024 | "os": [ 1025 | "linux" 1026 | ] 1027 | }, 1028 | "node_modules/@rollup/rollup-linux-riscv64-gnu": { 1029 | "version": "4.24.4", 1030 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.24.4.tgz", 1031 | "integrity": "sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==", 1032 | "cpu": [ 1033 | "riscv64" 1034 | ], 1035 | "dev": true, 1036 | "license": "MIT", 1037 | "optional": true, 1038 | "os": [ 1039 | "linux" 1040 | ] 1041 | }, 1042 | "node_modules/@rollup/rollup-linux-s390x-gnu": { 1043 | "version": "4.24.4", 1044 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.24.4.tgz", 1045 | "integrity": "sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==", 1046 | "cpu": [ 1047 | "s390x" 1048 | ], 1049 | "dev": true, 1050 | "license": "MIT", 1051 | "optional": true, 1052 | "os": [ 1053 | "linux" 1054 | ] 1055 | }, 1056 | "node_modules/@rollup/rollup-linux-x64-gnu": { 1057 | "version": "4.24.4", 1058 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.24.4.tgz", 1059 | "integrity": "sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==", 1060 | "cpu": [ 1061 | "x64" 1062 | ], 1063 | "dev": true, 1064 | "license": "MIT", 1065 | "optional": true, 1066 | "os": [ 1067 | "linux" 1068 | ] 1069 | }, 1070 | "node_modules/@rollup/rollup-linux-x64-musl": { 1071 | "version": "4.24.4", 1072 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.24.4.tgz", 1073 | "integrity": "sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==", 1074 | "cpu": [ 1075 | "x64" 1076 | ], 1077 | "dev": true, 1078 | "license": "MIT", 1079 | "optional": true, 1080 | "os": [ 1081 | "linux" 1082 | ] 1083 | }, 1084 | "node_modules/@rollup/rollup-win32-arm64-msvc": { 1085 | "version": "4.24.4", 1086 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.24.4.tgz", 1087 | "integrity": "sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==", 1088 | "cpu": [ 1089 | "arm64" 1090 | ], 1091 | "dev": true, 1092 | "license": "MIT", 1093 | "optional": true, 1094 | "os": [ 1095 | "win32" 1096 | ] 1097 | }, 1098 | "node_modules/@rollup/rollup-win32-ia32-msvc": { 1099 | "version": "4.24.4", 1100 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.24.4.tgz", 1101 | "integrity": "sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==", 1102 | "cpu": [ 1103 | "ia32" 1104 | ], 1105 | "dev": true, 1106 | "license": "MIT", 1107 | "optional": true, 1108 | "os": [ 1109 | "win32" 1110 | ] 1111 | }, 1112 | "node_modules/@rollup/rollup-win32-x64-msvc": { 1113 | "version": "4.24.4", 1114 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.24.4.tgz", 1115 | "integrity": "sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==", 1116 | "cpu": [ 1117 | "x64" 1118 | ], 1119 | "dev": true, 1120 | "license": "MIT", 1121 | "optional": true, 1122 | "os": [ 1123 | "win32" 1124 | ] 1125 | }, 1126 | "node_modules/@rushstack/node-core-library": { 1127 | "version": "5.9.0", 1128 | "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-5.9.0.tgz", 1129 | "integrity": "sha512-MMsshEWkTbXqxqFxD4gcIUWQOCeBChlGczdZbHfqmNZQFLHB3yWxDFSMHFUdu2/OB9NUk7Awn5qRL+rws4HQNg==", 1130 | "dev": true, 1131 | "license": "MIT", 1132 | "dependencies": { 1133 | "ajv": "~8.13.0", 1134 | "ajv-draft-04": "~1.0.0", 1135 | "ajv-formats": "~3.0.1", 1136 | "fs-extra": "~7.0.1", 1137 | "import-lazy": "~4.0.0", 1138 | "jju": "~1.4.0", 1139 | "resolve": "~1.22.1", 1140 | "semver": "~7.5.4" 1141 | }, 1142 | "peerDependencies": { 1143 | "@types/node": "*" 1144 | }, 1145 | "peerDependenciesMeta": { 1146 | "@types/node": { 1147 | "optional": true 1148 | } 1149 | } 1150 | }, 1151 | "node_modules/@rushstack/node-core-library/node_modules/ajv": { 1152 | "version": "8.13.0", 1153 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", 1154 | "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", 1155 | "dev": true, 1156 | "license": "MIT", 1157 | "dependencies": { 1158 | "fast-deep-equal": "^3.1.3", 1159 | "json-schema-traverse": "^1.0.0", 1160 | "require-from-string": "^2.0.2", 1161 | "uri-js": "^4.4.1" 1162 | }, 1163 | "funding": { 1164 | "type": "github", 1165 | "url": "https://github.com/sponsors/epoberezkin" 1166 | } 1167 | }, 1168 | "node_modules/@rushstack/node-core-library/node_modules/lru-cache": { 1169 | "version": "6.0.0", 1170 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1171 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1172 | "dev": true, 1173 | "license": "ISC", 1174 | "dependencies": { 1175 | "yallist": "^4.0.0" 1176 | }, 1177 | "engines": { 1178 | "node": ">=10" 1179 | } 1180 | }, 1181 | "node_modules/@rushstack/node-core-library/node_modules/semver": { 1182 | "version": "7.5.4", 1183 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", 1184 | "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", 1185 | "dev": true, 1186 | "license": "ISC", 1187 | "dependencies": { 1188 | "lru-cache": "^6.0.0" 1189 | }, 1190 | "bin": { 1191 | "semver": "bin/semver.js" 1192 | }, 1193 | "engines": { 1194 | "node": ">=10" 1195 | } 1196 | }, 1197 | "node_modules/@rushstack/node-core-library/node_modules/yallist": { 1198 | "version": "4.0.0", 1199 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 1200 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 1201 | "dev": true, 1202 | "license": "ISC" 1203 | }, 1204 | "node_modules/@rushstack/rig-package": { 1205 | "version": "0.5.3", 1206 | "resolved": "https://registry.npmjs.org/@rushstack/rig-package/-/rig-package-0.5.3.tgz", 1207 | "integrity": "sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==", 1208 | "dev": true, 1209 | "license": "MIT", 1210 | "dependencies": { 1211 | "resolve": "~1.22.1", 1212 | "strip-json-comments": "~3.1.1" 1213 | } 1214 | }, 1215 | "node_modules/@rushstack/terminal": { 1216 | "version": "0.14.2", 1217 | "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.14.2.tgz", 1218 | "integrity": "sha512-2fC1wqu1VCExKC0/L+0noVcFQEXEnoBOtCIex1TOjBzEDWcw8KzJjjj7aTP6mLxepG0XIyn9OufeFb6SFsa+sg==", 1219 | "dev": true, 1220 | "license": "MIT", 1221 | "dependencies": { 1222 | "@rushstack/node-core-library": "5.9.0", 1223 | "supports-color": "~8.1.1" 1224 | }, 1225 | "peerDependencies": { 1226 | "@types/node": "*" 1227 | }, 1228 | "peerDependenciesMeta": { 1229 | "@types/node": { 1230 | "optional": true 1231 | } 1232 | } 1233 | }, 1234 | "node_modules/@rushstack/ts-command-line": { 1235 | "version": "4.23.0", 1236 | "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.23.0.tgz", 1237 | "integrity": "sha512-jYREBtsxduPV6ptNq8jOKp9+yx0ld1Tb/Tkdnlj8gTjazl1sF3DwX2VbluyYrNd0meWIL0bNeer7WDf5tKFjaQ==", 1238 | "dev": true, 1239 | "license": "MIT", 1240 | "dependencies": { 1241 | "@rushstack/terminal": "0.14.2", 1242 | "@types/argparse": "1.0.38", 1243 | "argparse": "~1.0.9", 1244 | "string-argv": "~0.3.1" 1245 | } 1246 | }, 1247 | "node_modules/@types/argparse": { 1248 | "version": "1.0.38", 1249 | "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", 1250 | "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", 1251 | "dev": true, 1252 | "license": "MIT" 1253 | }, 1254 | "node_modules/@types/babel__core": { 1255 | "version": "7.20.5", 1256 | "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", 1257 | "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", 1258 | "dev": true, 1259 | "license": "MIT", 1260 | "dependencies": { 1261 | "@babel/parser": "^7.20.7", 1262 | "@babel/types": "^7.20.7", 1263 | "@types/babel__generator": "*", 1264 | "@types/babel__template": "*", 1265 | "@types/babel__traverse": "*" 1266 | } 1267 | }, 1268 | "node_modules/@types/babel__generator": { 1269 | "version": "7.6.8", 1270 | "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", 1271 | "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", 1272 | "dev": true, 1273 | "license": "MIT", 1274 | "dependencies": { 1275 | "@babel/types": "^7.0.0" 1276 | } 1277 | }, 1278 | "node_modules/@types/babel__template": { 1279 | "version": "7.4.4", 1280 | "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", 1281 | "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", 1282 | "dev": true, 1283 | "license": "MIT", 1284 | "dependencies": { 1285 | "@babel/parser": "^7.1.0", 1286 | "@babel/types": "^7.0.0" 1287 | } 1288 | }, 1289 | "node_modules/@types/babel__traverse": { 1290 | "version": "7.20.6", 1291 | "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", 1292 | "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", 1293 | "dev": true, 1294 | "license": "MIT", 1295 | "dependencies": { 1296 | "@babel/types": "^7.20.7" 1297 | } 1298 | }, 1299 | "node_modules/@types/estree": { 1300 | "version": "1.0.6", 1301 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", 1302 | "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", 1303 | "dev": true, 1304 | "license": "MIT" 1305 | }, 1306 | "node_modules/@types/node": { 1307 | "version": "22.10.1", 1308 | "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.1.tgz", 1309 | "integrity": "sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==", 1310 | "dev": true, 1311 | "dependencies": { 1312 | "undici-types": "~6.20.0" 1313 | } 1314 | }, 1315 | "node_modules/@types/react": { 1316 | "version": "19.0.1", 1317 | "resolved": "https://registry.npmjs.org/@types/react/-/react-19.0.1.tgz", 1318 | "integrity": "sha512-YW6614BDhqbpR5KtUYzTA+zlA7nayzJRA9ljz9CQoxthR0sDisYZLuvSMsil36t4EH/uAt8T52Xb4sVw17G+SQ==", 1319 | "dev": true, 1320 | "dependencies": { 1321 | "csstype": "^3.0.2" 1322 | } 1323 | }, 1324 | "node_modules/@vitejs/plugin-react": { 1325 | "version": "4.3.4", 1326 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", 1327 | "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", 1328 | "dev": true, 1329 | "dependencies": { 1330 | "@babel/core": "^7.26.0", 1331 | "@babel/plugin-transform-react-jsx-self": "^7.25.9", 1332 | "@babel/plugin-transform-react-jsx-source": "^7.25.9", 1333 | "@types/babel__core": "^7.20.5", 1334 | "react-refresh": "^0.14.2" 1335 | }, 1336 | "engines": { 1337 | "node": "^14.18.0 || >=16.0.0" 1338 | }, 1339 | "peerDependencies": { 1340 | "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" 1341 | } 1342 | }, 1343 | "node_modules/@vitejs/plugin-vue": { 1344 | "version": "5.2.1", 1345 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", 1346 | "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", 1347 | "dev": true, 1348 | "engines": { 1349 | "node": "^18.0.0 || >=20.0.0" 1350 | }, 1351 | "peerDependencies": { 1352 | "vite": "^5.0.0 || ^6.0.0", 1353 | "vue": "^3.2.25" 1354 | } 1355 | }, 1356 | "node_modules/@volar/language-core": { 1357 | "version": "2.4.9", 1358 | "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.9.tgz", 1359 | "integrity": "sha512-t++GIrUeQnKCieZdY9e+Uar2VmTqOE4Z9KcEcdSHKmKZPuqpbbWow1YKe1i3HpU2s1JqLRVM8y/n87WKXyxJAg==", 1360 | "dev": true, 1361 | "license": "MIT", 1362 | "dependencies": { 1363 | "@volar/source-map": "2.4.9" 1364 | } 1365 | }, 1366 | "node_modules/@volar/source-map": { 1367 | "version": "2.4.9", 1368 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.9.tgz", 1369 | "integrity": "sha512-UGE+WgJwk64OcfBwBOBKIzmF+uNx4dC5GzOvaVsHbTBp/IVqeTVsGiO5CwBAt6l3vVXYbMuddG2DU8FEnBRxTg==", 1370 | "dev": true, 1371 | "license": "MIT" 1372 | }, 1373 | "node_modules/@volar/typescript": { 1374 | "version": "2.4.9", 1375 | "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.9.tgz", 1376 | "integrity": "sha512-Zmh3Bq8CFD6OANKYsi4vs/l7togwfjFH0kgrT12uAsDff2AJQjbEUKTVUnxmHbnbH2B9ja7Lb6Mu/Wj9wBuJlg==", 1377 | "dev": true, 1378 | "license": "MIT", 1379 | "dependencies": { 1380 | "@volar/language-core": "2.4.9", 1381 | "path-browserify": "^1.0.1", 1382 | "vscode-uri": "^3.0.8" 1383 | } 1384 | }, 1385 | "node_modules/@vue/compiler-core": { 1386 | "version": "3.5.13", 1387 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", 1388 | "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", 1389 | "dependencies": { 1390 | "@babel/parser": "^7.25.3", 1391 | "@vue/shared": "3.5.13", 1392 | "entities": "^4.5.0", 1393 | "estree-walker": "^2.0.2", 1394 | "source-map-js": "^1.2.0" 1395 | } 1396 | }, 1397 | "node_modules/@vue/compiler-dom": { 1398 | "version": "3.5.13", 1399 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", 1400 | "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", 1401 | "dependencies": { 1402 | "@vue/compiler-core": "3.5.13", 1403 | "@vue/shared": "3.5.13" 1404 | } 1405 | }, 1406 | "node_modules/@vue/compiler-sfc": { 1407 | "version": "3.5.13", 1408 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", 1409 | "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", 1410 | "dependencies": { 1411 | "@babel/parser": "^7.25.3", 1412 | "@vue/compiler-core": "3.5.13", 1413 | "@vue/compiler-dom": "3.5.13", 1414 | "@vue/compiler-ssr": "3.5.13", 1415 | "@vue/shared": "3.5.13", 1416 | "estree-walker": "^2.0.2", 1417 | "magic-string": "^0.30.11", 1418 | "postcss": "^8.4.48", 1419 | "source-map-js": "^1.2.0" 1420 | } 1421 | }, 1422 | "node_modules/@vue/compiler-ssr": { 1423 | "version": "3.5.13", 1424 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", 1425 | "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", 1426 | "dependencies": { 1427 | "@vue/compiler-dom": "3.5.13", 1428 | "@vue/shared": "3.5.13" 1429 | } 1430 | }, 1431 | "node_modules/@vue/compiler-vue2": { 1432 | "version": "2.7.16", 1433 | "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", 1434 | "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", 1435 | "dev": true, 1436 | "license": "MIT", 1437 | "dependencies": { 1438 | "de-indent": "^1.0.2", 1439 | "he": "^1.2.0" 1440 | } 1441 | }, 1442 | "node_modules/@vue/language-core": { 1443 | "version": "2.1.6", 1444 | "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.1.6.tgz", 1445 | "integrity": "sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==", 1446 | "dev": true, 1447 | "license": "MIT", 1448 | "dependencies": { 1449 | "@volar/language-core": "~2.4.1", 1450 | "@vue/compiler-dom": "^3.4.0", 1451 | "@vue/compiler-vue2": "^2.7.16", 1452 | "@vue/shared": "^3.4.0", 1453 | "computeds": "^0.0.1", 1454 | "minimatch": "^9.0.3", 1455 | "muggle-string": "^0.4.1", 1456 | "path-browserify": "^1.0.1" 1457 | }, 1458 | "peerDependencies": { 1459 | "typescript": "*" 1460 | }, 1461 | "peerDependenciesMeta": { 1462 | "typescript": { 1463 | "optional": true 1464 | } 1465 | } 1466 | }, 1467 | "node_modules/@vue/language-core/node_modules/brace-expansion": { 1468 | "version": "2.0.1", 1469 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1470 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1471 | "dev": true, 1472 | "license": "MIT", 1473 | "dependencies": { 1474 | "balanced-match": "^1.0.0" 1475 | } 1476 | }, 1477 | "node_modules/@vue/language-core/node_modules/minimatch": { 1478 | "version": "9.0.5", 1479 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1480 | "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1481 | "dev": true, 1482 | "license": "ISC", 1483 | "dependencies": { 1484 | "brace-expansion": "^2.0.1" 1485 | }, 1486 | "engines": { 1487 | "node": ">=16 || 14 >=14.17" 1488 | }, 1489 | "funding": { 1490 | "url": "https://github.com/sponsors/isaacs" 1491 | } 1492 | }, 1493 | "node_modules/@vue/reactivity": { 1494 | "version": "3.5.13", 1495 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", 1496 | "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", 1497 | "dependencies": { 1498 | "@vue/shared": "3.5.13" 1499 | } 1500 | }, 1501 | "node_modules/@vue/runtime-core": { 1502 | "version": "3.5.13", 1503 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", 1504 | "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", 1505 | "dependencies": { 1506 | "@vue/reactivity": "3.5.13", 1507 | "@vue/shared": "3.5.13" 1508 | } 1509 | }, 1510 | "node_modules/@vue/runtime-dom": { 1511 | "version": "3.5.13", 1512 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", 1513 | "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", 1514 | "dependencies": { 1515 | "@vue/reactivity": "3.5.13", 1516 | "@vue/runtime-core": "3.5.13", 1517 | "@vue/shared": "3.5.13", 1518 | "csstype": "^3.1.3" 1519 | } 1520 | }, 1521 | "node_modules/@vue/server-renderer": { 1522 | "version": "3.5.13", 1523 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", 1524 | "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", 1525 | "dependencies": { 1526 | "@vue/compiler-ssr": "3.5.13", 1527 | "@vue/shared": "3.5.13" 1528 | }, 1529 | "peerDependencies": { 1530 | "vue": "3.5.13" 1531 | } 1532 | }, 1533 | "node_modules/@vue/shared": { 1534 | "version": "3.5.13", 1535 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", 1536 | "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==" 1537 | }, 1538 | "node_modules/acorn": { 1539 | "version": "8.14.0", 1540 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", 1541 | "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", 1542 | "dev": true, 1543 | "license": "MIT", 1544 | "bin": { 1545 | "acorn": "bin/acorn" 1546 | }, 1547 | "engines": { 1548 | "node": ">=0.4.0" 1549 | } 1550 | }, 1551 | "node_modules/ajv": { 1552 | "version": "8.12.0", 1553 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", 1554 | "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", 1555 | "dev": true, 1556 | "license": "MIT", 1557 | "dependencies": { 1558 | "fast-deep-equal": "^3.1.1", 1559 | "json-schema-traverse": "^1.0.0", 1560 | "require-from-string": "^2.0.2", 1561 | "uri-js": "^4.2.2" 1562 | }, 1563 | "funding": { 1564 | "type": "github", 1565 | "url": "https://github.com/sponsors/epoberezkin" 1566 | } 1567 | }, 1568 | "node_modules/ajv-draft-04": { 1569 | "version": "1.0.0", 1570 | "resolved": "https://registry.npmjs.org/ajv-draft-04/-/ajv-draft-04-1.0.0.tgz", 1571 | "integrity": "sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==", 1572 | "dev": true, 1573 | "license": "MIT", 1574 | "peerDependencies": { 1575 | "ajv": "^8.5.0" 1576 | }, 1577 | "peerDependenciesMeta": { 1578 | "ajv": { 1579 | "optional": true 1580 | } 1581 | } 1582 | }, 1583 | "node_modules/ajv-formats": { 1584 | "version": "3.0.1", 1585 | "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", 1586 | "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", 1587 | "dev": true, 1588 | "license": "MIT", 1589 | "dependencies": { 1590 | "ajv": "^8.0.0" 1591 | }, 1592 | "peerDependencies": { 1593 | "ajv": "^8.0.0" 1594 | }, 1595 | "peerDependenciesMeta": { 1596 | "ajv": { 1597 | "optional": true 1598 | } 1599 | } 1600 | }, 1601 | "node_modules/argparse": { 1602 | "version": "1.0.10", 1603 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", 1604 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", 1605 | "dev": true, 1606 | "license": "MIT", 1607 | "dependencies": { 1608 | "sprintf-js": "~1.0.2" 1609 | } 1610 | }, 1611 | "node_modules/balanced-match": { 1612 | "version": "1.0.2", 1613 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1614 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1615 | "dev": true, 1616 | "license": "MIT" 1617 | }, 1618 | "node_modules/bluebird": { 1619 | "version": "3.7.2", 1620 | "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", 1621 | "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", 1622 | "dev": true, 1623 | "license": "MIT" 1624 | }, 1625 | "node_modules/brace-expansion": { 1626 | "version": "1.1.11", 1627 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1628 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1629 | "dev": true, 1630 | "license": "MIT", 1631 | "dependencies": { 1632 | "balanced-match": "^1.0.0", 1633 | "concat-map": "0.0.1" 1634 | } 1635 | }, 1636 | "node_modules/browserslist": { 1637 | "version": "4.24.2", 1638 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", 1639 | "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", 1640 | "dev": true, 1641 | "funding": [ 1642 | { 1643 | "type": "opencollective", 1644 | "url": "https://opencollective.com/browserslist" 1645 | }, 1646 | { 1647 | "type": "tidelift", 1648 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1649 | }, 1650 | { 1651 | "type": "github", 1652 | "url": "https://github.com/sponsors/ai" 1653 | } 1654 | ], 1655 | "license": "MIT", 1656 | "dependencies": { 1657 | "caniuse-lite": "^1.0.30001669", 1658 | "electron-to-chromium": "^1.5.41", 1659 | "node-releases": "^2.0.18", 1660 | "update-browserslist-db": "^1.1.1" 1661 | }, 1662 | "bin": { 1663 | "browserslist": "cli.js" 1664 | }, 1665 | "engines": { 1666 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1667 | } 1668 | }, 1669 | "node_modules/caniuse-lite": { 1670 | "version": "1.0.30001678", 1671 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001678.tgz", 1672 | "integrity": "sha512-RR+4U/05gNtps58PEBDZcPWTgEO2MBeoPZ96aQcjmfkBWRIDfN451fW2qyDA9/+HohLLIL5GqiMwA+IB1pWarw==", 1673 | "dev": true, 1674 | "funding": [ 1675 | { 1676 | "type": "opencollective", 1677 | "url": "https://opencollective.com/browserslist" 1678 | }, 1679 | { 1680 | "type": "tidelift", 1681 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1682 | }, 1683 | { 1684 | "type": "github", 1685 | "url": "https://github.com/sponsors/ai" 1686 | } 1687 | ], 1688 | "license": "CC-BY-4.0" 1689 | }, 1690 | "node_modules/commander": { 1691 | "version": "2.20.3", 1692 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 1693 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 1694 | "dev": true, 1695 | "license": "MIT" 1696 | }, 1697 | "node_modules/compare-versions": { 1698 | "version": "6.1.1", 1699 | "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz", 1700 | "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==", 1701 | "dev": true, 1702 | "license": "MIT" 1703 | }, 1704 | "node_modules/computeds": { 1705 | "version": "0.0.1", 1706 | "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", 1707 | "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", 1708 | "dev": true, 1709 | "license": "MIT" 1710 | }, 1711 | "node_modules/concat-map": { 1712 | "version": "0.0.1", 1713 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1714 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1715 | "dev": true, 1716 | "license": "MIT" 1717 | }, 1718 | "node_modules/confbox": { 1719 | "version": "0.1.8", 1720 | "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", 1721 | "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", 1722 | "dev": true, 1723 | "license": "MIT" 1724 | }, 1725 | "node_modules/convert-source-map": { 1726 | "version": "2.0.0", 1727 | "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", 1728 | "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", 1729 | "dev": true, 1730 | "license": "MIT" 1731 | }, 1732 | "node_modules/csstype": { 1733 | "version": "3.1.3", 1734 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 1735 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", 1736 | "license": "MIT" 1737 | }, 1738 | "node_modules/de-indent": { 1739 | "version": "1.0.2", 1740 | "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", 1741 | "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", 1742 | "dev": true, 1743 | "license": "MIT" 1744 | }, 1745 | "node_modules/debug": { 1746 | "version": "4.3.7", 1747 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", 1748 | "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", 1749 | "dev": true, 1750 | "license": "MIT", 1751 | "dependencies": { 1752 | "ms": "^2.1.3" 1753 | }, 1754 | "engines": { 1755 | "node": ">=6.0" 1756 | }, 1757 | "peerDependenciesMeta": { 1758 | "supports-color": { 1759 | "optional": true 1760 | } 1761 | } 1762 | }, 1763 | "node_modules/electron-to-chromium": { 1764 | "version": "1.5.53", 1765 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.53.tgz", 1766 | "integrity": "sha512-7F6qFMWzBArEFK4PLE+c+nWzhS1kIoNkQvGnNDogofxQAym+roQ0GUIdw6C/4YdJ6JKGp19c2a/DLcfKTi4wRQ==", 1767 | "dev": true, 1768 | "license": "ISC" 1769 | }, 1770 | "node_modules/entities": { 1771 | "version": "4.5.0", 1772 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 1773 | "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 1774 | "engines": { 1775 | "node": ">=0.12" 1776 | }, 1777 | "funding": { 1778 | "url": "https://github.com/fb55/entities?sponsor=1" 1779 | } 1780 | }, 1781 | "node_modules/esbuild": { 1782 | "version": "0.24.0", 1783 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.0.tgz", 1784 | "integrity": "sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==", 1785 | "dev": true, 1786 | "hasInstallScript": true, 1787 | "bin": { 1788 | "esbuild": "bin/esbuild" 1789 | }, 1790 | "engines": { 1791 | "node": ">=18" 1792 | }, 1793 | "optionalDependencies": { 1794 | "@esbuild/aix-ppc64": "0.24.0", 1795 | "@esbuild/android-arm": "0.24.0", 1796 | "@esbuild/android-arm64": "0.24.0", 1797 | "@esbuild/android-x64": "0.24.0", 1798 | "@esbuild/darwin-arm64": "0.24.0", 1799 | "@esbuild/darwin-x64": "0.24.0", 1800 | "@esbuild/freebsd-arm64": "0.24.0", 1801 | "@esbuild/freebsd-x64": "0.24.0", 1802 | "@esbuild/linux-arm": "0.24.0", 1803 | "@esbuild/linux-arm64": "0.24.0", 1804 | "@esbuild/linux-ia32": "0.24.0", 1805 | "@esbuild/linux-loong64": "0.24.0", 1806 | "@esbuild/linux-mips64el": "0.24.0", 1807 | "@esbuild/linux-ppc64": "0.24.0", 1808 | "@esbuild/linux-riscv64": "0.24.0", 1809 | "@esbuild/linux-s390x": "0.24.0", 1810 | "@esbuild/linux-x64": "0.24.0", 1811 | "@esbuild/netbsd-x64": "0.24.0", 1812 | "@esbuild/openbsd-arm64": "0.24.0", 1813 | "@esbuild/openbsd-x64": "0.24.0", 1814 | "@esbuild/sunos-x64": "0.24.0", 1815 | "@esbuild/win32-arm64": "0.24.0", 1816 | "@esbuild/win32-ia32": "0.24.0", 1817 | "@esbuild/win32-x64": "0.24.0" 1818 | } 1819 | }, 1820 | "node_modules/escalade": { 1821 | "version": "3.2.0", 1822 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 1823 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 1824 | "dev": true, 1825 | "license": "MIT", 1826 | "engines": { 1827 | "node": ">=6" 1828 | } 1829 | }, 1830 | "node_modules/estree-walker": { 1831 | "version": "2.0.2", 1832 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 1833 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", 1834 | "license": "MIT" 1835 | }, 1836 | "node_modules/fast-deep-equal": { 1837 | "version": "3.1.3", 1838 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", 1839 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", 1840 | "dev": true, 1841 | "license": "MIT" 1842 | }, 1843 | "node_modules/fs-extra": { 1844 | "version": "7.0.1", 1845 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", 1846 | "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", 1847 | "dev": true, 1848 | "license": "MIT", 1849 | "dependencies": { 1850 | "graceful-fs": "^4.1.2", 1851 | "jsonfile": "^4.0.0", 1852 | "universalify": "^0.1.0" 1853 | }, 1854 | "engines": { 1855 | "node": ">=6 <7 || >=8" 1856 | } 1857 | }, 1858 | "node_modules/fsevents": { 1859 | "version": "2.3.3", 1860 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1861 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1862 | "dev": true, 1863 | "hasInstallScript": true, 1864 | "license": "MIT", 1865 | "optional": true, 1866 | "os": [ 1867 | "darwin" 1868 | ], 1869 | "engines": { 1870 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1871 | } 1872 | }, 1873 | "node_modules/function-bind": { 1874 | "version": "1.1.2", 1875 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 1876 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 1877 | "dev": true, 1878 | "license": "MIT", 1879 | "funding": { 1880 | "url": "https://github.com/sponsors/ljharb" 1881 | } 1882 | }, 1883 | "node_modules/generate-changelog": { 1884 | "version": "1.8.0", 1885 | "resolved": "https://registry.npmjs.org/generate-changelog/-/generate-changelog-1.8.0.tgz", 1886 | "integrity": "sha512-msgpxeB75Ziyg3wGsZuPNl7c5RxChMKmYcAX5obnhUow90dBZW3nLic6nxGtst7Bpx453oS6zAIHcX7F3QVasw==", 1887 | "dev": true, 1888 | "dependencies": { 1889 | "bluebird": "^3.0.6", 1890 | "commander": "^2.9.0", 1891 | "github-url-from-git": "^1.4.0" 1892 | }, 1893 | "bin": { 1894 | "changelog": "bin/generate", 1895 | "generate-changelog": "bin/generate" 1896 | } 1897 | }, 1898 | "node_modules/gensync": { 1899 | "version": "1.0.0-beta.2", 1900 | "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", 1901 | "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", 1902 | "dev": true, 1903 | "license": "MIT", 1904 | "engines": { 1905 | "node": ">=6.9.0" 1906 | } 1907 | }, 1908 | "node_modules/github-url-from-git": { 1909 | "version": "1.5.0", 1910 | "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.5.0.tgz", 1911 | "integrity": "sha512-WWOec4aRI7YAykQ9+BHmzjyNlkfJFG8QLXnDTsLz/kZefq7qkzdfo4p6fkYYMIq1aj+gZcQs/1HQhQh3DPPxlQ==", 1912 | "dev": true, 1913 | "license": "MIT" 1914 | }, 1915 | "node_modules/globals": { 1916 | "version": "11.12.0", 1917 | "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", 1918 | "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", 1919 | "dev": true, 1920 | "license": "MIT", 1921 | "engines": { 1922 | "node": ">=4" 1923 | } 1924 | }, 1925 | "node_modules/graceful-fs": { 1926 | "version": "4.2.11", 1927 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1928 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 1929 | "dev": true, 1930 | "license": "ISC" 1931 | }, 1932 | "node_modules/has-flag": { 1933 | "version": "4.0.0", 1934 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", 1935 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1936 | "dev": true, 1937 | "license": "MIT", 1938 | "engines": { 1939 | "node": ">=8" 1940 | } 1941 | }, 1942 | "node_modules/hasown": { 1943 | "version": "2.0.2", 1944 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 1945 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 1946 | "dev": true, 1947 | "license": "MIT", 1948 | "dependencies": { 1949 | "function-bind": "^1.1.2" 1950 | }, 1951 | "engines": { 1952 | "node": ">= 0.4" 1953 | } 1954 | }, 1955 | "node_modules/he": { 1956 | "version": "1.2.0", 1957 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 1958 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 1959 | "dev": true, 1960 | "license": "MIT", 1961 | "bin": { 1962 | "he": "bin/he" 1963 | } 1964 | }, 1965 | "node_modules/import-lazy": { 1966 | "version": "4.0.0", 1967 | "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", 1968 | "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", 1969 | "dev": true, 1970 | "license": "MIT", 1971 | "engines": { 1972 | "node": ">=8" 1973 | } 1974 | }, 1975 | "node_modules/is-core-module": { 1976 | "version": "2.15.1", 1977 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", 1978 | "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", 1979 | "dev": true, 1980 | "license": "MIT", 1981 | "dependencies": { 1982 | "hasown": "^2.0.2" 1983 | }, 1984 | "engines": { 1985 | "node": ">= 0.4" 1986 | }, 1987 | "funding": { 1988 | "url": "https://github.com/sponsors/ljharb" 1989 | } 1990 | }, 1991 | "node_modules/jju": { 1992 | "version": "1.4.0", 1993 | "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", 1994 | "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", 1995 | "dev": true, 1996 | "license": "MIT" 1997 | }, 1998 | "node_modules/js-tokens": { 1999 | "version": "4.0.0", 2000 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 2001 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 2002 | "dev": true, 2003 | "license": "MIT" 2004 | }, 2005 | "node_modules/jsesc": { 2006 | "version": "3.0.2", 2007 | "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", 2008 | "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", 2009 | "dev": true, 2010 | "license": "MIT", 2011 | "bin": { 2012 | "jsesc": "bin/jsesc" 2013 | }, 2014 | "engines": { 2015 | "node": ">=6" 2016 | } 2017 | }, 2018 | "node_modules/json-schema-traverse": { 2019 | "version": "1.0.0", 2020 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", 2021 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", 2022 | "dev": true, 2023 | "license": "MIT" 2024 | }, 2025 | "node_modules/json5": { 2026 | "version": "2.2.3", 2027 | "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", 2028 | "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", 2029 | "dev": true, 2030 | "license": "MIT", 2031 | "bin": { 2032 | "json5": "lib/cli.js" 2033 | }, 2034 | "engines": { 2035 | "node": ">=6" 2036 | } 2037 | }, 2038 | "node_modules/jsonfile": { 2039 | "version": "4.0.0", 2040 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 2041 | "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", 2042 | "dev": true, 2043 | "license": "MIT", 2044 | "optionalDependencies": { 2045 | "graceful-fs": "^4.1.6" 2046 | } 2047 | }, 2048 | "node_modules/kolorist": { 2049 | "version": "1.8.0", 2050 | "resolved": "https://registry.npmjs.org/kolorist/-/kolorist-1.8.0.tgz", 2051 | "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", 2052 | "dev": true, 2053 | "license": "MIT" 2054 | }, 2055 | "node_modules/local-pkg": { 2056 | "version": "0.5.0", 2057 | "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", 2058 | "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", 2059 | "dev": true, 2060 | "license": "MIT", 2061 | "dependencies": { 2062 | "mlly": "^1.4.2", 2063 | "pkg-types": "^1.0.3" 2064 | }, 2065 | "engines": { 2066 | "node": ">=14" 2067 | }, 2068 | "funding": { 2069 | "url": "https://github.com/sponsors/antfu" 2070 | } 2071 | }, 2072 | "node_modules/lodash": { 2073 | "version": "4.17.21", 2074 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 2075 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 2076 | "dev": true, 2077 | "license": "MIT" 2078 | }, 2079 | "node_modules/lru-cache": { 2080 | "version": "5.1.1", 2081 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", 2082 | "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", 2083 | "dev": true, 2084 | "license": "ISC", 2085 | "dependencies": { 2086 | "yallist": "^3.0.2" 2087 | } 2088 | }, 2089 | "node_modules/magic-string": { 2090 | "version": "0.30.12", 2091 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", 2092 | "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", 2093 | "license": "MIT", 2094 | "dependencies": { 2095 | "@jridgewell/sourcemap-codec": "^1.5.0" 2096 | } 2097 | }, 2098 | "node_modules/minimatch": { 2099 | "version": "3.0.8", 2100 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz", 2101 | "integrity": "sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==", 2102 | "dev": true, 2103 | "license": "ISC", 2104 | "dependencies": { 2105 | "brace-expansion": "^1.1.7" 2106 | }, 2107 | "engines": { 2108 | "node": "*" 2109 | } 2110 | }, 2111 | "node_modules/mlly": { 2112 | "version": "1.7.2", 2113 | "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.2.tgz", 2114 | "integrity": "sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==", 2115 | "dev": true, 2116 | "license": "MIT", 2117 | "dependencies": { 2118 | "acorn": "^8.12.1", 2119 | "pathe": "^1.1.2", 2120 | "pkg-types": "^1.2.0", 2121 | "ufo": "^1.5.4" 2122 | } 2123 | }, 2124 | "node_modules/ms": { 2125 | "version": "2.1.3", 2126 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", 2127 | "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", 2128 | "dev": true, 2129 | "license": "MIT" 2130 | }, 2131 | "node_modules/muggle-string": { 2132 | "version": "0.4.1", 2133 | "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", 2134 | "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", 2135 | "dev": true, 2136 | "license": "MIT" 2137 | }, 2138 | "node_modules/nanoid": { 2139 | "version": "3.3.8", 2140 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", 2141 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", 2142 | "funding": [ 2143 | { 2144 | "type": "github", 2145 | "url": "https://github.com/sponsors/ai" 2146 | } 2147 | ], 2148 | "bin": { 2149 | "nanoid": "bin/nanoid.cjs" 2150 | }, 2151 | "engines": { 2152 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2153 | } 2154 | }, 2155 | "node_modules/node-releases": { 2156 | "version": "2.0.18", 2157 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", 2158 | "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", 2159 | "dev": true, 2160 | "license": "MIT" 2161 | }, 2162 | "node_modules/path-browserify": { 2163 | "version": "1.0.1", 2164 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 2165 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", 2166 | "dev": true, 2167 | "license": "MIT" 2168 | }, 2169 | "node_modules/path-parse": { 2170 | "version": "1.0.7", 2171 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2172 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2173 | "dev": true, 2174 | "license": "MIT" 2175 | }, 2176 | "node_modules/pathe": { 2177 | "version": "1.1.2", 2178 | "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", 2179 | "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", 2180 | "dev": true, 2181 | "license": "MIT" 2182 | }, 2183 | "node_modules/picocolors": { 2184 | "version": "1.1.1", 2185 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 2186 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", 2187 | "license": "ISC" 2188 | }, 2189 | "node_modules/picomatch": { 2190 | "version": "4.0.2", 2191 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", 2192 | "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", 2193 | "dev": true, 2194 | "license": "MIT", 2195 | "engines": { 2196 | "node": ">=12" 2197 | }, 2198 | "funding": { 2199 | "url": "https://github.com/sponsors/jonschlinkert" 2200 | } 2201 | }, 2202 | "node_modules/pkg-types": { 2203 | "version": "1.2.1", 2204 | "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.1.tgz", 2205 | "integrity": "sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==", 2206 | "dev": true, 2207 | "license": "MIT", 2208 | "dependencies": { 2209 | "confbox": "^0.1.8", 2210 | "mlly": "^1.7.2", 2211 | "pathe": "^1.1.2" 2212 | } 2213 | }, 2214 | "node_modules/postcss": { 2215 | "version": "8.4.49", 2216 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", 2217 | "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", 2218 | "funding": [ 2219 | { 2220 | "type": "opencollective", 2221 | "url": "https://opencollective.com/postcss/" 2222 | }, 2223 | { 2224 | "type": "tidelift", 2225 | "url": "https://tidelift.com/funding/github/npm/postcss" 2226 | }, 2227 | { 2228 | "type": "github", 2229 | "url": "https://github.com/sponsors/ai" 2230 | } 2231 | ], 2232 | "dependencies": { 2233 | "nanoid": "^3.3.7", 2234 | "picocolors": "^1.1.1", 2235 | "source-map-js": "^1.2.1" 2236 | }, 2237 | "engines": { 2238 | "node": "^10 || ^12 || >=14" 2239 | } 2240 | }, 2241 | "node_modules/punycode": { 2242 | "version": "2.3.1", 2243 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", 2244 | "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", 2245 | "dev": true, 2246 | "license": "MIT", 2247 | "engines": { 2248 | "node": ">=6" 2249 | } 2250 | }, 2251 | "node_modules/react": { 2252 | "version": "19.0.0", 2253 | "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", 2254 | "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", 2255 | "engines": { 2256 | "node": ">=0.10.0" 2257 | } 2258 | }, 2259 | "node_modules/react-refresh": { 2260 | "version": "0.14.2", 2261 | "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", 2262 | "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", 2263 | "dev": true, 2264 | "license": "MIT", 2265 | "engines": { 2266 | "node": ">=0.10.0" 2267 | } 2268 | }, 2269 | "node_modules/require-from-string": { 2270 | "version": "2.0.2", 2271 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", 2272 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", 2273 | "dev": true, 2274 | "license": "MIT", 2275 | "engines": { 2276 | "node": ">=0.10.0" 2277 | } 2278 | }, 2279 | "node_modules/resolve": { 2280 | "version": "1.22.8", 2281 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 2282 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 2283 | "dev": true, 2284 | "license": "MIT", 2285 | "dependencies": { 2286 | "is-core-module": "^2.13.0", 2287 | "path-parse": "^1.0.7", 2288 | "supports-preserve-symlinks-flag": "^1.0.0" 2289 | }, 2290 | "bin": { 2291 | "resolve": "bin/resolve" 2292 | }, 2293 | "funding": { 2294 | "url": "https://github.com/sponsors/ljharb" 2295 | } 2296 | }, 2297 | "node_modules/rollup": { 2298 | "version": "4.24.4", 2299 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.24.4.tgz", 2300 | "integrity": "sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==", 2301 | "dev": true, 2302 | "license": "MIT", 2303 | "dependencies": { 2304 | "@types/estree": "1.0.6" 2305 | }, 2306 | "bin": { 2307 | "rollup": "dist/bin/rollup" 2308 | }, 2309 | "engines": { 2310 | "node": ">=18.0.0", 2311 | "npm": ">=8.0.0" 2312 | }, 2313 | "optionalDependencies": { 2314 | "@rollup/rollup-android-arm-eabi": "4.24.4", 2315 | "@rollup/rollup-android-arm64": "4.24.4", 2316 | "@rollup/rollup-darwin-arm64": "4.24.4", 2317 | "@rollup/rollup-darwin-x64": "4.24.4", 2318 | "@rollup/rollup-freebsd-arm64": "4.24.4", 2319 | "@rollup/rollup-freebsd-x64": "4.24.4", 2320 | "@rollup/rollup-linux-arm-gnueabihf": "4.24.4", 2321 | "@rollup/rollup-linux-arm-musleabihf": "4.24.4", 2322 | "@rollup/rollup-linux-arm64-gnu": "4.24.4", 2323 | "@rollup/rollup-linux-arm64-musl": "4.24.4", 2324 | "@rollup/rollup-linux-powerpc64le-gnu": "4.24.4", 2325 | "@rollup/rollup-linux-riscv64-gnu": "4.24.4", 2326 | "@rollup/rollup-linux-s390x-gnu": "4.24.4", 2327 | "@rollup/rollup-linux-x64-gnu": "4.24.4", 2328 | "@rollup/rollup-linux-x64-musl": "4.24.4", 2329 | "@rollup/rollup-win32-arm64-msvc": "4.24.4", 2330 | "@rollup/rollup-win32-ia32-msvc": "4.24.4", 2331 | "@rollup/rollup-win32-x64-msvc": "4.24.4", 2332 | "fsevents": "~2.3.2" 2333 | } 2334 | }, 2335 | "node_modules/semver": { 2336 | "version": "6.3.1", 2337 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", 2338 | "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", 2339 | "dev": true, 2340 | "license": "ISC", 2341 | "bin": { 2342 | "semver": "bin/semver.js" 2343 | } 2344 | }, 2345 | "node_modules/source-map": { 2346 | "version": "0.6.1", 2347 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 2348 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 2349 | "dev": true, 2350 | "license": "BSD-3-Clause", 2351 | "engines": { 2352 | "node": ">=0.10.0" 2353 | } 2354 | }, 2355 | "node_modules/source-map-js": { 2356 | "version": "1.2.1", 2357 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 2358 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 2359 | "license": "BSD-3-Clause", 2360 | "engines": { 2361 | "node": ">=0.10.0" 2362 | } 2363 | }, 2364 | "node_modules/sprintf-js": { 2365 | "version": "1.0.3", 2366 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", 2367 | "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", 2368 | "dev": true, 2369 | "license": "BSD-3-Clause" 2370 | }, 2371 | "node_modules/string-argv": { 2372 | "version": "0.3.2", 2373 | "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", 2374 | "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", 2375 | "dev": true, 2376 | "license": "MIT", 2377 | "engines": { 2378 | "node": ">=0.6.19" 2379 | } 2380 | }, 2381 | "node_modules/strip-json-comments": { 2382 | "version": "3.1.1", 2383 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", 2384 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", 2385 | "dev": true, 2386 | "license": "MIT", 2387 | "engines": { 2388 | "node": ">=8" 2389 | }, 2390 | "funding": { 2391 | "url": "https://github.com/sponsors/sindresorhus" 2392 | } 2393 | }, 2394 | "node_modules/supports-color": { 2395 | "version": "8.1.1", 2396 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", 2397 | "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", 2398 | "dev": true, 2399 | "license": "MIT", 2400 | "dependencies": { 2401 | "has-flag": "^4.0.0" 2402 | }, 2403 | "engines": { 2404 | "node": ">=10" 2405 | }, 2406 | "funding": { 2407 | "url": "https://github.com/chalk/supports-color?sponsor=1" 2408 | } 2409 | }, 2410 | "node_modules/supports-preserve-symlinks-flag": { 2411 | "version": "1.0.0", 2412 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2413 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2414 | "dev": true, 2415 | "license": "MIT", 2416 | "engines": { 2417 | "node": ">= 0.4" 2418 | }, 2419 | "funding": { 2420 | "url": "https://github.com/sponsors/ljharb" 2421 | } 2422 | }, 2423 | "node_modules/typescript": { 2424 | "version": "5.7.2", 2425 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", 2426 | "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", 2427 | "devOptional": true, 2428 | "bin": { 2429 | "tsc": "bin/tsc", 2430 | "tsserver": "bin/tsserver" 2431 | }, 2432 | "engines": { 2433 | "node": ">=14.17" 2434 | } 2435 | }, 2436 | "node_modules/ufo": { 2437 | "version": "1.5.4", 2438 | "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", 2439 | "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", 2440 | "dev": true, 2441 | "license": "MIT" 2442 | }, 2443 | "node_modules/undici-types": { 2444 | "version": "6.20.0", 2445 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", 2446 | "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", 2447 | "dev": true 2448 | }, 2449 | "node_modules/universalify": { 2450 | "version": "0.1.2", 2451 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 2452 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 2453 | "dev": true, 2454 | "license": "MIT", 2455 | "engines": { 2456 | "node": ">= 4.0.0" 2457 | } 2458 | }, 2459 | "node_modules/update-browserslist-db": { 2460 | "version": "1.1.1", 2461 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", 2462 | "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", 2463 | "dev": true, 2464 | "funding": [ 2465 | { 2466 | "type": "opencollective", 2467 | "url": "https://opencollective.com/browserslist" 2468 | }, 2469 | { 2470 | "type": "tidelift", 2471 | "url": "https://tidelift.com/funding/github/npm/browserslist" 2472 | }, 2473 | { 2474 | "type": "github", 2475 | "url": "https://github.com/sponsors/ai" 2476 | } 2477 | ], 2478 | "license": "MIT", 2479 | "dependencies": { 2480 | "escalade": "^3.2.0", 2481 | "picocolors": "^1.1.0" 2482 | }, 2483 | "bin": { 2484 | "update-browserslist-db": "cli.js" 2485 | }, 2486 | "peerDependencies": { 2487 | "browserslist": ">= 4.21.0" 2488 | } 2489 | }, 2490 | "node_modules/uri-js": { 2491 | "version": "4.4.1", 2492 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", 2493 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", 2494 | "dev": true, 2495 | "license": "BSD-2-Clause", 2496 | "dependencies": { 2497 | "punycode": "^2.1.0" 2498 | } 2499 | }, 2500 | "node_modules/vite": { 2501 | "version": "6.0.3", 2502 | "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.3.tgz", 2503 | "integrity": "sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==", 2504 | "dev": true, 2505 | "dependencies": { 2506 | "esbuild": "^0.24.0", 2507 | "postcss": "^8.4.49", 2508 | "rollup": "^4.23.0" 2509 | }, 2510 | "bin": { 2511 | "vite": "bin/vite.js" 2512 | }, 2513 | "engines": { 2514 | "node": "^18.0.0 || ^20.0.0 || >=22.0.0" 2515 | }, 2516 | "funding": { 2517 | "url": "https://github.com/vitejs/vite?sponsor=1" 2518 | }, 2519 | "optionalDependencies": { 2520 | "fsevents": "~2.3.3" 2521 | }, 2522 | "peerDependencies": { 2523 | "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", 2524 | "jiti": ">=1.21.0", 2525 | "less": "*", 2526 | "lightningcss": "^1.21.0", 2527 | "sass": "*", 2528 | "sass-embedded": "*", 2529 | "stylus": "*", 2530 | "sugarss": "*", 2531 | "terser": "^5.16.0", 2532 | "tsx": "^4.8.1", 2533 | "yaml": "^2.4.2" 2534 | }, 2535 | "peerDependenciesMeta": { 2536 | "@types/node": { 2537 | "optional": true 2538 | }, 2539 | "jiti": { 2540 | "optional": true 2541 | }, 2542 | "less": { 2543 | "optional": true 2544 | }, 2545 | "lightningcss": { 2546 | "optional": true 2547 | }, 2548 | "sass": { 2549 | "optional": true 2550 | }, 2551 | "sass-embedded": { 2552 | "optional": true 2553 | }, 2554 | "stylus": { 2555 | "optional": true 2556 | }, 2557 | "sugarss": { 2558 | "optional": true 2559 | }, 2560 | "terser": { 2561 | "optional": true 2562 | }, 2563 | "tsx": { 2564 | "optional": true 2565 | }, 2566 | "yaml": { 2567 | "optional": true 2568 | } 2569 | } 2570 | }, 2571 | "node_modules/vite-plugin-dts": { 2572 | "version": "4.3.0", 2573 | "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.3.0.tgz", 2574 | "integrity": "sha512-LkBJh9IbLwL6/rxh0C1/bOurDrIEmRE7joC+jFdOEEciAFPbpEKOLSAr5nNh5R7CJ45cMbksTrFfy52szzC5eA==", 2575 | "dev": true, 2576 | "license": "MIT", 2577 | "dependencies": { 2578 | "@microsoft/api-extractor": "^7.47.11", 2579 | "@rollup/pluginutils": "^5.1.0", 2580 | "@volar/typescript": "^2.4.4", 2581 | "@vue/language-core": "2.1.6", 2582 | "compare-versions": "^6.1.1", 2583 | "debug": "^4.3.6", 2584 | "kolorist": "^1.8.0", 2585 | "local-pkg": "^0.5.0", 2586 | "magic-string": "^0.30.11" 2587 | }, 2588 | "engines": { 2589 | "node": "^14.18.0 || >=16.0.0" 2590 | }, 2591 | "peerDependencies": { 2592 | "typescript": "*", 2593 | "vite": "*" 2594 | }, 2595 | "peerDependenciesMeta": { 2596 | "vite": { 2597 | "optional": true 2598 | } 2599 | } 2600 | }, 2601 | "node_modules/vscode-uri": { 2602 | "version": "3.0.8", 2603 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", 2604 | "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", 2605 | "dev": true, 2606 | "license": "MIT" 2607 | }, 2608 | "node_modules/vue": { 2609 | "version": "3.5.13", 2610 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", 2611 | "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", 2612 | "dependencies": { 2613 | "@vue/compiler-dom": "3.5.13", 2614 | "@vue/compiler-sfc": "3.5.13", 2615 | "@vue/runtime-dom": "3.5.13", 2616 | "@vue/server-renderer": "3.5.13", 2617 | "@vue/shared": "3.5.13" 2618 | }, 2619 | "peerDependencies": { 2620 | "typescript": "*" 2621 | }, 2622 | "peerDependenciesMeta": { 2623 | "typescript": { 2624 | "optional": true 2625 | } 2626 | } 2627 | }, 2628 | "node_modules/yallist": { 2629 | "version": "3.1.1", 2630 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", 2631 | "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", 2632 | "dev": true, 2633 | "license": "ISC" 2634 | } 2635 | } 2636 | } 2637 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Library-Name", 3 | "private": false, 4 | "version": "0.0.1", 5 | "type": "module", 6 | "description": "A Template library for creating UI components in Vue and React.", 7 | "author": { 8 | "name": "Ebraheem Alhetari", 9 | "email": "hetari4all@gmail.com", 10 | "url": "https://github.com/hetari" 11 | }, 12 | "license": "MIT", 13 | "repository": { 14 | "type": "git", 15 | "url": "" 16 | }, 17 | "homepage": "", 18 | "bugs": { 19 | "url": "https://github.com/hetari/vue-and-react-library-template/issues" 20 | }, 21 | "keywords": [ 22 | "vue", 23 | "react", 24 | "library", 25 | "template" 26 | ], 27 | "exports": { 28 | "./vue": { 29 | "types": "./src/vue/types/index.d.ts", 30 | "import": "./src/vue/index.js", 31 | "require": "./src/vue/index.cjs.js", 32 | "default": "./src/vue/index.umd.js" 33 | }, 34 | "./react": { 35 | "types": "./src/react/types/index.d.ts", 36 | "import": "./src/react/index.js", 37 | "require": "./src/react/index.cjs.js", 38 | "default": "./src/react/index.umd.js" 39 | } 40 | }, 41 | "files": [ 42 | "dist", 43 | "README.md", 44 | "src/types/*.ts" 45 | ], 46 | "typesVersions": { 47 | "*": { 48 | "vue": [ 49 | "./src/vue/index.d.ts" 50 | ], 51 | "react": [ 52 | "./src/react/index.d.ts" 53 | ] 54 | } 55 | }, 56 | "scripts": { 57 | "dev": "vite", 58 | "preview": "vite preview", 59 | "build:vue": "vite build --mode vue", 60 | "build:react": "vite build --mode react", 61 | "build": "npm run build:vue && npm run build:react", 62 | "release:minor": "generate-changelog -m && git add CHANGELOG.md && git commit -m 'updated CHANGELOG.md' && npm version minor && git push origin && git push origin --tags && sh -c 'gh release create $(git describe --tags) --generate-notes'", 63 | "release:major": "generate-changelog -M && git add CHANGELOG.md && git commit -m 'updated CHANGELOG.md' && npm version major && git push origin && git push origin --tags && sh -c 'gh release create $(git describe --tags) --generate-notes'", 64 | "release:patch": "generate-changelog -p && git add CHANGELOG.md && git commit -m 'updated CHANGELOG.md' && npm version patch && git push origin && git push origin --tags && sh -c 'gh release create $(git describe --tags) --generate-notes'" 65 | }, 66 | "devDependencies": { 67 | "@types/node": "^22.10.1", 68 | "@types/react": "^19.0.1", 69 | "@vitejs/plugin-react": "^4.3.4", 70 | "@vitejs/plugin-vue": "^5.2.1", 71 | "generate-changelog": "^1.8.0", 72 | "typescript": "~5.7.2", 73 | "vite": "^6.0.3", 74 | "vite-plugin-dts": "^4.3.0" 75 | }, 76 | "dependencies": { 77 | "react": "^19.0.0", 78 | "vue": "^3.5.13" 79 | }, 80 | "publishConfig": { 81 | "access": "public" 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /src/core/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Hetari/vue-and-react-library-template/4cb1430c5f58608c33e68d737f0d682c18e04c41/src/core/index.ts -------------------------------------------------------------------------------- /src/react-entry.ts: -------------------------------------------------------------------------------- 1 | export * from './react/index'; 2 | -------------------------------------------------------------------------------- /src/react/Button.tsx: -------------------------------------------------------------------------------- 1 | export interface Props extends React.ButtonHTMLAttributes { 2 | label: string; 3 | children?: React.ReactNode; 4 | } 5 | 6 | function Button(props: Props): JSX.Element { 7 | const { className, label, ...restProps } = props; 8 | return ( 9 | 14 | ); 15 | } 16 | 17 | export default Button; 18 | -------------------------------------------------------------------------------- /src/react/index.ts: -------------------------------------------------------------------------------- 1 | import Button from './Button'; 2 | 3 | export { Button }; 4 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /src/vue-entry.ts: -------------------------------------------------------------------------------- 1 | export * from './vue/index'; 2 | -------------------------------------------------------------------------------- /src/vue/Button.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 24 | -------------------------------------------------------------------------------- /src/vue/index.ts: -------------------------------------------------------------------------------- 1 | import Button from './Button.vue'; 2 | export { Button }; 3 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "declaration": true, 4 | "emitDeclarationOnly": true, 5 | "module": "ESNext", 6 | "moduleResolution": "node", 7 | "esModuleInterop": true, 8 | "skipLibCheck": true, 9 | "jsx": "react-jsx", 10 | 11 | "baseUrl": "./", 12 | "paths": { 13 | "vue/*": ["src/vue/*"], 14 | "react/*": ["src/react/*"] 15 | }, 16 | "strict": true, 17 | "lib": ["dom", "esnext"], 18 | "allowSyntheticDefaultImports": true 19 | }, 20 | "include": [ 21 | "src/**/*.ts", 22 | "src/**/*.tsx", 23 | "types/**/*.tsx", 24 | "src/**/*.vue", 25 | "types/**/*.ts", 26 | "types/**/*.vue" 27 | ], 28 | "exclude": ["node_modules", "dist"] 29 | } -------------------------------------------------------------------------------- /tsconfig.react.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "declarationDir": "./dist/react/types", 5 | "outDir": "dist/react" 6 | }, 7 | "include": ["src/react/**/*", "src/react-entry.ts"], 8 | "exclude": ["src/vue/**/*"] 9 | } 10 | -------------------------------------------------------------------------------- /tsconfig.vue.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "compilerOptions": { 4 | "declarationDir": "./dist/vue/types", 5 | "outDir": "dist/vue" 6 | }, 7 | "jsx": "", 8 | "include": ["src/vue/**/*", "src/vue-entry.ts"], 9 | "exclude": ["src/react/**/*"] 10 | } 11 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite'; 2 | import vue from '@vitejs/plugin-vue'; 3 | import react from '@vitejs/plugin-react'; 4 | import dts from 'vite-plugin-dts'; 5 | import { resolve } from 'path'; 6 | 7 | export default defineConfig(({ mode }) => { 8 | const isVue = mode === 'vue'; 9 | const framework = isVue ? 'vue' : 'react'; 10 | const global = ( 11 | isVue ? { vue: 'Vue' } : { react: 'React', 'react/jsx-runtime': 'JSX' } 12 | ) as { [key: string]: string }; 13 | 14 | return { 15 | plugins: [ 16 | isVue ? vue() : react(), 17 | dts({ 18 | tsconfigPath: `./tsconfig.${framework}.json`, 19 | outDir: `dist/${framework}`, 20 | include: [`src/${framework}/**/*`, `src/${framework}-entry.ts`], 21 | insertTypesEntry: true, 22 | cleanVueFileName: true, 23 | rollupTypes: true, 24 | entryRoot: 'src/' 25 | }) 26 | ].filter(Boolean), 27 | build: { 28 | target: 'es2015', 29 | copyPublicDir: false, 30 | outDir: `dist/${framework}`, 31 | 32 | lib: { 33 | entry: resolve(__dirname, `src/${framework}-entry.ts`), 34 | name: 'LibraryName', 35 | formats: ['es', 'cjs', 'umd'], 36 | fileName: (format) => { 37 | if (format === 'es') return 'index.js'; 38 | else return `index.${format}.js`; 39 | } 40 | }, 41 | rollupOptions: { 42 | external: ['vue', 'react', 'react/jsx-runtime'], 43 | output: { 44 | exports: 'named', 45 | globals: global 46 | } 47 | } 48 | }, 49 | resolve: { 50 | alias: { 51 | '@vue': resolve(__dirname, 'src/vue'), 52 | '@react': resolve(__dirname, 'src/react') 53 | } 54 | } 55 | }; 56 | }); 57 | --------------------------------------------------------------------------------