diff --git a/.gitignore b/.gitignore index 6b9013828..d7a6b21a3 100644 --- a/.gitignore +++ b/.gitignore @@ -152,6 +152,7 @@ storybook-static/ # Automatically generated files apollo/generated/ server/database/generated/ +server/database/local/ scripts/journal-data/ diff --git a/package.json b/package.json index 8157cf97d..6e3b2f24e 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,7 @@ "@azure/core-rest-pipeline": "1.22.2", "@azure/static-web-apps-cli": "2.0.8", "@chromatic-com/storybook": "5.0.1", + "@electric-sql/pglite": "0.3.16", "@graphql-codegen/add": "6.0.0", "@graphql-codegen/cli": "6.1.2", "@graphql-codegen/client-preset": "^5.1.2", @@ -133,6 +134,7 @@ "nuxt-auth-utils": "0.5.29", "nuxt-graphql-server": "3.1.6", "oxlint": "1.51.0", + "pglite-prisma-adapter": "0.7.2", "postinstall-postinstall": "2.1.0", "prettier": "3.8.1", "prettier-plugin-organize-imports": "4.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 208b08cba..9ccb2dccd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -51,7 +51,7 @@ importers: version: 2.10.1(vue@3.5.29(typescript@5.9.3)) '@nuxt/ui': specifier: 4.5.1 - version: 4.5.1(e335b6040d87582162b0c7c3bb6fed86) + version: 4.5.1(279cb810b055fcb5273f11ea3a61fdfb) '@nuxtjs/tailwindcss': specifier: 7.0.0-beta.1 version: 7.0.0-beta.1(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) @@ -120,7 +120,7 @@ importers: version: 4.10.0 unstorage: specifier: 1.17.4 - version: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) + version: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) uuid: specifier: 13.0.0 version: 13.0.0 @@ -152,6 +152,9 @@ importers: '@chromatic-com/storybook': specifier: 5.0.1 version: 5.0.1(storybook@10.2.14(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)) + '@electric-sql/pglite': + specifier: ^0.3.16 + version: 0.3.16 '@graphql-codegen/add': specifier: 6.0.0 version: 6.0.0(graphql@16.13.0) @@ -187,7 +190,7 @@ importers: version: 3.2.0(graphql@16.13.0) '@nuxt/content': specifier: 3.12.0 - version: 3.12.0(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(magicast@0.5.2)(mysql2@3.15.3)(valibot@1.2.0(typescript@5.9.3)) + version: 3.12.0(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(magicast@0.5.2)(mysql2@3.15.3)(valibot@1.2.0(typescript@5.9.3)) '@nuxt/eslint': specifier: 1.15.2 version: 1.15.2(@typescript-eslint/utils@8.56.1(eslint@10.0.2(jiti@2.6.1))(typescript@5.9.3))(@vue/compiler-sfc@3.5.29)(eslint-import-resolver-node@0.3.9)(eslint@10.0.2(jiti@2.6.1))(magicast@0.5.2)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) @@ -202,10 +205,10 @@ importers: version: 4.0.0(@vitest/ui@4.0.18)(@vue/test-utils@2.4.6)(crossws@0.3.5)(magicast@0.5.2)(playwright-core@1.58.2)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vitest@4.0.18) '@nuxtjs/seo': specifier: 3.4.0 - version: 3.4.0(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(@unhead/vue@2.0.19(vue@3.5.29(typescript@5.9.3)))(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(rollup@4.59.0)(unhead@2.1.10)(unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3))(zod@4.3.6) + version: 3.4.0(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(@unhead/vue@2.0.19(vue@3.5.29(typescript@5.9.3)))(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(rollup@4.59.0)(unhead@2.1.10)(unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3))(zod@4.3.6) '@nuxtjs/storybook': specifier: npm:@nuxtjs/storybook@nightly - version: 9.1.0-29411911.f34c865(0a3c7d60616d655ffc64fa1ca7d47f68) + version: 9.1.0-29411911.f34c865(6a6667b477f9f9df55ea8798eaf3523f) '@tailwindcss/forms': specifier: 0.5.11 version: 0.5.11(tailwindcss@4.2.1) @@ -286,7 +289,7 @@ importers: version: 0.10.2(patch_hash=659ce251d72a48471cb126548bb37ff2f90481392964abe5218df23686c9a0e1) nuxt: specifier: 4.3.1 - version: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) + version: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) nuxt-auth-utils: specifier: 0.5.29 version: 0.5.29(argon2@0.44.0)(magicast@0.5.2) @@ -296,6 +299,9 @@ importers: oxlint: specifier: 1.51.0 version: 1.51.0 + pglite-prisma-adapter: + specifier: ^0.7.2 + version: 0.7.2(@electric-sql/pglite@0.3.16)(@prisma/client@7.4.2(patch_hash=f17082df8d229a3e11c42cab09430b085e08191b20b2db4a24ed069a60061142)(prisma@7.4.2(patch_hash=22f9ed1367a51da7b629654ef417940954d4b9e53e7a618b5d23540e6392fabb)(@types/react@19.0.8)(better-sqlite3@12.6.2)(magicast@0.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.9.3))(typescript@5.9.3)) postinstall-postinstall: specifier: 2.1.0 version: 2.1.0 @@ -958,6 +964,9 @@ packages: '@electric-sql/pglite@0.3.15': resolution: {integrity: sha512-Cj++n1Mekf9ETfdc16TlDi+cDDQF0W7EcbyRHYOAeZdsAe8M/FJg18itDTSwyHfar2WIezawM9o0EKaRGVKygQ==} + '@electric-sql/pglite@0.3.16': + resolution: {integrity: sha512-mZkZfOd9OqTMHsK+1cje8OSzfAQcpD7JmILXTl5ahdempjUDdmg4euf1biDex5/LfQIDJ3gvCu6qDgdnDxfJmA==} + '@emnapi/core@1.8.1': resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==} @@ -2228,8 +2237,8 @@ packages: resolution: {integrity: sha512-5XUvZuffe3KetyhbWwd4n2ktd7wraocCYw10tlM+/u/95iAz29GjNiuNxbCD1T6Bn1MyGc4QLVNKOWhzJkVFAw==} engines: {node: ^14.16.0 || >=16.0.0} - '@netlify/open-api@2.49.2': - resolution: {integrity: sha512-0YqRW4Yn4XmZjljmuIMakwOS6ERtwpkMOz3F1j4QoFFdatZCiJ7PgkRzCGt61cR4iIBcA+mgIFmGSdjAqDjJxQ==} + '@netlify/open-api@2.50.0': + resolution: {integrity: sha512-nvtP3GQqAg2fDCzZIz/PNIjgdQcbKRqJlRRQquRfBTP3DJi4254fMApWvBoj6+v07eowy2/t9xXHu+KRPw6iKw==} engines: {node: '>=14.8.0'} '@netlify/runtime-utils@1.3.1': @@ -3184,6 +3193,9 @@ packages: '@prisma/dev@0.20.0': resolution: {integrity: sha512-ovlBYwWor0OzG+yH4J3Ot+AneD818BttLA+Ii7wjbcLHUrnC4tbUPVGyNd3c/+71KETPKZfjhkTSpdS15dmXNQ==} + '@prisma/driver-adapter-utils@7.2.0': + resolution: {integrity: sha512-gzrUcbI9VmHS24Uf+0+7DNzdIw7keglJsD5m/MHxQOU68OhGVzlphQRobLiDMn8CHNA2XN8uugwKjudVtnfMVQ==} + '@prisma/driver-adapter-utils@7.4.2': resolution: {integrity: sha512-REdjFpT/ye9KdDs+CXAXPIbMQkVLhne9G5Pe97sNY4Ovx4r2DAbWM9hOFvvB1Oq8H8bOCdu0Ri3AoGALquQqVw==} @@ -8801,6 +8813,12 @@ packages: pg-native: optional: true + pglite-prisma-adapter@0.7.2: + resolution: {integrity: sha512-NqLXIUguFbgEHpIoyCvAbpEurbK+AUukiv96gIogVnNYWBdhAU0idfTXcJrsS7OdWenYa8QxEQM2ND1cTQrU4g==} + peerDependencies: + '@electric-sql/pglite': '>=0.2.0' + '@prisma/client': '>= 7.1.0' + pgpass@1.0.5: resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} @@ -10059,8 +10077,8 @@ packages: engines: {node: '>=18'} deprecated: Old versions of tar are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - terser-webpack-plugin@5.3.16: - resolution: {integrity: sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==} + terser-webpack-plugin@5.4.0: + resolution: {integrity: sha512-Bn5vxm48flOIfkdl5CaD2+1CiUVbonWQ3KQPyP7/EuIl9Gbzq/gQFOzaMFUEgVjB1396tcK0SG8XcNJ/2kDH8g==} engines: {node: '>= 10.13.0'} peerDependencies: '@swc/core': '*' @@ -11969,6 +11987,8 @@ snapshots: '@electric-sql/pglite@0.3.15': {} + '@electric-sql/pglite@0.3.16': {} + '@emnapi/core@1.8.1': dependencies: '@emnapi/wasi-threads': 1.1.0 @@ -13624,7 +13644,7 @@ snapshots: write-file-atomic: 6.0.0 optional: true - '@netlify/open-api@2.49.2': + '@netlify/open-api@2.50.0': optional: true '@netlify/runtime-utils@1.3.1': @@ -13680,7 +13700,7 @@ snapshots: - magicast - supports-color - '@nuxt/content@3.12.0(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(magicast@0.5.2)(mysql2@3.15.3)(valibot@1.2.0(typescript@5.9.3))': + '@nuxt/content@3.12.0(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(magicast@0.5.2)(mysql2@3.15.3)(valibot@1.2.0(typescript@5.9.3))': dependencies: '@nuxt/kit': 4.3.1(magicast@0.5.2) '@nuxtjs/mdc': 0.20.2(magicast@0.5.2) @@ -13691,7 +13711,7 @@ snapshots: c12: 3.3.3(magicast@0.5.2) chokidar: 5.0.0 consola: 3.4.2 - db0: 0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3) + db0: 0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3) defu: 6.1.4 destr: 2.0.5 git-url-parse: 16.1.0 @@ -13730,7 +13750,7 @@ snapshots: zod: 3.25.76 zod-to-json-schema: 3.25.1(zod@3.25.76) optionalDependencies: - '@electric-sql/pglite': 0.3.15 + '@electric-sql/pglite': 0.3.16 better-sqlite3: 12.6.2 valibot: 1.2.0(typescript@5.9.3) transitivePeerDependencies: @@ -13879,13 +13899,13 @@ snapshots: - utf-8-validate - vite - '@nuxt/fonts@0.14.0(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))': + '@nuxt/fonts@0.14.0(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))': dependencies: '@nuxt/devtools-kit': 3.2.2(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) '@nuxt/kit': 4.3.1(magicast@0.5.2) consola: 3.4.2 defu: 6.1.4 - fontless: 0.2.1(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) + fontless: 0.2.1(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) h3: 1.15.5 magic-regexp: 0.10.0 ofetch: 1.5.1 @@ -13895,7 +13915,7 @@ snapshots: ufo: 1.6.3 unifont: 0.7.4 unplugin: 3.0.0 - unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) + unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -13991,7 +14011,7 @@ snapshots: transitivePeerDependencies: - magicast - '@nuxt/nitro-server@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(better-sqlite3@12.6.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(mysql2@3.15.3)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(typescript@5.9.3)': + '@nuxt/nitro-server@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(better-sqlite3@12.6.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(mysql2@3.15.3)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(typescript@5.9.3)': dependencies: '@nuxt/devalue': 2.0.2 '@nuxt/kit': 4.3.1(magicast@0.5.2) @@ -14008,8 +14028,8 @@ snapshots: impound: 1.0.0 klona: 2.0.6 mocked-exports: 0.1.1 - nitropack: 2.13.1(patch_hash=c9de0aa16240d23ec5896f17298840aa2350ee6fbcac041d414bb3109bad6cd3)(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(better-sqlite3@12.6.2)(mysql2@3.15.3) - nuxt: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) + nitropack: 2.13.1(patch_hash=c9de0aa16240d23ec5896f17298840aa2350ee6fbcac041d414bb3109bad6cd3)(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(better-sqlite3@12.6.2)(mysql2@3.15.3) + nuxt: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) ohash: 2.0.11 pathe: 2.0.3 pkg-types: 2.3.0 @@ -14017,7 +14037,7 @@ snapshots: std-env: 3.10.0 ufo: 1.6.3 unctx: 2.5.0 - unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) + unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) vue: 3.5.29(typescript@5.9.3) vue-bundle-renderer: 2.2.0 vue-devtools-stub: 0.1.0 @@ -14121,13 +14141,13 @@ snapshots: - typescript - vite - '@nuxt/ui@4.5.1(e335b6040d87582162b0c7c3bb6fed86)': + '@nuxt/ui@4.5.1(279cb810b055fcb5273f11ea3a61fdfb)': dependencies: '@floating-ui/dom': 1.7.6 '@iconify/vue': 5.0.0(vue@3.5.29(typescript@5.9.3)) '@internationalized/date': 3.12.0 '@internationalized/number': 3.6.5 - '@nuxt/fonts': 0.14.0(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) + '@nuxt/fonts': 0.14.0(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) '@nuxt/icon': 2.2.1(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)) '@nuxt/kit': 4.3.1(magicast@0.5.2) '@nuxt/schema': 4.3.1 @@ -14190,7 +14210,7 @@ snapshots: vaul-vue: 0.4.1(reka-ui@2.8.2(vue@3.5.29(typescript@5.9.3)))(vue@3.5.29(typescript@5.9.3)) vue-component-type-helpers: 3.2.5 optionalDependencies: - '@nuxt/content': 3.12.0(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(magicast@0.5.2)(mysql2@3.15.3)(valibot@1.2.0(typescript@5.9.3)) + '@nuxt/content': 3.12.0(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(magicast@0.5.2)(mysql2@3.15.3)(valibot@1.2.0(typescript@5.9.3)) valibot: 1.2.0(typescript@5.9.3) vue-router: 5.0.3(@vue/compiler-sfc@3.5.29)(pinia@3.0.4(typescript@5.9.3)(vue@3.5.29(typescript@5.9.3)))(vue@3.5.29(typescript@5.9.3)) zod: 4.3.6 @@ -14236,7 +14256,7 @@ snapshots: - vue - yjs - '@nuxt/vite-builder@3.21.1(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(lightningcss@1.31.1)(magicast@0.5.2)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))(yaml@2.8.2)': + '@nuxt/vite-builder@3.21.1(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(lightningcss@1.31.1)(magicast@0.5.2)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))(yaml@2.8.2)': dependencies: '@nuxt/kit': 3.21.1(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.59.0) @@ -14256,7 +14276,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.0 mocked-exports: 0.1.1 - nuxt: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) + nuxt: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) ohash: 2.0.11 pathe: 2.0.3 perfect-debounce: 2.1.0 @@ -14297,7 +14317,7 @@ snapshots: - vue-tsc - yaml - '@nuxt/vite-builder@4.3.1(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(lightningcss@1.31.1)(magicast@0.5.2)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))(yaml@2.8.2)': + '@nuxt/vite-builder@4.3.1(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(lightningcss@1.31.1)(magicast@0.5.2)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))(yaml@2.8.2)': dependencies: '@nuxt/kit': 4.3.1(magicast@0.5.2) '@rollup/plugin-replace': 6.0.3(rollup@4.59.0) @@ -14316,7 +14336,7 @@ snapshots: magic-string: 0.30.21 mlly: 1.8.0 mocked-exports: 0.1.1 - nuxt: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) + nuxt: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) pathe: 2.0.3 pkg-types: 2.3.0 postcss: 8.5.6 @@ -14434,13 +14454,13 @@ snapshots: - vite - vue - '@nuxtjs/seo@3.4.0(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(@unhead/vue@2.0.19(vue@3.5.29(typescript@5.9.3)))(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(rollup@4.59.0)(unhead@2.1.10)(unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3))(zod@4.3.6)': + '@nuxtjs/seo@3.4.0(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(@unhead/vue@2.0.19(vue@3.5.29(typescript@5.9.3)))(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(rollup@4.59.0)(unhead@2.1.10)(unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3))(zod@4.3.6)': dependencies: '@nuxt/kit': 4.3.1(magicast@0.5.2) '@nuxtjs/robots': 5.7.1(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3))(zod@4.3.6) '@nuxtjs/sitemap': 7.6.0(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3))(zod@4.3.6) - nuxt-link-checker: 4.3.9(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)) - nuxt-og-image: 5.1.13(@unhead/vue@2.0.19(vue@3.5.29(typescript@5.9.3)))(magicast@0.5.2)(unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)) + nuxt-link-checker: 4.3.9(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)) + nuxt-og-image: 5.1.13(@unhead/vue@2.0.19(vue@3.5.29(typescript@5.9.3)))(magicast@0.5.2)(unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)) nuxt-schema-org: 5.0.10(@unhead/vue@2.0.19(vue@3.5.29(typescript@5.9.3)))(magicast@0.5.2)(unhead@2.1.10)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3))(zod@4.3.6) nuxt-seo-utils: 7.0.19(magicast@0.5.2)(rollup@4.59.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)) nuxt-site-config: 3.2.21(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)) @@ -14501,11 +14521,11 @@ snapshots: - vite - vue - '@nuxtjs/storybook@9.1.0-29411911.f34c865(0a3c7d60616d655ffc64fa1ca7d47f68)': + '@nuxtjs/storybook@9.1.0-29411911.f34c865(6a6667b477f9f9df55ea8798eaf3523f)': dependencies: '@nuxt/devtools-kit': 3.2.2(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) '@nuxt/kit': 4.3.1(magicast@0.5.2) - '@storybook-vue/nuxt': 9.1.0-29411911.f34c865(0a3c7d60616d655ffc64fa1ca7d47f68) + '@storybook-vue/nuxt': 9.1.0-29411911.f34c865(6a6667b477f9f9df55ea8798eaf3523f) chalk: 5.6.2 consola: 3.4.2 defu: 6.1.4 @@ -14982,6 +15002,10 @@ snapshots: transitivePeerDependencies: - typescript + '@prisma/driver-adapter-utils@7.2.0': + dependencies: + '@prisma/debug': 7.2.0 + '@prisma/driver-adapter-utils@7.4.2': dependencies: '@prisma/debug': 7.4.2 @@ -15353,18 +15377,18 @@ snapshots: '@standard-schema/spec@1.1.0': {} - '@storybook-vue/nuxt@9.1.0-29411911.f34c865(0a3c7d60616d655ffc64fa1ca7d47f68)': + '@storybook-vue/nuxt@9.1.0-29411911.f34c865(6a6667b477f9f9df55ea8798eaf3523f)': dependencies: '@nuxt/kit': 3.21.1(magicast@0.5.2) '@nuxt/schema': 3.21.1 - '@nuxt/vite-builder': 3.21.1(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(lightningcss@1.31.1)(magicast@0.5.2)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))(yaml@2.8.2) + '@nuxt/vite-builder': 3.21.1(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(lightningcss@1.31.1)(magicast@0.5.2)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))(yaml@2.8.2) '@rollup/plugin-replace': 6.0.3(rollup@4.59.0) '@storybook/builder-vite': 9.1.16(storybook@10.2.14(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) '@storybook/vue3': 9.1.16(storybook@10.2.14(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vue@3.5.29(typescript@5.9.3)) '@storybook/vue3-vite': 9.1.16(storybook@10.2.14(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)) json-stable-stringify: 1.3.0 mlly: 1.8.0 - nuxt: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) + nuxt: 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2) ofetch: 1.5.1 pathe: 2.0.3 storybook: 10.2.14(@testing-library/dom@10.4.1)(prettier@3.8.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -17736,9 +17760,9 @@ snapshots: dependencies: '@babel/runtime': 7.28.6 - db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3): + db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3): optionalDependencies: - '@electric-sql/pglite': 0.3.15 + '@electric-sql/pglite': 0.3.16 better-sqlite3: 12.6.2 mysql2: 3.15.3 @@ -18602,7 +18626,7 @@ snapshots: dependencies: tiny-inflate: 1.0.3 - fontless@0.2.1(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)): + fontless@0.2.1(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)): dependencies: consola: 3.4.2 css-tree: 3.1.0 @@ -18616,7 +18640,7 @@ snapshots: pathe: 2.0.3 ufo: 1.6.3 unifont: 0.7.4 - unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) + unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) optionalDependencies: vite: 7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2) transitivePeerDependencies: @@ -20469,7 +20493,7 @@ snapshots: netlify@13.3.5: dependencies: - '@netlify/open-api': 2.49.2 + '@netlify/open-api': 2.50.0 lodash-es: 4.17.23 micro-api-client: 3.3.0 node-fetch: 3.3.2 @@ -20477,7 +20501,7 @@ snapshots: qs: 6.15.0 optional: true - nitropack@2.13.1(patch_hash=c9de0aa16240d23ec5896f17298840aa2350ee6fbcac041d414bb3109bad6cd3)(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(better-sqlite3@12.6.2)(mysql2@3.15.3): + nitropack@2.13.1(patch_hash=c9de0aa16240d23ec5896f17298840aa2350ee6fbcac041d414bb3109bad6cd3)(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(better-sqlite3@12.6.2)(mysql2@3.15.3): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@rollup/plugin-alias': 6.0.0(rollup@4.59.0) @@ -20498,7 +20522,7 @@ snapshots: cookie-es: 2.0.0 croner: 9.1.0 crossws: 0.3.5 - db0: 0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3) + db0: 0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3) defu: 6.1.4 destr: 2.0.5 dot-prop: 10.1.0 @@ -20544,7 +20568,7 @@ snapshots: unenv: 2.0.0-rc.24 unimport: 5.7.0 unplugin-utils: 0.3.1 - unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) + unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) untyped: 2.0.0 unwasm: 0.5.3 youch: 4.1.0 @@ -20706,7 +20730,7 @@ snapshots: - magicast - supports-color - nuxt-link-checker@4.3.9(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)): + nuxt-link-checker@4.3.9(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)): dependencies: '@nuxt/devtools-kit': 3.2.2(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) '@nuxt/kit': 4.3.1(magicast@0.5.2) @@ -20724,7 +20748,7 @@ snapshots: std-env: 3.10.0 ufo: 1.6.3 ultrahtml: 1.6.0 - unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) + unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -20749,7 +20773,7 @@ snapshots: - vite - vue - nuxt-og-image@5.1.13(@unhead/vue@2.0.19(vue@3.5.29(typescript@5.9.3)))(magicast@0.5.2)(unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)): + nuxt-og-image@5.1.13(@unhead/vue@2.0.19(vue@3.5.29(typescript@5.9.3)))(magicast@0.5.2)(unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0))(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)): dependencies: '@nuxt/devtools-kit': 3.2.2(magicast@0.5.2)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2)) '@nuxt/kit': 4.3.1(magicast@0.5.2) @@ -20780,7 +20804,7 @@ snapshots: strip-literal: 3.1.0 ufo: 1.6.3 unplugin: 2.3.11 - unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) + unstorage: 1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0) unwasm: 0.5.3 yoga-wasm-web: 0.3.3 transitivePeerDependencies: @@ -20857,16 +20881,16 @@ snapshots: - vite - vue - nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2): + nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2): dependencies: '@dxup/nuxt': 0.3.2(magicast@0.5.2) '@nuxt/cli': 3.33.1(@nuxt/schema@4.3.1)(cac@6.7.14)(magicast@0.5.2) '@nuxt/devtools': 3.2.2(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue@3.5.29(typescript@5.9.3)) '@nuxt/kit': 4.3.1(magicast@0.5.2) - '@nuxt/nitro-server': 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(better-sqlite3@12.6.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(mysql2@3.15.3)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(typescript@5.9.3) + '@nuxt/nitro-server': 4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(better-sqlite3@12.6.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0)(magicast@0.5.2)(mysql2@3.15.3)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(typescript@5.9.3) '@nuxt/schema': 4.3.1 '@nuxt/telemetry': 2.7.0(@nuxt/kit@4.3.1(magicast@0.5.2)) - '@nuxt/vite-builder': 4.3.1(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(lightningcss@1.31.1)(magicast@0.5.2)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.15)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))(yaml@2.8.2) + '@nuxt/vite-builder': 4.3.1(@types/node@24.11.0)(eslint@10.0.2(jiti@2.6.1))(lightningcss@1.31.1)(magicast@0.5.2)(nuxt@4.3.1(@azure/identity@4.6.0)(@electric-sql/pglite@0.3.16)(@netlify/blobs@9.1.2)(@parcel/watcher@2.5.1)(@types/node@24.11.0)(@vue/compiler-sfc@3.5.29)(better-sqlite3@12.6.2)(cac@6.7.14)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(eslint@10.0.2(jiti@2.6.1))(ioredis@5.10.0)(lightningcss@1.31.1)(magicast@0.5.2)(mysql2@3.15.3)(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vite@7.3.1(@types/node@24.11.0)(jiti@2.6.1)(lightningcss@1.31.1)(terser@5.46.0)(tsx@4.20.3)(yaml@2.8.2))(vue-tsc@3.2.5(typescript@5.9.3))(yaml@2.8.2))(optionator@0.9.4)(oxlint@1.51.0)(rollup@4.59.0)(terser@5.46.0)(tsx@4.20.3)(typescript@5.9.3)(vue-tsc@3.2.5(typescript@5.9.3))(vue@3.5.29(typescript@5.9.3))(yaml@2.8.2) '@unhead/vue': 2.1.10(vue@3.5.29(typescript@5.9.3)) '@vue/shared': 3.5.29 c12: 3.3.3(magicast@0.5.2) @@ -21398,6 +21422,13 @@ snapshots: optionalDependencies: pg-cloudflare: 1.2.7 + pglite-prisma-adapter@0.7.2(@electric-sql/pglite@0.3.16)(@prisma/client@7.4.2(patch_hash=f17082df8d229a3e11c42cab09430b085e08191b20b2db4a24ed069a60061142)(prisma@7.4.2(patch_hash=22f9ed1367a51da7b629654ef417940954d4b9e53e7a618b5d23540e6392fabb)(@types/react@19.0.8)(better-sqlite3@12.6.2)(magicast@0.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.9.3))(typescript@5.9.3)): + dependencies: + '@electric-sql/pglite': 0.3.16 + '@prisma/client': 7.4.2(patch_hash=f17082df8d229a3e11c42cab09430b085e08191b20b2db4a24ed069a60061142)(prisma@7.4.2(patch_hash=22f9ed1367a51da7b629654ef417940954d4b9e53e7a618b5d23540e6392fabb)(@types/react@19.0.8)(better-sqlite3@12.6.2)(magicast@0.5.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.9.3))(typescript@5.9.3) + '@prisma/driver-adapter-utils': 7.2.0 + postgres-array: 3.0.4 + pgpass@1.0.5: dependencies: split2: 4.2.0 @@ -22858,12 +22889,11 @@ snapshots: mkdirp: 3.0.1 yallist: 5.0.0 - terser-webpack-plugin@5.3.16(esbuild@0.27.3)(webpack@5.97.1(esbuild@0.27.3)): + terser-webpack-plugin@5.4.0(esbuild@0.27.3)(webpack@5.97.1(esbuild@0.27.3)): dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 schema-utils: 4.3.3 - serialize-javascript: 6.0.2 terser: 5.46.0 webpack: 5.97.1(esbuild@0.27.3) optionalDependencies: @@ -23290,7 +23320,7 @@ snapshots: '@unrs/resolver-binding-win32-ia32-msvc': 1.11.1 '@unrs/resolver-binding-win32-x64-msvc': 1.11.1 - unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0): + unstorage@1.17.4(@azure/identity@4.6.0)(@netlify/blobs@9.1.2)(db0@0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3))(ioredis@5.10.0): dependencies: anymatch: 3.1.3 chokidar: 5.0.0 @@ -23303,7 +23333,7 @@ snapshots: optionalDependencies: '@azure/identity': 4.6.0 '@netlify/blobs': 9.1.2 - db0: 0.3.4(@electric-sql/pglite@0.3.15)(better-sqlite3@12.6.2)(mysql2@3.15.3) + db0: 0.3.4(@electric-sql/pglite@0.3.16)(better-sqlite3@12.6.2)(mysql2@3.15.3) ioredis: 5.10.0 untun@0.1.3: @@ -23738,7 +23768,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.3.0 - terser-webpack-plugin: 5.3.16(esbuild@0.27.3)(webpack@5.97.1(esbuild@0.27.3)) + terser-webpack-plugin: 5.4.0(esbuild@0.27.3)(webpack@5.97.1(esbuild@0.27.3)) watchpack: 2.5.1 webpack-sources: 3.3.4 transitivePeerDependencies: diff --git a/server/tsyringe.config.ts b/server/tsyringe.config.ts index dc8f0bf69..dc11de2bb 100644 --- a/server/tsyringe.config.ts +++ b/server/tsyringe.config.ts @@ -1,29 +1,24 @@ -import { PrismaPg } from '@prisma/adapter-pg' import type { Config } from '~/config' -import { PrismaClient } from './database' import * as DocumentResolvers from './documents/resolvers' import { UserDocumentService } from './documents/user.document.service' import * as GroupResolvers from './groups/resolvers' import { GroupService } from './groups/service' import { JournalService } from './journals/journal.service' import * as JournalResolvers from './journals/resolvers' -import { instanceCachingFactory, register } from './tsyringe' +import { register } from './tsyringe' import { AuthService } from './user/auth.service' import * as UserResolvers from './user/resolvers' import { createEmailService } from './utils/email.service' -import { createRedisClient } from './utils/services.factory' +import { createPrismaClient, createRedisClient } from './utils/services.factory' -export function configure() { +export async function configure() { const config = useRuntimeConfig() as Config register('Config', { useValue: config, }) // Tools register('PrismaClient', { - useFactory: instanceCachingFactory(() => { - const adapter = new PrismaPg({ connectionString: config.databaseUrl }) - return new PrismaClient({ adapter }) - }), + useValue: await createPrismaClient(config), }) register('RedisClient', { useValue: createRedisClient(config), diff --git a/server/utils/services.factory.ts b/server/utils/services.factory.ts index 992a2504f..3dd2a56b9 100644 --- a/server/utils/services.factory.ts +++ b/server/utils/services.factory.ts @@ -1,8 +1,25 @@ -import { Environment, type Config } from '~/config' - +import { PrismaPg } from '@prisma/adapter-pg' import { createStorage, type Storage } from 'unstorage' import memoryDriver from 'unstorage/drivers/memory' import redisDriver from 'unstorage/drivers/redis' +import { Environment, type Config } from '~/config' +import { PrismaClient } from '~/server/database' + +export async function createPrismaClient(config: Config) { + let adapter + if (config.public.environment === Environment.LocalDevelopment) { + // Use in memory database for local development + const { PGlite } = await import('@electric-sql/pglite') + const { PrismaPGlite } = await import('pglite-prisma-adapter') + const client = new PGlite('./server/database/local') + // TOOD: Create database schema and seed data + // @ts-expect-error: type mismatch + adapter = new PrismaPGlite(client) + } else { + adapter = new PrismaPg({ connectionString: config.databaseUrl }) + } + return new PrismaClient({ adapter }) +} export function createRedisClient(config: Config): Storage { if ( diff --git a/test/global.setup.ts b/test/global.setup.ts index 7bd7347c0..68342d184 100644 --- a/test/global.setup.ts +++ b/test/global.setup.ts @@ -1,14 +1,15 @@ -import { PrismaPg } from '@prisma/adapter-pg' import 'dotenv/config' import 'json-bigint-patch' import 'reflect-metadata' import { beforeAll, expect } from 'vitest' import { constructConfig } from '~/config' -import { PrismaClient } from '~/server/database' import { register } from '~/server/tsyringe' import { registerClasses } from '~/server/tsyringe.config' import { EmailServiceMock } from '~/server/utils/email.service' -import { createRedisClient } from '~/server/utils/services.factory' +import { + createPrismaClient, + createRedisClient, +} from '~/server/utils/services.factory' import { GraphqlSerializer } from './snapshot.graphql' // Register custom graphql serializer @@ -21,7 +22,7 @@ globalThis.Reflect = Reflect registerClasses() // Setup services for tests -beforeAll((context) => { +beforeAll(async (context) => { register('EmailService', { useValue: new EmailServiceMock() }) const isIntegrationTest = context.file.filepath.endsWith( @@ -44,8 +45,7 @@ beforeAll((context) => { useValue: redisClient, }) - const adapter = new PrismaPg({ connectionString: config.databaseUrl }) - const prismaClient = new PrismaClient({ adapter }) + const prismaClient = await createPrismaClient(config) register('PrismaClient', { useValue: prismaClient, })