browser-commander 0.23.0 → 0.25.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 (77) hide show
  1. package/.jscpd-baseline.json +48 -30
  2. package/CHANGELOG.md +32 -0
  3. package/README.md +19 -7
  4. package/eslint.config.js +1 -1
  5. package/examples/react-test-app/package-lock.json +890 -0
  6. package/examples/react-test-app/package.json +4 -4
  7. package/package.json +20 -17
  8. package/src/browser/attach/snapshot.js +4 -28
  9. package/src/browser/browser-cookie-credentials.js +15 -8
  10. package/src/browser/browser-cookies.js +36 -30
  11. package/src/browser/browser-profile-files.js +31 -0
  12. package/src/browser/browser-profiles.js +11 -13
  13. package/src/browser/browser-sources.js +39 -9
  14. package/src/browser/browser-sources.json +600 -23
  15. package/src/browser/connector.js +46 -4
  16. package/src/browser/launcher.js +26 -1
  17. package/src/browser/migration/capabilities.json +117 -0
  18. package/src/browser/migration/chromium-history.sql +22 -0
  19. package/src/browser/migration/chromium-writers.js +85 -0
  20. package/src/browser/migration/cookies.js +4 -1
  21. package/src/browser/migration/data-classes.js +68 -0
  22. package/src/browser/migration/domains.js +32 -0
  23. package/src/browser/migration/firefox-history.js +106 -0
  24. package/src/browser/migration/firefox.js +39 -25
  25. package/src/browser/migration/history.js +161 -2
  26. package/src/browser/migration/index.js +229 -83
  27. package/src/browser/migration/os-crypt-keys.js +1 -5
  28. package/src/browser/migration/password-metadata.js +95 -0
  29. package/src/browser/migration/passwords.js +78 -41
  30. package/src/browser/migration/safari-import.js +100 -0
  31. package/src/browser/migration/safari.js +110 -0
  32. package/src/browser/migration/sqlite-snapshot.js +31 -65
  33. package/src/browser/migration/validation.js +48 -0
  34. package/src/browser/real-browser.js +21 -3
  35. package/src/browser/safari-access.js +45 -0
  36. package/src/browser/safari-cookies.js +39 -36
  37. package/src/browser/safari-profiles.js +83 -0
  38. package/src/browser/storage-state.js +27 -0
  39. package/src/browser/system-browser.js +31 -143
  40. package/src/browser/webdriver.js +18 -2
  41. package/src/cli/args.js +7 -0
  42. package/src/cli/commands.js +12 -6
  43. package/src/cli/handle-methods.js +19 -2
  44. package/src/cli/high-level-methods.js +22 -3
  45. package/src/cli/modules.js +5 -1
  46. package/src/cli/sessions.js +14 -2
  47. package/src/tests/index.js +1 -0
  48. package/tests/e2e/engine-matrix.e2e.test.js +107 -0
  49. package/tests/e2e/playwright.e2e.test.js +11 -17
  50. package/tests/e2e/puppeteer.e2e.test.js +13 -17
  51. package/tests/unit/browser/attach/snapshot.test.js +30 -0
  52. package/tests/unit/browser/browser-cookies.test.js +35 -0
  53. package/tests/unit/browser/catalogue-launch.test.js +93 -0
  54. package/tests/unit/browser/cookie-sources.test.js +92 -17
  55. package/tests/unit/browser/credential-catalogue.test.js +50 -0
  56. package/tests/unit/browser/firefox-cookie-expiry.test.js +79 -0
  57. package/tests/unit/browser/migration/data-classes.test.js +89 -0
  58. package/tests/unit/browser/migration/domain-isolation.test.js +212 -0
  59. package/tests/unit/browser/migration/firefox-history.test.js +130 -0
  60. package/tests/unit/browser/migration/history-metadata.test.js +74 -0
  61. package/tests/unit/browser/migration/index.test.js +16 -1
  62. package/tests/unit/browser/migration/opera-keys.test.js +22 -0
  63. package/tests/unit/browser/migration/safari-data.test.js +143 -0
  64. package/tests/unit/browser/migration/sqlite-snapshot.test.js +56 -1
  65. package/tests/unit/browser/migration/validation.test.js +63 -0
  66. package/tests/unit/browser/migration/yandex.test.js +84 -0
  67. package/tests/unit/browser/real-browser.test.js +19 -0
  68. package/tests/unit/browser/safari-cookies.test.js +26 -1
  69. package/tests/unit/browser/safari-profiles.test.js +111 -0
  70. package/tests/unit/cli/dispatcher.test.js +6 -2
  71. package/tests/unit/cli/main.test.js +5 -0
  72. package/tests/unit/cli/selenium-parity.test.js +186 -0
  73. package/tests/unit/scripts/browser-support.test.js +14 -7
  74. package/tests/unit/scripts/check-pipeline-status.test.js +33 -1
  75. package/tests/unit/scripts/migration-support.test.js +31 -0
  76. package/tests/unit/tests/index.test.js +2 -1
  77. package/tests/unit/traces/links.test.js +2 -2
@@ -0,0 +1,890 @@
1
+ {
2
+ "name": "react-test-app",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "react-test-app",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "react": "^19.3.0",
12
+ "react-dom": "^19.3.0"
13
+ },
14
+ "devDependencies": {
15
+ "@vitejs/plugin-react": "^6.1.2",
16
+ "vite": "^8.3.2"
17
+ }
18
+ },
19
+ "node_modules/@oxc-project/types": {
20
+ "version": "0.152.0",
21
+ "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.152.0.tgz",
22
+ "integrity": "sha512-oM/5rLBm2tPkg0iBgkH/FOeR3PCDpY19GTgAZjMFM8h9WI9VW7cLgzp6nwtarYKmovavIQZ+Fe/RKX/8C8O/Rw==",
23
+ "dev": true,
24
+ "license": "MIT",
25
+ "funding": {
26
+ "url": "https://github.com/sponsors/oxc-project"
27
+ }
28
+ },
29
+ "node_modules/@rolldown/binding-android-arm-eabi": {
30
+ "version": "1.2.12",
31
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm-eabi/-/binding-android-arm-eabi-1.2.12.tgz",
32
+ "integrity": "sha512-dB/a1214qKfHMXCpgqR4OZT+jS4kTyEXbQGJPqzobt5EwH5rX080pxE37alt3RzvR1bf1Yz/yGqRfrYAxuPw0A==",
33
+ "cpu": [
34
+ "arm"
35
+ ],
36
+ "dev": true,
37
+ "license": "MIT",
38
+ "optional": true,
39
+ "os": [
40
+ "android"
41
+ ],
42
+ "engines": {
43
+ "node": "^20.19.0 || >=22.12.0"
44
+ }
45
+ },
46
+ "node_modules/@rolldown/binding-android-arm64": {
47
+ "version": "1.2.12",
48
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.2.12.tgz",
49
+ "integrity": "sha512-7KHFgQ5VJxIHcLlrwrc3Xbds7oTNQT7Pgi9gQCJKrd2VGab/UksIOYp6VD8MzCstGxOKMgNamPwUCfxPdP1OHg==",
50
+ "cpu": [
51
+ "arm64"
52
+ ],
53
+ "dev": true,
54
+ "license": "MIT",
55
+ "optional": true,
56
+ "os": [
57
+ "android"
58
+ ],
59
+ "engines": {
60
+ "node": "^20.19.0 || >=22.12.0"
61
+ }
62
+ },
63
+ "node_modules/@rolldown/binding-darwin-arm64": {
64
+ "version": "1.2.12",
65
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.2.12.tgz",
66
+ "integrity": "sha512-3YIhqHD96nA5SaYNRBR16HnGv4oavZvXfD/ayHM+oYZ0WD/8lBAtf6zQua4kEyAvpqrluKXl0lnOBoiNby7x9w==",
67
+ "cpu": [
68
+ "arm64"
69
+ ],
70
+ "dev": true,
71
+ "license": "MIT",
72
+ "optional": true,
73
+ "os": [
74
+ "darwin"
75
+ ],
76
+ "engines": {
77
+ "node": "^20.19.0 || >=22.12.0"
78
+ }
79
+ },
80
+ "node_modules/@rolldown/binding-darwin-x64": {
81
+ "version": "1.2.12",
82
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.2.12.tgz",
83
+ "integrity": "sha512-UuuJ35MFw4gmFOrE9pEqIV+K3syIKveph+Qc1/ljHZVdoDW4pz/JHR/eMVom+TZGl/5OOvGJOWaOCVt3ZfqhxA==",
84
+ "cpu": [
85
+ "x64"
86
+ ],
87
+ "dev": true,
88
+ "license": "MIT",
89
+ "optional": true,
90
+ "os": [
91
+ "darwin"
92
+ ],
93
+ "engines": {
94
+ "node": "^20.19.0 || >=22.12.0"
95
+ }
96
+ },
97
+ "node_modules/@rolldown/binding-freebsd-x64": {
98
+ "version": "1.2.12",
99
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.2.12.tgz",
100
+ "integrity": "sha512-uMvssit0a4W+/7D8CbHUvG719mH3R2jwXAlh/XcPvuHTE0g++LymF88DCGNX0HM2rBOn0xrzgXktIB6fLSJBTQ==",
101
+ "cpu": [
102
+ "x64"
103
+ ],
104
+ "dev": true,
105
+ "license": "MIT",
106
+ "optional": true,
107
+ "os": [
108
+ "freebsd"
109
+ ],
110
+ "engines": {
111
+ "node": "^20.19.0 || >=22.12.0"
112
+ }
113
+ },
114
+ "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
115
+ "version": "1.2.12",
116
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.2.12.tgz",
117
+ "integrity": "sha512-XcFu0R0xWnwzSf4IQgFH1rJIckPN1pLy2R+4r9IDB7Yfu/ys9cVqfa4pBrMHj7a3gl8mIR4nRNPg0e5IvEVs6g==",
118
+ "cpu": [
119
+ "arm"
120
+ ],
121
+ "dev": true,
122
+ "license": "MIT",
123
+ "optional": true,
124
+ "os": [
125
+ "linux"
126
+ ],
127
+ "engines": {
128
+ "node": "^20.19.0 || >=22.12.0"
129
+ }
130
+ },
131
+ "node_modules/@rolldown/binding-linux-arm64-gnu": {
132
+ "version": "1.2.12",
133
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.2.12.tgz",
134
+ "integrity": "sha512-260UrKgn8tz39ak+SMDOirKzr7V04M9dWPw5llW00SwBivCZoWcRBKV1d8cXnRkUmSZA3BdiUmBHWk7734Ulpw==",
135
+ "cpu": [
136
+ "arm64"
137
+ ],
138
+ "dev": true,
139
+ "libc": [
140
+ "glibc"
141
+ ],
142
+ "license": "MIT",
143
+ "optional": true,
144
+ "os": [
145
+ "linux"
146
+ ],
147
+ "engines": {
148
+ "node": "^20.19.0 || >=22.12.0"
149
+ }
150
+ },
151
+ "node_modules/@rolldown/binding-linux-arm64-musl": {
152
+ "version": "1.2.12",
153
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.2.12.tgz",
154
+ "integrity": "sha512-5YK1I9SqDkbPgc1IA8BgDl34suqUS2q0KWnBrirm0E51YjOs6eo6dV6jbQfNE/argHRSvd0QUGgtpIoYx+WWpw==",
155
+ "cpu": [
156
+ "arm64"
157
+ ],
158
+ "dev": true,
159
+ "libc": [
160
+ "musl"
161
+ ],
162
+ "license": "MIT",
163
+ "optional": true,
164
+ "os": [
165
+ "linux"
166
+ ],
167
+ "engines": {
168
+ "node": "^20.19.0 || >=22.12.0"
169
+ }
170
+ },
171
+ "node_modules/@rolldown/binding-linux-ppc64-gnu": {
172
+ "version": "1.2.12",
173
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.2.12.tgz",
174
+ "integrity": "sha512-Rkcrmp7eFRg74yL5fXEU91JEWbdEPLevWwGtXpmhbjlD1StScbWTmO94Bhly+Mo+ketKYkdmM1vNUKeWSlx8cQ==",
175
+ "cpu": [
176
+ "ppc64"
177
+ ],
178
+ "dev": true,
179
+ "libc": [
180
+ "glibc"
181
+ ],
182
+ "license": "MIT",
183
+ "optional": true,
184
+ "os": [
185
+ "linux"
186
+ ],
187
+ "engines": {
188
+ "node": "^20.19.0 || >=22.12.0"
189
+ }
190
+ },
191
+ "node_modules/@rolldown/binding-linux-s390x-gnu": {
192
+ "version": "1.2.12",
193
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.2.12.tgz",
194
+ "integrity": "sha512-qvK4DuAsQc2BSjlx+Xr+IzOIvvxbGZqxFwdWfG6F518Erj0GGISyQbJ6pIappnOxlNPzNHvo/L0BwB30GZ+zVw==",
195
+ "cpu": [
196
+ "s390x"
197
+ ],
198
+ "dev": true,
199
+ "libc": [
200
+ "glibc"
201
+ ],
202
+ "license": "MIT",
203
+ "optional": true,
204
+ "os": [
205
+ "linux"
206
+ ],
207
+ "engines": {
208
+ "node": "^20.19.0 || >=22.12.0"
209
+ }
210
+ },
211
+ "node_modules/@rolldown/binding-linux-x64-gnu": {
212
+ "version": "1.2.12",
213
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.12.tgz",
214
+ "integrity": "sha512-Q9uLBO53Xd4QIq1WOycVQyPP1O4HhraEV2qqb3uTrnVw6QZih9duY4vNXOivL1xoUS1/z+W8eF4NMfl2a8Sdjw==",
215
+ "cpu": [
216
+ "x64"
217
+ ],
218
+ "dev": true,
219
+ "libc": [
220
+ "glibc"
221
+ ],
222
+ "license": "MIT",
223
+ "optional": true,
224
+ "os": [
225
+ "linux"
226
+ ],
227
+ "engines": {
228
+ "node": "^20.19.0 || >=22.12.0"
229
+ }
230
+ },
231
+ "node_modules/@rolldown/binding-linux-x64-musl": {
232
+ "version": "1.2.12",
233
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.2.12.tgz",
234
+ "integrity": "sha512-3IBxWFMjbOZskDPKv8Lf9BCnahlKuHthWkYnyIxOH/QcJrFcS4EmcenthApkwr/5+nEqZlLzeYbxeMaX7A5u4g==",
235
+ "cpu": [
236
+ "x64"
237
+ ],
238
+ "dev": true,
239
+ "libc": [
240
+ "musl"
241
+ ],
242
+ "license": "MIT",
243
+ "optional": true,
244
+ "os": [
245
+ "linux"
246
+ ],
247
+ "engines": {
248
+ "node": "^20.19.0 || >=22.12.0"
249
+ }
250
+ },
251
+ "node_modules/@rolldown/binding-openharmony-arm64": {
252
+ "version": "1.2.12",
253
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.2.12.tgz",
254
+ "integrity": "sha512-xtX61xg4LKPkPWilZU1ynKClz5Gj4bf74LML4r3eVLWumKnGjoEr1OSHQhMdbBDoYTi+yjrujvpZe2pUnqCrrA==",
255
+ "cpu": [
256
+ "arm64"
257
+ ],
258
+ "dev": true,
259
+ "license": "MIT",
260
+ "optional": true,
261
+ "os": [
262
+ "openharmony"
263
+ ],
264
+ "engines": {
265
+ "node": "^20.19.0 || >=22.12.0"
266
+ }
267
+ },
268
+ "node_modules/@rolldown/binding-win32-arm64-msvc": {
269
+ "version": "1.2.12",
270
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.2.12.tgz",
271
+ "integrity": "sha512-At7fPB6PCaIjzgIhEZFxuT+BBFqiQibJDT4d3PhiR3f4E7bbMZF4aKblbFfEM3sETRDd1YiQx/+U/g/B/ou5Ew==",
272
+ "cpu": [
273
+ "arm64"
274
+ ],
275
+ "dev": true,
276
+ "license": "MIT",
277
+ "optional": true,
278
+ "os": [
279
+ "win32"
280
+ ],
281
+ "engines": {
282
+ "node": "^20.19.0 || >=22.12.0"
283
+ }
284
+ },
285
+ "node_modules/@rolldown/binding-win32-x64-msvc": {
286
+ "version": "1.2.12",
287
+ "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.12.tgz",
288
+ "integrity": "sha512-WIw2haVKwjuYdXkHaoC0mF8Le71TuCBxjrdKqLbJGctbBABj+ClfmNvtbOnzpq3RokNo5+V1qhtSzJyXorsklQ==",
289
+ "cpu": [
290
+ "x64"
291
+ ],
292
+ "dev": true,
293
+ "license": "MIT",
294
+ "optional": true,
295
+ "os": [
296
+ "win32"
297
+ ],
298
+ "engines": {
299
+ "node": "^20.19.0 || >=22.12.0"
300
+ }
301
+ },
302
+ "node_modules/@rolldown/pluginutils": {
303
+ "version": "1.0.1",
304
+ "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz",
305
+ "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==",
306
+ "dev": true,
307
+ "license": "MIT"
308
+ },
309
+ "node_modules/@vitejs/plugin-react": {
310
+ "version": "6.1.2",
311
+ "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-6.1.2.tgz",
312
+ "integrity": "sha512-fhJNGUdscQa4HkI0xFxwonWyhnVReCPDbXI7FH7jmzpnVCrFQI7PRrhWecO263610vOrs9tr2Y4xcf8uAdFxbw==",
313
+ "dev": true,
314
+ "license": "MIT",
315
+ "dependencies": {
316
+ "@rolldown/pluginutils": "^1.0.1"
317
+ },
318
+ "engines": {
319
+ "node": "^20.19.0 || >=22.12.0"
320
+ },
321
+ "peerDependencies": {
322
+ "@rolldown/plugin-babel": "^0.1.7 || ^0.2.0",
323
+ "babel-plugin-react-compiler": "^1.0.0",
324
+ "oxc-transform-react": "^0.152.0",
325
+ "vite": "^8.0.0"
326
+ },
327
+ "peerDependenciesMeta": {
328
+ "@rolldown/plugin-babel": {
329
+ "optional": true
330
+ },
331
+ "babel-plugin-react-compiler": {
332
+ "optional": true
333
+ },
334
+ "oxc-transform-react": {
335
+ "optional": true
336
+ }
337
+ }
338
+ },
339
+ "node_modules/detect-libc": {
340
+ "version": "2.1.2",
341
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
342
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
343
+ "dev": true,
344
+ "license": "Apache-2.0",
345
+ "engines": {
346
+ "node": ">=8"
347
+ }
348
+ },
349
+ "node_modules/fdir": {
350
+ "version": "6.5.0",
351
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
352
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
353
+ "dev": true,
354
+ "license": "MIT",
355
+ "engines": {
356
+ "node": ">=12.0.0"
357
+ },
358
+ "peerDependencies": {
359
+ "picomatch": "^3 || ^4"
360
+ },
361
+ "peerDependenciesMeta": {
362
+ "picomatch": {
363
+ "optional": true
364
+ }
365
+ }
366
+ },
367
+ "node_modules/fsevents": {
368
+ "version": "2.3.3",
369
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
370
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
371
+ "dev": true,
372
+ "hasInstallScript": true,
373
+ "license": "MIT",
374
+ "optional": true,
375
+ "os": [
376
+ "darwin"
377
+ ],
378
+ "engines": {
379
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
380
+ }
381
+ },
382
+ "node_modules/lightningcss": {
383
+ "version": "1.33.0",
384
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.33.0.tgz",
385
+ "integrity": "sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==",
386
+ "dev": true,
387
+ "license": "MPL-2.0",
388
+ "dependencies": {
389
+ "detect-libc": "^2.0.3"
390
+ },
391
+ "engines": {
392
+ "node": ">= 12.0.0"
393
+ },
394
+ "funding": {
395
+ "type": "opencollective",
396
+ "url": "https://opencollective.com/parcel"
397
+ },
398
+ "optionalDependencies": {
399
+ "lightningcss-android-arm64": "1.33.0",
400
+ "lightningcss-darwin-arm64": "1.33.0",
401
+ "lightningcss-darwin-x64": "1.33.0",
402
+ "lightningcss-freebsd-x64": "1.33.0",
403
+ "lightningcss-linux-arm-gnueabihf": "1.33.0",
404
+ "lightningcss-linux-arm64-gnu": "1.33.0",
405
+ "lightningcss-linux-arm64-musl": "1.33.0",
406
+ "lightningcss-linux-x64-gnu": "1.33.0",
407
+ "lightningcss-linux-x64-musl": "1.33.0",
408
+ "lightningcss-win32-arm64-msvc": "1.33.0",
409
+ "lightningcss-win32-x64-msvc": "1.33.0"
410
+ }
411
+ },
412
+ "node_modules/lightningcss-android-arm64": {
413
+ "version": "1.33.0",
414
+ "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.33.0.tgz",
415
+ "integrity": "sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==",
416
+ "cpu": [
417
+ "arm64"
418
+ ],
419
+ "dev": true,
420
+ "license": "MPL-2.0",
421
+ "optional": true,
422
+ "os": [
423
+ "android"
424
+ ],
425
+ "engines": {
426
+ "node": ">= 12.0.0"
427
+ },
428
+ "funding": {
429
+ "type": "opencollective",
430
+ "url": "https://opencollective.com/parcel"
431
+ }
432
+ },
433
+ "node_modules/lightningcss-darwin-arm64": {
434
+ "version": "1.33.0",
435
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.33.0.tgz",
436
+ "integrity": "sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==",
437
+ "cpu": [
438
+ "arm64"
439
+ ],
440
+ "dev": true,
441
+ "license": "MPL-2.0",
442
+ "optional": true,
443
+ "os": [
444
+ "darwin"
445
+ ],
446
+ "engines": {
447
+ "node": ">= 12.0.0"
448
+ },
449
+ "funding": {
450
+ "type": "opencollective",
451
+ "url": "https://opencollective.com/parcel"
452
+ }
453
+ },
454
+ "node_modules/lightningcss-darwin-x64": {
455
+ "version": "1.33.0",
456
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.33.0.tgz",
457
+ "integrity": "sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==",
458
+ "cpu": [
459
+ "x64"
460
+ ],
461
+ "dev": true,
462
+ "license": "MPL-2.0",
463
+ "optional": true,
464
+ "os": [
465
+ "darwin"
466
+ ],
467
+ "engines": {
468
+ "node": ">= 12.0.0"
469
+ },
470
+ "funding": {
471
+ "type": "opencollective",
472
+ "url": "https://opencollective.com/parcel"
473
+ }
474
+ },
475
+ "node_modules/lightningcss-freebsd-x64": {
476
+ "version": "1.33.0",
477
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.33.0.tgz",
478
+ "integrity": "sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==",
479
+ "cpu": [
480
+ "x64"
481
+ ],
482
+ "dev": true,
483
+ "license": "MPL-2.0",
484
+ "optional": true,
485
+ "os": [
486
+ "freebsd"
487
+ ],
488
+ "engines": {
489
+ "node": ">= 12.0.0"
490
+ },
491
+ "funding": {
492
+ "type": "opencollective",
493
+ "url": "https://opencollective.com/parcel"
494
+ }
495
+ },
496
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
497
+ "version": "1.33.0",
498
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.33.0.tgz",
499
+ "integrity": "sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==",
500
+ "cpu": [
501
+ "arm"
502
+ ],
503
+ "dev": true,
504
+ "license": "MPL-2.0",
505
+ "optional": true,
506
+ "os": [
507
+ "linux"
508
+ ],
509
+ "engines": {
510
+ "node": ">= 12.0.0"
511
+ },
512
+ "funding": {
513
+ "type": "opencollective",
514
+ "url": "https://opencollective.com/parcel"
515
+ }
516
+ },
517
+ "node_modules/lightningcss-linux-arm64-gnu": {
518
+ "version": "1.33.0",
519
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.33.0.tgz",
520
+ "integrity": "sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==",
521
+ "cpu": [
522
+ "arm64"
523
+ ],
524
+ "dev": true,
525
+ "libc": [
526
+ "glibc"
527
+ ],
528
+ "license": "MPL-2.0",
529
+ "optional": true,
530
+ "os": [
531
+ "linux"
532
+ ],
533
+ "engines": {
534
+ "node": ">= 12.0.0"
535
+ },
536
+ "funding": {
537
+ "type": "opencollective",
538
+ "url": "https://opencollective.com/parcel"
539
+ }
540
+ },
541
+ "node_modules/lightningcss-linux-arm64-musl": {
542
+ "version": "1.33.0",
543
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.33.0.tgz",
544
+ "integrity": "sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==",
545
+ "cpu": [
546
+ "arm64"
547
+ ],
548
+ "dev": true,
549
+ "libc": [
550
+ "musl"
551
+ ],
552
+ "license": "MPL-2.0",
553
+ "optional": true,
554
+ "os": [
555
+ "linux"
556
+ ],
557
+ "engines": {
558
+ "node": ">= 12.0.0"
559
+ },
560
+ "funding": {
561
+ "type": "opencollective",
562
+ "url": "https://opencollective.com/parcel"
563
+ }
564
+ },
565
+ "node_modules/lightningcss-linux-x64-gnu": {
566
+ "version": "1.33.0",
567
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz",
568
+ "integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==",
569
+ "cpu": [
570
+ "x64"
571
+ ],
572
+ "dev": true,
573
+ "libc": [
574
+ "glibc"
575
+ ],
576
+ "license": "MPL-2.0",
577
+ "optional": true,
578
+ "os": [
579
+ "linux"
580
+ ],
581
+ "engines": {
582
+ "node": ">= 12.0.0"
583
+ },
584
+ "funding": {
585
+ "type": "opencollective",
586
+ "url": "https://opencollective.com/parcel"
587
+ }
588
+ },
589
+ "node_modules/lightningcss-linux-x64-musl": {
590
+ "version": "1.33.0",
591
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.33.0.tgz",
592
+ "integrity": "sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==",
593
+ "cpu": [
594
+ "x64"
595
+ ],
596
+ "dev": true,
597
+ "libc": [
598
+ "musl"
599
+ ],
600
+ "license": "MPL-2.0",
601
+ "optional": true,
602
+ "os": [
603
+ "linux"
604
+ ],
605
+ "engines": {
606
+ "node": ">= 12.0.0"
607
+ },
608
+ "funding": {
609
+ "type": "opencollective",
610
+ "url": "https://opencollective.com/parcel"
611
+ }
612
+ },
613
+ "node_modules/lightningcss-win32-arm64-msvc": {
614
+ "version": "1.33.0",
615
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.33.0.tgz",
616
+ "integrity": "sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==",
617
+ "cpu": [
618
+ "arm64"
619
+ ],
620
+ "dev": true,
621
+ "license": "MPL-2.0",
622
+ "optional": true,
623
+ "os": [
624
+ "win32"
625
+ ],
626
+ "engines": {
627
+ "node": ">= 12.0.0"
628
+ },
629
+ "funding": {
630
+ "type": "opencollective",
631
+ "url": "https://opencollective.com/parcel"
632
+ }
633
+ },
634
+ "node_modules/lightningcss-win32-x64-msvc": {
635
+ "version": "1.33.0",
636
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz",
637
+ "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==",
638
+ "cpu": [
639
+ "x64"
640
+ ],
641
+ "dev": true,
642
+ "license": "MPL-2.0",
643
+ "optional": true,
644
+ "os": [
645
+ "win32"
646
+ ],
647
+ "engines": {
648
+ "node": ">= 12.0.0"
649
+ },
650
+ "funding": {
651
+ "type": "opencollective",
652
+ "url": "https://opencollective.com/parcel"
653
+ }
654
+ },
655
+ "node_modules/nanoid": {
656
+ "version": "3.3.20",
657
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.20.tgz",
658
+ "integrity": "sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==",
659
+ "dev": true,
660
+ "funding": [
661
+ {
662
+ "type": "github",
663
+ "url": "https://github.com/sponsors/ai"
664
+ }
665
+ ],
666
+ "license": "MIT",
667
+ "bin": {
668
+ "nanoid": "bin/nanoid.cjs"
669
+ },
670
+ "engines": {
671
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
672
+ }
673
+ },
674
+ "node_modules/picocolors": {
675
+ "version": "1.1.1",
676
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
677
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
678
+ "dev": true,
679
+ "license": "ISC"
680
+ },
681
+ "node_modules/picomatch": {
682
+ "version": "4.0.7",
683
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.7.tgz",
684
+ "integrity": "sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==",
685
+ "dev": true,
686
+ "license": "MIT",
687
+ "engines": {
688
+ "node": ">=12"
689
+ },
690
+ "funding": {
691
+ "url": "https://github.com/sponsors/jonschlinkert"
692
+ }
693
+ },
694
+ "node_modules/postcss": {
695
+ "version": "8.5.29",
696
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.29.tgz",
697
+ "integrity": "sha512-49cGhUbXj8Qenv0iTMxA1cFBzxXoctpC9Ujd77t1WcbJIr6nF/eI7g/8MgxrYldFRuAXvja7xQRwavoW7kgrxQ==",
698
+ "dev": true,
699
+ "funding": [
700
+ {
701
+ "type": "opencollective",
702
+ "url": "https://opencollective.com/postcss/"
703
+ },
704
+ {
705
+ "type": "tidelift",
706
+ "url": "https://tidelift.com/funding/github/npm/postcss"
707
+ },
708
+ {
709
+ "type": "github",
710
+ "url": "https://github.com/sponsors/ai"
711
+ }
712
+ ],
713
+ "license": "MIT",
714
+ "dependencies": {
715
+ "nanoid": "^3.3.19",
716
+ "picocolors": "^1.1.1",
717
+ "source-map-js": "^1.2.2"
718
+ },
719
+ "engines": {
720
+ "node": "^10 || ^12 || >=14"
721
+ }
722
+ },
723
+ "node_modules/react": {
724
+ "version": "19.3.0",
725
+ "resolved": "https://registry.npmjs.org/react/-/react-19.3.0.tgz",
726
+ "integrity": "sha512-E8LUcbtBWt20bbl2YoHfx4ZDBdxVTfOKtCZn9cDSJ4l6/nuoApcpIBcj47t2wZoVX8g2ZHuMHbiShgCR1T5Sog==",
727
+ "license": "MIT",
728
+ "engines": {
729
+ "node": ">=0.10.0"
730
+ }
731
+ },
732
+ "node_modules/react-dom": {
733
+ "version": "19.3.0",
734
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.3.0.tgz",
735
+ "integrity": "sha512-JDk8dgif51OjFoDE70+OT9ICyYr+69HlmihNwp1+Nsfbna3t5sIiCa9ZJktDmQ4/1b/rn26hIAR2uYXDMr5r0Q==",
736
+ "license": "MIT",
737
+ "dependencies": {
738
+ "scheduler": "^0.28.0"
739
+ },
740
+ "peerDependencies": {
741
+ "react": "^19.3.0"
742
+ }
743
+ },
744
+ "node_modules/rolldown": {
745
+ "version": "1.2.12",
746
+ "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.2.12.tgz",
747
+ "integrity": "sha512-8wafseiaG80xmXSfqidUNqZcylTlhmPZZt+za2m+js2sFZ8dTNlhIOV2WcbIPx2hgwPBJpEUGFAMZ9bgBBLTSQ==",
748
+ "dev": true,
749
+ "license": "MIT",
750
+ "dependencies": {
751
+ "@oxc-project/types": "=0.152.0",
752
+ "@rolldown/pluginutils": "^1.0.0"
753
+ },
754
+ "bin": {
755
+ "rolldown": "bin/cli.mjs"
756
+ },
757
+ "engines": {
758
+ "node": "^20.19.0 || >=22.12.0"
759
+ },
760
+ "optionalDependencies": {
761
+ "@rolldown/binding-android-arm-eabi": "1.2.12",
762
+ "@rolldown/binding-android-arm64": "1.2.12",
763
+ "@rolldown/binding-darwin-arm64": "1.2.12",
764
+ "@rolldown/binding-darwin-x64": "1.2.12",
765
+ "@rolldown/binding-freebsd-x64": "1.2.12",
766
+ "@rolldown/binding-linux-arm-gnueabihf": "1.2.12",
767
+ "@rolldown/binding-linux-arm64-gnu": "1.2.12",
768
+ "@rolldown/binding-linux-arm64-musl": "1.2.12",
769
+ "@rolldown/binding-linux-ppc64-gnu": "1.2.12",
770
+ "@rolldown/binding-linux-s390x-gnu": "1.2.12",
771
+ "@rolldown/binding-linux-x64-gnu": "1.2.12",
772
+ "@rolldown/binding-linux-x64-musl": "1.2.12",
773
+ "@rolldown/binding-openharmony-arm64": "1.2.12",
774
+ "@rolldown/binding-win32-arm64-msvc": "1.2.12",
775
+ "@rolldown/binding-win32-x64-msvc": "1.2.12"
776
+ }
777
+ },
778
+ "node_modules/scheduler": {
779
+ "version": "0.28.0",
780
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.28.0.tgz",
781
+ "integrity": "sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==",
782
+ "license": "MIT"
783
+ },
784
+ "node_modules/source-map-js": {
785
+ "version": "1.2.2",
786
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.2.tgz",
787
+ "integrity": "sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==",
788
+ "dev": true,
789
+ "license": "BSD-3-Clause",
790
+ "engines": {
791
+ "node": ">=0.10.0"
792
+ }
793
+ },
794
+ "node_modules/tinyglobby": {
795
+ "version": "0.2.17",
796
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz",
797
+ "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==",
798
+ "dev": true,
799
+ "license": "MIT",
800
+ "dependencies": {
801
+ "fdir": "^6.5.0",
802
+ "picomatch": "^4.0.4"
803
+ },
804
+ "engines": {
805
+ "node": ">=12.0.0"
806
+ },
807
+ "funding": {
808
+ "url": "https://github.com/sponsors/SuperchupuDev"
809
+ }
810
+ },
811
+ "node_modules/vite": {
812
+ "version": "8.3.2",
813
+ "resolved": "https://registry.npmjs.org/vite/-/vite-8.3.2.tgz",
814
+ "integrity": "sha512-SQr1x6W5vVSbROg7vsyXIaxK9b0G7zsT68acdWWRmnBUsgDieLCRG+Rep9WdZgcposvv/GSnr4GUUBqB3vXq6w==",
815
+ "dev": true,
816
+ "license": "MIT",
817
+ "dependencies": {
818
+ "lightningcss": "^1.33.0",
819
+ "picomatch": "^4.0.7",
820
+ "postcss": "^8.5.28",
821
+ "rolldown": "~1.2.11",
822
+ "tinyglobby": "^0.2.17"
823
+ },
824
+ "bin": {
825
+ "vite": "bin/vite.js"
826
+ },
827
+ "engines": {
828
+ "node": "^20.19.0 || >=22.12.0"
829
+ },
830
+ "funding": {
831
+ "url": "https://github.com/vitejs/vite?sponsor=1"
832
+ },
833
+ "optionalDependencies": {
834
+ "fsevents": "~2.3.3"
835
+ },
836
+ "peerDependencies": {
837
+ "@types/node": "^20.19.0 || >=22.12.0",
838
+ "@vitejs/devtools": "^0.7.1",
839
+ "esbuild": "^0.27.0 || ^0.28.0",
840
+ "jiti": ">=1.21.0",
841
+ "less": "^4.0.0",
842
+ "sass": "^1.70.0",
843
+ "sass-embedded": "^1.70.0",
844
+ "stylus": ">=0.54.8",
845
+ "sugarss": "^5.0.0",
846
+ "terser": "^5.16.0",
847
+ "tsx": "^4.8.1",
848
+ "yaml": "^2.4.2"
849
+ },
850
+ "peerDependenciesMeta": {
851
+ "@types/node": {
852
+ "optional": true
853
+ },
854
+ "@vitejs/devtools": {
855
+ "optional": true
856
+ },
857
+ "esbuild": {
858
+ "optional": true
859
+ },
860
+ "jiti": {
861
+ "optional": true
862
+ },
863
+ "less": {
864
+ "optional": true
865
+ },
866
+ "sass": {
867
+ "optional": true
868
+ },
869
+ "sass-embedded": {
870
+ "optional": true
871
+ },
872
+ "stylus": {
873
+ "optional": true
874
+ },
875
+ "sugarss": {
876
+ "optional": true
877
+ },
878
+ "terser": {
879
+ "optional": true
880
+ },
881
+ "tsx": {
882
+ "optional": true
883
+ },
884
+ "yaml": {
885
+ "optional": true
886
+ }
887
+ }
888
+ }
889
+ }
890
+ }