diff --git a/.gitignore b/.gitignore index caed1c11..1f534b6e 100644 --- a/.gitignore +++ b/.gitignore @@ -146,3 +146,5 @@ dist # Turborepo .turbo + +.data \ No newline at end of file diff --git a/apps/vault/.gitignore b/apps/vault/.gitignore index 4a7f73a2..6f8438cd 100644 --- a/apps/vault/.gitignore +++ b/apps/vault/.gitignore @@ -22,3 +22,5 @@ logs .env .env.* !.env.example + +.wrangler \ No newline at end of file diff --git a/apps/vault/nuxt.config.ts b/apps/vault/nuxt.config.ts index 064432b1..31d68179 100644 --- a/apps/vault/nuxt.config.ts +++ b/apps/vault/nuxt.config.ts @@ -4,20 +4,21 @@ export default defineNuxtConfig({ compatibilityDate: '2024-11-01', routeRules: { - '/': { isr: true, prerender: true } + '/': { prerender: true } }, - modules: ['@nuxt/scripts'], + modules: ['@nuxt/scripts', '@nuxthub/core'], runtimeConfig: { private: { encryptionKey: '', - vault: { - url: '' - }, }, }, + hub: { + kv: true, + }, + devtools: { enabled: true }, future: { diff --git a/apps/vault/package.json b/apps/vault/package.json index 26f0edd1..e24ba792 100644 --- a/apps/vault/package.json +++ b/apps/vault/package.json @@ -14,7 +14,11 @@ "typecheck": "tsc --noEmit" }, "dependencies": { + "@nuxthub/core": "0.8.14", "nuxt": "^3.15.3", "vue": "latest" + }, + "devDependencies": { + "wrangler": "^3.105.1" } } diff --git a/apps/vault/server/plugins/storage.ts b/apps/vault/server/plugins/storage.ts deleted file mode 100644 index aaac6db2..00000000 --- a/apps/vault/server/plugins/storage.ts +++ /dev/null @@ -1,12 +0,0 @@ -import redisDriver from 'unstorage/drivers/redis' - -export default defineNitroPlugin(() => { - const storage = useStorage() - - const driver = redisDriver({ - base: 'redis', - url: useRuntimeConfig().private.vault.url, - }) - - storage.mount('vault', driver) -}) diff --git a/apps/vault/server/services/vault.service.ts b/apps/vault/server/services/vault.service.ts index 36a7149d..b8c3499b 100644 --- a/apps/vault/server/services/vault.service.ts +++ b/apps/vault/server/services/vault.service.ts @@ -1,13 +1,11 @@ -import type { Storage, StorageValue } from 'unstorage' import type { H3Event } from 'h3' import type { DecryptResponse, EncryptRequest, StoredData, TTLFormat } from '../../../../packages/types' export class VaultService { - private readonly storage: Storage private readonly encryptionKey: string private readonly siteUrl: string - private readonly PREFIX = 'vault:' + private readonly PREFIX = 'cache:' private readonly TTL_MAP = { '1d': 24 * 60 * 60, // 1 day in seconds @@ -20,7 +18,6 @@ export class VaultService { const url = getRequestURL(event) this.encryptionKey = config.private.encryptionKey this.siteUrl = url.origin - this.storage = useStorage('vault') } private generateKey(id: string): string { @@ -67,7 +64,7 @@ export class VaultService { async decrypt(id: string): Promise { const key = this.generateKey(id) - const storedData = await this.storage.getItem(key) + const storedData = await hubKV().get(key) if (!storedData) { throw createError({ @@ -80,7 +77,7 @@ export class VaultService { const timeLeft = this.calculateTimeLeft(createdAt, ttl) if (timeLeft <= 0) { - await this.storage.removeItem(key) + await hubKV().del(key) throw createError({ statusCode: 400, statusMessage: 'Link has expired' @@ -88,7 +85,7 @@ export class VaultService { } if (reads <= 0) { - await this.storage.removeItem(key) + await hubKV().del(key) throw createError({ statusCode: 400, statusMessage: 'Maximum number of reads reached' @@ -98,13 +95,17 @@ export class VaultService { const decryptedValue = await unseal(encryptedValue, this.encryptionKey) as string const updatedReads = reads - 1 - await this.storage.setItem(key, { + /*await this.storage.setItem(key, { + ...storedData, + reads: updatedReads + })*/ + await hubKV().set(key, { ...storedData, reads: updatedReads }) if (updatedReads === 0) { - await this.storage.removeItem(key) + await hubKV().del(key) } return { @@ -126,7 +127,7 @@ export class VaultService { ttl: data.ttl } - await this.storage.setItem(key, storedData) + await hubKV().set(key, storedData) return this.generateShareUrl(randomId) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7793cd9f..f66920f9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,10 +22,10 @@ importers: version: 1.9.0(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(ioredis@5.4.2)(magicast@0.3.5)(rollup@4.32.0) '@nuxt/scripts': specifier: 0.9.5 - version: 0.9.5(6ty4ojplho5qmpx26ru4irme6i) + version: 0.9.5(r6jxdibvxwbveb74kvgosnbxma) '@nuxt/ui': specifier: 3.0.0-alpha.11 - version: 3.0.0-alpha.11(@babel/parser@7.26.7)(change-case@5.4.4)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(embla-carousel@8.5.2)(encoding@0.1.13)(focus-trap@7.6.4)(ioredis@5.4.2)(magicast@0.3.5)(radix-vue@1.9.12(vue@3.5.13(typescript@5.7.3)))(rollup@4.32.0)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)) + version: 3.0.0-alpha.11(@babel/parser@7.26.7)(change-case@5.4.4)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(embla-carousel@8.5.2)(encoding@0.1.13)(focus-trap@7.6.4)(ioredis@5.4.2)(magicast@0.3.5)(radix-vue@1.9.12(vue@3.5.13(typescript@5.7.3)))(rollup@4.32.0)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) '@shelve/utils': specifier: '*' version: 1.1.0 @@ -40,7 +40,7 @@ importers: version: 12.5.0(typescript@5.7.3) '@vueuse/nuxt': specifier: 12.5.0 - version: 12.5.0(magicast@0.3.5)(nuxt@3.15.2(@libsql/client@0.14.0)(@parcel/watcher@2.5.1)(@types/node@22.10.10)(better-sqlite3@11.8.1)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0))(encoding@0.1.13)(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(lightningcss@1.29.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.32.0)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0))(rollup@4.32.0)(typescript@5.7.3) + version: 12.5.0(magicast@0.3.5)(nuxt@3.15.2(@libsql/client@0.14.0)(@parcel/watcher@2.5.1)(@types/node@22.10.10)(better-sqlite3@11.8.1)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0))(encoding@0.1.13)(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(lightningcss@1.29.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.32.0)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(yaml@2.7.0))(rollup@4.32.0)(typescript@5.7.3) drizzle-kit: specifier: 0.30.2 version: 0.30.2 @@ -149,7 +149,7 @@ importers: version: 1.9.0(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(ioredis@5.4.2)(magicast@0.3.5)(rollup@4.32.0) '@nuxt/scripts': specifier: 0.9.5 - version: 0.9.5(pnhyfrsbaatnainnnybv22n2ia) + version: 0.9.5(r6jxdibvxwbveb74kvgosnbxma) '@nuxt/ui-pro': specifier: https://pkg.pr.new/@nuxt/ui-pro@65b35c5 version: https://pkg.pr.new/@nuxt/ui-pro@65b35c5(@babel/parser@7.26.7)(change-case@5.4.4)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(embla-carousel@8.5.2)(encoding@0.1.13)(focus-trap@7.6.4)(ioredis@5.4.2)(magicast@0.3.5)(radix-vue@1.9.12(vue@3.5.13(typescript@5.7.3)))(rollup@4.32.0)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) @@ -187,12 +187,19 @@ importers: apps/vault: dependencies: + '@nuxthub/core': + specifier: 0.8.14 + version: 0.8.14(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(ioredis@5.4.2)(magicast@0.3.5)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) nuxt: specifier: ^3.15.3 version: 3.15.3(@libsql/client@0.14.0)(@parcel/watcher@2.5.1)(@types/node@22.10.10)(better-sqlite3@11.8.1)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0))(encoding@0.1.13)(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(lightningcss@1.29.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.32.0)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(yaml@2.7.0) vue: specifier: latest version: 3.5.13(typescript@5.7.3) + devDependencies: + wrangler: + specifier: ^3.105.1 + version: 3.105.1(@cloudflare/workers-types@4.20250124.3) packages/cli: dependencies: @@ -9206,7 +9213,7 @@ snapshots: - rollup - supports-color - '@nuxt/devtools-ui-kit@1.7.0(ffg2zrwq2i2gpp6d6ycab27b64)': + '@nuxt/devtools-ui-kit@1.7.0(liewnhtlob6fpnmfyzfwzw22bq)': dependencies: '@iconify-json/carbon': 1.2.5 '@iconify-json/logos': 1.2.4 @@ -9216,65 +9223,18 @@ snapshots: '@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) '@nuxt/kit': 3.15.3(magicast@0.3.5)(rollup@4.32.0) '@unocss/core': 0.65.4 - '@unocss/nuxt': 0.65.4(magicast@0.3.5)(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))(webpack@5.97.1(esbuild@0.24.2)) + '@unocss/nuxt': 0.65.4(magicast@0.3.5)(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))(webpack@5.97.1(esbuild@0.19.12)) '@unocss/preset-attributify': 0.65.4 '@unocss/preset-icons': 0.65.4 '@unocss/preset-mini': 0.65.4 '@unocss/reset': 0.65.4 '@vueuse/core': 12.5.0(typescript@5.7.3) '@vueuse/integrations': 12.5.0(change-case@5.4.4)(focus-trap@7.6.4)(fuse.js@7.0.0)(typescript@5.7.3) - '@vueuse/nuxt': 12.5.0(magicast@0.3.5)(nuxt@3.15.2(@libsql/client@0.14.0)(@parcel/watcher@2.5.1)(@types/node@22.10.10)(better-sqlite3@11.8.1)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0))(encoding@0.1.13)(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(lightningcss@1.29.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.32.0)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0))(rollup@4.32.0)(typescript@5.7.3) + '@vueuse/nuxt': 12.5.0(magicast@0.3.5)(nuxt@3.15.2(@libsql/client@0.14.0)(@parcel/watcher@2.5.1)(@types/node@22.10.10)(better-sqlite3@11.8.1)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0))(encoding@0.1.13)(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(lightningcss@1.29.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.32.0)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(yaml@2.7.0))(rollup@4.32.0)(typescript@5.7.3) defu: 6.1.4 focus-trap: 7.6.4 splitpanes: 3.1.8(vue@3.5.13(typescript@5.7.3)) - unocss: 0.65.4(@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.24.2)))(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - v-lazy-show: 0.3.0(@vue/compiler-core@3.5.13) - transitivePeerDependencies: - - '@unocss/webpack' - - '@vue/compiler-core' - - async-validator - - axios - - change-case - - drauu - - fuse.js - - idb-keyval - - jwt-decode - - magicast - - nprogress - - nuxt - - postcss - - qrcode - - rollup - - sortablejs - - supports-color - - typescript - - universal-cookie - - vite - - vue - - webpack - - '@nuxt/devtools-ui-kit@1.7.0(pvos2cicqg77emlzvtgbv6ouwi)': - dependencies: - '@iconify-json/carbon': 1.2.5 - '@iconify-json/logos': 1.2.4 - '@iconify-json/ri': 1.2.5 - '@iconify-json/tabler': 1.2.15 - '@nuxt/devtools': 1.7.0(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - '@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) - '@nuxt/kit': 3.15.3(magicast@0.3.5)(rollup@4.32.0) - '@unocss/core': 0.65.4 - '@unocss/nuxt': 0.65.4(magicast@0.3.5)(postcss@8.5.1)(rollup@4.32.0)(vue@3.5.13(typescript@5.7.3))(webpack@5.97.1(esbuild@0.19.12)) - '@unocss/preset-attributify': 0.65.4 - '@unocss/preset-icons': 0.65.4 - '@unocss/preset-mini': 0.65.4 - '@unocss/reset': 0.65.4 - '@vueuse/core': 12.5.0(typescript@5.7.3) - '@vueuse/integrations': 12.5.0(change-case@5.4.4)(focus-trap@7.6.4)(fuse.js@7.0.0)(typescript@5.7.3) - '@vueuse/nuxt': 12.5.0(magicast@0.3.5)(nuxt@3.15.2(@libsql/client@0.14.0)(@parcel/watcher@2.5.1)(@types/node@22.10.10)(better-sqlite3@11.8.1)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0))(encoding@0.1.13)(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(lightningcss@1.29.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.32.0)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0))(rollup@4.32.0)(typescript@5.7.3) - defu: 6.1.4 - focus-trap: 7.6.4 - splitpanes: 3.1.8(vue@3.5.13(typescript@5.7.3)) - unocss: 0.65.4(@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.19.12)))(postcss@8.5.1)(rollup@4.32.0)(vue@3.5.13(typescript@5.7.3)) + unocss: 0.65.4(@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.19.12)))(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) v-lazy-show: 0.3.0(@vue/compiler-core@3.5.13) transitivePeerDependencies: - '@unocss/webpack' @@ -9546,83 +9506,10 @@ snapshots: pathe: 2.0.2 std-env: 3.8.0 - '@nuxt/scripts@0.9.5(6ty4ojplho5qmpx26ru4irme6i)': + '@nuxt/scripts@0.9.5(r6jxdibvxwbveb74kvgosnbxma)': dependencies: '@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) - '@nuxt/devtools-ui-kit': 1.7.0(pvos2cicqg77emlzvtgbv6ouwi) - '@nuxt/kit': 3.15.3(magicast@0.3.5)(rollup@4.32.0) - '@stripe/stripe-js': 4.10.0 - '@types/google.maps': 3.58.1 - '@types/vimeo__player': 2.18.3 - '@types/youtube': 0.1.0 - '@unhead/vue': 1.11.9(vue@3.5.13(typescript@5.7.3)) - '@vueuse/core': 11.3.0(vue@3.5.13(typescript@5.7.3)) - consola: 3.4.0 - defu: 6.1.4 - h3: 1.14.0 - magic-string: 0.30.17 - mlly: 1.7.4 - ofetch: 1.4.1 - ohash: 1.1.4 - pathe: 1.1.2 - pkg-types: 1.3.1 - semver: 7.6.3 - shiki: 1.22.0 - sirv: 3.0.0 - std-env: 3.8.0 - third-party-capital: 2.3.0 - ufo: 1.5.4 - unimport: 3.14.6(rollup@4.32.0) - unplugin: 1.16.1 - unstorage: 1.14.4(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(ioredis@5.4.2) - valibot: 0.42.1(typescript@5.7.3) - transitivePeerDependencies: - - '@azure/app-configuration' - - '@azure/cosmos' - - '@azure/data-tables' - - '@azure/identity' - - '@azure/keyvault-secrets' - - '@azure/storage-blob' - - '@capacitor/preferences' - - '@deno/kv' - - '@netlify/blobs' - - '@nuxt/devtools' - - '@planetscale/database' - - '@unocss/webpack' - - '@upstash/redis' - - '@vercel/blob' - - '@vercel/kv' - - '@vue/compiler-core' - - '@vue/composition-api' - - async-validator - - aws4fetch - - axios - - change-case - - db0 - - drauu - - fuse.js - - idb-keyval - - ioredis - - jwt-decode - - magicast - - nprogress - - nuxt - - postcss - - qrcode - - rollup - - sortablejs - - supports-color - - typescript - - universal-cookie - - uploadthing - - vite - - vue - - webpack - - '@nuxt/scripts@0.9.5(pnhyfrsbaatnainnnybv22n2ia)': - dependencies: - '@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0)) - '@nuxt/devtools-ui-kit': 1.7.0(ffg2zrwq2i2gpp6d6ycab27b64) + '@nuxt/devtools-ui-kit': 1.7.0(liewnhtlob6fpnmfyzfwzw22bq) '@nuxt/kit': 3.15.3(magicast@0.3.5)(rollup@4.32.0) '@stripe/stripe-js': 4.10.0 '@types/google.maps': 3.58.1 @@ -9766,7 +9653,7 @@ snapshots: - vite - vue - '@nuxt/ui@3.0.0-alpha.11(@babel/parser@7.26.7)(change-case@5.4.4)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(embla-carousel@8.5.2)(encoding@0.1.13)(focus-trap@7.6.4)(ioredis@5.4.2)(magicast@0.3.5)(radix-vue@1.9.12(vue@3.5.13(typescript@5.7.3)))(rollup@4.32.0)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))': + '@nuxt/ui@3.0.0-alpha.11(@babel/parser@7.26.7)(change-case@5.4.4)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(embla-carousel@8.5.2)(encoding@0.1.13)(focus-trap@7.6.4)(ioredis@5.4.2)(magicast@0.3.5)(radix-vue@1.9.12(vue@3.5.13(typescript@5.7.3)))(rollup@4.32.0)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': dependencies: '@iconify/vue': 4.3.0(vue@3.5.13(typescript@5.7.3)) '@internationalized/date': 3.7.0 @@ -11079,32 +10966,7 @@ snapshots: transitivePeerDependencies: - vue - '@unocss/nuxt@0.65.4(magicast@0.3.5)(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))(webpack@5.97.1(esbuild@0.24.2))': - dependencies: - '@nuxt/kit': 3.15.3(magicast@0.3.5)(rollup@4.32.0) - '@unocss/config': 0.65.4 - '@unocss/core': 0.65.4 - '@unocss/preset-attributify': 0.65.4 - '@unocss/preset-icons': 0.65.4 - '@unocss/preset-tagify': 0.65.4 - '@unocss/preset-typography': 0.65.4 - '@unocss/preset-uno': 0.65.4 - '@unocss/preset-web-fonts': 0.65.4 - '@unocss/preset-wind': 0.65.4 - '@unocss/reset': 0.65.4 - '@unocss/vite': 0.65.4(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - '@unocss/webpack': 0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.24.2)) - unocss: 0.65.4(@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.24.2)))(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - transitivePeerDependencies: - - magicast - - postcss - - rollup - - supports-color - - vite - - vue - - webpack - - '@unocss/nuxt@0.65.4(magicast@0.3.5)(postcss@8.5.1)(rollup@4.32.0)(vue@3.5.13(typescript@5.7.3))(webpack@5.97.1(esbuild@0.19.12))': + '@unocss/nuxt@0.65.4(magicast@0.3.5)(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))(webpack@5.97.1(esbuild@0.19.12))': dependencies: '@nuxt/kit': 3.15.3(magicast@0.3.5)(rollup@4.32.0) '@unocss/config': 0.65.4 @@ -11119,7 +10981,7 @@ snapshots: '@unocss/reset': 0.65.4 '@unocss/vite': 0.65.4(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) '@unocss/webpack': 0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.19.12)) - unocss: 0.65.4(@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.19.12)))(postcss@8.5.1)(rollup@4.32.0)(vue@3.5.13(typescript@5.7.3)) + unocss: 0.65.4(@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.19.12)))(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) transitivePeerDependencies: - magicast - postcss @@ -11259,22 +11121,6 @@ snapshots: - rollup - supports-color - '@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.24.2))': - dependencies: - '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.4(rollup@4.32.0) - '@unocss/config': 0.65.4 - '@unocss/core': 0.65.4 - chokidar: 3.6.0 - magic-string: 0.30.17 - tinyglobby: 0.2.10 - unplugin: 2.1.2 - webpack: 5.97.1(esbuild@0.24.2) - webpack-sources: 3.2.3 - transitivePeerDependencies: - - rollup - - supports-color - '@uploadthing/mime-types@0.3.4': {} '@vercel/nft@0.27.10(encoding@0.1.13)(rollup@4.32.0)': @@ -11668,7 +11514,7 @@ snapshots: '@vueuse/metadata@12.5.0': {} - '@vueuse/nuxt@12.5.0(magicast@0.3.5)(nuxt@3.15.2(@libsql/client@0.14.0)(@parcel/watcher@2.5.1)(@types/node@22.10.10)(better-sqlite3@11.8.1)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0))(encoding@0.1.13)(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(lightningcss@1.29.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.32.0)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(yaml@2.7.0))(rollup@4.32.0)(typescript@5.7.3)': + '@vueuse/nuxt@12.5.0(magicast@0.3.5)(nuxt@3.15.2(@libsql/client@0.14.0)(@parcel/watcher@2.5.1)(@types/node@22.10.10)(better-sqlite3@11.8.1)(db0@0.2.1(@libsql/client@0.14.0)(better-sqlite3@11.8.1)(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0)))(drizzle-orm@0.38.4(@cloudflare/workers-types@4.20250124.3)(@libsql/client@0.14.0)(@types/pg@8.11.11)(better-sqlite3@11.8.1)(bun-types@1.2.0)(pg@8.13.1)(react@19.0.0))(encoding@0.1.13)(eslint@9.19.0(jiti@2.4.2))(ioredis@5.4.2)(lightningcss@1.29.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.32.0)(terser@5.37.0)(tsx@4.19.2)(typescript@5.7.3)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(yaml@2.7.0))(rollup@4.32.0)(typescript@5.7.3)': dependencies: '@nuxt/kit': 3.15.3(magicast@0.3.5)(rollup@4.32.0) '@vueuse/core': 12.5.0(typescript@5.7.3) @@ -16712,17 +16558,6 @@ snapshots: optionalDependencies: esbuild: 0.19.12 - terser-webpack-plugin@5.3.11(esbuild@0.24.2)(webpack@5.97.1(esbuild@0.24.2)): - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - jest-worker: 27.5.1 - schema-utils: 4.3.0 - serialize-javascript: 6.0.2 - terser: 5.37.0 - webpack: 5.97.1(esbuild@0.24.2) - optionalDependencies: - esbuild: 0.24.2 - terser@5.37.0: dependencies: '@jridgewell/source-map': 0.3.6 @@ -17042,7 +16877,7 @@ snapshots: universalify@2.0.1: {} - unocss@0.65.4(@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.19.12)))(postcss@8.5.1)(rollup@4.32.0)(vue@3.5.13(typescript@5.7.3)): + unocss@0.65.4(@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.19.12)))(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)): dependencies: '@unocss/astro': 0.65.4(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) '@unocss/cli': 0.65.4(rollup@4.32.0) @@ -17063,33 +16898,6 @@ snapshots: '@unocss/vite': 0.65.4(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) optionalDependencies: '@unocss/webpack': 0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.19.12)) - transitivePeerDependencies: - - postcss - - rollup - - supports-color - - vue - - unocss@0.65.4(@unocss/webpack@0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.24.2)))(postcss@8.5.1)(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)): - dependencies: - '@unocss/astro': 0.65.4(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - '@unocss/cli': 0.65.4(rollup@4.32.0) - '@unocss/core': 0.65.4 - '@unocss/postcss': 0.65.4(postcss@8.5.1) - '@unocss/preset-attributify': 0.65.4 - '@unocss/preset-icons': 0.65.4 - '@unocss/preset-mini': 0.65.4 - '@unocss/preset-tagify': 0.65.4 - '@unocss/preset-typography': 0.65.4 - '@unocss/preset-uno': 0.65.4 - '@unocss/preset-web-fonts': 0.65.4 - '@unocss/preset-wind': 0.65.4 - '@unocss/transformer-attributify-jsx': 0.65.4 - '@unocss/transformer-compile-class': 0.65.4 - '@unocss/transformer-directives': 0.65.4 - '@unocss/transformer-variant-group': 0.65.4 - '@unocss/vite': 0.65.4(rollup@4.32.0)(vite@6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - optionalDependencies: - '@unocss/webpack': 0.65.4(rollup@4.32.0)(webpack@5.97.1(esbuild@0.24.2)) vite: 6.0.11(@types/node@22.10.10)(jiti@2.4.2)(lightningcss@1.29.1)(terser@5.37.0)(tsx@4.19.2)(yaml@2.7.0) transitivePeerDependencies: - postcss @@ -17580,36 +17388,6 @@ snapshots: - esbuild - uglify-js - webpack@5.97.1(esbuild@0.24.2): - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.6 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.14.0 - browserslist: 4.24.4 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.18.0 - es-module-lexer: 1.6.0 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.11(esbuild@0.24.2)(webpack@5.97.1(esbuild@0.24.2)) - watchpack: 2.4.2 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - whatwg-encoding@3.1.1: dependencies: iconv-lite: 0.6.3