From 05aad9b72707cd03998e7b335976727d93d46b6e Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Thu, 22 May 2025 18:12:59 +0000 Subject: [PATCH 01/60] build(npm): update dependencies --- package-lock.json | 765 +++++++++++++++++++++++++--------------------- package.json | 20 +- 2 files changed, 422 insertions(+), 363 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0424c900..d4f33dbf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,18 +11,18 @@ "autoprefixer": "^10.4.21", "cm-show-invisibles": "^3.1.0", "codemirror": "^5.65.19", - "eslint": "^9.23.0", - "eslint-config-prettier": "^10.1.1", - "eslint-plugin-svelte": "^3.3.3", - "globals": "^16.0.0", - "marked": "^15.0.7", + "eslint": "^9.27.0", + "eslint-config-prettier": "^10.1.5", + "eslint-plugin-svelte": "^3.9.0", + "globals": "^16.1.0", + "marked": "^15.0.12", "prettier": "3.5.3", - "prettier-plugin-svelte": "3.3.3", - "stylelint": "^16.17.0", + "prettier-plugin-svelte": "3.4.0", + "stylelint": "^16.19.1", "stylelint-config-html": "^1.1.0", - "stylelint-config-standard": "^37.0.0", - "svelte": "^5.25.3", - "vite": "^6.2.3" + "stylelint-config-standard": "^38.0.0", + "svelte": "^5.33.0", + "vite": "^6.3.5" } }, "node_modules/@ampproject/remapping": { @@ -40,15 +40,15 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.27.1", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" @@ -62,9 +62,9 @@ "license": "MIT" }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, "license": "MIT", "engines": { @@ -173,9 +173,9 @@ } }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", - "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", + "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", "cpu": [ "ppc64" ], @@ -190,9 +190,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", - "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", + "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", "cpu": [ "arm" ], @@ -207,9 +207,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", - "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", + "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", "cpu": [ "arm64" ], @@ -224,9 +224,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", - "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", + "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", "cpu": [ "x64" ], @@ -241,9 +241,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", - "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", + "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", "cpu": [ "arm64" ], @@ -258,9 +258,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", - "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", + "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", "cpu": [ "x64" ], @@ -275,9 +275,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", - "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", + "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", "cpu": [ "arm64" ], @@ -292,9 +292,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", - "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", + "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", "cpu": [ "x64" ], @@ -309,9 +309,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", - "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", + "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", "cpu": [ "arm" ], @@ -326,9 +326,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", - "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", + "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", "cpu": [ "arm64" ], @@ -343,9 +343,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", - "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", + "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", "cpu": [ "ia32" ], @@ -360,9 +360,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", - "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", + "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", "cpu": [ "loong64" ], @@ -377,9 +377,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", - "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", + "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", "cpu": [ "mips64el" ], @@ -394,9 +394,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", - "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", + "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", "cpu": [ "ppc64" ], @@ -411,9 +411,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", - "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", + "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", "cpu": [ "riscv64" ], @@ -428,9 +428,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", - "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", + "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", "cpu": [ "s390x" ], @@ -445,9 +445,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", - "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", + "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", "cpu": [ "x64" ], @@ -462,9 +462,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", - "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", + "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", "cpu": [ "arm64" ], @@ -479,9 +479,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", - "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", + "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", "cpu": [ "x64" ], @@ -496,9 +496,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", - "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", + "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", "cpu": [ "arm64" ], @@ -513,9 +513,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", - "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", + "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", "cpu": [ "x64" ], @@ -530,9 +530,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", - "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", + "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", "cpu": [ "x64" ], @@ -547,9 +547,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", - "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", + "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", "cpu": [ "arm64" ], @@ -564,9 +564,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", - "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", + "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", "cpu": [ "ia32" ], @@ -581,9 +581,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", - "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", + "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", "cpu": [ "x64" ], @@ -598,9 +598,9 @@ } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.1.tgz", - "integrity": "sha512-soEIOALTfTK6EjmKMMoLugwaP0rzkad90iIWd1hMO9ARkSAyjfMfkRRhLvD5qH7vvM0Cg72pieUfR6yh6XxC4w==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, "license": "MIT", "dependencies": { @@ -640,9 +640,9 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz", - "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==", + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", + "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -655,9 +655,9 @@ } }, "node_modules/@eslint/config-helpers": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.0.tgz", - "integrity": "sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", + "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", "dev": true, "license": "Apache-2.0", "engines": { @@ -665,9 +665,9 @@ } }, "node_modules/@eslint/core": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.12.0.tgz", - "integrity": "sha512-cmrR6pytBuSMTaBweKoGMwu3EiHiEC+DoyupPmlZ0HxBJBtIxwe+j/E4XPIKNx+Q74c8lXKPwYawBf5glsTkHg==", + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.14.0.tgz", + "integrity": "sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==", "dev": true, "license": "Apache-2.0", "dependencies": { @@ -715,13 +715,16 @@ } }, "node_modules/@eslint/js": { - "version": "9.23.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.23.0.tgz", - "integrity": "sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==", + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.27.0.tgz", + "integrity": "sha512-G5JD9Tu5HJEu4z2Uo4aHY2sLV64B7CDMXxFzqzjl3NKd6RVzSXNoE80jk7Y0lJkTTkjiIhBAqmlYwjuBY3tvpA==", "dev": true, "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { @@ -735,13 +738,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.7.tgz", - "integrity": "sha512-JubJ5B2pJ4k4yGxaNLdbjrnk9d/iDz6/q8wOilpIowd6PJPgaxCuHBnBszq7Ce2TyMrywm5r4PnKm6V3iiZF+g==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.1.tgz", + "integrity": "sha512-0J+zgWxHN+xXONWIyPWKFMgVuJoZuGiIFu8yxk7RJjxkzpGmyja5wRFqZIVtjDVOQpV+Rw0iOAjYPE2eQyjr0w==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/core": "^0.12.0", + "@eslint/core": "^0.14.0", "levn": "^0.4.1" }, "engines": { @@ -801,9 +804,9 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -916,9 +919,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.37.0.tgz", - "integrity": "sha512-l7StVw6WAa8l3vA1ov80jyetOAEo1FtHvZDbzXDO/02Sq/QVvqlHkYoFwDJPIMj0GKiistsBudfx5tGFnwYWDQ==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz", + "integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==", "cpu": [ "arm" ], @@ -930,9 +933,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.37.0.tgz", - "integrity": "sha512-6U3SlVyMxezt8Y+/iEBcbp945uZjJwjZimu76xoG7tO1av9VO691z8PkhzQ85ith2I8R2RddEPeSfcbyPfD4hA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz", + "integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==", "cpu": [ "arm64" ], @@ -944,9 +947,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.37.0.tgz", - "integrity": "sha512-+iTQ5YHuGmPt10NTzEyMPbayiNTcOZDWsbxZYR1ZnmLnZxG17ivrPSWFO9j6GalY0+gV3Jtwrrs12DBscxnlYA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.0.tgz", + "integrity": "sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==", "cpu": [ "arm64" ], @@ -958,9 +961,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.37.0.tgz", - "integrity": "sha512-m8W2UbxLDcmRKVjgl5J/k4B8d7qX2EcJve3Sut7YGrQoPtCIQGPH5AMzuFvYRWZi0FVS0zEY4c8uttPfX6bwYQ==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.0.tgz", + "integrity": "sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==", "cpu": [ "x64" ], @@ -972,9 +975,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.37.0.tgz", - "integrity": "sha512-FOMXGmH15OmtQWEt174v9P1JqqhlgYge/bUjIbiVD1nI1NeJ30HYT9SJlZMqdo1uQFyt9cz748F1BHghWaDnVA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz", + "integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==", "cpu": [ "arm64" ], @@ -986,9 +989,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.37.0.tgz", - "integrity": "sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz", + "integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==", "cpu": [ "x64" ], @@ -1000,9 +1003,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.37.0.tgz", - "integrity": "sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz", + "integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==", "cpu": [ "arm" ], @@ -1014,9 +1017,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.37.0.tgz", - "integrity": "sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz", + "integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==", "cpu": [ "arm" ], @@ -1028,9 +1031,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.37.0.tgz", - "integrity": "sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz", + "integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==", "cpu": [ "arm64" ], @@ -1042,9 +1045,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.37.0.tgz", - "integrity": "sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz", + "integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==", "cpu": [ "arm64" ], @@ -1056,9 +1059,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.37.0.tgz", - "integrity": "sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz", + "integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==", "cpu": [ "loong64" ], @@ -1070,9 +1073,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.37.0.tgz", - "integrity": "sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz", + "integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==", "cpu": [ "ppc64" ], @@ -1084,9 +1087,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.37.0.tgz", - "integrity": "sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz", + "integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==", "cpu": [ "riscv64" ], @@ -1098,9 +1101,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.37.0.tgz", - "integrity": "sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz", + "integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==", "cpu": [ "riscv64" ], @@ -1112,9 +1115,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.37.0.tgz", - "integrity": "sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz", + "integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==", "cpu": [ "s390x" ], @@ -1126,9 +1129,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.37.0.tgz", - "integrity": "sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz", + "integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==", "cpu": [ "x64" ], @@ -1140,9 +1143,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.37.0.tgz", - "integrity": "sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz", + "integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==", "cpu": [ "x64" ], @@ -1154,9 +1157,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.37.0.tgz", - "integrity": "sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz", + "integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==", "cpu": [ "arm64" ], @@ -1168,9 +1171,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.37.0.tgz", - "integrity": "sha512-e3/1SFm1OjefWICB2Ucstg2dxYDkDTZGDYgwufcbsxTHyqQps1UQf33dFEChBNmeSsTOyrjw2JJq0zbG5GF6RA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz", + "integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==", "cpu": [ "ia32" ], @@ -1182,9 +1185,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.37.0.tgz", - "integrity": "sha512-LWbXUBwn/bcLx2sSsqy7pK5o+Nr+VCoRoAohfJ5C/aBio9nfJmGQqHAhU6pwxV/RmyTk5AqdySma7uwWGlmeuA==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz", + "integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==", "cpu": [ "x64" ], @@ -1470,9 +1473,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.24.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", + "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", "dev": true, "funding": [ { @@ -1490,10 +1493,10 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", + "caniuse-lite": "^1.0.30001716", + "electron-to-chromium": "^1.5.149", "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "update-browserslist-db": "^1.1.3" }, "bin": { "browserslist": "cli.js" @@ -1528,20 +1531,20 @@ } }, "node_modules/cacheable": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.8.9.tgz", - "integrity": "sha512-FicwAUyWnrtnd4QqYAoRlNs44/a1jTL7XDKqm5gJ90wz1DQPlC7U2Rd1Tydpv+E7WAr4sQHuw8Q8M3nZMAyecQ==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-1.9.0.tgz", + "integrity": "sha512-8D5htMCxPDUULux9gFzv30f04Xo3wCnik0oOxKoRTPIBoqA7HtOcJ87uBhQTs3jCfZZTrUBGsYIZOgE0ZRgMAg==", "dev": true, "license": "MIT", "dependencies": { - "hookified": "^1.7.1", - "keyv": "^5.3.1" + "hookified": "^1.8.2", + "keyv": "^5.3.3" } }, "node_modules/cacheable/node_modules/keyv": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.2.tgz", - "integrity": "sha512-Lji2XRxqqa5Wg+CHLVfFKBImfJZ4pCSccu9eVWK6w4c2SDFLd8JAn1zqTuSFnsxb7ope6rMsnIHfp+eBbRBRZQ==", + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.3.3.tgz", + "integrity": "sha512-Rwu4+nXI9fqcxiEHtbkvoes2X+QfkTRo1TMkPfwzipGsJlJO/z69vqB4FNl9xJ3xCpAcbkvmEabZfPzrwN3+gQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1559,9 +1562,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001707", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001707.tgz", - "integrity": "sha512-3qtRjw/HQSMlDWf+X79N206fepf4SOOU6SQLMaq/0KkZLmSjPxAkBOQQ+FxbHKfHmYLZFfdWsO3KA90ceHPSnw==", + "version": "1.0.30001718", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz", + "integrity": "sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==", "dev": true, "funding": [ { @@ -1734,9 +1737,9 @@ } }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", "dev": true, "license": "MIT", "dependencies": { @@ -1845,9 +1848,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.124", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.124.tgz", - "integrity": "sha512-riELkpDUqBi00gqreV3RIGoowxGrfueEKBd6zPdOk/I8lvuFpBGNkYoHof3zUHbiTBsIU8oxdIIL/WNrAG1/7A==", + "version": "1.5.155", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.155.tgz", + "integrity": "sha512-ps5KcGGmwL8VaeJlvlDlu4fORQpv3+GIcF5I3f9tUKUlJ/wsysh6HU8P5L1XWRYeXfA0oJd4PyM8ds8zTFf6Ng==", "dev": true, "license": "ISC" }, @@ -1893,9 +1896,9 @@ } }, "node_modules/esbuild": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", - "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", + "version": "0.25.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", + "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -1906,31 +1909,31 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.1", - "@esbuild/android-arm": "0.25.1", - "@esbuild/android-arm64": "0.25.1", - "@esbuild/android-x64": "0.25.1", - "@esbuild/darwin-arm64": "0.25.1", - "@esbuild/darwin-x64": "0.25.1", - "@esbuild/freebsd-arm64": "0.25.1", - "@esbuild/freebsd-x64": "0.25.1", - "@esbuild/linux-arm": "0.25.1", - "@esbuild/linux-arm64": "0.25.1", - "@esbuild/linux-ia32": "0.25.1", - "@esbuild/linux-loong64": "0.25.1", - "@esbuild/linux-mips64el": "0.25.1", - "@esbuild/linux-ppc64": "0.25.1", - "@esbuild/linux-riscv64": "0.25.1", - "@esbuild/linux-s390x": "0.25.1", - "@esbuild/linux-x64": "0.25.1", - "@esbuild/netbsd-arm64": "0.25.1", - "@esbuild/netbsd-x64": "0.25.1", - "@esbuild/openbsd-arm64": "0.25.1", - "@esbuild/openbsd-x64": "0.25.1", - "@esbuild/sunos-x64": "0.25.1", - "@esbuild/win32-arm64": "0.25.1", - "@esbuild/win32-ia32": "0.25.1", - "@esbuild/win32-x64": "0.25.1" + "@esbuild/aix-ppc64": "0.25.4", + "@esbuild/android-arm": "0.25.4", + "@esbuild/android-arm64": "0.25.4", + "@esbuild/android-x64": "0.25.4", + "@esbuild/darwin-arm64": "0.25.4", + "@esbuild/darwin-x64": "0.25.4", + "@esbuild/freebsd-arm64": "0.25.4", + "@esbuild/freebsd-x64": "0.25.4", + "@esbuild/linux-arm": "0.25.4", + "@esbuild/linux-arm64": "0.25.4", + "@esbuild/linux-ia32": "0.25.4", + "@esbuild/linux-loong64": "0.25.4", + "@esbuild/linux-mips64el": "0.25.4", + "@esbuild/linux-ppc64": "0.25.4", + "@esbuild/linux-riscv64": "0.25.4", + "@esbuild/linux-s390x": "0.25.4", + "@esbuild/linux-x64": "0.25.4", + "@esbuild/netbsd-arm64": "0.25.4", + "@esbuild/netbsd-x64": "0.25.4", + "@esbuild/openbsd-arm64": "0.25.4", + "@esbuild/openbsd-x64": "0.25.4", + "@esbuild/sunos-x64": "0.25.4", + "@esbuild/win32-arm64": "0.25.4", + "@esbuild/win32-ia32": "0.25.4", + "@esbuild/win32-x64": "0.25.4" } }, "node_modules/escalade": { @@ -1957,20 +1960,20 @@ } }, "node_modules/eslint": { - "version": "9.23.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.23.0.tgz", - "integrity": "sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==", + "version": "9.27.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.27.0.tgz", + "integrity": "sha512-ixRawFQuMB9DZ7fjU3iGGganFDp3+45bPOdaRurcFHSXO1e/sYwUX/FtQZpLZJR6SjMoJH8hR2pPEAfDyCoU2Q==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.19.2", - "@eslint/config-helpers": "^0.2.0", - "@eslint/core": "^0.12.0", + "@eslint/config-array": "^0.20.0", + "@eslint/config-helpers": "^0.2.1", + "@eslint/core": "^0.14.0", "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.23.0", - "@eslint/plugin-kit": "^0.2.7", + "@eslint/js": "9.27.0", + "@eslint/plugin-kit": "^0.3.1", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", @@ -2017,52 +2020,39 @@ } } }, - "node_modules/eslint-compat-utils": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.6.4.tgz", - "integrity": "sha512-/u+GQt8NMfXO8w17QendT4gvO5acfxQsAKirAt0LVxDnr2N8YLCVbregaNc/Yhp7NM128DwCaRvr8PLDfeNkQw==", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.4" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, "node_modules/eslint-config-prettier": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.1.tgz", - "integrity": "sha512-4EQQr6wXwS+ZJSzaR5ZCrYgLxqvUjdXctaEtBqHcbkW944B1NQyO4qpdHQbXBONfwxXdkAY81HH4+LUfrg+zPw==", + "version": "10.1.5", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.5.tgz", + "integrity": "sha512-zc1UmCpNltmVY34vuLRV61r1K27sWuX39E+uyUnY8xS2Bex88VV9cugG+UZbRSRGtGyFboj+D8JODyme1plMpw==", "dev": true, "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, "peerDependencies": { "eslint": ">=7.0.0" } }, "node_modules/eslint-plugin-svelte": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.3.3.tgz", - "integrity": "sha512-imzGqIgWbfsb/CR14d3k3M8MiVNGet+l9mjPhvo1Rm0Nxi0rNn4/eELqyR8FWlgKBMlGkOp2kshRJm0xpxNfHQ==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-svelte/-/eslint-plugin-svelte-3.9.0.tgz", + "integrity": "sha512-nvIUNyyPGbr5922Kd1p/jXe+FfNdVPXsxLyrrXpwfSbZZEFdAYva9O/gm2lObC/wXkQo/AUmQkAihfmNJYeCjA==", "dev": true, "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.4.1", + "@eslint-community/eslint-utils": "^4.6.1", "@jridgewell/sourcemap-codec": "^1.5.0", - "eslint-compat-utils": "^0.6.4", "esutils": "^2.0.3", - "known-css-properties": "^0.35.0", + "globals": "^16.0.0", + "known-css-properties": "^0.36.0", "postcss": "^8.4.49", "postcss-load-config": "^3.1.4", "postcss-safe-parser": "^7.0.0", "semver": "^7.6.3", - "svelte-eslint-parser": "^1.0.1" + "svelte-eslint-parser": "^1.2.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2149,9 +2139,9 @@ } }, "node_modules/esrap": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.5.tgz", - "integrity": "sha512-CjNMjkBWWZeHn+VX+gS8YvFwJ5+NDhg8aWZBSFJPR8qQduDNjbJodA2WcwCm7uQa5Rjqj+nZvVmceg1RbHFB9g==", + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.6.tgz", + "integrity": "sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==", "dev": true, "license": "MIT", "dependencies": { @@ -2427,9 +2417,9 @@ } }, "node_modules/globals": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.0.0.tgz", - "integrity": "sha512-iInW14XItCXET01CQFqudPOWP2jYMl7T+QRQT+UNcR/iQncN/F0UNpgd76iFkBPgNQb4+X3LV9tLJYzwh+Gl3A==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.1.0.tgz", + "integrity": "sha512-aibexHNbb/jiUSObBgpHLj+sIuUmJnYcgXBlrfsiDZ9rt4aF2TFRbyLgZ2iFQuVZ1K5Mx3FVkbKRSgKrbK3K2g==", "dev": true, "license": "MIT", "engines": { @@ -2478,9 +2468,9 @@ } }, "node_modules/hookified": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.8.1.tgz", - "integrity": "sha512-GrO2l93P8xCWBSTBX9l2BxI78VU/MAAYag+pG8curS3aBGy0++ZlxrQ7PdUOUVMbn5BwkGb6+eRrnf43ipnFEA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/hookified/-/hookified-1.9.0.tgz", + "integrity": "sha512-2yEEGqphImtKIe1NXWEhu6yD3hlFR4Mxk4Mtp3XEyScpSt4pQ4ymmXA1zzxZpj99QkFK+nN0nzjeb2+RUi/6CQ==", "dev": true, "license": "MIT" }, @@ -2740,9 +2730,9 @@ } }, "node_modules/known-css-properties": { - "version": "0.35.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.35.0.tgz", - "integrity": "sha512-a/RAk2BfKk+WFGhhOCAYqSiFLc34k8Mt/6NWRI4joER0EYUzXIcFivjjnoD3+XU1DggLn/tZc3DOAgke7l8a4A==", + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.36.0.tgz", + "integrity": "sha512-A+9jP+IUmuQsNdsLdcg6Yt7voiMF/D4K83ew0OpJtpu+l34ef7LaohWV0Rc6KNvzw6ZDizkqfyB5JznZnzuKQA==", "dev": true, "license": "MIT" }, @@ -2825,9 +2815,9 @@ } }, "node_modules/marked": { - "version": "15.0.7", - "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.7.tgz", - "integrity": "sha512-dgLIeKGLx5FwziAnsk4ONoGwHwGPJzselimvlVskE9XLN4Orv9u2VA3GWw/lYUqjfA0rUT/6fqKwfZJapP9BEg==", + "version": "15.0.12", + "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", + "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "dev": true, "license": "MIT", "bin": { @@ -3310,9 +3300,9 @@ } }, "node_modules/prettier-plugin-svelte": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.3.3.tgz", - "integrity": "sha512-yViK9zqQ+H2qZD1w/bH7W8i+bVfKrD8GIFjkFe4Thl6kCT9SlAsXVNmt3jCvQOCsnOhcvYgsoVlRV/Eu6x5nNw==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-3.4.0.tgz", + "integrity": "sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==", "dev": true, "license": "MIT", "peerDependencies": { @@ -3383,13 +3373,13 @@ } }, "node_modules/rollup": { - "version": "4.37.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.37.0.tgz", - "integrity": "sha512-iAtQy/L4QFU+rTJ1YUjXqJOJzuwEghqWzCEYD2FEghT7Gsy1VdABntrO4CLopA5IkflTyqNiLNwPcOJ3S7UKLg==", + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.0.tgz", + "integrity": "sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "1.0.6" + "@types/estree": "1.0.7" }, "bin": { "rollup": "dist/bin/rollup" @@ -3399,36 +3389,29 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.37.0", - "@rollup/rollup-android-arm64": "4.37.0", - "@rollup/rollup-darwin-arm64": "4.37.0", - "@rollup/rollup-darwin-x64": "4.37.0", - "@rollup/rollup-freebsd-arm64": "4.37.0", - "@rollup/rollup-freebsd-x64": "4.37.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.37.0", - "@rollup/rollup-linux-arm-musleabihf": "4.37.0", - "@rollup/rollup-linux-arm64-gnu": "4.37.0", - "@rollup/rollup-linux-arm64-musl": "4.37.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.37.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.37.0", - "@rollup/rollup-linux-riscv64-gnu": "4.37.0", - "@rollup/rollup-linux-riscv64-musl": "4.37.0", - "@rollup/rollup-linux-s390x-gnu": "4.37.0", - "@rollup/rollup-linux-x64-gnu": "4.37.0", - "@rollup/rollup-linux-x64-musl": "4.37.0", - "@rollup/rollup-win32-arm64-msvc": "4.37.0", - "@rollup/rollup-win32-ia32-msvc": "4.37.0", - "@rollup/rollup-win32-x64-msvc": "4.37.0", + "@rollup/rollup-android-arm-eabi": "4.41.0", + "@rollup/rollup-android-arm64": "4.41.0", + "@rollup/rollup-darwin-arm64": "4.41.0", + "@rollup/rollup-darwin-x64": "4.41.0", + "@rollup/rollup-freebsd-arm64": "4.41.0", + "@rollup/rollup-freebsd-x64": "4.41.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.41.0", + "@rollup/rollup-linux-arm-musleabihf": "4.41.0", + "@rollup/rollup-linux-arm64-gnu": "4.41.0", + "@rollup/rollup-linux-arm64-musl": "4.41.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.41.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.41.0", + "@rollup/rollup-linux-riscv64-gnu": "4.41.0", + "@rollup/rollup-linux-riscv64-musl": "4.41.0", + "@rollup/rollup-linux-s390x-gnu": "4.41.0", + "@rollup/rollup-linux-x64-gnu": "4.41.0", + "@rollup/rollup-linux-x64-musl": "4.41.0", + "@rollup/rollup-win32-arm64-msvc": "4.41.0", + "@rollup/rollup-win32-ia32-msvc": "4.41.0", + "@rollup/rollup-win32-x64-msvc": "4.41.0", "fsevents": "~2.3.2" } }, - "node_modules/rollup/node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true, - "license": "MIT" - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -3454,9 +3437,9 @@ } }, "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, "license": "ISC", "bin": { @@ -3582,9 +3565,9 @@ } }, "node_modules/stylelint": { - "version": "16.17.0", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.17.0.tgz", - "integrity": "sha512-I9OwVIWRMqVm2Br5iTbrfSqGRPWQUlvm6oXO1xZuYYu0Gpduy67N8wXOZv15p6E/JdlZiAtQaIoLKZEWk5hrjw==", + "version": "16.19.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-16.19.1.tgz", + "integrity": "sha512-C1SlPZNMKl+d/C867ZdCRthrS+6KuZ3AoGW113RZCOL0M8xOGpgx7G70wq7lFvqvm4dcfdGFVLB/mNaLFChRKw==", "dev": true, "funding": [ { @@ -3611,7 +3594,7 @@ "debug": "^4.3.7", "fast-glob": "^3.3.3", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^10.0.7", + "file-entry-cache": "^10.0.8", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", @@ -3619,7 +3602,7 @@ "ignore": "^7.0.3", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.35.0", + "known-css-properties": "^0.36.0", "mathml-tag-names": "^2.1.3", "meow": "^13.2.0", "micromatch": "^4.0.8", @@ -3662,9 +3645,9 @@ } }, "node_modules/stylelint-config-recommended": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-15.0.0.tgz", - "integrity": "sha512-9LejMFsat7L+NXttdHdTq94byn25TD+82bzGRiV1Pgasl99pWnwipXS5DguTpp3nP1XjvLXVnEJIuYBfsRjRkA==", + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-16.0.0.tgz", + "integrity": "sha512-4RSmPjQegF34wNcK1e1O3Uz91HN8P1aFdFzio90wNK9mjgAI19u5vsU868cVZboKzCaa5XbpvtTzAAGQAxpcXA==", "dev": true, "funding": [ { @@ -3681,13 +3664,13 @@ "node": ">=18.12.0" }, "peerDependencies": { - "stylelint": "^16.13.0" + "stylelint": "^16.16.0" } }, "node_modules/stylelint-config-standard": { - "version": "37.0.0", - "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-37.0.0.tgz", - "integrity": "sha512-+6eBlbSTrOn/il2RlV0zYGQwRTkr+WtzuVSs1reaWGObxnxLpbcspCUYajVQHonVfxVw2U+h42azGhrBvcg8OA==", + "version": "38.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-38.0.0.tgz", + "integrity": "sha512-uj3JIX+dpFseqd/DJx8Gy3PcRAJhlEZ2IrlFOc4LUxBX/PNMEQ198x7LCOE2Q5oT9Vw8nyc4CIL78xSqPr6iag==", "dev": true, "funding": [ { @@ -3701,13 +3684,13 @@ ], "license": "MIT", "dependencies": { - "stylelint-config-recommended": "^15.0.0" + "stylelint-config-recommended": "^16.0.0" }, "engines": { "node": ">=18.12.0" }, "peerDependencies": { - "stylelint": "^16.13.0" + "stylelint": "^16.18.0" } }, "node_modules/stylelint/node_modules/balanced-match": { @@ -3718,31 +3701,31 @@ "license": "MIT" }, "node_modules/stylelint/node_modules/file-entry-cache": { - "version": "10.0.7", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.0.7.tgz", - "integrity": "sha512-txsf5fu3anp2ff3+gOJJzRImtrtm/oa9tYLN0iTuINZ++EyVR/nRrg2fKYwvG/pXDofcrvvb0scEbX3NyW/COw==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-10.1.0.tgz", + "integrity": "sha512-Et/ex6smi3wOOB+n5mek+Grf7P2AxZR5ueqRUvAAn4qkyatXi3cUC1cuQXVkX0VlzBVsN4BkWJFmY/fYiRTdww==", "dev": true, "license": "MIT", "dependencies": { - "flat-cache": "^6.1.7" + "flat-cache": "^6.1.9" } }, "node_modules/stylelint/node_modules/flat-cache": { - "version": "6.1.7", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.7.tgz", - "integrity": "sha512-qwZ4xf1v1m7Rc9XiORly31YaChvKt6oNVHuqqZcoED/7O+ToyNVGobKsIAopY9ODcWpEDKEBAbrSOCBHtNQvew==", + "version": "6.1.9", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.9.tgz", + "integrity": "sha512-DUqiKkTlAfhtl7g78IuwqYM+YqvT+as0mY+EVk6mfimy19U79pJCzDZQsnqk3Ou/T6hFXWLGbwbADzD/c8Tydg==", "dev": true, "license": "MIT", "dependencies": { - "cacheable": "^1.8.9", + "cacheable": "^1.9.0", "flatted": "^3.3.3", - "hookified": "^1.7.1" + "hookified": "^1.8.2" } }, "node_modules/stylelint/node_modules/ignore": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.3.tgz", - "integrity": "sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", + "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", "dev": true, "license": "MIT", "engines": { @@ -3790,9 +3773,9 @@ } }, "node_modules/svelte": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.25.3.tgz", - "integrity": "sha512-J9rcZ/xVJonAoESqVGHHZhrNdVbrCfkdB41BP6eiwHMoFShD9it3yZXApVYMHdGfCshBsZCKsajwJeBbS/M1zg==", + "version": "5.33.0", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.33.0.tgz", + "integrity": "sha512-COPJa+cxefgDShgTr3vcLKXdyBfuE96Z65D/EsuxDcU3fwqBxAN6bVjZ0LoVYyAYAShu4K96/k9BxxlAVO6fpg==", "dev": true, "license": "MIT", "dependencies": { @@ -3805,7 +3788,7 @@ "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", - "esrap": "^1.4.3", + "esrap": "^1.4.6", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", @@ -3816,9 +3799,9 @@ } }, "node_modules/svelte-eslint-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.1.0.tgz", - "integrity": "sha512-JP0v/wzDXWxza6c8K9ZjKKHYfgt0KidlbWx1e9n9UV4q+o28GTkk71fR0IDZDmLUDYs3vSq0+Tm9fofDqzGe1w==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/svelte-eslint-parser/-/svelte-eslint-parser-1.2.0.tgz", + "integrity": "sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==", "dev": true, "license": "MIT", "dependencies": { @@ -3891,6 +3874,51 @@ "dev": true, "license": "MIT" }, + "node_modules/tinyglobby": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", + "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -3966,15 +3994,18 @@ "license": "MIT" }, "node_modules/vite": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.3.tgz", - "integrity": "sha512-IzwM54g4y9JA/xAeBPNaDXiBF8Jsgl3VBQ2YQ/wOY6fyW3xMdSoltIV3Bo59DErdqdE6RxUfv8W69DvUorE4Eg==", + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", + "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", "dev": true, "license": "MIT", "dependencies": { "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", "postcss": "^8.5.3", - "rollup": "^4.30.1" + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" }, "bin": { "vite": "bin/vite.js" @@ -4037,6 +4068,34 @@ } } }, + "node_modules/vite/node_modules/fdir": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", + "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/vitefu": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.0.6.tgz", @@ -4097,9 +4156,9 @@ } }, "node_modules/yaml": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", - "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.0.tgz", + "integrity": "sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==", "dev": true, "license": "ISC", "optional": true, @@ -4108,7 +4167,7 @@ "yaml": "bin.mjs" }, "engines": { - "node": ">= 14" + "node": ">= 14.6" } }, "node_modules/yocto-queue": { diff --git a/package.json b/package.json index 594b812e..6f9ef87f 100644 --- a/package.json +++ b/package.json @@ -21,17 +21,17 @@ "autoprefixer": "^10.4.21", "cm-show-invisibles": "^3.1.0", "codemirror": "^5.65.19", - "eslint": "^9.23.0", - "eslint-config-prettier": "^10.1.1", - "eslint-plugin-svelte": "^3.3.3", - "globals": "^16.0.0", - "marked": "^15.0.7", + "eslint": "^9.27.0", + "eslint-config-prettier": "^10.1.5", + "eslint-plugin-svelte": "^3.9.0", + "globals": "^16.1.0", + "marked": "^15.0.12", "prettier": "3.5.3", - "prettier-plugin-svelte": "3.3.3", - "stylelint": "^16.17.0", + "prettier-plugin-svelte": "3.4.0", + "stylelint": "^16.19.1", "stylelint-config-html": "^1.1.0", - "stylelint-config-standard": "^37.0.0", - "svelte": "^5.25.3", - "vite": "^6.2.3" + "stylelint-config-standard": "^38.0.0", + "svelte": "^5.33.0", + "vite": "^6.3.5" } } From f13930c940f3602072eff8695a4bf3a99941e8ba Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Thu, 22 May 2025 18:24:53 +0000 Subject: [PATCH 02/60] chore: fix newly generated eslint errors Refactor the svelte v4 $state store name to avoid conflicts with v5 runes. --- src/ext/extension-page/App.svelte | 18 ++++++------ src/ext/extension-page/Appios.svelte | 14 +++++----- .../Components/Editor/CodeMirror.svelte | 17 ++++++----- .../Components/Editor/Editor.svelte | 28 +++++++++---------- .../Components/Sidebar/Sidebar.svelte | 14 +++++----- .../Components/Sidebar/SidebarFilter.svelte | 4 +-- src/ext/extension-page/store.js | 2 +- 7 files changed, 50 insertions(+), 47 deletions(-) diff --git a/src/ext/extension-page/App.svelte b/src/ext/extension-page/App.svelte index 4f91d520..60574f73 100644 --- a/src/ext/extension-page/App.svelte +++ b/src/ext/extension-page/App.svelte @@ -1,7 +1,7 @@ -{#if $state.includes("init")} +{#if $v4state.includes("init")}
- {#if $state.includes("init-error")} + {#if $v4state.includes("init-error")} Failed to initialize app, check the browser console {:else} Initializing app... @@ -47,7 +47,7 @@ notifications.remove(item.id)} {item} /> {/each} -{#if $state.includes("settings")} +{#if $v4state.includes("settings")} {/if} diff --git a/src/ext/extension-page/Components/Editor/CodeMirror.svelte b/src/ext/extension-page/Components/Editor/CodeMirror.svelte index 8abd9459..f097189b 100644 --- a/src/ext/extension-page/Components/Editor/CodeMirror.svelte +++ b/src/ext/extension-page/Components/Editor/CodeMirror.svelte @@ -28,7 +28,7 @@
- {#if $state.includes("editor-loading") || $state.includes("fetching")} + {#if $v4state.includes("editor-loading") || $v4state.includes("fetching")} {/if} {#if !activeItem} @@ -174,11 +174,11 @@
- {#if $state.includes("saving")} + {#if $v4state.includes("saving")} Saving... - {:else if $state.includes("trashing")} + {:else if $v4state.includes("trashing")} (◞‸◟) - {:else if $state.includes("updating")} + {:else if $v4state.includes("updating")} Updating code, diff --git a/src/ext/extension-page/Components/Sidebar/Sidebar.svelte b/src/ext/extension-page/Components/Sidebar/Sidebar.svelte index 415f08d4..cbc62445 100644 --- a/src/ext/extension-page/Components/Sidebar/Sidebar.svelte +++ b/src/ext/extension-page/Components/Sidebar/Sidebar.svelte @@ -1,7 +1,7 @@ + + + + + + diff --git a/src/shared/img/logo-icon.png b/src/shared/img/logo-icon.png deleted file mode 100644 index 9fe96182de0e89765ffbef258c50c5a7d2d8b767..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24309 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 Date: Sun, 29 Jun 2025 03:33:26 +0000 Subject: [PATCH 19/60] ci: update xcode version --- .github/workflows/deployment.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 1d6cdf02..192c7f3f 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -9,7 +9,7 @@ jobs: strategy: matrix: # https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs platform: [mac, ios] - runs-on: macos-latest # https://github.com/actions/runner-images + runs-on: macos-15 # https://github.com/actions/runner-images steps: - uses: actions/checkout@v4 # https://github.com/actions/checkout with: @@ -38,7 +38,7 @@ jobs: - run: npm run build:${{ matrix.platform }}-safari-15 if: ${{ ! github.event.release.prerelease }} - name: Set xcode version - run: sudo xcode-select -s "/Applications/Xcode_16.2.app" # https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md#xcode + run: sudo xcode-select -s "/Applications/Xcode_26.0.app" # https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md#xcode - name: Run fastlane id: fastlane working-directory: ./fastlane From dc5a1dd077ea2fdde473b6f0f40612d35c3bb4fb Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Sun, 29 Jun 2025 03:59:03 +0000 Subject: [PATCH 20/60] chore: clean up some redundant codes --- src/shared/Components/LogoIcon.svelte | 4 ---- src/shared/Components/LogoText.svelte | 3 --- 2 files changed, 7 deletions(-) diff --git a/src/shared/Components/LogoIcon.svelte b/src/shared/Components/LogoIcon.svelte index ff9991cc..7b5f74df 100644 --- a/src/shared/Components/LogoIcon.svelte +++ b/src/shared/Components/LogoIcon.svelte @@ -1,11 +1,7 @@ - - diff --git a/src/shared/Components/LogoText.svelte b/src/shared/Components/LogoText.svelte index 849b023d..e5ad9068 100644 --- a/src/shared/Components/LogoText.svelte +++ b/src/shared/Components/LogoText.svelte @@ -1,8 +1,5 @@ - - Date: Sun, 29 Jun 2025 04:03:29 +0000 Subject: [PATCH 21/60] chore: update ci comment link --- .github/workflows/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index 192c7f3f..ef193cf6 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -38,7 +38,7 @@ jobs: - run: npm run build:${{ matrix.platform }}-safari-15 if: ${{ ! github.event.release.prerelease }} - name: Set xcode version - run: sudo xcode-select -s "/Applications/Xcode_26.0.app" # https://github.com/actions/runner-images/blob/main/images/macos/macos-14-arm64-Readme.md#xcode + run: sudo xcode-select -s "/Applications/Xcode_26.0.app" # https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md#xcode - name: Run fastlane id: fastlane working-directory: ./fastlane From 02965ed20e9070a366e24b56c0fd2b8158249025 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Mon, 7 Jul 2025 06:28:15 +0000 Subject: [PATCH 22/60] ci: avoid use xcode symbolic links --- .github/workflows/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index ef193cf6..f63d7243 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -38,7 +38,7 @@ jobs: - run: npm run build:${{ matrix.platform }}-safari-15 if: ${{ ! github.event.release.prerelease }} - name: Set xcode version - run: sudo xcode-select -s "/Applications/Xcode_26.0.app" # https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md#xcode + run: sudo xcode-select -s "/Applications/Xcode_26_beta.app" # https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md#xcode - name: Run fastlane id: fastlane working-directory: ./fastlane From 1bd811ebfb8bebb657fe0871ceecf17be024ac2a Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Mon, 7 Jul 2025 06:56:03 +0000 Subject: [PATCH 23/60] ci: try manually install ios component --- .github/workflows/deployment.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deployment.yaml b/.github/workflows/deployment.yaml index f63d7243..86855b3f 100644 --- a/.github/workflows/deployment.yaml +++ b/.github/workflows/deployment.yaml @@ -39,6 +39,7 @@ jobs: if: ${{ ! github.event.release.prerelease }} - name: Set xcode version run: sudo xcode-select -s "/Applications/Xcode_26_beta.app" # https://github.com/actions/runner-images/blob/main/images/macos/macos-15-arm64-Readme.md#xcode + - run: xcodebuild -downloadPlatform iOS # Temporary fix for Xcode_26_beta - name: Run fastlane id: fastlane working-directory: ./fastlane From 178782a9f748b397229b5333655efa4dfb97ac1b Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Mon, 7 Jul 2025 16:44:12 +0000 Subject: [PATCH 24/60] build(gem): update fastlane --- fastlane/Gemfile.lock | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/fastlane/Gemfile.lock b/fastlane/Gemfile.lock index 989cb342..a8ba4db2 100644 --- a/fastlane/Gemfile.lock +++ b/fastlane/Gemfile.lock @@ -9,26 +9,26 @@ GEM public_suffix (>= 2.0.2, < 7.0) artifactory (3.0.17) atomos (0.1.3) - aws-eventstream (1.3.2) - aws-partitions (1.1106.0) - aws-sdk-core (3.224.0) + aws-eventstream (1.4.0) + aws-partitions (1.1125.0) + aws-sdk-core (3.226.2) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.992.0) aws-sigv4 (~> 1.9) base64 jmespath (~> 1, >= 1.6.1) logger - aws-sdk-kms (1.101.0) - aws-sdk-core (~> 3, >= 3.216.0) + aws-sdk-kms (1.106.0) + aws-sdk-core (~> 3, >= 3.225.0) aws-sigv4 (~> 1.5) - aws-sdk-s3 (1.186.1) - aws-sdk-core (~> 3, >= 3.216.0) + aws-sdk-s3 (1.192.0) + aws-sdk-core (~> 3, >= 3.225.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.5) - aws-sigv4 (1.11.0) + aws-sigv4 (1.12.1) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) - base64 (0.2.0) + base64 (0.3.0) claide (1.1.0) colored (1.2) colored2 (3.1.2) @@ -57,10 +57,10 @@ GEM faraday (>= 0.8.0) http-cookie (~> 1.0.0) faraday-em_http (1.0.0) - faraday-em_synchrony (1.0.0) + faraday-em_synchrony (1.0.1) faraday-excon (1.1.0) faraday-httpclient (1.0.1) - faraday-multipart (1.1.0) + faraday-multipart (1.1.1) multipart-post (~> 2.0) faraday-net_http (1.0.2) faraday-net_http_persistent (1.2.0) @@ -70,7 +70,7 @@ GEM faraday_middleware (1.2.1) faraday (~> 1.0) fastimage (2.4.0) - fastlane (2.227.2) + fastlane (2.228.0) CFPropertyList (>= 2.3, < 4.0.0) addressable (>= 2.8, < 3.0.0) artifactory (~> 3.0) @@ -157,8 +157,8 @@ GEM httpclient (2.9.0) mutex_m jmespath (1.6.2) - json (2.12.0) - jwt (2.10.1) + json (2.12.2) + jwt (2.10.2) base64 logger (1.7.0) mini_magick (4.13.2) @@ -167,13 +167,13 @@ GEM multipart-post (2.4.1) mutex_m (0.3.0) nanaimo (0.4.0) - naturally (2.2.1) + naturally (2.3.0) nkf (0.2.0) optparse (0.6.0) os (1.1.4) plist (3.7.2) public_suffix (6.0.2) - rake (13.2.1) + rake (13.3.0) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) From 12f00e40ed7319ed16cced574e52460467ab3820 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 8 Jul 2025 02:30:22 +0000 Subject: [PATCH 25/60] docs: notes icloud folder guide --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d0601bfc..9f563559 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ After installing the iOS App, you need two main steps to make the extension work > > The App cannot detect whether you have enabled the extension in Safari, therefore, the App prompt will not change after you enable the extension. Currently the App interface is only used to set or change the userscripts directory. > -> You could select an iCloud folder for syncing scripts between macOS and iOS, but please note that there may be delays in synchronization, and you may encounter files be evictioned due to iCloud optimization, please refer to [#424](https://github.com/quoid/userscripts/issues/424). +> You could select an iCloud folder for syncing scripts between macOS and iOS, but please note that there may be delays in synchronization, and you may encounter files be evictioned due to iCloud optimization, please refer to [#424](https://github.com/quoid/userscripts/issues/424). (**Since macOS 15 / iOS 18, please set "keep downloaded" for the folder to avoid eviction**) There are two main ways to install a user script from the iOS version: From 7e4276042e1784a3c0747ad865cabfa760370566 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 8 Jul 2025 02:37:16 +0000 Subject: [PATCH 26/60] docs: update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9f563559..269aa89b 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ After installing the iOS App, you need two main steps to make the extension work > [!NOTE] > -> The App cannot detect whether you have enabled the extension in Safari, therefore, the App prompt will not change after you enable the extension. Currently the App interface is only used to set or change the userscripts directory. +> The iOS App cannot detect whether you have enabled the extension in Safari, therefore, the App prompt will not change after you enable the extension. Currently the App interface is only used to set or change the userscripts directory. > > You could select an iCloud folder for syncing scripts between macOS and iOS, but please note that there may be delays in synchronization, and you may encounter files be evictioned due to iCloud optimization, please refer to [#424](https://github.com/quoid/userscripts/issues/424). (**Since macOS 15 / iOS 18, please set "keep downloaded" for the folder to avoid eviction**) From bb9437b5fde33e8f01ae4497e9cb77265aaea194 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 8 Jul 2025 02:49:08 +0000 Subject: [PATCH 27/60] chore: update year information --- README.md | 2 +- docs/contributing.md | 2 +- docs/dev.md | 2 +- docs/structure.md | 2 +- xcode/xcconfig/Userscripts-Release.xcconfig | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 269aa89b..09cdc78a 100644 --- a/README.md +++ b/README.md @@ -386,6 +386,6 @@ Userscripts does not collect any data from its users nor monitor activities or a ## License -Copyright (c) 2018-2024 Justin Wasack +Copyright © 2018-2025 Justin Wasack Licensed under the [GNU General Public License v3.0](/LICENSE) license for all open source applications. A commercial license is required for all other applications. diff --git a/docs/contributing.md b/docs/contributing.md index 7d09d9d4..3cb92e9d 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -117,4 +117,4 @@ If you are not a member of the project, first you need to fork the master branch # About -[Userscripts](https://github.com/quoid/userscripts) @ 2018-2023 +[Userscripts](https://github.com/quoid/userscripts) diff --git a/docs/dev.md b/docs/dev.md index 2bfa7681..262aac05 100644 --- a/docs/dev.md +++ b/docs/dev.md @@ -79,4 +79,4 @@ Note that all existing `.xcconfig` files already include `.dev.xcconfig` files o # About -[Userscripts](https://github.com/quoid/userscripts) @ 2018-2024 +[Userscripts](https://github.com/quoid/userscripts) diff --git a/docs/structure.md b/docs/structure.md index d493c3b7..1a0cd320 100644 --- a/docs/structure.md +++ b/docs/structure.md @@ -38,4 +38,4 @@ Build the project from here to extension bundled app # About -[Userscripts](https://github.com/quoid/userscripts) @ 2018-2023 +[Userscripts](https://github.com/quoid/userscripts) diff --git a/xcode/xcconfig/Userscripts-Release.xcconfig b/xcode/xcconfig/Userscripts-Release.xcconfig index 886f5a47..8c52d66b 100644 --- a/xcode/xcconfig/Userscripts-Release.xcconfig +++ b/xcode/xcconfig/Userscripts-Release.xcconfig @@ -1,6 +1,6 @@ #include "Userscripts-Base.xcconfig" -INFOPLIST_KEY_NSHumanReadableCopyright = Copyright © 2018–2024 Justin Wasack. All rights reserved. +INFOPLIST_KEY_NSHumanReadableCopyright = Copyright © 2018–2025 Justin Wasack. All rights reserved. CURRENT_PROJECT_VERSION = 1 MARKETING_VERSION = 1.0.0 From e03d49edfc621c8f43a4cab5fa28213d3d2ab975 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 8 Jul 2025 21:55:02 +0000 Subject: [PATCH 28/60] refactor: use light-dark for console log colors --- src/ext/content-scripts/entry-userscripts.js | 20 ++++++------- src/shared/colors.js | 31 +++++--------------- 2 files changed, 18 insertions(+), 33 deletions(-) diff --git a/src/ext/content-scripts/entry-userscripts.js b/src/ext/content-scripts/entry-userscripts.js index 5c0f79e7..5721dd90 100644 --- a/src/ext/content-scripts/entry-userscripts.js +++ b/src/ext/content-scripts/entry-userscripts.js @@ -1,5 +1,5 @@ import USAPI from "./api.js"; -import { getColor } from "@shared/colors.js"; +import { colors } from "@shared/colors.js"; // code received from background page will be stored in this variable // code referenced again when strict CSPs block initial injection attempt @@ -63,13 +63,13 @@ ${userscript.code} } const world = injectInto === "content" ? "content" : "page"; if (window.self === window.top) { - console.info(`Injecting: ${name} %c(js/${world})`, getColor("yellow")); + console.info(`Injecting: ${name} %c(js/${world})`, colors.yellow); } else { console.info( `Injecting: ${name} %c(js/${world})%c - %cframe(${label})(${window.location})`, - getColor("yellow"), - getColor(), - getColor("blue"), + colors.yellow, + colors.inherit, + colors.blue, ); } if (world === "page") { @@ -95,13 +95,13 @@ ${userscript.code} function injectCSS(name, code) { if (window.self === window.top) { - console.info(`Injecting ${name} %c(css)`, getColor("green")); + console.info(`Injecting ${name} %c(css)`, colors.green); } else { console.info( `Injecting ${name} %c(css)%c - %cframe(${label})(${window.location})`, - getColor("green"), - getColor(), - getColor("blue"), + colors.green, + colors.inherit, + colors.blue, ); } // Safari lacks full support for tabs.insertCSS @@ -247,7 +247,7 @@ function listeners() { for (let i = 0; i < data.files.menu.length; i++) { const item = data.files.menu[i]; if (item.scriptObject.filename === filename) { - console.info(`Injecting ${filename} %c(js)`, getColor("yellow")); + console.info(`Injecting ${filename} %c(js)`, colors.yellow); injectJS(item); return; } diff --git a/src/shared/colors.js b/src/shared/colors.js index f7162e40..71a2412f 100644 --- a/src/shared/colors.js +++ b/src/shared/colors.js @@ -1,25 +1,10 @@ -const darkModeQuery = window.matchMedia("(prefers-color-scheme: dark)"); - -let isDark = darkModeQuery.matches; - -darkModeQuery.addEventListener("change", () => { - isDark = darkModeQuery.matches; -}); - /** - * Get theme colors for console log css - * @param {string=} color + * Theme colors for console log css + * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/console#styling_console_output} */ -export function getColor(color) { - if (!color) return "color: inherit"; - const colors = { - blue: { dark: "#006fff", light: "#317eff" }, - green: { dark: "#60f36c", light: "#2bb239" }, - yellow: { dark: "#fff600", light: "#b8722c" }, - }; - if (color in colors) { - const hex = isDark ? colors[color].dark : colors[color].light; - return `color: ${hex}`; - } - return ""; -} +export const colors = { + inherit: "color: inherit", + blue: "color: light-dark( #317eff, #006fff);", + green: "color: light-dark( #2bb239, #60f36c);", + yellow: "color: light-dark( #b8722c, #fff600);", +}; From 599cc7bdc5c5cdda1a04a8b830248aa80135631b Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 8 Jul 2025 21:59:41 +0000 Subject: [PATCH 29/60] chore: add a trailing semicolon --- src/shared/colors.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/shared/colors.js b/src/shared/colors.js index 71a2412f..73d9001f 100644 --- a/src/shared/colors.js +++ b/src/shared/colors.js @@ -3,7 +3,7 @@ * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/console#styling_console_output} */ export const colors = { - inherit: "color: inherit", + inherit: "color: inherit;", blue: "color: light-dark( #317eff, #006fff);", green: "color: light-dark( #2bb239, #60f36c);", yellow: "color: light-dark( #b8722c, #fff600);", From f618f01d4a46de20870134467455fc83027490ef Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Mon, 21 Jul 2025 16:47:19 +0000 Subject: [PATCH 30/60] chore: fix dev public dir --- scripts/dev-safari.js | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/dev-safari.js b/scripts/dev-safari.js index 34943850..c9236b9f 100644 --- a/scripts/dev-safari.js +++ b/scripts/dev-safari.js @@ -186,6 +186,7 @@ async function serverCheck(url) { /** run development server */ const server = await createServer({ ...sharedConfig, + publicDir: "public/ext/vendor/", plugins: [svelte()], server: { host: true, From c4aee6442024780fd13ed4e21eb898026320e8a2 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Mon, 21 Jul 2025 16:51:40 +0000 Subject: [PATCH 31/60] fix: editor tab key restores default behavior --- src/ext/extension-page/Components/Editor/CodeMirror.svelte | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/ext/extension-page/Components/Editor/CodeMirror.svelte b/src/ext/extension-page/Components/Editor/CodeMirror.svelte index f097189b..b2cbacda 100644 --- a/src/ext/extension-page/Components/Editor/CodeMirror.svelte +++ b/src/ext/extension-page/Components/Editor/CodeMirror.svelte @@ -150,11 +150,6 @@ "Cmd-S": () => saveHandler(), "Cmd-F": () => activateSearch(), Esc: () => (searchActive = false), - Tab: (cm) => { - // convert tabs to spaces and add invisible elements - const s = Array(cm.getOption("indentUnit") + 1).join(" "); - cm.replaceSelection(s); - }, }, }); From 649157a4bbcb3e2fa5d06c5cf56d98e050258b8a Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 22 Jul 2025 12:33:30 +0000 Subject: [PATCH 32/60] style: avoid the button being shrink --- src/shared/Components/IconButton.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/src/shared/Components/IconButton.svelte b/src/shared/Components/IconButton.svelte index 99751f97..52ec42cc 100644 --- a/src/shared/Components/IconButton.svelte +++ b/src/shared/Components/IconButton.svelte @@ -28,6 +28,7 @@ color: inherit; cursor: pointer; display: flex; + flex-shrink: 0; height: 1.5rem; justify-content: center; overflow: visible; From 546fdf5f0f7a48049c229d7e528e2f7f5f96e04d Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 22 Jul 2025 12:35:42 +0000 Subject: [PATCH 33/60] fix: add truncate to couple element --- src/ext/extension-page/Components/Editor/Editor.svelte | 2 +- src/ext/extension-page/Components/Sidebar/SidebarItem.svelte | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ext/extension-page/Components/Editor/Editor.svelte b/src/ext/extension-page/Components/Editor/Editor.svelte index 0bdd3507..adcd67dd 100644 --- a/src/ext/extension-page/Components/Editor/Editor.svelte +++ b/src/ext/extension-page/Components/Editor/Editor.svelte @@ -173,7 +173,7 @@
{name}
-
+
{#if $v4state.includes("saving")} Saving... {:else if $v4state.includes("trashing")} diff --git a/src/ext/extension-page/Components/Sidebar/SidebarItem.svelte b/src/ext/extension-page/Components/Sidebar/SidebarItem.svelte index 266d68bc..c7c27bc7 100644 --- a/src/ext/extension-page/Components/Sidebar/SidebarItem.svelte +++ b/src/ext/extension-page/Components/Sidebar/SidebarItem.svelte @@ -42,7 +42,10 @@
{#if description} -
+
{description}
{/if} From 22b3b516e480dd1241fc0f6aa857b194b60b6603 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 22 Jul 2025 12:39:56 +0000 Subject: [PATCH 34/60] feat: activate the first script on mount --- src/ext/extension-page/Components/Sidebar/Sidebar.svelte | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ext/extension-page/Components/Sidebar/Sidebar.svelte b/src/ext/extension-page/Components/Sidebar/Sidebar.svelte index cbc62445..2c38d359 100644 --- a/src/ext/extension-page/Components/Sidebar/Sidebar.svelte +++ b/src/ext/extension-page/Components/Sidebar/Sidebar.svelte @@ -30,6 +30,8 @@ $: if (list.find((a) => a.active)) { const active = list.find((a) => a.active); scrollToEl(active.filename); + } else { + activate(list[0]); } /** From d652e573893aa58ae5c7afa79c4dfc87a9d46884 Mon Sep 17 00:00:00 2001 From: ACTCD <101378590+ACTCD@users.noreply.github.com> Date: Tue, 22 Jul 2025 12:42:51 +0000 Subject: [PATCH 35/60] refactor: split class attributes for clearer --- src/ext/extension-page/Components/Sidebar/Sidebar.svelte | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/ext/extension-page/Components/Sidebar/Sidebar.svelte b/src/ext/extension-page/Components/Sidebar/Sidebar.svelte index 2c38d359..bdab0149 100644 --- a/src/ext/extension-page/Components/Sidebar/Sidebar.svelte +++ b/src/ext/extension-page/Components/Sidebar/Sidebar.svelte @@ -206,9 +206,8 @@