@supasayan/ytm 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/bin/cli.js +44 -0
  2. package/client/index.html +13 -0
  3. package/client/package-lock.json +1003 -0
  4. package/client/package.json +22 -0
  5. package/client/public/favicon.svg +1 -0
  6. package/client/public/icons.svg +24 -0
  7. package/client/src/App.jsx +210 -0
  8. package/client/src/assets/hero.png +0 -0
  9. package/client/src/assets/typescript.svg +1 -0
  10. package/client/src/assets/vite.svg +1 -0
  11. package/client/src/components/Download/DownloadItem.css +246 -0
  12. package/client/src/components/Download/DownloadItem.jsx +108 -0
  13. package/client/src/components/Download/FlyingThumbnail.css +33 -0
  14. package/client/src/components/Download/FlyingThumbnail.jsx +48 -0
  15. package/client/src/components/Layout/Header.css +91 -0
  16. package/client/src/components/Layout/Header.jsx +49 -0
  17. package/client/src/components/Layout/SystemCheckScreen.css +250 -0
  18. package/client/src/components/Layout/SystemCheckScreen.jsx +110 -0
  19. package/client/src/components/Player/AudioPlayer.css +280 -0
  20. package/client/src/components/Player/AudioPlayer.jsx +154 -0
  21. package/client/src/components/Playlist/PlaylistInput.css +71 -0
  22. package/client/src/components/Playlist/PlaylistInput.jsx +44 -0
  23. package/client/src/components/Playlist/PlaylistView.css +150 -0
  24. package/client/src/components/Playlist/PlaylistView.jsx +104 -0
  25. package/client/src/components/Search/SearchBar.css +163 -0
  26. package/client/src/components/Search/SearchBar.jsx +127 -0
  27. package/client/src/components/Search/SearchResults.css +42 -0
  28. package/client/src/components/Search/SearchResults.jsx +64 -0
  29. package/client/src/components/Search/SongCard.css +296 -0
  30. package/client/src/components/Search/SongCard.jsx +204 -0
  31. package/client/src/components/Settings/SettingsPanel.css +345 -0
  32. package/client/src/components/Settings/SettingsPanel.jsx +174 -0
  33. package/client/src/hooks/useDownload.js +107 -0
  34. package/client/src/hooks/usePlayer.js +188 -0
  35. package/client/src/hooks/usePlaylist.js +52 -0
  36. package/client/src/hooks/useSearch.js +34 -0
  37. package/client/src/index.css +245 -0
  38. package/client/src/main.jsx +10 -0
  39. package/client/src/pages/DownloadsPage.css +37 -0
  40. package/client/src/pages/DownloadsPage.jsx +80 -0
  41. package/client/src/pages/PlaylistPage.jsx +46 -0
  42. package/client/src/pages/SearchPage.jsx +63 -0
  43. package/client/tsconfig.json +24 -0
  44. package/client/vite.config.js +12 -0
  45. package/main.js +79 -0
  46. package/package.json +48 -0
  47. package/server/index.js +54 -0
  48. package/server/package-lock.json +1428 -0
  49. package/server/package.json +14 -0
  50. package/server/routes/browse.js +23 -0
  51. package/server/routes/download.js +339 -0
  52. package/server/routes/playLocal.js +50 -0
  53. package/server/routes/playlist.js +28 -0
  54. package/server/routes/search.js +21 -0
  55. package/server/routes/stream.js +53 -0
  56. package/server/services/downloadService.js +143 -0
  57. package/server/services/ytmusicService.js +62 -0
  58. package/server/utils/dependencyChecker.js +174 -0
  59. package/server/utils/paths.js +11 -0
  60. package/server/utils/sanitize.js +9 -0
