git: e700246dea77 - main - www/evcc: update to 0.315.0
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 19 Sep 2026 08:01:29 UTC
The branch main has been updated by mfechner:
URL: https://cgit.FreeBSD.org/ports/commit/?id=e700246dea77269238c511c01ffbdb4c18a192f0
commit e700246dea77269238c511c01ffbdb4c18a192f0
Author: Martin Matuska <mm@FreeBSD.org>
AuthorDate: 2026-09-19 07:59:18 +0000
Commit: Matthias Fechner <mfechner@FreeBSD.org>
CommitDate: 2026-09-19 08:01:21 +0000
www/evcc: update to 0.315.0
Add patch to use vite-plus 0.2.9
Switch to build using vite-plus
Changes: https://github.com/evcc-io/evcc/releases
PR: 298306
---
www/evcc/Makefile | 30 +-
www/evcc/distinfo | 14 +-
www/evcc/files/patch-package-lock.json | 957 +++++++++++++++++++++++++++++++++
www/evcc/files/patch-package.json | 25 +
4 files changed, 1006 insertions(+), 20 deletions(-)
diff --git a/www/evcc/Makefile b/www/evcc/Makefile
index 6e4813508d37..699718ea53be 100644
--- a/www/evcc/Makefile
+++ b/www/evcc/Makefile
@@ -1,9 +1,8 @@
PORTNAME= evcc
-DISTVERSION= 0.313.3
-PORTREVISION= 3
+DISTVERSION= 0.315.0
CATEGORIES= www
-MASTER_SITES= LOCAL/mfechner/${PORTNAME}/:npmcache
-DISTFILES= ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX}:npmcache
+MASTER_SITES= LOCAL/mfechner/${PORTNAME}/:vpcache
+DISTFILES= ${PORTNAME}-vp-cache-${DISTVERSION}${EXTRACT_SUFX}:vpcache
MAINTAINER= mfechner@FreeBSD.org
COMMENT= Extensible EV Charge Controller
@@ -16,12 +15,12 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
ONLY_FOR_ARCHS= amd64
ONLY_FOR_ARCHS_REASON= Npm cache only for amd64 generated
-BUILD_DEPENDS= npm>0:www/npm
+BUILD_DEPENDS= vite-plus>0:devel/vite-plus
-USES= gmake go:1.26+,modules,no_targets nodejs:lts,build tar:zstd
+USES= gmake go:1.27+,modules,no_targets nodejs:26,build tar:zstd
# Find here: https://github.com/evcc-io/evcc/releases
-_SHA= ec8c5ec8ea7d44d8474b570db107419dc72bd139
+_SHA= a565f2d85048679a8222ee20b57d04f75e6fd8a5
USE_GITHUB= yes
GH_ACCOUNT= evcc-io
@@ -41,18 +40,23 @@ GROUPS= evcc
PLIST_FILES= bin/${PORTNAME}
pre-build:
- cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} npm ci --legacy-peer-deps
- #cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} npm run build
+ @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} vp env off
+ @echo '{"latest":"","checked_at":'`/bin/date +1"%s"`',"prompted_at":0}' > ${WRKDIR}/.vite-plus/.upgrade-check.json
+ cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} vp install --offline --ignore-scripts --frozen-lockfile
+ @${CP} -f ${LOCALBASE}/lib/vite-plus/libvite_plus_cli.so ${WRKSRC}/node_modules/vite-plus/binding/vite-plus.freebsd-x64.node
+ @${CP} -f ${LOCALBASE}/lib/vite-plus/librolldown_binding.so ${WRKSRC}/node_modules/vite/dist/rolldown/shared/rolldown-binding.freebsd-x64.node
+ @${CP} -f ${LOCALBASE}/lib/vite-plus/librolldown_binding.so ${WRKSRC}/node_modules/@voidzero-dev/vite-plus-core/dist/rolldown/shared/rolldown-binding.freebsd-x64.node
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/evcc ${STAGEDIR}${PREFIX}/bin
# (for maintainer) helper target to generate node_modules tarball
-make-npm-cache: patch
+make-vp-cache: patch
@cd ${WRKDIR} && ${RM} -r .npm
- @cd ${WRKSRC} && ${SETENV} HOME=${WRKDIR} npm ci --legacy-peer-deps
+ @cd ${WRKSRC} && ${SETENV} HOME=${WRKDIR} vp env off
+ @cd ${WRKSRC} && ${SETENV} HOME=${WRKDIR} vp install --ignore-scripts
@cd ${WRKDIR} \
- && ${TAR} -c --zstd -f ${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX} .npm \
- && ${ECHO} "Please upload the file: scp ${WRKDIR}/${PORTNAME}-npm-cache-${DISTVERSION}${EXTRACT_SUFX} mfechner@freefall.freebsd.org:public_distfiles/${PORTNAME}/"
+ && ${TAR} -c --zstd -f ${PORTNAME}-vp-cache-${DISTVERSION}${EXTRACT_SUFX} .npm .vite-plus \
+ && ${ECHO} "Please upload the file: scp ${WRKDIR}/${PORTNAME}-vp-cache-${DISTVERSION}${EXTRACT_SUFX} mfechner@freefall.freebsd.org:public_distfiles/${PORTNAME}/"
.include <bsd.port.mk>
diff --git a/www/evcc/distinfo b/www/evcc/distinfo
index c21889f20437..1eb40d212cc6 100644
--- a/www/evcc/distinfo
+++ b/www/evcc/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1786633522
-SHA256 (go/www_evcc/evcc-io-evcc-0.313.3_GH0/evcc-npm-cache-0.313.3.tar.zst) = 4a41a4dc7ae9e0fc95e90c053f7f64fbaede22bf01419c6207e48c82db403e4a
-SIZE (go/www_evcc/evcc-io-evcc-0.313.3_GH0/evcc-npm-cache-0.313.3.tar.zst) = 88873555
-SHA256 (go/www_evcc/evcc-io-evcc-0.313.3_GH0/go.mod) = df580a1b2641313e076aa66869ff50cc95144012ea4afbf523636b0bbd05008b
-SIZE (go/www_evcc/evcc-io-evcc-0.313.3_GH0/go.mod) = 13147
-SHA256 (go/www_evcc/evcc-io-evcc-0.313.3_GH0/evcc-io-evcc-0.313.3_GH0.tar.gz) = edc859fb65f975370e2dde823a1c85eb07dbf99d7d1e643996ef27e5c0014b55
-SIZE (go/www_evcc/evcc-io-evcc-0.313.3_GH0/evcc-io-evcc-0.313.3_GH0.tar.gz) = 3337129
+TIMESTAMP = 1789804421
+SHA256 (go/www_evcc/evcc-io-evcc-0.315.0_GH0/evcc-vp-cache-0.315.0.tar.zst) = 757b622040377c6a6784e9ccb76070ca7d6ca7d3bc33b0100975416eff85766c
+SIZE (go/www_evcc/evcc-io-evcc-0.315.0_GH0/evcc-vp-cache-0.315.0.tar.zst) = 93492553
+SHA256 (go/www_evcc/evcc-io-evcc-0.315.0_GH0/go.mod) = df9e48e543c2e32a1bceb5d6ae6df7ab88254c923322dcbd63bbc0ab9e67b252
+SIZE (go/www_evcc/evcc-io-evcc-0.315.0_GH0/go.mod) = 12999
+SHA256 (go/www_evcc/evcc-io-evcc-0.315.0_GH0/evcc-io-evcc-0.315.0_GH0.tar.gz) = eeff2663593c085864e3131de5fcd8023759ea6fa34847ff0b5e9971a2ab1487
+SIZE (go/www_evcc/evcc-io-evcc-0.315.0_GH0/evcc-io-evcc-0.315.0_GH0.tar.gz) = 3529533
diff --git a/www/evcc/files/patch-package-lock.json b/www/evcc/files/patch-package-lock.json
new file mode 100644
index 000000000000..75a81c9c95ae
--- /dev/null
+++ b/www/evcc/files/patch-package-lock.json
@@ -0,0 +1,957 @@
+--- package-lock.json.orig 2026-08-31 16:21:16.000000000 +0200
++++ package-lock.json 2026-09-07 23:13:26.026463000 +0200
+@@ -62,14 +62,15 @@
+ "ts-json-schema-generator": "^2.9.0",
+ "tsx": "^4.23.12",
+ "typescript": "^5.9.3",
+- "vite": "npm:@voidzero-dev/vite-plus-core@0.2.6",
+- "vite-plus": "0.2.6",
++ "vite": "npm:@voidzero-dev/vite-plus-core@0.2.9",
++ "vite-plus": "0.2.9",
+ "vitest": "4.1.10",
+ "vue-hot-reload-api": "^2.3.4",
+ "vue-tsc": "^3.3.11",
+ "wait-on": "^9.1.0",
+ "ws": "^8.21.3",
+- "yaml": "^2.9.0"
++ "yaml": "^2.9.0",
++ "zrender": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=26.0.0",
+@@ -2829,9 +2830,9 @@
+ }
+ },
+ "node_modules/@oxc-project/runtime": {
+- "version": "0.141.0",
+- "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.141.0.tgz",
+- "integrity": "sha512-Z/6jQ0dyvE2fVjMUO7GoD4h+3q0G4lI4BWQNjaPhC4RPxaS4hF1b7/QYKB/Tl+KAQwqqKgMF54ukR/VvV5FILg==",
++ "version": "0.143.0",
++ "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.143.0.tgz",
++ "integrity": "sha512-zIuXUf+YGIgsPk0xlQmzTY8NCSc8jE/pSfDodlQ9H3EGZABmr+AtIjXRrnpQAXuXzhDSNqZz9cuhud8hDDLvpg==",
+ "devOptional": true,
+ "license": "MIT",
+ "engines": {
+@@ -3186,9 +3187,9 @@
+ ]
+ },
+ "node_modules/@oxfmt/binding-android-arm-eabi": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.60.0.tgz",
+- "integrity": "sha512-1q4q4Jc8FlOMVojEisyFAVyl8h1yawNv6phjgmhGVEDeyeOdsSnSr9x0+D4mOnEKvpO5L4mxKZ/DP9X6U3A/Mw==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm-eabi/-/binding-android-arm-eabi-0.62.0.tgz",
++ "integrity": "sha512-pdsv0C4gPjJ8H1+sd8u0BDx+yLACTL+rgeMIOL1ln4ihSnhw8CWXtYWgvcSkyTfgGBIzFKab+d8rx9Xl4en/Kw==",
+ "cpu": [
+ "arm"
+ ],
+@@ -3203,9 +3204,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-android-arm64": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.60.0.tgz",
+- "integrity": "sha512-tD41I6nCt9k8SQXft0CSjjU9jg6SwG7uMu7PxodSEHXl+GDW0868oy6tTtoJkyUze8YKFgTpz/k5LuPUnFiGLw==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-android-arm64/-/binding-android-arm64-0.62.0.tgz",
++ "integrity": "sha512-WC3YQ7uS/KtDrjmqwBviwFKe9qeoi+eXx8aX1z/ffG23Md75myjrJaQqTuJvdOLPoa4EYTjDWH0dHXfwulCVog==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3220,9 +3221,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-darwin-arm64": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.60.0.tgz",
+- "integrity": "sha512-TTpzPug96Zxdyb46KvTyIUQDdsqbumXh2TKG9C23PCT0kF7JkW56Z/quPuG9rqOFKQIi1gpRNZ7DX18LwxXPnw==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-arm64/-/binding-darwin-arm64-0.62.0.tgz",
++ "integrity": "sha512-GM8Yf3LjjaR1I8PD0SfeoIlwhsh9GvSF+cQ8sf624Yxnjsyumn95aFzYfKJVefblfDIiOAnZ7QVm2sa21Er/0Q==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3237,9 +3238,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-darwin-x64": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.60.0.tgz",
+- "integrity": "sha512-CnOoWgQ7L+JL/YQaRJ+NyATciSfcftncm7y3kqyte1cGtFEGnStaCd1TAyrinkfQ7nRBfHrTs1/vTwUJr3WF2Q==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-darwin-x64/-/binding-darwin-x64-0.62.0.tgz",
++ "integrity": "sha512-d5THp7F8bCxLqNogEXDORRsQD6dosf3EyFtnXfBer6v+8tGdcWIjoDX9WaXrrF/26zOmL8qHpPTKCEvpBDmZkQ==",
+ "cpu": [
+ "x64"
+ ],
+@@ -3254,9 +3255,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-freebsd-x64": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.60.0.tgz",
+- "integrity": "sha512-ychJo7S3hZxdO6eDZ9zM6F2lM9fpJS3EKS5CAUSWyprdLYxTu4gbaUKV/VBPTcMJwQa2Bpo+643y3OJ537pihA==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-freebsd-x64/-/binding-freebsd-x64-0.62.0.tgz",
++ "integrity": "sha512-1DnrtXGZooOZ0fHgAXZUaDQzBVh1CM2MNW4oBXyQ2aWKvCHjyljvT9fgBkOM0fEOb96X5eqtcfJ0YUVt9jj66g==",
+ "cpu": [
+ "x64"
+ ],
+@@ -3271,9 +3272,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-arm-gnueabihf": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.60.0.tgz",
+- "integrity": "sha512-36IH5o55T2Fx7E0feDttt+mifxN6yk9pWv4KfhAIsP0dFnUq27331OwbpOsZdoXF9soOLWm7mQUz5+UUmyec4g==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.62.0.tgz",
++ "integrity": "sha512-4pQDHOYRH+Huqe0StIaWyvk2CVl/aTaqSrbZpA3/pLS2xH24ME7lBgYprhQF2fRkHBzhGGGKliwxFsDdHwx59g==",
+ "cpu": [
+ "arm"
+ ],
+@@ -3288,9 +3289,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-arm-musleabihf": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.60.0.tgz",
+- "integrity": "sha512-G1Ve7lAa6sFBolVI2LWHfEAqy0YKh4vnioH8uYO9kAEdgM7mR40IksIx9/Zk4+vbYew/sGa4J9Q4tZ3n9gXDHA==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.62.0.tgz",
++ "integrity": "sha512-X0jAaZJFMCVKhB6YyWVTQ/wN2DLsBcZKSMqTS76bF6riT+XZdtg2FPEdjDvdVbunO9cG+tWiVaEs4Zs38lxYog==",
+ "cpu": [
+ "arm"
+ ],
+@@ -3305,9 +3306,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-arm64-gnu": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.60.0.tgz",
+- "integrity": "sha512-LTQdRBf6uzj/h7Xk6lKzbGD2hrF/fK4YI9LIN1c0509tPUn8wRa3mCmrFQpEWJPLYGFrLFFMTYW1Ljj6VqW2Hw==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.62.0.tgz",
++ "integrity": "sha512-682Z8T5s8T5ATArYtsejKvbIfd8LEAXyyDkKkoZVq8HND7Vx8TYLlrDjDSeYfodMeVwHOgkj13lJYR8cj6vUSg==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3325,9 +3326,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-arm64-musl": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.60.0.tgz",
+- "integrity": "sha512-2JMo3XPxMPx3hiqddSZYyaH+fKJm6cz0u8n1naYjP/CdOQOZW34i8lKBUfmbWiuFvd6KoYXLmhAyBuvojsYS7Q==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.62.0.tgz",
++ "integrity": "sha512-lk25fAl7KWaLWVJcW0CHEXB7QlQZtx5eDkjpaGMK0hzXTjUe0Wmlu8IKuFHoviSOcEJedRTs4VE/506VqGxGew==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3345,9 +3346,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-ppc64-gnu": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.60.0.tgz",
+- "integrity": "sha512-L3C+nBD13lr306tr/PjM3RMll+BVqgFrIgUyoeHuai5oueJrRLgO3j+GO5/Cbhtkf5PSlHYTI1JY7iqBd1qa6A==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.62.0.tgz",
++ "integrity": "sha512-SFyNqHQLwySceWNLhiSldx7wPXRAzP0L0WcW9GegP3uWrpZGJiZlQO85NbHAFPEfxR9PhZ9qSnZryEh7+v+4Gw==",
+ "cpu": [
+ "ppc64"
+ ],
+@@ -3365,9 +3366,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-riscv64-gnu": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.60.0.tgz",
+- "integrity": "sha512-M4MsmvqlxFiPtSRGyBYQSZxchEf463AOyd+Dh4/9xDpjWBsRtDUTDMFN5EdHinjVK1/eDJQ8MLpcYjpYayaCnA==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.62.0.tgz",
++ "integrity": "sha512-KYj55C1ywJfHo6+aKDuEmUtVEdJALsC5GwayDGsI6FGz2GxFqNr/mA8nxVsNbJzm7sE5MRqTQ9ziImSzhYXysA==",
+ "cpu": [
+ "riscv64"
+ ],
+@@ -3385,9 +3386,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-riscv64-musl": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.60.0.tgz",
+- "integrity": "sha512-OH+9UskYuxRB+GxqdGkVN8f5UpwhqG8YscNo1wl8+KJ62cd7wZdGga6iGLJIf8kibF1WBwvlfDUx3cez/VXwFg==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.62.0.tgz",
++ "integrity": "sha512-BhZDNo5GOU5nC378RhD0/XpvaEBHsH3HLgJp8YZX3A0InC7oivzA63HsRmiXFLtLSHAstEVrDf6fbC7Rs8Jh/A==",
+ "cpu": [
+ "riscv64"
+ ],
+@@ -3405,9 +3406,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-s390x-gnu": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.60.0.tgz",
+- "integrity": "sha512-y7AAFutt9wFWBFOAn6+BHaV39usZmcr3YYH2385f+NHgPNpIF9HpqKp0jgUxPaUOCyG3oaX5VhJduL1Nw164rw==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.62.0.tgz",
++ "integrity": "sha512-UyAFmyHkgSgUJ/wOM4p3U8AC2yAFvRH5PNBs7TnK0fObTT/XSWcdr/lAzPSWaekHaZFaMeFZyk9n93Joq3J93A==",
+ "cpu": [
+ "s390x"
+ ],
+@@ -3425,9 +3426,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-x64-gnu": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.60.0.tgz",
+- "integrity": "sha512-yKZ9+CXAI+1RO5nH/4Z/9M6DAsfOzd5bw/gtWk81KB4mpalMaRRSXfouc5/tHxazDmBek55HNPepNYBgaCew0Q==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.62.0.tgz",
++ "integrity": "sha512-1iYMP0leytWazFubD/WnINJuIrzRPuoL1aWEJdlGezEzDbTxcd29R4r8IUzP2oWeKst5V02uMJgR2NILlPlG6w==",
+ "cpu": [
+ "x64"
+ ],
+@@ -3445,9 +3446,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-linux-x64-musl": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.60.0.tgz",
+- "integrity": "sha512-bCUGaF6hJOYnQzLJdHLZbvGsOd5oSvGAyJhPAKum2uyLYUuXmP8vqg690DWi2hqcnIoYpqSqCrjzE5aiUAgwQg==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-linux-x64-musl/-/binding-linux-x64-musl-0.62.0.tgz",
++ "integrity": "sha512-4rA/URtJSTVNVAQz6Q8wf7SaRvOXVy+TizriT9hs/Y1XhLR/R+92uWKRQG8yFWRAIEBbFHJ6WevQcl/G9SXEfw==",
+ "cpu": [
+ "x64"
+ ],
+@@ -3465,9 +3466,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-openharmony-arm64": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.60.0.tgz",
+- "integrity": "sha512-GrUeZOvzP30ExxfCuQiyofuUGI+OmvAgFwOO5w5p9mGPlxcyuqI+6Sy9fAKFFfLQrqKYWFgc5sYA2Unj/29nPg==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-openharmony-arm64/-/binding-openharmony-arm64-0.62.0.tgz",
++ "integrity": "sha512-mSZuFHU2ar1KLUjXpI2QBQcJ1VsOB3mOCgQXuXCpKs19dgh4u+OaovNfrWDfiJb+ihJ2+f7YFcaO9bS2dlTCXA==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3482,9 +3483,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-win32-arm64-msvc": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.60.0.tgz",
+- "integrity": "sha512-WD4Q954kUl2TDJV/6q7UnE2rlKk047kXLJsr4bJ2mXRaAqNXcmV3nwKUsGCc3mz/jYDBnXtJEaBErJEybK8iQQ==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.62.0.tgz",
++ "integrity": "sha512-OfwuhkcjDlqC4EgDojtiV9mzpLqeB9KqTOWPOjLEYBVdDCVSxqW3qzp/xcIxsbtI0UgGCnKvAqYKyY25kf5JZw==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3499,9 +3500,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-win32-ia32-msvc": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.60.0.tgz",
+- "integrity": "sha512-HqDekjr8JXzVDUP1YthDZ1Y3CBEcuZT4WX3B+1kaxj8CvZA8Y2YhcEsXqoSop3tVsgjACxjnFQFDkBo0r/jq1Q==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.62.0.tgz",
++ "integrity": "sha512-P9uDDNFRzghO3X8QAzhkjKhK7JvtABsVn8UYtFX7uor12IAnwNt8nNIctvfWj1JkQU/kE+fmLRPiw7XlrIHsZw==",
+ "cpu": [
+ "ia32"
+ ],
+@@ -3516,9 +3517,9 @@
+ }
+ },
+ "node_modules/@oxfmt/binding-win32-x64-msvc": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.60.0.tgz",
+- "integrity": "sha512-tz78yhmGPKboTMHCHSaUqXK8JrmoSejgDcWeqAtg2s07ZGKQ3rH5Jn8NuXPGNG33CDbY2e9NoQWXIVEmKO21Rw==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/@oxfmt/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.62.0.tgz",
++ "integrity": "sha512-dlI5SY7XYQCiCBafntWagCR6HcAJB/NpsLtdlPx8x08+Osz8Ok1HHz1GZuusegCe/VoJ6pAnF5a4pd5OZAq7qQ==",
+ "cpu": [
+ "x64"
+ ],
+@@ -3617,9 +3618,9 @@
+ ]
+ },
+ "node_modules/@oxlint/binding-android-arm-eabi": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm-eabi/-/binding-android-arm-eabi-1.75.0.tgz",
+- "integrity": "sha512-lutovtFzJqlRaqpZrCqSSGaHZzl9nIxxpjLzhSRLunN6dCLylj0uzlCyQGaQDIys7rrv8kVXiFO+R4Zpn0bX7g==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm-eabi/-/binding-android-arm-eabi-1.77.0.tgz",
++ "integrity": "sha512-E06sKWS6PiI6HRxS1wyQg22HvApt01hI7fV+T3wUk3OSbaaP4a3hYGY/MIQDmASqCiRjBdpRQYkgMkqH82cWmQ==",
+ "cpu": [
+ "arm"
+ ],
+@@ -3634,9 +3635,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-android-arm64": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm64/-/binding-android-arm64-1.75.0.tgz",
+- "integrity": "sha512-hXI0hDgHkw4w5nfru72aG7y+2iQJmC4waH/KV6H/hbgA6yAP5jYNx0P9yug15Hs0tWl/+mda3Jjn/2gmDT48tw==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-android-arm64/-/binding-android-arm64-1.77.0.tgz",
++ "integrity": "sha512-NvsKz0KZxTp9cYWPLf+FXaSZwB3oO3peAjtukpOMBgse2vhQSoIIVqeO1yR0lEo/UcdZIDL18uq+kL0LzQ0ytA==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3651,9 +3652,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-darwin-arm64": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-arm64/-/binding-darwin-arm64-1.75.0.tgz",
+- "integrity": "sha512-D91BWbK/dMYfCcrghspPIuKs2D9LF4Z/OabVSQjw1AO6PWxArD7teDA48bm0ySFqWDaPVqmQRl5GMWNglTXyrQ==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-arm64/-/binding-darwin-arm64-1.77.0.tgz",
++ "integrity": "sha512-bgjTn6nW4bQCFBvSvuHCpDD+sONvmpo4lGI4PxzMt1quBA+xYxhczk6RiCn3GZ9gY8uhaBbwhj9MdKGfu6T9DA==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3668,9 +3669,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-darwin-x64": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-x64/-/binding-darwin-x64-1.75.0.tgz",
+- "integrity": "sha512-02mpwzf12BonZ6PT0TuQoomvEh2kVl2WGBIKWezCyToIS+rYkQZ6GXnARBAl9A4Ovm2V+Xe7M4KretyqmmcnJQ==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-darwin-x64/-/binding-darwin-x64-1.77.0.tgz",
++ "integrity": "sha512-aotaIttH1R6j1Rwhx0M0htgeZyGtVQqYNTVEYMN/UcgHPquGA6kmk9OyuDc3a2GKUQBC+3C3GVQCcrRPMYqAFA==",
+ "cpu": [
+ "x64"
+ ],
+@@ -3685,9 +3686,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-freebsd-x64": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-freebsd-x64/-/binding-freebsd-x64-1.75.0.tgz",
+- "integrity": "sha512-qZJgLnDaBsiL5YESx2t/TZ8eXkL9fEkKoXEdzegROhlz9A0lgyGnZ0dAzJrh7LJAHQl2K9RdRueN2s/9N7+odg==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-freebsd-x64/-/binding-freebsd-x64-1.77.0.tgz",
++ "integrity": "sha512-nNx/wta7ksRAdYvq+l4AWjXkLxEXHALhENxjj2cYbQAIR4ybaA5L+hCbE63HOmft5czQ6ks+hb8vmEAnn7YGPg==",
+ "cpu": [
+ "x64"
+ ],
+@@ -3702,9 +3703,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-arm-gnueabihf": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.75.0.tgz",
+- "integrity": "sha512-7XlaWA5BJD3XpCfrEqjEe6Zseeb14S7QGa304XfwKignRaKQ+eIj775BQ7nIslggWickl4IsPUFqJ+/gAyNHVg==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.77.0.tgz",
++ "integrity": "sha512-tMLLjM7xXtzXisVCzkOTXNCy9bZVId2wteNwjohlFDR/jY6WagpEDA1c1wu4xRc20Hojaxj+V6DSR7gbKxijWA==",
+ "cpu": [
+ "arm"
+ ],
+@@ -3719,9 +3720,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-arm-musleabihf": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-1.75.0.tgz",
+- "integrity": "sha512-av6Tpv8yrcMMMOadOqENBhlsLRcGFXXwoQ0hzHhsmS9FJ4Wioy8we427GbcMe2XTxmL2e60T67H1Dyr3up+tAA==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-1.77.0.tgz",
++ "integrity": "sha512-MiAFDFaqR0tmHTAyo0YDcZ5hyLREdYw/RQhc2R3cbT+8O3tB+zqPM2th9TTQ+Uo3jn/embS+DO+HyX9ztCPkOQ==",
+ "cpu": [
+ "arm"
+ ],
+@@ -3736,9 +3737,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-arm64-gnu": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.75.0.tgz",
+- "integrity": "sha512-WcUhd8fHT5plrA14lANevl+hOl815mVI5t2hU21oFWrZKFXIVV/Sr4rWQV0NzSvzBupbMLNc5ErEA6Ehxh5jMg==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.77.0.tgz",
++ "integrity": "sha512-/xqQ3B16i1T4cyt/9Mn+4CpzhUXoBXp7kVpIwzOXNFLj5JmK1bIjsbSnX296Gg8A/o7oDtKWikFgBx0SLwztkw==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3756,9 +3757,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-arm64-musl": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.75.0.tgz",
+- "integrity": "sha512-UWzp5wRHFe/ESO3+eEaxXsTkYTGLYjnTsi/I5neEacXSItQ6WNleapfOAeA4x2b8nyhJ4uQxqvtv9pHv8kWJtQ==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.77.0.tgz",
++ "integrity": "sha512-LSbwuRKiNCenPDcbARqAZ5RfBy7gmj7vOvfJRLeCDU3gFtSxWbhv/+VTlaUqzUhNj1gFLHB8h7ALnxa/Az6z6g==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3776,9 +3777,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-ppc64-gnu": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.75.0.tgz",
+- "integrity": "sha512-XEVRwGMLKCUKrvhLAz4F6AIh8MJrQVdSZtAmPpRZt9tGPsUnamPOcl3dS/ZQzJnar/Ymgc//+xho0L60Emzuxg==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-1.77.0.tgz",
++ "integrity": "sha512-QWdcH31mXEUe5Nq1s0CfCpceaKjIo9uZtwDjAuL681g1axf+5x8xrg/eXWaw//4NCxYZ4V4e5Hu5tvdR+pTBlg==",
+ "cpu": [
+ "ppc64"
+ ],
+@@ -3796,9 +3797,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-riscv64-gnu": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-1.75.0.tgz",
+- "integrity": "sha512-mAG4DUXqfLC8cTjMD2kt3jDmVzFREYtDyeLNdLdsCcBc4Zbl2EMuiFektGBilQwkNjYnMvCqJs55U+Hyb+b+jw==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-1.77.0.tgz",
++ "integrity": "sha512-GnOfYgJxbcElOiPZaDFDl406ONddwvOWk2jvAAAEjwAl4GofNoHF+/HHUIBYa6bFCArlcGPi0XjC4cU1pkgF/Q==",
+ "cpu": [
+ "riscv64"
+ ],
+@@ -3816,9 +3817,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-riscv64-musl": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-1.75.0.tgz",
+- "integrity": "sha512-95hrAvriAlI+pekSomTFIn0+bawMDlDwTNVmdjsFusTHyL2JWh7TWvRNG/Lkim72uN8OiCcO9wcaC6omLP5E3w==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-1.77.0.tgz",
++ "integrity": "sha512-AyEMTUCf0xY+hHF+IxqXFQIX0yQOIR8ykpY0lJNOw9xYqOzUX8dyZfRvlG0RfXwuQn2eonf/8NrMmDSZJjdqsA==",
+ "cpu": [
+ "riscv64"
+ ],
+@@ -3836,9 +3837,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-s390x-gnu": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.75.0.tgz",
+- "integrity": "sha512-4b6f2+FrtruAESrCqIKcrarzfrSx+wk2QNcp+RT91/Prc+pMQMAfyZ1rG1c3tFQNl8Bc616tx40uNXyxNBRPbQ==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-1.77.0.tgz",
++ "integrity": "sha512-sPLzEcNvxd/oyVQ5oZo92CiHkFkpBeRop13E/P3TPY+hZfXHKCOWKI70TE2RYwMKFJDc20EMjH16L7NZICtKTw==",
+ "cpu": [
+ "s390x"
+ ],
+@@ -3856,9 +3857,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-x64-gnu": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.75.0.tgz",
+- "integrity": "sha512-nshAhrUvXFUWOvqQ2soIw7HFNWvpvEV4o0cYSqPtzLiPF5gKyYTDOOTJ6Rn8g8K/iGvPIrbDA4v8+5MvnjJrrg==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.77.0.tgz",
++ "integrity": "sha512-1Oh2ssH2L7lwyvkdSqaMUfsGfwU2Wfvew+obBUYjRVqhpBcUpwnsPSEr1IzVi9XqkuY10geiLsNKecqaZC34Dw==",
+ "cpu": [
+ "x64"
+ ],
+@@ -3876,9 +3877,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-linux-x64-musl": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-musl/-/binding-linux-x64-musl-1.75.0.tgz",
+- "integrity": "sha512-e4jNxLKnxLC6sYBQRxrI2pgIIxnmMtF8U/VwNYcjTT/CLS+spH624cYVnj07bTKwaEWT37/e025isOs6j/0xqA==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-linux-x64-musl/-/binding-linux-x64-musl-1.77.0.tgz",
++ "integrity": "sha512-0j/2wRgNGO+Qj/M1uu/p57h/hFTTWWcfie0ufkbabeus2s5+/QqkCflnMOwLLN5m2GsNeWp4xdl4cPa4n7QCOQ==",
+ "cpu": [
+ "x64"
+ ],
+@@ -3896,9 +3897,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-openharmony-arm64": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-openharmony-arm64/-/binding-openharmony-arm64-1.75.0.tgz",
+- "integrity": "sha512-hZ2lH+1qLf/DiEP9UWuQTK2JWj/BgvMB4jhIV4SmNU1wfEiYYX4TynQyAZXx0j9X4qRYizAL042SKaV+8ynh4w==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-openharmony-arm64/-/binding-openharmony-arm64-1.77.0.tgz",
++ "integrity": "sha512-BJ/j54qS0usEnyDkLYURMj2iiD9h5Cyy+ppzeMSXBGRXaGRNWnj1Mw14NqWMR5E/PzdgB30OOCCzLzbRoduafw==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3913,9 +3914,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-win32-arm64-msvc": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.75.0.tgz",
+- "integrity": "sha512-Ilj6PNzGDS3bCU0MSJH7Msh0NhH+T/mRp2shwg+q+GHeVlPwP5LEboW96aW+3kVKFk6zYZy1Xi5pZkqZh6X8KQ==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.77.0.tgz",
++ "integrity": "sha512-Yh8w+g2Lpx7StrvtYkoz9JJvXjB9wxgFChFNb85nrXm/wj/XTwGWS1hve9+900HL7llrntYB3YP+y32E3tRqzA==",
+ "cpu": [
+ "arm64"
+ ],
+@@ -3930,9 +3931,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-win32-ia32-msvc": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.75.0.tgz",
+- "integrity": "sha512-QVit2nOEOiPhkmsrksPSkoGCdnZRNkspt8fwoYyP09te1VEbnSj4LAxua4rc8FKTmWkySVe05j8iz9GXYfF1AQ==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.77.0.tgz",
++ "integrity": "sha512-zja5b7+6a7UsRFgAQSrnax5vrzliEyNPLCjfXONu/vTWswaIVZGFajJZptaeRvPE4LghtFdAzVFlexTm7MVTGA==",
+ "cpu": [
+ "ia32"
+ ],
+@@ -3947,9 +3948,9 @@
+ }
+ },
+ "node_modules/@oxlint/binding-win32-x64-msvc": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.75.0.tgz",
+- "integrity": "sha512-DSxnNkBUAYARPwJtR12Ig3deWr8w0H997xP6jy33i+e0SyYJw8FKuz4+cZtpmPEhQmvlPJE3X/2vNxDmLkd/rA==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/@oxlint/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.77.0.tgz",
++ "integrity": "sha512-+teyvPDZ2RjUvo+SuCqS/UhaJl1QtdW5fWT5NJTV61V5MIuIS90Db9LixmtEGvXixyttiK62P96MSu3UlpviBw==",
+ "cpu": [
+ "x64"
+ ],
+@@ -4812,14 +4813,14 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-core": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-core/-/vite-plus-core-0.2.6.tgz",
+- "integrity": "sha512-vqDuuLJWS2JHWkFO7r8Z6AehtKnurpnYtw2XEQtjIfwE2GgSAO3zJdPIeaEZiovS6CqfQa+iOMn3kzVzeTSpTw==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-core/-/vite-plus-core-0.2.9.tgz",
++ "integrity": "sha512-dWqScAAwa8h/i9jCiGAMs7YarzQWInHZ5gCJNbQkHXA6Zp6A2T2anN9YMFVPpb7CwVFwkI2iPF5yl/DXtq+zUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+- "@oxc-project/runtime": "=0.141.0",
+- "@oxc-project/types": "=0.141.0",
++ "@oxc-project/runtime": "=0.143.0",
++ "@oxc-project/types": "=0.143.0",
+ "lightningcss": "^1.33.0",
+ "postcss": "^8.5.6",
+ "yuku-codegen": "^0.5.44",
+@@ -4829,12 +4830,20 @@
+ "node": "^20.19.0 || ^22.18.0 || >=24.11.0"
+ },
+ "optionalDependencies": {
++ "@voidzero-dev/vite-plus-darwin-arm64": "0.2.9",
++ "@voidzero-dev/vite-plus-darwin-x64": "0.2.9",
++ "@voidzero-dev/vite-plus-linux-arm64-gnu": "0.2.9",
++ "@voidzero-dev/vite-plus-linux-arm64-musl": "0.2.9",
++ "@voidzero-dev/vite-plus-linux-x64-gnu": "0.2.9",
++ "@voidzero-dev/vite-plus-linux-x64-musl": "0.2.9",
++ "@voidzero-dev/vite-plus-win32-arm64-msvc": "0.2.9",
++ "@voidzero-dev/vite-plus-win32-x64-msvc": "0.2.9",
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@arethetypeswrong/core": "^0.18.1",
+ "@types/node": "^20.19.0 || >=22.12.0",
+- "@vitejs/devtools": "^0.3.0",
++ "@vitejs/devtools": "^0.4.0",
+ "esbuild": "^0.27.0 || ^0.28.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.0",
+@@ -4905,9 +4914,9 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-core/node_modules/@oxc-project/types": {
+- "version": "0.141.0",
+- "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.141.0.tgz",
+- "integrity": "sha512-S4as7z0j0xQkXcJlyY5ehntwK8/wRkQb9Cyqw+J/N2rkWGQGK0SxD6X6DhQTc7qsxVTBxXbxZtBJh3mr3PtIzQ==",
++ "version": "0.143.0",
++ "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.143.0.tgz",
++ "integrity": "sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+@@ -4930,13 +4939,12 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-darwin-arm64": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-darwin-arm64/-/vite-plus-darwin-arm64-0.2.6.tgz",
+- "integrity": "sha512-QSZWgfqPx5lrIKZ0vwgVRujRqo7gORcc9Oq4fI1UDjKZFgYz9gXVMibSjEqYU3R1webN6FKTOCnzFmrfXchWYw==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-darwin-arm64/-/vite-plus-darwin-arm64-0.2.9.tgz",
++ "integrity": "sha512-/qJHqMfyy/LiCJk4UYZfFW6Comsfm8zDuy4P8UFWnFqRjmefYvZbMK4ThYNM87tKNWYWjsnClzssjJOmDTAc8w==",
+ "cpu": [
+ "arm64"
+ ],
+- "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+@@ -4947,13 +4955,12 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-darwin-x64": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-darwin-x64/-/vite-plus-darwin-x64-0.2.6.tgz",
+- "integrity": "sha512-pMQZGCQO0s+akuxbjgh31hOUgrdDndCmfbP7BciJuts436qrBb8KaVzBhNjJQtxD6H8yY21CIOjD8nlrp4eDIw==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-darwin-x64/-/vite-plus-darwin-x64-0.2.9.tgz",
++ "integrity": "sha512-3MGnNeazgYAqQTaC7JIbZyrTHmxSXTWFr9G1yAdeItKasB1R8HKIkCS1Qnr49Ge4S/cyOODivdbcpqFkrT93ng==",
+ "cpu": [
+ "x64"
+ ],
+- "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+@@ -4964,13 +4971,12 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-linux-arm64-gnu": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-arm64-gnu/-/vite-plus-linux-arm64-gnu-0.2.6.tgz",
+- "integrity": "sha512-0e6nrJgUDN5WwoDRjyh7KV/jbL7WDUhTEWslI64KGpuvD7M6OoPBXYo8Et176O2ENwf52CKVDjXwuvMMNIAzAA==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-arm64-gnu/-/vite-plus-linux-arm64-gnu-0.2.9.tgz",
++ "integrity": "sha512-6LmukER8qD4UBIRqMNv4Ilq7CxfRhngLUXlMv8vbTupeLRWPJSKvKEHyRxCwr6JP57Gxfr8KrX1ye42WzcZF0g==",
+ "cpu": [
+ "arm64"
+ ],
+- "dev": true,
+ "libc": [
+ "glibc"
+ ],
+@@ -4984,13 +4990,12 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-linux-arm64-musl": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-arm64-musl/-/vite-plus-linux-arm64-musl-0.2.6.tgz",
+- "integrity": "sha512-j2yvyv3r2ZEuJG73rWlXFrYrxA7u5+bFSlWTqhsfHZhdb1FKMkklfYRuLtBBdBRLXJ+YMNt9GZT6VTVPJDZnnQ==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-arm64-musl/-/vite-plus-linux-arm64-musl-0.2.9.tgz",
++ "integrity": "sha512-cBs626GWkyJlwKP0nsdHlMWpuTl9xOWRxAUoqtxXPtw80bVy4WM5eNS4SXPC5pX10jR7DRIkRpzNAsy7fv8Faw==",
+ "cpu": [
+ "arm64"
+ ],
+- "dev": true,
+ "libc": [
+ "musl"
+ ],
+@@ -5004,13 +5009,12 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-linux-x64-gnu": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-x64-gnu/-/vite-plus-linux-x64-gnu-0.2.6.tgz",
+- "integrity": "sha512-5vqldBBnRjIAUmQ88oKli+wPd5vSQaA2AZ2xs+omRlZfeJhC8chlud6DyJV6fVZCC9GI4otK2zSGpfQZx8Kc3A==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-x64-gnu/-/vite-plus-linux-x64-gnu-0.2.9.tgz",
++ "integrity": "sha512-2Iy8x4PCPMNzXeu3pREevlggoeK8PwtdUiCpoSybAZBtR/aqMxsJREyt/eKv45F8lsiNlA8PbIWEvPxLSgzFLQ==",
+ "cpu": [
+ "x64"
+ ],
+- "dev": true,
+ "libc": [
+ "glibc"
+ ],
+@@ -5024,13 +5028,12 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-linux-x64-musl": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-x64-musl/-/vite-plus-linux-x64-musl-0.2.6.tgz",
+- "integrity": "sha512-29ned+euDKAl+BmCigzGrPykQ/kxTjtsPGV6G3hkImwakHNUnmLRayqmsWKHSwXmBk5xo5m+wqjMbo3G0npJQg==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-linux-x64-musl/-/vite-plus-linux-x64-musl-0.2.9.tgz",
++ "integrity": "sha512-zuGx+eRotWPd9cmh1X9AfsC2tN/Ad9Hk6LAzlxoKJUjEkTsY3WjVJ6Da0z48SAUFuenI0JkdqXnMCrePtGvWHg==",
+ "cpu": [
+ "x64"
+ ],
+- "dev": true,
+ "libc": [
+ "musl"
+ ],
+@@ -5044,13 +5047,12 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-win32-arm64-msvc": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-win32-arm64-msvc/-/vite-plus-win32-arm64-msvc-0.2.6.tgz",
+- "integrity": "sha512-4b5ASpQlkxSXDYzuM6MYsOc1GnYkqG9CbSA1QzobXm87V/Q+MGPn57eILyacgfbmNNLrO2HQ5hasoLvd2BXaSg==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-win32-arm64-msvc/-/vite-plus-win32-arm64-msvc-0.2.9.tgz",
++ "integrity": "sha512-kaKb5Q8ReYTBfvLgUhdpLJG3aoNF8HOVJpf8qBm+THsd4WRrkRwsBHp2ITsU8oXl2gnDjFGhPDaURegd/z6Wxw==",
+ "cpu": [
+ "arm64"
+ ],
+- "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+@@ -5061,13 +5063,12 @@
+ }
+ },
+ "node_modules/@voidzero-dev/vite-plus-win32-x64-msvc": {
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-win32-x64-msvc/-/vite-plus-win32-x64-msvc-0.2.6.tgz",
+- "integrity": "sha512-rvGkm4WmVkCKPhvUbLkRtlVhi7EYb8GU8KaqIGJ0dVfNQHDEqnFboaiUHuPN1npFNwB+80Ulzz9AkQ/Q8MswQA==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-win32-x64-msvc/-/vite-plus-win32-x64-msvc-0.2.9.tgz",
++ "integrity": "sha512-/fEk3gbQTJknCiYM/GTL/L++Azsav8rCAjmtKrjmCbqEif5IMzqTfvM68n+PiLB3JVoQJGF/mg2niODr0IE/2w==",
+ "cpu": [
+ "x64"
+ ],
+- "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+@@ -8750,9 +8751,9 @@
+ }
+ },
+ "node_modules/oxfmt": {
+- "version": "0.60.0",
+- "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.60.0.tgz",
+- "integrity": "sha512-fViX6i+gJuZWY+jI/fnR6WRbRj70GZ9RlCd30MygJrHTUNc4DxvKHWw8vBjMjffv3PgU5qWDR0AzmojQByqaZA==",
++ "version": "0.62.0",
++ "resolved": "https://registry.npmjs.org/oxfmt/-/oxfmt-0.62.0.tgz",
++ "integrity": "sha512-vxgGHTmnDU9j4CX7dDBLzxgmHxfda/yPcgJkGCMUSCwRmz+euo/V08xXLNgXTeqAB9Fhf3Pe2nO1RNKLCVgphQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+@@ -8768,25 +8769,25 @@
+ "url": "https://github.com/sponsors/Boshen"
+ },
+ "optionalDependencies": {
+- "@oxfmt/binding-android-arm-eabi": "0.60.0",
+- "@oxfmt/binding-android-arm64": "0.60.0",
+- "@oxfmt/binding-darwin-arm64": "0.60.0",
+- "@oxfmt/binding-darwin-x64": "0.60.0",
+- "@oxfmt/binding-freebsd-x64": "0.60.0",
+- "@oxfmt/binding-linux-arm-gnueabihf": "0.60.0",
+- "@oxfmt/binding-linux-arm-musleabihf": "0.60.0",
+- "@oxfmt/binding-linux-arm64-gnu": "0.60.0",
+- "@oxfmt/binding-linux-arm64-musl": "0.60.0",
+- "@oxfmt/binding-linux-ppc64-gnu": "0.60.0",
+- "@oxfmt/binding-linux-riscv64-gnu": "0.60.0",
+- "@oxfmt/binding-linux-riscv64-musl": "0.60.0",
+- "@oxfmt/binding-linux-s390x-gnu": "0.60.0",
+- "@oxfmt/binding-linux-x64-gnu": "0.60.0",
+- "@oxfmt/binding-linux-x64-musl": "0.60.0",
+- "@oxfmt/binding-openharmony-arm64": "0.60.0",
+- "@oxfmt/binding-win32-arm64-msvc": "0.60.0",
+- "@oxfmt/binding-win32-ia32-msvc": "0.60.0",
+- "@oxfmt/binding-win32-x64-msvc": "0.60.0"
++ "@oxfmt/binding-android-arm-eabi": "0.62.0",
++ "@oxfmt/binding-android-arm64": "0.62.0",
++ "@oxfmt/binding-darwin-arm64": "0.62.0",
++ "@oxfmt/binding-darwin-x64": "0.62.0",
++ "@oxfmt/binding-freebsd-x64": "0.62.0",
++ "@oxfmt/binding-linux-arm-gnueabihf": "0.62.0",
++ "@oxfmt/binding-linux-arm-musleabihf": "0.62.0",
++ "@oxfmt/binding-linux-arm64-gnu": "0.62.0",
++ "@oxfmt/binding-linux-arm64-musl": "0.62.0",
++ "@oxfmt/binding-linux-ppc64-gnu": "0.62.0",
++ "@oxfmt/binding-linux-riscv64-gnu": "0.62.0",
++ "@oxfmt/binding-linux-riscv64-musl": "0.62.0",
++ "@oxfmt/binding-linux-s390x-gnu": "0.62.0",
++ "@oxfmt/binding-linux-x64-gnu": "0.62.0",
++ "@oxfmt/binding-linux-x64-musl": "0.62.0",
++ "@oxfmt/binding-openharmony-arm64": "0.62.0",
++ "@oxfmt/binding-win32-arm64-msvc": "0.62.0",
++ "@oxfmt/binding-win32-ia32-msvc": "0.62.0",
++ "@oxfmt/binding-win32-x64-msvc": "0.62.0"
+ },
+ "peerDependencies": {
+ "svelte": "^5.0.0",
+@@ -8802,9 +8803,9 @@
+ }
+ },
+ "node_modules/oxlint": {
+- "version": "1.75.0",
+- "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.75.0.tgz",
+- "integrity": "sha512-m9WzjRcRYA/uqIZDa9tclrieoPJ/ln1QYTKdFx6NUOs8uY5DiHlIwRQoCrHT6OM6O3ww3l2skY5gO7G7ZphE7g==",
++ "version": "1.77.0",
++ "resolved": "https://registry.npmjs.org/oxlint/-/oxlint-1.77.0.tgz",
++ "integrity": "sha512-qnGh8XJHaQ0dprrDXNQZgS0FgjI6v+V3+X8DwmaV++5Aamy6jGKfDdQ1TUvhUxtmKFAbEf4/WeO5QZX+5WSngg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+@@ -8817,25 +8818,25 @@
+ "url": "https://github.com/sponsors/Boshen"
+ },
+ "optionalDependencies": {
+- "@oxlint/binding-android-arm-eabi": "1.75.0",
+- "@oxlint/binding-android-arm64": "1.75.0",
+- "@oxlint/binding-darwin-arm64": "1.75.0",
+- "@oxlint/binding-darwin-x64": "1.75.0",
+- "@oxlint/binding-freebsd-x64": "1.75.0",
+- "@oxlint/binding-linux-arm-gnueabihf": "1.75.0",
+- "@oxlint/binding-linux-arm-musleabihf": "1.75.0",
+- "@oxlint/binding-linux-arm64-gnu": "1.75.0",
+- "@oxlint/binding-linux-arm64-musl": "1.75.0",
+- "@oxlint/binding-linux-ppc64-gnu": "1.75.0",
+- "@oxlint/binding-linux-riscv64-gnu": "1.75.0",
+- "@oxlint/binding-linux-riscv64-musl": "1.75.0",
+- "@oxlint/binding-linux-s390x-gnu": "1.75.0",
+- "@oxlint/binding-linux-x64-gnu": "1.75.0",
+- "@oxlint/binding-linux-x64-musl": "1.75.0",
+- "@oxlint/binding-openharmony-arm64": "1.75.0",
+- "@oxlint/binding-win32-arm64-msvc": "1.75.0",
+- "@oxlint/binding-win32-ia32-msvc": "1.75.0",
+- "@oxlint/binding-win32-x64-msvc": "1.75.0"
++ "@oxlint/binding-android-arm-eabi": "1.77.0",
++ "@oxlint/binding-android-arm64": "1.77.0",
++ "@oxlint/binding-darwin-arm64": "1.77.0",
++ "@oxlint/binding-darwin-x64": "1.77.0",
++ "@oxlint/binding-freebsd-x64": "1.77.0",
++ "@oxlint/binding-linux-arm-gnueabihf": "1.77.0",
++ "@oxlint/binding-linux-arm-musleabihf": "1.77.0",
++ "@oxlint/binding-linux-arm64-gnu": "1.77.0",
++ "@oxlint/binding-linux-arm64-musl": "1.77.0",
++ "@oxlint/binding-linux-ppc64-gnu": "1.77.0",
++ "@oxlint/binding-linux-riscv64-gnu": "1.77.0",
++ "@oxlint/binding-linux-riscv64-musl": "1.77.0",
++ "@oxlint/binding-linux-s390x-gnu": "1.77.0",
++ "@oxlint/binding-linux-x64-gnu": "1.77.0",
++ "@oxlint/binding-linux-x64-musl": "1.77.0",
++ "@oxlint/binding-openharmony-arm64": "1.77.0",
++ "@oxlint/binding-win32-arm64-msvc": "1.77.0",
++ "@oxlint/binding-win32-ia32-msvc": "1.77.0",
++ "@oxlint/binding-win32-x64-msvc": "1.77.0"
+ },
+ "peerDependencies": {
+ "oxlint-tsgolint": ">=7.0.2001",
+@@ -11043,14 +11044,14 @@
+ },
+ "node_modules/vite": {
+ "name": "@voidzero-dev/vite-plus-core",
+- "version": "0.2.6",
+- "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-core/-/vite-plus-core-0.2.6.tgz",
+- "integrity": "sha512-vqDuuLJWS2JHWkFO7r8Z6AehtKnurpnYtw2XEQtjIfwE2GgSAO3zJdPIeaEZiovS6CqfQa+iOMn3kzVzeTSpTw==",
++ "version": "0.2.9",
++ "resolved": "https://registry.npmjs.org/@voidzero-dev/vite-plus-core/-/vite-plus-core-0.2.9.tgz",
++ "integrity": "sha512-dWqScAAwa8h/i9jCiGAMs7YarzQWInHZ5gCJNbQkHXA6Zp6A2T2anN9YMFVPpb7CwVFwkI2iPF5yl/DXtq+zUA==",
+ "devOptional": true,
+ "license": "MIT",
+ "dependencies": {
+- "@oxc-project/runtime": "=0.141.0",
+- "@oxc-project/types": "=0.141.0",
++ "@oxc-project/runtime": "=0.143.0",
++ "@oxc-project/types": "=0.143.0",
+ "lightningcss": "^1.33.0",
+ "postcss": "^8.5.6",
+ "yuku-codegen": "^0.5.44",
+@@ -11060,12 +11061,20 @@
+ "node": "^20.19.0 || ^22.18.0 || >=24.11.0"
+ },
+ "optionalDependencies": {
++ "@voidzero-dev/vite-plus-darwin-arm64": "0.2.9",
++ "@voidzero-dev/vite-plus-darwin-x64": "0.2.9",
++ "@voidzero-dev/vite-plus-linux-arm64-gnu": "0.2.9",
++ "@voidzero-dev/vite-plus-linux-arm64-musl": "0.2.9",
++ "@voidzero-dev/vite-plus-linux-x64-gnu": "0.2.9",
++ "@voidzero-dev/vite-plus-linux-x64-musl": "0.2.9",
++ "@voidzero-dev/vite-plus-win32-arm64-msvc": "0.2.9",
++ "@voidzero-dev/vite-plus-win32-x64-msvc": "0.2.9",
+ "fsevents": "~2.3.3"
+ },
+ "peerDependencies": {
+ "@arethetypeswrong/core": "^0.18.1",
+ "@types/node": "^20.19.0 || >=22.12.0",
+- "@vitejs/devtools": "^0.3.0",
++ "@vitejs/devtools": "^0.4.0",
*** 114 LINES SKIPPED ***