├── .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 |
2 |
3 |
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 |
--------------------------------------------------------------------------------