From 613352eaf2cc8dd12d0cd7bc0172916cc5731e64 Mon Sep 17 00:00:00 2001 From: Bastiaan Date: Sun, 28 Dec 2025 19:08:59 +0100 Subject: [PATCH] feat: updated db setup --- .gitignore | 4 +- .npmrc | 1 + Makefile | 2 + deno.lock | 739 +++++++++--------- package.json | 13 +- ...ial.ts => client.migration.001-initial.ts} | 0 .../{client/models.ts => client.models.ts} | 0 pkgs/@scope/database/client/mod.ts | 43 - pkgs/@scope/database/deno.json | 3 +- pkgs/@scope/database/mod.client.ts | 19 + pkgs/@scope/database/mod.server.ts | 14 + .../database/server.migraiton.001-initial.ts | 0 pkgs/@scope/database/server.models.ts | 1 + pkgs/@strootje/more/deno.json | 6 + .../@strootje/more/mod.sentry.ts | 0 src/collections/items.ts | 10 +- src/entry-client.tsx | 14 + src/entry-server.ts | 7 + src/routes/__root.tsx | 2 - src/routes/index.tsx | 2 +- vite.config.ts | 6 + 21 files changed, 439 insertions(+), 447 deletions(-) create mode 100644 .npmrc rename pkgs/@scope/database/{client/migrations/001-initial.ts => client.migration.001-initial.ts} (100%) rename pkgs/@scope/database/{client/models.ts => client.models.ts} (100%) delete mode 100644 pkgs/@scope/database/client/mod.ts create mode 100644 pkgs/@scope/database/mod.client.ts create mode 100644 pkgs/@scope/database/mod.server.ts create mode 100644 pkgs/@scope/database/server.migraiton.001-initial.ts create mode 100644 pkgs/@scope/database/server.models.ts create mode 100644 pkgs/@strootje/more/deno.json rename src/comps/sentry-error-boundary.ts => pkgs/@strootje/more/mod.sentry.ts (100%) create mode 100644 src/entry-client.tsx create mode 100644 src/entry-server.ts diff --git a/.gitignore b/.gitignore index edcebe3..8b5e4b2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /.tanstack /node_modules -/dist \ No newline at end of file +/dist +*.db +*.local diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..41583e3 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +@jsr:registry=https://npm.jsr.io diff --git a/Makefile b/Makefile index b7a7513..04419e2 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,5 @@ +-include .env.local + i:; @deno i dev: i; @deno task dev --host build:; @podman build -t strootje/later . diff --git a/deno.lock b/deno.lock index c4f2ea2..a7709ce 100644 --- a/deno.lock +++ b/deno.lock @@ -5,25 +5,28 @@ "npm:@ark-ui/solid@^5.30.0": "5.30.0_solid-js@1.9.10__seroval@1.3.2_@internationalized+date@3.10.0", "npm:@deno/vite-plugin@^1.0.6": "1.0.6_vite@7.3.0__picomatch@4.0.3", "npm:@iconify-json/solar@^1.2.5": "1.2.5", - "npm:@sentry/solid@^10.32.1": "10.32.1_@tanstack+solid-router@1.143.4__solid-js@1.9.10___seroval@1.3.2_solid-js@1.9.10__seroval@1.3.2", + "npm:@jsr/db__sqlite@0.12": "0.12.0", + "npm:@jsr/soapbox__kysely-deno-sqlite@^2.2.0": "2.2.0", + "npm:@jsr/strootje__better-kysely@0.4": "0.4.0", + "npm:@sentry/solid@^10.32.1": "10.32.1_@tanstack+solid-router@1.144.0__solid-js@1.9.10___seroval@1.3.2_solid-js@1.9.10__seroval@1.3.2", "npm:@sentry/vite-plugin@^4.6.1": "4.6.1", "npm:@solid-primitives/storage@^4.3.3": "4.3.3_solid-js@1.9.10__seroval@1.3.2", "npm:@tanstack/nitro-v2-vite-plugin@^1.141.0": "1.141.0_vite@7.3.0__picomatch@4.0.3", - "npm:@tanstack/query-db-collection@^1.0.12": "1.0.12_@tanstack+query-core@5.90.12_typescript@5.9.3", + "npm:@tanstack/query-db-collection@^1.0.12": "1.0.12_@tanstack+query-core@5.90.14_typescript@5.9.3", "npm:@tanstack/solid-db@~0.1.59": "0.1.59_solid-js@1.9.10__seroval@1.3.2", "npm:@tanstack/solid-form@^1.27.6": "1.27.6_solid-js@1.9.10__seroval@1.3.2", - "npm:@tanstack/solid-query@^5.90.15": "5.90.15_solid-js@1.9.10__seroval@1.3.2", - "npm:@tanstack/solid-router@^1.143.4": "1.143.4_solid-js@1.9.10__seroval@1.3.2", - "npm:@tanstack/solid-start@^1.143.4": "1.143.4_solid-js@1.9.10__seroval@1.3.2_vite@7.3.0__picomatch@4.0.3_vite-plugin-solid@2.11.10__solid-js@1.9.10___seroval@1.3.2__vite@7.3.0___picomatch@4.0.3__@babel+core@7.28.5", - "npm:@unocss/reset@^66.5.10": "66.5.10", + "npm:@tanstack/solid-query@^5.90.17": "5.90.17_solid-js@1.9.10__seroval@1.3.2", + "npm:@tanstack/solid-router@^1.144.0": "1.144.0_solid-js@1.9.10__seroval@1.3.2", + "npm:@tanstack/solid-start@^1.145.0": "1.145.0_solid-js@1.9.10__seroval@1.3.2_vite@7.3.0__picomatch@4.0.3_vite-plugin-solid@2.11.10__solid-js@1.9.10___seroval@1.3.2__vite@7.3.0___picomatch@4.0.3__@babel+core@7.28.5", + "npm:@unocss/reset@^66.5.11": "66.5.11", "npm:class-variance-authority@~0.7.1": "0.7.1", "npm:date-fns@^4.1.0": "4.1.0", "npm:kysely@~0.28.9": "0.28.9", "npm:motion@^12.23.26": "12.23.26", "npm:solid-js@^1.9.10": "1.9.10_seroval@1.3.2", "npm:sqlocal@0.16": "0.16.0_kysely@0.28.9_vite@7.3.0__picomatch@4.0.3", - "npm:unocss-preset-scrollbar@^3.2.0": "3.2.0_unocss@66.5.10__vite@7.3.0___picomatch@4.0.3_vite@7.3.0__picomatch@4.0.3", - "npm:unocss@^66.5.10": "66.5.10_vite@7.3.0__picomatch@4.0.3", + "npm:unocss-preset-scrollbar@^3.2.0": "3.2.0_unocss@66.5.11__vite@7.3.0___picomatch@4.0.3_vite@7.3.0__picomatch@4.0.3", + "npm:unocss@^66.5.11": "66.5.11_vite@7.3.0__picomatch@4.0.3", "npm:valibot@^1.2.0": "1.2.0", "npm:vite-plugin-solid@^2.11.10": "2.11.10_solid-js@1.9.10__seroval@1.3.2_vite@7.3.0__picomatch@4.0.3_@babel+core@7.28.5", "npm:vite@^7.3.0": "7.3.0_picomatch@4.0.3" @@ -41,9 +44,6 @@ "tinyexec" ] }, - "@antfu/utils@9.3.0": { - "integrity": "sha512-9hFT4RauhcUzqOE4f1+frMKLZrgNog5b06I7VmZQV1BkvwvqrbC8EBZf3L1eEL2AKb6rNKjER0sEvJiSP1FXEA==" - }, "@ark-ui/solid@5.30.0_solid-js@1.9.10__seroval@1.3.2_@internationalized+date@3.10.0": { "integrity": "sha512-LLUTmtrNXMraWcZNayQqq/IHEYmRmgl/apP2A5c2aS0okZamaa8j1SQJOihcjRY8yY3zaaEeznrwFSy1Zvrp8w==", "dependencies": [ @@ -114,14 +114,6 @@ "solid-js" ] }, - "@babel/code-frame@7.26.2": { - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "dependencies": [ - "@babel/helper-validator-identifier", - "js-tokens@4.0.0", - "picocolors" - ] - }, "@babel/code-frame@7.27.1": { "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dependencies": [ @@ -136,7 +128,7 @@ "@babel/core@7.28.5": { "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dependencies": [ - "@babel/code-frame@7.27.1", + "@babel/code-frame", "@babel/generator", "@babel/helper-compilation-targets", "@babel/helper-module-transforms", @@ -163,12 +155,6 @@ "jsesc" ] }, - "@babel/helper-annotate-as-pure@7.27.3": { - "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", - "dependencies": [ - "@babel/types" - ] - }, "@babel/helper-compilation-targets@7.27.2": { "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dependencies": [ @@ -179,29 +165,9 @@ "semver@6.3.1" ] }, - "@babel/helper-create-class-features-plugin@7.28.5_@babel+core@7.28.5": { - "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", - "dependencies": [ - "@babel/core", - "@babel/helper-annotate-as-pure", - "@babel/helper-member-expression-to-functions", - "@babel/helper-optimise-call-expression", - "@babel/helper-replace-supers", - "@babel/helper-skip-transparent-expression-wrappers", - "@babel/traverse@7.28.5", - "semver@6.3.1" - ] - }, "@babel/helper-globals@7.28.0": { "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==" }, - "@babel/helper-member-expression-to-functions@7.28.5": { - "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", - "dependencies": [ - "@babel/traverse@7.28.5", - "@babel/types" - ] - }, "@babel/helper-module-imports@7.18.6": { "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", "dependencies": [ @@ -224,31 +190,9 @@ "@babel/traverse@7.28.5" ] }, - "@babel/helper-optimise-call-expression@7.27.1": { - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", - "dependencies": [ - "@babel/types" - ] - }, "@babel/helper-plugin-utils@7.27.1": { "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==" }, - "@babel/helper-replace-supers@7.27.1_@babel+core@7.28.5": { - "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", - "dependencies": [ - "@babel/core", - "@babel/helper-member-expression-to-functions", - "@babel/helper-optimise-call-expression", - "@babel/traverse@7.28.5" - ] - }, - "@babel/helper-skip-transparent-expression-wrappers@7.27.1": { - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", - "dependencies": [ - "@babel/traverse@7.28.5", - "@babel/types" - ] - }, "@babel/helper-string-parser@7.27.1": { "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==" }, @@ -293,40 +237,10 @@ "@babel/helper-plugin-utils" ] }, - "@babel/plugin-transform-modules-commonjs@7.27.1_@babel+core@7.28.5": { - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", - "dependencies": [ - "@babel/core", - "@babel/helper-module-transforms", - "@babel/helper-plugin-utils" - ] - }, - "@babel/plugin-transform-typescript@7.28.5_@babel+core@7.28.5": { - "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", - "dependencies": [ - "@babel/core", - "@babel/helper-annotate-as-pure", - "@babel/helper-create-class-features-plugin", - "@babel/helper-plugin-utils", - "@babel/helper-skip-transparent-expression-wrappers", - "@babel/plugin-syntax-typescript" - ] - }, - "@babel/preset-typescript@7.28.5_@babel+core@7.28.5": { - "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", - "dependencies": [ - "@babel/core", - "@babel/helper-plugin-utils", - "@babel/helper-validator-option", - "@babel/plugin-syntax-jsx", - "@babel/plugin-transform-modules-commonjs", - "@babel/plugin-transform-typescript" - ] - }, "@babel/template@7.27.2": { "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dependencies": [ - "@babel/code-frame@7.27.1", + "@babel/code-frame", "@babel/parser@7.28.5", "@babel/types" ] @@ -334,19 +248,19 @@ "@babel/traverse@7.27.7": { "integrity": "sha512-X6ZlfR/O/s5EQ/SnUSLzr+6kGnkg8HXGMzpgsMsrJVcfDtH1vIp6ctCN4eZ1LS5c0+te5Cb6Y514fASjMRJ1nw==", "dependencies": [ - "@babel/code-frame@7.27.1", + "@babel/code-frame", "@babel/generator", "@babel/parser@7.28.5", "@babel/template", "@babel/types", "debug", - "globals@11.12.0" + "globals" ] }, "@babel/traverse@7.28.5": { "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", "dependencies": [ - "@babel/code-frame@7.27.1", + "@babel/code-frame", "@babel/generator", "@babel/helper-globals", "@babel/parser@7.28.5", @@ -659,16 +573,11 @@ "@iconify/types@2.0.0": { "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==" }, - "@iconify/utils@3.0.2": { - "integrity": "sha512-EfJS0rLfVuRuJRn4psJHtK2A9TqVnkxPpHY6lYHiB9+8eSuudsxbwMiavocG45ujOo6FJ+CIRlRnlOGinzkaGQ==", + "@iconify/utils@3.1.0": { + "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==", "dependencies": [ "@antfu/install-pkg", - "@antfu/utils", "@iconify/types", - "debug", - "globals@15.15.0", - "kolorist", - "local-pkg", "mlly" ] }, @@ -738,6 +647,88 @@ "@jridgewell/sourcemap-codec" ] }, + "@jsr/db__sqlite@0.12.0": { + "integrity": "sha512-nTMYOzEl8oFhtPS90tAdMbpYTec7/brHtlVLt8afAsNLX+z1FkEIWljxqJS8UDzN23wCTsNXL96NArqBaJRy9A==", + "dependencies": [ + "@jsr/denosaurs__plug", + "@jsr/std__path@0.217.0" + ], + "tarball": "https://npm.jsr.io/~/11/@jsr/db__sqlite/0.12.0.tgz" + }, + "@jsr/denosaurs__plug@1.1.0": { + "integrity": "sha512-GNRMr8XcYWbv8C1B5OjDa5u8q3p2lz7YVWQLhH5HAy0pkpb0+Y3npSxzjM49v5ajTFIzUCwIKv1gQukPm9q7qw==", + "dependencies": [ + "@jsr/std__encoding", + "@jsr/std__fmt@1.0.8", + "@jsr/std__fs", + "@jsr/std__path@1.1.4" + ], + "tarball": "https://npm.jsr.io/~/11/@jsr/denosaurs__plug/1.1.0.tgz" + }, + "@jsr/soapbox__kysely-deno-sqlite@2.2.0": { + "integrity": "sha512-iubzZqRCjIsZZjLdSXDEZ3x5CjW9nKgf7avZs7qUZrhEDULZKltNKDaW+ZBATLJsiz4svwLq8qKiJ4naQ8GnAw==", + "dependencies": [ + "kysely@0.27.6" + ], + "tarball": "https://npm.jsr.io/~/11/@jsr/soapbox__kysely-deno-sqlite/2.2.0.tgz" + }, + "@jsr/std__assert@0.217.0": { + "integrity": "sha512-kCGfcXX8lMcZHWrCgFhbdpNloB50MkLwHdRZvZKjZK424F9g+M742jkTDLMOJmwkDoEqFKyNVrGhPtspS4+NvQ==", + "dependencies": [ + "@jsr/std__fmt@0.217.0" + ], + "tarball": "https://npm.jsr.io/~/11/@jsr/std__assert/0.217.0.tgz" + }, + "@jsr/std__encoding@1.0.10": { + "integrity": "sha512-WK2njnDTyKefroRNk2Ooq7GStp6Y0ccAvr4To+Z/zecRAGe7+OSvH9DbiaHpAKwEi2KQbmpWMOYsdNt+TsdmSw==", + "tarball": "https://npm.jsr.io/~/11/@jsr/std__encoding/1.0.10.tgz" + }, + "@jsr/std__fmt@0.217.0": { + "integrity": "sha512-AM33Cr/V3St3Cj5O4QQe4aMKGyzL9eYz+mOC58BmqxgeZwFbvSC06DzM2DS3ixcsAnwH2kYMXHpCBax0sT9q8Q==", + "tarball": "https://npm.jsr.io/~/11/@jsr/std__fmt/0.217.0.tgz" + }, + "@jsr/std__fmt@1.0.8": { + "integrity": "sha512-miZHzj9OgjuajrcMKzpqNVwFb9O71UHZzV/FHVq0E0Uwmv/1JqXgmXAoBNPrn+MP0fHT3mMgaZ6XvQO7dam67Q==", + "tarball": "https://npm.jsr.io/~/11/@jsr/std__fmt/1.0.8.tgz" + }, + "@jsr/std__fs@1.0.21": { + "integrity": "sha512-k/agrcKGm6KD89ci3AEyRmu3wRWf9JZNliOF4ZUxagTHiySmxjiKU3Lk+d2ksRtwEi7oWlLGS0AVM9Lciwc/xg==", + "dependencies": [ + "@jsr/std__internal", + "@jsr/std__path@1.1.4" + ], + "tarball": "https://npm.jsr.io/~/11/@jsr/std__fs/1.0.21.tgz" + }, + "@jsr/std__internal@1.0.12": { + "integrity": "sha512-6xReMW9p+paJgqoFRpOE2nogJFvzPfaLHLIlyADYjKMUcwDyjKZxryIbgcU+gxiTygn8yCjld1HoI0ET4/iZeA==", + "tarball": "https://npm.jsr.io/~/11/@jsr/std__internal/1.0.12.tgz" + }, + "@jsr/std__path@0.217.0": { + "integrity": "sha512-KoqEpZX9CE8zyyr4+X6AROOGYv95AysnJni2E5g9pqG+IGUUuNjOC3yRTvHnsB5tJ6uQs6DwET5chIdUPcylIQ==", + "dependencies": [ + "@jsr/std__assert" + ], + "tarball": "https://npm.jsr.io/~/11/@jsr/std__path/0.217.0.tgz" + }, + "@jsr/std__path@1.1.4": { + "integrity": "sha512-SK4u9H6NVTfolhPdlvdYXfNFefy1W04AEHWJydryYbk+xqzNiVmr5o7TLJLJFqwHXuwMRhwrn+mcYeUfS0YFaA==", + "dependencies": [ + "@jsr/std__internal" + ], + "tarball": "https://npm.jsr.io/~/11/@jsr/std__path/1.1.4.tgz" + }, + "@jsr/std__semver@1.0.7": { + "integrity": "sha512-/WpDSNegE6lI50L1+VnItLkuuQlZK8e8QbxrjV1sH+3YqiH+sQ/Tx3yYvewkKVVSwcidQUlqSIHSPrhay1zLCg==", + "tarball": "https://npm.jsr.io/~/11/@jsr/std__semver/1.0.7.tgz" + }, + "@jsr/strootje__better-kysely@0.4.0": { + "integrity": "sha512-J/6J8UmCPqRqGt4ZbcoauxX13gcN+ZntbymaZvSviGGdGjD0TyE/DDFWNVxHXm03pFYxOCJstrxq/4mIb+AVfA==", + "dependencies": [ + "@jsr/std__semver", + "kysely@0.28.9" + ], + "tarball": "https://npm.jsr.io/~/11/@jsr/strootje__better-kysely/0.4.0.tgz" + }, "@mapbox/node-pre-gyp@2.0.3": { "integrity": "sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg==", "dependencies": [ @@ -916,16 +907,16 @@ "@poppinss/exception@1.2.3": { "integrity": "sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==" }, - "@quansync/fs@0.1.5": { - "integrity": "sha512-lNS9hL2aS2NZgNW7BBj+6EBl4rOf8l+tQ0eRY6JWCI8jI2kc53gSoqbjojU0OnAWhzoXiOjFyGsHcDGePB3lhA==", + "@quansync/fs@1.0.0": { + "integrity": "sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ==", "dependencies": [ - "quansync" + "quansync@1.0.0" ] }, "@rolldown/pluginutils@1.0.0-beta.40": { "integrity": "sha512-s3GeJKSQOwBlzdUrj4ISjJj5SfSh+aqn0wjOar4Bx95iV1ETI7F6S/5hLcfAxZ9kXDcyrAkxPlqmd1ZITttf+w==" }, - "@rollup/plugin-alias@5.1.1_rollup@4.53.3": { + "@rollup/plugin-alias@5.1.1_rollup@4.54.0": { "integrity": "sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==", "dependencies": [ "rollup" @@ -934,7 +925,7 @@ "rollup" ] }, - "@rollup/plugin-commonjs@28.0.9_rollup@4.53.3_picomatch@4.0.3": { + "@rollup/plugin-commonjs@28.0.9_rollup@4.54.0_picomatch@4.0.3": { "integrity": "sha512-PIR4/OHZ79romx0BVVll/PkwWpJ7e5lsqFa3gFfcrFPWwLXLV39JVUzQV9RKjWerE7B845Hqjj9VYlQeieZ2dA==", "dependencies": [ "@rollup/pluginutils", @@ -950,7 +941,7 @@ "rollup" ] }, - "@rollup/plugin-inject@5.0.5_rollup@4.53.3": { + "@rollup/plugin-inject@5.0.5_rollup@4.54.0": { "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==", "dependencies": [ "@rollup/pluginutils", @@ -962,7 +953,7 @@ "rollup" ] }, - "@rollup/plugin-json@6.1.0_rollup@4.53.3": { + "@rollup/plugin-json@6.1.0_rollup@4.54.0": { "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", "dependencies": [ "@rollup/pluginutils", @@ -972,7 +963,7 @@ "rollup" ] }, - "@rollup/plugin-node-resolve@16.0.3_rollup@4.53.3": { + "@rollup/plugin-node-resolve@16.0.3_rollup@4.54.0": { "integrity": "sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==", "dependencies": [ "@rollup/pluginutils", @@ -986,7 +977,7 @@ "rollup" ] }, - "@rollup/plugin-replace@6.0.3_rollup@4.53.3": { + "@rollup/plugin-replace@6.0.3_rollup@4.54.0": { "integrity": "sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==", "dependencies": [ "@rollup/pluginutils", @@ -997,7 +988,7 @@ "rollup" ] }, - "@rollup/plugin-terser@0.4.4_rollup@4.53.3": { + "@rollup/plugin-terser@0.4.4_rollup@4.54.0": { "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", "dependencies": [ "rollup", @@ -1009,7 +1000,7 @@ "rollup" ] }, - "@rollup/pluginutils@5.3.0_rollup@4.53.3": { + "@rollup/pluginutils@5.3.0_rollup@4.54.0": { "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", "dependencies": [ "@types/estree", @@ -1021,113 +1012,113 @@ "rollup" ] }, - "@rollup/rollup-android-arm-eabi@4.53.3": { - "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==", + "@rollup/rollup-android-arm-eabi@4.54.0": { + "integrity": "sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng==", "os": ["android"], "cpu": ["arm"] }, - "@rollup/rollup-android-arm64@4.53.3": { - "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==", + "@rollup/rollup-android-arm64@4.54.0": { + "integrity": "sha512-Skx39Uv+u7H224Af+bDgNinitlmHyQX1K/atIA32JP3JQw6hVODX5tkbi2zof/E69M1qH2UoN3Xdxgs90mmNYw==", "os": ["android"], "cpu": ["arm64"] }, - "@rollup/rollup-darwin-arm64@4.53.3": { - "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==", + "@rollup/rollup-darwin-arm64@4.54.0": { + "integrity": "sha512-k43D4qta/+6Fq+nCDhhv9yP2HdeKeP56QrUUTW7E6PhZP1US6NDqpJj4MY0jBHlJivVJD5P8NxrjuobZBJTCRw==", "os": ["darwin"], "cpu": ["arm64"] }, - "@rollup/rollup-darwin-x64@4.53.3": { - "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==", + "@rollup/rollup-darwin-x64@4.54.0": { + "integrity": "sha512-cOo7biqwkpawslEfox5Vs8/qj83M/aZCSSNIWpVzfU2CYHa2G3P1UN5WF01RdTHSgCkri7XOlTdtk17BezlV3A==", "os": ["darwin"], "cpu": ["x64"] }, - "@rollup/rollup-freebsd-arm64@4.53.3": { - "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==", + "@rollup/rollup-freebsd-arm64@4.54.0": { + "integrity": "sha512-miSvuFkmvFbgJ1BevMa4CPCFt5MPGw094knM64W9I0giUIMMmRYcGW/JWZDriaw/k1kOBtsWh1z6nIFV1vPNtA==", "os": ["freebsd"], "cpu": ["arm64"] }, - "@rollup/rollup-freebsd-x64@4.53.3": { - "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==", + "@rollup/rollup-freebsd-x64@4.54.0": { + "integrity": "sha512-KGXIs55+b/ZfZsq9aR026tmr/+7tq6VG6MsnrvF4H8VhwflTIuYh+LFUlIsRdQSgrgmtM3fVATzEAj4hBQlaqQ==", "os": ["freebsd"], "cpu": ["x64"] }, - "@rollup/rollup-linux-arm-gnueabihf@4.53.3": { - "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==", + "@rollup/rollup-linux-arm-gnueabihf@4.54.0": { + "integrity": "sha512-EHMUcDwhtdRGlXZsGSIuXSYwD5kOT9NVnx9sqzYiwAc91wfYOE1g1djOEDseZJKKqtHAHGwnGPQu3kytmfaXLQ==", "os": ["linux"], "cpu": ["arm"] }, - "@rollup/rollup-linux-arm-musleabihf@4.53.3": { - "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==", + "@rollup/rollup-linux-arm-musleabihf@4.54.0": { + "integrity": "sha512-+pBrqEjaakN2ySv5RVrj/qLytYhPKEUwk+e3SFU5jTLHIcAtqh2rLrd/OkbNuHJpsBgxsD8ccJt5ga/SeG0JmA==", "os": ["linux"], "cpu": ["arm"] }, - "@rollup/rollup-linux-arm64-gnu@4.53.3": { - "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==", + "@rollup/rollup-linux-arm64-gnu@4.54.0": { + "integrity": "sha512-NSqc7rE9wuUaRBsBp5ckQ5CVz5aIRKCwsoa6WMF7G01sX3/qHUw/z4pv+D+ahL1EIKy6Enpcnz1RY8pf7bjwng==", "os": ["linux"], "cpu": ["arm64"] }, - "@rollup/rollup-linux-arm64-musl@4.53.3": { - "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==", + "@rollup/rollup-linux-arm64-musl@4.54.0": { + "integrity": "sha512-gr5vDbg3Bakga5kbdpqx81m2n9IX8M6gIMlQQIXiLTNeQW6CucvuInJ91EuCJ/JYvc+rcLLsDFcfAD1K7fMofg==", "os": ["linux"], "cpu": ["arm64"] }, - "@rollup/rollup-linux-loong64-gnu@4.53.3": { - "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==", + "@rollup/rollup-linux-loong64-gnu@4.54.0": { + "integrity": "sha512-gsrtB1NA3ZYj2vq0Rzkylo9ylCtW/PhpLEivlgWe0bpgtX5+9j9EZa0wtZiCjgu6zmSeZWyI/e2YRX1URozpIw==", "os": ["linux"], "cpu": ["loong64"] }, - "@rollup/rollup-linux-ppc64-gnu@4.53.3": { - "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==", + "@rollup/rollup-linux-ppc64-gnu@4.54.0": { + "integrity": "sha512-y3qNOfTBStmFNq+t4s7Tmc9hW2ENtPg8FeUD/VShI7rKxNW7O4fFeaYbMsd3tpFlIg1Q8IapFgy7Q9i2BqeBvA==", "os": ["linux"], "cpu": ["ppc64"] }, - "@rollup/rollup-linux-riscv64-gnu@4.53.3": { - "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==", + "@rollup/rollup-linux-riscv64-gnu@4.54.0": { + "integrity": "sha512-89sepv7h2lIVPsFma8iwmccN7Yjjtgz0Rj/Ou6fEqg3HDhpCa+Et+YSufy27i6b0Wav69Qv4WBNl3Rs6pwhebQ==", "os": ["linux"], "cpu": ["riscv64"] }, - "@rollup/rollup-linux-riscv64-musl@4.53.3": { - "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==", + "@rollup/rollup-linux-riscv64-musl@4.54.0": { + "integrity": "sha512-ZcU77ieh0M2Q8Ur7D5X7KvK+UxbXeDHwiOt/CPSBTI1fBmeDMivW0dPkdqkT4rOgDjrDDBUed9x4EgraIKoR2A==", "os": ["linux"], "cpu": ["riscv64"] }, - "@rollup/rollup-linux-s390x-gnu@4.53.3": { - "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==", + "@rollup/rollup-linux-s390x-gnu@4.54.0": { + "integrity": "sha512-2AdWy5RdDF5+4YfG/YesGDDtbyJlC9LHmL6rZw6FurBJ5n4vFGupsOBGfwMRjBYH7qRQowT8D/U4LoSvVwOhSQ==", "os": ["linux"], "cpu": ["s390x"] }, - "@rollup/rollup-linux-x64-gnu@4.53.3": { - "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==", + "@rollup/rollup-linux-x64-gnu@4.54.0": { + "integrity": "sha512-WGt5J8Ij/rvyqpFexxk3ffKqqbLf9AqrTBbWDk7ApGUzaIs6V+s2s84kAxklFwmMF/vBNGrVdYgbblCOFFezMQ==", "os": ["linux"], "cpu": ["x64"] }, - "@rollup/rollup-linux-x64-musl@4.53.3": { - "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==", + "@rollup/rollup-linux-x64-musl@4.54.0": { + "integrity": "sha512-JzQmb38ATzHjxlPHuTH6tE7ojnMKM2kYNzt44LO/jJi8BpceEC8QuXYA908n8r3CNuG/B3BV8VR3Hi1rYtmPiw==", "os": ["linux"], "cpu": ["x64"] }, - "@rollup/rollup-openharmony-arm64@4.53.3": { - "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==", + "@rollup/rollup-openharmony-arm64@4.54.0": { + "integrity": "sha512-huT3fd0iC7jigGh7n3q/+lfPcXxBi+om/Rs3yiFxjvSxbSB6aohDFXbWvlspaqjeOh+hx7DDHS+5Es5qRkWkZg==", "os": ["openharmony"], "cpu": ["arm64"] }, - "@rollup/rollup-win32-arm64-msvc@4.53.3": { - "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==", + "@rollup/rollup-win32-arm64-msvc@4.54.0": { + "integrity": "sha512-c2V0W1bsKIKfbLMBu/WGBz6Yci8nJ/ZJdheE0EwB73N3MvHYKiKGs3mVilX4Gs70eGeDaMqEob25Tw2Gb9Nqyw==", "os": ["win32"], "cpu": ["arm64"] }, - "@rollup/rollup-win32-ia32-msvc@4.53.3": { - "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==", + "@rollup/rollup-win32-ia32-msvc@4.54.0": { + "integrity": "sha512-woEHgqQqDCkAzrDhvDipnSirm5vxUXtSKDYTVpZG3nUdW/VVB5VdCYA2iReSj/u3yCZzXID4kuKG7OynPnB3WQ==", "os": ["win32"], "cpu": ["ia32"] }, - "@rollup/rollup-win32-x64-gnu@4.53.3": { - "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==", + "@rollup/rollup-win32-x64-gnu@4.54.0": { + "integrity": "sha512-dzAc53LOuFvHwbCEOS0rPbXp6SIhAf2txMP5p6mGyOXXw5mWY8NGGbPMPrs4P1WItkfApDathBj/NzMLUZ9rtQ==", "os": ["win32"], "cpu": ["x64"] }, - "@rollup/rollup-win32-x64-msvc@4.53.3": { - "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==", + "@rollup/rollup-win32-x64-msvc@4.54.0": { + "integrity": "sha512-hYT5d3YNdSh3mbCU1gwQyPgQd3T2ne0A3KG8KSBdav5TiBg6eInVmV+TeR5uHufiIgSFg0XsOWGW5/RhNcSvPg==", "os": ["win32"], "cpu": ["x64"] }, @@ -1183,47 +1174,47 @@ "unplugin@1.0.1" ] }, - "@sentry/cli-darwin@2.58.2": { - "integrity": "sha512-MArsb3zLhA2/cbd4rTm09SmTpnEuZCoZOpuZYkrpDw1qzBVJmRFA1W1hGAQ9puzBIk/ubY3EUhhzuU3zN2uD6w==", + "@sentry/cli-darwin@2.58.4": { + "integrity": "sha512-kbTD+P4X8O+nsNwPxCywtj3q22ecyRHWff98rdcmtRrvwz8CKi/T4Jxn/fnn2i4VEchy08OWBuZAqaA5Kh2hRQ==", "os": ["darwin"] }, - "@sentry/cli-linux-arm64@2.58.2": { - "integrity": "sha512-ay3OeObnbbPrt45cjeUyQjsx5ain1laj1tRszWj37NkKu55NZSp4QCg1gGBZ0gBGhckI9nInEsmKtix00alw2g==", + "@sentry/cli-linux-arm64@2.58.4": { + "integrity": "sha512-0g0KwsOozkLtzN8/0+oMZoOuQ0o7W6O+hx+ydVU1bktaMGKEJLMAWxOQNjsh1TcBbNIXVOKM/I8l0ROhaAb8Ig==", "os": ["linux", "freebsd", "android"], "cpu": ["arm64"] }, - "@sentry/cli-linux-arm@2.58.2": { - "integrity": "sha512-HU9lTCzcHqCz/7Mt5n+cv+nFuJdc1hGD2h35Uo92GgxX3/IujNvOUfF+nMX9j6BXH6hUt73R5c0Ycq9+a3Parg==", + "@sentry/cli-linux-arm@2.58.4": { + "integrity": "sha512-rdQ8beTwnN48hv7iV7e7ZKucPec5NJkRdrrycMJMZlzGBPi56LqnclgsHySJ6Kfq506A2MNuQnKGaf/sBC9REA==", "os": ["linux", "freebsd", "android"], "cpu": ["arm"] }, - "@sentry/cli-linux-i686@2.58.2": { - "integrity": "sha512-CN9p0nfDFsAT1tTGBbzOUGkIllwS3hygOUyTK7LIm9z+UHw5uNgNVqdM/3Vg+02ymjkjISNB3/+mqEM5osGXdA==", + "@sentry/cli-linux-i686@2.58.4": { + "integrity": "sha512-NseoIQAFtkziHyjZNPTu1Gm1opeQHt7Wm1LbLrGWVIRvUOzlslO9/8i6wETUZ6TjlQxBVRgd3Q0lRBG2A8rFYA==", "os": ["linux", "freebsd", "android"], "cpu": ["x86", "ia32"] }, - "@sentry/cli-linux-x64@2.58.2": { - "integrity": "sha512-oX/LLfvWaJO50oBVOn4ZvG2SDWPq0MN8SV9eg5tt2nviq+Ryltfr7Rtoo+HfV+eyOlx1/ZXhq9Wm7OT3cQuz+A==", + "@sentry/cli-linux-x64@2.58.4": { + "integrity": "sha512-d3Arz+OO/wJYTqCYlSN3Ktm+W8rynQ/IMtSZLK8nu0ryh5mJOh+9XlXY6oDXw4YlsM8qCRrNquR8iEI1Y/IH+Q==", "os": ["linux", "freebsd", "android"], "cpu": ["x64"] }, - "@sentry/cli-win32-arm64@2.58.2": { - "integrity": "sha512-+cl3x2HPVMpoSVGVM1IDWlAEREZrrVQj4xBb0TRKII7g3hUxRsAIcsrr7+tSkie++0FuH4go/b5fGAv51OEF3w==", + "@sentry/cli-win32-arm64@2.58.4": { + "integrity": "sha512-bqYrF43+jXdDBh0f8HIJU3tbvlOFtGyRjHB8AoRuMQv9TEDUfENZyCelhdjA+KwDKYl48R1Yasb4EHNzsoO83w==", "os": ["win32"], "cpu": ["arm64"] }, - "@sentry/cli-win32-i686@2.58.2": { - "integrity": "sha512-omFVr0FhzJ8oTJSg1Kf+gjLgzpYklY0XPfLxZ5iiMiYUKwF5uo1RJRdkUOiEAv0IqpUKnmKcmVCLaDxsWclB7Q==", + "@sentry/cli-win32-i686@2.58.4": { + "integrity": "sha512-3triFD6jyvhVcXOmGyttf+deKZcC1tURdhnmDUIBkiDPJKGT/N5xa4qAtHJlAB/h8L9jgYih9bvJnvvFVM7yug==", "os": ["win32"], "cpu": ["x86", "ia32"] }, - "@sentry/cli-win32-x64@2.58.2": { - "integrity": "sha512-2NAFs9UxVbRztQbgJSP5i8TB9eJQ7xraciwj/93djrSMHSEbJ0vC47TME0iifgvhlHMs5vqETOKJtfbbpQAQFA==", + "@sentry/cli-win32-x64@2.58.4": { + "integrity": "sha512-cSzN4PjM1RsCZ4pxMjI0VI7yNCkxiJ5jmWncyiwHXGiXrV1eXYdQ3n1LhUYLZ91CafyprR0OhDcE+RVZ26Qb5w==", "os": ["win32"], "cpu": ["x64"] }, - "@sentry/cli@2.58.2": { - "integrity": "sha512-U4u62V4vaTWF+o40Mih8aOpQKqKUbZQt9A3LorIJwaE3tO3XFLRI70eWtW2se1Qmy0RZ74zB14nYcFNFl2t4Rw==", + "@sentry/cli@2.58.4": { + "integrity": "sha512-ArDrpuS8JtDYEvwGleVE+FgR+qHaOp77IgdGSacz6SZy6Lv90uX0Nu4UrHCQJz8/xwIcNxSqnN22lq0dH4IqTg==", "dependencies": [ "https-proxy-agent@5.0.1", "node-fetch", @@ -1247,7 +1238,7 @@ "@sentry/core@10.32.1": { "integrity": "sha512-PH2ldpSJlhqsMj2vCTyU0BI2Fx1oIDhm7Izo5xFALvjVCS0gmlqHt1udu6YlKn8BtpGH6bGzssvv5APrk+OdPQ==" }, - "@sentry/solid@10.32.1_@tanstack+solid-router@1.143.4__solid-js@1.9.10___seroval@1.3.2_solid-js@1.9.10__seroval@1.3.2": { + "@sentry/solid@10.32.1_@tanstack+solid-router@1.144.0__solid-js@1.9.10___seroval@1.3.2_solid-js@1.9.10__seroval@1.3.2": { "integrity": "sha512-Gz9zUuDAd/FvTcogXdasBMN3GHMtovSjlh5nPvysqFHa1t8x1HWYR5h7l5YVl38PYSCswyABcf4dumSphQbyMg==", "dependencies": [ "@sentry/browser", @@ -1266,8 +1257,8 @@ "unplugin@1.0.1" ] }, - "@sindresorhus/is@7.1.1": { - "integrity": "sha512-rO92VvpgMc3kfiTjGT52LEtJ8Yc5kCWhZjLQ3LwlA4pSgPpQO7bVpYXParOD8Jwf+cVQECJo3yP/4I8aZtUQTQ==" + "@sindresorhus/is@7.2.0": { + "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==" }, "@sindresorhus/merge-streams@4.0.0": { "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==" @@ -1442,8 +1433,8 @@ "@standard-schema/spec@1.1.0": { "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==" }, - "@swc/helpers@0.5.17": { - "integrity": "sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==", + "@swc/helpers@0.5.18": { + "integrity": "sha512-TXTnIcNJQEKwThMMqBXsZ4VGAza6bvN4pa41Rkqoio6QBKMvo+5lexeTMScGCIxtzgQJzElcvIltani+adC5PQ==", "dependencies": [ "tslib" ] @@ -1468,20 +1459,6 @@ "@tanstack/devtools-event-client@0.4.0": { "integrity": "sha512-RPfGuk2bDZgcu9bAJodvO2lnZeHuz4/71HjZ0bGb/SPg8+lyTA+RLSKQvo7fSmPSi8/vcH3aKQ8EM9ywf1olaw==" }, - "@tanstack/directive-functions-plugin@1.142.1_vite@7.3.0__picomatch@4.0.3": { - "integrity": "sha512-k4HhAaitobp+z2pXBkmoWgE8Ollhx7fQXpVL+PQ7HeHZc2PilrQtC3ysxvoPunufrztIxweSE9HAWkZ2AFNaLw==", - "dependencies": [ - "@babel/code-frame@7.27.1", - "@babel/core", - "@babel/traverse@7.28.5", - "@babel/types", - "@tanstack/router-utils", - "babel-dead-code-elimination", - "pathe@2.0.3", - "tiny-invariant", - "vite" - ] - }, "@tanstack/form-core@1.27.6": { "integrity": "sha512-1C4PUpOcCpivddKxtAeqdeqncxnPKiPpTVDRknDExCba+6zCsAjxgL+p3qYA3hu+EFyUAdW71rU+uqYbEa7qqA==", "dependencies": [ @@ -1504,10 +1481,10 @@ "@tanstack/pacer-lite@0.1.1": { "integrity": "sha512-y/xtNPNt/YeyoVxE/JCx+T7yjEzpezmbb+toK8DDD1P4m7Kzs5YR956+7OKexG3f8aXgC3rLZl7b1V+yNUSy5w==" }, - "@tanstack/query-core@5.90.12": { - "integrity": "sha512-T1/8t5DhV/SisWjDnaiU2drl6ySvsHj1bHBCWNXd+/T+Hh1cf6JodyEYMd5sgwm+b/mETT4EV3H+zCVczCU5hg==" + "@tanstack/query-core@5.90.14": { + "integrity": "sha512-/6di2yNI+YxpVrH9Ig74Q+puKnkCE+D0LGyagJEGndJHJc6ahkcc/UqirHKy8zCYE/N9KLggxcQvzYCsUBWgdw==" }, - "@tanstack/query-db-collection@1.0.12_@tanstack+query-core@5.90.12_typescript@5.9.3": { + "@tanstack/query-db-collection@1.0.12_@tanstack+query-core@5.90.14_typescript@5.9.3": { "integrity": "sha512-kwE9lfGhbnRbRHut1k4yrshoTSDNqP/uY7Brr0l1HbOJZuW7V8Q1zQ1GN4TMAtsLohKaSsL/XDxZULCi6MGngg==", "dependencies": [ "@standard-schema/spec", @@ -1516,20 +1493,20 @@ "typescript" ] }, - "@tanstack/router-core@1.143.4_seroval@1.4.1": { - "integrity": "sha512-VlSXrYQ/oBoUUGJx6t93KfzGHeBvL6GOmKRouPbHNqKi4ueVnQ2PdRX+s9eZoDAdcVsgmS7YlTCRgIbh2sAQpA==", + "@tanstack/router-core@1.144.0_seroval@1.4.2": { + "integrity": "sha512-6oVERtK9XDHCP4XojgHsdHO56ZSj11YaWjF5g/zw39LhyA6Lx+/X86AEIHO4y0BUrMQaJfcjdAQMVSAs6Vjtdg==", "dependencies": [ "@tanstack/history", "@tanstack/store@0.8.0", "cookie-es@2.0.0", - "seroval@1.4.1", - "seroval-plugins@1.4.0_seroval@1.4.1", + "seroval@1.4.2", + "seroval-plugins@1.4.2_seroval@1.4.2", "tiny-invariant", "tiny-warning" ] }, - "@tanstack/router-generator@1.143.4": { - "integrity": "sha512-QBqJCNoXJQmWkoAR6VqSuA7nBUSf3y5p8t4JpbtLGUgQ7pLu03nUSjcnLqN84BednhpZXnh/Mw3jxnpA//UWCQ==", + "@tanstack/router-generator@1.144.0": { + "integrity": "sha512-NRXO/e9fZkSPF/Xa2S2+UxKgQWQpA/DmTQLCjQfPumCnNLUHpq0+iQPUWY9b5Rk2fnKwQkBZNLAl2EuWGa7rvw==", "dependencies": [ "@tanstack/router-core", "@tanstack/router-utils", @@ -1541,8 +1518,8 @@ "zod" ] }, - "@tanstack/router-plugin@1.143.4_vite@7.3.0__picomatch@4.0.3_vite-plugin-solid@2.11.10__solid-js@1.9.10___seroval@1.3.2__vite@7.3.0___picomatch@4.0.3__@babel+core@7.28.5_@babel+core@7.28.5_solid-js@1.9.10__seroval@1.3.2": { - "integrity": "sha512-gjqkdAHJ8lZ1pOcK2noboyLKtbwIH59H/3/a4OQu30yNmuRnDTN75OrSBMvHvgYnXM3a0qUo9uFCphsRbS9N6g==", + "@tanstack/router-plugin@1.144.0_vite@7.3.0__picomatch@4.0.3_vite-plugin-solid@2.11.10__solid-js@1.9.10___seroval@1.3.2__vite@7.3.0___picomatch@4.0.3__@babel+core@7.28.5_@babel+core@7.28.5_solid-js@1.9.10__seroval@1.3.2": { + "integrity": "sha512-P5pJ/dYeDxwgHkDk5xq4MYdWIRWiehlfWjcIewnd21hG0hud/IQCfAwnGY89k/izJV8WZSOV+rKtJf6ufW2aKw==", "dependencies": [ "@babel/core", "@babel/plugin-syntax-jsx", @@ -1566,34 +1543,18 @@ "vite-plugin-solid" ] }, - "@tanstack/router-utils@1.141.0_@babel+core@7.28.5": { - "integrity": "sha512-/eFGKCiix1SvjxwgzrmH4pHjMiMxc+GA4nIbgEkG2RdAJqyxLcRhd7RPLG0/LZaJ7d0ad3jrtRqsHLv2152Vbw==", + "@tanstack/router-utils@1.143.11": { + "integrity": "sha512-N24G4LpfyK8dOlnP8BvNdkuxg1xQljkyl6PcrdiPSA301pOjatRT1y8wuCCJZKVVD8gkd0MpCZ0VEjRMGILOtA==", "dependencies": [ "@babel/core", "@babel/generator", "@babel/parser@7.28.5", - "@babel/preset-typescript", "ansis", "diff", "pathe@2.0.3", "tinyglobby" ] }, - "@tanstack/server-functions-plugin@1.142.1_@babel+core@7.28.5_vite@7.3.0__picomatch@4.0.3": { - "integrity": "sha512-ltTOj6dIDlRV3M8+PzontDYFMnIQ+icUnD+OKzIRfKo6bbvC0qvy8ttuWmVJxmqHy9xsWgkNt4gZrKVjtWXIhQ==", - "dependencies": [ - "@babel/code-frame@7.27.1", - "@babel/core", - "@babel/plugin-syntax-jsx", - "@babel/plugin-syntax-typescript", - "@babel/template", - "@babel/traverse@7.28.5", - "@babel/types", - "@tanstack/directive-functions-plugin", - "babel-dead-code-elimination", - "tiny-invariant" - ] - }, "@tanstack/solid-db@0.1.59_solid-js@1.9.10__seroval@1.3.2": { "integrity": "sha512-WnX5RaEiooK8FACVRdlCMlWfiD52Uv1MsFI2oPinZn5kEZyRGJGxTj3yGBPt+PWRr9S0jSDRWInkVmOFM9Fzvg==", "dependencies": [ @@ -1610,15 +1571,15 @@ "solid-js" ] }, - "@tanstack/solid-query@5.90.15_solid-js@1.9.10__seroval@1.3.2": { - "integrity": "sha512-5bCMbGJHMGSTK4sA3OKs3p8w21+k4tp+KwVin8IwkMnmzVfGzEkuZnDM8WexO2fMqfr7nBpCGxZHSiUVcniCRQ==", + "@tanstack/solid-query@5.90.17_solid-js@1.9.10__seroval@1.3.2": { + "integrity": "sha512-1XkV8DpldwulCNuxBa+mLgRp36xEEBDOL8UMIRESSSKnEzSY7vlFQoicqsM9ypvowp0K+LhyAjpdX95FkKJf6w==", "dependencies": [ "@tanstack/query-core", "solid-js" ] }, - "@tanstack/solid-router@1.143.4_solid-js@1.9.10__seroval@1.3.2": { - "integrity": "sha512-6E2IIQ8nBti7LCnu9/AuWHrQRN4Q3Oqpo593veTrARcKtZtuXl/BBAP+a3FdARjjUJfyMSu69jIPKaEgv40Azg==", + "@tanstack/solid-router@1.144.0_solid-js@1.9.10__seroval@1.3.2": { + "integrity": "sha512-8S2BFvYE4MLw5SXCNwL69NF/E9fdOQmXokQDsM6NTfDuJGGuNvXRTiVxgnk9ungEmVbMZ3kowXMGxOuuVbZnIg==", "dependencies": [ "@solid-devtools/logger", "@solid-primitives/refs", @@ -1632,8 +1593,8 @@ "tiny-warning" ] }, - "@tanstack/solid-start-client@1.143.4_solid-js@1.9.10__seroval@1.3.2": { - "integrity": "sha512-sajPUx3A3ozhIb48+Fm25zaoVSSxw8xlHQ+uLsBS9NJ59vo/gBDHzBU4Vtk+IHiKgo0tuHBRraxK9MK5i+1OMg==", + "@tanstack/solid-start-client@1.145.0_solid-js@1.9.10__seroval@1.3.2": { + "integrity": "sha512-yW2LKuzggw88lFMS+HUPqZ4y/68fZaJE317Z01lmCTpjLa+FqDq8gA06hFZNmumh46FqC1a0CYohfXHk/tRGXA==", "dependencies": [ "@tanstack/router-core", "@tanstack/solid-router", @@ -1643,8 +1604,8 @@ "tiny-warning" ] }, - "@tanstack/solid-start-server@1.143.4_solid-js@1.9.10__seroval@1.3.2": { - "integrity": "sha512-F12OzeNkrLQHRrJYysDGInpCnkY9UQLI+w8FrBQ3w+OsI44q/9Oq92SjZ4KvD7lP2j9lpvTLMtCL1n/bCFvrHQ==", + "@tanstack/solid-start-server@1.145.0_solid-js@1.9.10__seroval@1.3.2": { + "integrity": "sha512-cnIqp8zqSu6v2mf8/pQ1iPUN/5TDCbkPqhHjiPRVyt+aWawj8E+Xu9Fz9+shTAXYbJabwXsYFT3+3u1GubWXgQ==", "dependencies": [ "@solidjs/meta", "@tanstack/history", @@ -1655,8 +1616,8 @@ "solid-js" ] }, - "@tanstack/solid-start@1.143.4_solid-js@1.9.10__seroval@1.3.2_vite@7.3.0__picomatch@4.0.3_vite-plugin-solid@2.11.10__solid-js@1.9.10___seroval@1.3.2__vite@7.3.0___picomatch@4.0.3__@babel+core@7.28.5": { - "integrity": "sha512-Ey/kQwM4zU5PTOTNZj2/8zwQsZa/Bn8waeJz88PKT3ZjksFsHD5x3tBH1+geG3x8ljcu7JtUDVOY+wnxMPuh9w==", + "@tanstack/solid-start@1.145.0_solid-js@1.9.10__seroval@1.3.2_vite@7.3.0__picomatch@4.0.3_vite-plugin-solid@2.11.10__solid-js@1.9.10___seroval@1.3.2__vite@7.3.0___picomatch@4.0.3__@babel+core@7.28.5": { + "integrity": "sha512-ZmCV8PJB/jM2/rwCelODocRPmikcCnoM4HkosWboo56qP99uhYk09Tv6czgjak4BNxI+vbL9FsuMaR2J2C8PxQ==", "dependencies": [ "@tanstack/solid-router", "@tanstack/solid-start-client", @@ -1683,24 +1644,24 @@ "solid-js" ] }, - "@tanstack/start-client-core@1.143.4": { - "integrity": "sha512-AZNMenaxSUE3LUzVAfOhx3tqbsQ+BVWlQHO5rmqTdHpiayqkCMcmXWwjLawuYBNo7lWxmAsXIDsI3rKyUq7mvg==", + "@tanstack/start-client-core@1.145.0": { + "integrity": "sha512-pqINeN7ZqdfTZrkhy9C7isxRr8U3cByH5ZtLVnUxJp9fvLgwX7LlI+OWpGI0q3E8f/mHMUqJdeE56+atSs8Khw==", "dependencies": [ "@tanstack/router-core", "@tanstack/start-fn-stubs", "@tanstack/start-storage-context", - "seroval@1.4.1", + "seroval@1.4.2", "tiny-invariant", "tiny-warning" ] }, - "@tanstack/start-fn-stubs@1.142.9": { - "integrity": "sha512-wQL0l3AowOagUWklcfzmM78UuNOun9ziqu4/GhMw95wBLVAtAdXThMg8yjQfZwNWcNq1ebxISbz1XAjTudvJ1Q==" + "@tanstack/start-fn-stubs@1.143.8": { + "integrity": "sha512-2IKUPh/TlxwzwHMiHNeFw95+L2sD4M03Es27SxMR0A60Qc4WclpaD6gpC8FsbuNASM2jBxk2UyeYClJxW1GOAQ==" }, - "@tanstack/start-plugin-core@1.143.4_vite@7.3.0__picomatch@4.0.3_vite-plugin-solid@2.11.10__solid-js@1.9.10___seroval@1.3.2__vite@7.3.0___picomatch@4.0.3__@babel+core@7.28.5_solid-js@1.9.10__seroval@1.3.2": { - "integrity": "sha512-kwqofplhEQUAZ7cLxCNh3+1AP4NkcQqw0JE1rGFIXDCmLBMMmUwOC1V6N7/MtCI3ly626xadAxtq8x7yCVeD4Q==", + "@tanstack/start-plugin-core@1.145.0_vite@7.3.0__picomatch@4.0.3_vite-plugin-solid@2.11.10__solid-js@1.9.10___seroval@1.3.2__vite@7.3.0___picomatch@4.0.3__@babel+core@7.28.5_solid-js@1.9.10__seroval@1.3.2": { + "integrity": "sha512-suRUAUbeITAVpTb35V9mpL4fH0xUqjmnQZglMfZEkiPrhL8dorlWQZYpzmSlFSeQpqhTgH5hLafliQTF+A8pcg==", "dependencies": [ - "@babel/code-frame@7.26.2", + "@babel/code-frame", "@babel/core", "@babel/types", "@rolldown/pluginutils", @@ -1708,7 +1669,6 @@ "@tanstack/router-generator", "@tanstack/router-plugin", "@tanstack/router-utils", - "@tanstack/server-functions-plugin", "@tanstack/start-client-core", "@tanstack/start-server-core", "babel-dead-code-elimination", @@ -1724,20 +1684,20 @@ "zod" ] }, - "@tanstack/start-server-core@1.143.4": { - "integrity": "sha512-Sn4nYtFQ3jRWHyKt/LePJzBHlj3WyTdUzXd04oDfs9tryl9T7if8SyDj6iXI7SYU+n5cnCAkbYZ4MS8gmFnP5Q==", + "@tanstack/start-server-core@1.145.0": { + "integrity": "sha512-psROCguKEXlpx04NeuqIVmtsunKpdIrvHunIE14YeXHQFs+HrItyXlS/we1H4c7bPG1n1kk5+SRUCVAVyipq0Q==", "dependencies": [ "@tanstack/history", "@tanstack/router-core", "@tanstack/start-client-core", "@tanstack/start-storage-context", "h3-v2@npm:h3@2.0.1-rc.6", - "seroval@1.4.1", + "seroval@1.4.2", "tiny-invariant" ] }, - "@tanstack/start-storage-context@1.143.4": { - "integrity": "sha512-XIh9pDOWIZMoJDVBpDsvJ8xYg2qVK+cYVsvuhxqiCOOG/h4NvJfA3MWXl/W39rOzoC+dMZ8qNYMwYZ+GtUMKXg==", + "@tanstack/start-storage-context@1.144.0": { + "integrity": "sha512-DuUx5CXfLNettyJlsHDQp66y5haeqzXJkUor7kp5p10SVv24p76dTYqBOpw+wQz//RfJlOciIZFVBcKezXXY0w==", "dependencies": [ "@tanstack/router-core" ] @@ -1792,10 +1752,10 @@ "@ungap/with-resolvers@0.1.0": { "integrity": "sha512-g7f0IkJdPW2xhY7H4iE72DAsIyfuwEFc6JWc2tYFwKDMWWAF699vGjrM348cwQuOXgHpe1gWFe+Eiyjx/ewvvw==" }, - "@unocss/astro@66.5.10_vite@7.3.0__picomatch@4.0.3": { - "integrity": "sha512-R1UU8lfIqcuorGpiuU+9pQEmK8uBBk1sf5re1db9kr23924Ia/aBCmfs4W2xyVCwJ0cGBv9C3ywDgOsgkHFCbQ==", + "@unocss/astro@66.5.11_vite@7.3.0__picomatch@4.0.3": { + "integrity": "sha512-BosK60rJAVijunRQo/EjHqUCi0oLdZ+kLYmBYMWkFf97GczmP8zO3jbQZOang6iCMXVnsVmnlPprIFiH4GiZxw==", "dependencies": [ - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "@unocss/reset", "@unocss/vite", "vite" @@ -1804,37 +1764,37 @@ "vite" ] }, - "@unocss/cli@66.5.10": { - "integrity": "sha512-3tGBTGLLTtwGEwXGWsL77K4bTvNG115VJvYPPit68Z7uXnA6S8xpkwaFFDJ3kbrsWtgXBpIgM06HhtT6/3MILg==", + "@unocss/cli@66.5.11": { + "integrity": "sha512-Lrljr5xz9oJ7xAenoWhefLydcVxL9TtF63gA/drGk5RGvdsJ7qph8WszL3T4cSdXazTl7wsTb/HQteG36ER0Aw==", "dependencies": [ "@jridgewell/remapping", "@unocss/config", - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "@unocss/preset-uno", "cac", - "chokidar@3.6.0", + "chokidar@5.0.0", "colorette", "consola", "magic-string@0.30.21", "pathe@2.0.3", - "perfect-debounce@1.0.0", + "perfect-debounce", "tinyglobby", "unplugin-utils" ], "bin": true }, - "@unocss/config@66.5.10": { - "integrity": "sha512-udBhfMe+2MU70ZdjnRLnwLQ+0EHYJ4f5JjjvHsfmQ0If4KeYmSStWBuX+/LHNQidhl487JiwW1lBDQ8pKHmbiw==", + "@unocss/config@66.5.11": { + "integrity": "sha512-IsogGaynqMtUCRlqzKiHcIuLAlf6jHLMPwJieRC+DthhIj+pV3EoPDXmqfgsA5fc1gseAtLIjDUDaVh4bROJiQ==", "dependencies": [ - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "unconfig" ] }, "@unocss/core@65.5.0": { "integrity": "sha512-XYWdS09M2XOjZNDotGhI2TIW/6duLNiyssopwjCbv4AlPklF0bZI86SKI55syYDBt6GRadoQbuvUkhSiTV/hzQ==" }, - "@unocss/core@66.5.10": { - "integrity": "sha512-SEmPE4pWNn9VcCvZqovPwFGuG/j69W3zh+x1Ky4z/I2pnyoB0Y0lBmq22KVu/dwExe+ZKKTQpxa0j5rbE27rDQ==" + "@unocss/core@66.5.11": { + "integrity": "sha512-Wavk2l7vjyd8SlQ8MmMQSSCPdiJEv+cF1l42fsiGSteoOFkbF6uNgmO2CqF5VlXbBjh1ovvQQkLc/0CGOZZXIA==" }, "@unocss/extractor-arbitrary-variants@65.5.0": { "integrity": "sha512-7K3gftOdkv9jbWvbkExTcx6/FDP2Xk/NSsOYTvR9oITLnLjmdQvp+9276WSnNfKF3frBl8ZcqpkC2EsuL2Yutw==", @@ -1842,45 +1802,45 @@ "@unocss/core@65.5.0" ] }, - "@unocss/extractor-arbitrary-variants@66.5.10": { - "integrity": "sha512-9JsAY1a68WZaIbSiwQa7LLAO+t4T5nnhgmNxY3MGaK58k6Qa9ayZb4AG4fqOpw+Zn8tmKd7yXJ0s+27sx1n2BA==", + "@unocss/extractor-arbitrary-variants@66.5.11": { + "integrity": "sha512-gl4t78wAT78jHW5AZhtzV/hsPKjMiEaP29SD4mDTpppG+LUXIrXMSI9bOur50R5+FiXIYYL3YUseDv9Mf3pfmw==", "dependencies": [ - "@unocss/core@66.5.10" + "@unocss/core@66.5.11" ] }, - "@unocss/inspector@66.5.10": { - "integrity": "sha512-L/Nvi4bkXFxbGNOi7TPNnIIDfY1zKghfJ+cF7To/WrXplP1Y4nEZa2kGwcVBcsaysACri0whU19Dh3yf+bG+Pg==", + "@unocss/inspector@66.5.11": { + "integrity": "sha512-3ZZ+4D3ecpgMZbbWOMo0U9jEdWMbYfUwVG1UWbP3KhGs6wGnepCmPNyp+QYM+0gbrxUMuk3kF3GpbZTyQIVx4w==", "dependencies": [ - "@unocss/core@66.5.10", - "@unocss/rule-utils@66.5.10", + "@unocss/core@66.5.11", + "@unocss/rule-utils@66.5.11", "colorette", "gzip-size@6.0.0", "sirv", "vue-flow-layout" ] }, - "@unocss/postcss@66.5.10_postcss@8.5.6": { - "integrity": "sha512-Hp9k+1AB0qxc6b7Sh7JPKwYgcklIvRhleYtQldFbdU5eAY5InOy9m7gSZxRsz2WQb6IzliqO7Or34PbhnMlcFQ==", + "@unocss/postcss@66.5.11_postcss@8.5.6": { + "integrity": "sha512-jUCQFZ51tbOl1yLHBJyOVKHm1ISuoD6lrBTbubzPJ0uicTtkPPNZTWci7asMvHTohVZ/d3rmVYAF7xlTy3osGw==", "dependencies": [ "@unocss/config", - "@unocss/core@66.5.10", - "@unocss/rule-utils@66.5.10", + "@unocss/core@66.5.11", + "@unocss/rule-utils@66.5.11", "css-tree", "postcss", "tinyglobby" ] }, - "@unocss/preset-attributify@66.5.10": { - "integrity": "sha512-dEFs8kXC9xoqolQBFvtgXvdzWQqHoWqSj/eosX2oDmy8REk7UErpBvMmqR4pCP7mqdtG8yZ2l34Gtb42hDM3JA==", + "@unocss/preset-attributify@66.5.11": { + "integrity": "sha512-TQkaI505KkkLb1VmjnyLkKF8wERNtVVWOzIPG/wfkCDKRJwTUzpgofLvoP597K/ei1ZjVj5wN+1HGd+Te5qKuw==", "dependencies": [ - "@unocss/core@66.5.10" + "@unocss/core@66.5.11" ] }, - "@unocss/preset-icons@66.5.10": { - "integrity": "sha512-zf4Sev/F2QQgVjGjKBCw3BKc15HQAtvUrNX2zymXXbAjt83Lf27ofYzTAUVUO9mi/oQhXcP5sQrIGIe7iQX3hw==", + "@unocss/preset-icons@66.5.11": { + "integrity": "sha512-WIY6hL08D/aR+Dml2j0iHI1fMN7SrGTDrPZxIuCkl+vJ40XNUWOf1sHj0f6D7t+FMNvq3YaoYILCVXr7jqk0IA==", "dependencies": [ "@iconify/utils", - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "ofetch" ] }, @@ -1892,66 +1852,66 @@ "@unocss/rule-utils@65.5.0" ] }, - "@unocss/preset-mini@66.5.10": { - "integrity": "sha512-jRmweaPhaTGBSDKFuhEGayGyuGr66rTRRqzv5EAdHH4x43TFlJ1RO5SVlzzJdo1zJy4vyGSINIVKeI49FYhEKQ==", + "@unocss/preset-mini@66.5.11": { + "integrity": "sha512-J3inURgYDAuQjlIYqKiZaumwgC865pLlFmI73TcR0Oo0uLM+WXIp0Qa5Q11NUOFCUQB0yIVdZp8Nvz++5rgnvg==", "dependencies": [ - "@unocss/core@66.5.10", - "@unocss/extractor-arbitrary-variants@66.5.10", - "@unocss/rule-utils@66.5.10" + "@unocss/core@66.5.11", + "@unocss/extractor-arbitrary-variants@66.5.11", + "@unocss/rule-utils@66.5.11" ] }, - "@unocss/preset-tagify@66.5.10": { - "integrity": "sha512-SLfMhNQCFEXspp/zREZv61dmuvRQ+CVI04zcpGpg4LnqvMKkLVyPPetlhgJwW1hd9D7OWkUGoQm9JA0O4+9XJA==", + "@unocss/preset-tagify@66.5.11": { + "integrity": "sha512-Snu0Xb+ugCKjcpW84v2wRiWSO/YX5OJhBODFUi3NMmq33DBusyJLMapw/ADkuPN6ifLohu+CpWcExk/4dZiwyA==", "dependencies": [ - "@unocss/core@66.5.10" + "@unocss/core@66.5.11" ] }, - "@unocss/preset-typography@66.5.10": { - "integrity": "sha512-GMchTwywSA6vwiZ2w8svBY9U9br/OW7vIjwyYis0c9kp4h8apKCrLtAv2LjmlKyg12IDy9d8jp/hZ1zP9umung==", + "@unocss/preset-typography@66.5.11": { + "integrity": "sha512-MF894L7dWk066YcztbE20RG2gD0ffuHboL9w6M5BUCPB+8owPlb5hK+wdFPH1joFJsT4EJ1kkRwke5/KF7fgeQ==", "dependencies": [ - "@unocss/core@66.5.10", - "@unocss/rule-utils@66.5.10" + "@unocss/core@66.5.11", + "@unocss/rule-utils@66.5.11" ] }, - "@unocss/preset-uno@66.5.10": { - "integrity": "sha512-O3R99td+Jt3XAJh1pVbOSTu3z7jUosg80y90iu6JQIpvXI/pGanWJEhoEz95SgJmRV+vXNEn4f6tIvfUXkTd/w==", + "@unocss/preset-uno@66.5.11": { + "integrity": "sha512-2Ty14lefkAZ6FY51VwwoHRv91u1d4eAw79cfiT1cIq6xRfU6qSJW3F7/LeBaaZRWwFSenRhZ3EbO3eh2J4K6cQ==", "dependencies": [ - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "@unocss/preset-wind3" ] }, - "@unocss/preset-web-fonts@66.5.10": { - "integrity": "sha512-rA9pjL+CuDpyEekawX54pkWHc4n+kfhoYsAFBWBtNHl4akDYsbnSA+2EF/XiEbRvz1YVFYDucZ9KpUiaq9+xtQ==", + "@unocss/preset-web-fonts@66.5.11": { + "integrity": "sha512-J1VLPOPejSiVcn5YssEufW4P6m3AWSZW8u0kDb25oltSeDab6mkZKA3psYPrliaYDb6DrMmhxFePb1NuycuGQw==", "dependencies": [ - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "ofetch" ] }, - "@unocss/preset-wind3@66.5.10": { - "integrity": "sha512-N2Wgu+AnTSr4jIEAfajOfUtwESE/Zzr0GxwW88+MHIw6Tzj6tZeCEKNNKFzsgwfGkoNjvwIeIbkaIrIGJ7SveA==", + "@unocss/preset-wind3@66.5.11": { + "integrity": "sha512-Ols2gGKdyx51tuugkjspN/ZNETnDm0jXu6EoNPcob4cPCyWlowS1EzaT1qKaUtVnaLVyVhGFziakTo9B0nwQzg==", "dependencies": [ - "@unocss/core@66.5.10", - "@unocss/preset-mini@66.5.10", - "@unocss/rule-utils@66.5.10" + "@unocss/core@66.5.11", + "@unocss/preset-mini@66.5.11", + "@unocss/rule-utils@66.5.11" ] }, - "@unocss/preset-wind4@66.5.10": { - "integrity": "sha512-PXLxEcYJUsysQvK4xj3iA7plvq5RcAt9S1vLlOmBtl2X66dWU6XqiGEu7lLfqoypip1bPCOGlRB7HbfMuQpftQ==", + "@unocss/preset-wind4@66.5.11": { + "integrity": "sha512-Ky5At0fP/A6HGnnTsjkVGZE/xKL8HFeAwOjJ6QnJLyLg4exuWk1tC/Y2OSzmElDoKgJjH5lyUz4rfwGOXzZJ5A==", "dependencies": [ - "@unocss/core@66.5.10", - "@unocss/extractor-arbitrary-variants@66.5.10", - "@unocss/rule-utils@66.5.10" + "@unocss/core@66.5.11", + "@unocss/extractor-arbitrary-variants@66.5.11", + "@unocss/rule-utils@66.5.11" ] }, - "@unocss/preset-wind@66.5.10": { - "integrity": "sha512-tR8JaXHnL006qcIEbD4lalZoqvW78SE+OvD7Sv5yj6s5FjwLZTiaJP8/0RTlx8SvhM6bw+NDxKQq678ntiZdiA==", + "@unocss/preset-wind@66.5.11": { + "integrity": "sha512-uxTXIB3rd8WxFO4obEVdHtUcUS8SMZTPdj6EDZM0hSIB6RPPNMBELCmOhhiglaFoSzSoy1sbu0xCJkMQNJpzdQ==", "dependencies": [ - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "@unocss/preset-wind3" ] }, - "@unocss/reset@66.5.10": { - "integrity": "sha512-xlydsCqbmVtA8QbVWv8+R66v4MJzeDXYsdoGDz7xsa2r65RD4UvJFZuyueY7+/bhzns9QhNOxltEiPi06j3Gvw==" + "@unocss/reset@66.5.11": { + "integrity": "sha512-Q7HudqDXj+IG2nUpUPKb70xwKqbyO6Lkf9igyXQ2XUypnqN9WZYm8leEnweBKiBuROrY1E8c+CqnS8bO/vUTNw==" }, "@unocss/rule-utils@65.5.0": { "integrity": "sha512-xT4N0EY1dl1mqY5gTKD0H/Fg6xApe7xbfNTUwctOu02DMeJhqv9BTqfoAihH/hzGSI69+FtzVtz7hUxTypfehA==", @@ -1960,49 +1920,49 @@ "magic-string@0.30.21" ] }, - "@unocss/rule-utils@66.5.10": { - "integrity": "sha512-497GPWZpArNG25cto0Yq3/Yw+i0x7/N/ySq1HHeE3lB43sdmCv6+m6QEv14I/9/e5WJhQOmrY5LmHZYXC7xxMw==", + "@unocss/rule-utils@66.5.11": { + "integrity": "sha512-0oJeSmiDuG3n8SvIy/9XdEmiAvoxbba3MDPQ+cV796l3qrFmkVIDC2SdC6K8ibw7YarAuky+78BppD5/mV1OzQ==", "dependencies": [ - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "magic-string@0.30.21" ] }, - "@unocss/transformer-attributify-jsx@66.5.10": { - "integrity": "sha512-WAAVWWx/BVQ9dk1W9FCP7UL9dLScmNDrRwBRah5WJMtKaV890RaL4wLItfQH0SN31C+quTwuaU0Hi6BiBsc9qw==", + "@unocss/transformer-attributify-jsx@66.5.11": { + "integrity": "sha512-atopqm6k8OisGpVX1IrT2gxcqFxuhjkx3sywX9uJ/7+besDG1bXLfP1Qh7u8GHXD0FAgbVqIazpqxJgtR3U/dQ==", "dependencies": [ "@babel/parser@7.27.7", "@babel/traverse@7.27.7", - "@unocss/core@66.5.10" + "@unocss/core@66.5.11" ] }, - "@unocss/transformer-compile-class@66.5.10": { - "integrity": "sha512-NFXf5qTVJXZNnZTpnCSQmNwJhQrmCQv/tgmX69rwNDYKmYcBufpaKfwKzO+EkVQz4A6ySv09Q9PaNBCH5N0FTQ==", + "@unocss/transformer-compile-class@66.5.11": { + "integrity": "sha512-IvFqs88m2GjCiLX9eD8AhWvFgzOiA1VYCa1KWNW9mJWSUc7oFTOFK19VrB1LEHmLHMEHyyDobaux1ofUC8cLPg==", "dependencies": [ - "@unocss/core@66.5.10" + "@unocss/core@66.5.11" ] }, - "@unocss/transformer-directives@66.5.10": { - "integrity": "sha512-EDak3DGW+rSYjoZNwU8xJIXbwif+q9e3cjhCZy48ll1nfyg2E1Znqtwv/X8vLRr8fJ0gWn75P2uGi4jfGLZzMg==", + "@unocss/transformer-directives@66.5.11": { + "integrity": "sha512-TKEg7lZdZbVPQq81gzevBAQRB3PVucp3wCH/gMddMAjcH4FdGVwZyARlHIImubrVJeQyQHLbBoHuGyJU+ca1AA==", "dependencies": [ - "@unocss/core@66.5.10", - "@unocss/rule-utils@66.5.10", + "@unocss/core@66.5.11", + "@unocss/rule-utils@66.5.11", "css-tree" ] }, - "@unocss/transformer-variant-group@66.5.10": { - "integrity": "sha512-9DWi9bLOGwdw6whCTdywVD9+lA5lkeqcgy9sMoizfUa4CfT1bSdMT27VoAbYhxeEznV92BCW2jCYt0I8M00phw==", + "@unocss/transformer-variant-group@66.5.11": { + "integrity": "sha512-WP8pMvGkzICnqrezR4e3rwR90LQSPQXuhUyUvlG7JtYJ7UPLZQkSz8sFhiHpIGofb2IiNo6FrQUFLJViQKtxHA==", "dependencies": [ - "@unocss/core@66.5.10" + "@unocss/core@66.5.11" ] }, - "@unocss/vite@66.5.10_vite@7.3.0__picomatch@4.0.3": { - "integrity": "sha512-GegFDmcWe0V2CR/uN1f+iQuDh2R1vA6EAwSvl1nyL+6ue0/zLyF9yhdVnypIVlJnS6RK/xaLPOP6vWJnqRGhZg==", + "@unocss/vite@66.5.11_vite@7.3.0__picomatch@4.0.3": { + "integrity": "sha512-4nLqUju34ltbdK0s9Qlzm7OMbEW9R5Ws4zKPYk113nUnL6TS907dYVA8kAQBKGyTrF2LU40ENlUXiwvHpUkZ+g==", "dependencies": [ "@jridgewell/remapping", "@unocss/config", - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "@unocss/inspector", - "chokidar@3.6.0", + "chokidar@5.0.0", "magic-string@0.30.21", "pathe@2.0.3", "tinyglobby", @@ -2010,7 +1970,7 @@ "vite" ] }, - "@vercel/nft@0.30.4_rollup@4.53.3_acorn@8.15.0": { + "@vercel/nft@0.30.4_rollup@4.54.0_acorn@8.15.0": { "integrity": "sha512-wE6eAGSXScra60N2l6jWvNtVK0m+sh873CpfZW4KI2v8EHuUQp+mSEi4T+IcdPCSEDgCdAS/7bizbhQlkjzrSA==", "dependencies": [ "@mapbox/node-pre-gyp", @@ -2843,8 +2803,8 @@ "base64-js@1.5.1": { "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, - "baseline-browser-mapping@2.8.31": { - "integrity": "sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==", + "baseline-browser-mapping@2.9.11": { + "integrity": "sha512-Sg0xJUNDU1sJNGdfGWhVHX0kkZ+HWcvmVymJbj6NSgZZmW/8S9Y2HQ5euytnIgakgxN6papOAWiwDo1ctFDcoQ==", "bin": true }, "binary-extensions@2.3.0": { @@ -2871,8 +2831,8 @@ "fill-range" ] }, - "browserslist@4.28.0": { - "integrity": "sha512-tbydkR/CxfMwelN0vwdP/pLkDwyAASZ+VfWm4EOwlB6SWhx1sYnWLqo8N5j0rAzPfzfRaxt0mM/4wPU/Su84RQ==", + "browserslist@4.28.1": { + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dependencies": [ "baseline-browser-mapping", "caniuse-lite", @@ -2908,7 +2868,7 @@ "magicast", "ohash", "pathe@2.0.3", - "perfect-debounce@2.0.0", + "perfect-debounce", "pkg-types@2.3.0", "rc9" ], @@ -2919,8 +2879,8 @@ "cac@6.7.14": { "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" }, - "caniuse-lite@1.0.30001757": { - "integrity": "sha512-r0nnL/I28Zi/yjk1el6ilj27tKcdjLsNqAOZr0yVjWPrSQyHgKI2INaEWw21bAQSv2LXRt1XuCS/GomNpWOxsQ==" + "caniuse-lite@1.0.30001761": { + "integrity": "sha512-JF9ptu1vP2coz98+5051jZ4PwQgd2ni8A+gYSN7EA7dPKIMf0pDlSUxhdmVOaV3/fYK5uWBkgSXJaRLr4+3A6g==" }, "cheerio-select@2.1.0": { "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", @@ -3214,8 +3174,8 @@ "ee-first@1.1.1": { "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, - "electron-to-chromium@1.5.259": { - "integrity": "sha512-I+oLXgpEJzD6Cwuwt1gYjxsDmu/S/Kd41mmLA3O+/uH2pFRO/DvOjUyGozL8j3KeLV6WyZ7ssPwELMsXCcsJAQ==" + "electron-to-chromium@1.5.267": { + "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==" }, "emoji-regex@8.0.0": { "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" @@ -3489,9 +3449,6 @@ "globals@11.12.0": { "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, - "globals@15.15.0": { - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==" - }, "globby@15.0.0": { "integrity": "sha512-oB4vkQGqlMl682wL1IlWd02tXCbquGWM4voPEI85QmNKCaw8zGTm1f1rubFgkg3Eli2PtKlFgrnmUqasbQWlkw==", "dependencies": [ @@ -3755,8 +3712,8 @@ "knitwork@1.3.0": { "integrity": "sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw==" }, - "kolorist@1.8.0": { - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==" + "kysely@0.27.6": { + "integrity": "sha512-FIyV/64EkKhJmjgC0g2hygpBv5RNWVPyNCqSAD7eTCv6eFWNIi4PN1UvdSJGicN/o35bnevgis4Y0UDC0qi8jQ==" }, "kysely@0.28.9": { "integrity": "sha512-3BeXMoiOhpOwu62CiVpO6lxfq4eS6KMYfQdMsN/2kUCRNuF2YiEr7u0HLHaQU+O4Xu8YXE3bHVkwaQ85i72EuA==" @@ -3796,7 +3753,7 @@ "dependencies": [ "mlly", "pkg-types@2.3.0", - "quansync" + "quansync@0.2.11" ] }, "locate-path@6.0.0": { @@ -3944,7 +3901,7 @@ "napi-wasm@1.1.3": { "integrity": "sha512-h/4nMGsHjZDCYmQVNODIrYACVJ+I9KItbG+0si6W/jSjdA9JbWDoU4LLeMXVcEQGHjttI2tuXqDrbGF7qkUHHg==" }, - "nitropack@2.12.9_rollup@4.53.3_magicast@0.5.1_db0@0.3.4_ioredis@5.8.2": { + "nitropack@2.12.9_rollup@4.54.0_magicast@0.5.1_db0@0.3.4_ioredis@5.8.2": { "integrity": "sha512-t6qqNBn2UDGMWogQuORjbL2UPevB8PvIPsPHmqvWpeGOlPr4P8Oc5oA8t3wFwGmaolM2M/s2SwT23nx9yARmOg==", "dependencies": [ "@cloudflare/kv-asset-handler", @@ -3993,7 +3950,7 @@ "ofetch", "ohash", "pathe@2.0.3", - "perfect-debounce@2.0.0", + "perfect-debounce", "pkg-types@2.3.0", "pretty-bytes", "radix3", @@ -4124,8 +4081,8 @@ "package-json-from-dist@1.0.1": { "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==" }, - "package-manager-detector@1.5.0": { - "integrity": "sha512-uBj69dVlYe/+wxj8JOpr97XfsxH/eumMt6HqjNTmJDf/6NO9s+0uxeOneIz3AsPt2m6y9PqzDzd3ATcU17MNfw==" + "package-manager-detector@1.6.0": { + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==" }, "parse5-htmlparser2-tree-adapter@7.1.0": { "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==", @@ -4177,9 +4134,6 @@ "pathe@2.0.3": { "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==" }, - "perfect-debounce@1.0.0": { - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==" - }, "perfect-debounce@2.0.0": { "integrity": "sha512-fkEH/OBiKrqqI/yIgjR92lMfs2K8105zt/VT6+7eTjNwisrsh47CeIED9z58zI7DfKdH3uHAn25ziRZn3kgAow==" }, @@ -4253,6 +4207,9 @@ "quansync@0.2.11": { "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==" }, + "quansync@1.0.0": { + "integrity": "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA==" + }, "queue-microtask@1.2.3": { "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, @@ -4355,7 +4312,7 @@ "reusify@1.1.0": { "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==" }, - "rollup-plugin-visualizer@6.0.5_rollup@4.53.3": { + "rollup-plugin-visualizer@6.0.5_rollup@4.54.0": { "integrity": "sha512-9+HlNgKCVbJDs8tVtjQ43US12eqaiHyyiLMdBwQ7vSZPiHMysGNo2E88TAp1si5wx8NAoYriI2A5kuKfIakmJg==", "dependencies": [ "open", @@ -4369,8 +4326,8 @@ ], "bin": true }, - "rollup@4.53.3": { - "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==", + "rollup@4.54.0": { + "integrity": "sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==", "dependencies": [ "@types/estree" ], @@ -4458,17 +4415,17 @@ "seroval@1.3.2" ] }, - "seroval-plugins@1.4.0_seroval@1.4.1": { - "integrity": "sha512-zir1aWzoiax6pbBVjoYVd0O1QQXgIL3eVGBMsBsNmM8Ukq90yGaWlfx0AB9dTS8GPqrOrbXn79vmItCUP9U3BQ==", + "seroval-plugins@1.4.2_seroval@1.4.2": { + "integrity": "sha512-X7p4MEDTi+60o2sXZ4bnDBhgsUYDSkQEvzYZuJyFqWg9jcoPsHts5nrg5O956py2wyt28lUrBxk0M0/wU8URpA==", "dependencies": [ - "seroval@1.4.1" + "seroval@1.4.2" ] }, "seroval@1.3.2": { "integrity": "sha512-RbcPH1n5cfwKrru7v7+zrZvjLurgHhGyso3HTyGtRivGWgYjbOmGuivCQaORNELjNONoK35nj28EoWul9sb1zQ==" }, - "seroval@1.4.1": { - "integrity": "sha512-9GOc+8T6LN4aByLN75uRvMbrwY5RDBW6lSlknsY4LEa9ZmWcxKcRe1G/Q3HZXjltxMHTrStnvrwAICxZrhldtg==" + "seroval@1.4.2": { + "integrity": "sha512-N3HEHRCZYn3cQbsC4B5ldj9j+tHdf4JZoYPlcI4rRYu0Xy4qN8MQf1Z08EibzB0WpgRG5BGK08FTrmM66eSzKQ==" }, "serve-placeholder@2.0.2": { "integrity": "sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==", @@ -4555,11 +4512,11 @@ "dependencies": [ "@sqlite.org/sqlite-wasm", "coincident", - "kysely", + "kysely@0.28.9", "vite" ], "optionalPeers": [ - "kysely", + "kysely@0.28.9", "vite" ] }, @@ -4740,20 +4697,20 @@ "ultrahtml@1.6.0": { "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==" }, - "unconfig-core@7.4.1": { - "integrity": "sha512-Bp/bPZjV2Vl/fofoA2OYLSnw1Z0MOhCX7zHnVCYrazpfZvseBbGhwcNQMxsg185Mqh7VZQqK3C8hFG/Dyng+yA==", + "unconfig-core@7.4.2": { + "integrity": "sha512-VgPCvLWugINbXvMQDf8Jh0mlbvNjNC6eSUziHsBCMpxR05OPrNrvDnyatdMjRgcHaaNsCqz+wjNXxNw1kRLHUg==", "dependencies": [ "@quansync/fs", - "quansync" + "quansync@1.0.0" ] }, - "unconfig@7.4.1": { - "integrity": "sha512-uyQ7LElcGizrOGZyIq9KU+xkuEjcRf9IpmDTkCSYv5mEeZzrXSj6rb51C0L+WTedsmAoVxW9WKrLWhSwebIM9Q==", + "unconfig@7.4.2": { + "integrity": "sha512-nrMlWRQ1xdTjSnSUqvYqJzbTBFugoqHobQj58B2bc8qxHKBBHMNNsWQFP3Cd3/JZK907voM2geYPWqD4VK3MPQ==", "dependencies": [ "@quansync/fs", "defu", "jiti", - "quansync", + "quansync@1.0.0", "unconfig-core" ] }, @@ -4800,23 +4757,23 @@ "unplugin-utils" ] }, - "unocss-preset-scrollbar@3.2.0_unocss@66.5.10__vite@7.3.0___picomatch@4.0.3_vite@7.3.0__picomatch@4.0.3": { + "unocss-preset-scrollbar@3.2.0_unocss@66.5.11__vite@7.3.0___picomatch@4.0.3_vite@7.3.0__picomatch@4.0.3": { "integrity": "sha512-j8BOoh2RgPm2U8XqEjMQ+XQk4YWYPH4T+yzv3fndxS+VpdizQinMvHmfsZGLN3yMv7I4O5Qi8fVTlQDhETyzbA==", "dependencies": [ "@unocss/preset-mini@65.5.0", "unocss" ] }, - "unocss@66.5.10_vite@7.3.0__picomatch@4.0.3": { - "integrity": "sha512-h3OjHVKsYFiet7ZSgxD6+odC1bpx+N0JYP2bWy/vcqjrApaZmYg4CKmvxCFNxw1+qVoxyfhhjcVZHGUpf9jaKA==", + "unocss@66.5.11_vite@7.3.0__picomatch@4.0.3": { + "integrity": "sha512-CCfq/Qj0AvUB0xWkJARaG88NHnDPLwHWrTgiE062gu6wb7VDElX8HyDlGpVS5hHpKl2/WbuOhlam3WO80dHQOQ==", "dependencies": [ "@unocss/astro", "@unocss/cli", - "@unocss/core@66.5.10", + "@unocss/core@66.5.11", "@unocss/postcss", "@unocss/preset-attributify", "@unocss/preset-icons", - "@unocss/preset-mini@66.5.10", + "@unocss/preset-mini@66.5.11", "@unocss/preset-tagify", "@unocss/preset-typography", "@unocss/preset-uno", @@ -4910,8 +4867,8 @@ "unplugin@2.3.11" ] }, - "update-browserslist-db@1.1.4_browserslist@4.28.0": { - "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "update-browserslist-db@1.2.3_browserslist@4.28.1": { + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dependencies": [ "browserslist", "escalade", @@ -4984,7 +4941,8 @@ "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", "dependencies": [ "iconv-lite" - ] + ], + "deprecated": true }, "whatwg-mimetype@4.0.0": { "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==" @@ -5093,6 +5051,9 @@ "npm:@ark-ui/solid@^5.30.0", "npm:@deno/vite-plugin@^1.0.6", "npm:@iconify-json/solar@^1.2.5", + "npm:@jsr/db__sqlite@0.12", + "npm:@jsr/soapbox__kysely-deno-sqlite@^2.2.0", + "npm:@jsr/strootje__better-kysely@0.4", "npm:@sentry/solid@^10.32.1", "npm:@sentry/vite-plugin@^4.6.1", "npm:@solid-primitives/storage@^4.3.3", @@ -5100,10 +5061,10 @@ "npm:@tanstack/query-db-collection@^1.0.12", "npm:@tanstack/solid-db@~0.1.59", "npm:@tanstack/solid-form@^1.27.6", - "npm:@tanstack/solid-query@^5.90.15", - "npm:@tanstack/solid-router@^1.143.4", - "npm:@tanstack/solid-start@^1.143.4", - "npm:@unocss/reset@^66.5.10", + "npm:@tanstack/solid-query@^5.90.17", + "npm:@tanstack/solid-router@^1.144.0", + "npm:@tanstack/solid-start@^1.145.0", + "npm:@unocss/reset@^66.5.11", "npm:class-variance-authority@~0.7.1", "npm:date-fns@^4.1.0", "npm:kysely@~0.28.9", @@ -5111,7 +5072,7 @@ "npm:solid-js@^1.9.10", "npm:sqlocal@0.16", "npm:unocss-preset-scrollbar@^3.2.0", - "npm:unocss@^66.5.10", + "npm:unocss@^66.5.11", "npm:valibot@^1.2.0", "npm:vite-plugin-solid@^2.11.10", "npm:vite@^7.3.0" diff --git a/package.json b/package.json index 9fc3e93..d247d19 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,9 @@ "@ark-ui/solid": "^5.30.0", "@deno/vite-plugin": "^1.0.6", "@iconify-json/solar": "^1.2.5", + "@jsr/db__sqlite": "^0.12.0", + "@jsr/soapbox__kysely-deno-sqlite": "^2.2.0", + "@jsr/strootje__better-kysely": "^0.4.0", "@sentry/solid": "^10.32.1", "@sentry/vite-plugin": "^4.6.1", "@solid-primitives/storage": "^4.3.3", @@ -11,17 +14,17 @@ "@tanstack/query-db-collection": "^1.0.12", "@tanstack/solid-db": "^0.1.59", "@tanstack/solid-form": "^1.27.6", - "@tanstack/solid-query": "^5.90.15", - "@tanstack/solid-router": "^1.143.4", - "@tanstack/solid-start": "^1.143.4", - "@unocss/reset": "^66.5.10", + "@tanstack/solid-query": "^5.90.17", + "@tanstack/solid-router": "^1.144.0", + "@tanstack/solid-start": "^1.145.0", + "@unocss/reset": "^66.5.11", "class-variance-authority": "^0.7.1", "date-fns": "^4.1.0", "kysely": "^0.28.9", "motion": "^12.23.26", "solid-js": "^1.9.10", "sqlocal": "^0.16.0", - "unocss": "^66.5.10", + "unocss": "^66.5.11", "unocss-preset-scrollbar": "^3.2.0", "valibot": "^1.2.0", "vite": "^7.3.0", diff --git a/pkgs/@scope/database/client/migrations/001-initial.ts b/pkgs/@scope/database/client.migration.001-initial.ts similarity index 100% rename from pkgs/@scope/database/client/migrations/001-initial.ts rename to pkgs/@scope/database/client.migration.001-initial.ts diff --git a/pkgs/@scope/database/client/models.ts b/pkgs/@scope/database/client.models.ts similarity index 100% rename from pkgs/@scope/database/client/models.ts rename to pkgs/@scope/database/client.models.ts diff --git a/pkgs/@scope/database/client/mod.ts b/pkgs/@scope/database/client/mod.ts deleted file mode 100644 index c0bc48b..0000000 --- a/pkgs/@scope/database/client/mod.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Kysely, Migrator } from "kysely"; -import { onMount } from "solid-js"; -import { isServer } from "solid-js/web"; -import { SQLocalKysely } from "sqlocal/kysely"; -import { m001_initial } from "./migrations/001-initial.ts"; -import type { ClientDatabase } from "./models.ts"; - -let sqlocal: SQLocalKysely; -const useSqlocal = () => { - return sqlocal ??= new SQLocalKysely("later.sql"); -}; - -let kysely: Kysely; -export const useClientDatabase = () => { - return kysely ??= new Kysely({ - dialect: useSqlocal().dialect, - }); -}; - -export const MigrateToLatest = () => { - onMount(async () => { - if (isServer) { - return; - } - - const migrator = new Migrator({ - db: useClientDatabase(), - provider: { - getMigrations: () => - Promise.resolve({ - m001_initial, - }), - }, - }); - - const { error, results } = await migrator.migrateToLatest(); - results?.forEach(({ direction, migrationName, status }) => - console.log(`[${direction}] ::: ${migrationName} - ${status}`) - ); - if (error) throw error; - }); - return null; -}; diff --git a/pkgs/@scope/database/deno.json b/pkgs/@scope/database/deno.json index b60f351..384c6d5 100644 --- a/pkgs/@scope/database/deno.json +++ b/pkgs/@scope/database/deno.json @@ -1,6 +1,7 @@ { "name": "@scope/database", "exports": { - "./client": "./client/mod.ts" + "./client": "./mod.client.ts", + "./server": "./mod.server.ts" } } diff --git a/pkgs/@scope/database/mod.client.ts b/pkgs/@scope/database/mod.client.ts new file mode 100644 index 0000000..11b66a1 --- /dev/null +++ b/pkgs/@scope/database/mod.client.ts @@ -0,0 +1,19 @@ +import { makeDatabase } from "@jsr/strootje__better-kysely"; +import { SQLocalKysely } from "sqlocal/kysely"; +import { m001_initial } from "./client.migration.001-initial.ts"; +import type { ClientDatabase } from "./client.models.ts"; + +let sqlocal: SQLocalKysely; +const useSqlocal = () => { + return sqlocal ??= new SQLocalKysely("later.sql"); +}; + +const getDialect = () => { + return useSqlocal().dialect; +}; + +export const clientDb = makeDatabase(getDialect(), () => { + return Promise.resolve({ + m001_initial, + }); +}); diff --git a/pkgs/@scope/database/mod.server.ts b/pkgs/@scope/database/mod.server.ts new file mode 100644 index 0000000..bd0a7ba --- /dev/null +++ b/pkgs/@scope/database/mod.server.ts @@ -0,0 +1,14 @@ +import { Database as Sqlite } from "@jsr/db__sqlite"; +import { DenoSqlite3Dialect } from "@jsr/soapbox__kysely-deno-sqlite"; +import { makeDatabase } from "@jsr/strootje__better-kysely"; +import type { Dialect } from "kysely"; +import type { ServerDatabase } from "./server.models.ts"; + +let dialect: DenoSqlite3Dialect; +const getDialect = () => { + return (dialect ??= new DenoSqlite3Dialect({ + database: new Sqlite("later-server.db"), + })) as any as Dialect; +}; + +export const serverDb = makeDatabase(getDialect(), () => Promise.resolve({})); diff --git a/pkgs/@scope/database/server.migraiton.001-initial.ts b/pkgs/@scope/database/server.migraiton.001-initial.ts new file mode 100644 index 0000000..e69de29 diff --git a/pkgs/@scope/database/server.models.ts b/pkgs/@scope/database/server.models.ts new file mode 100644 index 0000000..0d9fa35 --- /dev/null +++ b/pkgs/@scope/database/server.models.ts @@ -0,0 +1 @@ +export type ServerDatabase = {}; diff --git a/pkgs/@strootje/more/deno.json b/pkgs/@strootje/more/deno.json new file mode 100644 index 0000000..be5e6f6 --- /dev/null +++ b/pkgs/@strootje/more/deno.json @@ -0,0 +1,6 @@ +{ + "name": "@strootje/more", + "exports": { + "./sentry": "./mod.sentry.ts" + } +} diff --git a/src/comps/sentry-error-boundary.ts b/pkgs/@strootje/more/mod.sentry.ts similarity index 100% rename from src/comps/sentry-error-boundary.ts rename to pkgs/@strootje/more/mod.sentry.ts diff --git a/src/collections/items.ts b/src/collections/items.ts index 1eb1744..824b0e5 100644 --- a/src/collections/items.ts +++ b/src/collections/items.ts @@ -1,4 +1,4 @@ -import { useClientDatabase } from "@scope/database/client"; +import { clientDb } from "@scope/database/client"; import { queryCollectionOptions } from "@tanstack/query-db-collection"; import { useQueryClient } from "@tanstack/solid-query"; @@ -9,19 +9,19 @@ export const createTodoCollectionOptions = () => { getKey: (item) => item.id, queryFn: async () => { - const db = useClientDatabase(); + const db = clientDb.useDatabase(); return await db.selectFrom("todos").selectAll().execute(); }, onInsert: async ({ transaction }) => { - const db = useClientDatabase(); + const db = clientDb.useDatabase(); const { modified } = transaction.mutations[0]; await db.insertInto("todos").values(modified) .execute(); }, onUpdate: async ({ transaction }) => { - const db = useClientDatabase(); + const db = clientDb.useDatabase(); const { modified } = transaction.mutations[0]; await db.updateTable("todos") .set("completedAt", modified.completedAt) @@ -31,7 +31,7 @@ export const createTodoCollectionOptions = () => { }, onDelete: async ({ transaction }) => { - const db = useClientDatabase(); + const db = clientDb.useDatabase(); const { original } = transaction.mutations[0]; await db.deleteFrom("todos") .where("id", "==", original.id) diff --git a/src/entry-client.tsx b/src/entry-client.tsx new file mode 100644 index 0000000..a2cf89c --- /dev/null +++ b/src/entry-client.tsx @@ -0,0 +1,14 @@ +import { clientDb } from "@scope/database/client"; +import { SentryErrorBoundary } from "@strootje/more/sentry"; +import { hydrateStart, StartClient } from "@tanstack/solid-start/client"; +import { hydrate } from "solid-js/web"; + +hydrateStart().then(async (router) => { + await clientDb.migrateToLatest(); + + hydrate(() => ( + error..

}> + +
+ ), document.body); +}); diff --git a/src/entry-server.ts b/src/entry-server.ts new file mode 100644 index 0000000..d151dbb --- /dev/null +++ b/src/entry-server.ts @@ -0,0 +1,7 @@ +import { serverDb } from "@scope/database/server"; +import handler, { createServerEntry } from "@tanstack/solid-start/server-entry"; + +await serverDb.migrateToLatest(); +export default createServerEntry({ + fetch: (request) => handler.fetch(request), +}); diff --git a/src/routes/__root.tsx b/src/routes/__root.tsx index 1349bfb..792d3c1 100644 --- a/src/routes/__root.tsx +++ b/src/routes/__root.tsx @@ -1,4 +1,3 @@ -import { MigrateToLatest } from "@scope/database/client"; import { QueryClient, QueryClientProvider } from "@tanstack/solid-query"; import { createRootRoute, HeadContent, Outlet, Scripts } from "@tanstack/solid-router"; import type { ParentProps } from "solid-js"; @@ -32,7 +31,6 @@ const RootDocument = ({ children }: ParentProps) => ( - {children} diff --git a/src/routes/index.tsx b/src/routes/index.tsx index 0d3e66d..c3e44f5 100644 --- a/src/routes/index.tsx +++ b/src/routes/index.tsx @@ -41,7 +41,7 @@ export const Route = createFileRoute("/")({ const addTodo = useAppForm(() => ({ defaultValues: { - title: crypto.randomUUID(), + title: "", completedAt: undefined, }, diff --git a/vite.config.ts b/vite.config.ts index 7b93848..9d11cac 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -14,11 +14,17 @@ export default defineConfig({ plugins: [ deno(), tanstackStart({ + client: { + entry: "src/entry-client.tsx", + }, router: { addExtensions: true, generatedRouteTree: "route-tree.gen.ts", quoteStyle: "double", }, + server: { + entry: "src/entry-server.ts", + }, }), nitroV2Plugin({ preset: "deno-server", -- 2.51.2