diff --git a/app/server/db/client.ts b/app/server/db/client.ts index da1cbee..f816a6b 100644 --- a/app/server/db/client.ts +++ b/app/server/db/client.ts @@ -1,23 +1,25 @@ import { mkdir } from 'node:fs/promises'; -import { dirname } from 'node:path'; -import { drizzle } from 'drizzle-orm/better-sqlite3'; -import { migrate } from 'drizzle-orm/better-sqlite3/migrator'; +import { dirname, resolve } from 'node:path'; +import { drizzle } from 'drizzle-orm/libsql'; +import { migrate } from 'drizzle-orm/libsql/migrator'; import log from '~/utils/log'; export async function createDbClient(path: string) { + const realPath = resolve(path); try { - await mkdir(dirname(path), { recursive: true }); + await mkdir(dirname(realPath), { recursive: true }); } catch (error) { log.error( 'server', 'Failed to create directory for database at %s: %s', - path, + realPath, error instanceof Error ? error.message : String(error), ); - throw new Error(`Could not create directory for database at ${path}`); + throw new Error(`Could not create directory for database at ${realPath}`); } - const db = drizzle(path); + // Turn the path into a URL with the file protocol + const db = drizzle(`file://${realPath}`); migrate(db, { migrationsFolder: './drizzle', }); diff --git a/package.json b/package.json index 9e9b31f..f58624f 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@faker-js/faker": "^9.8.0", "@fontsource-variable/inter": "^5.2.5", "@kubernetes/client-node": "^1.3.0", + "@libsql/client": "^0.15.9", "@primer/octicons-react": "^19.15.2", "@react-aria/toast": "3.0.3", "@react-router/node": "^7.6.1", @@ -36,7 +37,6 @@ "@xterm/addon-webgl": "^0.18.0", "@xterm/xterm": "^5.5.0", "arktype": "^2.1.20", - "better-sqlite3": "^11.10.0", "clsx": "^2.1.1", "dotenv": "^16.5.0", "drizzle-orm": "^0.44.2", @@ -63,7 +63,6 @@ "@biomejs/biome": "^1.9.4", "@react-router/dev": "^7.6.1", "@tailwindcss/vite": "^4.1.8", - "@types/better-sqlite3": "^7.6.13", "@types/websocket": "^1.0.10", "drizzle-kit": "^0.31.1", "lefthook": "^1.11.13", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 362b2d1..133e653 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -34,6 +34,9 @@ importers: '@kubernetes/client-node': specifier: ^1.3.0 version: 1.3.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + '@libsql/client': + specifier: ^0.15.9 + version: 0.15.9(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@primer/octicons-react': specifier: ^19.15.2 version: 19.15.2(react@19.1.0) @@ -85,9 +88,6 @@ importers: arktype: specifier: ^2.1.20 version: 2.1.20 - better-sqlite3: - specifier: ^11.10.0 - version: 11.10.0 clsx: specifier: ^2.1.1 version: 2.1.1 @@ -96,7 +96,7 @@ importers: version: 16.5.0 drizzle-orm: specifier: ^0.44.2 - version: 0.44.2(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0) + version: 0.44.2(@libsql/client@0.15.9(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0) isbot: specifier: ^5.1.28 version: 5.1.28 @@ -161,9 +161,6 @@ importers: '@tailwindcss/vite': specifier: ^4.1.8 version: 4.1.8(vite@6.3.5(@types/node@22.15.24)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)) - '@types/better-sqlite3': - specifier: ^7.6.13 - version: 7.6.13 '@types/websocket': specifier: ^1.0.10 version: 1.0.10 @@ -879,12 +876,76 @@ packages: '@lezer/lr@1.4.2': resolution: {integrity: sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==} + '@libsql/client@0.15.9': + resolution: {integrity: sha512-VT3do0a0vwYVaNcp/y05ikkKS3OrFR5UeEf5SUuYZVgKVl1Nc1k9ajoYSsOid8AD/vlhLDB5yFQaV4HmT/OB9w==} + + '@libsql/core@0.15.9': + resolution: {integrity: sha512-4OVdeAmuaCUq5hYT8NNn0nxlO9AcA/eTjXfUZ+QK8MT3Dz7Z76m73x7KxjU6I64WyXX98dauVH2b9XM+d84npw==} + + '@libsql/darwin-arm64@0.5.13': + resolution: {integrity: sha512-ASz/EAMLDLx3oq9PVvZ4zBXXHbz2TxtxUwX2xpTRFR4V4uSHAN07+jpLu3aK5HUBLuv58z7+GjaL5w/cyjR28Q==} + cpu: [arm64] + os: [darwin] + + '@libsql/darwin-x64@0.5.13': + resolution: {integrity: sha512-kzglniv1difkq8opusSXM7u9H0WoEPeKxw0ixIfcGfvlCVMJ+t9UNtXmyNHW68ljdllje6a4C6c94iPmIYafYA==} + cpu: [x64] + os: [darwin] + + '@libsql/hrana-client@0.7.0': + resolution: {integrity: sha512-OF8fFQSkbL7vJY9rfuegK1R7sPgQ6kFMkDamiEccNUvieQ+3urzfDFI616oPl8V7T9zRmnTkSjMOImYCAVRVuw==} + + '@libsql/isomorphic-fetch@0.3.1': + resolution: {integrity: sha512-6kK3SUK5Uu56zPq/Las620n5aS9xJq+jMBcNSOmjhNf/MUvdyji4vrMTqD7ptY7/4/CAVEAYDeotUz60LNQHtw==} + engines: {node: '>=18.0.0'} + + '@libsql/isomorphic-ws@0.1.5': + resolution: {integrity: sha512-DtLWIH29onUYR00i0GlQ3UdcTRC6EP4u9w/h9LxpUZJWRMARk6dQwZ6Jkd+QdwVpuAOrdxt18v0K2uIYR3fwFg==} + + '@libsql/linux-arm-gnueabihf@0.5.13': + resolution: {integrity: sha512-UEW+VZN2r0mFkfztKOS7cqfS8IemuekbjUXbXCwULHtusww2QNCXvM5KU9eJCNE419SZCb0qaEWYytcfka8qeA==} + cpu: [arm] + os: [linux] + + '@libsql/linux-arm-musleabihf@0.5.13': + resolution: {integrity: sha512-NMDgLqryYBv4Sr3WoO/m++XDjR5KLlw9r/JK4Ym6A1XBv2bxQQNhH0Lxx3bjLW8qqhBD4+0xfms4d2cOlexPyA==} + cpu: [arm] + os: [linux] + + '@libsql/linux-arm64-gnu@0.5.13': + resolution: {integrity: sha512-/wCxVdrwl1ee6D6LEjwl+w4SxuLm5UL9Kb1LD5n0bBGs0q+49ChdPPh7tp175iRgkcrTgl23emymvt1yj3KxVQ==} + cpu: [arm64] + os: [linux] + + '@libsql/linux-arm64-musl@0.5.13': + resolution: {integrity: sha512-xnVAbZIanUgX57XqeI5sNaDnVilp0Di5syCLSEo+bRyBobe/1IAeehNZpyVbCy91U2N6rH1C/mZU7jicVI9x+A==} + cpu: [arm64] + os: [linux] + + '@libsql/linux-x64-gnu@0.5.13': + resolution: {integrity: sha512-/mfMRxcQAI9f8t7tU3QZyh25lXgXKzgin9B9TOSnchD73PWtsVhlyfA6qOCfjQl5kr4sHscdXD5Yb3KIoUgrpQ==} + cpu: [x64] + os: [linux] + + '@libsql/linux-x64-musl@0.5.13': + resolution: {integrity: sha512-rdefPTpQCVwUjIQYbDLMv3qpd5MdrT0IeD0UZPGqhT9AWU8nJSQoj2lfyIDAWEz7PPOVCY4jHuEn7FS2sw9kRA==} + cpu: [x64] + os: [linux] + + '@libsql/win32-x64-msvc@0.5.13': + resolution: {integrity: sha512-aNcmDrD1Ws+dNZIv9ECbxBQumqB9MlSVEykwfXJpqv/593nABb8Ttg5nAGUPtnADyaGDTrGvPPP81d/KsKho4Q==} + cpu: [x64] + os: [win32] + '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} '@mjackson/node-fetch-server@0.2.0': resolution: {integrity: sha512-EMlH1e30yzmTpGLQjlFmaDAjyOeZhng1/XCd7DExR8PNAnG/G1tyruZxEoUe11ClnwGhGrtsdnyyUx1frSzjng==} + '@neon-rs/load@0.0.4': + resolution: {integrity: sha512-kTPhdZyTQxB+2wpiRcFWrDcejc4JI6tkPuS7UZCG4l6Zvc5kU/gGQ/ozvHTh1XR5tS+UlfAfGuPajjzQjCiHCw==} + '@npmcli/git@4.1.0': resolution: {integrity: sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -1733,6 +1794,9 @@ packages: '@types/websocket@1.0.10': resolution: {integrity: sha512-svjGZvPB7EzuYS94cI7a+qhwgGU1y89wUgjT6E2wVUfmAGIvRfT7obBvRtnhXCSsoMdlG4gBFGE7MfkIXZLoww==} + '@types/ws@8.18.1': + resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} + '@uiw/codemirror-extensions-basic-setup@4.23.12': resolution: {integrity: sha512-l9vuiXOTFDBetYrRLDmz3jDxQHDsrVAZ2Y6dVfmrqi2AsulsDu+y7csW0JsvaMqo79rYkaIZg8yeqmDgMb7VyQ==} peerDependencies: @@ -1967,6 +2031,10 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -2008,6 +2076,10 @@ packages: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} + detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + detect-libc@2.0.4: resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==} engines: {node: '>=8'} @@ -2201,6 +2273,10 @@ packages: picomatch: optional: true + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} @@ -2212,6 +2288,10 @@ packages: resolution: {integrity: sha512-hGfm/slu0ZabnNt4oaRZ6uREyfCj6P4fT/n6A1rGV+Z0VdGXjfOhVUpkn6qVQONHGIFwmveGXyDs75+nr6FM8w==} engines: {node: '>= 6'} + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} @@ -2435,6 +2515,11 @@ packages: resolution: {integrity: sha512-SDTk3D4nW1XRpR9u9fdYQ/qj1xeZVIwZmIFdJUnyq+w9ZLdCCvIrOmtD8SFiJowSevISjQDC+f9nqyFXUxc0SQ==} hasBin: true + libsql@0.5.13: + resolution: {integrity: sha512-5Bwoa/CqzgkTwySgqHA5TsaUDRrdLIbdM4egdPcaAnqO3aC+qAgS6BwdzuZwARA5digXwiskogZ8H7Yy4XfdOg==} + cpu: [x64, arm64, wasm32, arm] + os: [darwin, linux, win32] + lightningcss-darwin-arm64@1.30.1: resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==} engines: {node: '>= 12.0.0'} @@ -2587,6 +2672,11 @@ packages: resolution: {integrity: sha512-OhYaY5sDsIka7H7AtijtI9jwGYLyl29eQn/W623DiN/MIv5sUqc4g7BIDThX+gb7di9f6xK02nkp8sdfFWZLTg==} engines: {node: '>=10'} + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + deprecated: Use your platform's native DOMException instead + node-fetch@2.7.0: resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} engines: {node: 4.x || >=6.0.0} @@ -2596,6 +2686,10 @@ packages: encoding: optional: true + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-gyp-build@4.8.4: resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true @@ -2692,6 +2786,9 @@ packages: bluebird: optional: true + promise-limit@2.7.0: + resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} + promise-retry@2.0.1: resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} engines: {node: '>=10'} @@ -3186,6 +3283,10 @@ packages: w3c-keyname@2.2.8: resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==} + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -3899,10 +4000,74 @@ snapshots: dependencies: '@lezer/common': 1.2.3 + '@libsql/client@0.15.9(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@libsql/core': 0.15.9 + '@libsql/hrana-client': 0.7.0(bufferutil@4.0.9)(utf-8-validate@5.0.10) + js-base64: 3.7.7 + libsql: 0.5.13 + promise-limit: 2.7.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/core@0.15.9': + dependencies: + js-base64: 3.7.7 + + '@libsql/darwin-arm64@0.5.13': + optional: true + + '@libsql/darwin-x64@0.5.13': + optional: true + + '@libsql/hrana-client@0.7.0(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@libsql/isomorphic-fetch': 0.3.1 + '@libsql/isomorphic-ws': 0.1.5(bufferutil@4.0.9)(utf-8-validate@5.0.10) + js-base64: 3.7.7 + node-fetch: 3.3.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/isomorphic-fetch@0.3.1': {} + + '@libsql/isomorphic-ws@0.1.5(bufferutil@4.0.9)(utf-8-validate@5.0.10)': + dependencies: + '@types/ws': 8.18.1 + ws: 8.18.2(bufferutil@4.0.9)(utf-8-validate@5.0.10) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + '@libsql/linux-arm-gnueabihf@0.5.13': + optional: true + + '@libsql/linux-arm-musleabihf@0.5.13': + optional: true + + '@libsql/linux-arm64-gnu@0.5.13': + optional: true + + '@libsql/linux-arm64-musl@0.5.13': + optional: true + + '@libsql/linux-x64-gnu@0.5.13': + optional: true + + '@libsql/linux-x64-musl@0.5.13': + optional: true + + '@libsql/win32-x64-msvc@0.5.13': + optional: true + '@marijn/find-cluster-break@1.0.2': {} '@mjackson/node-fetch-server@0.2.0': {} + '@neon-rs/load@0.0.4': {} + '@npmcli/git@4.1.0': dependencies: '@npmcli/promise-spawn': 6.0.2 @@ -5121,6 +5286,7 @@ snapshots: '@types/better-sqlite3@7.6.13': dependencies: '@types/node': 22.15.24 + optional: true '@types/estree@1.0.6': {} @@ -5165,6 +5331,10 @@ snapshots: dependencies: '@types/node': 22.10.7 + '@types/ws@8.18.1': + dependencies: + '@types/node': 22.15.24 + '@uiw/codemirror-extensions-basic-setup@4.23.12(@codemirror/autocomplete@6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.8)(@lezer/common@1.2.3))(@codemirror/commands@6.8.1)(@codemirror/language@6.11.0)(@codemirror/lint@6.8.2)(@codemirror/search@6.5.7)(@codemirror/state@6.5.2)(@codemirror/view@6.36.8)': dependencies: '@codemirror/autocomplete': 6.18.2(@codemirror/language@6.11.0)(@codemirror/state@6.5.2)(@codemirror/view@6.36.8)(@lezer/common@1.2.3) @@ -5301,16 +5471,19 @@ snapshots: bare-events: 2.5.4 optional: true - base64-js@1.5.1: {} + base64-js@1.5.1: + optional: true better-sqlite3@11.10.0: dependencies: bindings: 1.5.0 prebuild-install: 7.1.3 + optional: true bindings@1.5.0: dependencies: file-uri-to-path: 1.0.0 + optional: true bippy@0.3.14(@types/react@19.1.6)(react@19.1.0): dependencies: @@ -5324,6 +5497,7 @@ snapshots: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 + optional: true brace-expansion@2.0.1: dependencies: @@ -5342,6 +5516,7 @@ snapshots: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 + optional: true bufferutil@4.0.9: dependencies: @@ -5361,7 +5536,8 @@ snapshots: dependencies: readdirp: 4.1.2 - chownr@1.1.4: {} + chownr@1.1.4: + optional: true chownr@3.0.0: {} @@ -5406,6 +5582,8 @@ snapshots: csstype@3.1.3: {} + data-uri-to-buffer@4.0.1: {} + debug@4.4.0: dependencies: ms: 2.1.3 @@ -5419,13 +5597,17 @@ snapshots: decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 + optional: true dedent@1.6.0: {} - deep-extend@0.6.0: {} + deep-extend@0.6.0: + optional: true delayed-stream@1.0.0: {} + detect-libc@2.0.2: {} + detect-libc@2.0.4: {} dotenv@16.5.0: {} @@ -5439,8 +5621,9 @@ snapshots: transitivePeerDependencies: - supports-color - drizzle-orm@0.44.2(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0): + drizzle-orm@0.44.2(@libsql/client@0.15.9(bufferutil@4.0.9)(utf-8-validate@5.0.10))(@types/better-sqlite3@7.6.13)(better-sqlite3@11.10.0): optionalDependencies: + '@libsql/client': 0.15.9(bufferutil@4.0.9)(utf-8-validate@5.0.10) '@types/better-sqlite3': 7.6.13 better-sqlite3: 11.10.0 @@ -5556,7 +5739,8 @@ snapshots: exit-hook@2.2.1: {} - expand-template@2.0.3: {} + expand-template@2.0.3: + optional: true fast-fifo@1.3.2: {} @@ -5564,7 +5748,13 @@ snapshots: optionalDependencies: picomatch: 4.0.2 - file-uri-to-path@1.0.0: {} + fetch-blob@3.2.0: + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.3.3 + + file-uri-to-path@1.0.0: + optional: true foreground-child@3.3.0: dependencies: @@ -5578,7 +5768,12 @@ snapshots: es-set-tostringtag: 2.1.0 mime-types: 2.1.35 - fs-constants@1.0.0: {} + formdata-polyfill@4.0.10: + dependencies: + fetch-blob: 3.2.0 + + fs-constants@1.0.0: + optional: true fs-extra@10.1.0: dependencies: @@ -5618,7 +5813,8 @@ snapshots: dependencies: resolve-pkg-maps: 1.0.0 - github-from-package@0.0.0: {} + github-from-package@0.0.0: + optional: true glob@10.4.5: dependencies: @@ -5655,11 +5851,14 @@ snapshots: hpagent@1.2.0: {} - ieee754@1.2.1: {} + ieee754@1.2.1: + optional: true - inherits@2.0.4: {} + inherits@2.0.4: + optional: true - ini@1.3.8: {} + ini@1.3.8: + optional: true intl-messageformat@10.7.16: dependencies: @@ -5772,6 +5971,21 @@ snapshots: lefthook-windows-arm64: 1.11.13 lefthook-windows-x64: 1.11.13 + libsql@0.5.13: + dependencies: + '@neon-rs/load': 0.0.4 + detect-libc: 2.0.2 + optionalDependencies: + '@libsql/darwin-arm64': 0.5.13 + '@libsql/darwin-x64': 0.5.13 + '@libsql/linux-arm-gnueabihf': 0.5.13 + '@libsql/linux-arm-musleabihf': 0.5.13 + '@libsql/linux-arm64-gnu': 0.5.13 + '@libsql/linux-arm64-musl': 0.5.13 + '@libsql/linux-x64-gnu': 0.5.13 + '@libsql/linux-x64-musl': 0.5.13 + '@libsql/win32-x64-msvc': 0.5.13 + lightningcss-darwin-arm64@1.30.1: optional: true @@ -5847,13 +6061,15 @@ snapshots: mime@4.0.7: {} - mimic-response@3.1.0: {} + mimic-response@3.1.0: + optional: true minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 - minimist@1.2.8: {} + minimist@1.2.8: + optional: true minipass@7.1.2: {} @@ -5862,7 +6078,8 @@ snapshots: minipass: 7.1.2 rimraf: 5.0.10 - mkdirp-classic@0.5.3: {} + mkdirp-classic@0.5.3: + optional: true mkdirp@3.0.1: {} @@ -5872,16 +6089,26 @@ snapshots: nanoid@3.3.11: {} - napi-build-utils@2.0.0: {} + napi-build-utils@2.0.0: + optional: true node-abi@3.75.0: dependencies: semver: 7.7.2 + optional: true + + node-domexception@1.0.0: {} node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 + node-fetch@3.3.2: + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + node-gyp-build@4.8.4: optional: true @@ -5970,6 +6197,7 @@ snapshots: simple-get: 4.0.1 tar-fs: 2.1.3 tunnel-agent: 0.6.0 + optional: true prettier@2.8.8: {} @@ -5977,6 +6205,8 @@ snapshots: promise-inflight@1.0.1: {} + promise-limit@2.7.0: {} + promise-retry@2.0.1: dependencies: err-code: 2.0.3 @@ -5993,6 +6223,7 @@ snapshots: ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 + optional: true react-aria@3.40.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0): dependencies: @@ -6170,6 +6401,7 @@ snapshots: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + optional: true readdirp@4.1.2: {} @@ -6216,7 +6448,8 @@ snapshots: '@rollup/rollup-win32-x64-msvc': 4.36.0 fsevents: 2.3.3 - safe-buffer@5.2.1: {} + safe-buffer@5.2.1: + optional: true scheduler@0.26.0: {} @@ -6234,13 +6467,15 @@ snapshots: signal-exit@4.1.0: {} - simple-concat@1.0.1: {} + simple-concat@1.0.1: + optional: true simple-get@4.0.1: dependencies: decompress-response: 6.0.0 once: 1.4.0 simple-concat: 1.0.1 + optional: true sisteransi@1.0.5: {} @@ -6310,6 +6545,7 @@ snapshots: string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 + optional: true strip-ansi@6.0.1: dependencies: @@ -6319,7 +6555,8 @@ snapshots: dependencies: ansi-regex: 6.0.1 - strip-json-comments@2.0.1: {} + strip-json-comments@2.0.1: + optional: true style-mod@4.1.2: {} @@ -6343,6 +6580,7 @@ snapshots: mkdirp-classic: 0.5.3 pump: 3.0.2 tar-stream: 2.2.0 + optional: true tar-fs@3.0.9: dependencies: @@ -6361,6 +6599,7 @@ snapshots: fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 + optional: true tar-stream@3.1.7: dependencies: @@ -6414,6 +6653,7 @@ snapshots: tunnel-agent@0.6.0: dependencies: safe-buffer: 5.2.1 + optional: true type-fest@4.41.0: {} @@ -6457,7 +6697,8 @@ snapshots: node-gyp-build: 4.8.4 optional: true - util-deprecate@1.0.2: {} + util-deprecate@1.0.2: + optional: true valibot@0.41.0(typescript@5.8.3): optionalDependencies: @@ -6521,6 +6762,8 @@ snapshots: w3c-keyname@2.2.8: {} + web-streams-polyfill@3.3.3: {} + webidl-conversions@3.0.1: {} webpack-virtual-modules@0.6.2: