diff --git a/CHANGELOG.md b/CHANGELOG.md
index 051a541..44673eb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,19 +5,30 @@
- Features/ Enhancements
- Investigate having folder structure for selected charts.
- Add Import from Topsters 3 (topsters.org)
- - Add Import from Topchart (topchart.amanharwara.com)
- Add Games charts
- Add books Charts
- Add movies/ TV charts
+ - Define a strict browser support w/ Browserlist & make that available to end users.
+ - Create a version of the popover that uses the new native component
+ - Add user site level customizations
+
+---
+
+## Planned changes for the next version, subject to change
+
+- Add Import from Topchart (topchart.amanharwara.com)
---
-## Next Updates Planned changes
+## Version 1.5.0 - July 29, 2025
- Features/ Enhancements
- - Add `buefy` and use some of it's components to make the UI a tad less ugly.
- - Add user site level customizations
- - To allow users to make it less boring if they so choose.
+ - Created new Core Component Toast to have much prettier information being shown to the user
+
+- Dev
+ - Added Knip command to use to keep the project clean
+ - Added command for Bundle Analysis
+ - This was used to decide not to use `buefy` due to it's large bundle size even for a single component.
---
diff --git a/package.json b/package.json
index 75c5910..07d510f 100644
--- a/package.json
+++ b/package.json
@@ -1,7 +1,7 @@
{
"name": "musicchartsite",
"description": "A website to create Music Charts",
- "version": "1.4.0",
+ "version": "1.5.0",
"type": "module",
"private": "true",
"author": {
@@ -30,7 +30,9 @@
"vite-build": "vite build --emptyOutDir && echo vite-build done",
"add:cname": "cd dist && echo 'musicchartmaker.com' > CNAME && echo add:cname done",
"prepare": "husky",
- "test": "vitest run"
+ "test": "vitest run",
+ "knip": "knip",
+ "analyze": "pnpm dlx vite-bundle-analyzer"
},
"dependencies": {
"@popperjs/core": "^2.11.8",
@@ -39,24 +41,33 @@
"html2canvas": "^1.4.1",
"marked": "^16.1.1",
"pako": "^2.1.0",
- "vue": "^3.5.17"
+ "pinia": "^3.0.3",
+ "vue": "^3.5.18"
},
"devDependencies": {
"@prettier/plugin-oxc": "^0.0.4",
"@testing-library/vue": "^8.1.0",
- "@types/node": "^24.0.15",
+ "@types/node": "^24.1.0",
"@types/pako": "^2.0.3",
"@unocss/transformer-directives": "^66.3.3",
"@vitejs/plugin-vue": "^6.0.0",
"happy-dom": "^18.0.1",
"husky": "^9.1.7",
- "oxlint": "^1.7.0",
+ "knip": "^5.62.0",
+ "oxlint": "^1.8.0",
"prettier": "^3.6.2",
"rollup-plugin-swc-minify": "^1.3.0",
"typescript": "^5.8.3",
"unocss": "^66.3.3",
- "vite": "npm:rolldown-vite@^7.0.9",
+ "vite": "npm:rolldown-vite@^7.0.11",
"vitest": "^3.2.4",
- "vue-tsc": "^3.0.3"
+ "vue-tsc": "^3.0.4"
+ },
+ "pnpm": {
+ "onlyBuiltDependencies": [
+ "@swc/core",
+ "esbuild",
+ "oxc-resolver"
+ ]
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 11ec5b4..80557bc 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -13,7 +13,7 @@ importers:
version: 2.11.8
'@vueuse/core':
specifier: ^13.5.0
- version: 13.5.0(vue@3.5.17(typescript@5.8.3))
+ version: 13.5.0(vue@3.5.18(typescript@5.8.3))
dialog-polyfill:
specifier: ^0.5.6
version: 0.5.6
@@ -26,19 +26,22 @@ importers:
pako:
specifier: ^2.1.0
version: 2.1.0
+ pinia:
+ specifier: ^3.0.3
+ version: 3.0.3(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3))
vue:
- specifier: ^3.5.17
- version: 3.5.17(typescript@5.8.3)
+ specifier: ^3.5.18
+ version: 3.5.18(typescript@5.8.3)
devDependencies:
'@prettier/plugin-oxc':
specifier: ^0.0.4
version: 0.0.4
'@testing-library/vue':
specifier: ^8.1.0
- version: 8.1.0(@vue/compiler-sfc@3.5.17)(vue@3.5.17(typescript@5.8.3))
+ version: 8.1.0(@vue/compiler-sfc@3.5.18)(vue@3.5.18(typescript@5.8.3))
'@types/node':
- specifier: ^24.0.15
- version: 24.0.15
+ specifier: ^24.1.0
+ version: 24.1.0
'@types/pako':
specifier: ^2.0.3
version: 2.0.3
@@ -47,37 +50,40 @@ importers:
version: 66.3.3
'@vitejs/plugin-vue':
specifier: ^6.0.0
- version: 6.0.0(rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3))(vue@3.5.17(typescript@5.8.3))
+ version: 6.0.0(rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))
happy-dom:
specifier: ^18.0.1
version: 18.0.1
husky:
specifier: ^9.1.7
version: 9.1.7
+ knip:
+ specifier: ^5.62.0
+ version: 5.62.0(@types/node@24.1.0)(typescript@5.8.3)
oxlint:
- specifier: ^1.7.0
- version: 1.7.0
+ specifier: ^1.8.0
+ version: 1.8.0
prettier:
specifier: ^3.6.2
version: 3.6.2
rollup-plugin-swc-minify:
specifier: ^1.3.0
- version: 1.3.0(rollup@4.45.1)
+ version: 1.3.0(rollup@4.45.3)
typescript:
specifier: ^5.8.3
version: 5.8.3
unocss:
specifier: ^66.3.3
- version: 66.3.3(postcss@8.5.6)(rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3))(vue@3.5.17(typescript@5.8.3))
+ version: 66.3.3(postcss@8.5.6)(rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))
vite:
- specifier: npm:rolldown-vite@^7.0.9
- version: rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3)
+ specifier: npm:rolldown-vite@^7.0.11
+ version: rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3)
vitest:
specifier: ^3.2.4
- version: 3.2.4(@types/node@24.0.15)(happy-dom@18.0.1)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)
+ version: 3.2.4(@types/node@24.1.0)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)
vue-tsc:
- specifier: ^3.0.3
- version: 3.0.3(typescript@5.8.3)
+ specifier: ^3.0.4
+ version: 3.0.4(typescript@5.8.3)
packages:
@@ -108,12 +114,12 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/runtime@7.27.6':
- resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==}
+ '@babel/runtime@7.28.2':
+ resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.28.1':
- resolution: {integrity: sha512-x0LvFTekgSX+83TI28Y9wYPUfzrnl2aT5+5QLnO6v7mSJYtEEevuDRN0F0uSHRk1G1IWZC43o00Y0xDDrpBGPQ==}
+ '@babel/types@7.28.2':
+ resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
engines: {node: '>=6.9.0'}
'@emnapi/core@1.4.5':
@@ -307,6 +313,21 @@ packages:
'@napi-rs/wasm-runtime@0.2.12':
resolution: {integrity: sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==}
+ '@napi-rs/wasm-runtime@1.0.1':
+ resolution: {integrity: sha512-KVlQ/jgywZpixGCKMNwxStmmbYEMyokZpCf2YuIChhfJA2uqfAKNEM8INz7zzTo55iEXfBhIIs3VqYyqzDLj8g==}
+
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
+
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
+
'@one-ini/wasm@0.1.1':
resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==}
@@ -399,53 +420,148 @@ packages:
cpu: [x64]
os: [win32]
- '@oxc-project/runtime@0.77.0':
- resolution: {integrity: sha512-cMbHs/DaomWSjxeJ79G10GA5hzJW9A7CZ+/cO+KuPZ7Trf3Rr07qSLauC4Ns8ba4DKVDjd8VSC9nVLpw6jpoGQ==}
+ '@oxc-project/runtime@0.77.3':
+ resolution: {integrity: sha512-vsC/ewcGJ7xXnnwZkku7rpPH5Lxb5g4J+V6lD9eBTnRLmXVXM7Qu50y+ozD+UD5IXaSoVOvVMGTT4YSNCz2MQQ==}
engines: {node: '>=6.9.0'}
'@oxc-project/types@0.74.0':
resolution: {integrity: sha512-KOw/RZrVlHGhCXh1RufBFF7Nuo7HdY5w1lRJukM/igIl6x9qtz8QycDvZdzb4qnHO7znrPyo2sJrFJK2eKHgfQ==}
- '@oxc-project/types@0.77.0':
- resolution: {integrity: sha512-iUQj185VvCPnSba+ltUV5tVDrPX6LeZVtQywnnoGbe4oJ1VKvDKisjGkD/AvVtdm98b/BdsVS35IlJV1m2mBBA==}
+ '@oxc-project/types@0.77.3':
+ resolution: {integrity: sha512-5Vh+neJhhxuF0lYCjZXbxjqm2EO6YJ1jG+KuHntrd6VY67OMpYhWq2cZhUhy+xL9qLJVJRaeII7Xj9fciA6v7A==}
+
+ '@oxc-resolver/binding-android-arm-eabi@11.6.0':
+ resolution: {integrity: sha512-UJTf5uZs919qavt9Btvbzkr3eaUu4d+FXBri8AB2BtOezriaTTUvArab2K9fdACQ4yFggTD5ews1l19V/6SW2Q==}
+ cpu: [arm]
+ os: [android]
+
+ '@oxc-resolver/binding-android-arm64@11.6.0':
+ resolution: {integrity: sha512-v17j1WLEAIlyc+6JOWPXcky7dkU3fN8nHTP8KSK05zkkBO0t28R3Q0udmNBiJtVSnw4EFB/fy/3Mu2ItpG6bVQ==}
+ cpu: [arm64]
+ os: [android]
+
+ '@oxc-resolver/binding-darwin-arm64@11.6.0':
+ resolution: {integrity: sha512-ZrU+qd5AKe8s7PZDLCHY23UpbGn1RAkcNd4JYjOTnX22XEjSqLvyC6pCMngTyfgGVJ4zXFubBkRzt/k3xOjNlQ==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@oxc-resolver/binding-darwin-x64@11.6.0':
+ resolution: {integrity: sha512-qBIlX0X0RSxQHcXQnFpBGKxrDVtj7OdpWFGmrcR3NcndVjZ/wJRPST5uTTM83NfsHyuUeOi/vRZjmDrthvhnSQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@oxc-resolver/binding-freebsd-x64@11.6.0':
+ resolution: {integrity: sha512-tTyMlHHNhbkq/oEP/fM8hPZ6lqntHIz6EfOt577/lslrwxC5a/ii0lOOHjPuQtkurpyUBWYPs7Z17EgrZulc4Q==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@oxc-resolver/binding-linux-arm-gnueabihf@11.6.0':
+ resolution: {integrity: sha512-tYinHy5k9/rujo21mG2jZckJJD7fsceNDl5HOl/eh5NPjSt2vXQv181PVKeITw3+3i+gI1d666w5EtgpiCegRA==}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm-musleabihf@11.6.0':
+ resolution: {integrity: sha512-aOlGlSiT9fBgSyiIWvSxbyzaBx3XrgCy6UJRrqBkIvMO9D7W90JmV0RsiLua4w43zJSSrfuQQWqmFCwgIib3Iw==}
+ cpu: [arm]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm64-gnu@11.6.0':
+ resolution: {integrity: sha512-EZ/OuxZA9qQoAANBDb9V4krfYXU3MC+LZ9qY+cE0yMYMIxm7NT5AdR0OaRQqfa3tWIbina1VF7FaMR6rpKvmlA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-arm64-musl@11.6.0':
+ resolution: {integrity: sha512-NpF7sID4NnPetpqDk2eOu6TPUt381Qlpos8nGDcSkAluqSsSGFOPfETEB5VbJeqNVQbepEQX9mOxZygFpW0+nA==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-ppc64-gnu@11.6.0':
+ resolution: {integrity: sha512-Sqn9Ha4rxCCpjpfkFi9f9y9phsaBnseaKw+JqHgBQoNMToe+/20A1jwIu9OX+484UuLpduM+wLydgngjnoi7Dg==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-riscv64-gnu@11.6.0':
+ resolution: {integrity: sha512-eFoNcPhImp1FLAQf5U3Nlph4WNWEsdWohSThSTtKPrX+jhPZiVsj3iBC9gjaRwq2Ez4QhP1x7/PSL6mtKnS6rw==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-riscv64-musl@11.6.0':
+ resolution: {integrity: sha512-WQw3CT10aJg7SIc/X1QPrh6lTx2wOLg5IaCu/+Mqlxf1nZBEW3+tV/+y3PzXG0MCRhq7FDTiHaW8MBVAwBineQ==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-s390x-gnu@11.6.0':
+ resolution: {integrity: sha512-p5qcPr/EtGJ2PpeeArL3ifZU/YljWLypeu38+e19z2dyPv8Aoby8tjM+D1VTI8+suMwTkseyove/uu6zIUiqRw==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-x64-gnu@11.6.0':
+ resolution: {integrity: sha512-/9M/ieoY5v54k3UjtF9Vw43WQ4bBfed+qRL1uIpFbZcO2qi5aXwVMYnjSd/BoaRtDs5JFV9iOjzHwpw0zdOYZA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-resolver/binding-linux-x64-musl@11.6.0':
+ resolution: {integrity: sha512-HMtWWHTU7zbwceTFZPAPMMhhWR1nNO2OR60r6i55VprCMvttTWPQl7uLP0AUtAPoU9B/2GqP48rzOuaaKhHnYw==}
+ cpu: [x64]
+ os: [linux]
+
+ '@oxc-resolver/binding-wasm32-wasi@11.6.0':
+ resolution: {integrity: sha512-rDAwr2oqmnG/6LSZJwvO3Bmt/RC3/Q6myyaUmg3P7GhZDyFPrWJONB7NFhPwU2Q4JIpA73ST4LBdhzmGxMTmrw==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+
+ '@oxc-resolver/binding-win32-arm64-msvc@11.6.0':
+ resolution: {integrity: sha512-COzy8weljZo2lObWl6ZzW6ypDx1v1rtLdnt7JPjTUARikK1gMzlz9kouQhCtCegNFILx2L2oWw7714fnchqujw==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@oxc-resolver/binding-win32-ia32-msvc@11.6.0':
+ resolution: {integrity: sha512-p2tMRdi91CovjLBApDPD/uEy1/5r7U6iVkfagLYDytgvj6nJ1EAxLUdXbhoe6//50IvDC/5I51nGCdxmOUiXlQ==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@oxc-resolver/binding-win32-x64-msvc@11.6.0':
+ resolution: {integrity: sha512-p6b9q5TACd/y39kDK2HENXqd4lThoVrTkxdvizqd5/VwyHcoSd0cDcIEhHpxvfjc83VsODCBgB/zcjp//TlaqA==}
+ cpu: [x64]
+ os: [win32]
- '@oxlint/darwin-arm64@1.7.0':
- resolution: {integrity: sha512-51vhCSQO4NSkedwEwOyqThiYqV0DAUkwNdqMQK0d29j5zmtNJJJRRBLeQuLGdstNmn3F7WMQ75Ci0/3Nq4ff8A==}
+ '@oxlint/darwin-arm64@1.8.0':
+ resolution: {integrity: sha512-1juYJF1xqRNkswzDSN1V44NoZ+O2Mkc9LjbkDB/UErb8dxTqFhCZC3CQR6Em55/tys1FtajXgK3B+ykWnY9HNQ==}
cpu: [arm64]
os: [darwin]
- '@oxlint/darwin-x64@1.7.0':
- resolution: {integrity: sha512-c0GN52yehYZ4TYuh4lBH9wYbBOI/RDOxZhJdBsttG0GwfvKYg/tiPNrNEsPzu0/rd1j6x3yT0zt6vezDMeC1sQ==}
+ '@oxlint/darwin-x64@1.8.0':
+ resolution: {integrity: sha512-5b7J/XE2eGhx3+vw6IFuuL0BbIF3wRzo4SWHVXN9rO3WYq2YpoHToY4C5WMWb8toVZcoJlx4Y1lq3IO2V78zTg==}
cpu: [x64]
os: [darwin]
- '@oxlint/linux-arm64-gnu@1.7.0':
- resolution: {integrity: sha512-pam/lbzbzVMDzc3f1hoRPtnUMEIqkn0dynlB5nUll/MVBSIvIPLS9kJLrRA48lrlqbkS9LGiF37JvpwXA58A9A==}
+ '@oxlint/linux-arm64-gnu@1.8.0':
+ resolution: {integrity: sha512-pzfk9IZBbYuIYn4sbT//Vox8B8e8hOZPkIQnNAdzhpGtRjV4NYOgNL5/h2QZC+ecmxl8H+Gi9WV6dyKjFrBtcw==}
cpu: [arm64]
os: [linux]
- '@oxlint/linux-arm64-musl@1.7.0':
- resolution: {integrity: sha512-LTyPy9FYS3SZ2XxJx+ITvlAq/ek5PtZK9Z2m3W72TA8hchGhJy5eQ+aotYjd/YVXOpGRpB12RdOpOTsZRu50bA==}
+ '@oxlint/linux-arm64-musl@1.8.0':
+ resolution: {integrity: sha512-6rpaeAG271wbUNM+WeJhdvJDDMwfoenm7rPY304dxnC+fcuR8Q0LSv09dGeNWrsqjjZuDP9R10qR154nysBxFg==}
cpu: [arm64]
os: [linux]
- '@oxlint/linux-x64-gnu@1.7.0':
- resolution: {integrity: sha512-YtZ4DiAgjaEiqUiwnvtJ/znZMAAVPKR7pnsi6lqbA3BfXJ/IwMaNpdoGlCGVdDGeN4BuGCwnFtBVqKVvVg3DDg==}
+ '@oxlint/linux-x64-gnu@1.8.0':
+ resolution: {integrity: sha512-qPEF8tKMu+63b58gPfwU3KyJf2z9KyorbrC0yGXFHQLzRPEtrh6bAjf+AzCs3n8WhDR1K6jPgcPT4Sp8bahCyQ==}
cpu: [x64]
os: [linux]
- '@oxlint/linux-x64-musl@1.7.0':
- resolution: {integrity: sha512-5aIpemNUBvwMMk4MCx1V3M6R9eMB1/SS6/24Orax9FqaI1lDX08tySdv696sr4Lms9ocA+rotxIPW9NP9439vA==}
+ '@oxlint/linux-x64-musl@1.8.0':
+ resolution: {integrity: sha512-JyErk/LsLg/tA3XkHhU8VIxahOdq56L99mbpMFGLTkOQgtnhY2MDAYULVgOuFFX3v6Q02o4mpIR/SwW/tRnZlg==}
cpu: [x64]
os: [linux]
- '@oxlint/win32-arm64@1.7.0':
- resolution: {integrity: sha512-fpFpkHwbAu0NcR5bc1WapCPcM9qSYi5lCRVOp1WwDoFLKI2b9/UWB8OEg8UHWV5dnBu7HZAWH/SEslYGkZNsbQ==}
+ '@oxlint/win32-arm64@1.8.0':
+ resolution: {integrity: sha512-QvhtDAU9bBdC2m5xO+ibKyMG4KZR44wB0vDbQ5YkQxJiuXrlleHLyz0+saFzVYQ/Fvc0QgIRTIwiVz9dzxidVw==}
cpu: [arm64]
os: [win32]
- '@oxlint/win32-x64@1.7.0':
- resolution: {integrity: sha512-0EPWBWOiD3wZHgeWDlTUaiFzhzIonXykxYUC+NRerPQFkO/G+bd9uLMJddHDKqfP/7g8s3E5V6KvBvvFpb7U6g==}
+ '@oxlint/win32-x64@1.8.0':
+ resolution: {integrity: sha512-veXJXgF905UOvuxtmvzM328b4Itm8Fyu+lUq4PagXOmyRScevaVUXq6++ui3A/Gxd8yo0SHspHCbYkpuvJkXqQ==}
cpu: [x64]
os: [win32]
@@ -467,244 +583,244 @@ packages:
resolution: {integrity: sha512-G0OnZbMWEs5LhDyqy2UL17vGhSVHkQIfVojMtEWVenvj0V5S84VBgy86kJIuNsGDp2p7sTKlpSIpBUWdC35OKg==}
engines: {node: '>=20.0.0'}
- '@rolldown/binding-android-arm64@1.0.0-beta.27':
- resolution: {integrity: sha512-IJL3efUJmvb5MfTEi7bGK4jq3ZFAzVbSy+vmul0DcdrglUd81Tfyy7Zzq2oM0tUgmACG32d8Jz/ykbpbf+3C5A==}
+ '@rolldown/binding-android-arm64@1.0.0-beta.29':
+ resolution: {integrity: sha512-pDv7gg59Gdy80eFmMkEqXEaoJi3Y9W/a9T3z9M4t8Ma8aVXNldvSy9UgtlX7AK7DPqF8tULnmIZ2Z3rvGMz/NQ==}
cpu: [arm64]
os: [android]
- '@rolldown/binding-darwin-arm64@1.0.0-beta.27':
- resolution: {integrity: sha512-TXTiuHbtnHfb0c44vNfWfIyEFJ0BFUf63ip9Z4mj8T2zRcZXQYVger4OuAxnwGNGBgDyHo1VaNBG+Vxn2VrpqQ==}
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.29':
+ resolution: {integrity: sha512-fPqR6TfTqbzgKKCQYtcCS+Dms91YcptTbdlwJ13DxOUgMe8LgDIVsLLlEykfm7ijJd5mM4zNw0Hr2CJb6kvQZw==}
cpu: [arm64]
os: [darwin]
- '@rolldown/binding-darwin-x64@1.0.0-beta.27':
- resolution: {integrity: sha512-Jpjflgvbolh+fAaaEajPJQCOpZMawYMbNVzuZp3nidX1B7kMAP7NEKp9CWzthoL2Y8RfD7OApN6bx4+vFurTaw==}
+ '@rolldown/binding-darwin-x64@1.0.0-beta.29':
+ resolution: {integrity: sha512-7Z4qosL0xN8i6++txHOEPCVP3/lcGLOvftUJOWATZ5aDkDskwcZDa66BGiJt/K1/DgW4kpRVmnGWUWAORHBbFA==}
cpu: [x64]
os: [darwin]
- '@rolldown/binding-freebsd-x64@1.0.0-beta.27':
- resolution: {integrity: sha512-07ZNlXIunyS1jCTnene7aokkzCZNBUnmnJWu4Nz5X5XQvVHJNjsDhPFJTlNmneSDzA3vGkRNwdECKXiDTH/CqA==}
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.29':
+ resolution: {integrity: sha512-0HLTfPW5Glh608s76qgayN/nPsXPchNUumavf7W5nh1eMG6qBsOO7Q1QaK0v4un7qtsn3IA/1Tgq0ZgNc0dbeg==}
cpu: [x64]
os: [freebsd]
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.27':
- resolution: {integrity: sha512-z74ah00oyKnTUtaIbg34TaIU1PYM8tGE1bK6aUs8OLZ9sWW4g3Xo5A0nit2zyeanmYFvrAUxnt3Bpk+mTZCtlg==}
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.29':
+ resolution: {integrity: sha512-QNboxdVTJOZS4zP8kA2+XUwAegejd5QNSH5zVR4neqG2AfbxRcMFzSVRkJHN6yDaaKweD/4sUvXfmef6p/7zsw==}
cpu: [arm]
os: [linux]
- '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.27':
- resolution: {integrity: sha512-b9oKl/M5OIyAcosS73BmjOZOjvcONV97t2SnKpgwfDX/mjQO3dBgTYyvHMFA6hfhIDW1+2XVQR/k5uzBULFhoA==}
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.29':
+ resolution: {integrity: sha512-hzBmOtYdC4369XxN2SNJ3oBlXKWNif3ieWBT+oh/qvAeox4fQR0ngqyh+kIGOufBnP5Zc2rqJf9LzIbJw3Tx/Q==}
cpu: [arm64]
os: [linux]
- '@rolldown/binding-linux-arm64-musl@1.0.0-beta.27':
- resolution: {integrity: sha512-RmaNSkVmAH8u/r5Q+v4O0zL4HY8pLrvlM5wBoBrb/QHDQgksGKBqhecpg1ERER0Q7gMh/GJUz6JiiD55Q+9UOA==}
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.29':
+ resolution: {integrity: sha512-6B35GmFJJ4RX88OgubrnUmuJBUgRh6/OTXIpy8m/VUnoc683lufIPo26HW/0LxLgxp2GM7KHr3LOULcVxbqq4Q==}
cpu: [arm64]
os: [linux]
- '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.27':
- resolution: {integrity: sha512-gq78fI/g0cp1UKFMk53kP/oZAgYOXbaqdadVMuCJc0CoSkDJcpO2YIasRs/QYlE91QWfcHD5RZl9zbf4ksTS/w==}
+ '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.29':
+ resolution: {integrity: sha512-z3ru8fUCunQM8q9I7RbDVMT5cxzxVVVBNNKM5/qAQQrdObd1u8g0LR5z0yLtaFWzybwLVdPtJDRcXtLm5tOBFA==}
cpu: [arm64]
os: [openharmony]
- '@rolldown/binding-linux-x64-gnu@1.0.0-beta.27':
- resolution: {integrity: sha512-yS/GreJ6BT44dHu1WLigc50S8jZA+pDzzsf8tqRptUTwi5YW7dX3NqcDlc/lXsZqu57aKynLljgClYAm90LEKw==}
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.29':
+ resolution: {integrity: sha512-n6fs4L7j99MIiI6vKhQDdyScv4/uMAPtIMkB0zGbUX8MKWT1osym1hvWVdlENjnS/Phf0zzhjyOgoFDzdhI1cQ==}
cpu: [x64]
os: [linux]
- '@rolldown/binding-linux-x64-musl@1.0.0-beta.27':
- resolution: {integrity: sha512-6FV9To1sXewGHY4NaCPeOE5p5o1qfuAjj+m75WVIPw9HEJVsQoC5QiTL5wWVNqSMch4X0eWnQ6WsQolU6sGMIA==}
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.29':
+ resolution: {integrity: sha512-C5hcJgtDN4rp6/WsPTQSDVUWrdnIC//ynMGcUIh1O0anm9KnSy47zKQ5D9EqtlEKvO+2PPqmyUVJ2DTq18nlVA==}
cpu: [x64]
os: [linux]
- '@rolldown/binding-wasm32-wasi@1.0.0-beta.27':
- resolution: {integrity: sha512-VcxdhF0PQda9krFJHw4DqUkdAsHWYs/Uz/Kr/zhU8zMFDzmK6OdUgl9emGj9wTzXAEHYkAMDhk+OJBRJvp424g==}
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.29':
+ resolution: {integrity: sha512-lMN1IBItdZFO182Sdus9oVuNDqyIymn/bsR5KwgeGaiqLsrmpQHBSLwkS/nKJO1nzYlpGDRugFSpnrSJ5ZmihQ==}
engines: {node: '>=14.0.0'}
cpu: [wasm32]
- '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.27':
- resolution: {integrity: sha512-3bXSARqSf8jLHrQ1/tw9pX1GwIR9jA6OEsqTgdC0DdpoZ+34sbJXE9Nse3dQ0foGLKBkh4PqDv/rm2Thu9oVBw==}
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.29':
+ resolution: {integrity: sha512-0UrXCUAOrbWdyVJskzjtne/4d3YMMhhhpBnob3SeF4jAvbKYqPhCZJ71pP7yUpvbowGXXTnHWpKfitg4Sovmtw==}
cpu: [arm64]
os: [win32]
- '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.27':
- resolution: {integrity: sha512-xPGcKb+W8NIWAf5KApsUIrhiKH5NImTarICge5jQ2m0BBxD31crio4OXy/eYVq5CZkqkqszLQz2fWZcWNmbzlQ==}
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.29':
+ resolution: {integrity: sha512-YX0OYL1dcB7rPnsndpEa68fytYyZZj1iaWzH7momFB2oBS2lXAe1UrrDWcdLoUXdzPIyzpvtBCiS2XcDgYG7ag==}
cpu: [ia32]
os: [win32]
- '@rolldown/binding-win32-x64-msvc@1.0.0-beta.27':
- resolution: {integrity: sha512-3y1G8ARpXBAcz4RJM5nzMU6isS/gXZl8SuX8lS2piFOnQMiOp6ajeelnciD+EgG4ej793zvNvr+WZtdnao2yrw==}
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.29':
+ resolution: {integrity: sha512-azrPWbV+NZiCFNs59AgH9Y6vFKHoAI6T/XtKKsoLxkPyP1LpbdgL5eqRfeWz+GCAUY9qhDOC4hH1GjFG8PrZIg==}
cpu: [x64]
os: [win32]
'@rolldown/pluginutils@1.0.0-beta.19':
resolution: {integrity: sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==}
- '@rolldown/pluginutils@1.0.0-beta.27':
- resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==}
+ '@rolldown/pluginutils@1.0.0-beta.29':
+ resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==}
- '@rollup/rollup-android-arm-eabi@4.45.1':
- resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==}
+ '@rollup/rollup-android-arm-eabi@4.45.3':
+ resolution: {integrity: sha512-8oQkCTve4H4B4JpmD2FV7fV2ZPTxJHN//bRhCqPUU8v6c5APlxteAXyc7BFaEb4aGpUzrPLU4PoAcGhwmRzZTA==}
cpu: [arm]
os: [android]
- '@rollup/rollup-android-arm64@4.45.1':
- resolution: {integrity: sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==}
+ '@rollup/rollup-android-arm64@4.45.3':
+ resolution: {integrity: sha512-StOsmdXHU2hx3UFTTs6yYxCSwSIgLsfjUBICXyWj625M32OOjakXlaZuGKL+jA3Nvv35+hMxrm/64eCoT07SYQ==}
cpu: [arm64]
os: [android]
- '@rollup/rollup-darwin-arm64@4.45.1':
- resolution: {integrity: sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==}
+ '@rollup/rollup-darwin-arm64@4.45.3':
+ resolution: {integrity: sha512-6CfLF3eqKhCdhK0GUnR5ZS99OFz+dtOeB/uePznLKxjCsk5QjT/V0eSEBb4vj+o/ri3i35MseSEQHCLLAgClVw==}
cpu: [arm64]
os: [darwin]
- '@rollup/rollup-darwin-x64@4.45.1':
- resolution: {integrity: sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==}
+ '@rollup/rollup-darwin-x64@4.45.3':
+ resolution: {integrity: sha512-QLWyWmAJG9elNTNLdcSXUT/M+J7DhEmvs1XPHYcgYkse3UHf9iWTJ+yTPlKMIetiQnNi+cNp+gY4gvjDpREfKw==}
cpu: [x64]
os: [darwin]
- '@rollup/rollup-freebsd-arm64@4.45.1':
- resolution: {integrity: sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==}
+ '@rollup/rollup-freebsd-arm64@4.45.3':
+ resolution: {integrity: sha512-ZOvBq+5nL0yrZIEo1eq6r7MPvkJ8kC1XATS/yHvcq3WbDNKNKBQ1uIF4hicyzDMoJt72G+sn1nKsFXpifZyRDA==}
cpu: [arm64]
os: [freebsd]
- '@rollup/rollup-freebsd-x64@4.45.1':
- resolution: {integrity: sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==}
+ '@rollup/rollup-freebsd-x64@4.45.3':
+ resolution: {integrity: sha512-AYvGR07wecEnyYSovyJ71pTOulbNvsrpRpK6i/IM1b0UGX1vFx51afYuPYPxnvE9aCl5xPnhQicEvdIMxClRgQ==}
cpu: [x64]
os: [freebsd]
- '@rollup/rollup-linux-arm-gnueabihf@4.45.1':
- resolution: {integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==}
+ '@rollup/rollup-linux-arm-gnueabihf@4.45.3':
+ resolution: {integrity: sha512-Yx8Cp38tfRRToVLuIWzBHV25/QPzpUreOPIiUuNV7KahNPurYg2pYQ4l7aYnvpvklO1riX4643bXLvDsYSBIrA==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm-musleabihf@4.45.1':
- resolution: {integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==}
+ '@rollup/rollup-linux-arm-musleabihf@4.45.3':
+ resolution: {integrity: sha512-4dIYRNxlXGDKnO6qgcda6LxnObPO6r1OBU9HG8F9pAnHHLtfbiOqCzDvkeHknx+5mfFVH4tWOl+h+cHylwsPWA==}
cpu: [arm]
os: [linux]
- '@rollup/rollup-linux-arm64-gnu@4.45.1':
- resolution: {integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==}
+ '@rollup/rollup-linux-arm64-gnu@4.45.3':
+ resolution: {integrity: sha512-M6uVlWKmhLN7LguLDu6396K1W5IBlAaRonjlHQgc3s4dOGceu0FeBuvbXiUPYvup/6b5Ln7IEX7XNm68DN4vrg==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-arm64-musl@4.45.1':
- resolution: {integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==}
+ '@rollup/rollup-linux-arm64-musl@4.45.3':
+ resolution: {integrity: sha512-emaYiOTQJUd6fC9a6jcw9zIWtzaUiuBC+vomggaM4In2iOra/lA6IMHlqZqQZr08NYXrOPMVigreLMeSAwv3Uw==}
cpu: [arm64]
os: [linux]
- '@rollup/rollup-linux-loongarch64-gnu@4.45.1':
- resolution: {integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==}
+ '@rollup/rollup-linux-loongarch64-gnu@4.45.3':
+ resolution: {integrity: sha512-3P77T5AQ4UfVRJSrTKLiUZDJ6XsxeP80027bp6mOFh8sevSD038mYuIYFiUtrSJxxgFb+NgRJFF9oIa0rlUsmg==}
cpu: [loong64]
os: [linux]
- '@rollup/rollup-linux-powerpc64le-gnu@4.45.1':
- resolution: {integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==}
+ '@rollup/rollup-linux-ppc64-gnu@4.45.3':
+ resolution: {integrity: sha512-/VPH3ZVeSlmCBPhZdx/+4dMXDjaGMhDsWOBo9EwSkGbw2+OAqaslL53Ao2OqCxR0GgYjmmssJ+OoG+qYGE7IBg==}
cpu: [ppc64]
os: [linux]
- '@rollup/rollup-linux-riscv64-gnu@4.45.1':
- resolution: {integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==}
+ '@rollup/rollup-linux-riscv64-gnu@4.45.3':
+ resolution: {integrity: sha512-Hs5if0PjROl1MGMmZX3xMAIfqcGxQE2SJWUr/CpDQsOQn43Wq4IvXXxUMWtiY/BrzdqCCJlRgJ5DKxzS3qWkCw==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-riscv64-musl@4.45.1':
- resolution: {integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==}
+ '@rollup/rollup-linux-riscv64-musl@4.45.3':
+ resolution: {integrity: sha512-Qm0WOwh3Lk388+HJFl1ILGbd2iOoQf6yl4fdGqOjBzEA+5JYbLcwd+sGsZjs5pkt8Cr/1G42EiXmlRp9ZeTvFA==}
cpu: [riscv64]
os: [linux]
- '@rollup/rollup-linux-s390x-gnu@4.45.1':
- resolution: {integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==}
+ '@rollup/rollup-linux-s390x-gnu@4.45.3':
+ resolution: {integrity: sha512-VJdknTaYw+TqXzlh9c7vaVMh/fV2sU8Khfk4a9vAdYXJawpjf6z3U1k7vDWx2IQ9ZOPoOPxgVpDfYOYhxD7QUA==}
cpu: [s390x]
os: [linux]
- '@rollup/rollup-linux-x64-gnu@4.45.1':
- resolution: {integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==}
+ '@rollup/rollup-linux-x64-gnu@4.45.3':
+ resolution: {integrity: sha512-SUDXU5YabLAMl86FpupSQQEWzVG8X0HM+Q/famnJusbPiUgQnTGuSxtxg4UAYgv1ZmRV1nioYYXsgtSokU/7+Q==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-linux-x64-musl@4.45.1':
- resolution: {integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==}
+ '@rollup/rollup-linux-x64-musl@4.45.3':
+ resolution: {integrity: sha512-ezmqknOUFgZMN6wW+Avlo4sXF3Frswd+ncrwMz4duyZ5Eqd+dAYgJ+A1MY+12LNZ7XDhCiijJceueYvtnzdviw==}
cpu: [x64]
os: [linux]
- '@rollup/rollup-win32-arm64-msvc@4.45.1':
- resolution: {integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==}
+ '@rollup/rollup-win32-arm64-msvc@4.45.3':
+ resolution: {integrity: sha512-1YfXoUEE++gIW66zNB9Twd0Ua5xCXpfYppFUxVT/Io5ZT3fO6Se+C/Jvmh3usaIHHyi53t3kpfjydO2GAy5eBA==}
cpu: [arm64]
os: [win32]
- '@rollup/rollup-win32-ia32-msvc@4.45.1':
- resolution: {integrity: sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==}
+ '@rollup/rollup-win32-ia32-msvc@4.45.3':
+ resolution: {integrity: sha512-Iok2YA3PvC163rVZf2Zy81A0g88IUcSPeU5pOilcbICXre2EP1mxn1Db/l09Z/SK1vdSLtpJXAnwGuMOyf5O9g==}
cpu: [ia32]
os: [win32]
- '@rollup/rollup-win32-x64-msvc@4.45.1':
- resolution: {integrity: sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==}
+ '@rollup/rollup-win32-x64-msvc@4.45.3':
+ resolution: {integrity: sha512-HwHCH5GQTOeGYP5wBEBXFVhfQecwRl24Rugoqhh8YwGarsU09bHhOKuqlyW4ZolZCan3eTUax7UJbGSmKSM51A==}
cpu: [x64]
os: [win32]
- '@swc/core-darwin-arm64@1.13.1':
- resolution: {integrity: sha512-zO6SW/jSMTUORPm6dUZFPUwf+EFWZsaXWMGXadRG6akCofYpoQb8pcY2QZkVr43z8TMka6BtXpyoD/DJ0iOPHQ==}
+ '@swc/core-darwin-arm64@1.13.2':
+ resolution: {integrity: sha512-44p7ivuLSGFJ15Vly4ivLJjg3ARo4879LtEBAabcHhSZygpmkP8eyjyWxrH3OxkY1eRZSIJe8yRZPFw4kPXFPw==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
- '@swc/core-darwin-x64@1.13.1':
- resolution: {integrity: sha512-8RjaTZYxrlYKE5PgzZYWSOT4mAsyhIuh30Nu4dnn/2r0Ef68iNCbvX4ynGnFMhOIhqunjQbJf+mJKpwTwdHXhw==}
+ '@swc/core-darwin-x64@1.13.2':
+ resolution: {integrity: sha512-Lb9EZi7X2XDAVmuUlBm2UvVAgSCbD3qKqDCxSI4jEOddzVOpNCnyZ/xEampdngUIyDDhhJLYU9duC+Mcsv5Y+A==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
- '@swc/core-linux-arm-gnueabihf@1.13.1':
- resolution: {integrity: sha512-jEqK6pECs2m4BpL2JA/4CCkq04p6iFOEtVNXTisO+lJ3zwmxlnIEm9UfJZG6VSu8GS9MHRKGB0ieZ1tEdN1qDA==}
+ '@swc/core-linux-arm-gnueabihf@1.13.2':
+ resolution: {integrity: sha512-9TDe/92ee1x57x+0OqL1huG4BeljVx0nWW4QOOxp8CCK67Rpc/HHl2wciJ0Kl9Dxf2NvpNtkPvqj9+BUmM9WVA==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
- '@swc/core-linux-arm64-gnu@1.13.1':
- resolution: {integrity: sha512-PbkuIOYXO/gQbWQ7NnYIwm59ygNqmUcF8LBeoKvxhx1VtOwE+9KiTfoplOikkPLhMiTzKsd8qentTslbITIg+Q==}
+ '@swc/core-linux-arm64-gnu@1.13.2':
+ resolution: {integrity: sha512-KJUSl56DBk7AWMAIEcU83zl5mg3vlQYhLELhjwRFkGFMvghQvdqQ3zFOYa4TexKA7noBZa3C8fb24rI5sw9Exg==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-arm64-musl@1.13.1':
- resolution: {integrity: sha512-JaqFdBCarIBKiMu5bbAp+kWPMNGg97ej+7KzbKOzWP5pRptqKi86kCDZT3WmjPe8hNG6dvBwbm7Y8JNry5LebQ==}
+ '@swc/core-linux-arm64-musl@1.13.2':
+ resolution: {integrity: sha512-teU27iG1oyWpNh9CzcGQ48ClDRt/RCem7mYO7ehd2FY102UeTws2+OzLESS1TS1tEZipq/5xwx3FzbVgiolCiQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-x64-gnu@1.13.1':
- resolution: {integrity: sha512-t4cLkku10YECDaakWUH0452WJHIZtrLPRwezt6BdoMntVMwNjvXRX7C8bGuYcKC3YxRW7enZKFpozLhQIQ37oA==}
+ '@swc/core-linux-x64-gnu@1.13.2':
+ resolution: {integrity: sha512-dRPsyPyqpLD0HMRCRpYALIh4kdOir8pPg4AhNQZLehKowigRd30RcLXGNVZcc31Ua8CiPI4QSgjOIxK+EQe4LQ==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-linux-x64-musl@1.13.1':
- resolution: {integrity: sha512-fSMwZOaG+3ukUucbEbzz9GhzGhUhXoCPqHe9qW0/Vc2IZRp538xalygKyZynYweH5d9EHux1aj3+IO8/xBaoiA==}
+ '@swc/core-linux-x64-musl@1.13.2':
+ resolution: {integrity: sha512-CCxETW+KkYEQDqz1SYC15YIWYheqFC+PJVOW76Maa/8yu8Biw+HTAcblKf2isrlUtK8RvrQN94v3UXkC2NzCEw==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-win32-arm64-msvc@1.13.1':
- resolution: {integrity: sha512-tweCXK/79vAwj1NhAsYgICy8T1z2QEairmN2BFEBYFBFNMEB1iI1YlXwBkBtuihRvgZrTh1ORusKa4jLYzLCZA==}
+ '@swc/core-win32-arm64-msvc@1.13.2':
+ resolution: {integrity: sha512-Wv/QTA6PjyRLlmKcN6AmSI4jwSMRl0VTLGs57PHTqYRwwfwd7y4s2fIPJVBNbAlXd795dOEP6d/bGSQSyhOX3A==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
- '@swc/core-win32-ia32-msvc@1.13.1':
- resolution: {integrity: sha512-zi7hO9D+2R2yQN9D7T10/CAI9KhuXkNkz8tcJOW6+dVPtAk/gsIC5NoGPELjgrAlLL9CS38ZQpLDslLfpP15ng==}
+ '@swc/core-win32-ia32-msvc@1.13.2':
+ resolution: {integrity: sha512-PuCdtNynEkUNbUXX/wsyUC+t4mamIU5y00lT5vJcAvco3/r16Iaxl5UCzhXYaWZSNVZMzPp9qN8NlSL8M5pPxw==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
- '@swc/core-win32-x64-msvc@1.13.1':
- resolution: {integrity: sha512-KubYjzqs/nz3H69ncX/XHKsC8c1xqc7UvonQAj26BhbL22HBsqdAaVutZ+Obho6RMpd3F5qQ95ldavUTWskRrw==}
+ '@swc/core-win32-x64-msvc@1.13.2':
+ resolution: {integrity: sha512-qlmMkFZJus8cYuBURx1a3YAG2G7IW44i+FEYV5/32ylKkzGNAr9tDJSA53XNnNXkAB5EXSPsOz7bn5C3JlEtdQ==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
- '@swc/core@1.13.1':
- resolution: {integrity: sha512-jEKKErLC6uwSqA+p6bmZR08usZM5Fpc+HdEu5CAzvye0q43yf1si1kjhHEa9XMkz0A2SAaal3eKCg/YYmtOsCA==}
+ '@swc/core@1.13.2':
+ resolution: {integrity: sha512-YWqn+0IKXDhqVLKoac4v2tV6hJqB/wOh8/Br8zjqeqBkKa77Qb0Kw2i7LOFzjFNZbZaPH6AlMGlBwNrxaauaAg==}
engines: {node: '>=10'}
peerDependencies:
'@swc/helpers': '>=0.5.17'
@@ -750,8 +866,8 @@ packages:
'@types/node@20.19.9':
resolution: {integrity: sha512-cuVNgarYWZqxRJDQHEB58GEONhOK79QVR/qYx4S7kcUObQvUwvFnYxJuuHUKm2aieN9X3yZB4LZsuYNU1Qphsw==}
- '@types/node@24.0.15':
- resolution: {integrity: sha512-oaeTSbCef7U/z7rDeJA138xpG3NuKc64/rZ2qmUFkFJmnMsAPaluIifqyWd8hSSMxyP9oie3dLAqYPblag9KgA==}
+ '@types/node@24.1.0':
+ resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==}
'@types/pako@2.0.3':
resolution: {integrity: sha512-bq0hMV9opAcrmE0Byyo0fY3Ew4tgOevJmQ9grUhpXQhYfyLJ1Kqg3P33JT5fdbT2AjeAjR51zqqVjAL/HMkx7Q==}
@@ -893,45 +1009,54 @@ packages:
'@volar/typescript@2.4.20':
resolution: {integrity: sha512-Oc4DczPwQyXcVbd+5RsNEqX6ia0+w3p+klwdZQ6ZKhFjWoBP9PCPQYlKYRi/tDemWphW93P/Vv13vcE9I9D2GQ==}
- '@vue/compiler-core@3.5.17':
- resolution: {integrity: sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==}
+ '@vue/compiler-core@3.5.18':
+ resolution: {integrity: sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==}
- '@vue/compiler-dom@3.5.17':
- resolution: {integrity: sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==}
+ '@vue/compiler-dom@3.5.18':
+ resolution: {integrity: sha512-RMbU6NTU70++B1JyVJbNbeFkK+A+Q7y9XKE2EM4NLGm2WFR8x9MbAtWxPPLdm0wUkuZv9trpwfSlL6tjdIa1+A==}
- '@vue/compiler-sfc@3.5.17':
- resolution: {integrity: sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==}
+ '@vue/compiler-sfc@3.5.18':
+ resolution: {integrity: sha512-5aBjvGqsWs+MoxswZPoTB9nSDb3dhd1x30xrrltKujlCxo48j8HGDNj3QPhF4VIS0VQDUrA1xUfp2hEa+FNyXA==}
- '@vue/compiler-ssr@3.5.17':
- resolution: {integrity: sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==}
+ '@vue/compiler-ssr@3.5.18':
+ resolution: {integrity: sha512-xM16Ak7rSWHkM3m22NlmcdIM+K4BMyFARAfV9hYFl+SFuRzrZ3uGMNW05kA5pmeMa0X9X963Kgou7ufdbpOP9g==}
'@vue/compiler-vue2@2.7.16':
resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==}
- '@vue/language-core@3.0.3':
- resolution: {integrity: sha512-I9wY0ULMN9tMSua+2C7g+ez1cIziVMUzIHlDYGSl2rtru3Eh4sXj95vZ+4GBuXwwPnEmYfzSApVbXiVbI8V5Gg==}
+ '@vue/devtools-api@7.7.7':
+ resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==}
+
+ '@vue/devtools-kit@7.7.7':
+ resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==}
+
+ '@vue/devtools-shared@7.7.7':
+ resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==}
+
+ '@vue/language-core@3.0.4':
+ resolution: {integrity: sha512-BvueED4LfBCSNH66eeUQk37MQCb7hjdezzGgxniM0LbriW53AJIyLorgshAtStmjfsAuOCcTl/c1b+nz/ye8xQ==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
- '@vue/reactivity@3.5.17':
- resolution: {integrity: sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==}
+ '@vue/reactivity@3.5.18':
+ resolution: {integrity: sha512-x0vPO5Imw+3sChLM5Y+B6G1zPjwdOri9e8V21NnTnlEvkxatHEH5B5KEAJcjuzQ7BsjGrKtfzuQ5eQwXh8HXBg==}
- '@vue/runtime-core@3.5.17':
- resolution: {integrity: sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==}
+ '@vue/runtime-core@3.5.18':
+ resolution: {integrity: sha512-DUpHa1HpeOQEt6+3nheUfqVXRog2kivkXHUhoqJiKR33SO4x+a5uNOMkV487WPerQkL0vUuRvq/7JhRgLW3S+w==}
- '@vue/runtime-dom@3.5.17':
- resolution: {integrity: sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==}
+ '@vue/runtime-dom@3.5.18':
+ resolution: {integrity: sha512-YwDj71iV05j4RnzZnZtGaXwPoUWeRsqinblgVJwR8XTXYZ9D5PbahHQgsbmzUvCWNF6x7siQ89HgnX5eWkr3mw==}
- '@vue/server-renderer@3.5.17':
- resolution: {integrity: sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==}
+ '@vue/server-renderer@3.5.18':
+ resolution: {integrity: sha512-PvIHLUoWgSbDG7zLHqSqaCoZvHi6NNmfVFOqO+OnwvqMz/tqQr3FuGWS8ufluNddk7ZLBJYMrjcw1c6XzR12mA==}
peerDependencies:
- vue: 3.5.17
+ vue: 3.5.18
- '@vue/shared@3.5.17':
- resolution: {integrity: sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==}
+ '@vue/shared@3.5.18':
+ resolution: {integrity: sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==}
'@vue/test-utils@2.4.6':
resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==}
@@ -989,6 +1114,9 @@ packages:
resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
engines: {node: '>= 8'}
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
aria-query@5.1.3:
resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
@@ -1015,6 +1143,9 @@ packages:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
+ birpc@2.5.0:
+ resolution: {integrity: sha512-VSWO/W6nNQdyP520F1mhf+Lc2f8pjGQOtoHHm7Ze8Go1kX7akpVIrtTa0fn+HB0QJEDVacl6aO08YE0PgXfdnQ==}
+
brace-expansion@2.0.2:
resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
@@ -1081,6 +1212,10 @@ packages:
resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
engines: {node: ^14.18.0 || >=16.10.0}
+ copy-anything@3.0.5:
+ resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==}
+ engines: {node: '>=12.13'}
+
cross-spawn@7.0.6:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
@@ -1200,6 +1335,16 @@ packages:
exsolve@1.0.7:
resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==}
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
+ fastq@1.19.1:
+ resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==}
+
+ fd-package-json@2.0.0:
+ resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==}
+
fdir@6.4.6:
resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
peerDependencies:
@@ -1220,6 +1365,11 @@ packages:
resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
engines: {node: '>=14'}
+ formatly@0.2.4:
+ resolution: {integrity: sha512-lIN7GpcvX/l/i24r/L9bnJ0I8Qn01qijWpQpDDvTLL29nKqSaJJu4h20+7VJ6m2CAhQ2/En/GbxDiHCzq/0MyA==}
+ engines: {node: '>=18.3.0'}
+ hasBin: true
+
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -1293,6 +1443,9 @@ packages:
resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
hasBin: true
+ hookable@5.5.3:
+ resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==}
+
html2canvas@1.4.1:
resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==}
engines: {node: '>=8.0.0'}
@@ -1389,6 +1542,10 @@ packages:
resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
engines: {node: '>= 0.4'}
+ is-what@4.1.16:
+ resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==}
+ engines: {node: '>=12.13'}
+
isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
@@ -1398,8 +1555,8 @@ packages:
jackspeak@3.4.3:
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
- jiti@2.4.2:
- resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==}
+ jiti@2.5.1:
+ resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==}
hasBin: true
js-beautify@1.15.4:
@@ -1417,6 +1574,18 @@ packages:
js-tokens@9.0.1:
resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
+ knip@5.62.0:
+ resolution: {integrity: sha512-hfTUVzmrMNMT1khlZfAYmBABeehwWUUrizLQoLamoRhSFkygsGIXWx31kaWKBgEaIVL77T3Uz7IxGvSw+CvQ6A==}
+ engines: {node: '>=18.18.0'}
+ hasBin: true
+ peerDependencies:
+ '@types/node': '>=18'
+ typescript: '>=5.0.4'
+
kolorist@1.8.0:
resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
@@ -1488,8 +1657,8 @@ packages:
resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==}
engines: {node: '>=14'}
- loupe@3.1.4:
- resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==}
+ loupe@3.2.0:
+ resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==}
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
@@ -1513,6 +1682,14 @@ packages:
mdn-data@2.12.2:
resolution: {integrity: sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==}
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
minimatch@9.0.1:
resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==}
engines: {node: '>=16 || 14 >=14.17'}
@@ -1521,10 +1698,16 @@ packages:
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
engines: {node: '>=16 || 14 >=14.17'}
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
minipass@7.1.2:
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
engines: {node: '>=16 || 14 >=14.17'}
+ mitt@3.0.1:
+ resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
+
mlly@1.7.4:
resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
@@ -1543,6 +1726,11 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
+ napi-postinstall@0.3.2:
+ resolution: {integrity: sha512-tWVJxJHmBWLy69PvO96TZMZDrzmw5KeiZBz3RHmiM2XZ9grBJ2WgMAFVVg25nqp3ZjTFUs2Ftw1JhscL3Teliw==}
+ engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
+ hasBin: true
+
node-fetch-native@1.6.6:
resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==}
@@ -1578,8 +1766,11 @@ packages:
resolution: {integrity: sha512-2tDN/ttU8WE6oFh8EzKNam7KE7ZXSG5uXmvX85iNzxdJfMssDWcj3gpYzZi1E04XuE7m3v1dVWl/8BE886vPGw==}
engines: {node: '>=20.0.0'}
- oxlint@1.7.0:
- resolution: {integrity: sha512-krJN1fIRhs3xK1FyVyPtYIV9tkT4WDoIwI7eiMEKBuCjxqjQt5ZemQm1htPvHqNDOaWFRFt4btcwFdU8bbwgvA==}
+ oxc-resolver@11.6.0:
+ resolution: {integrity: sha512-Yj3Wy+zLljtFL8ByKOljaPhiXjJWVe875p5MHaT5VAHoEmzeg1BuswM8s/E7ErpJ3s0fsXJfUYJE4v1bl7N65g==}
+
+ oxlint@1.8.0:
+ resolution: {integrity: sha512-kDC3zuplBM35GbrZ/3rRdDrZ6unpUkUjM8P3VSbyLgaYh2xZeg0TLLDbYALNAUyChVonNafXzgHZmbwnHfrTRg==}
engines: {node: '>=8.*'}
hasBin: true
@@ -1624,6 +1815,15 @@ packages:
resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
engines: {node: '>=12'}
+ pinia@3.0.3:
+ resolution: {integrity: sha512-ttXO/InUULUXkMHpTdp9Fj4hLpD/2AoJdmAbAeW2yu1iy1k+pkFekQXw5VpC0/5p51IOR/jDaDRfRWRnMMsGOA==}
+ peerDependencies:
+ typescript: '>=4.4.4'
+ vue: ^2.7.0 || ^3.5.11
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
@@ -1653,6 +1853,9 @@ packages:
quansync@0.2.10:
resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==}
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
react-is@17.0.2:
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
@@ -1667,8 +1870,15 @@ packages:
resolve-pkg-maps@1.0.0:
resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
- rolldown-vite@7.0.9:
- resolution: {integrity: sha512-RxVP6CY9CNCEM9UecdytqeADxOGSjgkfSE/eI986sM7I3/F09lQ9UfQo3y6W10ICBppKsEHe71NbCX/tirYDFg==}
+ reusify@1.1.0:
+ resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rfdc@1.4.1:
+ resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
+
+ rolldown-vite@7.0.11:
+ resolution: {integrity: sha512-5C0rxNUIQLnFNJenYieXU1A9RSAbnM7hGFZayIvR/wbU2tiCE/CQ6Z2dIk1msTozZlNrM0nSYeYLM/6VWuMYuA==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -1707,8 +1917,8 @@ packages:
yaml:
optional: true
- rolldown@1.0.0-beta.27:
- resolution: {integrity: sha512-aYiJmzKoUHoaaEZLRegYVfZkXW7gzdgSbq+u5cXQ6iXc/y8tnQ3zGffQo44Pr1lTKeLluw3bDIDUCx/NAzqKeA==}
+ rolldown@1.0.0-beta.29:
+ resolution: {integrity: sha512-EsoOi8moHN6CAYyTZipxDDVTJn0j2nBCWor4wRU45RQ8ER2qREDykXLr3Ulz6hBh6oBKCFTQIjo21i0FXNo/IA==}
hasBin: true
rollup-plugin-swc-minify@1.3.0:
@@ -1717,11 +1927,14 @@ packages:
peerDependencies:
rollup: ^2 || ^3 || ^4
- rollup@4.45.1:
- resolution: {integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==}
+ rollup@4.45.3:
+ resolution: {integrity: sha512-STwyHZF3G+CrmZhB+qDiROq9s8B5PrOCYN6dtmOvwz585XBnyeHk1GTEhHJtUVb355/9uZhOazyVclTt5uahzA==}
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
safe-regex-test@1.1.0:
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
engines: {node: '>= 0.4'}
@@ -1774,10 +1987,18 @@ packages:
resolution: {integrity: sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==}
engines: {node: '>=18'}
+ smol-toml@1.4.1:
+ resolution: {integrity: sha512-CxdwHXyYTONGHThDbq5XdwbFsuY4wlClRGejfE2NtwUtiHYsP1QtNsHb/hnj31jKYSchztJsaA8pSQoVzkfCFg==}
+ engines: {node: '>= 18'}
+
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
+ speakingurl@14.0.1:
+ resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
+ engines: {node: '>=0.10.0'}
+
stackback@0.0.2:
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
@@ -1804,9 +2025,17 @@ packages:
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
engines: {node: '>=12'}
+ strip-json-comments@5.0.2:
+ resolution: {integrity: sha512-4X2FR3UwhNUE9G49aIsJW5hRRR3GXGTBTZRMfv568O60ojM8HcWjV/VxAxCDW3SUND33O6ZY66ZuRcdkj73q2g==}
+ engines: {node: '>=14.16'}
+
strip-literal@3.0.0:
resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==}
+ superjson@2.2.2:
+ resolution: {integrity: sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==}
+ engines: {node: '>=16'}
+
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -1896,8 +2125,8 @@ packages:
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
- vite@7.0.5:
- resolution: {integrity: sha512-1mncVwJxy2C9ThLwz0+2GKZyEXuC3MyWtAAlNftlZZXZDP3AJt5FmwcMit/IGGaNZ8ZOB2BNO/HFUB+CpN0NQw==}
+ vite@7.0.6:
+ resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==}
engines: {node: ^20.19.0 || >=22.12.0}
hasBin: true
peerDependencies:
@@ -1975,20 +2204,24 @@ packages:
peerDependencies:
vue: ^3.4.37
- vue-tsc@3.0.3:
- resolution: {integrity: sha512-uU1OMSzWE8/y0+kDTc0iEIu9v82bmFkGyJpAO/x3wQqBkkHkButKgtygREyOkxL4E/xtcf/ExvgNhhjdzonldw==}
+ vue-tsc@3.0.4:
+ resolution: {integrity: sha512-kZmSEjGtROApVBuaIcoprrXZsFNGon5ggkTJokmhQ/H1hMzCFRPQ0Ed8IHYFsmYJYvHBcdmEQVGVcRuxzPzNbw==}
hasBin: true
peerDependencies:
typescript: '>=5.0.0'
- vue@3.5.17:
- resolution: {integrity: sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==}
+ vue@3.5.18:
+ resolution: {integrity: sha512-7W4Y4ZbMiQ3SEo+m9lnoNpV9xG7QVMLa+/0RFwwiAVkeYoyGXqWE85jabU4pllJNUzqfLShJ5YLptewhCWUgNA==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
+ walk-up-path@4.0.0:
+ resolution: {integrity: sha512-3hu+tD8YzSLGuFYtPRb48vdhKMi0KQV5sn+uWr8+7dMEq/2G/dtLrdDinkLjqq5TIbIBjYJ4Ax/n3YiaW7QM8A==}
+ engines: {node: 20 || >=22}
+
whatwg-mimetype@3.0.0:
resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
engines: {node: '>=12'}
@@ -2023,6 +2256,15 @@ packages:
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
engines: {node: '>=12'}
+ zod-validation-error@3.5.3:
+ resolution: {integrity: sha512-OT5Y8lbUadqVZCsnyFaTQ4/O2mys4tj7PqhdbBCp7McPwvIEKfPtdA6QfPeFQK2/Rz5LgwmAXRJTugBNBi0btw==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ zod: ^3.25.0 || ^4.0.0
+
+ zod@3.25.76:
+ resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
+
snapshots:
'@ampproject/remapping@2.3.0':
@@ -2049,11 +2291,11 @@ snapshots:
'@babel/parser@7.28.0':
dependencies:
- '@babel/types': 7.28.1
+ '@babel/types': 7.28.2
- '@babel/runtime@7.27.6': {}
+ '@babel/runtime@7.28.2': {}
- '@babel/types@7.28.1':
+ '@babel/types@7.28.2':
dependencies:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.27.1
@@ -2197,6 +2439,25 @@ snapshots:
'@tybys/wasm-util': 0.10.0
optional: true
+ '@napi-rs/wasm-runtime@1.0.1':
+ dependencies:
+ '@emnapi/core': 1.4.5
+ '@emnapi/runtime': 1.4.5
+ '@tybys/wasm-util': 0.10.0
+ optional: true
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.19.1
+
'@one-ini/wasm@0.1.1': {}
'@oxc-parser/binding-android-arm64@0.74.0':
@@ -2246,34 +2507,93 @@ snapshots:
'@oxc-parser/binding-win32-x64-msvc@0.74.0':
optional: true
- '@oxc-project/runtime@0.77.0': {}
+ '@oxc-project/runtime@0.77.3': {}
'@oxc-project/types@0.74.0': {}
- '@oxc-project/types@0.77.0': {}
+ '@oxc-project/types@0.77.3': {}
+
+ '@oxc-resolver/binding-android-arm-eabi@11.6.0':
+ optional: true
+
+ '@oxc-resolver/binding-android-arm64@11.6.0':
+ optional: true
+
+ '@oxc-resolver/binding-darwin-arm64@11.6.0':
+ optional: true
+
+ '@oxc-resolver/binding-darwin-x64@11.6.0':
+ optional: true
- '@oxlint/darwin-arm64@1.7.0':
+ '@oxc-resolver/binding-freebsd-x64@11.6.0':
optional: true
- '@oxlint/darwin-x64@1.7.0':
+ '@oxc-resolver/binding-linux-arm-gnueabihf@11.6.0':
optional: true
- '@oxlint/linux-arm64-gnu@1.7.0':
+ '@oxc-resolver/binding-linux-arm-musleabihf@11.6.0':
optional: true
- '@oxlint/linux-arm64-musl@1.7.0':
+ '@oxc-resolver/binding-linux-arm64-gnu@11.6.0':
optional: true
- '@oxlint/linux-x64-gnu@1.7.0':
+ '@oxc-resolver/binding-linux-arm64-musl@11.6.0':
optional: true
- '@oxlint/linux-x64-musl@1.7.0':
+ '@oxc-resolver/binding-linux-ppc64-gnu@11.6.0':
optional: true
- '@oxlint/win32-arm64@1.7.0':
+ '@oxc-resolver/binding-linux-riscv64-gnu@11.6.0':
optional: true
- '@oxlint/win32-x64@1.7.0':
+ '@oxc-resolver/binding-linux-riscv64-musl@11.6.0':
+ optional: true
+
+ '@oxc-resolver/binding-linux-s390x-gnu@11.6.0':
+ optional: true
+
+ '@oxc-resolver/binding-linux-x64-gnu@11.6.0':
+ optional: true
+
+ '@oxc-resolver/binding-linux-x64-musl@11.6.0':
+ optional: true
+
+ '@oxc-resolver/binding-wasm32-wasi@11.6.0':
+ dependencies:
+ '@napi-rs/wasm-runtime': 1.0.1
+ optional: true
+
+ '@oxc-resolver/binding-win32-arm64-msvc@11.6.0':
+ optional: true
+
+ '@oxc-resolver/binding-win32-ia32-msvc@11.6.0':
+ optional: true
+
+ '@oxc-resolver/binding-win32-x64-msvc@11.6.0':
+ optional: true
+
+ '@oxlint/darwin-arm64@1.8.0':
+ optional: true
+
+ '@oxlint/darwin-x64@1.8.0':
+ optional: true
+
+ '@oxlint/linux-arm64-gnu@1.8.0':
+ optional: true
+
+ '@oxlint/linux-arm64-musl@1.8.0':
+ optional: true
+
+ '@oxlint/linux-x64-gnu@1.8.0':
+ optional: true
+
+ '@oxlint/linux-x64-musl@1.8.0':
+ optional: true
+
+ '@oxlint/win32-arm64@1.8.0':
+ optional: true
+
+ '@oxlint/win32-x64@1.8.0':
optional: true
'@pkgjs/parseargs@0.11.0':
@@ -2291,159 +2611,159 @@ snapshots:
dependencies:
quansync: 0.2.10
- '@rolldown/binding-android-arm64@1.0.0-beta.27':
+ '@rolldown/binding-android-arm64@1.0.0-beta.29':
optional: true
- '@rolldown/binding-darwin-arm64@1.0.0-beta.27':
+ '@rolldown/binding-darwin-arm64@1.0.0-beta.29':
optional: true
- '@rolldown/binding-darwin-x64@1.0.0-beta.27':
+ '@rolldown/binding-darwin-x64@1.0.0-beta.29':
optional: true
- '@rolldown/binding-freebsd-x64@1.0.0-beta.27':
+ '@rolldown/binding-freebsd-x64@1.0.0-beta.29':
optional: true
- '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.27':
+ '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.29':
optional: true
- '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.27':
+ '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.29':
optional: true
- '@rolldown/binding-linux-arm64-musl@1.0.0-beta.27':
+ '@rolldown/binding-linux-arm64-musl@1.0.0-beta.29':
optional: true
- '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.27':
+ '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.29':
optional: true
- '@rolldown/binding-linux-x64-gnu@1.0.0-beta.27':
+ '@rolldown/binding-linux-x64-gnu@1.0.0-beta.29':
optional: true
- '@rolldown/binding-linux-x64-musl@1.0.0-beta.27':
+ '@rolldown/binding-linux-x64-musl@1.0.0-beta.29':
optional: true
- '@rolldown/binding-wasm32-wasi@1.0.0-beta.27':
+ '@rolldown/binding-wasm32-wasi@1.0.0-beta.29':
dependencies:
- '@napi-rs/wasm-runtime': 0.2.12
+ '@napi-rs/wasm-runtime': 1.0.1
optional: true
- '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.27':
+ '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.29':
optional: true
- '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.27':
+ '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.29':
optional: true
- '@rolldown/binding-win32-x64-msvc@1.0.0-beta.27':
+ '@rolldown/binding-win32-x64-msvc@1.0.0-beta.29':
optional: true
'@rolldown/pluginutils@1.0.0-beta.19': {}
- '@rolldown/pluginutils@1.0.0-beta.27': {}
+ '@rolldown/pluginutils@1.0.0-beta.29': {}
- '@rollup/rollup-android-arm-eabi@4.45.1':
+ '@rollup/rollup-android-arm-eabi@4.45.3':
optional: true
- '@rollup/rollup-android-arm64@4.45.1':
+ '@rollup/rollup-android-arm64@4.45.3':
optional: true
- '@rollup/rollup-darwin-arm64@4.45.1':
+ '@rollup/rollup-darwin-arm64@4.45.3':
optional: true
- '@rollup/rollup-darwin-x64@4.45.1':
+ '@rollup/rollup-darwin-x64@4.45.3':
optional: true
- '@rollup/rollup-freebsd-arm64@4.45.1':
+ '@rollup/rollup-freebsd-arm64@4.45.3':
optional: true
- '@rollup/rollup-freebsd-x64@4.45.1':
+ '@rollup/rollup-freebsd-x64@4.45.3':
optional: true
- '@rollup/rollup-linux-arm-gnueabihf@4.45.1':
+ '@rollup/rollup-linux-arm-gnueabihf@4.45.3':
optional: true
- '@rollup/rollup-linux-arm-musleabihf@4.45.1':
+ '@rollup/rollup-linux-arm-musleabihf@4.45.3':
optional: true
- '@rollup/rollup-linux-arm64-gnu@4.45.1':
+ '@rollup/rollup-linux-arm64-gnu@4.45.3':
optional: true
- '@rollup/rollup-linux-arm64-musl@4.45.1':
+ '@rollup/rollup-linux-arm64-musl@4.45.3':
optional: true
- '@rollup/rollup-linux-loongarch64-gnu@4.45.1':
+ '@rollup/rollup-linux-loongarch64-gnu@4.45.3':
optional: true
- '@rollup/rollup-linux-powerpc64le-gnu@4.45.1':
+ '@rollup/rollup-linux-ppc64-gnu@4.45.3':
optional: true
- '@rollup/rollup-linux-riscv64-gnu@4.45.1':
+ '@rollup/rollup-linux-riscv64-gnu@4.45.3':
optional: true
- '@rollup/rollup-linux-riscv64-musl@4.45.1':
+ '@rollup/rollup-linux-riscv64-musl@4.45.3':
optional: true
- '@rollup/rollup-linux-s390x-gnu@4.45.1':
+ '@rollup/rollup-linux-s390x-gnu@4.45.3':
optional: true
- '@rollup/rollup-linux-x64-gnu@4.45.1':
+ '@rollup/rollup-linux-x64-gnu@4.45.3':
optional: true
- '@rollup/rollup-linux-x64-musl@4.45.1':
+ '@rollup/rollup-linux-x64-musl@4.45.3':
optional: true
- '@rollup/rollup-win32-arm64-msvc@4.45.1':
+ '@rollup/rollup-win32-arm64-msvc@4.45.3':
optional: true
- '@rollup/rollup-win32-ia32-msvc@4.45.1':
+ '@rollup/rollup-win32-ia32-msvc@4.45.3':
optional: true
- '@rollup/rollup-win32-x64-msvc@4.45.1':
+ '@rollup/rollup-win32-x64-msvc@4.45.3':
optional: true
- '@swc/core-darwin-arm64@1.13.1':
+ '@swc/core-darwin-arm64@1.13.2':
optional: true
- '@swc/core-darwin-x64@1.13.1':
+ '@swc/core-darwin-x64@1.13.2':
optional: true
- '@swc/core-linux-arm-gnueabihf@1.13.1':
+ '@swc/core-linux-arm-gnueabihf@1.13.2':
optional: true
- '@swc/core-linux-arm64-gnu@1.13.1':
+ '@swc/core-linux-arm64-gnu@1.13.2':
optional: true
- '@swc/core-linux-arm64-musl@1.13.1':
+ '@swc/core-linux-arm64-musl@1.13.2':
optional: true
- '@swc/core-linux-x64-gnu@1.13.1':
+ '@swc/core-linux-x64-gnu@1.13.2':
optional: true
- '@swc/core-linux-x64-musl@1.13.1':
+ '@swc/core-linux-x64-musl@1.13.2':
optional: true
- '@swc/core-win32-arm64-msvc@1.13.1':
+ '@swc/core-win32-arm64-msvc@1.13.2':
optional: true
- '@swc/core-win32-ia32-msvc@1.13.1':
+ '@swc/core-win32-ia32-msvc@1.13.2':
optional: true
- '@swc/core-win32-x64-msvc@1.13.1':
+ '@swc/core-win32-x64-msvc@1.13.2':
optional: true
- '@swc/core@1.13.1':
+ '@swc/core@1.13.2':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.23
optionalDependencies:
- '@swc/core-darwin-arm64': 1.13.1
- '@swc/core-darwin-x64': 1.13.1
- '@swc/core-linux-arm-gnueabihf': 1.13.1
- '@swc/core-linux-arm64-gnu': 1.13.1
- '@swc/core-linux-arm64-musl': 1.13.1
- '@swc/core-linux-x64-gnu': 1.13.1
- '@swc/core-linux-x64-musl': 1.13.1
- '@swc/core-win32-arm64-msvc': 1.13.1
- '@swc/core-win32-ia32-msvc': 1.13.1
- '@swc/core-win32-x64-msvc': 1.13.1
+ '@swc/core-darwin-arm64': 1.13.2
+ '@swc/core-darwin-x64': 1.13.2
+ '@swc/core-linux-arm-gnueabihf': 1.13.2
+ '@swc/core-linux-arm64-gnu': 1.13.2
+ '@swc/core-linux-arm64-musl': 1.13.2
+ '@swc/core-linux-x64-gnu': 1.13.2
+ '@swc/core-linux-x64-musl': 1.13.2
+ '@swc/core-win32-arm64-msvc': 1.13.2
+ '@swc/core-win32-ia32-msvc': 1.13.2
+ '@swc/core-win32-x64-msvc': 1.13.2
'@swc/counter@0.1.3': {}
@@ -2454,7 +2774,7 @@ snapshots:
'@testing-library/dom@9.3.4':
dependencies:
'@babel/code-frame': 7.27.1
- '@babel/runtime': 7.27.6
+ '@babel/runtime': 7.28.2
'@types/aria-query': 5.0.4
aria-query: 5.1.3
chalk: 4.1.2
@@ -2462,14 +2782,14 @@ snapshots:
lz-string: 1.5.0
pretty-format: 27.5.1
- '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.17)(vue@3.5.17(typescript@5.8.3))':
+ '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.18)(vue@3.5.18(typescript@5.8.3))':
dependencies:
- '@babel/runtime': 7.27.6
+ '@babel/runtime': 7.28.2
'@testing-library/dom': 9.3.4
'@vue/test-utils': 2.4.6
- vue: 3.5.17(typescript@5.8.3)
+ vue: 3.5.18(typescript@5.8.3)
optionalDependencies:
- '@vue/compiler-sfc': 3.5.17
+ '@vue/compiler-sfc': 3.5.18
'@tybys/wasm-util@0.10.0':
dependencies:
@@ -2490,7 +2810,7 @@ snapshots:
dependencies:
undici-types: 6.21.0
- '@types/node@24.0.15':
+ '@types/node@24.1.0':
dependencies:
undici-types: 7.8.0
@@ -2500,13 +2820,13 @@ snapshots:
'@types/whatwg-mimetype@3.0.2': {}
- '@unocss/astro@66.3.3(rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3))(vue@3.5.17(typescript@5.8.3))':
+ '@unocss/astro@66.3.3(rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))':
dependencies:
'@unocss/core': 66.3.3
'@unocss/reset': 66.3.3
- '@unocss/vite': 66.3.3(rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3))(vue@3.5.17(typescript@5.8.3))
+ '@unocss/vite': 66.3.3(rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))
optionalDependencies:
- vite: rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3)
+ vite: rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3)
transitivePeerDependencies:
- vue
@@ -2537,14 +2857,14 @@ snapshots:
dependencies:
'@unocss/core': 66.3.3
- '@unocss/inspector@66.3.3(vue@3.5.17(typescript@5.8.3))':
+ '@unocss/inspector@66.3.3(vue@3.5.18(typescript@5.8.3))':
dependencies:
'@unocss/core': 66.3.3
'@unocss/rule-utils': 66.3.3
colorette: 2.0.20
gzip-size: 6.0.0
sirv: 3.0.1
- vue-flow-layout: 0.1.1(vue@3.5.17(typescript@5.8.3))
+ vue-flow-layout: 0.1.1(vue@3.5.18(typescript@5.8.3))
transitivePeerDependencies:
- vue
@@ -2637,26 +2957,26 @@ snapshots:
dependencies:
'@unocss/core': 66.3.3
- '@unocss/vite@66.3.3(rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3))(vue@3.5.17(typescript@5.8.3))':
+ '@unocss/vite@66.3.3(rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))':
dependencies:
'@ampproject/remapping': 2.3.0
'@unocss/config': 66.3.3
'@unocss/core': 66.3.3
- '@unocss/inspector': 66.3.3(vue@3.5.17(typescript@5.8.3))
+ '@unocss/inspector': 66.3.3(vue@3.5.18(typescript@5.8.3))
chokidar: 3.6.0
magic-string: 0.30.17
pathe: 2.0.3
tinyglobby: 0.2.14
unplugin-utils: 0.2.4
- vite: rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3)
+ vite: rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3)
transitivePeerDependencies:
- vue
- '@vitejs/plugin-vue@6.0.0(rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3))(vue@3.5.17(typescript@5.8.3))':
+ '@vitejs/plugin-vue@6.0.0(rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))':
dependencies:
'@rolldown/pluginutils': 1.0.0-beta.19
- vite: rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3)
- vue: 3.5.17(typescript@5.8.3)
+ vite: rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3)
+ vue: 3.5.18(typescript@5.8.3)
'@vitest/expect@3.2.4':
dependencies:
@@ -2666,13 +2986,13 @@ snapshots:
chai: 5.2.1
tinyrainbow: 2.0.0
- '@vitest/mocker@3.2.4(vite@7.0.5(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3))':
+ '@vitest/mocker@3.2.4(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3))':
dependencies:
'@vitest/spy': 3.2.4
estree-walker: 3.0.3
magic-string: 0.30.17
optionalDependencies:
- vite: 7.0.5(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)
+ vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)
'@vitest/pretty-format@3.2.4':
dependencies:
@@ -2697,7 +3017,7 @@ snapshots:
'@vitest/utils@3.2.4':
dependencies:
'@vitest/pretty-format': 3.2.4
- loupe: 3.1.4
+ loupe: 3.2.0
tinyrainbow: 2.0.0
'@volar/language-core@2.4.20':
@@ -2712,47 +3032,65 @@ snapshots:
path-browserify: 1.0.1
vscode-uri: 3.1.0
- '@vue/compiler-core@3.5.17':
+ '@vue/compiler-core@3.5.18':
dependencies:
'@babel/parser': 7.28.0
- '@vue/shared': 3.5.17
+ '@vue/shared': 3.5.18
entities: 4.5.0
estree-walker: 2.0.2
source-map-js: 1.2.1
- '@vue/compiler-dom@3.5.17':
+ '@vue/compiler-dom@3.5.18':
dependencies:
- '@vue/compiler-core': 3.5.17
- '@vue/shared': 3.5.17
+ '@vue/compiler-core': 3.5.18
+ '@vue/shared': 3.5.18
- '@vue/compiler-sfc@3.5.17':
+ '@vue/compiler-sfc@3.5.18':
dependencies:
'@babel/parser': 7.28.0
- '@vue/compiler-core': 3.5.17
- '@vue/compiler-dom': 3.5.17
- '@vue/compiler-ssr': 3.5.17
- '@vue/shared': 3.5.17
+ '@vue/compiler-core': 3.5.18
+ '@vue/compiler-dom': 3.5.18
+ '@vue/compiler-ssr': 3.5.18
+ '@vue/shared': 3.5.18
estree-walker: 2.0.2
magic-string: 0.30.17
postcss: 8.5.6
source-map-js: 1.2.1
- '@vue/compiler-ssr@3.5.17':
+ '@vue/compiler-ssr@3.5.18':
dependencies:
- '@vue/compiler-dom': 3.5.17
- '@vue/shared': 3.5.17
+ '@vue/compiler-dom': 3.5.18
+ '@vue/shared': 3.5.18
'@vue/compiler-vue2@2.7.16':
dependencies:
de-indent: 1.0.2
he: 1.2.0
- '@vue/language-core@3.0.3(typescript@5.8.3)':
+ '@vue/devtools-api@7.7.7':
+ dependencies:
+ '@vue/devtools-kit': 7.7.7
+
+ '@vue/devtools-kit@7.7.7':
+ dependencies:
+ '@vue/devtools-shared': 7.7.7
+ birpc: 2.5.0
+ hookable: 5.5.3
+ mitt: 3.0.1
+ perfect-debounce: 1.0.0
+ speakingurl: 14.0.1
+ superjson: 2.2.2
+
+ '@vue/devtools-shared@7.7.7':
+ dependencies:
+ rfdc: 1.4.1
+
+ '@vue/language-core@3.0.4(typescript@5.8.3)':
dependencies:
'@volar/language-core': 2.4.20
- '@vue/compiler-dom': 3.5.17
+ '@vue/compiler-dom': 3.5.18
'@vue/compiler-vue2': 2.7.16
- '@vue/shared': 3.5.17
+ '@vue/shared': 3.5.18
alien-signals: 2.0.5
muggle-string: 0.4.1
path-browserify: 1.0.1
@@ -2760,47 +3098,47 @@ snapshots:
optionalDependencies:
typescript: 5.8.3
- '@vue/reactivity@3.5.17':
+ '@vue/reactivity@3.5.18':
dependencies:
- '@vue/shared': 3.5.17
+ '@vue/shared': 3.5.18
- '@vue/runtime-core@3.5.17':
+ '@vue/runtime-core@3.5.18':
dependencies:
- '@vue/reactivity': 3.5.17
- '@vue/shared': 3.5.17
+ '@vue/reactivity': 3.5.18
+ '@vue/shared': 3.5.18
- '@vue/runtime-dom@3.5.17':
+ '@vue/runtime-dom@3.5.18':
dependencies:
- '@vue/reactivity': 3.5.17
- '@vue/runtime-core': 3.5.17
- '@vue/shared': 3.5.17
+ '@vue/reactivity': 3.5.18
+ '@vue/runtime-core': 3.5.18
+ '@vue/shared': 3.5.18
csstype: 3.1.3
- '@vue/server-renderer@3.5.17(vue@3.5.17(typescript@5.8.3))':
+ '@vue/server-renderer@3.5.18(vue@3.5.18(typescript@5.8.3))':
dependencies:
- '@vue/compiler-ssr': 3.5.17
- '@vue/shared': 3.5.17
- vue: 3.5.17(typescript@5.8.3)
+ '@vue/compiler-ssr': 3.5.18
+ '@vue/shared': 3.5.18
+ vue: 3.5.18(typescript@5.8.3)
- '@vue/shared@3.5.17': {}
+ '@vue/shared@3.5.18': {}
'@vue/test-utils@2.4.6':
dependencies:
js-beautify: 1.15.4
vue-component-type-helpers: 2.2.12
- '@vueuse/core@13.5.0(vue@3.5.17(typescript@5.8.3))':
+ '@vueuse/core@13.5.0(vue@3.5.18(typescript@5.8.3))':
dependencies:
'@types/web-bluetooth': 0.0.21
'@vueuse/metadata': 13.5.0
- '@vueuse/shared': 13.5.0(vue@3.5.17(typescript@5.8.3))
- vue: 3.5.17(typescript@5.8.3)
+ '@vueuse/shared': 13.5.0(vue@3.5.18(typescript@5.8.3))
+ vue: 3.5.18(typescript@5.8.3)
'@vueuse/metadata@13.5.0': {}
- '@vueuse/shared@13.5.0(vue@3.5.17(typescript@5.8.3))':
+ '@vueuse/shared@13.5.0(vue@3.5.18(typescript@5.8.3))':
dependencies:
- vue: 3.5.17(typescript@5.8.3)
+ vue: 3.5.18(typescript@5.8.3)
abbrev@2.0.0: {}
@@ -2827,6 +3165,8 @@ snapshots:
normalize-path: 3.0.0
picomatch: 2.3.1
+ argparse@2.0.1: {}
+
aria-query@5.1.3:
dependencies:
deep-equal: 2.2.3
@@ -2848,6 +3188,8 @@ snapshots:
binary-extensions@2.3.0: {}
+ birpc@2.5.0: {}
+
brace-expansion@2.0.2:
dependencies:
balanced-match: 1.0.2
@@ -2880,7 +3222,7 @@ snapshots:
assertion-error: 2.0.1
check-error: 2.1.1
deep-eql: 5.0.2
- loupe: 3.1.4
+ loupe: 3.2.0
pathval: 2.0.1
chalk@4.1.2:
@@ -2923,6 +3265,10 @@ snapshots:
consola@3.4.2: {}
+ copy-anything@3.0.5:
+ dependencies:
+ is-what: 4.1.16
+
cross-spawn@7.0.6:
dependencies:
path-key: 3.1.1
@@ -3075,6 +3421,22 @@ snapshots:
exsolve@1.0.7: {}
+ fast-glob@3.3.3:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
+
+ fastq@1.19.1:
+ dependencies:
+ reusify: 1.1.0
+
+ fd-package-json@2.0.0:
+ dependencies:
+ walk-up-path: 4.0.0
+
fdir@6.4.6(picomatch@4.0.3):
optionalDependencies:
picomatch: 4.0.3
@@ -3092,6 +3454,10 @@ snapshots:
cross-spawn: 7.0.6
signal-exit: 4.1.0
+ formatly@0.2.4:
+ dependencies:
+ fd-package-json: 2.0.0
+
fsevents@2.3.3:
optional: true
@@ -3169,6 +3535,8 @@ snapshots:
he@1.2.0: {}
+ hookable@5.5.3: {}
+
html2canvas@1.4.1:
dependencies:
css-line-break: 2.1.0
@@ -3263,6 +3631,8 @@ snapshots:
call-bound: 1.0.4
get-intrinsic: 1.3.0
+ is-what@4.1.16: {}
+
isarray@2.0.5: {}
isexe@2.0.0: {}
@@ -3273,7 +3643,7 @@ snapshots:
optionalDependencies:
'@pkgjs/parseargs': 0.11.0
- jiti@2.4.2: {}
+ jiti@2.5.1: {}
js-beautify@1.15.4:
dependencies:
@@ -3289,6 +3659,28 @@ snapshots:
js-tokens@9.0.1: {}
+ js-yaml@4.1.0:
+ dependencies:
+ argparse: 2.0.1
+
+ knip@5.62.0(@types/node@24.1.0)(typescript@5.8.3):
+ dependencies:
+ '@nodelib/fs.walk': 1.2.8
+ '@types/node': 24.1.0
+ fast-glob: 3.3.3
+ formatly: 0.2.4
+ jiti: 2.5.1
+ js-yaml: 4.1.0
+ minimist: 1.2.8
+ oxc-resolver: 11.6.0
+ picocolors: 1.1.1
+ picomatch: 4.0.3
+ smol-toml: 1.4.1
+ strip-json-comments: 5.0.2
+ typescript: 5.8.3
+ zod: 3.25.76
+ zod-validation-error: 3.5.3(zod@3.25.76)
+
kolorist@1.8.0: {}
lightningcss-darwin-arm64@1.30.1:
@@ -3342,7 +3734,7 @@ snapshots:
pkg-types: 2.2.0
quansync: 0.2.10
- loupe@3.1.4: {}
+ loupe@3.2.0: {}
lru-cache@10.4.3: {}
@@ -3358,6 +3750,13 @@ snapshots:
mdn-data@2.12.2: {}
+ merge2@1.4.1: {}
+
+ micromatch@4.0.8:
+ dependencies:
+ braces: 3.0.3
+ picomatch: 2.3.1
+
minimatch@9.0.1:
dependencies:
brace-expansion: 2.0.2
@@ -3366,8 +3765,12 @@ snapshots:
dependencies:
brace-expansion: 2.0.2
+ minimist@1.2.8: {}
+
minipass@7.1.2: {}
+ mitt@3.0.1: {}
+
mlly@1.7.4:
dependencies:
acorn: 8.15.0
@@ -3383,6 +3786,8 @@ snapshots:
nanoid@3.3.11: {}
+ napi-postinstall@0.3.2: {}
+
node-fetch-native@1.6.6: {}
nopt@7.2.1:
@@ -3435,16 +3840,40 @@ snapshots:
'@oxc-parser/binding-win32-arm64-msvc': 0.74.0
'@oxc-parser/binding-win32-x64-msvc': 0.74.0
- oxlint@1.7.0:
+ oxc-resolver@11.6.0:
+ dependencies:
+ napi-postinstall: 0.3.2
+ optionalDependencies:
+ '@oxc-resolver/binding-android-arm-eabi': 11.6.0
+ '@oxc-resolver/binding-android-arm64': 11.6.0
+ '@oxc-resolver/binding-darwin-arm64': 11.6.0
+ '@oxc-resolver/binding-darwin-x64': 11.6.0
+ '@oxc-resolver/binding-freebsd-x64': 11.6.0
+ '@oxc-resolver/binding-linux-arm-gnueabihf': 11.6.0
+ '@oxc-resolver/binding-linux-arm-musleabihf': 11.6.0
+ '@oxc-resolver/binding-linux-arm64-gnu': 11.6.0
+ '@oxc-resolver/binding-linux-arm64-musl': 11.6.0
+ '@oxc-resolver/binding-linux-ppc64-gnu': 11.6.0
+ '@oxc-resolver/binding-linux-riscv64-gnu': 11.6.0
+ '@oxc-resolver/binding-linux-riscv64-musl': 11.6.0
+ '@oxc-resolver/binding-linux-s390x-gnu': 11.6.0
+ '@oxc-resolver/binding-linux-x64-gnu': 11.6.0
+ '@oxc-resolver/binding-linux-x64-musl': 11.6.0
+ '@oxc-resolver/binding-wasm32-wasi': 11.6.0
+ '@oxc-resolver/binding-win32-arm64-msvc': 11.6.0
+ '@oxc-resolver/binding-win32-ia32-msvc': 11.6.0
+ '@oxc-resolver/binding-win32-x64-msvc': 11.6.0
+
+ oxlint@1.8.0:
optionalDependencies:
- '@oxlint/darwin-arm64': 1.7.0
- '@oxlint/darwin-x64': 1.7.0
- '@oxlint/linux-arm64-gnu': 1.7.0
- '@oxlint/linux-arm64-musl': 1.7.0
- '@oxlint/linux-x64-gnu': 1.7.0
- '@oxlint/linux-x64-musl': 1.7.0
- '@oxlint/win32-arm64': 1.7.0
- '@oxlint/win32-x64': 1.7.0
+ '@oxlint/darwin-arm64': 1.8.0
+ '@oxlint/darwin-x64': 1.8.0
+ '@oxlint/linux-arm64-gnu': 1.8.0
+ '@oxlint/linux-arm64-musl': 1.8.0
+ '@oxlint/linux-x64-gnu': 1.8.0
+ '@oxlint/linux-x64-musl': 1.8.0
+ '@oxlint/win32-arm64': 1.8.0
+ '@oxlint/win32-x64': 1.8.0
package-json-from-dist@1.0.1: {}
@@ -3473,6 +3902,13 @@ snapshots:
picomatch@4.0.3: {}
+ pinia@3.0.3(typescript@5.8.3)(vue@3.5.18(typescript@5.8.3)):
+ dependencies:
+ '@vue/devtools-api': 7.7.7
+ vue: 3.5.18(typescript@5.8.3)
+ optionalDependencies:
+ typescript: 5.8.3
+
pkg-types@1.3.1:
dependencies:
confbox: 0.1.8
@@ -3505,6 +3941,8 @@ snapshots:
quansync@0.2.10: {}
+ queue-microtask@1.2.3: {}
+
react-is@17.0.2: {}
readdirp@3.6.0:
@@ -3523,76 +3961,84 @@ snapshots:
resolve-pkg-maps@1.0.0:
optional: true
- rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3):
+ reusify@1.1.0: {}
+
+ rfdc@1.4.1: {}
+
+ rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3):
dependencies:
fdir: 6.4.6(picomatch@4.0.3)
lightningcss: 1.30.1
picomatch: 4.0.3
postcss: 8.5.6
- rolldown: 1.0.0-beta.27
+ rolldown: 1.0.0-beta.29
tinyglobby: 0.2.14
optionalDependencies:
- '@types/node': 24.0.15
+ '@types/node': 24.1.0
esbuild: 0.25.8
fsevents: 2.3.3
- jiti: 2.4.2
+ jiti: 2.5.1
tsx: 4.20.3
- rolldown@1.0.0-beta.27:
+ rolldown@1.0.0-beta.29:
dependencies:
- '@oxc-project/runtime': 0.77.0
- '@oxc-project/types': 0.77.0
- '@rolldown/pluginutils': 1.0.0-beta.27
+ '@oxc-project/runtime': 0.77.3
+ '@oxc-project/types': 0.77.3
+ '@rolldown/pluginutils': 1.0.0-beta.29
ansis: 4.1.0
optionalDependencies:
- '@rolldown/binding-android-arm64': 1.0.0-beta.27
- '@rolldown/binding-darwin-arm64': 1.0.0-beta.27
- '@rolldown/binding-darwin-x64': 1.0.0-beta.27
- '@rolldown/binding-freebsd-x64': 1.0.0-beta.27
- '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.27
- '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.27
- '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.27
- '@rolldown/binding-linux-arm64-ohos': 1.0.0-beta.27
- '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.27
- '@rolldown/binding-linux-x64-musl': 1.0.0-beta.27
- '@rolldown/binding-wasm32-wasi': 1.0.0-beta.27
- '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.27
- '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.27
- '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.27
-
- rollup-plugin-swc-minify@1.3.0(rollup@4.45.1):
- dependencies:
- '@swc/core': 1.13.1
- rollup: 4.45.1
+ '@rolldown/binding-android-arm64': 1.0.0-beta.29
+ '@rolldown/binding-darwin-arm64': 1.0.0-beta.29
+ '@rolldown/binding-darwin-x64': 1.0.0-beta.29
+ '@rolldown/binding-freebsd-x64': 1.0.0-beta.29
+ '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.29
+ '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.29
+ '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.29
+ '@rolldown/binding-linux-arm64-ohos': 1.0.0-beta.29
+ '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.29
+ '@rolldown/binding-linux-x64-musl': 1.0.0-beta.29
+ '@rolldown/binding-wasm32-wasi': 1.0.0-beta.29
+ '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.29
+ '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.29
+ '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29
+
+ rollup-plugin-swc-minify@1.3.0(rollup@4.45.3):
+ dependencies:
+ '@swc/core': 1.13.2
+ rollup: 4.45.3
transitivePeerDependencies:
- '@swc/helpers'
- rollup@4.45.1:
+ rollup@4.45.3:
dependencies:
'@types/estree': 1.0.8
optionalDependencies:
- '@rollup/rollup-android-arm-eabi': 4.45.1
- '@rollup/rollup-android-arm64': 4.45.1
- '@rollup/rollup-darwin-arm64': 4.45.1
- '@rollup/rollup-darwin-x64': 4.45.1
- '@rollup/rollup-freebsd-arm64': 4.45.1
- '@rollup/rollup-freebsd-x64': 4.45.1
- '@rollup/rollup-linux-arm-gnueabihf': 4.45.1
- '@rollup/rollup-linux-arm-musleabihf': 4.45.1
- '@rollup/rollup-linux-arm64-gnu': 4.45.1
- '@rollup/rollup-linux-arm64-musl': 4.45.1
- '@rollup/rollup-linux-loongarch64-gnu': 4.45.1
- '@rollup/rollup-linux-powerpc64le-gnu': 4.45.1
- '@rollup/rollup-linux-riscv64-gnu': 4.45.1
- '@rollup/rollup-linux-riscv64-musl': 4.45.1
- '@rollup/rollup-linux-s390x-gnu': 4.45.1
- '@rollup/rollup-linux-x64-gnu': 4.45.1
- '@rollup/rollup-linux-x64-musl': 4.45.1
- '@rollup/rollup-win32-arm64-msvc': 4.45.1
- '@rollup/rollup-win32-ia32-msvc': 4.45.1
- '@rollup/rollup-win32-x64-msvc': 4.45.1
+ '@rollup/rollup-android-arm-eabi': 4.45.3
+ '@rollup/rollup-android-arm64': 4.45.3
+ '@rollup/rollup-darwin-arm64': 4.45.3
+ '@rollup/rollup-darwin-x64': 4.45.3
+ '@rollup/rollup-freebsd-arm64': 4.45.3
+ '@rollup/rollup-freebsd-x64': 4.45.3
+ '@rollup/rollup-linux-arm-gnueabihf': 4.45.3
+ '@rollup/rollup-linux-arm-musleabihf': 4.45.3
+ '@rollup/rollup-linux-arm64-gnu': 4.45.3
+ '@rollup/rollup-linux-arm64-musl': 4.45.3
+ '@rollup/rollup-linux-loongarch64-gnu': 4.45.3
+ '@rollup/rollup-linux-ppc64-gnu': 4.45.3
+ '@rollup/rollup-linux-riscv64-gnu': 4.45.3
+ '@rollup/rollup-linux-riscv64-musl': 4.45.3
+ '@rollup/rollup-linux-s390x-gnu': 4.45.3
+ '@rollup/rollup-linux-x64-gnu': 4.45.3
+ '@rollup/rollup-linux-x64-musl': 4.45.3
+ '@rollup/rollup-win32-arm64-msvc': 4.45.3
+ '@rollup/rollup-win32-ia32-msvc': 4.45.3
+ '@rollup/rollup-win32-x64-msvc': 4.45.3
fsevents: 2.3.3
+ run-parallel@1.2.0:
+ dependencies:
+ queue-microtask: 1.2.3
+
safe-regex-test@1.1.0:
dependencies:
call-bound: 1.0.4
@@ -3661,8 +4107,12 @@ snapshots:
mrmime: 2.0.1
totalist: 3.0.1
+ smol-toml@1.4.1: {}
+
source-map-js@1.2.1: {}
+ speakingurl@14.0.1: {}
+
stackback@0.0.2: {}
std-env@3.9.0: {}
@@ -3692,10 +4142,16 @@ snapshots:
dependencies:
ansi-regex: 6.1.0
+ strip-json-comments@5.0.2: {}
+
strip-literal@3.0.0:
dependencies:
js-tokens: 9.0.1
+ superjson@2.2.2:
+ dependencies:
+ copy-anything: 3.0.5
+
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
@@ -3746,16 +4202,16 @@ snapshots:
dependencies:
'@quansync/fs': 0.1.3
defu: 6.1.4
- jiti: 2.4.2
+ jiti: 2.5.1
quansync: 0.2.10
undici-types@6.21.0: {}
undici-types@7.8.0: {}
- unocss@66.3.3(postcss@8.5.6)(rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3))(vue@3.5.17(typescript@5.8.3)):
+ unocss@66.3.3(postcss@8.5.6)(rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3)):
dependencies:
- '@unocss/astro': 66.3.3(rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3))(vue@3.5.17(typescript@5.8.3))
+ '@unocss/astro': 66.3.3(rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))
'@unocss/cli': 66.3.3
'@unocss/core': 66.3.3
'@unocss/postcss': 66.3.3(postcss@8.5.6)
@@ -3773,9 +4229,9 @@ snapshots:
'@unocss/transformer-compile-class': 66.3.3
'@unocss/transformer-directives': 66.3.3
'@unocss/transformer-variant-group': 66.3.3
- '@unocss/vite': 66.3.3(rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3))(vue@3.5.17(typescript@5.8.3))
+ '@unocss/vite': 66.3.3(rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3))(vue@3.5.18(typescript@5.8.3))
optionalDependencies:
- vite: rolldown-vite@7.0.9(@types/node@24.0.15)(esbuild@0.25.8)(jiti@2.4.2)(tsx@4.20.3)
+ vite: rolldown-vite@7.0.11(@types/node@24.1.0)(esbuild@0.25.8)(jiti@2.5.1)(tsx@4.20.3)
transitivePeerDependencies:
- postcss
- supports-color
@@ -3790,13 +4246,13 @@ snapshots:
dependencies:
base64-arraybuffer: 1.0.2
- vite-node@3.2.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3):
+ vite-node@3.2.4(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3):
dependencies:
cac: 6.7.14
debug: 4.4.1
es-module-lexer: 1.7.0
pathe: 2.0.3
- vite: 7.0.5(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)
+ vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)
transitivePeerDependencies:
- '@types/node'
- jiti
@@ -3811,26 +4267,26 @@ snapshots:
- tsx
- yaml
- vite@7.0.5(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3):
+ vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3):
dependencies:
esbuild: 0.25.8
fdir: 6.4.6(picomatch@4.0.3)
picomatch: 4.0.3
postcss: 8.5.6
- rollup: 4.45.1
+ rollup: 4.45.3
tinyglobby: 0.2.14
optionalDependencies:
- '@types/node': 24.0.15
+ '@types/node': 24.1.0
fsevents: 2.3.3
- jiti: 2.4.2
+ jiti: 2.5.1
lightningcss: 1.30.1
tsx: 4.20.3
- vitest@3.2.4(@types/node@24.0.15)(happy-dom@18.0.1)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3):
+ vitest@3.2.4(@types/node@24.1.0)(happy-dom@18.0.1)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3):
dependencies:
'@types/chai': 5.2.2
'@vitest/expect': 3.2.4
- '@vitest/mocker': 3.2.4(vite@7.0.5(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3))
+ '@vitest/mocker': 3.2.4(vite@7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3))
'@vitest/pretty-format': 3.2.4
'@vitest/runner': 3.2.4
'@vitest/snapshot': 3.2.4
@@ -3848,11 +4304,11 @@ snapshots:
tinyglobby: 0.2.14
tinypool: 1.1.1
tinyrainbow: 2.0.0
- vite: 7.0.5(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)
- vite-node: 3.2.4(@types/node@24.0.15)(jiti@2.4.2)(lightningcss@1.30.1)(tsx@4.20.3)
+ vite: 7.0.6(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)
+ vite-node: 3.2.4(@types/node@24.1.0)(jiti@2.5.1)(lightningcss@1.30.1)(tsx@4.20.3)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 24.0.15
+ '@types/node': 24.1.0
happy-dom: 18.0.1
transitivePeerDependencies:
- jiti
@@ -3872,26 +4328,28 @@ snapshots:
vue-component-type-helpers@2.2.12: {}
- vue-flow-layout@0.1.1(vue@3.5.17(typescript@5.8.3)):
+ vue-flow-layout@0.1.1(vue@3.5.18(typescript@5.8.3)):
dependencies:
- vue: 3.5.17(typescript@5.8.3)
+ vue: 3.5.18(typescript@5.8.3)
- vue-tsc@3.0.3(typescript@5.8.3):
+ vue-tsc@3.0.4(typescript@5.8.3):
dependencies:
'@volar/typescript': 2.4.20
- '@vue/language-core': 3.0.3(typescript@5.8.3)
+ '@vue/language-core': 3.0.4(typescript@5.8.3)
typescript: 5.8.3
- vue@3.5.17(typescript@5.8.3):
+ vue@3.5.18(typescript@5.8.3):
dependencies:
- '@vue/compiler-dom': 3.5.17
- '@vue/compiler-sfc': 3.5.17
- '@vue/runtime-dom': 3.5.17
- '@vue/server-renderer': 3.5.17(vue@3.5.17(typescript@5.8.3))
- '@vue/shared': 3.5.17
+ '@vue/compiler-dom': 3.5.18
+ '@vue/compiler-sfc': 3.5.18
+ '@vue/runtime-dom': 3.5.18
+ '@vue/server-renderer': 3.5.18(vue@3.5.18(typescript@5.8.3))
+ '@vue/shared': 3.5.18
optionalDependencies:
typescript: 5.8.3
+ walk-up-path@4.0.0: {}
+
whatwg-mimetype@3.0.0: {}
which-boxed-primitive@1.1.1:
@@ -3939,3 +4397,9 @@ snapshots:
ansi-styles: 6.2.1
string-width: 5.1.2
strip-ansi: 7.1.0
+
+ zod-validation-error@3.5.3(zod@3.25.76):
+ dependencies:
+ zod: 3.25.76
+
+ zod@3.25.76: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
deleted file mode 100644
index 7c32629..0000000
--- a/pnpm-workspace.yaml
+++ /dev/null
@@ -1,3 +0,0 @@
-onlyBuiltDependencies:
- - '@swc/core'
- - esbuild
diff --git a/public/errorCircle.svg b/public/errorCircle.svg
new file mode 100644
index 0000000..fd79f51
--- /dev/null
+++ b/public/errorCircle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/infoCircle.svg b/public/infoCircle.svg
new file mode 100644
index 0000000..e2c3986
--- /dev/null
+++ b/public/infoCircle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/successCircle.svg b/public/successCircle.svg
new file mode 100644
index 0000000..a3ce08e
--- /dev/null
+++ b/public/successCircle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/public/warningCircle.svg b/public/warningCircle.svg
new file mode 100644
index 0000000..0c90ce7
--- /dev/null
+++ b/public/warningCircle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
index 6a4ade9..6039762 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -7,6 +7,7 @@ import { SaveSiteOptions } from '#utils/storage'
import Chart from '#components/Chart.vue'
import Sidebar from '#components/Sidebar.vue'
+import ToastRenderer from '#components/ToastRenderer.vue'
const renderChart = ref(false)
@@ -37,6 +38,7 @@ watchDebounced(
+
diff --git a/src/main.ts b/src/main.ts
index bec7438..6013dfc 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,13 +1,14 @@
import { createApp } from 'vue'
import App from './App.vue'
+import { createPinia } from 'pinia'
import { version as PackageVersion } from '#root/package.json'
-// import { Toast } from 'buefy'
import './uno.css'
import './global.css'
import 'virtual:uno.css'
const app = createApp(App)
-// app.use(Toast)
+const pinia = createPinia()
+app.use(pinia)
app.mount('#app')
addVersionMetaTag()
diff --git a/src/stores/toaster.ts b/src/stores/toaster.ts
new file mode 100644
index 0000000..f00dccb
--- /dev/null
+++ b/src/stores/toaster.ts
@@ -0,0 +1,56 @@
+import { defineStore } from 'pinia'
+import { ref } from 'vue'
+
+export type ToastType = 'success' | 'warning' | 'error' | 'info'
+
+export interface ToastOptions {
+ text: string
+ status?: ToastType
+ timeout?: number | 'none'
+}
+
+interface Toast {
+ text: string
+ status: ToastType
+ id: number
+}
+
+const defaultTimeout = 3000
+
+function getRandomInt() {
+ return Math.floor(Math.random() * 1000000)
+}
+
+export const ToasterStore = defineStore('toaster-store', () => {
+ const toasts = ref([])
+
+ function getToastById(toastId: number) {
+ return toasts.value.findIndex((toast) => toast.id === toastId)
+ }
+
+ function updateState(options: ToastOptions) {
+ const toastId = getRandomInt()
+
+ toasts.value.push({
+ text: options.text,
+ status: options.status ?? 'info',
+ id: toastId,
+ })
+
+ if (options.timeout !== 'none') {
+ setTimeout(() => {
+ toasts.value.splice(getToastById(toastId), 1)
+ }, options.timeout ?? defaultTimeout)
+ }
+ }
+
+ function newToast(options: ToastOptions) {
+ updateState(options)
+ }
+
+ function removeToast(toastId: number) {
+ toasts.value.splice(getToastById(toastId), 1)
+ }
+
+ return { toasts, newToast, removeToast }
+})
diff --git a/src/types/types.ts b/src/types/types.ts
index 4353f21..d072a02 100644
--- a/src/types/types.ts
+++ b/src/types/types.ts
@@ -27,11 +27,10 @@ export interface ChartPreset {
rowSizes: number[]
}
-export interface ChartOptions {
+interface ChartOptions {
// not changing property name for backwards compat
// but the name was naive on my part
chartSize: ChartPreset
-
chartTitle: string
displayTitles: boolean
displayNumberRank: boolean
diff --git a/src/utils/importExport/topsters2.ts b/src/utils/importExport/topsters2.ts
index 7866c1a..b6b8db5 100644
--- a/src/utils/importExport/topsters2.ts
+++ b/src/utils/importExport/topsters2.ts
@@ -13,6 +13,9 @@ import {
import { setCurrentChart, setStoredChart } from '#utils/storage'
import type { AlbumTile } from '#types'
+import { ToasterStore } from '#stores/toaster'
+
+const toasterStore = ToasterStore()
type BooleanButStrings = 'true' | 'false'
@@ -91,144 +94,158 @@ export function importFromTopsters2(event: Event) {
const fileReader = new FileReader()
fileReader.onload = async (event) => {
- const encodedTopsters2 = event.target?.result
+ try {
+ const encodedTopsters2 = event.target?.result
- if (!encodedTopsters2) {
- // BAD PATH REACHED!
- // TODO handle this
- return
- }
+ if (!encodedTopsters2) {
+ throw new Error('Invalid event target.)')
+ }
- const decodedTopsters2 = JSON.parse(
- atob(
- (encodedTopsters2 as string)
- .split('')
- .map((currentCharacter) =>
- // Base64 characters that are shifted by 17
- String.fromCharCode(currentCharacter.charCodeAt(0) - 17),
- )
- .join(''),
- ),
- )[0] as Topsters2DecodedJson
-
- const topsters2Keys = Object.keys(decodedTopsters2)
-
- const namedCardsProperty = topsters2Keys.find((value) =>
- value.includes('cards-cards'),
- )
- let partiallyDecodedTopsters2Cards: Uint8Array
- let decodedTopsters2CardsArray: Topsters2ChartArray
-
- if (
- namedCardsProperty &&
- decodedTopsters2[namedCardsProperty].length >
- decodedTopsters2.cards.length
- ) {
- partiallyDecodedTopsters2Cards = getPartiallyDecodedTopsters2Cards({
- propertyName: namedCardsProperty,
- decodedTopsters2,
- })
+ const decodedTopsters2 = JSON.parse(
+ atob(
+ (encodedTopsters2 as string)
+ .split('')
+ .map((currentCharacter) =>
+ // Base64 characters that are shifted by 17
+ String.fromCharCode(currentCharacter.charCodeAt(0) - 17),
+ )
+ .join(''),
+ ),
+ )[0] as Topsters2DecodedJson
- decodedTopsters2CardsArray = await getDecodedTopsters2CardsArray(
- partiallyDecodedTopsters2Cards,
- )
- } else {
- partiallyDecodedTopsters2Cards = getPartiallyDecodedTopsters2Cards({
- propertyName: 'cards',
- decodedTopsters2,
- })
+ const topsters2Keys = Object.keys(decodedTopsters2)
- decodedTopsters2CardsArray = await getDecodedTopsters2CardsArray(
- partiallyDecodedTopsters2Cards,
+ const namedCardsProperty = topsters2Keys.find((value) =>
+ value.includes('cards-cards'),
)
- }
-
- decodedTopsters2CardsArray.splice(Number(decodedTopsters2.size))
-
- const newAlbumTileArray: AlbumTile[][] = []
- let usedRowSizes: number[] = []
+ let partiallyDecodedTopsters2Cards: Uint8Array
+ let decodedTopsters2CardsArray: Topsters2ChartArray
- const chartSize = Number(decodedTopsters2.size)
-
- switch (chartSize) {
- case 100: {
- topsters2CardsArrayToAlbumTileArrayArray({
- decodedTopsters2CardsArray,
- newAlbumTileArray,
- rowSizes: top100.rowSizes,
- })
- usedRowSizes = top100.rowSizes
- break
- }
- case 42: {
- topsters2CardsArrayToAlbumTileArrayArray({
- decodedTopsters2CardsArray,
- newAlbumTileArray,
- rowSizes: top42.rowSizes,
+ if (
+ namedCardsProperty &&
+ decodedTopsters2[namedCardsProperty].length >
+ decodedTopsters2.cards.length
+ ) {
+ partiallyDecodedTopsters2Cards = getPartiallyDecodedTopsters2Cards({
+ propertyName: namedCardsProperty,
+ decodedTopsters2,
})
- usedRowSizes = top42.rowSizes
- break
- }
- case 40: {
- // 40 = 5 x 8
- const rowSizesFor40 = [8, 8, 8, 8, 8]
- topsters2CardsArrayToAlbumTileArrayArray({
- decodedTopsters2CardsArray,
- newAlbumTileArray,
- rowSizes: rowSizesFor40,
+
+ decodedTopsters2CardsArray = await getDecodedTopsters2CardsArray(
+ partiallyDecodedTopsters2Cards,
+ )
+ } else {
+ partiallyDecodedTopsters2Cards = getPartiallyDecodedTopsters2Cards({
+ propertyName: 'cards',
+ decodedTopsters2,
})
- usedRowSizes = rowSizesFor40
- break
+
+ decodedTopsters2CardsArray = await getDecodedTopsters2CardsArray(
+ partiallyDecodedTopsters2Cards,
+ )
}
- default: {
- const factorsForRowSizes = getFactorsFromLength(chartSize)
- const generatedRowSizes: number[] = []
- for (let index = 0; index < factorsForRowSizes[0]; index++) {
- generatedRowSizes.push(factorsForRowSizes[1])
- index++
+ decodedTopsters2CardsArray.splice(Number(decodedTopsters2.size))
+
+ const newAlbumTileArray: AlbumTile[][] = []
+ let usedRowSizes: number[] = []
+
+ const chartSize = Number(decodedTopsters2.size)
+
+ switch (chartSize) {
+ case 100: {
+ topsters2CardsArrayToAlbumTileArrayArray({
+ decodedTopsters2CardsArray,
+ newAlbumTileArray,
+ rowSizes: top100.rowSizes,
+ })
+ usedRowSizes = top100.rowSizes
+ break
+ }
+ case 42: {
+ topsters2CardsArrayToAlbumTileArrayArray({
+ decodedTopsters2CardsArray,
+ newAlbumTileArray,
+ rowSizes: top42.rowSizes,
+ })
+ usedRowSizes = top42.rowSizes
+ break
+ }
+ case 40: {
+ // 40 = 5 x 8
+ const rowSizesFor40 = [8, 8, 8, 8, 8]
+ topsters2CardsArrayToAlbumTileArrayArray({
+ decodedTopsters2CardsArray,
+ newAlbumTileArray,
+ rowSizes: rowSizesFor40,
+ })
+ usedRowSizes = rowSizesFor40
+ break
}
- topsters2CardsArrayToAlbumTileArrayArray({
- decodedTopsters2CardsArray,
- newAlbumTileArray,
- rowSizes: generatedRowSizes,
- })
- usedRowSizes = generatedRowSizes
- break
+ default: {
+ const factorsForRowSizes = getFactorsFromLength(chartSize)
+ const generatedRowSizes: number[] = []
+ for (let index = 0; index < factorsForRowSizes[0]; index++) {
+ generatedRowSizes.push(factorsForRowSizes[1])
+ index++
+ }
+
+ topsters2CardsArrayToAlbumTileArrayArray({
+ decodedTopsters2CardsArray,
+ newAlbumTileArray,
+ rowSizes: generatedRowSizes,
+ })
+ usedRowSizes = generatedRowSizes
+ break
+ }
}
- }
- const pulledNameFromJson = topsters2Keys
- .filter((value) => value.includes('titled'))
- .find((value) => value.includes('cards'))
- ?.replace('-cards-titled', '')
-
- const newChartNameToSave = PreventNameCollision(
- pulledNameFromJson ? pulledNameFromJson : 'FailedToImportChartName',
- )
-
- // TODO: look into changing the default options
- const newChart = GenerateChartWithValues(
- newChartNameToSave,
- newAlbumTileArray,
- {
- default: false,
- rowSizes: usedRowSizes,
- presetName: 'Topsters2Import',
- },
- )
-
- // TODO: Look into extracting this out!
- StoredChartNames.value.unshift(newChartNameToSave)
- selectedChartTitle.value = newChartNameToSave
- setCurrentChart(newChartNameToSave)
- setStoredChart(newChartNameToSave, newChart)
- GlobalChartState.value = newChart
+ const pulledNameFromJson = topsters2Keys
+ .filter((value) => value.includes('titled'))
+ .find((value) => value.includes('cards'))
+ ?.replace('-cards-titled', '')
+
+ const newChartNameToSave = PreventNameCollision(
+ pulledNameFromJson ? pulledNameFromJson : 'FailedToImportChartName',
+ )
+
+ // TODO: look into changing the default options
+ const newChart = GenerateChartWithValues(
+ newChartNameToSave,
+ newAlbumTileArray,
+ {
+ default: false,
+ rowSizes: usedRowSizes,
+ presetName: 'Topsters2Import',
+ },
+ )
+
+ // TODO: Look into extracting this out!
+ StoredChartNames.value.unshift(newChartNameToSave)
+ selectedChartTitle.value = newChartNameToSave
+ setCurrentChart(newChartNameToSave)
+ setStoredChart(newChartNameToSave, newChart)
+ GlobalChartState.value = newChart
+ } catch (error: any) {
+ console.error(
+ `Error occurred importing from Topsters2, if this seems incorrect please report a bug (see site info!): ${error}`,
+ )
+ toasterStore.newToast({
+ text: 'Error occurred importing from Topsters2, see console.',
+ status: 'error',
+ })
+ }
}
fileReader.readAsText(topsters2ExportFile)
} catch (error: any) {
- console.error(`Error: ${error}`)
+ console.error(
+ `Error occurred importing from Topsters2, if this seems incorrect please report a bug (see site info!): ${error}`,
+ )
+ toasterStore.newToast({
+ text: 'Error occurred importing from Topsters2, see console.',
+ status: 'error',
+ })
}
}
diff --git a/tsconfig.json b/tsconfig.json
index 65d59f4..ac3c3f6 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -21,7 +21,8 @@
"#types": ["./src/types/types.ts"],
"#core/*": ["./src/components/CoreComponents/*"],
"#utils/*": ["./src/utils/*"],
- "#lastfm/*": ["./src/lastfm/*"]
+ "#lastfm/*": ["./src/lastfm/*"],
+ "#stores/*": ["./src/stores/*"]
}
},
"include": [
diff --git a/vite.config.ts b/vite.config.ts
index 5399a49..b53cf49 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -26,6 +26,7 @@ export default defineConfig({
'#core': resolve(__dirname, './src/components/CoreComponents'),
'#utils': resolve(__dirname, './src/utils'),
'#lastfm': resolve(__dirname, './src/lastfm'),
+ '#stores': resolve(__dirname, './src/stores'),
},
},
})