From 2e16536ba465e23fa711df38832ff9b6a3699242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Thu, 7 Mar 2024 19:02:19 +0100 Subject: [PATCH 1/8] feat(db): support Nitro `useDatabase()` --- playground/server/api/test.ts | 41 ------------------- playground/server/api/{ => tests}/cached.ts | 0 .../server/api/{db-test.ts => tests/db.ts} | 14 +++++++ playground/server/api/tests/kv.ts | 12 ++++++ src/module/index.ts | 11 +++++ src/module/runtime/bindings.dev.ts | 5 ++- 6 files changed, 41 insertions(+), 42 deletions(-) delete mode 100644 playground/server/api/test.ts rename playground/server/api/{ => tests}/cached.ts (100%) rename playground/server/api/{db-test.ts => tests/db.ts} (77%) create mode 100644 playground/server/api/tests/kv.ts diff --git a/playground/server/api/test.ts b/playground/server/api/test.ts deleted file mode 100644 index a0cefcbc..00000000 --- a/playground/server/api/test.ts +++ /dev/null @@ -1,41 +0,0 @@ -export default eventHandler(async () => { - const kv = hubKV() - - await kv.set('vue', { year: 2014 }) - await kv.set('vue:nuxt', { year: 2016 }) - await kv.set('vue:quasar', { version: 2015 }) - await kv.set('react', { version: 2013 }) - await kv.set('react:next', { version: 2016 }) - await kv.set('react:gatsby', { version: 2015 }) - - - return kv.keys() - // const db = hubDatabase() - // return useProjectKV(projectUrl).getKeys() - // return await db.prepare('SELECT * from todos').all() - // return await db.prepare("SELECT * from todos").first() - // return await db.prepare('SELECT * from todos').raw() - // return await db.prepare("SELECT * from todos").run() - // return await db.exec('SELECT * from todos;') - - // const stmt = db.prepare('SELECT * from todos WHERE id = ?1') - // return { - // one: await stmt.bind(1).first(), - // three: await stmt.bind(3).first() - // } - - // return db.batch([ - // stmt.bind(1), - // stmt.bind(2) - // ]) - // return db.batch([ - // db.prepare('insert into todos (title, completed, created_at) values (?1, ?2, ?3)').bind('created', 0, Date.now()), - // db.prepare('update todos SET title = ?1 where id = ?2').bind('updated', 1), - // db.prepare('select * from todos where id = ?1').bind(1), - // ]) - - return await db.exec('CREATE TABLE IF NOT EXISTS frameworks (id INTEGER PRIMARY KEY, name TEXT NOT NULL, year INTEGER NOT NULL DEFAULT 0)') - - // return useProjectDatabase(projectUrl).all(sql`SELECT * from todos``) - // return {} -}) diff --git a/playground/server/api/cached.ts b/playground/server/api/tests/cached.ts similarity index 100% rename from playground/server/api/cached.ts rename to playground/server/api/tests/cached.ts diff --git a/playground/server/api/db-test.ts b/playground/server/api/tests/db.ts similarity index 77% rename from playground/server/api/db-test.ts rename to playground/server/api/tests/db.ts index 7733ebdd..76bb76e5 100644 --- a/playground/server/api/db-test.ts +++ b/playground/server/api/tests/db.ts @@ -1,6 +1,20 @@ import { sqliteTable, integer, text } from 'drizzle-orm/sqlite-core' export default defineEventHandler(async () => { + const db0 = useDatabase() + + const _tables = await db0.sql` + SELECT + name, + type + FROM + sqlite_schema + WHERE + type = 'table' AND + name NOT LIKE 'sqlite_%' and name NOT LIKE '_litestream_%' and name NOT LIKE '__drizzle%' + ;` + + console.log(_tables.rows) const db = useDrizzle() const tables = await db.all(sql` diff --git a/playground/server/api/tests/kv.ts b/playground/server/api/tests/kv.ts new file mode 100644 index 00000000..2414f0e7 --- /dev/null +++ b/playground/server/api/tests/kv.ts @@ -0,0 +1,12 @@ +export default eventHandler(async () => { + const kv = hubKV() + + await kv.set('vue', { year: 2014 }) + await kv.set('vue:nuxt', { year: 2016 }) + await kv.set('vue:quasar', { version: 2015 }) + await kv.set('react', { version: 2013 }) + await kv.set('react:next', { version: 2016 }) + await kv.set('react:gatsby', { version: 2015 }) + + return kv.keys() +}) diff --git a/src/module/index.ts b/src/module/index.ts index 6a49418f..0dc147cc 100644 --- a/src/module/index.ts +++ b/src/module/index.ts @@ -96,6 +96,17 @@ export default defineNuxtModule({ } }) + // Bind `useDatabase()` to `hubDatabase()` + nuxt.options.nitro.experimental = defu(nuxt.options.nitro.experimental, { + database: true + }) + nuxt.options.nitro.database = defu(nuxt.options.nitro.database, { + default: { + connector: 'cloudflare-d1', + options: { bindingName: 'DB' } + } + }) + // nuxt prepare or production mode, stop here if (nuxt.options._prepare || !nuxt.options.dev) { return diff --git a/src/module/runtime/bindings.dev.ts b/src/module/runtime/bindings.dev.ts index b6cb6a1f..d67f609a 100644 --- a/src/module/runtime/bindings.dev.ts +++ b/src/module/runtime/bindings.dev.ts @@ -46,10 +46,13 @@ async function getBindingsProxy() { persist: { path: wranglerConfig.persistDir }, }) + // @ts-ignore + globalThis.__cf_env__ = proxy.env + Object.keys(proxy.env).forEach((key) => { // @ts-ignore if (!globalThis[key]) { - // @ts-ignore + // @ts-ignore globalThis[key] = proxy.env[key] } }) From 634d89a875a1d89d7e8b6ff6b7ca09aa6b18ee76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sat, 9 Mar 2024 17:46:11 +0100 Subject: [PATCH 2/8] chore: up wrangler --- package.json | 2 +- pnpm-lock.yaml | 290 +++++++++++++++++++++++++++++++------------------ 2 files changed, 188 insertions(+), 104 deletions(-) diff --git a/package.json b/package.json index 4acc4f7e..1ecec38a 100644 --- a/package.json +++ b/package.json @@ -64,6 +64,6 @@ "nuxt": "^3.10.3", "typescript": "^5.4.2", "vitest": "^1.3.1", - "wrangler": "^3.31.0" + "wrangler": "^3.32.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81263221..a562b78f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -91,8 +91,8 @@ importers: specifier: ^1.3.1 version: 1.3.1(@types/node@20.11.25) wrangler: - specifier: ^3.31.0 - version: 3.31.0(@cloudflare/workers-types@4.20240222.0) + specifier: ^3.32.0 + version: 3.32.0(@cloudflare/workers-types@4.20240222.0) docs: dependencies: @@ -141,7 +141,7 @@ importers: version: 2.14.1(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21) '@nuxthub/core': specifier: latest - version: link:.. + version: 0.3.1 drizzle-orm: specifier: ^0.29.3 version: 0.29.4(@cloudflare/workers-types@4.20240222.0) @@ -625,8 +625,8 @@ packages: dependencies: mime: 3.0.0 - /@cloudflare/workerd-darwin-64@1.20240223.1: - resolution: {integrity: sha512-GgHnvkazLFZ7bmR96+dTX0+WS13a+5CHOOP3qNUSR9oEnR4hHzpNIO75MuZsm9RPAXrvtT7nSJmYwiGCZXh6og==} + /@cloudflare/workerd-darwin-64@1.20240304.0: + resolution: {integrity: sha512-rfHlvsWzkqEEQNvm14AOE/BYHYzB9wxQHCaZZEgwOuTl5KpDcs9La0N0LaDTR78ESumIWOcifVmko2VTrZb7TQ==} engines: {node: '>=16'} cpu: [x64] os: [darwin] @@ -634,8 +634,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-darwin-arm64@1.20240223.1: - resolution: {integrity: sha512-ZF98vUmVlC0EVEd3RRuhMq4HYWFcqmPtMIMPUN2+ivEHR92TE+6E/AvdeE6wcE7fKHQ+fk3dH+ZgB0GcfptfnA==} + /@cloudflare/workerd-darwin-arm64@1.20240304.0: + resolution: {integrity: sha512-IXGOxHsPdRYfAzcY6IroI1PDvx3hhXf18qFCloHp8Iw5bzLgq/PTjcp10Z/2xedZ2hVlfpHy1eEptsTmi9YeNw==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] @@ -643,8 +643,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-linux-64@1.20240223.1: - resolution: {integrity: sha512-1kH41ewNTGMmAk2zUX0Xj9VSfidl26GQ0ZrWMdi5kwf6gAHd3oVWNigJN078Jx56SgQxNcqVGX1LunqF949asw==} + /@cloudflare/workerd-linux-64@1.20240304.0: + resolution: {integrity: sha512-G1BEzbw9TFIeMvc425F145IetC7fuH4KOkGhseLq9y/mt5PfDWkghwmXSK+q0BiMwm0XAobtzVlHcEr2u4WlRQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] @@ -652,8 +652,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-linux-arm64@1.20240223.1: - resolution: {integrity: sha512-Ro8Og5C4evh890JrRm0B8sHyumRtgL+mUqPeNcEsyG45jAQy5xHpapHnmJAMJV6ah+zDc1cZtQq+en39SojXvQ==} + /@cloudflare/workerd-linux-arm64@1.20240304.0: + resolution: {integrity: sha512-LLk/d/y77TRu6QOG3CJUI2cD3Ff2lSg0ts6G83bsm9ZK+WKObWFFSPBy9l81m3EnlKFh7RZCzxN4J10kuDaO8w==} engines: {node: '>=16'} cpu: [arm64] os: [linux] @@ -661,8 +661,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-windows-64@1.20240223.1: - resolution: {integrity: sha512-eNP5sfaP6WL07DaoigYou5ASPF7jHsFiNzzD2vGOI7yFd5sPlb7sJ4SpIy+BCX0LdqFnjmlUo5Xr+/I6qJ2Nww==} + /@cloudflare/workerd-windows-64@1.20240304.0: + resolution: {integrity: sha512-I/j6nVpM+WDPg+bYUAiKLkwQsjrXFjpOGHvwYmcM44hnDjgODzk7AbVssEIXnhEO3oupBeuKvffr0lvX0Ngmpw==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -2047,12 +2047,12 @@ packages: ofetch: 1.3.3 pathe: 1.1.2 perfect-debounce: 1.0.0 - radix3: 1.1.0 + radix3: 1.1.1 scule: 1.3.0 std-env: 3.7.0 ufo: 1.4.0 unenv: 1.9.0 - unplugin: 1.8.3 + unplugin: 1.9.0 vite: 5.1.5(@types/node@20.11.25) vitest: 1.3.1(@types/node@20.11.25) vitest-environment-nuxt: 1.0.0(h3@1.11.1)(vite@5.1.5)(vitest@1.3.1)(vue-router@4.3.0)(vue@3.4.21) @@ -2230,6 +2230,45 @@ packages: - utf-8-validate dev: true + /@nuxthub/core@0.3.1: + resolution: {integrity: sha512-AoPEKFSzvCfcymbR5qwE60EIge1PSak1yF9TYOldo9azX7P0L2bWpxIx+sjzA9ELx8KHjaSumpq9Df2AHSzeQA==} + dependencies: + '@cloudflare/workers-types': 4.20240222.0 + '@nuxt/kit': 3.10.3 + '@sindresorhus/slugify': 2.2.1 + '@uploadthing/mime-types': 0.2.6 + defu: 6.1.4 + destr: 2.0.3 + get-port-please: 3.1.2 + h3: 1.11.1 + mime: 4.0.1 + nuxt-auth-utils: 0.0.20 + ofetch: 1.3.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + rc9: 2.1.1 + ufo: 1.4.0 + uncrypto: 0.1.3 + unstorage: 1.10.1 + zod: 3.22.4 + transitivePeerDependencies: + - '@azure/app-configuration' + - '@azure/cosmos' + - '@azure/data-tables' + - '@azure/identity' + - '@azure/keyvault-secrets' + - '@azure/storage-blob' + - '@capacitor/preferences' + - '@netlify/blobs' + - '@planetscale/database' + - '@upstash/redis' + - '@vercel/kv' + - idb-keyval + - rollup + - supports-color + - uWebSockets.js + dev: false + /@nuxtjs/color-mode@3.3.2: resolution: {integrity: sha512-BLpBfrYZngV2QWFQ4HNEFwAXa3Pno43Ge+2XHcZJTTa1Z4KzRLvOwku8yiyV3ovIaaXKGwduBdv3Z5Ocdp0/+g==} dependencies: @@ -3178,7 +3217,7 @@ packages: ignore: 5.3.1 natural-compare: 1.4.0 semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.4.2) + ts-api-utils: 1.3.0(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -3227,7 +3266,7 @@ packages: '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.2) debug: 4.3.4 eslint: 8.57.0 - ts-api-utils: 1.2.1(typescript@5.4.2) + ts-api-utils: 1.3.0(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -3254,7 +3293,7 @@ packages: is-glob: 4.0.3 minimatch: 9.0.3 semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.4.2) + ts-api-utils: 1.3.0(typescript@5.4.2) typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -3297,11 +3336,11 @@ packages: '@unhead/shared': 1.8.10 dev: false - /@unhead/dom@1.8.11: - resolution: {integrity: sha512-B5Bae4Y+6/2oDlfNJwEuf1kApyM4pmZ01VReWcVDYAdZpkD7eZZoVZnF945MluaMb6SMvGIXejcSUXTH/BOWaQ==} + /@unhead/dom@1.8.12: + resolution: {integrity: sha512-1A94VyVX/yxBXmZR1mvxvmhhbgF72dUDcmsmoyXOiobd3Zt2rJLu19Ih8jy35CDR4oUAWzK+o6HO1vWzY4wGAQ==} dependencies: - '@unhead/schema': 1.8.11 - '@unhead/shared': 1.8.11 + '@unhead/schema': 1.8.12 + '@unhead/shared': 1.8.12 /@unhead/schema@1.8.10: resolution: {integrity: sha512-cy8RGOPkwOVY5EmRoCgGV8AqLjy/226xBVTY54kBct02Om3hBdpB9FZa9frM910pPUXMI8PNmFgABO23O7IdJA==} @@ -3310,8 +3349,8 @@ packages: zhead: 2.2.4 dev: false - /@unhead/schema@1.8.11: - resolution: {integrity: sha512-Aok9sZcVznJxjBRF/v2LKaeoqgYU/9kuyknYhf3M13byrdp3dLD6qcUvnLC98PrPVy7CMfOov4kXHoI/DRY5MQ==} + /@unhead/schema@1.8.12: + resolution: {integrity: sha512-sUkjvRGaAN0NCvZtB7VtyC5pUdYQAutHtmKbEK79nfPfb2Z7kFT1nysIno13ivybeq98l4Ge1o4crVuTwGHhTw==} dependencies: hookable: 5.5.3 zhead: 2.2.4 @@ -3322,10 +3361,10 @@ packages: '@unhead/schema': 1.8.10 dev: false - /@unhead/shared@1.8.11: - resolution: {integrity: sha512-Mz3pAJUq160mPXYFNUalfyEDQ0a6eRIbMlJFQ7HNy8shM+4kbeKgInoaa2EaFF8zRrhYvuLJZhyLk5kFINSmBg==} + /@unhead/shared@1.8.12: + resolution: {integrity: sha512-3pP1cYSH22UeCvvVyAVkh7Nfo2GwWDuO/h/31I2eVl5oVvmb0vZx7Ff47RlfKDMkfN7ddKaRwkLaYAR+hNNWsQ==} dependencies: - '@unhead/schema': 1.8.11 + '@unhead/schema': 1.8.12 /@unhead/ssr@1.8.10: resolution: {integrity: sha512-7wKRKDd8c2NFmMyPetj8Ah5u2hXunDBZT5Y2DH83O16PiMxx4/uobGamTV1EfcqjTvOKJvAqkrYZNYSWss99NQ==} @@ -3334,11 +3373,11 @@ packages: '@unhead/shared': 1.8.10 dev: false - /@unhead/ssr@1.8.11: - resolution: {integrity: sha512-5LI+uzcNu2FQp2IOoRQSaWWPDBQNXIuOvcZfxUDKzj0GMdqHRaugPdf44Jje7SmG7RsPhOR9DHKDtuCJ65zcaw==} + /@unhead/ssr@1.8.12: + resolution: {integrity: sha512-e1pcp5HU6QgQChxx4YrMA+Lq/fw783vKtbbbnh0XCcHhwvuw2wr55Ah27KEwm+CGKHkuAhmz75ZKBJy1GZcu2Q==} dependencies: - '@unhead/schema': 1.8.11 - '@unhead/shared': 1.8.11 + '@unhead/schema': 1.8.12 + '@unhead/shared': 1.8.12 /@unhead/vue@1.8.10(vue@3.4.21): resolution: {integrity: sha512-KF8pftHnxnlBlgNpKXWLTg3ZUtkuDCxRPUFSDBy9CtqRSX/qvAhLZ26mbqRVmHj8KigiRHP/wnPWNyGnUx20Bg==} @@ -3352,15 +3391,15 @@ packages: vue: 3.4.21(typescript@5.4.2) dev: false - /@unhead/vue@1.8.11(vue@3.4.21): - resolution: {integrity: sha512-yEpQaBYQsqld3m6lexMP+Vf0+j2UdY/QIO98b7v2XBm200ruZmRvI4IJDMrI8cODVwSnwQWHDLF2upXlNeQ4Qg==} + /@unhead/vue@1.8.12(vue@3.4.21): + resolution: {integrity: sha512-26D+3SIfJwTx1PgPa+urjJ5agImucevSS5pwXMTYHQOK45ip+TTAealrRTbMmAkvaw+KK6Su9OaCzlYVJnmDOQ==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/schema': 1.8.11 - '@unhead/shared': 1.8.11 + '@unhead/schema': 1.8.12 + '@unhead/shared': 1.8.12 hookable: 5.5.3 - unhead: 1.8.11 + unhead: 1.8.12 vue: 3.4.21(typescript@5.4.2) /@unocss/astro@0.58.5(vite@5.1.5): @@ -4196,6 +4235,12 @@ packages: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + /accepts@1.3.8: resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} engines: {node: '>= 0.6'} @@ -4328,28 +4373,28 @@ packages: /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - /archiver-utils@4.0.1: - resolution: {integrity: sha512-Q4Q99idbvzmgCTEAAhi32BkOyq8iVI5EwdO0PmBDSGIzzjYNdcFn7Q7k3OzbLy4kLUPXfJtG6fO2RjftXbobBg==} - engines: {node: '>= 12.0.0'} + /archiver-utils@5.0.1: + resolution: {integrity: sha512-MMAoLdMvT/nckofX1tCLrf7uJce4jTNkiT6smA2u57AOImc1nce7mR3EDujxL5yv6/MnILuQH4sAsPtDS8kTvg==} + engines: {node: '>= 14'} dependencies: - glob: 8.1.0 + glob: 10.3.10 graceful-fs: 4.2.11 lazystream: 1.0.1 lodash: 4.17.21 normalize-path: 3.0.0 readable-stream: 3.6.2 - /archiver@6.0.2: - resolution: {integrity: sha512-UQ/2nW7NMl1G+1UnrLypQw1VdT9XZg/ECcKPq7l+STzStrSivFIXIp34D8M5zeNGW5NoOupdYCHv6VySCPNNlw==} - engines: {node: '>= 12.0.0'} + /archiver@7.0.0: + resolution: {integrity: sha512-R9HM9egs8FfktSqUqyjlKmvF4U+CWNqm/2tlROV+lOFg79MLdT67ae1l3hU47pGy8twSXxHoiefMCh43w0BriQ==} + engines: {node: '>= 14'} dependencies: - archiver-utils: 4.0.1 + archiver-utils: 5.0.1 async: 3.2.5 - buffer-crc32: 0.2.13 - readable-stream: 3.6.2 + buffer-crc32: 1.0.0 + readable-stream: 4.5.2 readdir-glob: 1.1.3 tar-stream: 3.1.7 - zip-stream: 5.0.2 + zip-stream: 6.0.0 /are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} @@ -4479,7 +4524,6 @@ packages: /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false /big-integer@1.6.52: resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} @@ -4553,12 +4597,19 @@ packages: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + /buffer-crc32@1.0.0: + resolution: {integrity: sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==} + engines: {node: '>=8.0.0'} /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + /builtin-modules@3.3.0: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} @@ -4895,14 +4946,14 @@ packages: /commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - /compress-commons@5.0.3: - resolution: {integrity: sha512-/UIcLWvwAQyVibgpQDPtfNM3SvqN7G9elAPAV7GM0L53EbNWwWiCsWtK8Fwed/APEbptPHXs5PuW+y8Bq8lFTA==} - engines: {node: '>= 12.0.0'} + /compress-commons@6.0.1: + resolution: {integrity: sha512-l7occIJn8YwlCEbWUCrG6gPms9qnJTCZSaznCa5HaV+yJMH4kM8BDc7q9NyoQuoiB2O6jKgTcTeY462qw6MyHw==} + engines: {node: '>= 14'} dependencies: crc-32: 1.2.2 - crc32-stream: 5.0.1 + crc32-stream: 6.0.0 normalize-path: 3.0.0 - readable-stream: 3.6.2 + readable-stream: 4.5.2 /computeds@0.0.1: resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} @@ -4964,12 +5015,12 @@ packages: engines: {node: '>=0.8'} hasBin: true - /crc32-stream@5.0.1: - resolution: {integrity: sha512-lO1dFui+CEUh/ztYIpgpKItKW9Bb4NWakCRJrnqAbFIYD+OZAwb2VfD5T5eXMw2FNcsDHkQcNl/Wh3iVXYwU6g==} - engines: {node: '>= 12.0.0'} + /crc32-stream@6.0.0: + resolution: {integrity: sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==} + engines: {node: '>= 14'} dependencies: crc-32: 1.2.2 - readable-stream: 3.6.2 + readable-stream: 4.5.2 /create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} @@ -5136,8 +5187,8 @@ packages: resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} dev: true - /db0@0.1.3(drizzle-orm@0.29.4): - resolution: {integrity: sha512-g8mXmj+t5MRXiA1ARjhfLd6Acy98VLVd8VL5LOBZ49P4A7qzoGgt6pC/gDWuP4zS3BiqSnKXTjTQXviMsD/sxA==} + /db0@0.1.4(drizzle-orm@0.29.4): + resolution: {integrity: sha512-Ft6eCwONYxlwLjBXSJxw0t0RYtA5gW9mq8JfBXn9TtC0nDPlqePAhpv9v4g9aONBi6JI1OXHTKKkUYGd+BOrCA==} peerDependencies: '@libsql/client': ^0.5.2 better-sqlite3: ^9.4.3 @@ -5784,10 +5835,13 @@ packages: through: 2.3.8 dev: false + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - dev: false /execa@5.1.1: resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} @@ -6242,9 +6296,9 @@ packages: crossws: 0.2.4 defu: 6.1.4 destr: 2.0.3 - iron-webcrypto: 1.0.0 + iron-webcrypto: 1.1.0 ohash: 1.1.3 - radix3: 1.1.0 + radix3: 1.1.1 ufo: 1.4.0 uncrypto: 0.1.3 unenv: 1.9.0 @@ -6483,6 +6537,9 @@ packages: safer-buffer: 2.1.2 optional: true + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + /ignore-walk@6.0.4: resolution: {integrity: sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -6562,8 +6619,8 @@ packages: jsbn: 1.1.0 sprintf-js: 1.1.3 - /iron-webcrypto@1.0.0: - resolution: {integrity: sha512-anOK1Mktt8U1Xi7fCM3RELTuYbnFikQY5VtrDj7kPgpejV7d43tWKhzgioO0zpkazLEL/j/iayRqnJhrGfqUsg==} + /iron-webcrypto@1.1.0: + resolution: {integrity: sha512-5vgYsCakNlaQub1orZK5QmNYhwYtcllTkZBp5sfIaCqY93Cf6l+v2rtE+E4TMbcfjxDMCdrO8wmp7+ZvhDECLA==} /is-absolute-url@4.0.1: resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} @@ -7604,8 +7661,8 @@ packages: hasBin: true dev: false - /miniflare@3.20240223.1: - resolution: {integrity: sha512-5pP4Kml9JtPpCMhfVkTyzNen08bKl2swxZ6i+gYzQTo/Rcjk6neLqgVGG64JFeJFKzdGEczk5Hnwl9U04OGRiw==} + /miniflare@3.20240304.0: + resolution: {integrity: sha512-6bmFkwXbTy1x5dEfVCLg03Gd80OWUmKI8Li0BhG6nOO+bT3rlIYwctyyfXTfNMFjqbK07AnnPiMwgnfdaaAYVQ==} engines: {node: '>=16.13'} hasBin: true dependencies: @@ -7617,7 +7674,7 @@ packages: glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.3 - workerd: 1.20240223.1 + workerd: 1.20240304.0 ws: 8.16.0 youch: 3.3.3 zod: 3.22.4 @@ -7788,8 +7845,8 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: false - /nitropack@2.9.1(drizzle-orm@0.29.4): - resolution: {integrity: sha512-qgz2VKJoiFvEtC6JnFlaqVx5hirD/oonb6SIM6kQODeDjEHVaiOViZxg7pnAGq13Zu2vNHhaJe6Sf49AEG3J+A==} + /nitropack@2.9.2(drizzle-orm@0.29.4): + resolution: {integrity: sha512-0anZb+7xChw3sErT05Hc/usroBxDHD/6TwKgHIXjZioYZ7c3wKtCl1xwb/59RugyW5AdqF34u7GdmRzqPUIa5Q==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -7810,7 +7867,7 @@ packages: '@rollup/pluginutils': 5.1.0(rollup@4.12.1) '@types/http-proxy': 1.17.14 '@vercel/nft': 0.26.4 - archiver: 6.0.2 + archiver: 7.0.0 c12: 1.10.0 chalk: 5.3.0 chokidar: 3.6.0 @@ -7819,7 +7876,7 @@ packages: cookie-es: 1.0.0 croner: 8.0.1 crossws: 0.2.4 - db0: 0.1.3(drizzle-orm@0.29.4) + db0: 0.1.4(drizzle-orm@0.29.4) defu: 6.1.4 destr: 2.0.3 dot-prop: 8.0.2 @@ -7849,7 +7906,7 @@ packages: perfect-debounce: 1.0.0 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - radix3: 1.1.0 + radix3: 1.1.1 rollup: 4.12.1 rollup-plugin-visualizer: 5.12.0(rollup@4.12.1) scule: 1.3.0 @@ -8265,9 +8322,9 @@ packages: '@nuxt/ui-templates': 1.3.1 '@nuxt/vite-builder': 3.10.3(@types/node@20.11.25)(eslint@8.57.0)(typescript@5.4.2)(vue@3.4.21) '@types/node': 20.11.25 - '@unhead/dom': 1.8.11 - '@unhead/ssr': 1.8.11 - '@unhead/vue': 1.8.11(vue@3.4.21) + '@unhead/dom': 1.8.12 + '@unhead/ssr': 1.8.12 + '@unhead/vue': 1.8.12(vue@3.4.21) '@vue/shared': 3.4.21 acorn: 8.11.3 c12: 1.10.0 @@ -8288,7 +8345,7 @@ packages: knitwork: 1.0.0 magic-string: 0.30.8 mlly: 1.6.1 - nitropack: 2.9.1(drizzle-orm@0.29.4) + nitropack: 2.9.2(drizzle-orm@0.29.4) nuxi: 3.10.1 nypm: 0.3.8 ofetch: 1.3.3 @@ -8296,7 +8353,7 @@ packages: pathe: 1.1.2 perfect-debounce: 1.0.0 pkg-types: 1.0.3 - radix3: 1.1.0 + radix3: 1.1.1 scule: 1.3.0 std-env: 3.7.0 strip-literal: 2.0.0 @@ -8306,7 +8363,7 @@ packages: unctx: 2.3.1 unenv: 1.9.0 unimport: 3.7.1(rollup@4.12.1) - unplugin: 1.8.3 + unplugin: 1.9.0 unplugin-vue-router: 0.7.0(vue-router@4.3.0)(vue@3.4.21) untyped: 1.4.2 vue: 3.4.21(typescript@5.4.2) @@ -9074,6 +9131,10 @@ packages: /process-nextick-args@2.0.1: resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + /promise-inflight@1.0.1: resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} peerDependencies: @@ -9129,6 +9190,10 @@ packages: /radix3@1.1.0: resolution: {integrity: sha512-pNsHDxbGORSvuSScqNJ+3Km6QAVqk8CfsCBIEoDgpqLrkD2f3QM4I7d1ozJJ172OmIcoUcerZaNWqtLkRXTV3A==} + dev: false + + /radix3@1.1.1: + resolution: {integrity: sha512-yUUd5VTiFtcMEx0qFUxGAv5gbMc1un4RvEO1JZdP7ZUl/RHygZK6PknIKntmQRZxnMY3ZXD2ISaw1ij8GYW1yg==} /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -9191,6 +9256,16 @@ packages: string_decoder: 1.3.0 util-deprecate: 1.0.2 + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + /readdir-glob@1.1.3: resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: @@ -10227,8 +10302,8 @@ packages: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: false - /ts-api-utils@1.2.1(typescript@5.4.2): - resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + /ts-api-utils@1.3.0(typescript@5.4.2): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' @@ -10364,12 +10439,12 @@ packages: hookable: 5.5.3 dev: false - /unhead@1.8.11: - resolution: {integrity: sha512-g1coK+pRv+RbeD4+hK76FV6Y++i5jY99CftKyP1ARQcLCbz0ri6+vBpWMS4d+h7x0DfWSCGm/wWkPQ1WXWHfRA==} + /unhead@1.8.12: + resolution: {integrity: sha512-O7YPZo1QtNo24Cv9cXiewB74feARf7v8fCmYWQiY3w0z/7oig1kOoGJub6y2XuusQMZpSX56/GDRmog0IZldeA==} dependencies: - '@unhead/dom': 1.8.11 - '@unhead/schema': 1.8.11 - '@unhead/shared': 1.8.11 + '@unhead/dom': 1.8.12 + '@unhead/schema': 1.8.12 + '@unhead/shared': 1.8.12 hookable: 5.5.3 /unicode-emoji-modifier-base@1.0.0: @@ -10569,6 +10644,15 @@ packages: webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.1 + /unplugin@1.9.0: + resolution: {integrity: sha512-14PslvMY3gNbXnQtNIRB566Q057L5Fe7f5LDEamxVi0QQVxoz5hrveBwwZLcKyHtZ09ysmipxRRj5Lv+BGz2Iw==} + engines: {node: '>=14.0.0'} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + /unstorage@1.10.1: resolution: {integrity: sha512-rWQvLRfZNBpF+x8D3/gda5nUCQL2PgXy2jNG4U7/Rc9BGEv9+CAJd0YyGCROUBKs9v49Hg8huw3aih5Bf5TAVw==} peerDependencies: @@ -11228,21 +11312,21 @@ packages: dependencies: string-width: 4.2.3 - /workerd@1.20240223.1: - resolution: {integrity: sha512-Mo1fwdp6DLva4/fWdL09ZdYllkO45I4YpWG5PbF/YUGFlu2aMk24fmU6Pd6fo5/cWek4F+n3LmYEKKHfqjiJIA==} + /workerd@1.20240304.0: + resolution: {integrity: sha512-/tYxdypPh9NKQje9r7bgBB73vAQfCQZbEPjNlxE/ml7jNKMHnRZv/D+By4xO0IPAifa37D0sJFokvYOahz1Lqw==} engines: {node: '>=16'} hasBin: true requiresBuild: true optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240223.1 - '@cloudflare/workerd-darwin-arm64': 1.20240223.1 - '@cloudflare/workerd-linux-64': 1.20240223.1 - '@cloudflare/workerd-linux-arm64': 1.20240223.1 - '@cloudflare/workerd-windows-64': 1.20240223.1 + '@cloudflare/workerd-darwin-64': 1.20240304.0 + '@cloudflare/workerd-darwin-arm64': 1.20240304.0 + '@cloudflare/workerd-linux-64': 1.20240304.0 + '@cloudflare/workerd-linux-arm64': 1.20240304.0 + '@cloudflare/workerd-windows-64': 1.20240304.0 dev: true - /wrangler@3.31.0(@cloudflare/workers-types@4.20240222.0): - resolution: {integrity: sha512-tanV8E8iD/REmWYkpmyDd/5lUFWBox85KCKRsPU/8biiHZH9VD3/RXJs6837TeSHAStfxV6EpF42U2OdU+trNg==} + /wrangler@3.32.0(@cloudflare/workers-types@4.20240222.0): + resolution: {integrity: sha512-UaOOn3fyv5C7y0NRPmkfS9LW3KElqGvUK+wLP9MClsuRgUrbwAkLt7jIR3fqhfxkXj5FbA6rXn/qjgEbGzEndw==} engines: {node: '>=16.17.0'} hasBin: true peerDependencies: @@ -11258,7 +11342,7 @@ packages: blake3-wasm: 2.1.5 chokidar: 3.6.0 esbuild: 0.17.19 - miniflare: 3.20240223.1 + miniflare: 3.20240304.0 nanoid: 3.3.7 path-to-regexp: 6.2.1 resolve: 1.22.8 @@ -11390,13 +11474,13 @@ packages: /zhead@2.2.4: resolution: {integrity: sha512-8F0OI5dpWIA5IGG5NHUg9staDwz/ZPxZtvGVf01j7vHqSyZ0raHY+78atOVxRqb73AotX22uV1pXt3gYSstGag==} - /zip-stream@5.0.2: - resolution: {integrity: sha512-LfOdrUvPB8ZoXtvOBz6DlNClfvi//b5d56mSWyJi7XbH/HfhOHfUhOqxhT/rUiR7yiktlunqRo+jY6y/cWC/5g==} - engines: {node: '>= 12.0.0'} + /zip-stream@6.0.0: + resolution: {integrity: sha512-X0WFquRRDtL9HR9hc1OrabOP/VKJEX7gAr2geayt3b7dLgXgSXI6ucC4CphLQP/aQt2GyHIYgmXxtC+dVdghAQ==} + engines: {node: '>= 14'} dependencies: - archiver-utils: 4.0.1 - compress-commons: 5.0.3 - readable-stream: 3.6.2 + archiver-utils: 5.0.1 + compress-commons: 6.0.1 + readable-stream: 4.5.2 /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} From 24fffa79fbea74d6c8b8d3fe40d1a074fbda2291 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sat, 9 Mar 2024 17:48:13 +0100 Subject: [PATCH 3/8] Update nuxt.config.ts --- playground/nuxt.config.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index d06e7e01..a1f87e27 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -3,9 +3,6 @@ export default defineNuxtConfig({ extends: [ '../' ], - hub: { - remote: true - }, modules: [ '@nuxt/ui', '@kgierke/nuxt-basic-auth' From a8070f6730355c1404897722a90d77e0b007c6ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sat, 9 Mar 2024 18:02:00 +0100 Subject: [PATCH 4/8] test: disable studio --- docs/nuxt.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/nuxt.config.ts b/docs/nuxt.config.ts index f31213d4..f1dcf243 100644 --- a/docs/nuxt.config.ts +++ b/docs/nuxt.config.ts @@ -5,7 +5,7 @@ export default defineNuxtConfig({ '@nuxt/fonts', '@nuxt/content', '@nuxt/ui', - '@nuxthq/studio', + // '@nuxthq/studio', 'nuxt-og-image', 'nuxt-cloudflare-analytics' ], From ff9a964b0035e4d81fc17868da367e507ede77de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sat, 9 Mar 2024 18:16:06 +0100 Subject: [PATCH 5/8] chore: try back studio --- docs/nuxt.config.ts | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/nuxt.config.ts b/docs/nuxt.config.ts index f1dcf243..f31213d4 100644 --- a/docs/nuxt.config.ts +++ b/docs/nuxt.config.ts @@ -5,7 +5,7 @@ export default defineNuxtConfig({ '@nuxt/fonts', '@nuxt/content', '@nuxt/ui', - // '@nuxthq/studio', + '@nuxthq/studio', 'nuxt-og-image', 'nuxt-cloudflare-analytics' ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a562b78f..882997c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -141,7 +141,7 @@ importers: version: 2.14.1(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21) '@nuxthub/core': specifier: latest - version: 0.3.1 + version: 0.3.2 drizzle-orm: specifier: ^0.29.3 version: 0.29.4(@cloudflare/workers-types@4.20240222.0) @@ -2185,7 +2185,7 @@ packages: strip-literal: 2.0.0 ufo: 1.4.0 unenv: 1.9.0 - unplugin: 1.8.3 + unplugin: 1.9.0 vite: 5.1.5(@types/node@20.11.25) vite-node: 1.3.1(@types/node@20.11.25) vite-plugin-checker: 0.6.4(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5) @@ -2230,8 +2230,8 @@ packages: - utf-8-validate dev: true - /@nuxthub/core@0.3.1: - resolution: {integrity: sha512-AoPEKFSzvCfcymbR5qwE60EIge1PSak1yF9TYOldo9azX7P0L2bWpxIx+sjzA9ELx8KHjaSumpq9Df2AHSzeQA==} + /@nuxthub/core@0.3.2: + resolution: {integrity: sha512-13u9dY90+/cWvSNG3ZxFkzq5NNwgZzYj/Ldlg7+40dPVIXW+n6qObdhk4/lpjdtiVrsOtXlrv4sphOgw3W9m3w==} dependencies: '@cloudflare/workers-types': 4.20240222.0 '@nuxt/kit': 3.10.3 @@ -10497,7 +10497,7 @@ packages: pkg-types: 1.0.3 scule: 1.3.0 strip-literal: 1.3.0 - unplugin: 1.8.3 + unplugin: 1.9.0 transitivePeerDependencies: - rollup From 8f001aa48a86e162949d348387f08da5f1b85115 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sat, 9 Mar 2024 18:29:23 +0100 Subject: [PATCH 6/8] chore: update deps --- docs/package.json | 12 +- pnpm-lock.yaml | 358 +++++++++++++++++++++++++++++++--------------- 2 files changed, 246 insertions(+), 124 deletions(-) diff --git a/docs/package.json b/docs/package.json index f1a32c3e..9e56c5e2 100644 --- a/docs/package.json +++ b/docs/package.json @@ -11,15 +11,13 @@ "dependencies": { "@iconify-json/heroicons": "^1.1.20", "@iconify-json/ph": "^1.1.11", - "@iconify-json/simple-icons": "^1.1.92", - "@nuxt/content": "^2.12.0", - "@nuxt/fonts": "^0.0.1", - "@nuxt/ui-pro": "^1.0.1", + "@iconify-json/simple-icons": "^1.1.94", + "@nuxt/content": "^2.12.1", + "@nuxt/fonts": "^0.0.2", + "@nuxt/ui-pro": "^1.0.2", + "@nuxthq/studio": "^1.0.13", "nuxt": "^3.10.3", "nuxt-cloudflare-analytics": "^1.0.8", "nuxt-og-image": "^2.2.4" - }, - "devDependencies": { - "@nuxthq/studio": "^1.0.11" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 882997c1..6938bf71 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -103,17 +103,20 @@ importers: specifier: ^1.1.11 version: 1.1.11 '@iconify-json/simple-icons': - specifier: ^1.1.92 - version: 1.1.92 + specifier: ^1.1.94 + version: 1.1.94 '@nuxt/content': - specifier: ^2.12.0 - version: 2.12.0(nuxt@3.10.3)(vue@3.4.21) + specifier: ^2.12.1 + version: 2.12.1(nuxt@3.10.3)(vue@3.4.21) '@nuxt/fonts': - specifier: ^0.0.1 - version: 0.0.1 + specifier: ^0.0.2 + version: 0.0.2 '@nuxt/ui-pro': - specifier: ^1.0.1 - version: 1.0.1(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21) + specifier: ^1.0.2 + version: 1.0.2(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21) + '@nuxthq/studio': + specifier: ^1.0.13 + version: 1.0.13 nuxt: specifier: ^3.10.3 version: 3.10.3(@types/node@20.11.25)(drizzle-orm@0.29.4)(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5) @@ -123,10 +126,6 @@ importers: nuxt-og-image: specifier: ^2.2.4 version: 2.2.4(@nuxt/devtools@1.0.8)(@vue/compiler-core@3.4.21)(nuxt@3.10.3)(postcss@8.4.35)(vite@5.1.5)(vue@3.4.21)(webpack@5.90.3) - devDependencies: - '@nuxthq/studio': - specifier: ^1.0.11 - version: 1.0.11 playground: dependencies: @@ -606,12 +605,12 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@capsizecss/metrics@1.3.0: - resolution: {integrity: sha512-dcAXsrrNs2zF3MC4T5iMGsiPm1NqTSdGgYI4YG17tAXL7jxKq0eWRsOWsY/gaYMTLXllgmZ+yaiKEVQ9UmEZrA==} + /@capsizecss/metrics@2.2.0: + resolution: {integrity: sha512-DkFIser1KbGxWyG2hhQQeCit72TnOQDx5pr9bkA7+XlIy7qv+4lYtslH3bidVxm2qkY2guAgypSIPYuQQuk70A==} dev: false - /@capsizecss/unpack@1.0.0: - resolution: {integrity: sha512-cXPI7IWQrPANXKYZwqZf53q2SuYnDkexpi9KzGNWls1NDK26lZqkE1Ry2XuMo9eGkqcmMSgVI8gJbMEgjX7bTQ==} + /@capsizecss/unpack@2.1.0: + resolution: {integrity: sha512-k+wAZylHNaBwfcGGeKV+tTf6G0Zd4SyiTMmzlVFKkkBVV70DzwC7KOtmV/ojLbjwRT4QSPcMvjmiws309CSPgQ==} dependencies: blob-to-buffer: 1.2.9 cross-fetch: 3.1.8 @@ -1405,6 +1404,12 @@ packages: '@iconify/types': 2.0.0 dev: false + /@iconify-json/simple-icons@1.1.94: + resolution: {integrity: sha512-2UwwbEJeZ/aMpACG/dZoOhNszKFO+IjcRCbYB+lMqd+6fA5ewykRy63IP8//UdviazOPamGJ/XbNBJH/o1YFdQ==} + dependencies: + '@iconify/types': 2.0.0 + dev: false + /@iconify-json/tabler@1.1.105: resolution: {integrity: sha512-USJbNfa0fAHBLilxTKn70wkvFnopmfcomfpqD0ul/69uyZnonztHhyrbM8MI9Ua4eYXaPymoB7tuZ+Ionx6xfg==} dependencies: @@ -1684,14 +1689,14 @@ packages: - bluebird - supports-color - /@nuxt/content@2.12.0(nuxt@3.10.3)(vue@3.4.21): - resolution: {integrity: sha512-XQkbkJzFRWKdX4aoVDprqLphbQGDsRX35ZRgHe4i7Phe3F1z2EzXVhZ9WXBTmpXau3MkLlmsQ+NzcRns1kOOvQ==} + /@nuxt/content@2.12.1(nuxt@3.10.3)(vue@3.4.21): + resolution: {integrity: sha512-xW4xjyYm6zqglb17Tu0J+rpKUV1PF9zp6SLu1lopylFnerdyImtce84206HT6Zd/DJgivKtoW4dyyJn0ZaSqCQ==} dependencies: '@nuxt/kit': 3.10.3 - '@nuxtjs/mdc': 0.5.0 - '@vueuse/core': 10.8.0(vue@3.4.21) + '@nuxtjs/mdc': 0.6.1 + '@vueuse/core': 10.9.0(vue@3.4.21) '@vueuse/head': 2.0.0(vue@3.4.21) - '@vueuse/nuxt': 10.8.0(nuxt@3.10.3)(vue@3.4.21) + '@vueuse/nuxt': 10.9.0(nuxt@3.10.3)(vue@3.4.21) consola: 3.2.3 defu: 6.1.4 destr: 2.0.3 @@ -1886,23 +1891,24 @@ packages: - supports-color dev: true - /@nuxt/fonts@0.0.1: - resolution: {integrity: sha512-HLEcQ8bguPsqWdf/QIgQmjd2m3wzzl4RnokQ+Mk6f6qjZMnWfEyGCdfvbCUoBdk3Sl6o+0pElTWb7bS8lcyI7A==} + /@nuxt/fonts@0.0.2: + resolution: {integrity: sha512-n8U2PE2eDZaoJmnS+W3EmSbpNhAVjSiCjswHxkCRlgQorwwg9FDW2np7jB+rW38WkrykzPLivPUp3Ej9Lmq7+g==} dependencies: '@nuxt/kit': 3.10.3 chalk: 5.3.0 css-tree: 2.3.1 defu: 6.1.4 - fontaine: 0.4.1 + esbuild: 0.20.1 + fontaine: 0.5.0 globby: 14.0.1 h3: 1.11.1 jiti: 1.21.0 - magic-string: 0.30.7 + magic-string: 0.30.8 ofetch: 1.3.3 ohash: 1.1.3 pathe: 1.1.2 ufo: 1.4.0 - unplugin: 1.7.1 + unplugin: 1.9.0 unstorage: 1.10.1 transitivePeerDependencies: - '@azure/app-configuration' @@ -2063,11 +2069,11 @@ packages: - supports-color dev: true - /@nuxt/ui-pro@1.0.1(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21): - resolution: {integrity: sha512-dpLo5irKc59k0twKHuQaKYkJMFH2x3HVbvVK+vBSHhBDRtAEcKEHt6ccnTvwk8bUDGTmcMoD5SJLm6X6Vf+iGA==} + /@nuxt/ui-pro@1.0.2(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21): + resolution: {integrity: sha512-ZozJbJg88L57K+CNFgzj2Xx1Z7fKn9+LGsrqUKE3nMwqJ9qw/QBHejqa4pnphVGToVt+6p0dhrRnXydp9qPGrw==} dependencies: - '@nuxt/ui': 2.14.1(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21) - '@vueuse/core': 10.8.0(vue@3.4.21) + '@nuxt/ui': 2.14.2(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.21) defu: 6.1.4 git-url-parse: 14.0.0 ofetch: 1.3.3 @@ -2150,6 +2156,55 @@ packages: - vue dev: false + /@nuxt/ui@2.14.2(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21): + resolution: {integrity: sha512-xEtgnofE2A/Ou+Afv70m/hLtcfvLs41cs/qZHVcqErv6OO8uKyDETS5bKhiZGlDcI0wccTJq/ULaDUGuwnRN2g==} + engines: {node: '>=v16.20.2'} + dependencies: + '@egoist/tailwindcss-icons': 1.7.4(tailwindcss@3.4.1) + '@headlessui/tailwindcss': 0.2.0(tailwindcss@3.4.1) + '@headlessui/vue': 1.7.19(vue@3.4.21) + '@iconify-json/heroicons': 1.1.20 + '@nuxt/kit': 3.10.3 + '@nuxtjs/color-mode': 3.3.2 + '@nuxtjs/tailwindcss': 6.11.4 + '@popperjs/core': 2.11.8 + '@tailwindcss/aspect-ratio': 0.4.2(tailwindcss@3.4.1) + '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.1) + '@tailwindcss/forms': 0.5.7(tailwindcss@3.4.1) + '@tailwindcss/typography': 0.5.10(tailwindcss@3.4.1) + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/integrations': 10.9.0(fuse.js@6.6.2)(vue@3.4.21) + '@vueuse/math': 10.9.0(vue@3.4.21) + defu: 6.1.4 + fuse.js: 6.6.2 + nuxt-icon: 0.6.8(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21) + ohash: 1.1.3 + pathe: 1.1.2 + scule: 1.3.0 + tailwind-merge: 2.2.1 + tailwindcss: 3.4.1 + transitivePeerDependencies: + - '@vue/composition-api' + - async-validator + - axios + - change-case + - drauu + - focus-trap + - idb-keyval + - jwt-decode + - nprogress + - nuxt + - qrcode + - rollup + - sortablejs + - supports-color + - ts-node + - uWebSockets.js + - universal-cookie + - vite + - vue + dev: false + /@nuxt/vite-builder@3.10.3(@types/node@20.11.25)(eslint@8.57.0)(typescript@5.4.2)(vue@3.4.21): resolution: {integrity: sha512-BqkbrYkEk1AVUJleofbqTRV+ltf2p1CDjGDK78zENPCgrSABlj4F4oK8rze8vmRY5qoH7kMZxgMa2dXVXCp6OA==} engines: {node: ^14.18.0 || >=16.10.0} @@ -2211,8 +2266,8 @@ packages: - vti - vue-tsc - /@nuxthq/studio@1.0.11: - resolution: {integrity: sha512-MLrs/qvGqaSp+q3pezBTcRfkTHOJs9+MP0IIzSPwVCl4mncu4/1jyVLF7XjcjV4V91NFXJ/cjCNBQQWRsU7uLg==} + /@nuxthq/studio@1.0.13: + resolution: {integrity: sha512-C4j+K53om5Kj5xLrehWEbnDJlid5tDsHP7QdOIsK550dHOxPmvaXMH4YxsSNU8cDppMheMbN59zdYhQaQfko6g==} dependencies: '@nuxt/kit': 3.10.3 defu: 6.1.4 @@ -2228,7 +2283,7 @@ packages: - rollup - supports-color - utf-8-validate - dev: true + dev: false /@nuxthub/core@0.3.2: resolution: {integrity: sha512-13u9dY90+/cWvSNG3ZxFkzq5NNwgZzYj/Ldlg7+40dPVIXW+n6qObdhk4/lpjdtiVrsOtXlrv4sphOgw3W9m3w==} @@ -2280,14 +2335,14 @@ packages: - supports-color dev: false - /@nuxtjs/mdc@0.5.0: - resolution: {integrity: sha512-480Ajc7o/YAl9b21btd0oRtVe/UjUWmVSEWauS+H+izwEGdGvJTVfZRdaiAXcXKl+UmUTpf+POel027sE9HAZQ==} + /@nuxtjs/mdc@0.6.1: + resolution: {integrity: sha512-zS5QK7DZ/SBrjqQX1DOy7GnxKy+wbj2+LvooefOWmQqHfLTAqJLVIjuv/BmKnQWiRCq19+uysys3iY42EoY5/A==} dependencies: '@nuxt/kit': 3.10.3 '@shikijs/transformers': 1.1.7 '@types/hast': 3.0.4 '@types/mdast': 4.0.3 - '@vue/compiler-core': 3.4.19 + '@vue/compiler-core': 3.4.21 consola: 3.2.3 debug: 4.3.4 defu: 6.1.4 @@ -2308,7 +2363,7 @@ packages: rehype-sort-attributes: 5.0.0 remark-emoji: 4.0.1 remark-gfm: 4.0.0 - remark-mdc: 3.0.2 + remark-mdc: 3.1.0 remark-parse: 11.0.0 remark-rehype: 11.1.0 scule: 1.3.0 @@ -3016,6 +3071,7 @@ packages: /@socket.io/component-emitter@3.1.0: resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} + dev: false /@swc/helpers@0.4.14: resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==} @@ -3329,68 +3385,29 @@ packages: /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - /@unhead/dom@1.8.10: - resolution: {integrity: sha512-dBeDbHrBjeU+eVgMsD91TGEazb1dwLrY0x/ve01CldMCmm+WcRu++SUW7s1QX84mzGH2EgFz78o1OPn6jpV3zw==} - dependencies: - '@unhead/schema': 1.8.10 - '@unhead/shared': 1.8.10 - dev: false - /@unhead/dom@1.8.12: resolution: {integrity: sha512-1A94VyVX/yxBXmZR1mvxvmhhbgF72dUDcmsmoyXOiobd3Zt2rJLu19Ih8jy35CDR4oUAWzK+o6HO1vWzY4wGAQ==} dependencies: '@unhead/schema': 1.8.12 '@unhead/shared': 1.8.12 - /@unhead/schema@1.8.10: - resolution: {integrity: sha512-cy8RGOPkwOVY5EmRoCgGV8AqLjy/226xBVTY54kBct02Om3hBdpB9FZa9frM910pPUXMI8PNmFgABO23O7IdJA==} - dependencies: - hookable: 5.5.3 - zhead: 2.2.4 - dev: false - /@unhead/schema@1.8.12: resolution: {integrity: sha512-sUkjvRGaAN0NCvZtB7VtyC5pUdYQAutHtmKbEK79nfPfb2Z7kFT1nysIno13ivybeq98l4Ge1o4crVuTwGHhTw==} dependencies: hookable: 5.5.3 zhead: 2.2.4 - /@unhead/shared@1.8.10: - resolution: {integrity: sha512-pEFryAs3EmV+ShDQx2ZBwUnt5l3RrMrXSMZ50oFf+MImKZNARVvD4+3I8fEI9wZh+Zq0JYG3UAfzo51MUP+Juw==} - dependencies: - '@unhead/schema': 1.8.10 - dev: false - /@unhead/shared@1.8.12: resolution: {integrity: sha512-3pP1cYSH22UeCvvVyAVkh7Nfo2GwWDuO/h/31I2eVl5oVvmb0vZx7Ff47RlfKDMkfN7ddKaRwkLaYAR+hNNWsQ==} dependencies: '@unhead/schema': 1.8.12 - /@unhead/ssr@1.8.10: - resolution: {integrity: sha512-7wKRKDd8c2NFmMyPetj8Ah5u2hXunDBZT5Y2DH83O16PiMxx4/uobGamTV1EfcqjTvOKJvAqkrYZNYSWss99NQ==} - dependencies: - '@unhead/schema': 1.8.10 - '@unhead/shared': 1.8.10 - dev: false - /@unhead/ssr@1.8.12: resolution: {integrity: sha512-e1pcp5HU6QgQChxx4YrMA+Lq/fw783vKtbbbnh0XCcHhwvuw2wr55Ah27KEwm+CGKHkuAhmz75ZKBJy1GZcu2Q==} dependencies: '@unhead/schema': 1.8.12 '@unhead/shared': 1.8.12 - /@unhead/vue@1.8.10(vue@3.4.21): - resolution: {integrity: sha512-KF8pftHnxnlBlgNpKXWLTg3ZUtkuDCxRPUFSDBy9CtqRSX/qvAhLZ26mbqRVmHj8KigiRHP/wnPWNyGnUx20Bg==} - peerDependencies: - vue: '>=2.7 || >=3' - dependencies: - '@unhead/schema': 1.8.10 - '@unhead/shared': 1.8.10 - hookable: 5.5.3 - unhead: 1.8.10 - vue: 3.4.21(typescript@5.4.2) - dev: false - /@unhead/vue@1.8.12(vue@3.4.21): resolution: {integrity: sha512-26D+3SIfJwTx1PgPa+urjJ5agImucevSS5pwXMTYHQOK45ip+TTAealrRTbMmAkvaw+KK6Su9OaCzlYVJnmDOQ==} peerDependencies: @@ -3753,20 +3770,20 @@ packages: resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} dependencies: '@volar/source-map': 1.11.1 - dev: true + dev: false /@volar/source-map@1.11.1: resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} dependencies: muggle-string: 0.3.1 - dev: true + dev: false /@volar/typescript@1.11.1: resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==} dependencies: '@volar/language-core': 1.11.1 path-browserify: 1.0.1 - dev: true + dev: false /@vue-macros/common@1.10.1(vue@3.4.21): resolution: {integrity: sha512-uftSpfwdwitcQT2lM8aVxcfe5rKQBzC9jMrtJM5sG4hEuFyfIvnJihpPpnaWxY+X4p64k+YYXtBFv+1O5Bq3dg==} @@ -3906,15 +3923,15 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.19 - '@vue/shared': 3.4.19 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 path-browserify: 1.0.1 typescript: 5.4.2 vue-template-compiler: 2.7.16 - dev: true + dev: false /@vue/reactivity@3.4.21: resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} @@ -3961,15 +3978,27 @@ packages: - vue dev: false + /@vueuse/core@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} + dependencies: + '@types/web-bluetooth': 0.0.20 + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + /@vueuse/head@2.0.0(vue@3.4.21): resolution: {integrity: sha512-ykdOxTGs95xjD4WXE4na/umxZea2Itl0GWBILas+O4oqS7eXIods38INvk3XkJKjqMdWPcpCyLX/DioLQxU1KA==} peerDependencies: vue: '>=2.7 || >=3' dependencies: - '@unhead/dom': 1.8.10 - '@unhead/schema': 1.8.10 - '@unhead/ssr': 1.8.10 - '@unhead/vue': 1.8.10(vue@3.4.21) + '@unhead/dom': 1.8.12 + '@unhead/schema': 1.8.12 + '@unhead/ssr': 1.8.12 + '@unhead/vue': 1.8.12(vue@3.4.21) vue: 3.4.21(typescript@5.4.2) dev: false @@ -4073,6 +4102,56 @@ packages: - vue dev: false + /@vueuse/integrations@10.9.0(fuse.js@6.6.2)(vue@3.4.21): + resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} + peerDependencies: + async-validator: '*' + axios: '*' + change-case: '*' + drauu: '*' + focus-trap: '*' + fuse.js: '*' + idb-keyval: '*' + jwt-decode: '*' + nprogress: '*' + qrcode: '*' + sortablejs: '*' + universal-cookie: '*' + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + dependencies: + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.21) + fuse.js: 6.6.2 + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + /@vueuse/math@10.8.0(vue@3.4.21): resolution: {integrity: sha512-BDuYmR/2D6T/REl9i6m0jYRpCr/901Jo/B1edkIhwqMeHgHxwHUlq47I4QXdQv0aYHoPADLuiB02cP7uJK7rkg==} dependencies: @@ -4083,10 +4162,24 @@ packages: - vue dev: false + /@vueuse/math@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-qb60AzFKzg8Gw85c4YiheEMC2AMkk+eO/nB9MmuQFU/HAHvfVckesiPlwaQqUlZQ4MJt0z8qP18/H7ozpj0sKQ==} + dependencies: + '@vueuse/shared': 10.9.0(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + /@vueuse/metadata@10.8.0: resolution: {integrity: sha512-Nim/Vle5OgXcXhAvGOgkJQXB1Yb+Kq/fMbLuv3YYDYbiQrwr39ljuD4k9fPeq4yUyokYRo2RaNQmbbIMWB/9+w==} dev: false + /@vueuse/metadata@10.9.0: + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} + dev: false + /@vueuse/nuxt@10.8.0(nuxt@3.10.3)(vue@3.4.21): resolution: {integrity: sha512-7b1S52exryoJoAgwH/4GRjtCjr7j8Fc5/H/orAt1DxZuiOGYEOCo7zaoM6twiURSzyiBiUemdvaRJqYzV37W6A==} peerDependencies: @@ -4105,6 +4198,24 @@ packages: - vue dev: false + /@vueuse/nuxt@10.9.0(nuxt@3.10.3)(vue@3.4.21): + resolution: {integrity: sha512-nC4Efg28Q6E41fUD5R+zM9uT5c+NfaDzaJCpqaEV/qHj+/BNJmkDBK8POLIUsiVOY35d0oD/YxZ+eVizqWBZow==} + peerDependencies: + nuxt: ^3.0.0 + dependencies: + '@nuxt/kit': 3.10.3 + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/metadata': 10.9.0 + local-pkg: 0.5.0 + nuxt: 3.10.3(@types/node@20.11.25)(drizzle-orm@0.29.4)(eslint@8.57.0)(typescript@5.4.2)(vite@5.1.5) + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - rollup + - supports-color + - vue + dev: false + /@vueuse/shared@10.8.0(vue@3.4.21): resolution: {integrity: sha512-dUdy6zwHhULGxmr9YUg8e+EnB39gcM4Fe2oKBSrh3cOsV30JcMPtsyuspgFCUo5xxFNaeMf/W2yyKfST7Bg8oQ==} dependencies: @@ -4114,6 +4225,15 @@ packages: - vue dev: false + /@vueuse/shared@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} + dependencies: + vue-demi: 0.14.7(vue@3.4.21) + transitivePeerDependencies: + - '@vue/composition-api' + - vue + dev: false + /@webassemblyjs/ast@1.11.6: resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} dependencies: @@ -4957,7 +5077,7 @@ packages: /computeds@0.0.1: resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} - dev: true + dev: false /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -5205,7 +5325,7 @@ packages: /de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - dev: true + dev: false /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} @@ -5545,10 +5665,12 @@ packages: - bufferutil - supports-color - utf-8-validate + dev: false /engine.io-parser@5.2.2: resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==} engines: {node: '>=10.0.0'} + dev: false /enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} @@ -5990,16 +6112,16 @@ packages: tabbable: 6.2.0 dev: false - /fontaine@0.4.1: - resolution: {integrity: sha512-Ps7KS0xFkbeZWa+ynuNQncHYz6j7gs6+SXcWWeA7+HCeidXTnIQNryCuUxQdjxBwmRBY0Or998brldt4WFwfcQ==} + /fontaine@0.5.0: + resolution: {integrity: sha512-vPDSWKhVAfTx4hRKT777+N6Szh2pAosAuzLpbppZ6O3UdD/1m6OlHjNcC3vIbgkRTIcLjzySLHXzPeLO2rE8cA==} dependencies: - '@capsizecss/metrics': 1.3.0 - '@capsizecss/unpack': 1.0.0 - magic-regexp: 0.7.0 - magic-string: 0.30.7 + '@capsizecss/metrics': 2.2.0 + '@capsizecss/unpack': 2.1.0 + magic-regexp: 0.8.0 + magic-string: 0.30.8 pathe: 1.1.2 ufo: 1.4.0 - unplugin: 1.7.1 + unplugin: 1.9.0 transitivePeerDependencies: - encoding dev: false @@ -6169,6 +6291,7 @@ packages: resolution: {integrity: sha512-NnLweV+2A4nCvn4U/m2AoYu0pPKlsmhK9cknG7IMwsjFY1S2jxM+mAhsDxyxfCIGfGaD+dozsyX4b6vkYc83yQ==} dependencies: git-up: 7.0.0 + dev: false /github-slugger@2.0.0: resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} @@ -6417,7 +6540,7 @@ packages: /he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - dev: true + dev: false /hex-rgb@4.3.0: resolution: {integrity: sha512-Ox1pJVrDCyGHMG9CFg1tmrRUMRPRsAWYc/PinY0XzJU4K7y7vjNoLKIQ7BR5UJMCxNN8EM1MNDmHWA/B3aZUuw==} @@ -7125,15 +7248,16 @@ packages: dependencies: yallist: 4.0.0 - /magic-regexp@0.7.0: - resolution: {integrity: sha512-C9m5/JqFV1/CMrMFDf1PqmvMc8ohrssmlF5bdgea7nUqqn6D9xzKVTa6DIm0LReCqvEPS35o1UElmb7PmoSfHQ==} + /magic-regexp@0.8.0: + resolution: {integrity: sha512-lOSLWdE156csDYwCTIGiAymOLN7Epu/TU5e/oAnISZfU6qP+pgjkE+xbVjVn3yLPKN8n1G2yIAYTAM5KRk6/ow==} dependencies: estree-walker: 3.0.3 - magic-string: 0.30.7 + magic-string: 0.30.8 mlly: 1.6.1 + regexp-tree: 0.1.27 type-level-regexp: 0.1.17 ufo: 1.4.0 - unplugin: 1.7.1 + unplugin: 1.9.0 dev: false /magic-string-ast@0.3.0: @@ -7809,7 +7933,7 @@ packages: /muggle-string@0.3.1: resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} - dev: true + dev: false /mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} @@ -8165,7 +8289,7 @@ packages: transitivePeerDependencies: - rollup - supports-color - dev: true + dev: false /nuxt-icon@0.6.8(nuxt@3.10.3)(vite@5.1.5)(vue@3.4.21): resolution: {integrity: sha512-6eWlNOb6Uvp63uXFdhcmsB1JlubDv76Pot/VwmIu0yJxDYhwytbnv3WAjw2khl2l7W/65V4eMGIEeX9C5Ahxng==} @@ -8652,7 +8776,7 @@ packages: /path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: true + dev: false /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} @@ -9291,6 +9415,11 @@ packages: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} dev: false + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: false + /rehype-external-links@3.0.0: resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} dependencies: @@ -9359,8 +9488,8 @@ packages: - supports-color dev: false - /remark-mdc@3.0.2: - resolution: {integrity: sha512-HoCaTwIkvYp1Kj9EiKMNpfAjLO53PwiaeA5J2o+uIBfCHjcOWai3oDmCkEZVCIHbHgU/qSZ8JeiQftksnVKTeQ==} + /remark-mdc@3.1.0: + resolution: {integrity: sha512-5Hf5w2u59AgzclopOPwMUW4FgEWW6s7AVJf1yRIRIIfydBGrq7sW1rhnwMxsswt9bbMPxiuDwImh8DXPfyA85Q==} dependencies: '@types/mdast': 4.0.3 '@types/unist': 3.0.2 @@ -9811,6 +9940,7 @@ packages: - bufferutil - supports-color - utf-8-validate + dev: false /socket.io-parser@4.2.4: resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} @@ -9820,6 +9950,7 @@ packages: debug: 4.3.4 transitivePeerDependencies: - supports-color + dev: false /socks-proxy-agent@8.0.2: resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==} @@ -10430,15 +10561,6 @@ packages: node-fetch-native: 1.6.2 pathe: 1.1.2 - /unhead@1.8.10: - resolution: {integrity: sha512-dth8FvZkLriO5ZWWOBIYBNSfGiwJtKcqpPWpSOk/Z0e2jdlgwoZEWZHFyte0EKvmbZxKcsWNMqIuv7dEmS5yZQ==} - dependencies: - '@unhead/dom': 1.8.10 - '@unhead/schema': 1.8.10 - '@unhead/shared': 1.8.10 - hookable: 5.5.3 - dev: false - /unhead@1.8.12: resolution: {integrity: sha512-O7YPZo1QtNo24Cv9cXiewB74feARf7v8fCmYWQiY3w0z/7oig1kOoGJub6y2XuusQMZpSX56/GDRmog0IZldeA==} dependencies: @@ -11128,11 +11250,11 @@ packages: path-browserify: 1.0.1 typescript: 5.4.2 vue-component-type-helpers: 1.8.27 - dev: true + dev: false /vue-component-type-helpers@1.8.27: resolution: {integrity: sha512-0vOfAtI67UjeO1G6UiX5Kd76CqaQ67wrRZiOe7UAb9Jm6GzlUr/fC7CV90XfwapJRjpCMaZFhv1V0ajWRmE9Dg==} - dev: true + dev: false /vue-demi@0.14.7(vue@3.4.21): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} @@ -11183,7 +11305,7 @@ packages: dependencies: de-indent: 1.0.2 he: 1.2.0 - dev: true + dev: false /vue3-smooth-dnd@0.0.6(vue@3.4.21): resolution: {integrity: sha512-CH9ZZhEfE7qU1ef2rlfgBG+nZtQX8PnWlspB2HDDz1uVGU7fXM0Pr65DftBMz4X81S+edw2H+ZFG6Dyb5J81KA==} @@ -11388,6 +11510,7 @@ packages: optional: true utf-8-validate: optional: true + dev: false /ws@8.16.0: resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} @@ -11409,6 +11532,7 @@ packages: /xmlhttprequest-ssl@2.0.0: resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} engines: {node: '>=0.4.0'} + dev: false /xxhash-wasm@1.0.2: resolution: {integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==} From 6baeb43de97c2808f391125860ab39c28697039a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 4 Feb 2025 14:05:32 +0100 Subject: [PATCH 7/8] chore: set db only if experimental enabled --- src/module/index.ts | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/module/index.ts b/src/module/index.ts index b7bf93d8..e71be97d 100644 --- a/src/module/index.ts +++ b/src/module/index.ts @@ -92,17 +92,16 @@ export default defineNuxtModule({ } }) - // Bind `useDatabase()` to `hubDatabase()` - nuxt.options.nitro.experimental = defu(nuxt.options.nitro.experimental, { - database: true - }) - // @ts-ignore - nuxt.options.nitro.database = defu(nuxt.options.nitro.database, { - default: { - connector: 'cloudflare-d1', - options: { bindingName: 'DB' } - } - }) + // Bind `useDatabase()` to `hubDatabase()` if experimental.database is true + if (nuxt.options.nitro.experimental?.database) { + // @ts-ignore + nuxt.options.nitro.database = defu(nuxt.options.nitro.database, { + default: { + connector: 'cloudflare-d1', + options: { bindingName: 'DB' } + } + }) + } // nuxt prepare, stop here if (nuxt.options._prepare) { From 725e8dda6f73f50665d5fa537e9d4ebc028e581b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Tue, 4 Feb 2025 14:10:18 +0100 Subject: [PATCH 8/8] up --- playground/nuxt.config.ts | 1 + src/features.ts | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index b474371c..f59cbe8b 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -25,6 +25,7 @@ export default defineNuxtConfig({ nitro: { // preset: 'cloudflare-durable', experimental: { + database: true, openAPI: true, websocket: true } diff --git a/src/features.ts b/src/features.ts index e2be0af6..08642215 100644 --- a/src/features.ts +++ b/src/features.ts @@ -216,6 +216,17 @@ export async function setupDatabase(nuxt: Nuxt, hub: HubConfig) { // Add Server scanning addServerScanDir(resolve('./runtime/database/server')) addServerImportsDir(resolve('./runtime/database/server/utils')) + // Bind `useDatabase()` to `hubDatabase()` if experimental.database is true + if (nuxt.options.nitro.experimental?.database) { + // @ts-expect-error cannot respect the typed database configs + nuxt.options.nitro.database = defu(nuxt.options.nitro.database, { + default: { + connector: 'cloudflare-d1', + options: { bindingName: 'DB' } + } + }) + } + // Handle migrations nuxt.hook('modules:done', async () => { // Call hub:database:migrations:dirs hook await nuxt.callHook('hub:database:migrations:dirs', hub.databaseMigrationsDirs!)