@@ -0,0 +1,1003 @@
1
+ {
2
+ "name": "client",
3
+ "version": "0.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "client",
9
+ "version": "0.0.0",
10
+ "dependencies": {
11
+ "colorthief": "^3.4.0",
12
+ "lucide-react": "^1.24.0",
13
+ "react": "^19.2.7",
14
+ "react-dom": "^19.2.7"
15
+ },
16
+ "devDependencies": {
17
+ "@vitejs/plugin-react": "^6.0.3",
18
+ "typescript": "~6.0.2",
19
+ "vite": "^8.1.1"
20
+ }
21
+ },
22
+ "node_modules/@emnapi/core": {
23
+ "version": "1.11.1",
24
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.11.1.tgz",
25
+ "integrity": "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==",
26
+ "dev": true,
27
+ "license": "MIT",
28
+ "optional": true,
29
+ "dependencies": {
30
+ "@emnapi/wasi-threads": "1.2.2",
31
+ "tslib": "^2.4.0"
32
+ }
33
+ },
34
+ "node_modules/@emnapi/runtime": {
35
+ "version": "1.11.1",
36
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.11.1.tgz",
37
+ "integrity": "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==",
38
+ "dev": true,
39
+ "license": "MIT",
40
+ "optional": true,
41
+ "dependencies": {
42
+ "tslib": "^2.4.0"
43
+ }
44
+ },
45
+ "node_modules/@emnapi/wasi-threads": {
46
+ "version": "1.2.2",
47
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.2.2.tgz",
48
+ "integrity": "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==",
49
+ "dev": true,
50
+ "license": "MIT",
51
+ "optional": true,
52
+ "dependencies": {
53
+ "tslib": "^2.4.0"
54
+ }
55
+ },
56
+ "node_modules/@napi-rs/wasm-runtime": {
57
+ "version": "1.1.6",
58
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.6.tgz",
59
+ "integrity": "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg==",
60
+ "dev": true,
61
+ "license": "MIT",
62
+ "optional": true,
63
+ "dependencies": {
64
+ "@tybys/wasm-util": "^0.10.3"
65
+ },
66
+ "funding": {
67
+ "type": "github",
68
+ "url": "https://github.com/sponsors/Brooooooklyn"
69
+ },
70
+ "peerDependencies": {
71
+ "@emnapi/core": "^1.7.1",
72
+ "@emnapi/runtime": "^1.7.1"
73
+ }
74
+ },
75
+ "node_modules/@oxc-project/types": {
76
+ "version": "0.139.0",
77
+ "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.139.0.tgz",
78
+ "integrity": "sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==",
79
+ "dev": true,
80
+ "license": "MIT",
81
+ "funding": {
82
+ "url": "https://github.com/sponsors/Boshen"
83
+ }
84
+ },
85
+ "node_modules/@rolldown/binding-android-arm64": {
86
+ "version": "1.1.5",
87
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.1.5.tgz",
88
+ "integrity": "sha512-lZg8fqIv2v7FF237bwMgzGZEJvGL79/s5knJ/i6FmsGF4XXlzccZ4jb+TrFIxtSSxFtIpdsgrPZeMk1I9AFcyQ==",
89
+ "cpu": [
90
+ "arm64"
91
+ ],
92
+ "dev": true,
93
+ "license": "MIT",
94
+ "optional": true,
95
+ "os": [
96
+ "android"
97
+ ],
98
+ "engines": {
99
+ "node": "^20.19.0 || >=22.12.0"
100
+ }
101
+ },
102
+ "node_modules/@rolldown/binding-darwin-arm64": {
103
+ "version": "1.1.5",
104
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.1.5.tgz",
105
+ "integrity": "sha512-51Bnx9pNiMRKSUNtBfySkNJ9vMU9Hh3I1ozDd6gyPPYzaXCfnptUcEZxXGYFn+ul2dtcMUiqGR1Yai2K10uoTw==",
106
+ "cpu": [
107
+ "arm64"
108
+ ],
109
+ "dev": true,
110
+ "license": "MIT",
111
+ "optional": true,
112
+ "os": [
113
+ "darwin"
114
+ ],
115
+ "engines": {
116
+ "node": "^20.19.0 || >=22.12.0"
117
+ }
118
+ },
119
+ "node_modules/@rolldown/binding-darwin-x64": {
120
+ "version": "1.1.5",
121
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.1.5.tgz",
122
+ "integrity": "sha512-Tm+gbfC0aHu1tBA/JvKQh32S0K6YgCHkiAF4/W6xX0K0RmNuc94VeK419dJoE65R5aRxmo+noZQSWrAMF6yb6g==",
123
+ "cpu": [
124
+ "x64"
125
+ ],
126
+ "dev": true,
127
+ "license": "MIT",
128
+ "optional": true,
129
+ "os": [
130
+ "darwin"
131
+ ],
132
+ "engines": {
133
+ "node": "^20.19.0 || >=22.12.0"
134
+ }
135
+ },
136
+ "node_modules/@rolldown/binding-freebsd-x64": {
137
+ "version": "1.1.5",
138
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.1.5.tgz",
139
+ "integrity": "sha512-JMzDKCCXq93YccG5gz3hvOs1oXRKAf0XYpfOS88e+wZrC8Iugj6j68867vrYZkvpDDpKn/KoKORThmchMpF6TA==",
140
+ "cpu": [
141
+ "x64"
142
+ ],
143
+ "dev": true,
144
+ "license": "MIT",
145
+ "optional": true,
146
+ "os": [
147
+ "freebsd"
148
+ ],
149
+ "engines": {
150
+ "node": "^20.19.0 || >=22.12.0"
151
+ }
152
+ },
153
+ "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
154
+ "version": "1.1.5",
155
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.1.5.tgz",
156
+ "integrity": "sha512-uML21j2K5TfPGutKxub+M+nLjZIrWjXQ5Grx4lCe/nimTj9B4L63zHpjXLl4y0L3mcm2htEQIb06oCG/szerNw==",
157
+ "cpu": [
158
+ "arm"
159
+ ],
160
+ "dev": true,
161
+ "license": "MIT",
162
+ "optional": true,
163
+ "os": [
164
+ "linux"
165
+ ],
166
+ "engines": {
167
+ "node": "^20.19.0 || >=22.12.0"
168
+ }
169
+ },
170
+ "node_modules/@rolldown/binding-linux-arm64-gnu": {
171
+ "version": "1.1.5",
172
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.1.5.tgz",
173
+ "integrity": "sha512-navSiuTMogvnQoZoM/v+l3ZWo50/NTwSHSzheABx/RCnmUPaKwq9qSo4Br2OYRs21+Fz8uFqITZM3H4opOB0/Q==",
174
+ "cpu": [
175
+ "arm64"
176
+ ],
177
+ "dev": true,
178
+ "libc": [
179
+ "glibc"
180
+ ],
181
+ "license": "MIT",
182
+ "optional": true,
183
+ "os": [
184
+ "linux"
185
+ ],
186
+ "engines": {
187
+ "node": "^20.19.0 || >=22.12.0"
188
+ }
189
+ },
190
+ "node_modules/@rolldown/binding-linux-arm64-musl": {
191
+ "version": "1.1.5",
192
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.1.5.tgz",
193
+ "integrity": "sha512-lAryqH7IteztmCXQXk0etKj4wBQ7Gx5S6LjKhsgp9zb8I5bsuvU/2llH1hDQcjsFeqIsovMVN339/8pUDDBXxA==",
194
+ "cpu": [
195
+ "arm64"
196
+ ],
197
+ "dev": true,
198
+ "libc": [
199
+ "musl"
200
+ ],
201
+ "license": "MIT",
202
+ "optional": true,
203
+ "os": [
204
+ "linux"
205
+ ],
206
+ "engines": {
207
+ "node": "^20.19.0 || >=22.12.0"
208
+ }
209
+ },
210
+ "node_modules/@rolldown/binding-linux-ppc64-gnu": {
211
+ "version": "1.1.5",
212
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.1.5.tgz",
213
+ "integrity": "sha512-fsK/sNBnxzBlL4O1JNrZakVQxPspqpED5dLtNsZS9oOKmtSpdNIzxH2kkol5HYTWJN47sE20ztMJPxfZ89qGOg==",
214
+ "cpu": [
215
+ "ppc64"
216
+ ],
217
+ "dev": true,
218
+ "libc": [
219
+ "glibc"
220
+ ],
221
+ "license": "MIT",
222
+ "optional": true,
223
+ "os": [
224
+ "linux"
225
+ ],
226
+ "engines": {
227
+ "node": "^20.19.0 || >=22.12.0"
228
+ }
229
+ },
230
+ "node_modules/@rolldown/binding-linux-s390x-gnu": {
231
+ "version": "1.1.5",
232
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.1.5.tgz",
233
+ "integrity": "sha512-gLYb4BIadlfTOYT5gO503n8zQjXflgzpD0FcyKh0Mzx3rqCZKnHoJWV9xe1KXUJ5lx2JfcSHr/mhzS0PC/McAA==",
234
+ "cpu": [
235
+ "s390x"
236
+ ],
237
+ "dev": true,
238
+ "libc": [
239
+ "glibc"
240
+ ],
241
+ "license": "MIT",
242
+ "optional": true,
243
+ "os": [
244
+ "linux"
245
+ ],
246
+ "engines": {
247
+ "node": "^20.19.0 || >=22.12.0"
248
+ }
249
+ },
250
+ "node_modules/@rolldown/binding-linux-x64-gnu": {
251
+ "version": "1.1.5",
252
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.1.5.tgz",
253
+ "integrity": "sha512-FjcpEKUyJygHgs1o50VYNvkt5+7Le/VEdYt0AkRpkL33MnyQfwr8l5mXwMmfmTbyMPr5vJLC+8/Gd9gXnwU1QQ==",
254
+ "cpu": [
255
+ "x64"
256
+ ],
257
+ "dev": true,
258
+ "libc": [
259
+ "glibc"
260
+ ],
261
+ "license": "MIT",
262
+ "optional": true,
263
+ "os": [
264
+ "linux"
265
+ ],
266
+ "engines": {
267
+ "node": "^20.19.0 || >=22.12.0"
268
+ }
269
+ },
270
+ "node_modules/@rolldown/binding-linux-x64-musl": {
271
+ "version": "1.1.5",
272
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.1.5.tgz",
273
+ "integrity": "sha512-Me+PfPI2TMeOQk0gYWfLQZtTktrmzbr8cDboqX83XKc7UrgAi55gF+2dUkWdxd19n55Essp2yeca+O9N5rBxHg==",
274
+ "cpu": [
275
+ "x64"
276
+ ],
277
+ "dev": true,
278
+ "libc": [
279
+ "musl"
280
+ ],
281
+ "license": "MIT",
282
+ "optional": true,
283
+ "os": [
284
+ "linux"
285
+ ],
286
+ "engines": {
287
+ "node": "^20.19.0 || >=22.12.0"
288
+ }
289
+ },
290
+ "node_modules/@rolldown/binding-openharmony-arm64": {
291
+ "version": "1.1.5",
292
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.1.5.tgz",
293
+ "integrity": "sha512-yc5WrLzXks6zCQfn9Oxr8pORKyl/pF+QjHmW/Qx3qu0oyrrNC+y2JLTU1E2rcWYAmzlnqngWXHQjy51VzW70Vw==",
294
+ "cpu": [
295
+ "arm64"
296
+ ],
297
+ "dev": true,
298
+ "license": "MIT",
299
+ "optional": true,
300
+ "os": [
301
+ "openharmony"
302
+ ],
303
+ "engines": {
304
+ "node": "^20.19.0 || >=22.12.0"
305
+ }
306
+ },
307
+ "node_modules/@rolldown/binding-wasm32-wasi": {
308
+ "version": "1.1.5",
309
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.1.5.tgz",
310
+ "integrity": "sha512-VbQGPX2b4r48TAMIM2cjgluIM1HYutm4pcTEJsle7iEP7sB1dFqtPLBVbdLAZCxy1txCcPxf4QFf4v8uvltPqA==",
311
+ "cpu": [
312
+ "wasm32"
313
+ ],
314
+ "dev": true,
315
+ "license": "MIT",
316
+ "optional": true,
317
+ "dependencies": {
318
+ "@emnapi/core": "1.11.1",
319
+ "@emnapi/runtime": "1.11.1",
320
+ "@napi-rs/wasm-runtime": "^1.1.6"
321
+ },
322
+ "engines": {
323
+ "node": "^20.19.0 || >=22.12.0"
324
+ }
325
+ },
326
+ "node_modules/@rolldown/binding-win32-arm64-msvc": {
327
+ "version": "1.1.5",
328
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.1.5.tgz",
329
+ "integrity": "sha512-gHv82k63z4qpV5+Q1y/12KrK0ltWBukVDI8nZcbT7Tt/ZlOIVwppazneq0F93oDxTo3IgAMEDIoQh3E2n6mVsw==",
330
+ "cpu": [
331
+ "arm64"
332
+ ],
333
+ "dev": true,
334
+ "license": "MIT",
335
+ "optional": true,
336
+ "os": [
337
+ "win32"
338
+ ],
339
+ "engines": {
340
+ "node": "^20.19.0 || >=22.12.0"
341
+ }
342
+ },
343
+ "node_modules/@rolldown/binding-win32-x64-msvc": {
344
+ "version": "1.1.5",
345
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.1.5.tgz",
346
+ "integrity": "sha512-tTZuDBPw85tEN5PQi1pnEBzDy0Z49HtScLAbD5t6hyeU92A95pRWaSMw1GZZi/RwgSgUIl0xrSlXIT/9QzvYSA==",
347
+ "cpu": [
348
+ "x64"
349
+ ],
350
+ "dev": true,
351
+ "license": "MIT",
352
+ "optional": true,
353
+ "os": [
354
+ "win32"
355
+ ],
356
+ "engines": {
357
+ "node": "^20.19.0 || >=22.12.0"
358
+ }
359
+ },
360
+ "node_modules/@rolldown/pluginutils": {
361
+ "version": "1.0.1",
362
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz",
363
+ "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==",
364
+ "dev": true,
365
+ "license": "MIT"
366
+ },
367
+ "node_modules/@tybys/wasm-util": {
368
+ "version": "0.10.3",
369
+ "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.3.tgz",
370
+ "integrity": "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==",
371
+ "dev": true,
372
+ "license": "MIT",
373
+ "optional": true,
374
+ "dependencies": {
375
+ "tslib": "^2.4.0"
376
+ }
377
+ },
378
+ "node_modules/@vitejs/plugin-react": {
379
+ "version": "6.0.3",
380
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.0.3.tgz",
381
+ "integrity": "sha512-vmFvco5/QuC2f9Oj+wTk0+9XeDFkHxSamwZKYc7MxYwKICfvUvlMhqKI0VuICPltGqh1neqBKDvO4kes1ya8vg==",
382
+ "dev": true,
383
+ "license": "MIT",
384
+ "dependencies": {
385
+ "@rolldown/pluginutils": "^1.0.1"
386
+ },
387
+ "engines": {
388
+ "node": "^20.19.0 || >=22.12.0"
389
+ },
390
+ "peerDependencies": {
391
+ "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0",
392
+ "babel-plugin-react-compiler": "^1.0.0",
393
+ "vite": "^8.0.0"
394
+ },
395
+ "peerDependenciesMeta": {
396
+ "@rolldown/plugin-babel": {
397
+ "optional": true
398
+ },
399
+ "babel-plugin-react-compiler": {
400
+ "optional": true
401
+ }
402
+ }
403
+ },
404
+ "node_modules/colorthief": {
405
+ "version": "3.4.0",
406
+ "resolved": "https://registry.npmjs.org/colorthief/-/colorthief-3.4.0.tgz",
407
+ "integrity": "sha512-mwXc0OHLsb1on2JtVD2go31GTyHwBLtkRruggz6H/bY2vI1mL8v8Mvam9qIWiI4khnsbQXoBs8M+EofnlcQitQ==",
408
+ "license": "MIT",
409
+ "bin": {
410
+ "colorthief": "dist/cli.js"
411
+ },
412
+ "peerDependencies": {
413
+ "sharp": ">=0.33.0"
414
+ },
415
+ "peerDependenciesMeta": {
416
+ "sharp": {
417
+ "optional": true
418
+ }
419
+ }
420
+ },
421
+ "node_modules/detect-libc": {
422
+ "version": "2.1.2",
423
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
424
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
425
+ "dev": true,
426
+ "license": "Apache-2.0",
427
+ "engines": {
428
+ "node": ">=8"
429
+ }
430
+ },
431
+ "node_modules/fdir": {
432
+ "version": "6.5.0",
433
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
434
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
435
+ "dev": true,
436
+ "license": "MIT",
437
+ "engines": {
438
+ "node": ">=12.0.0"
439
+ },
440
+ "peerDependencies": {
441
+ "picomatch": "^3 || ^4"
442
+ },
443
+ "peerDependenciesMeta": {
444
+ "picomatch": {
445
+ "optional": true
446
+ }
447
+ }
448
+ },
449
+ "node_modules/fsevents": {
450
+ "version": "2.3.3",
451
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
452
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
453
+ "dev": true,
454
+ "hasInstallScript": true,
455
+ "license": "MIT",
456
+ "optional": true,
457
+ "os": [
458
+ "darwin"
459
+ ],
460
+ "engines": {
461
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
462
+ }
463
+ },
464
+ "node_modules/lightningcss": {
465
+ "version": "1.32.0",
466
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz",
467
+ "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==",
468
+ "dev": true,
469
+ "license": "MPL-2.0",
470
+ "dependencies": {
471
+ "detect-libc": "^2.0.3"
472
+ },
473
+ "engines": {
474
+ "node": ">= 12.0.0"
475
+ },
476
+ "funding": {
477
+ "type": "opencollective",
478
+ "url": "https://opencollective.com/parcel"
479
+ },
480
+ "optionalDependencies": {
481
+ "lightningcss-android-arm64": "1.32.0",
482
+ "lightningcss-darwin-arm64": "1.32.0",
483
+ "lightningcss-darwin-x64": "1.32.0",
484
+ "lightningcss-freebsd-x64": "1.32.0",
485
+ "lightningcss-linux-arm-gnueabihf": "1.32.0",
486
+ "lightningcss-linux-arm64-gnu": "1.32.0",
487
+ "lightningcss-linux-arm64-musl": "1.32.0",
488
+ "lightningcss-linux-x64-gnu": "1.32.0",
489
+ "lightningcss-linux-x64-musl": "1.32.0",
490
+ "lightningcss-win32-arm64-msvc": "1.32.0",
491
+ "lightningcss-win32-x64-msvc": "1.32.0"
492
+ }
493
+ },
494
+ "node_modules/lightningcss-android-arm64": {
495
+ "version": "1.32.0",
496
+ "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz",
497
+ "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==",
498
+ "cpu": [
499
+ "arm64"
500
+ ],
501
+ "dev": true,
502
+ "license": "MPL-2.0",
503
+ "optional": true,
504
+ "os": [
505
+ "android"
506
+ ],
507
+ "engines": {
508
+ "node": ">= 12.0.0"
509
+ },
510
+ "funding": {
511
+ "type": "opencollective",
512
+ "url": "https://opencollective.com/parcel"
513
+ }
514
+ },
515
+ "node_modules/lightningcss-darwin-arm64": {
516
+ "version": "1.32.0",
517
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz",
518
+ "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==",
519
+ "cpu": [
520
+ "arm64"
521
+ ],
522
+ "dev": true,
523
+ "license": "MPL-2.0",
524
+ "optional": true,
525
+ "os": [
526
+ "darwin"
527
+ ],
528
+ "engines": {
529
+ "node": ">= 12.0.0"
530
+ },
531
+ "funding": {
532
+ "type": "opencollective",
533
+ "url": "https://opencollective.com/parcel"
534
+ }
535
+ },
536
+ "node_modules/lightningcss-darwin-x64": {
537
+ "version": "1.32.0",
538
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz",
539
+ "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==",
540
+ "cpu": [
541
+ "x64"
542
+ ],
543
+ "dev": true,
544
+ "license": "MPL-2.0",
545
+ "optional": true,
546
+ "os": [
547
+ "darwin"
548
+ ],
549
+ "engines": {
550
+ "node": ">= 12.0.0"
551
+ },
552
+ "funding": {
553
+ "type": "opencollective",
554
+ "url": "https://opencollective.com/parcel"
555
+ }
556
+ },
557
+ "node_modules/lightningcss-freebsd-x64": {
558
+ "version": "1.32.0",
559
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz",
560
+ "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==",
561
+ "cpu": [
562
+ "x64"
563
+ ],
564
+ "dev": true,
565
+ "license": "MPL-2.0",
566
+ "optional": true,
567
+ "os": [
568
+ "freebsd"
569
+ ],
570
+ "engines": {
571
+ "node": ">= 12.0.0"
572
+ },
573
+ "funding": {
574
+ "type": "opencollective",
575
+ "url": "https://opencollective.com/parcel"
576
+ }
577
+ },
578
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
579
+ "version": "1.32.0",
580
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz",
581
+ "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==",
582
+ "cpu": [
583
+ "arm"
584
+ ],
585
+ "dev": true,
586
+ "license": "MPL-2.0",
587
+ "optional": true,
588
+ "os": [
589
+ "linux"
590
+ ],
591
+ "engines": {
592
+ "node": ">= 12.0.0"
593
+ },
594
+ "funding": {
595
+ "type": "opencollective",
596
+ "url": "https://opencollective.com/parcel"
597
+ }
598
+ },
599
+ "node_modules/lightningcss-linux-arm64-gnu": {
600
+ "version": "1.32.0",
601
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz",
602
+ "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==",
603
+ "cpu": [
604
+ "arm64"
605
+ ],
606
+ "dev": true,
607
+ "libc": [
608
+ "glibc"
609
+ ],
610
+ "license": "MPL-2.0",
611
+ "optional": true,
612
+ "os": [
613
+ "linux"
614
+ ],
615
+ "engines": {
616
+ "node": ">= 12.0.0"
617
+ },
618
+ "funding": {
619
+ "type": "opencollective",
620
+ "url": "https://opencollective.com/parcel"
621
+ }
622
+ },
623
+ "node_modules/lightningcss-linux-arm64-musl": {
624
+ "version": "1.32.0",
625
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz",
626
+ "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==",
627
+ "cpu": [
628
+ "arm64"
629
+ ],
630
+ "dev": true,
631
+ "libc": [
632
+ "musl"
633
+ ],
634
+ "license": "MPL-2.0",
635
+ "optional": true,
636
+ "os": [
637
+ "linux"
638
+ ],
639
+ "engines": {
640
+ "node": ">= 12.0.0"
641
+ },
642
+ "funding": {
643
+ "type": "opencollective",
644
+ "url": "https://opencollective.com/parcel"
645
+ }
646
+ },
647
+ "node_modules/lightningcss-linux-x64-gnu": {
648
+ "version": "1.32.0",
649
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz",
650
+ "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==",
651
+ "cpu": [
652
+ "x64"
653
+ ],
654
+ "dev": true,
655
+ "libc": [
656
+ "glibc"
657
+ ],
658
+ "license": "MPL-2.0",
659
+ "optional": true,
660
+ "os": [
661
+ "linux"
662
+ ],
663
+ "engines": {
664
+ "node": ">= 12.0.0"
665
+ },
666
+ "funding": {
667
+ "type": "opencollective",
668
+ "url": "https://opencollective.com/parcel"
669
+ }
670
+ },
671
+ "node_modules/lightningcss-linux-x64-musl": {
672
+ "version": "1.32.0",
673
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz",
674
+ "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==",
675
+ "cpu": [
676
+ "x64"
677
+ ],
678
+ "dev": true,
679
+ "libc": [
680
+ "musl"
681
+ ],
682
+ "license": "MPL-2.0",
683
+ "optional": true,
684
+ "os": [
685
+ "linux"
686
+ ],
687
+ "engines": {
688
+ "node": ">= 12.0.0"
689
+ },
690
+ "funding": {
691
+ "type": "opencollective",
692
+ "url": "https://opencollective.com/parcel"
693
+ }
694
+ },
695
+ "node_modules/lightningcss-win32-arm64-msvc": {
696
+ "version": "1.32.0",
697
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz",
698
+ "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==",
699
+ "cpu": [
700
+ "arm64"
701
+ ],
702
+ "dev": true,
703
+ "license": "MPL-2.0",
704
+ "optional": true,
705
+ "os": [
706
+ "win32"
707
+ ],
708
+ "engines": {
709
+ "node": ">= 12.0.0"
710
+ },
711
+ "funding": {
712
+ "type": "opencollective",
713
+ "url": "https://opencollective.com/parcel"
714
+ }
715
+ },
716
+ "node_modules/lightningcss-win32-x64-msvc": {
717
+ "version": "1.32.0",
718
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz",
719
+ "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==",
720
+ "cpu": [
721
+ "x64"
722
+ ],
723
+ "dev": true,
724
+ "license": "MPL-2.0",
725
+ "optional": true,
726
+ "os": [
727
+ "win32"
728
+ ],
729
+ "engines": {
730
+ "node": ">= 12.0.0"
731
+ },
732
+ "funding": {
733
+ "type": "opencollective",
734
+ "url": "https://opencollective.com/parcel"
735
+ }
736
+ },
737
+ "node_modules/lucide-react": {
738
+ "version": "1.24.0",
739
+ "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-1.24.0.tgz",
740
+ "integrity": "sha512-YT6mBD8lGKkg4nM39enlm94/sfJIiW0YKUT60fBy4YK8tai31ylg1VhGNWxkpSKHo9UagfnZqwIff3HTDQwXeA==",
741
+ "license": "ISC",
742
+ "peerDependencies": {
743
+ "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0"
744
+ }
745
+ },
746
+ "node_modules/nanoid": {
747
+ "version": "3.3.15",
748
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.15.tgz",
749
+ "integrity": "sha512-y7Wygv/7mEOvxTuEQDB8StXdMRBWf1kR/tlhAzBRUFkB2jfcLOAxO/SHmOO2zgz1pVgK29/kyupn059/bCHdjA==",
750
+ "dev": true,
751
+ "funding": [
752
+ {
753
+ "type": "github",
754
+ "url": "https://github.com/sponsors/ai"
755
+ }
756
+ ],
757
+ "license": "MIT",
758
+ "bin": {
759
+ "nanoid": "bin/nanoid.cjs"
760
+ },
761
+ "engines": {
762
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
763
+ }
764
+ },
765
+ "node_modules/picocolors": {
766
+ "version": "1.1.1",
767
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
768
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
769
+ "dev": true,
770
+ "license": "ISC"
771
+ },
772
+ "node_modules/picomatch": {
773
+ "version": "4.0.5",
774
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz",
775
+ "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==",
776
+ "dev": true,
777
+ "license": "MIT",
778
+ "engines": {
779
+ "node": ">=12"
780
+ },
781
+ "funding": {
782
+ "url": "https://github.com/sponsors/jonschlinkert"
783
+ }
784
+ },
785
+ "node_modules/postcss": {
786
+ "version": "8.5.17",
787
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.17.tgz",
788
+ "integrity": "sha512-J7EF+8X+CzRPaJPOv9Ck2wNWJvGnnl3PcNPAdGg6GTLjyVpyQ0yATMSXRFRV01BviT/9Gwuc3rjEyJbDJG9a4w==",
789
+ "dev": true,
790
+ "funding": [
791
+ {
792
+ "type": "opencollective",
793
+ "url": "https://opencollective.com/postcss/"
794
+ },
795
+ {
796
+ "type": "tidelift",
797
+ "url": "https://tidelift.com/funding/github/npm/postcss"
798
+ },
799
+ {
800
+ "type": "github",
801
+ "url": "https://github.com/sponsors/ai"
802
+ }
803
+ ],
804
+ "license": "MIT",
805
+ "dependencies": {
806
+ "nanoid": "^3.3.12",
807
+ "picocolors": "^1.1.1",
808
+ "source-map-js": "^1.2.1"
809
+ },
810
+ "engines": {
811
+ "node": "^10 || ^12 || >=14"
812
+ }
813
+ },
814
+ "node_modules/react": {
815
+ "version": "19.2.7",
816
+ "resolved": "https://registry.npmjs.org/react/-/react-19.2.7.tgz",
817
+ "integrity": "sha512-HNe9WslTbXmFK8o8cmwgAeJFSBvt1bPdHCVKtaaV+WlAN36mpT4hcRpwbf3fY56ar2oIXzsBpOAiIRHAdY0OlQ==",
818
+ "license": "MIT",
819
+ "engines": {
820
+ "node": ">=0.10.0"
821
+ }
822
+ },
823
+ "node_modules/react-dom": {
824
+ "version": "19.2.7",
825
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.7.tgz",
826
+ "integrity": "sha512-t0BRVXvbiE/o20Hfw669rLbMCDWtYZLvmJigy2f0MxsXF+71pxhR3xOkspmsO8h3ZlNzyibAmtCa3l4lYKk6gQ==",
827
+ "license": "MIT",
828
+ "dependencies": {
829
+ "scheduler": "^0.27.0"
830
+ },
831
+ "peerDependencies": {
832
+ "react": "^19.2.7"
833
+ }
834
+ },
835
+ "node_modules/rolldown": {
836
+ "version": "1.1.5",
837
+ "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.1.5.tgz",
838
+ "integrity": "sha512-t9z29cJjXf/vxQ8dyhCSpt6H6aSwHTk8cT5I3iy6SMXuFpk5mB6PL6XfC8PCwrPTx93udwKUm9HRteAlTGBLiA==",
839
+ "dev": true,
840
+ "license": "MIT",
841
+ "dependencies": {
842
+ "@oxc-project/types": "=0.139.0",
843
+ "@rolldown/pluginutils": "^1.0.0"
844
+ },
845
+ "bin": {
846
+ "rolldown": "bin/cli.mjs"
847
+ },
848
+ "engines": {
849
+ "node": "^20.19.0 || >=22.12.0"
850
+ },
851
+ "optionalDependencies": {
852
+ "@rolldown/binding-android-arm64": "1.1.5",
853
+ "@rolldown/binding-darwin-arm64": "1.1.5",
854
+ "@rolldown/binding-darwin-x64": "1.1.5",
855
+ "@rolldown/binding-freebsd-x64": "1.1.5",
856
+ "@rolldown/binding-linux-arm-gnueabihf": "1.1.5",
857
+ "@rolldown/binding-linux-arm64-gnu": "1.1.5",
858
+ "@rolldown/binding-linux-arm64-musl": "1.1.5",
859
+ "@rolldown/binding-linux-ppc64-gnu": "1.1.5",
860
+ "@rolldown/binding-linux-s390x-gnu": "1.1.5",
861
+ "@rolldown/binding-linux-x64-gnu": "1.1.5",
862
+ "@rolldown/binding-linux-x64-musl": "1.1.5",
863
+ "@rolldown/binding-openharmony-arm64": "1.1.5",
864
+ "@rolldown/binding-wasm32-wasi": "1.1.5",
865
+ "@rolldown/binding-win32-arm64-msvc": "1.1.5",
866
+ "@rolldown/binding-win32-x64-msvc": "1.1.5"
867
+ }
868
+ },
869
+ "node_modules/scheduler": {
870
+ "version": "0.27.0",
871
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
872
+ "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
873
+ "license": "MIT"
874
+ },
875
+ "node_modules/source-map-js": {
876
+ "version": "1.2.1",
877
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
878
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
879
+ "dev": true,
880
+ "license": "BSD-3-Clause",
881
+ "engines": {
882
+ "node": ">=0.10.0"
883
+ }
884
+ },
885
+ "node_modules/tinyglobby": {
886
+ "version": "0.2.17",
887
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
888
+ "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
889
+ "dev": true,
890
+ "license": "MIT",
891
+ "dependencies": {
892
+ "fdir": "^6.5.0",
893
+ "picomatch": "^4.0.4"
894
+ },
895
+ "engines": {
896
+ "node": ">=12.0.0"
897
+ },
898
+ "funding": {
899
+ "url": "https://github.com/sponsors/SuperchupuDev"
900
+ }
901
+ },
902
+ "node_modules/tslib": {
903
+ "version": "2.8.1",
904
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
905
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
906
+ "dev": true,
907
+ "license": "0BSD",
908
+ "optional": true
909
+ },
910
+ "node_modules/typescript": {
911
+ "version": "6.0.3",
912
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
913
+ "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
914
+ "dev": true,
915
+ "license": "Apache-2.0",
916
+ "bin": {
917
+ "tsc": "bin/tsc",
918
+ "tsserver": "bin/tsserver"
919
+ },
920
+ "engines": {
921
+ "node": ">=14.17"
922
+ }
923
+ },
924
+ "node_modules/vite": {
925
+ "version": "8.1.4",
926
+ "resolved": "https://registry.npmjs.org/vite/-/vite-8.1.4.tgz",
927
+ "integrity": "sha512-bTT9PsdWO+MQMNG9ZXIP/qM9wGh37DFxTV/sPq9cFpHr3w4jkgef032PkAL9jAqhk3Nz8NQw3O8n6/xFkqO4QQ==",
928
+ "dev": true,
929
+ "license": "MIT",
930
+ "dependencies": {
931
+ "lightningcss": "^1.32.0",
932
+ "picomatch": "^4.0.5",
933
+ "postcss": "^8.5.16",
934
+ "rolldown": "~1.1.4",
935
+ "tinyglobby": "^0.2.17"
936
+ },
937
+ "bin": {
938
+ "vite": "bin/vite.js"
939
+ },
940
+ "engines": {
941
+ "node": "^20.19.0 || >=22.12.0"
942
+ },
943
+ "funding": {
944
+ "url": "https://github.com/vitejs/vite?sponsor=1"
945
+ },
946
+ "optionalDependencies": {
947
+ "fsevents": "~2.3.3"
948
+ },
949
+ "peerDependencies": {
950
+ "@types/node": "^20.19.0 || >=22.12.0",
951
+ "@vitejs/devtools": "^0.3.0",
952
+ "esbuild": "^0.27.0 || ^0.28.0",
953
+ "jiti": ">=1.21.0",
954
+ "less": "^4.0.0",
955
+ "sass": "^1.70.0",
956
+ "sass-embedded": "^1.70.0",
957
+ "stylus": ">=0.54.8",
958
+ "sugarss": "^5.0.0",
959
+ "terser": "^5.16.0",
960
+ "tsx": "^4.8.1",
961
+ "yaml": "^2.4.2"
962
+ },
963
+ "peerDependenciesMeta": {
964
+ "@types/node": {
965
+ "optional": true
966
+ },
967
+ "@vitejs/devtools": {
968
+ "optional": true
969
+ },
970
+ "esbuild": {
971
+ "optional": true
972
+ },
973
+ "jiti": {
974
+ "optional": true
975
+ },
976
+ "less": {
977
+ "optional": true
978
+ },
979
+ "sass": {
980
+ "optional": true
981
+ },
982
+ "sass-embedded": {
983
+ "optional": true
984
+ },
985
+ "stylus": {
986
+ "optional": true
987
+ },
988
+ "sugarss": {
989
+ "optional": true
990
+ },
991
+ "terser": {
992
+ "optional": true
993
+ },
994
+ "tsx": {
995
+ "optional": true
996
+ },
997
+ "yaml": {
998
+ "optional": true
999
+ }
1000
+ }
1001
+ }
1002
+ }
1003
+ }