diff --git a/.vscode/settings.json b/.vscode/settings.json index b001961..41619fe 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -30,6 +30,6 @@ "editor.defaultFormatter": "biomejs.biome" }, "editor.codeActionsOnSave": { - "source.organizeImports.biome": "explicit" + "source.organizeImports.biome": "always" } } diff --git a/drizzle.config.ts b/drizzle.config.ts index d94979e..4280be2 100644 --- a/drizzle.config.ts +++ b/drizzle.config.ts @@ -1,4 +1,4 @@ -import { defineConfig } from 'drizzle-kit'; +import { defineConfig } from 'drizzle-kit' export default defineConfig({ schema: './src/integrations/drizzle/db/schema.ts', diff --git a/package-lock.json b/package-lock.json index 7940d17..359c77d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,16 +7,16 @@ "name": "template", "dependencies": { "@heroui/react": "^2.8.5", - "@supabase/ssr": "^0.7.0", - "@supabase/supabase-js": "^2.81.1", + "@supabase/ssr": "^0.8.0", + "@supabase/supabase-js": "^2.86.0", "@tailwindcss/vite": "^4.1.17", - "@tanstack/react-query": "^5.90.8", - "@tanstack/react-query-devtools": "^5.90.2", - "@tanstack/react-router": "^1.135.2", - "@tanstack/react-router-devtools": "^1.135.2", + "@tanstack/react-query": "^5.90.11", + "@tanstack/react-query-devtools": "^5.91.1", + "@tanstack/react-router": "^1.139.7", + "@tanstack/react-router-devtools": "^1.139.7", "@tanstack/react-router-with-query": "^1.130.17", - "@tanstack/react-start": "^1.135.2", - "@tanstack/router-plugin": "^1.135.2", + "@tanstack/react-start": "^1.139.8", + "@tanstack/router-plugin": "^1.139.7", "@vis.gl/react-google-maps": "^1.7.1", "drizzle-orm": "^0.44.7", "framer-motion": "^12.23.12", @@ -24,20 +24,20 @@ "react": "^19.2.0", "react-dom": "^19.2.0", "sonner": "^2.0.7", - "zod": "^4.1.12" + "zod": "^4.1.13" }, "devDependencies": { - "@biomejs/biome": "^2.3.5", - "@tanstack/react-router-ssr-query": "^1.135.2", + "@biomejs/biome": "^2.3.8", + "@tanstack/react-router-ssr-query": "^1.139.7", "@types/google.maps": "^3.58.1", - "@types/react": "^19.2.4", + "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^5.1.1", - "drizzle-kit": "^0.31.6", + "drizzle-kit": "^0.31.7", "jsdom": "^27.2.0", "tailwindcss": "^4.1.17", "typescript": "^5.9.3", - "vite": "^7.2.2", + "vite": "^7.2.4", "vite-tsconfig-paths": "^5.1.4", "web-vitals": "^5.1.0" } @@ -132,7 +132,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -552,9 +551,9 @@ } }, "node_modules/@biomejs/biome": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.5.tgz", - "integrity": "sha512-HvLhNlIlBIbAV77VysRIBEwp55oM/QAjQEin74QQX9Xb259/XP/D5AGGnZMOyF1el4zcvlNYYR3AyTMUV3ILhg==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.3.8.tgz", + "integrity": "sha512-Qjsgoe6FEBxWAUzwFGFrB+1+M8y/y5kwmg5CHac+GSVOdmOIqsAiXM5QMVGZJ1eCUCLlPZtq4aFAQ0eawEUuUA==", "dev": true, "license": "MIT OR Apache-2.0", "bin": { @@ -568,20 +567,20 @@ "url": "https://opencollective.com/biome" }, "optionalDependencies": { - "@biomejs/cli-darwin-arm64": "2.3.5", - "@biomejs/cli-darwin-x64": "2.3.5", - "@biomejs/cli-linux-arm64": "2.3.5", - "@biomejs/cli-linux-arm64-musl": "2.3.5", - "@biomejs/cli-linux-x64": "2.3.5", - "@biomejs/cli-linux-x64-musl": "2.3.5", - "@biomejs/cli-win32-arm64": "2.3.5", - "@biomejs/cli-win32-x64": "2.3.5" + "@biomejs/cli-darwin-arm64": "2.3.8", + "@biomejs/cli-darwin-x64": "2.3.8", + "@biomejs/cli-linux-arm64": "2.3.8", + "@biomejs/cli-linux-arm64-musl": "2.3.8", + "@biomejs/cli-linux-x64": "2.3.8", + "@biomejs/cli-linux-x64-musl": "2.3.8", + "@biomejs/cli-win32-arm64": "2.3.8", + "@biomejs/cli-win32-x64": "2.3.8" } }, "node_modules/@biomejs/cli-darwin-arm64": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.5.tgz", - "integrity": "sha512-fLdTur8cJU33HxHUUsii3GLx/TR0BsfQx8FkeqIiW33cGMtUD56fAtrh+2Fx1uhiCsVZlFh6iLKUU3pniZREQw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.3.8.tgz", + "integrity": "sha512-HM4Zg9CGQ3txTPflxD19n8MFPrmUAjaC7PQdLkugeeC0cQ+PiVrd7i09gaBS/11QKsTDBJhVg85CEIK9f50Qww==", "cpu": [ "arm64" ], @@ -596,9 +595,9 @@ } }, "node_modules/@biomejs/cli-darwin-x64": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.5.tgz", - "integrity": "sha512-qpT8XDqeUlzrOW8zb4k3tjhT7rmvVRumhi2657I2aGcY4B+Ft5fNwDdZGACzn8zj7/K1fdWjgwYE3i2mSZ+vOA==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.3.8.tgz", + "integrity": "sha512-lUDQ03D7y/qEao7RgdjWVGCu+BLYadhKTm40HkpJIi6kn8LSv5PAwRlew/DmwP4YZ9ke9XXoTIQDO1vAnbRZlA==", "cpu": [ "x64" ], @@ -613,9 +612,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.5.tgz", - "integrity": "sha512-u/pybjTBPGBHB66ku4pK1gj+Dxgx7/+Z0jAriZISPX1ocTO8aHh8x8e7Kb1rB4Ms0nA/SzjtNOVJ4exVavQBCw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.3.8.tgz", + "integrity": "sha512-Uo1OJnIkJgSgF+USx970fsM/drtPcQ39I+JO+Fjsaa9ZdCN1oysQmy6oAGbyESlouz+rzEckLTF6DS7cWse95g==", "cpu": [ "arm64" ], @@ -630,9 +629,9 @@ } }, "node_modules/@biomejs/cli-linux-arm64-musl": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.5.tgz", - "integrity": "sha512-eGUG7+hcLgGnMNl1KHVZUYxahYAhC462jF/wQolqu4qso2MSk32Q+QrpN7eN4jAHAg7FUMIo897muIhK4hXhqg==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.3.8.tgz", + "integrity": "sha512-PShR4mM0sjksUMyxbyPNMxoKFPVF48fU8Qe8Sfx6w6F42verbwRLbz+QiKNiDPRJwUoMG1nPM50OBL3aOnTevA==", "cpu": [ "arm64" ], @@ -647,9 +646,9 @@ } }, "node_modules/@biomejs/cli-linux-x64": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.5.tgz", - "integrity": "sha512-XrIVi9YAW6ye0CGQ+yax0gLfx+BFOtKaNX74n+xHWla6Cl6huUmcKNO7HPx7BiKnJUzrxXY1qYlm7xMvi08X4g==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.3.8.tgz", + "integrity": "sha512-QDPMD5bQz6qOVb3kiBui0zKZXASLo0NIQ9JVJio5RveBEFgDgsvJFUvZIbMbUZT3T00M/1wdzwWXk4GIh0KaAw==", "cpu": [ "x64" ], @@ -664,9 +663,9 @@ } }, "node_modules/@biomejs/cli-linux-x64-musl": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.5.tgz", - "integrity": "sha512-awVuycTPpVTH/+WDVnEEYSf6nbCBHf/4wB3lquwT7puhNg8R4XvonWNZzUsfHZrCkjkLhFH/vCZK5jHatD9FEg==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.3.8.tgz", + "integrity": "sha512-YGLkqU91r1276uwSjiUD/xaVikdxgV1QpsicT0bIA1TaieM6E5ibMZeSyjQ/izBn4tKQthUSsVZacmoJfa3pDA==", "cpu": [ "x64" ], @@ -681,9 +680,9 @@ } }, "node_modules/@biomejs/cli-win32-arm64": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.5.tgz", - "integrity": "sha512-DlBiMlBZZ9eIq4H7RimDSGsYcOtfOIfZOaI5CqsWiSlbTfqbPVfWtCf92wNzx8GNMbu1s7/g3ZZESr6+GwM/SA==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.3.8.tgz", + "integrity": "sha512-H4IoCHvL1fXKDrTALeTKMiE7GGWFAraDwBYFquE/L/5r1927Te0mYIGseXi4F+lrrwhSWbSGt5qPFswNoBaCxg==", "cpu": [ "arm64" ], @@ -698,9 +697,9 @@ } }, "node_modules/@biomejs/cli-win32-x64": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.5.tgz", - "integrity": "sha512-nUmR8gb6yvrKhtRgzwo/gDimPwnO5a4sCydf8ZS2kHIJhEmSmk+STsusr1LHTuM//wXppBawvSQi2xFXJCdgKQ==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.3.8.tgz", + "integrity": "sha512-RguzimPoZWtBapfKhKjcWXBVI91tiSprqdBYu7tWhgN8pKRZhw24rFeNZTNf6UiBfjCYCi9eFQs/JzJZIhuK4w==", "cpu": [ "x64" ], @@ -802,7 +801,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" }, @@ -846,7 +844,6 @@ } ], "license": "MIT", - "peer": true, "engines": { "node": ">=18" } @@ -2828,7 +2825,6 @@ "resolved": "https://registry.npmjs.org/@heroui/system/-/system-2.4.23.tgz", "integrity": "sha512-kgYvfkIOQKM6CCBIlNSE2tXMtNrS1mvEUbvwnaU3pEYbMlceBtwA5v7SlpaJy/5dqKcTbfmVMUCmXnY/Kw4vaQ==", "license": "MIT", - "peer": true, "dependencies": { "@heroui/react-utils": "2.1.14", "@heroui/system-rsc": "2.3.20", @@ -2914,7 +2910,6 @@ "resolved": "https://registry.npmjs.org/@heroui/theme/-/theme-2.4.23.tgz", "integrity": "sha512-5hoaRWG+/d/t06p7Pfhz70DUP0Uggjids7/z2Ytgup4A8KAOvDIXxvHUDlk6rRHKiN1wDMNA5H+EWsSXB/m03Q==", "license": "MIT", - "peer": true, "dependencies": { "@heroui/shared-utils": "2.1.12", "clsx": "^1.2.1", @@ -3355,51 +3350,51 @@ } }, "node_modules/@oozcitak/dom": { - "version": "1.15.10", - "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-1.15.10.tgz", - "integrity": "sha512-0JT29/LaxVgRcGKvHmSrUTEvZ8BXvZhGl2LASRUgHqDTC1M5g1pLmVv56IYNyt3bG2CUjDkc67wnyZC14pbQrQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@oozcitak/dom/-/dom-2.0.2.tgz", + "integrity": "sha512-GjpKhkSYC3Mj4+lfwEyI1dqnsKTgwGy48ytZEhm4A/xnH/8z9M3ZVXKr/YGQi3uCLs1AEBS+x5T2JPiueEDW8w==", "license": "MIT", "dependencies": { - "@oozcitak/infra": "1.0.8", - "@oozcitak/url": "1.0.4", - "@oozcitak/util": "8.3.8" + "@oozcitak/infra": "^2.0.2", + "@oozcitak/url": "^3.0.0", + "@oozcitak/util": "^10.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=20.0" } }, "node_modules/@oozcitak/infra": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-1.0.8.tgz", - "integrity": "sha512-JRAUc9VR6IGHOL7OGF+yrvs0LO8SlqGnPAMqyzOuFZPSZSXI7Xf2O9+awQPSMXgIWGtgUf/dA6Hs6X6ySEaWTg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@oozcitak/infra/-/infra-2.0.2.tgz", + "integrity": "sha512-2g+E7hoE2dgCz/APPOEK5s3rMhJvNxSMBrP+U+j1OWsIbtSpWxxlUjq1lU8RIsFJNYv7NMlnVsCuHcUzJW+8vA==", "license": "MIT", "dependencies": { - "@oozcitak/util": "8.3.8" + "@oozcitak/util": "^10.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=20.0" } }, "node_modules/@oozcitak/url": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-1.0.4.tgz", - "integrity": "sha512-kDcD8y+y3FCSOvnBI6HJgl00viO/nGbQoCINmQ0h98OhnGITrWR3bOGfwYCthgcrV8AnTJz8MzslTQbC3SOAmw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@oozcitak/url/-/url-3.0.0.tgz", + "integrity": "sha512-ZKfET8Ak1wsLAiLWNfFkZc/BraDccuTJKR6svTYc7sVjbR+Iu0vtXdiDMY4o6jaFl5TW2TlS7jbLl4VovtAJWQ==", "license": "MIT", "dependencies": { - "@oozcitak/infra": "1.0.8", - "@oozcitak/util": "8.3.8" + "@oozcitak/infra": "^2.0.2", + "@oozcitak/util": "^10.0.0" }, "engines": { - "node": ">=8.0" + "node": ">=20.0" } }, "node_modules/@oozcitak/util": { - "version": "8.3.8", - "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-8.3.8.tgz", - "integrity": "sha512-T8TbSnGsxo6TDBJx/Sgv/BlVJL3tshxZP7Aq5R1mSnM5OcHY2dQaxLMu2+E8u3gN0MLOzdjurqN4ZRVuzQycOQ==", + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@oozcitak/util/-/util-10.0.0.tgz", + "integrity": "sha512-hAX0pT/73190NLqBPPWSdBVGtbY6VOhWYK3qqHqtXQ1gK7kS2yz4+ivsN07hpJ6I3aeMtKP6J6npsEKOAzuTLA==", "license": "MIT", "engines": { - "node": ">=8.0" + "node": ">=20.0" } }, "node_modules/@react-aria/breadcrumbs": { @@ -5036,9 +5031,9 @@ ] }, "node_modules/@supabase/auth-js": { - "version": "2.81.1", - "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.81.1.tgz", - "integrity": "sha512-K20GgiSm9XeRLypxYHa5UCnybWc2K0ok0HLbqCej/wRxDpJxToXNOwKt0l7nO8xI1CyQ+GrNfU6bcRzvdbeopQ==", + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.86.0.tgz", + "integrity": "sha512-3xPqMvBWC6Haqpr6hEWmSUqDq+6SA1BAEdbiaHdAZM9QjZ5uiQJ+6iD9pZOzOa6MVXZh4GmwjhC9ObIG0K1NcA==", "license": "MIT", "dependencies": { "tslib": "2.8.1" @@ -5048,9 +5043,9 @@ } }, "node_modules/@supabase/functions-js": { - "version": "2.81.1", - "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.81.1.tgz", - "integrity": "sha512-sYgSO3mlgL0NvBFS3oRfCK4OgKGQwuOWJLzfPyWg0k8MSxSFSDeN/JtrDJD5GQrxskP6c58+vUzruBJQY78AqQ==", + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.86.0.tgz", + "integrity": "sha512-AlOoVfeaq9XGlBFIyXTmb+y+CZzxNO4wWbfgRM6iPpNU5WCXKawtQYSnhivi3UVxS7GA0rWovY4d6cIAxZAojA==", "license": "MIT", "dependencies": { "tslib": "2.8.1" @@ -5060,9 +5055,9 @@ } }, "node_modules/@supabase/postgrest-js": { - "version": "2.81.1", - "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-2.81.1.tgz", - "integrity": "sha512-DePpUTAPXJyBurQ4IH2e42DWoA+/Qmr5mbgY4B6ZcxVc/ZUKfTVK31BYIFBATMApWraFc8Q/Sg+yxtfJ3E0wSg==", + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-2.86.0.tgz", + "integrity": "sha512-QVf+wIXILcZJ7IhWhWn+ozdf8B+oO0Ulizh2AAPxD/6nQL+x3r9lJ47a+fpc/jvAOGXMbkeW534Kw6jz7e8iIA==", "license": "MIT", "dependencies": { "tslib": "2.8.1" @@ -5072,9 +5067,9 @@ } }, "node_modules/@supabase/realtime-js": { - "version": "2.81.1", - "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.81.1.tgz", - "integrity": "sha512-ViQ+Kxm8BuUP/TcYmH9tViqYKGSD1LBjdqx2p5J+47RES6c+0QHedM0PPAjthMdAHWyb2LGATE9PD2++2rO/tw==", + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.86.0.tgz", + "integrity": "sha512-dyS8bFoP29R/sj5zLi0AP3JfgG8ar1nuImcz5jxSx7UIW7fbFsXhUCVrSY2Ofo0+Ev6wiATiSdBOzBfWaiFyPA==", "license": "MIT", "dependencies": { "@types/phoenix": "^1.6.6", @@ -5087,23 +5082,24 @@ } }, "node_modules/@supabase/ssr": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@supabase/ssr/-/ssr-0.7.0.tgz", - "integrity": "sha512-G65t5EhLSJ5c8hTCcXifSL9Q/ZRXvqgXeNo+d3P56f4U1IxwTqjB64UfmfixvmMcjuxnq2yGqEWVJqUcO+AzAg==", + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@supabase/ssr/-/ssr-0.8.0.tgz", + "integrity": "sha512-/PKk8kNFSs8QvvJ2vOww1mF5/c5W8y42duYtXvkOSe+yZKRgTTZywYG2l41pjhNomqESZCpZtXuWmYjFRMV+dw==", "license": "MIT", "dependencies": { "cookie": "^1.0.2" }, "peerDependencies": { - "@supabase/supabase-js": "^2.43.4" + "@supabase/supabase-js": "^2.76.1" } }, "node_modules/@supabase/storage-js": { - "version": "2.81.1", - "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.81.1.tgz", - "integrity": "sha512-UNmYtjnZnhouqnbEMC1D5YJot7y0rIaZx7FG2Fv8S3hhNjcGVvO+h9We/tggi273BFkiahQPS/uRsapo1cSapw==", + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/@supabase/storage-js/-/storage-js-2.86.0.tgz", + "integrity": "sha512-PM47jX/Mfobdtx7NNpoj9EvlrkapAVTQBZgGGslEXD6NS70EcGjhgRPBItwHdxZPM5GwqQ0cGMN06uhjeY2mHQ==", "license": "MIT", "dependencies": { + "iceberg-js": "^0.8.0", "tslib": "2.8.1" }, "engines": { @@ -5111,17 +5107,16 @@ } }, "node_modules/@supabase/supabase-js": { - "version": "2.81.1", - "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.81.1.tgz", - "integrity": "sha512-KSdY7xb2L0DlLmlYzIOghdw/na4gsMcqJ8u4sD6tOQJr+x3hLujU9s4R8N3ob84/1bkvpvlU5PYKa1ae+OICnw==", + "version": "2.86.0", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.86.0.tgz", + "integrity": "sha512-BaC9sv5+HGNy1ulZwY8/Ev7EjfYYmWD4fOMw9bDBqTawEj6JHAiOHeTwXLRzVaeSay4p17xYLN2NSCoGgXMQnw==", "license": "MIT", - "peer": true, "dependencies": { - "@supabase/auth-js": "2.81.1", - "@supabase/functions-js": "2.81.1", - "@supabase/postgrest-js": "2.81.1", - "@supabase/realtime-js": "2.81.1", - "@supabase/storage-js": "2.81.1" + "@supabase/auth-js": "2.86.0", + "@supabase/functions-js": "2.86.0", + "@supabase/postgrest-js": "2.86.0", + "@supabase/realtime-js": "2.86.0", + "@supabase/storage-js": "2.86.0" }, "engines": { "node": ">=20.0.0" @@ -5394,16 +5389,16 @@ } }, "node_modules/@tanstack/directive-functions-plugin": { - "version": "1.134.5", - "resolved": "https://registry.npmjs.org/@tanstack/directive-functions-plugin/-/directive-functions-plugin-1.134.5.tgz", - "integrity": "sha512-J3oawV8uBRBbPoLgMdyHt+LxzTNuWRKNJJuCLWsm/yq6v0IQSvIVCgfD2+liIiSnDPxGZ8ExduPXy8IzS70eXw==", + "version": "1.139.0", + "resolved": "https://registry.npmjs.org/@tanstack/directive-functions-plugin/-/directive-functions-plugin-1.139.0.tgz", + "integrity": "sha512-qLGxldnWa0pp/siZEFEYDU+eB/j40bd1V3IuTzP0sFnrYi11Ldx1yVkOruDKUbO1WM0o+OlPhp22Q1h+LMdDMA==", "license": "MIT", "dependencies": { "@babel/code-frame": "7.27.1", "@babel/core": "^7.27.7", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", - "@tanstack/router-utils": "1.133.19", + "@tanstack/router-utils": "1.139.0", "babel-dead-code-elimination": "^1.0.10", "pathe": "^2.0.3", "tiny-invariant": "^1.3.3" @@ -5420,9 +5415,9 @@ } }, "node_modules/@tanstack/history": { - "version": "1.133.28", - "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.133.28.tgz", - "integrity": "sha512-B7+x7eP2FFvi3fgd3rNH9o/Eixt+pp0zCIdGhnQbAJjFrlwIKGjGnwyJjhWJ5fMQlGks/E2LdDTqEV4W9Plx7g==", + "version": "1.139.0", + "resolved": "https://registry.npmjs.org/@tanstack/history/-/history-1.139.0.tgz", + "integrity": "sha512-l6wcxwDBeh/7Dhles23U1O8lp9kNJmAb2yNjekR6olZwCRNAVA8TCXlVCrueELyFlYZqvQkh0ofxnzG62A1Kkg==", "license": "MIT", "engines": { "node": ">=12" @@ -5433,20 +5428,19 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.90.8", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.8.tgz", - "integrity": "sha512-4E0RP/0GJCxSNiRF2kAqE/LQkTJVlL/QNU7gIJSptaseV9HP6kOuA+N11y4bZKZxa3QopK3ZuewwutHx6DqDXQ==", + "version": "5.90.11", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.90.11.tgz", + "integrity": "sha512-f9z/nXhCgWDF4lHqgIE30jxLe4sYv15QodfdPDKYAk7nAEjNcndy4dHz3ezhdUaR23BpWa4I2EH4/DZ0//Uf8A==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" } }, "node_modules/@tanstack/query-devtools": { - "version": "5.90.1", - "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.90.1.tgz", - "integrity": "sha512-GtINOPjPUH0OegJExZ70UahT9ykmAhmtNVcmtdnOZbxLwT7R5OmRztR5Ahe3/Cu7LArEmR6/588tAycuaWb1xQ==", + "version": "5.91.1", + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.91.1.tgz", + "integrity": "sha512-l8bxjk6BMsCaVQH6NzQEE/bEgFy1hAs5qbgXl0xhzezlaQbPk6Mgz9BqEg2vTLPOHD8N4k+w/gdgCbEzecGyNg==", "license": "MIT", "funding": { "type": "github", @@ -5454,13 +5448,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.90.8", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.8.tgz", - "integrity": "sha512-/3b9QGzkf4rE5/miL6tyhldQRlLXzMHcySOm/2Tm2OLEFE9P1ImkH0+OviDBSvyAvtAOJocar5xhd7vxdLi3aQ==", + "version": "5.90.11", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.90.11.tgz", + "integrity": "sha512-3uyzz01D1fkTLXuxF3JfoJoHQMU2fxsfJwE+6N5hHy0dVNoZOvwKP8Z2k7k1KDeD54N20apcJnG75TBAStIrBA==", "license": "MIT", - "peer": true, "dependencies": { - "@tanstack/query-core": "5.90.8" + "@tanstack/query-core": "5.90.11" }, "funding": { "type": "github", @@ -5471,32 +5464,31 @@ } }, "node_modules/@tanstack/react-query-devtools": { - "version": "5.90.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.90.2.tgz", - "integrity": "sha512-vAXJzZuBXtCQtrY3F/yUNJCV4obT/A/n81kb3+YqLbro5Z2+phdAbceO+deU3ywPw8B42oyJlp4FhO0SoivDFQ==", + "version": "5.91.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.91.1.tgz", + "integrity": "sha512-tRnJYwEbH0kAOuToy8Ew7bJw1lX3AjkkgSlf/vzb+NpnqmHPdWM+lA2DSdGQSLi1SU0PDRrrCI1vnZnci96CsQ==", "license": "MIT", "dependencies": { - "@tanstack/query-devtools": "5.90.1" + "@tanstack/query-devtools": "5.91.1" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-query": "^5.90.2", + "@tanstack/react-query": "^5.90.10", "react": "^18 || ^19" } }, "node_modules/@tanstack/react-router": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.135.2.tgz", - "integrity": "sha512-IzvCJ5bZ4dTEh65J1NrILF3Ab+ajRgsHYQYl/3du1sptRfQkUSsRYQGXffQQU3JH++plmO/tJXtRTmgrAp4inA==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-router/-/react-router-1.139.7.tgz", + "integrity": "sha512-5vhwIAwoxWl7oeIZRNgk5wh9TCkaAinK9qbfdKuKzwGtMHqnv1bRrfKwam3/MaMwHCmvnNfnFj0RYfnBA/ilEg==", "license": "MIT", - "peer": true, "dependencies": { - "@tanstack/history": "1.133.28", + "@tanstack/history": "1.139.0", "@tanstack/react-store": "^0.8.0", - "@tanstack/router-core": "1.135.2", + "@tanstack/router-core": "1.139.7", "isbot": "^5.1.22", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" @@ -5514,12 +5506,12 @@ } }, "node_modules/@tanstack/react-router-devtools": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-router-devtools/-/react-router-devtools-1.135.2.tgz", - "integrity": "sha512-8nG+twPfOvjaknnzLTTvnsXART9s6fQbY+Yj4nnNVOcF0FiUuK7TgJJQMKWHsmNa47X3fV1GZCTQV4cWhqKY0w==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-router-devtools/-/react-router-devtools-1.139.7.tgz", + "integrity": "sha512-ySuFWfR5mHtbs/le5SUb56OxCWTZskwynPp6E9qnyDgB4vX6P7OJDqdgv7rqiorYNjFmAaywraaVZGQ8WuB4+g==", "license": "MIT", "dependencies": { - "@tanstack/router-devtools-core": "1.135.2", + "@tanstack/router-devtools-core": "1.139.7", "vite": "^7.1.7" }, "engines": { @@ -5530,19 +5522,25 @@ "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/react-router": "^1.135.2", + "@tanstack/react-router": "^1.139.7", + "@tanstack/router-core": "^1.139.7", "react": ">=18.0.0 || >=19.0.0", "react-dom": ">=18.0.0 || >=19.0.0" + }, + "peerDependenciesMeta": { + "@tanstack/router-core": { + "optional": true + } } }, "node_modules/@tanstack/react-router-ssr-query": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-router-ssr-query/-/react-router-ssr-query-1.135.2.tgz", - "integrity": "sha512-PhSPwGHle3eCZDSm947kORC5eGwHwrXqfM4RW/9/DyV8EtEw3SUKjeRIxNsKaLbKnvhDiXtW9DwLh+s53CDMEA==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-router-ssr-query/-/react-router-ssr-query-1.139.7.tgz", + "integrity": "sha512-S38TJsBrA7NRxFzdCTb7uDIls1JEtRJAuSLWQrlVigmFEHY2yk2/r45aSKu0cc/ucxRRZ+0JxUo4lFInoFYt1w==", "dev": true, "license": "MIT", "dependencies": { - "@tanstack/router-ssr-query-core": "1.135.2" + "@tanstack/router-ssr-query-core": "1.139.7" }, "engines": { "node": ">=12" @@ -5580,18 +5578,18 @@ } }, "node_modules/@tanstack/react-start": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-start/-/react-start-1.135.2.tgz", - "integrity": "sha512-TrzK9F4moOa5+CTgxktxnf3++2SmxafVxPgqiSkNPz89Uq8ixt+ZHZxoPklFoCgMygWxiUZrRt/1nX9JfoBuhA==", + "version": "1.139.8", + "resolved": "https://registry.npmjs.org/@tanstack/react-start/-/react-start-1.139.8.tgz", + "integrity": "sha512-vNSd1w+NCDAmTzkiPC6klnwVZBH8EjXg+c5sf7+PPUYXMZMb7kYCRiH8xKjCBRQkubgQeA8bnVsbRWqC21hQHw==", "license": "MIT", "dependencies": { - "@tanstack/react-router": "1.135.2", - "@tanstack/react-start-client": "1.135.2", - "@tanstack/react-start-server": "1.135.2", - "@tanstack/router-utils": "^1.133.19", - "@tanstack/start-client-core": "1.135.2", - "@tanstack/start-plugin-core": "1.135.2", - "@tanstack/start-server-core": "1.135.2", + "@tanstack/react-router": "1.139.7", + "@tanstack/react-start-client": "1.139.7", + "@tanstack/react-start-server": "1.139.8", + "@tanstack/router-utils": "^1.139.0", + "@tanstack/start-client-core": "1.139.7", + "@tanstack/start-plugin-core": "1.139.8", + "@tanstack/start-server-core": "1.139.8", "pathe": "^2.0.3" }, "engines": { @@ -5608,14 +5606,14 @@ } }, "node_modules/@tanstack/react-start-client": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-start-client/-/react-start-client-1.135.2.tgz", - "integrity": "sha512-fnL1JwfwqYifSFvoHWGyrl8IqceLzGaFhVjtJAiRq1IFyEDENT/mATzbgudGWAEGb3NW/t4oTTn8XdTucG7NwQ==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-start-client/-/react-start-client-1.139.7.tgz", + "integrity": "sha512-082eg9SvYdg4+kZFO6fhiwazoWOa8TUWLIi2Um3OLcnlBJzAf3cwsYE+Ub4siPucRX4DxzSDrY5TgH+uMYKtBQ==", "license": "MIT", "dependencies": { - "@tanstack/react-router": "1.135.2", - "@tanstack/router-core": "1.135.2", - "@tanstack/start-client-core": "1.135.2", + "@tanstack/react-router": "1.139.7", + "@tanstack/router-core": "1.139.7", + "@tanstack/start-client-core": "1.139.7", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, @@ -5632,16 +5630,16 @@ } }, "node_modules/@tanstack/react-start-server": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-start-server/-/react-start-server-1.135.2.tgz", - "integrity": "sha512-m4Sey0IB7hZcu1lJe4rLHQ1t871QvjKVs0VDzh3bG52rNGXccsJW17WMZkmirxLc2XvWze536cGy5UzfBC8F/g==", + "version": "1.139.8", + "resolved": "https://registry.npmjs.org/@tanstack/react-start-server/-/react-start-server-1.139.8.tgz", + "integrity": "sha512-7lmu6a2PDpxd1J438FmV/lxc5vRRvy34dV9NYRNvOj6fxcGfagxix1qi6NKtgmiSQQ83DNfrckHno0wlOJJLOg==", "license": "MIT", "dependencies": { - "@tanstack/history": "1.133.28", - "@tanstack/react-router": "1.135.2", - "@tanstack/router-core": "1.135.2", - "@tanstack/start-client-core": "1.135.2", - "@tanstack/start-server-core": "1.135.2" + "@tanstack/history": "1.139.0", + "@tanstack/react-router": "1.139.7", + "@tanstack/router-core": "1.139.7", + "@tanstack/start-client-core": "1.139.7", + "@tanstack/start-server-core": "1.139.8" }, "engines": { "node": ">=22.12.0" @@ -5691,17 +5689,16 @@ } }, "node_modules/@tanstack/router-core": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/router-core/-/router-core-1.135.2.tgz", - "integrity": "sha512-fhJSGmbqE78Ou6e+cnJ9exmjCzCZ9IXT2rApiPAgeItKj2yy1qmTEoR11n0x0fiNkkBxHL1us+QyG8JfNELiQA==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/router-core/-/router-core-1.139.7.tgz", + "integrity": "sha512-mqgsJi4/B2Jo6PXRUs1AsWA+06nqiqVZe1aXioA3vR6PesNeKUSXWfmIoYF6wOx3osiV0BnwB1JCBrInCOQSWA==", "license": "MIT", - "peer": true, "dependencies": { - "@tanstack/history": "1.133.28", + "@tanstack/history": "1.139.0", "@tanstack/store": "^0.8.0", "cookie-es": "^2.0.0", - "seroval": "^1.3.2", - "seroval-plugins": "^1.3.2", + "seroval": "^1.4.0", + "seroval-plugins": "^1.4.0", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, @@ -5714,13 +5711,14 @@ } }, "node_modules/@tanstack/router-devtools-core": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/router-devtools-core/-/router-devtools-core-1.135.2.tgz", - "integrity": "sha512-VmLyG7M8rYyA4jleCBpwYc+bjODAfWIQfBZt/16/c8Fg2K6eeMuX5lMGXYWPZT6BNV4ylv+JrSmOX3WUhDRQeQ==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/router-devtools-core/-/router-devtools-core-1.139.7.tgz", + "integrity": "sha512-Tx6+rCyjthlH7KS9Jz6YdT2KQ6rZQ66F+XJOj7Rel8zGAvyqx8USzcqTRvC+QjaU1jIJq+mNPWpMdKkkxPSOVA==", "license": "MIT", "dependencies": { "clsx": "^2.1.1", "goober": "^2.1.16", + "tiny-invariant": "^1.3.3", "vite": "^7.1.7" }, "engines": { @@ -5731,10 +5729,9 @@ "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "@tanstack/router-core": "^1.135.2", + "@tanstack/router-core": "^1.139.7", "csstype": "^3.0.10", - "solid-js": ">=1.9.5", - "tiny-invariant": "^1.3.3" + "solid-js": ">=1.9.5" }, "peerDependenciesMeta": { "csstype": { @@ -5752,14 +5749,14 @@ } }, "node_modules/@tanstack/router-generator": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.135.2.tgz", - "integrity": "sha512-YaTr1qrV2ysSllKu9FjCjaSjRFiX6SLKVGkQLJJ+SzoCsMco+zqhmtBjiw3YHC0jWBRs21iQieBzNR/PvT7JkA==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/router-generator/-/router-generator-1.139.7.tgz", + "integrity": "sha512-xnmF1poNH/dHtwFxecCcRsaLRIXVnXRZiWYUpvtyaPv4pQYayCrFQCg2ygDbCV0/8H7ctMBJh5MIL7GgPR7+xw==", "license": "MIT", "dependencies": { - "@tanstack/router-core": "1.135.2", - "@tanstack/router-utils": "1.133.19", - "@tanstack/virtual-file-routes": "1.133.19", + "@tanstack/router-core": "1.139.7", + "@tanstack/router-utils": "1.139.0", + "@tanstack/virtual-file-routes": "1.139.0", "prettier": "^3.5.0", "recast": "^0.23.11", "source-map": "^0.7.4", @@ -5784,9 +5781,9 @@ } }, "node_modules/@tanstack/router-plugin": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.135.2.tgz", - "integrity": "sha512-iB//HEGIX7Rn4390O4xM3+5LMSmtphRoCPoq3jpE6dGnAIPWEJJ/O1r95OR1LFAe5MhdciJPhsNgYHCIj+PeZw==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/router-plugin/-/router-plugin-1.139.7.tgz", + "integrity": "sha512-sgB8nOoVKr0A2lw5p7kQ3MtEA03d1t+Qvqyy+f/QkHy5pGk8Yohg64TEX+2e98plfM3j5vAOu/JhAyoLLrp1Jw==", "license": "MIT", "dependencies": { "@babel/core": "^7.27.7", @@ -5795,10 +5792,10 @@ "@babel/template": "^7.27.2", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", - "@tanstack/router-core": "1.135.2", - "@tanstack/router-generator": "1.135.2", - "@tanstack/router-utils": "1.133.19", - "@tanstack/virtual-file-routes": "1.133.19", + "@tanstack/router-core": "1.139.7", + "@tanstack/router-generator": "1.139.7", + "@tanstack/router-utils": "1.139.0", + "@tanstack/virtual-file-routes": "1.139.0", "babel-dead-code-elimination": "^1.0.10", "chokidar": "^3.6.0", "unplugin": "^2.1.2", @@ -5813,7 +5810,7 @@ }, "peerDependencies": { "@rsbuild/core": ">=1.0.2", - "@tanstack/react-router": "^1.135.2", + "@tanstack/react-router": "^1.139.7", "vite": ">=5.0.0 || >=6.0.0 || >=7.0.0", "vite-plugin-solid": "^2.11.10", "webpack": ">=5.92.0" @@ -5846,9 +5843,9 @@ } }, "node_modules/@tanstack/router-ssr-query-core": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/router-ssr-query-core/-/router-ssr-query-core-1.135.2.tgz", - "integrity": "sha512-cZePEfVGvThLsRzeB/exgTS91FHIydq6xLklTP9B24v7CsWkVggqLggh+H1J/pTUOGj6wm8uqNtm0UC5o5neoQ==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/router-ssr-query-core/-/router-ssr-query-core-1.139.7.tgz", + "integrity": "sha512-Ei4P2g/7xNO99OgvBOAAeVLI6VnqXYcSTI1Q6b1NYBzsb4aIo8Ne38cgVnanDlnIRrUJjIDQdZTAtu0AdANiyg==", "dev": true, "license": "MIT", "engines": { @@ -5864,9 +5861,9 @@ } }, "node_modules/@tanstack/router-utils": { - "version": "1.133.19", - "resolved": "https://registry.npmjs.org/@tanstack/router-utils/-/router-utils-1.133.19.tgz", - "integrity": "sha512-WEp5D2gPxvlLDRXwD/fV7RXjYtqaqJNXKB/L6OyZEbT+9BG/Ib2d7oG9GSUZNNMGPGYAlhBUOi3xutySsk6rxA==", + "version": "1.139.0", + "resolved": "https://registry.npmjs.org/@tanstack/router-utils/-/router-utils-1.139.0.tgz", + "integrity": "sha512-jT7D6NimWqoFSkid4vCno8gvTyfL1+NHpgm3es0B2UNhKKRV3LngOGilm1m6v8Qvk/gy6Fh/tvB+s+hBl6GhOg==", "license": "MIT", "dependencies": { "@babel/core": "^7.27.4", @@ -5887,9 +5884,9 @@ } }, "node_modules/@tanstack/server-functions-plugin": { - "version": "1.134.5", - "resolved": "https://registry.npmjs.org/@tanstack/server-functions-plugin/-/server-functions-plugin-1.134.5.tgz", - "integrity": "sha512-2sWxq70T+dOEUlE3sHlXjEPhaFZfdPYlWTSkHchWXrFGw2YOAa+hzD6L9wHMjGDQezYd03ue8tQlHG+9Jzbzgw==", + "version": "1.139.0", + "resolved": "https://registry.npmjs.org/@tanstack/server-functions-plugin/-/server-functions-plugin-1.139.0.tgz", + "integrity": "sha512-IpNFiCoy2YU6gY/4lCKIVlFyU67ltlcUMGcdnrevqOgq20AbMyeLbbBVo9tAA3TkHK9F+9Hd7DqGXsup2pmBLg==", "license": "MIT", "dependencies": { "@babel/code-frame": "7.27.1", @@ -5899,7 +5896,7 @@ "@babel/template": "^7.27.2", "@babel/traverse": "^7.27.7", "@babel/types": "^7.27.7", - "@tanstack/directive-functions-plugin": "1.134.5", + "@tanstack/directive-functions-plugin": "1.139.0", "babel-dead-code-elimination": "^1.0.9", "tiny-invariant": "^1.3.3" }, @@ -5912,14 +5909,14 @@ } }, "node_modules/@tanstack/start-client-core": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/start-client-core/-/start-client-core-1.135.2.tgz", - "integrity": "sha512-29dwZfOE7w2ysiT1RvEJ+eSBDho2BC5ALELIXnLUgLH3yvX5w9GZ+ori70rfLHOkJ2UNRotdF9UWDEGulni2aw==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/start-client-core/-/start-client-core-1.139.7.tgz", + "integrity": "sha512-omG032CeYUWlwQt6s7VFqhc9dGHKWNJ0C5PoIckL+G/HcV+0/RxYkiKzx/HTTzWt+K+LpsBDFFNnrTUUyTE5sw==", "license": "MIT", "dependencies": { - "@tanstack/router-core": "1.135.2", - "@tanstack/start-storage-context": "1.135.2", - "seroval": "^1.3.2", + "@tanstack/router-core": "1.139.7", + "@tanstack/start-storage-context": "1.139.7", + "seroval": "^1.4.0", "tiny-invariant": "^1.3.3", "tiny-warning": "^1.0.3" }, @@ -5932,22 +5929,22 @@ } }, "node_modules/@tanstack/start-plugin-core": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/start-plugin-core/-/start-plugin-core-1.135.2.tgz", - "integrity": "sha512-C4lP5YkkZiqyZYpvjf3h7aCyGTPPL7/5ZaEJe4q7W94HbzXqy2b5VGz5lghQ3kZHfohgO57BdKPTxgats4YaKw==", + "version": "1.139.8", + "resolved": "https://registry.npmjs.org/@tanstack/start-plugin-core/-/start-plugin-core-1.139.8.tgz", + "integrity": "sha512-u1+rof/1vNHzFVR0yPWWSVwzbCtvndQsfjBR104xSTLCLB0oGvFvkCU0xLLyKtxhqsrYZFrqudg5B8aVH2plOg==", "license": "MIT", "dependencies": { "@babel/code-frame": "7.26.2", "@babel/core": "^7.26.8", "@babel/types": "^7.26.8", "@rolldown/pluginutils": "1.0.0-beta.40", - "@tanstack/router-core": "1.135.2", - "@tanstack/router-generator": "1.135.2", - "@tanstack/router-plugin": "1.135.2", - "@tanstack/router-utils": "1.133.19", - "@tanstack/server-functions-plugin": "1.134.5", - "@tanstack/start-client-core": "1.135.2", - "@tanstack/start-server-core": "1.135.2", + "@tanstack/router-core": "1.139.7", + "@tanstack/router-generator": "1.139.7", + "@tanstack/router-plugin": "1.139.7", + "@tanstack/router-utils": "1.139.0", + "@tanstack/server-functions-plugin": "1.139.0", + "@tanstack/start-client-core": "1.139.7", + "@tanstack/start-server-core": "1.139.8", "babel-dead-code-elimination": "^1.0.9", "cheerio": "^1.0.0", "exsolve": "^1.0.7", @@ -5956,7 +5953,7 @@ "tinyglobby": "^0.2.15", "ufo": "^1.5.4", "vitefu": "^1.1.1", - "xmlbuilder2": "^3.1.1", + "xmlbuilder2": "^4.0.0", "zod": "^3.24.2" }, "engines": { @@ -5994,17 +5991,17 @@ } }, "node_modules/@tanstack/start-server-core": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/start-server-core/-/start-server-core-1.135.2.tgz", - "integrity": "sha512-L40FFKTVD5Lbx+HrLH+VyMQbiIldB6kYa24SIahnUDt5LlJnLgHRNBPbJkhVLeFAxad7gUaeEQkVyZrZ6MB/PQ==", + "version": "1.139.8", + "resolved": "https://registry.npmjs.org/@tanstack/start-server-core/-/start-server-core-1.139.8.tgz", + "integrity": "sha512-jKC83uMS2kgCHoqlHmxh9hAK1pN9Wd8l+Lhkibwp9PKKMW4Z1bxy5xCx6sr3TD2yJEOP25SRhYMrtAKmrLmYGA==", "license": "MIT", "dependencies": { - "@tanstack/history": "1.133.28", - "@tanstack/router-core": "1.135.2", - "@tanstack/start-client-core": "1.135.2", - "@tanstack/start-storage-context": "1.135.2", - "h3-v2": "npm:h3@2.0.0-beta.4", - "seroval": "^1.3.2", + "@tanstack/history": "1.139.0", + "@tanstack/router-core": "1.139.7", + "@tanstack/start-client-core": "1.139.7", + "@tanstack/start-storage-context": "1.139.7", + "h3-v2": "npm:h3@2.0.0-beta.5", + "seroval": "^1.4.0", "tiny-invariant": "^1.3.3" }, "engines": { @@ -6016,12 +6013,12 @@ } }, "node_modules/@tanstack/start-storage-context": { - "version": "1.135.2", - "resolved": "https://registry.npmjs.org/@tanstack/start-storage-context/-/start-storage-context-1.135.2.tgz", - "integrity": "sha512-9pr5Ssp5EYcDSb35y5f+YcM2Z+IxexWjiBcrIu8OgN/jI52N98QooWrQED/VMOo7gHUC5/IeuWQAehpLH6TzNg==", + "version": "1.139.7", + "resolved": "https://registry.npmjs.org/@tanstack/start-storage-context/-/start-storage-context-1.139.7.tgz", + "integrity": "sha512-l2utb0CXLE+wfj1wlAUPHohiq7n5nOBMl3pflhl3JzCXt+6D9AAogkfrysyxOAvx3KnLh3oG+qwf1KHWIDB9HA==", "license": "MIT", "dependencies": { - "@tanstack/router-core": "1.135.2" + "@tanstack/router-core": "1.139.7" }, "engines": { "node": ">=22.12.0" @@ -6052,9 +6049,9 @@ } }, "node_modules/@tanstack/virtual-file-routes": { - "version": "1.133.19", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-file-routes/-/virtual-file-routes-1.133.19.tgz", - "integrity": "sha512-IKwZENsK7owmW1Lm5FhuHegY/SyQ8KqtL/7mTSnzoKJgfzhrrf9qwKB1rmkKkt+svUuy/Zw3uVEpZtUzQruWtA==", + "version": "1.139.0", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-file-routes/-/virtual-file-routes-1.139.0.tgz", + "integrity": "sha512-9PImF1d1tovTUIpjFVa0W7Fwj/MHif7BaaczgJJfbv3sDt1Gh+oW9W9uCw9M3ndEJynnp5ZD/TTs0RGubH5ssg==", "license": "MIT", "engines": { "node": ">=12" @@ -6137,14 +6134,13 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "19.2.4", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.4.tgz", - "integrity": "sha512-tBFxBp9Nfyy5rsmefN+WXc1JeW/j2BpBHFdLZbEVfs9wn3E3NRFxwV0pJg8M1qQAexFpvz73hJXFofV0ZAu92A==", + "version": "19.2.7", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", + "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/react-dom": { @@ -6253,13 +6249,10 @@ } }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" }, "node_modules/ast-types": { "version": "0.16.1", @@ -6353,7 +6346,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.8.19", "caniuse-lite": "^1.0.30001751", @@ -6602,11 +6594,10 @@ } }, "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "license": "MIT", - "peer": true + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" }, "node_modules/data-urls": { "version": "6.0.0", @@ -6728,9 +6719,9 @@ } }, "node_modules/drizzle-kit": { - "version": "0.31.6", - "resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.31.6.tgz", - "integrity": "sha512-/B4e/4pwnx25QwD5xXgdpo1S+077a2VZdosXbItE/oNmUgQwZydGDz9qJYmnQl/b+5IX0rLfwRhrPnroGtrg8Q==", + "version": "0.31.7", + "resolved": "https://registry.npmjs.org/drizzle-kit/-/drizzle-kit-0.31.7.tgz", + "integrity": "sha512-hOzRGSdyKIU4FcTSFYGKdXEjFsncVwHZ43gY3WU5Bz9j5Iadp6Rh6hxLSQ1IWXpKLBKt/d5y1cpSPcV+FcoQ1A==", "dev": true, "license": "MIT", "dependencies": { @@ -6918,7 +6909,6 @@ "integrity": "sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==", "hasInstallScript": true, "license": "MIT", - "peer": true, "bin": { "esbuild": "bin/esbuild" }, @@ -7033,7 +7023,6 @@ "resolved": "https://registry.npmjs.org/framer-motion/-/framer-motion-12.23.12.tgz", "integrity": "sha512-6e78rdVtnBvlEVgu6eFEAgG9v3wLnYEboM8I5O5EXvfKC8gxGQB8wXJdhkMy10iVcn05jl6CNw7/HTsTCfwcWg==", "license": "MIT", - "peer": true, "dependencies": { "motion-dom": "^12.23.12", "motion-utils": "^12.23.6", @@ -7127,15 +7116,15 @@ }, "node_modules/h3-v2": { "name": "h3", - "version": "2.0.0-beta.4", - "resolved": "https://registry.npmjs.org/h3/-/h3-2.0.0-beta.4.tgz", - "integrity": "sha512-/JdwHUGuHjbBXAVxQN7T7QeI9cVlhsqMKVNFHebZVs9RoEYH85Ogh9O1DEy/1ZiJkmMwa1gNg6bBcGhc1Itjdg==", + "version": "2.0.0-beta.5", + "resolved": "https://registry.npmjs.org/h3/-/h3-2.0.0-beta.5.tgz", + "integrity": "sha512-ApIkLH+nTxzCC0Nq/GN1v6jkvu2eOLfdTnTs6ghiuG1EYHWJBDLzhk5tn7SZMEUNsLUjG4qfmqzBx2LG9I7Q/w==", "license": "MIT", "dependencies": { "cookie-es": "^2.0.0", - "fetchdts": "^0.1.6", - "rou3": "^0.7.3", - "srvx": "^0.8.7" + "fetchdts": "^0.1.7", + "rou3": "^0.7.7", + "srvx": "^0.8.9" }, "engines": { "node": ">=20.11.1" @@ -7221,6 +7210,15 @@ "node": ">= 14" } }, + "node_modules/iceberg-js": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/iceberg-js/-/iceberg-js-0.8.0.tgz", + "integrity": "sha512-kmgmea2nguZEvRqW79gDqNXyxA3OS5WIgMVffrHpqXV4F/J4UmNIw2vstixioLTNSkd5rFB8G0s3Lwzogm6OFw==", + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -7335,13 +7333,12 @@ "license": "MIT" }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "argparse": "^2.0.1" }, "bin": { "js-yaml": "bin/js-yaml.js" @@ -7883,7 +7880,6 @@ "resolved": "https://registry.npmjs.org/postgres/-/postgres-3.4.7.tgz", "integrity": "sha512-Jtc2612XINuBjIl/QTWsV5UvE8UHuNblcO3vVADSrKsrc6RqGX6lOW1cEo3CM2v0XG4Nat8nI+YM7/f26VxXLw==", "license": "Unlicense", - "peer": true, "engines": { "node": ">=12" }, @@ -7893,9 +7889,9 @@ } }, "node_modules/prettier": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.1.tgz", + "integrity": "sha512-RWKXE4qB3u5Z6yz7omJkjWwmTfLdcbv44jUVHC5NpfXwFGzvpQM798FGv/6WNK879tc+Cn0AAyherCl1KjbyZQ==", "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" @@ -7922,7 +7918,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -7932,7 +7927,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", "license": "MIT", - "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -8112,19 +8106,18 @@ } }, "node_modules/seroval": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.3.2.tgz", - "integrity": "sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.4.0.tgz", + "integrity": "sha512-BdrNXdzlofomLTiRnwJTSEAaGKyHHZkbMXIywOh7zlzp4uZnXErEwl9XZ+N1hJSNpeTtNxWvVwN0wUzAIQ4Hpg==", "license": "MIT", - "peer": true, "engines": { "node": ">=10" } }, "node_modules/seroval-plugins": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.3.2.tgz", - "integrity": "sha512-0QvCV2lM3aj/U3YozDiVwx9zpH0q8A60CTWIv4Jszj/givcudPb48B+rkU5D51NJ0pTpweGMttHjboPa9/zoIQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.4.0.tgz", + "integrity": "sha512-zir1aWzoiax6pbBVjoYVd0O1QQXgIL3eVGBMsBsNmM8Ukq90yGaWlfx0AB9dTS8GPqrOrbXn79vmItCUP9U3BQ==", "license": "MIT", "engines": { "node": ">=10" @@ -8154,6 +8147,29 @@ "seroval-plugins": "~1.3.0" } }, + "node_modules/solid-js/node_modules/seroval": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.3.2.tgz", + "integrity": "sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/solid-js/node_modules/seroval-plugins": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/seroval-plugins/-/seroval-plugins-1.3.3.tgz", + "integrity": "sha512-16OL3NnUBw8JG1jBLUoZJsLnQq0n5Ua6aHalhJK4fMQkz1lqR7Osz1sA30trBtd9VUDc2NgkuRCn8+/pBwqZ+w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "seroval": "^1.0" + } + }, "node_modules/sonner": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/sonner/-/sonner-2.0.7.tgz", @@ -8203,12 +8219,6 @@ "node": ">=0.10.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, "node_modules/srvx": { "version": "0.8.16", "resolved": "https://registry.npmjs.org/srvx/-/srvx-0.8.16.tgz", @@ -8233,7 +8243,6 @@ "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", "license": "MIT", - "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/dcastil" @@ -8281,8 +8290,7 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/tiny-warning": { "version": "1.0.3", @@ -8328,7 +8336,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -8446,7 +8453,6 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -8477,9 +8483,9 @@ "license": "MIT" }, "node_modules/unplugin": { - "version": "2.3.10", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.10.tgz", - "integrity": "sha512-6NCPkv1ClwH+/BGE9QeoTIl09nuiAt0gS28nn1PvYXsGKRwM2TCbFA2QiilmehPDTXIe684k4rZI1yl3A1PCUw==", + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz", + "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==", "license": "MIT", "dependencies": { "@jridgewell/remapping": "^2.3.5", @@ -8588,11 +8594,10 @@ } }, "node_modules/vite": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.2.tgz", - "integrity": "sha512-BxAKBWmIbrDgrokdGZH1IgkIk/5mMHDreLDmCJ0qpyJaAteP8NvMhkwr/ZCQNqNH97bw/dANTE9PDzqwJghfMQ==", + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.4.tgz", + "integrity": "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==", "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.25.0", "fdir": "^6.5.0", @@ -8704,7 +8709,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -8834,18 +8838,18 @@ } }, "node_modules/xmlbuilder2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-3.1.1.tgz", - "integrity": "sha512-WCSfbfZnQDdLQLiMdGUQpMxxckeQ4oZNMNhLVkcekTu7xhD4tuUDyAPoY8CwXvBYE6LwBHd6QW2WZXlOWr1vCw==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder2/-/xmlbuilder2-4.0.1.tgz", + "integrity": "sha512-vXeky0YRVjhx5pseJDQLk0F6u7gyA8++ceVOS88r4dWu4lWdY/ZjbL45QrN+g0GzZLg1D5AkzThpikZa98SC/g==", "license": "MIT", "dependencies": { - "@oozcitak/dom": "1.15.10", - "@oozcitak/infra": "1.0.8", - "@oozcitak/util": "8.3.8", - "js-yaml": "3.14.1" + "@oozcitak/dom": "^2.0.2", + "@oozcitak/infra": "^2.0.2", + "@oozcitak/util": "^10.0.0", + "js-yaml": "^4.1.1" }, "engines": { - "node": ">=12.0" + "node": ">=20.0" } }, "node_modules/xmlchars": { @@ -8862,9 +8866,9 @@ "license": "ISC" }, "node_modules/zod": { - "version": "4.1.12", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.12.tgz", - "integrity": "sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==", + "version": "4.1.13", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz", + "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" diff --git a/package.json b/package.json index af99eba..404b67d 100644 --- a/package.json +++ b/package.json @@ -13,16 +13,16 @@ }, "dependencies": { "@heroui/react": "^2.8.5", - "@supabase/ssr": "^0.7.0", - "@supabase/supabase-js": "^2.81.1", + "@supabase/ssr": "^0.8.0", + "@supabase/supabase-js": "^2.86.0", "@tailwindcss/vite": "^4.1.17", - "@tanstack/react-query": "^5.90.8", - "@tanstack/react-query-devtools": "^5.90.2", - "@tanstack/react-router": "^1.135.2", - "@tanstack/react-router-devtools": "^1.135.2", + "@tanstack/react-query": "^5.90.11", + "@tanstack/react-query-devtools": "^5.91.1", + "@tanstack/react-router": "^1.139.7", + "@tanstack/react-router-devtools": "^1.139.7", "@tanstack/react-router-with-query": "^1.130.17", - "@tanstack/react-start": "^1.135.2", - "@tanstack/router-plugin": "^1.135.2", + "@tanstack/react-start": "^1.139.8", + "@tanstack/router-plugin": "^1.139.7", "@vis.gl/react-google-maps": "^1.7.1", "drizzle-orm": "^0.44.7", "framer-motion": "^12.23.12", @@ -30,21 +30,21 @@ "react": "^19.2.0", "react-dom": "^19.2.0", "sonner": "^2.0.7", - "zod": "^4.1.12" + "zod": "^4.1.13" }, "devDependencies": { - "@biomejs/biome": "^2.3.5", + "@biomejs/biome": "^2.3.8", "vite-tsconfig-paths": "^5.1.4", - "@tanstack/react-router-ssr-query": "^1.135.2", + "@tanstack/react-router-ssr-query": "^1.139.7", "tailwindcss": "^4.1.17", "@types/google.maps": "^3.58.1", - "@types/react": "^19.2.4", + "@types/react": "^19.2.7", "@types/react-dom": "^19.2.3", "@vitejs/plugin-react": "^5.1.1", - "drizzle-kit": "^0.31.6", + "drizzle-kit": "^0.31.7", "jsdom": "^27.2.0", "typescript": "^5.9.3", - "vite": "^7.2.2", + "vite": "^7.2.4", "web-vitals": "^5.1.0" } } diff --git a/src/integrations/drizzle/db/schema.ts b/src/integrations/drizzle/db/schema.ts index c87bd26..17b1b75 100644 --- a/src/integrations/drizzle/db/schema.ts +++ b/src/integrations/drizzle/db/schema.ts @@ -13,22 +13,22 @@ import { import { authenticatedRole, authUsers } from "drizzle-orm/supabase" // === drones === -export const drones = pgTable("drones", { +export const dronesSchema = pgTable("drones", { id: serial("id").primaryKey().notNull(), model: varchar("model", { length: 100 }), - brand: varchar("brand", { length: 100 }), + brand: varchar("brand", { length: 100 }) // type: jsonb("type") }).enableRLS() // === certs === -export const certs = pgTable("certs", { +export const certsSchema = pgTable("certs", { id: serial("id").primaryKey().notNull(), name: varchar("name", { length: 100 }), link: text("link") }).enableRLS() // === places === -export const places = pgTable( +export const placesSchema = pgTable( "places", { id: serial("id").primaryKey().notNull(), @@ -62,11 +62,11 @@ export const places = pgTable( ).enableRLS() // === users_drones === -export const usersDrones = pgTable( +export const usersDronesSchema = pgTable( "users_drones", { id: serial("id").primaryKey().notNull(), - id_drone: integer("id_drone").references(() => drones.id), + id_drone: integer("id_drone").references(() => dronesSchema.id), id_user: uuid("id_user").references(() => authUsers.id) }, (table) => [ @@ -84,11 +84,11 @@ export const usersDrones = pgTable( ).enableRLS() // === users_certs === -export const usersCerts = pgTable( +export const usersCertsSchema = pgTable( "users_certs", { id: serial("id").primaryKey().notNull(), - id_cert: integer("id_cert").references(() => certs.id), + id_cert: integer("id_cert").references(() => certsSchema.id), id_user: uuid("id_user").references(() => authUsers.id) }, (table) => [ @@ -106,11 +106,11 @@ export const usersCerts = pgTable( ).enableRLS() // === users_places === -export const usersPlaces = pgTable( +export const usersPlacesSchema = pgTable( "users_places", { id: serial("id").primaryKey().notNull(), - id_place: integer("id_place").references(() => places.id), + id_place: integer("id_place").references(() => placesSchema.id), id_user: uuid("id_user").references(() => authUsers.id) }, (table) => [ @@ -128,6 +128,6 @@ export const usersPlaces = pgTable( ).enableRLS() // === equipment === -export const equipment = pgTable("equipment", { +export const equipmentSchema = pgTable("equipment", { id: serial("id").primaryKey().notNull() }).enableRLS() diff --git a/src/integrations/drizzle/index.tsx b/src/integrations/drizzle/index.tsx index 8e46310..5b5dd9f 100644 --- a/src/integrations/drizzle/index.tsx +++ b/src/integrations/drizzle/index.tsx @@ -1,8 +1,12 @@ +import { createServerOnlyFn } from "@tanstack/react-start" import { drizzle } from "drizzle-orm/postgres-js" import postgres from "postgres" -const connectionString = process.env.DATABASE_URL ?? "" +export const db = createServerOnlyFn(() => { + const connectionString = process.env.DATABASE_URL ?? "" + const client = postgres(connectionString, { prepare: false }) -// Disable prefetch as it is not supported for "Transaction" pool mode -const client = postgres(connectionString, { prepare: false }) -export const db = drizzle(client) + // Disable prefetch as it is not supported for "Transaction" pool mode + + return drizzle(client) +}) diff --git a/src/lib/server/drones.ts b/src/lib/server/drones.ts index d96102b..aa1df5a 100644 --- a/src/lib/server/drones.ts +++ b/src/lib/server/drones.ts @@ -1,14 +1,17 @@ import { createServerFn } from "@tanstack/react-start" -import { asc, eq } from "drizzle-orm" +import { eq } from "drizzle-orm" import { db } from "@/integrations/drizzle" -import { drones } from "@/integrations/drizzle/db/schema" -import { dronesSchema, paginatedDronesSchema } from "../validation/drones" +import { dronesSchema } from "@/integrations/drizzle/db/schema" +import { + droneValidationSchema, + paginatedDronesValidationSchema +} from "../validation/drones" const insertDrones = createServerFn() - .inputValidator(dronesSchema) + .inputValidator(droneValidationSchema) .handler(async ({ data }) => { - await db - .insert(drones) + await db() + .insert(dronesSchema) .values({ model: data.model, brand: data.brand @@ -18,50 +21,49 @@ const insertDrones = createServerFn() const editDrone = createServerFn() .inputValidator( - dronesSchema.pick({ + droneValidationSchema.pick({ model: true, brand: true, id: true }) ) .handler(async ({ data }) => { - await db - .update(drones) + await db() + .update(dronesSchema) .set({ model: data.model, brand: data.brand }) - .where(eq(drones.id, data.id)) + .where(eq(dronesSchema.id, data.id)) }) const deleteDrones = createServerFn({ method: "POST" }) .inputValidator( - dronesSchema.pick({ + droneValidationSchema.pick({ id: true }) ) .handler(async ({ data }) => { - return await db.delete(drones).where(eq(drones.id, data.id)) + return await db().delete(dronesSchema).where(eq(dronesSchema.id, data.id)) }) const getAllDrones = createServerFn({ method: "POST" }) - .inputValidator(paginatedDronesSchema) + .inputValidator(paginatedDronesValidationSchema) .handler(async ({ data }) => { - return db + return db() .select() - .from(drones) + .from(dronesSchema) .limit(data.limit) .offset((data.page - 1) * data.limit) }) - export const serverDrones = { insertDrones, editDrone, getAllDrones, - deleteDrones + deleteDrones } diff --git a/src/lib/server/places.ts b/src/lib/server/places.ts index 1b87258..304d4b8 100644 --- a/src/lib/server/places.ts +++ b/src/lib/server/places.ts @@ -1,18 +1,21 @@ import { createServerFn } from "@tanstack/react-start" import { eq } from "drizzle-orm" import { db } from "@/integrations/drizzle" -import { places as placesSchema } from "@/integrations/drizzle/db/schema" -import { paginatedPlacesSchema, placeSchema } from "../validation/places" +import { placesSchema } from "@/integrations/drizzle/db/schema" +import { + paginatedPlacesValidationSchema, + placeValidationSchema +} from "../validation/places" export const insertUserPlace = createServerFn() - .inputValidator(placeSchema) + .inputValidator(placeValidationSchema) .handler(async ({ data }) => { - await db.insert(placesSchema).values(data).returning() + await db().insert(placesSchema).values(data).returning() }) export const editUserPlace = createServerFn() .inputValidator( - placeSchema.pick({ + placeValidationSchema.pick({ hidden_place: true, name: true, description: true, @@ -20,16 +23,16 @@ export const editUserPlace = createServerFn() }) ) .handler(async ({ data }) => { - await db + await db() .update(placesSchema) .set(data) .where(eq(placesSchema.id_user, data.id_user)) }) export const getUserPlacesById = createServerFn() - .inputValidator(paginatedPlacesSchema) + .inputValidator(paginatedPlacesValidationSchema) .handler(async ({ data }) => { - return await db + return await db() .select() .from(placesSchema) .where(eq(placesSchema.id_user, data.id_user)) diff --git a/src/lib/validation/drones.ts b/src/lib/validation/drones.ts index fde2e8d..56e6c91 100644 --- a/src/lib/validation/drones.ts +++ b/src/lib/validation/drones.ts @@ -1,12 +1,12 @@ -import z from "zod" +import * as z from "zod" -export const dronesSchema = z.object({ +export const droneValidationSchema = z.object({ model: z.string(), brand: z.string(), id: z.number() }) -export const paginatedDronesSchema = z.object({ +export const paginatedDronesValidationSchema = z.object({ page: z.number().min(1).default(1), limit: z.number().min(1).max(100).default(10) }) diff --git a/src/lib/validation/places.ts b/src/lib/validation/places.ts index 44572f4..0cfd283 100644 --- a/src/lib/validation/places.ts +++ b/src/lib/validation/places.ts @@ -1,6 +1,6 @@ -import z from "zod" +import * as z from "zod" -export const placeSchema = z.object({ +export const placeValidationSchema = z.object({ name: z.string(), description: z.string(), coord_x: z.string(), @@ -9,10 +9,8 @@ export const placeSchema = z.object({ hidden_place: z.boolean() }) -export const paginatedPlacesSchema = z.object({ +export const paginatedPlacesValidationSchema = z.object({ page: z.number(), limit: z.number(), - id_user: z.string(), + id_user: z.string() }) - - diff --git a/src/lib/validation/user.ts b/src/lib/validation/user.ts index 2476828..dbece3a 100644 --- a/src/lib/validation/user.ts +++ b/src/lib/validation/user.ts @@ -1,4 +1,4 @@ -import z from "zod" +import * as z from "zod" export const loginFormSchema = z.object({ email: z.email("Invalid email address"), diff --git a/tsconfig.json b/tsconfig.json index 60da397..bdbe212 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,7 @@ /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, - "verbatimModuleSyntax": true, + "verbatimModuleSyntax": false, "noEmit": true, /* Linting */