├── .gitignore ├── .vscode └── extensions.json ├── README.md ├── index.html ├── package-lock.json ├── package.json ├── postcss.config.js ├── public └── logo.svg ├── src ├── App.vue ├── assets │ ├── logo.svg │ └── styles │ │ └── index.css ├── components │ └── Header.vue ├── main.ts ├── router │ └── index.ts ├── views │ └── Home.vue └── vite-env.d.ts ├── tailwind.config.js ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.node.json └── vite.config.ts /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar"] 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Vue 3 + Vite + TypeScript + Vue Router + Tailwind CSS Starter Template 2 | 3 | ## Описание проекта 4 | 5 | Этот проект представляет собой мощный стартовый шаблон для разработки современных веб-приложений с использованием Vue 3, Vite, TypeScript, Vue Router и Tailwind CSS. Шаблон предоставляет оптимизированную структуру и передовые настройки для быстрого начала разработки высокопроизводительных приложений. 6 | 7 | ## Особенности 8 | 9 | - Vue 3 с Composition API и ` 16 | 17 | 18 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwind_teach", 3 | "version": "1.0.0", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "tailwind_teach", 9 | "version": "1.0.0", 10 | "license": "MIT", 11 | "dependencies": { 12 | "@vueuse/core": "^12.4.0", 13 | "vue": "^3.5.13", 14 | "vue-router": "^4.0.13" 15 | }, 16 | "devDependencies": { 17 | "@vitejs/plugin-vue": "^5.2.1", 18 | "@vue/tsconfig": "^0.7.0", 19 | "autoprefixer": "^10.4.20", 20 | "postcss": "^8.5.0", 21 | "tailwindcss": "^3.4.17", 22 | "typescript": "~5.6.2", 23 | "vite": "^6.0.5", 24 | "vue-tsc": "^2.2.0" 25 | } 26 | }, 27 | "node_modules/@alloc/quick-lru": { 28 | "version": "5.2.0", 29 | "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 30 | "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 31 | "dev": true, 32 | "engines": { 33 | "node": ">=10" 34 | }, 35 | "funding": { 36 | "url": "https://github.com/sponsors/sindresorhus" 37 | } 38 | }, 39 | "node_modules/@babel/helper-string-parser": { 40 | "version": "7.25.9", 41 | "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", 42 | "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", 43 | "engines": { 44 | "node": ">=6.9.0" 45 | } 46 | }, 47 | "node_modules/@babel/helper-validator-identifier": { 48 | "version": "7.25.9", 49 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", 50 | "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", 51 | "engines": { 52 | "node": ">=6.9.0" 53 | } 54 | }, 55 | "node_modules/@babel/parser": { 56 | "version": "7.26.5", 57 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", 58 | "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", 59 | "dependencies": { 60 | "@babel/types": "^7.26.5" 61 | }, 62 | "bin": { 63 | "parser": "bin/babel-parser.js" 64 | }, 65 | "engines": { 66 | "node": ">=6.0.0" 67 | } 68 | }, 69 | "node_modules/@babel/types": { 70 | "version": "7.26.5", 71 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", 72 | "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", 73 | "dependencies": { 74 | "@babel/helper-string-parser": "^7.25.9", 75 | "@babel/helper-validator-identifier": "^7.25.9" 76 | }, 77 | "engines": { 78 | "node": ">=6.9.0" 79 | } 80 | }, 81 | "node_modules/@esbuild/aix-ppc64": { 82 | "version": "0.24.2", 83 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", 84 | "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", 85 | "cpu": [ 86 | "ppc64" 87 | ], 88 | "dev": true, 89 | "optional": true, 90 | "os": [ 91 | "aix" 92 | ], 93 | "engines": { 94 | "node": ">=18" 95 | } 96 | }, 97 | "node_modules/@esbuild/android-arm": { 98 | "version": "0.24.2", 99 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", 100 | "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", 101 | "cpu": [ 102 | "arm" 103 | ], 104 | "dev": true, 105 | "optional": true, 106 | "os": [ 107 | "android" 108 | ], 109 | "engines": { 110 | "node": ">=18" 111 | } 112 | }, 113 | "node_modules/@esbuild/android-arm64": { 114 | "version": "0.24.2", 115 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", 116 | "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", 117 | "cpu": [ 118 | "arm64" 119 | ], 120 | "dev": true, 121 | "optional": true, 122 | "os": [ 123 | "android" 124 | ], 125 | "engines": { 126 | "node": ">=18" 127 | } 128 | }, 129 | "node_modules/@esbuild/android-x64": { 130 | "version": "0.24.2", 131 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", 132 | "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", 133 | "cpu": [ 134 | "x64" 135 | ], 136 | "dev": true, 137 | "optional": true, 138 | "os": [ 139 | "android" 140 | ], 141 | "engines": { 142 | "node": ">=18" 143 | } 144 | }, 145 | "node_modules/@esbuild/darwin-arm64": { 146 | "version": "0.24.2", 147 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", 148 | "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", 149 | "cpu": [ 150 | "arm64" 151 | ], 152 | "dev": true, 153 | "optional": true, 154 | "os": [ 155 | "darwin" 156 | ], 157 | "engines": { 158 | "node": ">=18" 159 | } 160 | }, 161 | "node_modules/@esbuild/darwin-x64": { 162 | "version": "0.24.2", 163 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", 164 | "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", 165 | "cpu": [ 166 | "x64" 167 | ], 168 | "dev": true, 169 | "optional": true, 170 | "os": [ 171 | "darwin" 172 | ], 173 | "engines": { 174 | "node": ">=18" 175 | } 176 | }, 177 | "node_modules/@esbuild/freebsd-arm64": { 178 | "version": "0.24.2", 179 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", 180 | "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", 181 | "cpu": [ 182 | "arm64" 183 | ], 184 | "dev": true, 185 | "optional": true, 186 | "os": [ 187 | "freebsd" 188 | ], 189 | "engines": { 190 | "node": ">=18" 191 | } 192 | }, 193 | "node_modules/@esbuild/freebsd-x64": { 194 | "version": "0.24.2", 195 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", 196 | "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", 197 | "cpu": [ 198 | "x64" 199 | ], 200 | "dev": true, 201 | "optional": true, 202 | "os": [ 203 | "freebsd" 204 | ], 205 | "engines": { 206 | "node": ">=18" 207 | } 208 | }, 209 | "node_modules/@esbuild/linux-arm": { 210 | "version": "0.24.2", 211 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", 212 | "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", 213 | "cpu": [ 214 | "arm" 215 | ], 216 | "dev": true, 217 | "optional": true, 218 | "os": [ 219 | "linux" 220 | ], 221 | "engines": { 222 | "node": ">=18" 223 | } 224 | }, 225 | "node_modules/@esbuild/linux-arm64": { 226 | "version": "0.24.2", 227 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", 228 | "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", 229 | "cpu": [ 230 | "arm64" 231 | ], 232 | "dev": true, 233 | "optional": true, 234 | "os": [ 235 | "linux" 236 | ], 237 | "engines": { 238 | "node": ">=18" 239 | } 240 | }, 241 | "node_modules/@esbuild/linux-ia32": { 242 | "version": "0.24.2", 243 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", 244 | "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", 245 | "cpu": [ 246 | "ia32" 247 | ], 248 | "dev": true, 249 | "optional": true, 250 | "os": [ 251 | "linux" 252 | ], 253 | "engines": { 254 | "node": ">=18" 255 | } 256 | }, 257 | "node_modules/@esbuild/linux-loong64": { 258 | "version": "0.24.2", 259 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", 260 | "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", 261 | "cpu": [ 262 | "loong64" 263 | ], 264 | "dev": true, 265 | "optional": true, 266 | "os": [ 267 | "linux" 268 | ], 269 | "engines": { 270 | "node": ">=18" 271 | } 272 | }, 273 | "node_modules/@esbuild/linux-mips64el": { 274 | "version": "0.24.2", 275 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", 276 | "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", 277 | "cpu": [ 278 | "mips64el" 279 | ], 280 | "dev": true, 281 | "optional": true, 282 | "os": [ 283 | "linux" 284 | ], 285 | "engines": { 286 | "node": ">=18" 287 | } 288 | }, 289 | "node_modules/@esbuild/linux-ppc64": { 290 | "version": "0.24.2", 291 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", 292 | "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", 293 | "cpu": [ 294 | "ppc64" 295 | ], 296 | "dev": true, 297 | "optional": true, 298 | "os": [ 299 | "linux" 300 | ], 301 | "engines": { 302 | "node": ">=18" 303 | } 304 | }, 305 | "node_modules/@esbuild/linux-riscv64": { 306 | "version": "0.24.2", 307 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", 308 | "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", 309 | "cpu": [ 310 | "riscv64" 311 | ], 312 | "dev": true, 313 | "optional": true, 314 | "os": [ 315 | "linux" 316 | ], 317 | "engines": { 318 | "node": ">=18" 319 | } 320 | }, 321 | "node_modules/@esbuild/linux-s390x": { 322 | "version": "0.24.2", 323 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", 324 | "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", 325 | "cpu": [ 326 | "s390x" 327 | ], 328 | "dev": true, 329 | "optional": true, 330 | "os": [ 331 | "linux" 332 | ], 333 | "engines": { 334 | "node": ">=18" 335 | } 336 | }, 337 | "node_modules/@esbuild/linux-x64": { 338 | "version": "0.24.2", 339 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", 340 | "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", 341 | "cpu": [ 342 | "x64" 343 | ], 344 | "dev": true, 345 | "optional": true, 346 | "os": [ 347 | "linux" 348 | ], 349 | "engines": { 350 | "node": ">=18" 351 | } 352 | }, 353 | "node_modules/@esbuild/netbsd-arm64": { 354 | "version": "0.24.2", 355 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", 356 | "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", 357 | "cpu": [ 358 | "arm64" 359 | ], 360 | "dev": true, 361 | "optional": true, 362 | "os": [ 363 | "netbsd" 364 | ], 365 | "engines": { 366 | "node": ">=18" 367 | } 368 | }, 369 | "node_modules/@esbuild/netbsd-x64": { 370 | "version": "0.24.2", 371 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", 372 | "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", 373 | "cpu": [ 374 | "x64" 375 | ], 376 | "dev": true, 377 | "optional": true, 378 | "os": [ 379 | "netbsd" 380 | ], 381 | "engines": { 382 | "node": ">=18" 383 | } 384 | }, 385 | "node_modules/@esbuild/openbsd-arm64": { 386 | "version": "0.24.2", 387 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", 388 | "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", 389 | "cpu": [ 390 | "arm64" 391 | ], 392 | "dev": true, 393 | "optional": true, 394 | "os": [ 395 | "openbsd" 396 | ], 397 | "engines": { 398 | "node": ">=18" 399 | } 400 | }, 401 | "node_modules/@esbuild/openbsd-x64": { 402 | "version": "0.24.2", 403 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", 404 | "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", 405 | "cpu": [ 406 | "x64" 407 | ], 408 | "dev": true, 409 | "optional": true, 410 | "os": [ 411 | "openbsd" 412 | ], 413 | "engines": { 414 | "node": ">=18" 415 | } 416 | }, 417 | "node_modules/@esbuild/sunos-x64": { 418 | "version": "0.24.2", 419 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", 420 | "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", 421 | "cpu": [ 422 | "x64" 423 | ], 424 | "dev": true, 425 | "optional": true, 426 | "os": [ 427 | "sunos" 428 | ], 429 | "engines": { 430 | "node": ">=18" 431 | } 432 | }, 433 | "node_modules/@esbuild/win32-arm64": { 434 | "version": "0.24.2", 435 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", 436 | "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", 437 | "cpu": [ 438 | "arm64" 439 | ], 440 | "dev": true, 441 | "optional": true, 442 | "os": [ 443 | "win32" 444 | ], 445 | "engines": { 446 | "node": ">=18" 447 | } 448 | }, 449 | "node_modules/@esbuild/win32-ia32": { 450 | "version": "0.24.2", 451 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", 452 | "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", 453 | "cpu": [ 454 | "ia32" 455 | ], 456 | "dev": true, 457 | "optional": true, 458 | "os": [ 459 | "win32" 460 | ], 461 | "engines": { 462 | "node": ">=18" 463 | } 464 | }, 465 | "node_modules/@esbuild/win32-x64": { 466 | "version": "0.24.2", 467 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", 468 | "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", 469 | "cpu": [ 470 | "x64" 471 | ], 472 | "dev": true, 473 | "optional": true, 474 | "os": [ 475 | "win32" 476 | ], 477 | "engines": { 478 | "node": ">=18" 479 | } 480 | }, 481 | "node_modules/@isaacs/cliui": { 482 | "version": "8.0.2", 483 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 484 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 485 | "dev": true, 486 | "dependencies": { 487 | "string-width": "^5.1.2", 488 | "string-width-cjs": "npm:string-width@^4.2.0", 489 | "strip-ansi": "^7.0.1", 490 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 491 | "wrap-ansi": "^8.1.0", 492 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 493 | }, 494 | "engines": { 495 | "node": ">=12" 496 | } 497 | }, 498 | "node_modules/@jridgewell/gen-mapping": { 499 | "version": "0.3.8", 500 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", 501 | "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", 502 | "dev": true, 503 | "dependencies": { 504 | "@jridgewell/set-array": "^1.2.1", 505 | "@jridgewell/sourcemap-codec": "^1.4.10", 506 | "@jridgewell/trace-mapping": "^0.3.24" 507 | }, 508 | "engines": { 509 | "node": ">=6.0.0" 510 | } 511 | }, 512 | "node_modules/@jridgewell/resolve-uri": { 513 | "version": "3.1.2", 514 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 515 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 516 | "dev": true, 517 | "engines": { 518 | "node": ">=6.0.0" 519 | } 520 | }, 521 | "node_modules/@jridgewell/set-array": { 522 | "version": "1.2.1", 523 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 524 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 525 | "dev": true, 526 | "engines": { 527 | "node": ">=6.0.0" 528 | } 529 | }, 530 | "node_modules/@jridgewell/sourcemap-codec": { 531 | "version": "1.5.0", 532 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 533 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" 534 | }, 535 | "node_modules/@jridgewell/trace-mapping": { 536 | "version": "0.3.25", 537 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 538 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 539 | "dev": true, 540 | "dependencies": { 541 | "@jridgewell/resolve-uri": "^3.1.0", 542 | "@jridgewell/sourcemap-codec": "^1.4.14" 543 | } 544 | }, 545 | "node_modules/@nodelib/fs.scandir": { 546 | "version": "2.1.5", 547 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 548 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 549 | "dev": true, 550 | "dependencies": { 551 | "@nodelib/fs.stat": "2.0.5", 552 | "run-parallel": "^1.1.9" 553 | }, 554 | "engines": { 555 | "node": ">= 8" 556 | } 557 | }, 558 | "node_modules/@nodelib/fs.stat": { 559 | "version": "2.0.5", 560 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 561 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 562 | "dev": true, 563 | "engines": { 564 | "node": ">= 8" 565 | } 566 | }, 567 | "node_modules/@nodelib/fs.walk": { 568 | "version": "1.2.8", 569 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 570 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 571 | "dev": true, 572 | "dependencies": { 573 | "@nodelib/fs.scandir": "2.1.5", 574 | "fastq": "^1.6.0" 575 | }, 576 | "engines": { 577 | "node": ">= 8" 578 | } 579 | }, 580 | "node_modules/@pkgjs/parseargs": { 581 | "version": "0.11.0", 582 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 583 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 584 | "dev": true, 585 | "optional": true, 586 | "engines": { 587 | "node": ">=14" 588 | } 589 | }, 590 | "node_modules/@rollup/rollup-android-arm-eabi": { 591 | "version": "4.30.1", 592 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.30.1.tgz", 593 | "integrity": "sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==", 594 | "cpu": [ 595 | "arm" 596 | ], 597 | "dev": true, 598 | "optional": true, 599 | "os": [ 600 | "android" 601 | ] 602 | }, 603 | "node_modules/@rollup/rollup-android-arm64": { 604 | "version": "4.30.1", 605 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.30.1.tgz", 606 | "integrity": "sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==", 607 | "cpu": [ 608 | "arm64" 609 | ], 610 | "dev": true, 611 | "optional": true, 612 | "os": [ 613 | "android" 614 | ] 615 | }, 616 | "node_modules/@rollup/rollup-darwin-arm64": { 617 | "version": "4.30.1", 618 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.30.1.tgz", 619 | "integrity": "sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==", 620 | "cpu": [ 621 | "arm64" 622 | ], 623 | "dev": true, 624 | "optional": true, 625 | "os": [ 626 | "darwin" 627 | ] 628 | }, 629 | "node_modules/@rollup/rollup-darwin-x64": { 630 | "version": "4.30.1", 631 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.30.1.tgz", 632 | "integrity": "sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==", 633 | "cpu": [ 634 | "x64" 635 | ], 636 | "dev": true, 637 | "optional": true, 638 | "os": [ 639 | "darwin" 640 | ] 641 | }, 642 | "node_modules/@rollup/rollup-freebsd-arm64": { 643 | "version": "4.30.1", 644 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.30.1.tgz", 645 | "integrity": "sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==", 646 | "cpu": [ 647 | "arm64" 648 | ], 649 | "dev": true, 650 | "optional": true, 651 | "os": [ 652 | "freebsd" 653 | ] 654 | }, 655 | "node_modules/@rollup/rollup-freebsd-x64": { 656 | "version": "4.30.1", 657 | "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.30.1.tgz", 658 | "integrity": "sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==", 659 | "cpu": [ 660 | "x64" 661 | ], 662 | "dev": true, 663 | "optional": true, 664 | "os": [ 665 | "freebsd" 666 | ] 667 | }, 668 | "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 669 | "version": "4.30.1", 670 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.30.1.tgz", 671 | "integrity": "sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==", 672 | "cpu": [ 673 | "arm" 674 | ], 675 | "dev": true, 676 | "optional": true, 677 | "os": [ 678 | "linux" 679 | ] 680 | }, 681 | "node_modules/@rollup/rollup-linux-arm-musleabihf": { 682 | "version": "4.30.1", 683 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.30.1.tgz", 684 | "integrity": "sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==", 685 | "cpu": [ 686 | "arm" 687 | ], 688 | "dev": true, 689 | "optional": true, 690 | "os": [ 691 | "linux" 692 | ] 693 | }, 694 | "node_modules/@rollup/rollup-linux-arm64-gnu": { 695 | "version": "4.30.1", 696 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.30.1.tgz", 697 | "integrity": "sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==", 698 | "cpu": [ 699 | "arm64" 700 | ], 701 | "dev": true, 702 | "optional": true, 703 | "os": [ 704 | "linux" 705 | ] 706 | }, 707 | "node_modules/@rollup/rollup-linux-arm64-musl": { 708 | "version": "4.30.1", 709 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.30.1.tgz", 710 | "integrity": "sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==", 711 | "cpu": [ 712 | "arm64" 713 | ], 714 | "dev": true, 715 | "optional": true, 716 | "os": [ 717 | "linux" 718 | ] 719 | }, 720 | "node_modules/@rollup/rollup-linux-loongarch64-gnu": { 721 | "version": "4.30.1", 722 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.30.1.tgz", 723 | "integrity": "sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==", 724 | "cpu": [ 725 | "loong64" 726 | ], 727 | "dev": true, 728 | "optional": true, 729 | "os": [ 730 | "linux" 731 | ] 732 | }, 733 | "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 734 | "version": "4.30.1", 735 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.30.1.tgz", 736 | "integrity": "sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==", 737 | "cpu": [ 738 | "ppc64" 739 | ], 740 | "dev": true, 741 | "optional": true, 742 | "os": [ 743 | "linux" 744 | ] 745 | }, 746 | "node_modules/@rollup/rollup-linux-riscv64-gnu": { 747 | "version": "4.30.1", 748 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.30.1.tgz", 749 | "integrity": "sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==", 750 | "cpu": [ 751 | "riscv64" 752 | ], 753 | "dev": true, 754 | "optional": true, 755 | "os": [ 756 | "linux" 757 | ] 758 | }, 759 | "node_modules/@rollup/rollup-linux-s390x-gnu": { 760 | "version": "4.30.1", 761 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.30.1.tgz", 762 | "integrity": "sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==", 763 | "cpu": [ 764 | "s390x" 765 | ], 766 | "dev": true, 767 | "optional": true, 768 | "os": [ 769 | "linux" 770 | ] 771 | }, 772 | "node_modules/@rollup/rollup-linux-x64-gnu": { 773 | "version": "4.30.1", 774 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.30.1.tgz", 775 | "integrity": "sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==", 776 | "cpu": [ 777 | "x64" 778 | ], 779 | "dev": true, 780 | "optional": true, 781 | "os": [ 782 | "linux" 783 | ] 784 | }, 785 | "node_modules/@rollup/rollup-linux-x64-musl": { 786 | "version": "4.30.1", 787 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.30.1.tgz", 788 | "integrity": "sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==", 789 | "cpu": [ 790 | "x64" 791 | ], 792 | "dev": true, 793 | "optional": true, 794 | "os": [ 795 | "linux" 796 | ] 797 | }, 798 | "node_modules/@rollup/rollup-win32-arm64-msvc": { 799 | "version": "4.30.1", 800 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.30.1.tgz", 801 | "integrity": "sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==", 802 | "cpu": [ 803 | "arm64" 804 | ], 805 | "dev": true, 806 | "optional": true, 807 | "os": [ 808 | "win32" 809 | ] 810 | }, 811 | "node_modules/@rollup/rollup-win32-ia32-msvc": { 812 | "version": "4.30.1", 813 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.30.1.tgz", 814 | "integrity": "sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==", 815 | "cpu": [ 816 | "ia32" 817 | ], 818 | "dev": true, 819 | "optional": true, 820 | "os": [ 821 | "win32" 822 | ] 823 | }, 824 | "node_modules/@rollup/rollup-win32-x64-msvc": { 825 | "version": "4.30.1", 826 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.30.1.tgz", 827 | "integrity": "sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==", 828 | "cpu": [ 829 | "x64" 830 | ], 831 | "dev": true, 832 | "optional": true, 833 | "os": [ 834 | "win32" 835 | ] 836 | }, 837 | "node_modules/@types/estree": { 838 | "version": "1.0.6", 839 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", 840 | "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", 841 | "dev": true 842 | }, 843 | "node_modules/@types/web-bluetooth": { 844 | "version": "0.0.20", 845 | "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", 846 | "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==" 847 | }, 848 | "node_modules/@vitejs/plugin-vue": { 849 | "version": "5.2.1", 850 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", 851 | "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", 852 | "dev": true, 853 | "engines": { 854 | "node": "^18.0.0 || >=20.0.0" 855 | }, 856 | "peerDependencies": { 857 | "vite": "^5.0.0 || ^6.0.0", 858 | "vue": "^3.2.25" 859 | } 860 | }, 861 | "node_modules/@volar/language-core": { 862 | "version": "2.4.11", 863 | "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.11.tgz", 864 | "integrity": "sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==", 865 | "dev": true, 866 | "dependencies": { 867 | "@volar/source-map": "2.4.11" 868 | } 869 | }, 870 | "node_modules/@volar/source-map": { 871 | "version": "2.4.11", 872 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.11.tgz", 873 | "integrity": "sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ==", 874 | "dev": true 875 | }, 876 | "node_modules/@volar/typescript": { 877 | "version": "2.4.11", 878 | "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.11.tgz", 879 | "integrity": "sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw==", 880 | "dev": true, 881 | "dependencies": { 882 | "@volar/language-core": "2.4.11", 883 | "path-browserify": "^1.0.1", 884 | "vscode-uri": "^3.0.8" 885 | } 886 | }, 887 | "node_modules/@vue/compiler-core": { 888 | "version": "3.5.13", 889 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", 890 | "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", 891 | "dependencies": { 892 | "@babel/parser": "^7.25.3", 893 | "@vue/shared": "3.5.13", 894 | "entities": "^4.5.0", 895 | "estree-walker": "^2.0.2", 896 | "source-map-js": "^1.2.0" 897 | } 898 | }, 899 | "node_modules/@vue/compiler-dom": { 900 | "version": "3.5.13", 901 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", 902 | "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", 903 | "dependencies": { 904 | "@vue/compiler-core": "3.5.13", 905 | "@vue/shared": "3.5.13" 906 | } 907 | }, 908 | "node_modules/@vue/compiler-sfc": { 909 | "version": "3.5.13", 910 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", 911 | "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", 912 | "dependencies": { 913 | "@babel/parser": "^7.25.3", 914 | "@vue/compiler-core": "3.5.13", 915 | "@vue/compiler-dom": "3.5.13", 916 | "@vue/compiler-ssr": "3.5.13", 917 | "@vue/shared": "3.5.13", 918 | "estree-walker": "^2.0.2", 919 | "magic-string": "^0.30.11", 920 | "postcss": "^8.4.48", 921 | "source-map-js": "^1.2.0" 922 | } 923 | }, 924 | "node_modules/@vue/compiler-ssr": { 925 | "version": "3.5.13", 926 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", 927 | "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", 928 | "dependencies": { 929 | "@vue/compiler-dom": "3.5.13", 930 | "@vue/shared": "3.5.13" 931 | } 932 | }, 933 | "node_modules/@vue/compiler-vue2": { 934 | "version": "2.7.16", 935 | "resolved": "https://registry.npmjs.org/@vue/compiler-vue2/-/compiler-vue2-2.7.16.tgz", 936 | "integrity": "sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==", 937 | "dev": true, 938 | "dependencies": { 939 | "de-indent": "^1.0.2", 940 | "he": "^1.2.0" 941 | } 942 | }, 943 | "node_modules/@vue/devtools-api": { 944 | "version": "6.6.4", 945 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", 946 | "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" 947 | }, 948 | "node_modules/@vue/language-core": { 949 | "version": "2.2.0", 950 | "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.0.tgz", 951 | "integrity": "sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==", 952 | "dev": true, 953 | "dependencies": { 954 | "@volar/language-core": "~2.4.11", 955 | "@vue/compiler-dom": "^3.5.0", 956 | "@vue/compiler-vue2": "^2.7.16", 957 | "@vue/shared": "^3.5.0", 958 | "alien-signals": "^0.4.9", 959 | "minimatch": "^9.0.3", 960 | "muggle-string": "^0.4.1", 961 | "path-browserify": "^1.0.1" 962 | }, 963 | "peerDependencies": { 964 | "typescript": "*" 965 | }, 966 | "peerDependenciesMeta": { 967 | "typescript": { 968 | "optional": true 969 | } 970 | } 971 | }, 972 | "node_modules/@vue/reactivity": { 973 | "version": "3.5.13", 974 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", 975 | "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", 976 | "dependencies": { 977 | "@vue/shared": "3.5.13" 978 | } 979 | }, 980 | "node_modules/@vue/runtime-core": { 981 | "version": "3.5.13", 982 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", 983 | "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", 984 | "dependencies": { 985 | "@vue/reactivity": "3.5.13", 986 | "@vue/shared": "3.5.13" 987 | } 988 | }, 989 | "node_modules/@vue/runtime-dom": { 990 | "version": "3.5.13", 991 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", 992 | "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", 993 | "dependencies": { 994 | "@vue/reactivity": "3.5.13", 995 | "@vue/runtime-core": "3.5.13", 996 | "@vue/shared": "3.5.13", 997 | "csstype": "^3.1.3" 998 | } 999 | }, 1000 | "node_modules/@vue/server-renderer": { 1001 | "version": "3.5.13", 1002 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", 1003 | "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", 1004 | "dependencies": { 1005 | "@vue/compiler-ssr": "3.5.13", 1006 | "@vue/shared": "3.5.13" 1007 | }, 1008 | "peerDependencies": { 1009 | "vue": "3.5.13" 1010 | } 1011 | }, 1012 | "node_modules/@vue/shared": { 1013 | "version": "3.5.13", 1014 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", 1015 | "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==" 1016 | }, 1017 | "node_modules/@vue/tsconfig": { 1018 | "version": "0.7.0", 1019 | "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.7.0.tgz", 1020 | "integrity": "sha512-ku2uNz5MaZ9IerPPUyOHzyjhXoX2kVJaVf7hL315DC17vS6IiZRmmCPfggNbU16QTvM80+uYYy3eYJB59WCtvg==", 1021 | "dev": true, 1022 | "peerDependencies": { 1023 | "typescript": "5.x", 1024 | "vue": "^3.4.0" 1025 | }, 1026 | "peerDependenciesMeta": { 1027 | "typescript": { 1028 | "optional": true 1029 | }, 1030 | "vue": { 1031 | "optional": true 1032 | } 1033 | } 1034 | }, 1035 | "node_modules/@vueuse/core": { 1036 | "version": "12.4.0", 1037 | "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.4.0.tgz", 1038 | "integrity": "sha512-XnjQYcJwCsyXyIafyA6SvyN/OBtfPnjvJmbxNxQjCcyWD198urwm5TYvIUUyAxEAN0K7HJggOgT15cOlWFyLeA==", 1039 | "dependencies": { 1040 | "@types/web-bluetooth": "^0.0.20", 1041 | "@vueuse/metadata": "12.4.0", 1042 | "@vueuse/shared": "12.4.0", 1043 | "vue": "^3.5.13" 1044 | }, 1045 | "funding": { 1046 | "url": "https://github.com/sponsors/antfu" 1047 | } 1048 | }, 1049 | "node_modules/@vueuse/metadata": { 1050 | "version": "12.4.0", 1051 | "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.4.0.tgz", 1052 | "integrity": "sha512-AhPuHs/qtYrKHUlEoNO6zCXufu8OgbR8S/n2oMw1OQuBQJ3+HOLQ+EpvXs+feOlZMa0p8QVvDWNlmcJJY8rW2g==", 1053 | "funding": { 1054 | "url": "https://github.com/sponsors/antfu" 1055 | } 1056 | }, 1057 | "node_modules/@vueuse/shared": { 1058 | "version": "12.4.0", 1059 | "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.4.0.tgz", 1060 | "integrity": "sha512-9yLgbHVIF12OSCojnjTIoZL1+UA10+O4E1aD6Hpfo/DKVm5o3SZIwz6CupqGy3+IcKI8d6Jnl26EQj/YucnW0Q==", 1061 | "dependencies": { 1062 | "vue": "^3.5.13" 1063 | }, 1064 | "funding": { 1065 | "url": "https://github.com/sponsors/antfu" 1066 | } 1067 | }, 1068 | "node_modules/alien-signals": { 1069 | "version": "0.4.14", 1070 | "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-0.4.14.tgz", 1071 | "integrity": "sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==", 1072 | "dev": true 1073 | }, 1074 | "node_modules/ansi-regex": { 1075 | "version": "6.1.0", 1076 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", 1077 | "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", 1078 | "dev": true, 1079 | "engines": { 1080 | "node": ">=12" 1081 | }, 1082 | "funding": { 1083 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 1084 | } 1085 | }, 1086 | "node_modules/ansi-styles": { 1087 | "version": "6.2.1", 1088 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 1089 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 1090 | "dev": true, 1091 | "engines": { 1092 | "node": ">=12" 1093 | }, 1094 | "funding": { 1095 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 1096 | } 1097 | }, 1098 | "node_modules/any-promise": { 1099 | "version": "1.3.0", 1100 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 1101 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 1102 | "dev": true 1103 | }, 1104 | "node_modules/anymatch": { 1105 | "version": "3.1.3", 1106 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 1107 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 1108 | "dev": true, 1109 | "dependencies": { 1110 | "normalize-path": "^3.0.0", 1111 | "picomatch": "^2.0.4" 1112 | }, 1113 | "engines": { 1114 | "node": ">= 8" 1115 | } 1116 | }, 1117 | "node_modules/arg": { 1118 | "version": "5.0.2", 1119 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 1120 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 1121 | "dev": true 1122 | }, 1123 | "node_modules/autoprefixer": { 1124 | "version": "10.4.20", 1125 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", 1126 | "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", 1127 | "dev": true, 1128 | "funding": [ 1129 | { 1130 | "type": "opencollective", 1131 | "url": "https://opencollective.com/postcss/" 1132 | }, 1133 | { 1134 | "type": "tidelift", 1135 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 1136 | }, 1137 | { 1138 | "type": "github", 1139 | "url": "https://github.com/sponsors/ai" 1140 | } 1141 | ], 1142 | "dependencies": { 1143 | "browserslist": "^4.23.3", 1144 | "caniuse-lite": "^1.0.30001646", 1145 | "fraction.js": "^4.3.7", 1146 | "normalize-range": "^0.1.2", 1147 | "picocolors": "^1.0.1", 1148 | "postcss-value-parser": "^4.2.0" 1149 | }, 1150 | "bin": { 1151 | "autoprefixer": "bin/autoprefixer" 1152 | }, 1153 | "engines": { 1154 | "node": "^10 || ^12 || >=14" 1155 | }, 1156 | "peerDependencies": { 1157 | "postcss": "^8.1.0" 1158 | } 1159 | }, 1160 | "node_modules/balanced-match": { 1161 | "version": "1.0.2", 1162 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 1163 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 1164 | "dev": true 1165 | }, 1166 | "node_modules/binary-extensions": { 1167 | "version": "2.3.0", 1168 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 1169 | "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 1170 | "dev": true, 1171 | "engines": { 1172 | "node": ">=8" 1173 | }, 1174 | "funding": { 1175 | "url": "https://github.com/sponsors/sindresorhus" 1176 | } 1177 | }, 1178 | "node_modules/brace-expansion": { 1179 | "version": "2.0.1", 1180 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1181 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1182 | "dev": true, 1183 | "dependencies": { 1184 | "balanced-match": "^1.0.0" 1185 | } 1186 | }, 1187 | "node_modules/braces": { 1188 | "version": "3.0.3", 1189 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 1190 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 1191 | "dev": true, 1192 | "dependencies": { 1193 | "fill-range": "^7.1.1" 1194 | }, 1195 | "engines": { 1196 | "node": ">=8" 1197 | } 1198 | }, 1199 | "node_modules/browserslist": { 1200 | "version": "4.24.4", 1201 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", 1202 | "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", 1203 | "dev": true, 1204 | "funding": [ 1205 | { 1206 | "type": "opencollective", 1207 | "url": "https://opencollective.com/browserslist" 1208 | }, 1209 | { 1210 | "type": "tidelift", 1211 | "url": "https://tidelift.com/funding/github/npm/browserslist" 1212 | }, 1213 | { 1214 | "type": "github", 1215 | "url": "https://github.com/sponsors/ai" 1216 | } 1217 | ], 1218 | "dependencies": { 1219 | "caniuse-lite": "^1.0.30001688", 1220 | "electron-to-chromium": "^1.5.73", 1221 | "node-releases": "^2.0.19", 1222 | "update-browserslist-db": "^1.1.1" 1223 | }, 1224 | "bin": { 1225 | "browserslist": "cli.js" 1226 | }, 1227 | "engines": { 1228 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 1229 | } 1230 | }, 1231 | "node_modules/camelcase-css": { 1232 | "version": "2.0.1", 1233 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 1234 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 1235 | "dev": true, 1236 | "engines": { 1237 | "node": ">= 6" 1238 | } 1239 | }, 1240 | "node_modules/caniuse-lite": { 1241 | "version": "1.0.30001692", 1242 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001692.tgz", 1243 | "integrity": "sha512-A95VKan0kdtrsnMubMKxEKUKImOPSuCpYgxSQBo036P5YYgVIcOYJEgt/txJWqObiRQeISNCfef9nvlQ0vbV7A==", 1244 | "dev": true, 1245 | "funding": [ 1246 | { 1247 | "type": "opencollective", 1248 | "url": "https://opencollective.com/browserslist" 1249 | }, 1250 | { 1251 | "type": "tidelift", 1252 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1253 | }, 1254 | { 1255 | "type": "github", 1256 | "url": "https://github.com/sponsors/ai" 1257 | } 1258 | ] 1259 | }, 1260 | "node_modules/chokidar": { 1261 | "version": "3.6.0", 1262 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 1263 | "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 1264 | "dev": true, 1265 | "dependencies": { 1266 | "anymatch": "~3.1.2", 1267 | "braces": "~3.0.2", 1268 | "glob-parent": "~5.1.2", 1269 | "is-binary-path": "~2.1.0", 1270 | "is-glob": "~4.0.1", 1271 | "normalize-path": "~3.0.0", 1272 | "readdirp": "~3.6.0" 1273 | }, 1274 | "engines": { 1275 | "node": ">= 8.10.0" 1276 | }, 1277 | "funding": { 1278 | "url": "https://paulmillr.com/funding/" 1279 | }, 1280 | "optionalDependencies": { 1281 | "fsevents": "~2.3.2" 1282 | } 1283 | }, 1284 | "node_modules/chokidar/node_modules/glob-parent": { 1285 | "version": "5.1.2", 1286 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1287 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1288 | "dev": true, 1289 | "dependencies": { 1290 | "is-glob": "^4.0.1" 1291 | }, 1292 | "engines": { 1293 | "node": ">= 6" 1294 | } 1295 | }, 1296 | "node_modules/color-convert": { 1297 | "version": "2.0.1", 1298 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 1299 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 1300 | "dev": true, 1301 | "dependencies": { 1302 | "color-name": "~1.1.4" 1303 | }, 1304 | "engines": { 1305 | "node": ">=7.0.0" 1306 | } 1307 | }, 1308 | "node_modules/color-name": { 1309 | "version": "1.1.4", 1310 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 1311 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 1312 | "dev": true 1313 | }, 1314 | "node_modules/commander": { 1315 | "version": "4.1.1", 1316 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 1317 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 1318 | "dev": true, 1319 | "engines": { 1320 | "node": ">= 6" 1321 | } 1322 | }, 1323 | "node_modules/cross-spawn": { 1324 | "version": "7.0.6", 1325 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", 1326 | "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", 1327 | "dev": true, 1328 | "dependencies": { 1329 | "path-key": "^3.1.0", 1330 | "shebang-command": "^2.0.0", 1331 | "which": "^2.0.1" 1332 | }, 1333 | "engines": { 1334 | "node": ">= 8" 1335 | } 1336 | }, 1337 | "node_modules/cssesc": { 1338 | "version": "3.0.0", 1339 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1340 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 1341 | "dev": true, 1342 | "bin": { 1343 | "cssesc": "bin/cssesc" 1344 | }, 1345 | "engines": { 1346 | "node": ">=4" 1347 | } 1348 | }, 1349 | "node_modules/csstype": { 1350 | "version": "3.1.3", 1351 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", 1352 | "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" 1353 | }, 1354 | "node_modules/de-indent": { 1355 | "version": "1.0.2", 1356 | "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", 1357 | "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", 1358 | "dev": true 1359 | }, 1360 | "node_modules/didyoumean": { 1361 | "version": "1.2.2", 1362 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 1363 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 1364 | "dev": true 1365 | }, 1366 | "node_modules/dlv": { 1367 | "version": "1.1.3", 1368 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 1369 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 1370 | "dev": true 1371 | }, 1372 | "node_modules/eastasianwidth": { 1373 | "version": "0.2.0", 1374 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 1375 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 1376 | "dev": true 1377 | }, 1378 | "node_modules/electron-to-chromium": { 1379 | "version": "1.5.80", 1380 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.80.tgz", 1381 | "integrity": "sha512-LTrKpW0AqIuHwmlVNV+cjFYTnXtM9K37OGhpe0ZI10ScPSxqVSryZHIY3WnCS5NSYbBODRTZyhRMS2h5FAEqAw==", 1382 | "dev": true 1383 | }, 1384 | "node_modules/emoji-regex": { 1385 | "version": "9.2.2", 1386 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 1387 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 1388 | "dev": true 1389 | }, 1390 | "node_modules/entities": { 1391 | "version": "4.5.0", 1392 | "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", 1393 | "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", 1394 | "engines": { 1395 | "node": ">=0.12" 1396 | }, 1397 | "funding": { 1398 | "url": "https://github.com/fb55/entities?sponsor=1" 1399 | } 1400 | }, 1401 | "node_modules/esbuild": { 1402 | "version": "0.24.2", 1403 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", 1404 | "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", 1405 | "dev": true, 1406 | "hasInstallScript": true, 1407 | "bin": { 1408 | "esbuild": "bin/esbuild" 1409 | }, 1410 | "engines": { 1411 | "node": ">=18" 1412 | }, 1413 | "optionalDependencies": { 1414 | "@esbuild/aix-ppc64": "0.24.2", 1415 | "@esbuild/android-arm": "0.24.2", 1416 | "@esbuild/android-arm64": "0.24.2", 1417 | "@esbuild/android-x64": "0.24.2", 1418 | "@esbuild/darwin-arm64": "0.24.2", 1419 | "@esbuild/darwin-x64": "0.24.2", 1420 | "@esbuild/freebsd-arm64": "0.24.2", 1421 | "@esbuild/freebsd-x64": "0.24.2", 1422 | "@esbuild/linux-arm": "0.24.2", 1423 | "@esbuild/linux-arm64": "0.24.2", 1424 | "@esbuild/linux-ia32": "0.24.2", 1425 | "@esbuild/linux-loong64": "0.24.2", 1426 | "@esbuild/linux-mips64el": "0.24.2", 1427 | "@esbuild/linux-ppc64": "0.24.2", 1428 | "@esbuild/linux-riscv64": "0.24.2", 1429 | "@esbuild/linux-s390x": "0.24.2", 1430 | "@esbuild/linux-x64": "0.24.2", 1431 | "@esbuild/netbsd-arm64": "0.24.2", 1432 | "@esbuild/netbsd-x64": "0.24.2", 1433 | "@esbuild/openbsd-arm64": "0.24.2", 1434 | "@esbuild/openbsd-x64": "0.24.2", 1435 | "@esbuild/sunos-x64": "0.24.2", 1436 | "@esbuild/win32-arm64": "0.24.2", 1437 | "@esbuild/win32-ia32": "0.24.2", 1438 | "@esbuild/win32-x64": "0.24.2" 1439 | } 1440 | }, 1441 | "node_modules/escalade": { 1442 | "version": "3.2.0", 1443 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", 1444 | "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", 1445 | "dev": true, 1446 | "engines": { 1447 | "node": ">=6" 1448 | } 1449 | }, 1450 | "node_modules/estree-walker": { 1451 | "version": "2.0.2", 1452 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", 1453 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" 1454 | }, 1455 | "node_modules/fast-glob": { 1456 | "version": "3.3.3", 1457 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", 1458 | "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", 1459 | "dev": true, 1460 | "dependencies": { 1461 | "@nodelib/fs.stat": "^2.0.2", 1462 | "@nodelib/fs.walk": "^1.2.3", 1463 | "glob-parent": "^5.1.2", 1464 | "merge2": "^1.3.0", 1465 | "micromatch": "^4.0.8" 1466 | }, 1467 | "engines": { 1468 | "node": ">=8.6.0" 1469 | } 1470 | }, 1471 | "node_modules/fast-glob/node_modules/glob-parent": { 1472 | "version": "5.1.2", 1473 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1474 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1475 | "dev": true, 1476 | "dependencies": { 1477 | "is-glob": "^4.0.1" 1478 | }, 1479 | "engines": { 1480 | "node": ">= 6" 1481 | } 1482 | }, 1483 | "node_modules/fastq": { 1484 | "version": "1.18.0", 1485 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", 1486 | "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", 1487 | "dev": true, 1488 | "dependencies": { 1489 | "reusify": "^1.0.4" 1490 | } 1491 | }, 1492 | "node_modules/fill-range": { 1493 | "version": "7.1.1", 1494 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 1495 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 1496 | "dev": true, 1497 | "dependencies": { 1498 | "to-regex-range": "^5.0.1" 1499 | }, 1500 | "engines": { 1501 | "node": ">=8" 1502 | } 1503 | }, 1504 | "node_modules/foreground-child": { 1505 | "version": "3.3.0", 1506 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", 1507 | "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", 1508 | "dev": true, 1509 | "dependencies": { 1510 | "cross-spawn": "^7.0.0", 1511 | "signal-exit": "^4.0.1" 1512 | }, 1513 | "engines": { 1514 | "node": ">=14" 1515 | }, 1516 | "funding": { 1517 | "url": "https://github.com/sponsors/isaacs" 1518 | } 1519 | }, 1520 | "node_modules/fraction.js": { 1521 | "version": "4.3.7", 1522 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 1523 | "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 1524 | "dev": true, 1525 | "engines": { 1526 | "node": "*" 1527 | }, 1528 | "funding": { 1529 | "type": "patreon", 1530 | "url": "https://github.com/sponsors/rawify" 1531 | } 1532 | }, 1533 | "node_modules/fsevents": { 1534 | "version": "2.3.3", 1535 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1536 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1537 | "dev": true, 1538 | "hasInstallScript": true, 1539 | "optional": true, 1540 | "os": [ 1541 | "darwin" 1542 | ], 1543 | "engines": { 1544 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1545 | } 1546 | }, 1547 | "node_modules/function-bind": { 1548 | "version": "1.1.2", 1549 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 1550 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 1551 | "dev": true, 1552 | "funding": { 1553 | "url": "https://github.com/sponsors/ljharb" 1554 | } 1555 | }, 1556 | "node_modules/glob": { 1557 | "version": "10.4.5", 1558 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", 1559 | "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", 1560 | "dev": true, 1561 | "dependencies": { 1562 | "foreground-child": "^3.1.0", 1563 | "jackspeak": "^3.1.2", 1564 | "minimatch": "^9.0.4", 1565 | "minipass": "^7.1.2", 1566 | "package-json-from-dist": "^1.0.0", 1567 | "path-scurry": "^1.11.1" 1568 | }, 1569 | "bin": { 1570 | "glob": "dist/esm/bin.mjs" 1571 | }, 1572 | "funding": { 1573 | "url": "https://github.com/sponsors/isaacs" 1574 | } 1575 | }, 1576 | "node_modules/glob-parent": { 1577 | "version": "6.0.2", 1578 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1579 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1580 | "dev": true, 1581 | "dependencies": { 1582 | "is-glob": "^4.0.3" 1583 | }, 1584 | "engines": { 1585 | "node": ">=10.13.0" 1586 | } 1587 | }, 1588 | "node_modules/hasown": { 1589 | "version": "2.0.2", 1590 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 1591 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 1592 | "dev": true, 1593 | "dependencies": { 1594 | "function-bind": "^1.1.2" 1595 | }, 1596 | "engines": { 1597 | "node": ">= 0.4" 1598 | } 1599 | }, 1600 | "node_modules/he": { 1601 | "version": "1.2.0", 1602 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", 1603 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", 1604 | "dev": true, 1605 | "bin": { 1606 | "he": "bin/he" 1607 | } 1608 | }, 1609 | "node_modules/is-binary-path": { 1610 | "version": "2.1.0", 1611 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 1612 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 1613 | "dev": true, 1614 | "dependencies": { 1615 | "binary-extensions": "^2.0.0" 1616 | }, 1617 | "engines": { 1618 | "node": ">=8" 1619 | } 1620 | }, 1621 | "node_modules/is-core-module": { 1622 | "version": "2.16.1", 1623 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", 1624 | "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", 1625 | "dev": true, 1626 | "dependencies": { 1627 | "hasown": "^2.0.2" 1628 | }, 1629 | "engines": { 1630 | "node": ">= 0.4" 1631 | }, 1632 | "funding": { 1633 | "url": "https://github.com/sponsors/ljharb" 1634 | } 1635 | }, 1636 | "node_modules/is-extglob": { 1637 | "version": "2.1.1", 1638 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 1639 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 1640 | "dev": true, 1641 | "engines": { 1642 | "node": ">=0.10.0" 1643 | } 1644 | }, 1645 | "node_modules/is-fullwidth-code-point": { 1646 | "version": "3.0.0", 1647 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1648 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1649 | "dev": true, 1650 | "engines": { 1651 | "node": ">=8" 1652 | } 1653 | }, 1654 | "node_modules/is-glob": { 1655 | "version": "4.0.3", 1656 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 1657 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 1658 | "dev": true, 1659 | "dependencies": { 1660 | "is-extglob": "^2.1.1" 1661 | }, 1662 | "engines": { 1663 | "node": ">=0.10.0" 1664 | } 1665 | }, 1666 | "node_modules/is-number": { 1667 | "version": "7.0.0", 1668 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 1669 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1670 | "dev": true, 1671 | "engines": { 1672 | "node": ">=0.12.0" 1673 | } 1674 | }, 1675 | "node_modules/isexe": { 1676 | "version": "2.0.0", 1677 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1678 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1679 | "dev": true 1680 | }, 1681 | "node_modules/jackspeak": { 1682 | "version": "3.4.3", 1683 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", 1684 | "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", 1685 | "dev": true, 1686 | "dependencies": { 1687 | "@isaacs/cliui": "^8.0.2" 1688 | }, 1689 | "funding": { 1690 | "url": "https://github.com/sponsors/isaacs" 1691 | }, 1692 | "optionalDependencies": { 1693 | "@pkgjs/parseargs": "^0.11.0" 1694 | } 1695 | }, 1696 | "node_modules/jiti": { 1697 | "version": "1.21.7", 1698 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", 1699 | "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", 1700 | "dev": true, 1701 | "bin": { 1702 | "jiti": "bin/jiti.js" 1703 | } 1704 | }, 1705 | "node_modules/lilconfig": { 1706 | "version": "3.1.3", 1707 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", 1708 | "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", 1709 | "dev": true, 1710 | "engines": { 1711 | "node": ">=14" 1712 | }, 1713 | "funding": { 1714 | "url": "https://github.com/sponsors/antonk52" 1715 | } 1716 | }, 1717 | "node_modules/lines-and-columns": { 1718 | "version": "1.2.4", 1719 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 1720 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 1721 | "dev": true 1722 | }, 1723 | "node_modules/lru-cache": { 1724 | "version": "10.4.3", 1725 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", 1726 | "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", 1727 | "dev": true 1728 | }, 1729 | "node_modules/magic-string": { 1730 | "version": "0.30.17", 1731 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", 1732 | "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", 1733 | "dependencies": { 1734 | "@jridgewell/sourcemap-codec": "^1.5.0" 1735 | } 1736 | }, 1737 | "node_modules/merge2": { 1738 | "version": "1.4.1", 1739 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 1740 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 1741 | "dev": true, 1742 | "engines": { 1743 | "node": ">= 8" 1744 | } 1745 | }, 1746 | "node_modules/micromatch": { 1747 | "version": "4.0.8", 1748 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", 1749 | "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", 1750 | "dev": true, 1751 | "dependencies": { 1752 | "braces": "^3.0.3", 1753 | "picomatch": "^2.3.1" 1754 | }, 1755 | "engines": { 1756 | "node": ">=8.6" 1757 | } 1758 | }, 1759 | "node_modules/minimatch": { 1760 | "version": "9.0.5", 1761 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", 1762 | "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", 1763 | "dev": true, 1764 | "dependencies": { 1765 | "brace-expansion": "^2.0.1" 1766 | }, 1767 | "engines": { 1768 | "node": ">=16 || 14 >=14.17" 1769 | }, 1770 | "funding": { 1771 | "url": "https://github.com/sponsors/isaacs" 1772 | } 1773 | }, 1774 | "node_modules/minipass": { 1775 | "version": "7.1.2", 1776 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", 1777 | "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", 1778 | "dev": true, 1779 | "engines": { 1780 | "node": ">=16 || 14 >=14.17" 1781 | } 1782 | }, 1783 | "node_modules/muggle-string": { 1784 | "version": "0.4.1", 1785 | "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", 1786 | "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", 1787 | "dev": true 1788 | }, 1789 | "node_modules/mz": { 1790 | "version": "2.7.0", 1791 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 1792 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 1793 | "dev": true, 1794 | "dependencies": { 1795 | "any-promise": "^1.0.0", 1796 | "object-assign": "^4.0.1", 1797 | "thenify-all": "^1.0.0" 1798 | } 1799 | }, 1800 | "node_modules/nanoid": { 1801 | "version": "3.3.8", 1802 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", 1803 | "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", 1804 | "funding": [ 1805 | { 1806 | "type": "github", 1807 | "url": "https://github.com/sponsors/ai" 1808 | } 1809 | ], 1810 | "bin": { 1811 | "nanoid": "bin/nanoid.cjs" 1812 | }, 1813 | "engines": { 1814 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1815 | } 1816 | }, 1817 | "node_modules/node-releases": { 1818 | "version": "2.0.19", 1819 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", 1820 | "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", 1821 | "dev": true 1822 | }, 1823 | "node_modules/normalize-path": { 1824 | "version": "3.0.0", 1825 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 1826 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 1827 | "dev": true, 1828 | "engines": { 1829 | "node": ">=0.10.0" 1830 | } 1831 | }, 1832 | "node_modules/normalize-range": { 1833 | "version": "0.1.2", 1834 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 1835 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 1836 | "dev": true, 1837 | "engines": { 1838 | "node": ">=0.10.0" 1839 | } 1840 | }, 1841 | "node_modules/object-assign": { 1842 | "version": "4.1.1", 1843 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 1844 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 1845 | "dev": true, 1846 | "engines": { 1847 | "node": ">=0.10.0" 1848 | } 1849 | }, 1850 | "node_modules/object-hash": { 1851 | "version": "3.0.0", 1852 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 1853 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 1854 | "dev": true, 1855 | "engines": { 1856 | "node": ">= 6" 1857 | } 1858 | }, 1859 | "node_modules/package-json-from-dist": { 1860 | "version": "1.0.1", 1861 | "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", 1862 | "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", 1863 | "dev": true 1864 | }, 1865 | "node_modules/path-browserify": { 1866 | "version": "1.0.1", 1867 | "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", 1868 | "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", 1869 | "dev": true 1870 | }, 1871 | "node_modules/path-key": { 1872 | "version": "3.1.1", 1873 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1874 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1875 | "dev": true, 1876 | "engines": { 1877 | "node": ">=8" 1878 | } 1879 | }, 1880 | "node_modules/path-parse": { 1881 | "version": "1.0.7", 1882 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 1883 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 1884 | "dev": true 1885 | }, 1886 | "node_modules/path-scurry": { 1887 | "version": "1.11.1", 1888 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", 1889 | "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", 1890 | "dev": true, 1891 | "dependencies": { 1892 | "lru-cache": "^10.2.0", 1893 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 1894 | }, 1895 | "engines": { 1896 | "node": ">=16 || 14 >=14.18" 1897 | }, 1898 | "funding": { 1899 | "url": "https://github.com/sponsors/isaacs" 1900 | } 1901 | }, 1902 | "node_modules/picocolors": { 1903 | "version": "1.1.1", 1904 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", 1905 | "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" 1906 | }, 1907 | "node_modules/picomatch": { 1908 | "version": "2.3.1", 1909 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 1910 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 1911 | "dev": true, 1912 | "engines": { 1913 | "node": ">=8.6" 1914 | }, 1915 | "funding": { 1916 | "url": "https://github.com/sponsors/jonschlinkert" 1917 | } 1918 | }, 1919 | "node_modules/pify": { 1920 | "version": "2.3.0", 1921 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 1922 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 1923 | "dev": true, 1924 | "engines": { 1925 | "node": ">=0.10.0" 1926 | } 1927 | }, 1928 | "node_modules/pirates": { 1929 | "version": "4.0.6", 1930 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 1931 | "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 1932 | "dev": true, 1933 | "engines": { 1934 | "node": ">= 6" 1935 | } 1936 | }, 1937 | "node_modules/postcss": { 1938 | "version": "8.5.0", 1939 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.0.tgz", 1940 | "integrity": "sha512-27VKOqrYfPncKA2NrFOVhP5MGAfHKLYn/Q0mz9cNQyRAKYi3VNHwYU2qKKqPCqgBmeeJ0uAFB56NumXZ5ZReXg==", 1941 | "funding": [ 1942 | { 1943 | "type": "opencollective", 1944 | "url": "https://opencollective.com/postcss/" 1945 | }, 1946 | { 1947 | "type": "tidelift", 1948 | "url": "https://tidelift.com/funding/github/npm/postcss" 1949 | }, 1950 | { 1951 | "type": "github", 1952 | "url": "https://github.com/sponsors/ai" 1953 | } 1954 | ], 1955 | "dependencies": { 1956 | "nanoid": "^3.3.8", 1957 | "picocolors": "^1.1.1", 1958 | "source-map-js": "^1.2.1" 1959 | }, 1960 | "engines": { 1961 | "node": "^10 || ^12 || >=14" 1962 | } 1963 | }, 1964 | "node_modules/postcss-import": { 1965 | "version": "15.1.0", 1966 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 1967 | "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 1968 | "dev": true, 1969 | "dependencies": { 1970 | "postcss-value-parser": "^4.0.0", 1971 | "read-cache": "^1.0.0", 1972 | "resolve": "^1.1.7" 1973 | }, 1974 | "engines": { 1975 | "node": ">=14.0.0" 1976 | }, 1977 | "peerDependencies": { 1978 | "postcss": "^8.0.0" 1979 | } 1980 | }, 1981 | "node_modules/postcss-js": { 1982 | "version": "4.0.1", 1983 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 1984 | "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 1985 | "dev": true, 1986 | "dependencies": { 1987 | "camelcase-css": "^2.0.1" 1988 | }, 1989 | "engines": { 1990 | "node": "^12 || ^14 || >= 16" 1991 | }, 1992 | "funding": { 1993 | "type": "opencollective", 1994 | "url": "https://opencollective.com/postcss/" 1995 | }, 1996 | "peerDependencies": { 1997 | "postcss": "^8.4.21" 1998 | } 1999 | }, 2000 | "node_modules/postcss-load-config": { 2001 | "version": "4.0.2", 2002 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 2003 | "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 2004 | "dev": true, 2005 | "funding": [ 2006 | { 2007 | "type": "opencollective", 2008 | "url": "https://opencollective.com/postcss/" 2009 | }, 2010 | { 2011 | "type": "github", 2012 | "url": "https://github.com/sponsors/ai" 2013 | } 2014 | ], 2015 | "dependencies": { 2016 | "lilconfig": "^3.0.0", 2017 | "yaml": "^2.3.4" 2018 | }, 2019 | "engines": { 2020 | "node": ">= 14" 2021 | }, 2022 | "peerDependencies": { 2023 | "postcss": ">=8.0.9", 2024 | "ts-node": ">=9.0.0" 2025 | }, 2026 | "peerDependenciesMeta": { 2027 | "postcss": { 2028 | "optional": true 2029 | }, 2030 | "ts-node": { 2031 | "optional": true 2032 | } 2033 | } 2034 | }, 2035 | "node_modules/postcss-nested": { 2036 | "version": "6.2.0", 2037 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", 2038 | "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", 2039 | "dev": true, 2040 | "funding": [ 2041 | { 2042 | "type": "opencollective", 2043 | "url": "https://opencollective.com/postcss/" 2044 | }, 2045 | { 2046 | "type": "github", 2047 | "url": "https://github.com/sponsors/ai" 2048 | } 2049 | ], 2050 | "dependencies": { 2051 | "postcss-selector-parser": "^6.1.1" 2052 | }, 2053 | "engines": { 2054 | "node": ">=12.0" 2055 | }, 2056 | "peerDependencies": { 2057 | "postcss": "^8.2.14" 2058 | } 2059 | }, 2060 | "node_modules/postcss-selector-parser": { 2061 | "version": "6.1.2", 2062 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", 2063 | "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", 2064 | "dev": true, 2065 | "dependencies": { 2066 | "cssesc": "^3.0.0", 2067 | "util-deprecate": "^1.0.2" 2068 | }, 2069 | "engines": { 2070 | "node": ">=4" 2071 | } 2072 | }, 2073 | "node_modules/postcss-value-parser": { 2074 | "version": "4.2.0", 2075 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 2076 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 2077 | "dev": true 2078 | }, 2079 | "node_modules/queue-microtask": { 2080 | "version": "1.2.3", 2081 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 2082 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 2083 | "dev": true, 2084 | "funding": [ 2085 | { 2086 | "type": "github", 2087 | "url": "https://github.com/sponsors/feross" 2088 | }, 2089 | { 2090 | "type": "patreon", 2091 | "url": "https://www.patreon.com/feross" 2092 | }, 2093 | { 2094 | "type": "consulting", 2095 | "url": "https://feross.org/support" 2096 | } 2097 | ] 2098 | }, 2099 | "node_modules/read-cache": { 2100 | "version": "1.0.0", 2101 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 2102 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 2103 | "dev": true, 2104 | "dependencies": { 2105 | "pify": "^2.3.0" 2106 | } 2107 | }, 2108 | "node_modules/readdirp": { 2109 | "version": "3.6.0", 2110 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 2111 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 2112 | "dev": true, 2113 | "dependencies": { 2114 | "picomatch": "^2.2.1" 2115 | }, 2116 | "engines": { 2117 | "node": ">=8.10.0" 2118 | } 2119 | }, 2120 | "node_modules/resolve": { 2121 | "version": "1.22.10", 2122 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", 2123 | "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", 2124 | "dev": true, 2125 | "dependencies": { 2126 | "is-core-module": "^2.16.0", 2127 | "path-parse": "^1.0.7", 2128 | "supports-preserve-symlinks-flag": "^1.0.0" 2129 | }, 2130 | "bin": { 2131 | "resolve": "bin/resolve" 2132 | }, 2133 | "engines": { 2134 | "node": ">= 0.4" 2135 | }, 2136 | "funding": { 2137 | "url": "https://github.com/sponsors/ljharb" 2138 | } 2139 | }, 2140 | "node_modules/reusify": { 2141 | "version": "1.0.4", 2142 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 2143 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 2144 | "dev": true, 2145 | "engines": { 2146 | "iojs": ">=1.0.0", 2147 | "node": ">=0.10.0" 2148 | } 2149 | }, 2150 | "node_modules/rollup": { 2151 | "version": "4.30.1", 2152 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.30.1.tgz", 2153 | "integrity": "sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==", 2154 | "dev": true, 2155 | "dependencies": { 2156 | "@types/estree": "1.0.6" 2157 | }, 2158 | "bin": { 2159 | "rollup": "dist/bin/rollup" 2160 | }, 2161 | "engines": { 2162 | "node": ">=18.0.0", 2163 | "npm": ">=8.0.0" 2164 | }, 2165 | "optionalDependencies": { 2166 | "@rollup/rollup-android-arm-eabi": "4.30.1", 2167 | "@rollup/rollup-android-arm64": "4.30.1", 2168 | "@rollup/rollup-darwin-arm64": "4.30.1", 2169 | "@rollup/rollup-darwin-x64": "4.30.1", 2170 | "@rollup/rollup-freebsd-arm64": "4.30.1", 2171 | "@rollup/rollup-freebsd-x64": "4.30.1", 2172 | "@rollup/rollup-linux-arm-gnueabihf": "4.30.1", 2173 | "@rollup/rollup-linux-arm-musleabihf": "4.30.1", 2174 | "@rollup/rollup-linux-arm64-gnu": "4.30.1", 2175 | "@rollup/rollup-linux-arm64-musl": "4.30.1", 2176 | "@rollup/rollup-linux-loongarch64-gnu": "4.30.1", 2177 | "@rollup/rollup-linux-powerpc64le-gnu": "4.30.1", 2178 | "@rollup/rollup-linux-riscv64-gnu": "4.30.1", 2179 | "@rollup/rollup-linux-s390x-gnu": "4.30.1", 2180 | "@rollup/rollup-linux-x64-gnu": "4.30.1", 2181 | "@rollup/rollup-linux-x64-musl": "4.30.1", 2182 | "@rollup/rollup-win32-arm64-msvc": "4.30.1", 2183 | "@rollup/rollup-win32-ia32-msvc": "4.30.1", 2184 | "@rollup/rollup-win32-x64-msvc": "4.30.1", 2185 | "fsevents": "~2.3.2" 2186 | } 2187 | }, 2188 | "node_modules/run-parallel": { 2189 | "version": "1.2.0", 2190 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 2191 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 2192 | "dev": true, 2193 | "funding": [ 2194 | { 2195 | "type": "github", 2196 | "url": "https://github.com/sponsors/feross" 2197 | }, 2198 | { 2199 | "type": "patreon", 2200 | "url": "https://www.patreon.com/feross" 2201 | }, 2202 | { 2203 | "type": "consulting", 2204 | "url": "https://feross.org/support" 2205 | } 2206 | ], 2207 | "dependencies": { 2208 | "queue-microtask": "^1.2.2" 2209 | } 2210 | }, 2211 | "node_modules/shebang-command": { 2212 | "version": "2.0.0", 2213 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2214 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2215 | "dev": true, 2216 | "dependencies": { 2217 | "shebang-regex": "^3.0.0" 2218 | }, 2219 | "engines": { 2220 | "node": ">=8" 2221 | } 2222 | }, 2223 | "node_modules/shebang-regex": { 2224 | "version": "3.0.0", 2225 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2226 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2227 | "dev": true, 2228 | "engines": { 2229 | "node": ">=8" 2230 | } 2231 | }, 2232 | "node_modules/signal-exit": { 2233 | "version": "4.1.0", 2234 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 2235 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 2236 | "dev": true, 2237 | "engines": { 2238 | "node": ">=14" 2239 | }, 2240 | "funding": { 2241 | "url": "https://github.com/sponsors/isaacs" 2242 | } 2243 | }, 2244 | "node_modules/source-map-js": { 2245 | "version": "1.2.1", 2246 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", 2247 | "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", 2248 | "engines": { 2249 | "node": ">=0.10.0" 2250 | } 2251 | }, 2252 | "node_modules/string-width": { 2253 | "version": "5.1.2", 2254 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 2255 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 2256 | "dev": true, 2257 | "dependencies": { 2258 | "eastasianwidth": "^0.2.0", 2259 | "emoji-regex": "^9.2.2", 2260 | "strip-ansi": "^7.0.1" 2261 | }, 2262 | "engines": { 2263 | "node": ">=12" 2264 | }, 2265 | "funding": { 2266 | "url": "https://github.com/sponsors/sindresorhus" 2267 | } 2268 | }, 2269 | "node_modules/string-width-cjs": { 2270 | "name": "string-width", 2271 | "version": "4.2.3", 2272 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2273 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2274 | "dev": true, 2275 | "dependencies": { 2276 | "emoji-regex": "^8.0.0", 2277 | "is-fullwidth-code-point": "^3.0.0", 2278 | "strip-ansi": "^6.0.1" 2279 | }, 2280 | "engines": { 2281 | "node": ">=8" 2282 | } 2283 | }, 2284 | "node_modules/string-width-cjs/node_modules/ansi-regex": { 2285 | "version": "5.0.1", 2286 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2287 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2288 | "dev": true, 2289 | "engines": { 2290 | "node": ">=8" 2291 | } 2292 | }, 2293 | "node_modules/string-width-cjs/node_modules/emoji-regex": { 2294 | "version": "8.0.0", 2295 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2296 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2297 | "dev": true 2298 | }, 2299 | "node_modules/string-width-cjs/node_modules/strip-ansi": { 2300 | "version": "6.0.1", 2301 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2302 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2303 | "dev": true, 2304 | "dependencies": { 2305 | "ansi-regex": "^5.0.1" 2306 | }, 2307 | "engines": { 2308 | "node": ">=8" 2309 | } 2310 | }, 2311 | "node_modules/strip-ansi": { 2312 | "version": "7.1.0", 2313 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 2314 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 2315 | "dev": true, 2316 | "dependencies": { 2317 | "ansi-regex": "^6.0.1" 2318 | }, 2319 | "engines": { 2320 | "node": ">=12" 2321 | }, 2322 | "funding": { 2323 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 2324 | } 2325 | }, 2326 | "node_modules/strip-ansi-cjs": { 2327 | "name": "strip-ansi", 2328 | "version": "6.0.1", 2329 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2330 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2331 | "dev": true, 2332 | "dependencies": { 2333 | "ansi-regex": "^5.0.1" 2334 | }, 2335 | "engines": { 2336 | "node": ">=8" 2337 | } 2338 | }, 2339 | "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 2340 | "version": "5.0.1", 2341 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2342 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2343 | "dev": true, 2344 | "engines": { 2345 | "node": ">=8" 2346 | } 2347 | }, 2348 | "node_modules/sucrase": { 2349 | "version": "3.35.0", 2350 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 2351 | "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 2352 | "dev": true, 2353 | "dependencies": { 2354 | "@jridgewell/gen-mapping": "^0.3.2", 2355 | "commander": "^4.0.0", 2356 | "glob": "^10.3.10", 2357 | "lines-and-columns": "^1.1.6", 2358 | "mz": "^2.7.0", 2359 | "pirates": "^4.0.1", 2360 | "ts-interface-checker": "^0.1.9" 2361 | }, 2362 | "bin": { 2363 | "sucrase": "bin/sucrase", 2364 | "sucrase-node": "bin/sucrase-node" 2365 | }, 2366 | "engines": { 2367 | "node": ">=16 || 14 >=14.17" 2368 | } 2369 | }, 2370 | "node_modules/supports-preserve-symlinks-flag": { 2371 | "version": "1.0.0", 2372 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 2373 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 2374 | "dev": true, 2375 | "engines": { 2376 | "node": ">= 0.4" 2377 | }, 2378 | "funding": { 2379 | "url": "https://github.com/sponsors/ljharb" 2380 | } 2381 | }, 2382 | "node_modules/tailwindcss": { 2383 | "version": "3.4.17", 2384 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.17.tgz", 2385 | "integrity": "sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==", 2386 | "dev": true, 2387 | "dependencies": { 2388 | "@alloc/quick-lru": "^5.2.0", 2389 | "arg": "^5.0.2", 2390 | "chokidar": "^3.6.0", 2391 | "didyoumean": "^1.2.2", 2392 | "dlv": "^1.1.3", 2393 | "fast-glob": "^3.3.2", 2394 | "glob-parent": "^6.0.2", 2395 | "is-glob": "^4.0.3", 2396 | "jiti": "^1.21.6", 2397 | "lilconfig": "^3.1.3", 2398 | "micromatch": "^4.0.8", 2399 | "normalize-path": "^3.0.0", 2400 | "object-hash": "^3.0.0", 2401 | "picocolors": "^1.1.1", 2402 | "postcss": "^8.4.47", 2403 | "postcss-import": "^15.1.0", 2404 | "postcss-js": "^4.0.1", 2405 | "postcss-load-config": "^4.0.2", 2406 | "postcss-nested": "^6.2.0", 2407 | "postcss-selector-parser": "^6.1.2", 2408 | "resolve": "^1.22.8", 2409 | "sucrase": "^3.35.0" 2410 | }, 2411 | "bin": { 2412 | "tailwind": "lib/cli.js", 2413 | "tailwindcss": "lib/cli.js" 2414 | }, 2415 | "engines": { 2416 | "node": ">=14.0.0" 2417 | } 2418 | }, 2419 | "node_modules/thenify": { 2420 | "version": "3.3.1", 2421 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 2422 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 2423 | "dev": true, 2424 | "dependencies": { 2425 | "any-promise": "^1.0.0" 2426 | } 2427 | }, 2428 | "node_modules/thenify-all": { 2429 | "version": "1.6.0", 2430 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 2431 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 2432 | "dev": true, 2433 | "dependencies": { 2434 | "thenify": ">= 3.1.0 < 4" 2435 | }, 2436 | "engines": { 2437 | "node": ">=0.8" 2438 | } 2439 | }, 2440 | "node_modules/to-regex-range": { 2441 | "version": "5.0.1", 2442 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2443 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 2444 | "dev": true, 2445 | "dependencies": { 2446 | "is-number": "^7.0.0" 2447 | }, 2448 | "engines": { 2449 | "node": ">=8.0" 2450 | } 2451 | }, 2452 | "node_modules/ts-interface-checker": { 2453 | "version": "0.1.13", 2454 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 2455 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 2456 | "dev": true 2457 | }, 2458 | "node_modules/typescript": { 2459 | "version": "5.6.3", 2460 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz", 2461 | "integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==", 2462 | "devOptional": true, 2463 | "bin": { 2464 | "tsc": "bin/tsc", 2465 | "tsserver": "bin/tsserver" 2466 | }, 2467 | "engines": { 2468 | "node": ">=14.17" 2469 | } 2470 | }, 2471 | "node_modules/update-browserslist-db": { 2472 | "version": "1.1.2", 2473 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", 2474 | "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", 2475 | "dev": true, 2476 | "funding": [ 2477 | { 2478 | "type": "opencollective", 2479 | "url": "https://opencollective.com/browserslist" 2480 | }, 2481 | { 2482 | "type": "tidelift", 2483 | "url": "https://tidelift.com/funding/github/npm/browserslist" 2484 | }, 2485 | { 2486 | "type": "github", 2487 | "url": "https://github.com/sponsors/ai" 2488 | } 2489 | ], 2490 | "dependencies": { 2491 | "escalade": "^3.2.0", 2492 | "picocolors": "^1.1.1" 2493 | }, 2494 | "bin": { 2495 | "update-browserslist-db": "cli.js" 2496 | }, 2497 | "peerDependencies": { 2498 | "browserslist": ">= 4.21.0" 2499 | } 2500 | }, 2501 | "node_modules/util-deprecate": { 2502 | "version": "1.0.2", 2503 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2504 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2505 | "dev": true 2506 | }, 2507 | "node_modules/vite": { 2508 | "version": "6.0.7", 2509 | "resolved": "https://registry.npmjs.org/vite/-/vite-6.0.7.tgz", 2510 | "integrity": "sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==", 2511 | "dev": true, 2512 | "dependencies": { 2513 | "esbuild": "^0.24.2", 2514 | "postcss": "^8.4.49", 2515 | "rollup": "^4.23.0" 2516 | }, 2517 | "bin": { 2518 | "vite": "bin/vite.js" 2519 | }, 2520 | "engines": { 2521 | "node": "^18.0.0 || ^20.0.0 || >=22.0.0" 2522 | }, 2523 | "funding": { 2524 | "url": "https://github.com/vitejs/vite?sponsor=1" 2525 | }, 2526 | "optionalDependencies": { 2527 | "fsevents": "~2.3.3" 2528 | }, 2529 | "peerDependencies": { 2530 | "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", 2531 | "jiti": ">=1.21.0", 2532 | "less": "*", 2533 | "lightningcss": "^1.21.0", 2534 | "sass": "*", 2535 | "sass-embedded": "*", 2536 | "stylus": "*", 2537 | "sugarss": "*", 2538 | "terser": "^5.16.0", 2539 | "tsx": "^4.8.1", 2540 | "yaml": "^2.4.2" 2541 | }, 2542 | "peerDependenciesMeta": { 2543 | "@types/node": { 2544 | "optional": true 2545 | }, 2546 | "jiti": { 2547 | "optional": true 2548 | }, 2549 | "less": { 2550 | "optional": true 2551 | }, 2552 | "lightningcss": { 2553 | "optional": true 2554 | }, 2555 | "sass": { 2556 | "optional": true 2557 | }, 2558 | "sass-embedded": { 2559 | "optional": true 2560 | }, 2561 | "stylus": { 2562 | "optional": true 2563 | }, 2564 | "sugarss": { 2565 | "optional": true 2566 | }, 2567 | "terser": { 2568 | "optional": true 2569 | }, 2570 | "tsx": { 2571 | "optional": true 2572 | }, 2573 | "yaml": { 2574 | "optional": true 2575 | } 2576 | } 2577 | }, 2578 | "node_modules/vscode-uri": { 2579 | "version": "3.0.8", 2580 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", 2581 | "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", 2582 | "dev": true 2583 | }, 2584 | "node_modules/vue": { 2585 | "version": "3.5.13", 2586 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", 2587 | "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", 2588 | "dependencies": { 2589 | "@vue/compiler-dom": "3.5.13", 2590 | "@vue/compiler-sfc": "3.5.13", 2591 | "@vue/runtime-dom": "3.5.13", 2592 | "@vue/server-renderer": "3.5.13", 2593 | "@vue/shared": "3.5.13" 2594 | }, 2595 | "peerDependencies": { 2596 | "typescript": "*" 2597 | }, 2598 | "peerDependenciesMeta": { 2599 | "typescript": { 2600 | "optional": true 2601 | } 2602 | } 2603 | }, 2604 | "node_modules/vue-router": { 2605 | "version": "4.0.13", 2606 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.13.tgz", 2607 | "integrity": "sha512-LmXrC+BkDRLak+d5xTMgUYraT3Nj0H/vCbP+7usGvIl9Viqd1UP6AsP0i69pSbn9O0dXK/xCdp4yPw21HqV9Jw==", 2608 | "dependencies": { 2609 | "@vue/devtools-api": "^6.0.0" 2610 | }, 2611 | "funding": { 2612 | "url": "https://github.com/sponsors/posva" 2613 | }, 2614 | "peerDependencies": { 2615 | "vue": "^3.2.0" 2616 | } 2617 | }, 2618 | "node_modules/vue-tsc": { 2619 | "version": "2.2.0", 2620 | "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.0.tgz", 2621 | "integrity": "sha512-gtmM1sUuJ8aSb0KoAFmK9yMxb8TxjewmxqTJ1aKphD5Cbu0rULFY6+UQT51zW7SpUcenfPUuflKyVwyx9Qdnxg==", 2622 | "dev": true, 2623 | "dependencies": { 2624 | "@volar/typescript": "~2.4.11", 2625 | "@vue/language-core": "2.2.0" 2626 | }, 2627 | "bin": { 2628 | "vue-tsc": "bin/vue-tsc.js" 2629 | }, 2630 | "peerDependencies": { 2631 | "typescript": ">=5.0.0" 2632 | } 2633 | }, 2634 | "node_modules/which": { 2635 | "version": "2.0.2", 2636 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2637 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2638 | "dev": true, 2639 | "dependencies": { 2640 | "isexe": "^2.0.0" 2641 | }, 2642 | "bin": { 2643 | "node-which": "bin/node-which" 2644 | }, 2645 | "engines": { 2646 | "node": ">= 8" 2647 | } 2648 | }, 2649 | "node_modules/wrap-ansi": { 2650 | "version": "8.1.0", 2651 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 2652 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 2653 | "dev": true, 2654 | "dependencies": { 2655 | "ansi-styles": "^6.1.0", 2656 | "string-width": "^5.0.1", 2657 | "strip-ansi": "^7.0.1" 2658 | }, 2659 | "engines": { 2660 | "node": ">=12" 2661 | }, 2662 | "funding": { 2663 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2664 | } 2665 | }, 2666 | "node_modules/wrap-ansi-cjs": { 2667 | "name": "wrap-ansi", 2668 | "version": "7.0.0", 2669 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 2670 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 2671 | "dev": true, 2672 | "dependencies": { 2673 | "ansi-styles": "^4.0.0", 2674 | "string-width": "^4.1.0", 2675 | "strip-ansi": "^6.0.0" 2676 | }, 2677 | "engines": { 2678 | "node": ">=10" 2679 | }, 2680 | "funding": { 2681 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 2682 | } 2683 | }, 2684 | "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 2685 | "version": "5.0.1", 2686 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 2687 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 2688 | "dev": true, 2689 | "engines": { 2690 | "node": ">=8" 2691 | } 2692 | }, 2693 | "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 2694 | "version": "4.3.0", 2695 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 2696 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 2697 | "dev": true, 2698 | "dependencies": { 2699 | "color-convert": "^2.0.1" 2700 | }, 2701 | "engines": { 2702 | "node": ">=8" 2703 | }, 2704 | "funding": { 2705 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 2706 | } 2707 | }, 2708 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 2709 | "version": "8.0.0", 2710 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 2711 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 2712 | "dev": true 2713 | }, 2714 | "node_modules/wrap-ansi-cjs/node_modules/string-width": { 2715 | "version": "4.2.3", 2716 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2717 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2718 | "dev": true, 2719 | "dependencies": { 2720 | "emoji-regex": "^8.0.0", 2721 | "is-fullwidth-code-point": "^3.0.0", 2722 | "strip-ansi": "^6.0.1" 2723 | }, 2724 | "engines": { 2725 | "node": ">=8" 2726 | } 2727 | }, 2728 | "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 2729 | "version": "6.0.1", 2730 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2731 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2732 | "dev": true, 2733 | "dependencies": { 2734 | "ansi-regex": "^5.0.1" 2735 | }, 2736 | "engines": { 2737 | "node": ">=8" 2738 | } 2739 | }, 2740 | "node_modules/yaml": { 2741 | "version": "2.7.0", 2742 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", 2743 | "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", 2744 | "dev": true, 2745 | "bin": { 2746 | "yaml": "bin.mjs" 2747 | }, 2748 | "engines": { 2749 | "node": ">= 14" 2750 | } 2751 | } 2752 | } 2753 | } 2754 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "tailwind_teach", 3 | "private": true, 4 | "version": "1.0.0", 5 | "type": "module", 6 | "description": "Стартовый шаблон для разработки современных веб-приложений с использованием Vue 3, Vite, TypeScript, Vue Router и Tailwind CSS.", 7 | "author": "Яковенко Алексей (https://t.me/yakvenalexx)", 8 | "repository": { 9 | "type": "git", 10 | "url": "https://github.com/Yakvenalex/vue-typescript-tailwind-starter.git" 11 | }, 12 | "license": "MIT", 13 | "scripts": { 14 | "dev": "vite", 15 | "build": "vue-tsc -b && vite build", 16 | "preview": "vite preview" 17 | }, 18 | "dependencies": { 19 | "@vueuse/core": "^12.4.0", 20 | "vue": "^3.5.13", 21 | "vue-router": "^4.0.13" 22 | }, 23 | "devDependencies": { 24 | "@vitejs/plugin-vue": "^5.2.1", 25 | "@vue/tsconfig": "^0.7.0", 26 | "autoprefixer": "^10.4.20", 27 | "postcss": "^8.5.0", 28 | "tailwindcss": "^3.4.17", 29 | "typescript": "~5.6.2", 30 | "vite": "^6.0.5", 31 | "vue-tsc": "^2.2.0" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | export default { 2 | plugins: { 3 | tailwindcss: {}, 4 | autoprefixer: {}, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /public/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 13 | 14 | -------------------------------------------------------------------------------- /src/assets/logo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/styles/index.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; -------------------------------------------------------------------------------- /src/components/Header.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 17 | 18 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import './assets/styles/index.css' 3 | import App from './App.vue' 4 | import router from "./router"; 5 | 6 | createApp(App).use(router).mount("#app"); 7 | -------------------------------------------------------------------------------- /src/router/index.ts: -------------------------------------------------------------------------------- 1 | import { createRouter, createWebHistory } from "vue-router"; 2 | import Home from "../views/Home.vue"; 3 | 4 | const routes = [ 5 | { path: "/", name: "Home", component: Home }, 6 | ]; 7 | 8 | const router = createRouter({ 9 | history: createWebHistory(), 10 | routes, 11 | scrollBehavior() { 12 | // Всегда прокручивать к верху страницы 13 | return { top: 0 }; 14 | }, 15 | }); 16 | 17 | export default router; 18 | -------------------------------------------------------------------------------- /src/views/Home.vue: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | 9 | 10 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ["./index.html", "./src/**/*.{vue,js,ts,jsx,tsx}"], 4 | darkMode: "media", 5 | theme: { 6 | extend: {}, 7 | }, 8 | plugins: [require("tailwindcss"), require("autoprefixer")], 9 | }; 10 | -------------------------------------------------------------------------------- /tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.dom.json", 3 | "compilerOptions": { 4 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 5 | 6 | /* Linting */ 7 | "strict": true, 8 | "noUnusedLocals": true, 9 | "noUnusedParameters": true, 10 | "noFallthroughCasesInSwitch": true, 11 | "noUncheckedSideEffectImports": true 12 | }, 13 | "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] 14 | } 15 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [], 3 | "references": [ 4 | { "path": "./tsconfig.app.json" }, 5 | { "path": "./tsconfig.node.json" } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 | "target": "ES2022", 5 | "lib": ["ES2023"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "isolatedModules": true, 13 | "moduleDetection": "force", 14 | "noEmit": true, 15 | 16 | /* Linting */ 17 | "strict": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true, 20 | "noFallthroughCasesInSwitch": true, 21 | "noUncheckedSideEffectImports": true 22 | }, 23 | "include": ["vite.config.ts"] 24 | } 25 | -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import vue from "@vitejs/plugin-vue"; 3 | import tailwindcss from "tailwindcss"; 4 | import autoprefixer from "autoprefixer"; 5 | 6 | 7 | export default defineConfig({ 8 | plugins: [vue()], 9 | css: { 10 | postcss: { 11 | plugins: [tailwindcss, autoprefixer], 12 | }, 13 | }, 14 | server: { 15 | host: "0.0.0.0", 16 | port: 3000, 17 | }, 18 | }); --------------------------------------------------------------------------------