diff --git a/docs/content/0.index.yml b/docs/content/0.index.yml
index 84e6a77b..3e754ab9 100644
--- a/docs/content/0.index.yml
+++ b/docs/content/0.index.yml
@@ -10,8 +10,8 @@ hero:
light: '/images/landing/hero-light.svg'
dark: '/images/landing/hero-dark.svg'
headline:
- label: Using AI for User Experience
- to: /blog/cloudflare-ai-for-user-experience
+ label: Browser rendering is available
+ to: /changelog/hub-browser
icon: i-ph-arrow-right
links:
- label: Start reading docs
diff --git a/docs/content/1.docs/2.features/ai.md b/docs/content/1.docs/2.features/ai.md
index be7e519e..c27effc1 100644
--- a/docs/content/1.docs/2.features/ai.md
+++ b/docs/content/1.docs/2.features/ai.md
@@ -169,11 +169,11 @@ NuxtHub AI is compatible with some functions of the [Vercel AI SDK](https://sdk
Make sure to install the Vercel AI SDK in your project.
```[Terminal]
-npx nypm add ai @ai-sdk/vue
+npx ni ai @ai-sdk/vue
```
::note
-[`nypm`](https://github.com/unjs/nypm) will detect your package manager and install the dependencies with it.
+[`ni`](https://github.com/antfu/ni) will detect your package manager and install the dependencies with it.
::
### `useChat()`
diff --git a/docs/content/1.docs/2.features/browser.md b/docs/content/1.docs/2.features/browser.md
new file mode 100644
index 00000000..6a9d8285
--- /dev/null
+++ b/docs/content/1.docs/2.features/browser.md
@@ -0,0 +1,230 @@
+---
+title: Browser Rendering
+navigation.title: Browser
+description: Control and interact with a headless browser instance in your Nuxt application using Puppeteer.
+---
+
+## Getting Started
+
+Enable browser rendering in your Nuxt project by enabling the `hub.browser` option:
+
+```ts [nuxt.config.ts]
+export default defineNuxtConfig({
+ hub: {
+ browser: true
+ },
+})
+```
+
+Lastly, install the required dependencies by running the following command:
+
+```bash [Terminal]
+npx ni @cloudflare/puppeteer puppeteer
+```
+
+::note
+[ni](https://github.com/antfu/ni) will automatically detect the package manager you are using and install the dependencies.
+::
+
+## Usage
+
+In your server API routes, you can use the `hubBrowser` function to get a [Puppeteer browser instance](https://github.com/puppeteer/puppeteer):
+
+```ts
+const { page, browser } = await hubBrowser()
+```
+
+In production, the instance will be from [`@cloudflare/puppeteer`](https://developers.cloudflare.com/browser-rendering/platform/puppeteer/) which is a fork of Puppeteer with version specialized for working within Cloudflare workers.
+
+::tip
+NuxtHub will automatically close the `page` instance when the response is sent as well as closing or disconnecting the `browser` instance when needed.
+::
+
+## Use Cases
+
+Here are some use cases for using a headless browser like Puppeteer in your Nuxt application:
+- **Web scraping:** Extract data from websites, especially those with dynamic content that requires JavaScript execution.
+- **Generating PDFs or screenshots:** Create snapshots or PDF versions of web pages.
+- **Performance monitoring:** Measure load times, resource usage, and other performance metrics of web applications.
+- **Automating interactions or testing:** Simulating user actions on websites for tasks like form filling, clicking buttons, or navigating through multi-step processes.
+
+## Limits
+
+::important
+Browser rendering is only available on the [Workers Paid](https://www.cloudflare.com/plans/developer-platform/) plan for now.
+::
+
+To improve the performance in production, NuxtHub will reuse browser sessions. This means that the browser will stay open after each request (for 60 seconds), a new request will reuse the same browser session if available or open a new one.
+
+The Cloudflare limits are:
+- 2 new browsers per minute per Cloudflare account
+- 2 concurrent browser sessions per account
+- a browser instance gets killed if no activity is detected for 60 seconds (idle timeout)
+
+You can extend the idle timeout by giving the `keepAlive` option when creating the browser instance:
+
+```ts
+// keep the browser instance alive for 120 seconds
+const { page, browser } = await hubBrowser({ keepAlive: 120 })
+```
+
+The maximum idle timeout is 600 seconds (10 minutes).
+
+::tip
+Once NuxtHub supports [Durable Objects](https://github.com/nuxt-hub/core/issues/50), you will be able to create a single browser instance that will stay open for a long time, and you will be able to reuse it across requests.
+::
+
+## Screenshot Capture
+
+Taking a screenshot of a website is a common use case for a headless browser. Let's create an API route to capture a screenshot of a website:
+
+```ts [server/api/screenshot.ts]
+import { z } from 'zod'
+
+export default eventHandler(async (event) => {
+ // Get the URL and theme from the query parameters
+ const { url, theme } = await getValidatedQuery(event, z.object({
+ url: z.string().url(),
+ theme: z.enum(['light', 'dark']).optional().default('light')
+ }).parse)
+
+ // Get a browser session and open a new page
+ const { page } = await hubBrowser()
+
+ // Set the viewport to full HD & set the color-scheme
+ await page.setViewport({ width: 1920, height: 1080 })
+ await page.emulateMediaFeatures([{
+ name: 'prefers-color-scheme',
+ value: theme
+ }])
+
+ // Go to the URL and wait for the page to load
+ await page.goto(url, { waitUntil: 'domcontentloaded' })
+
+ // Return the screenshot as response
+ setHeader(event, 'content-type', 'image/jpeg')
+ return page.screenshot()
+})
+```
+
+On the application side, we can create a simple form to call our API endpoint:
+
+```vue [pages/capture.vue]
+
+
+
+
+
+```
+
+That's it! You can now capture screenshots of websites using Puppeteer in your Nuxt application.
+
+### Storing the screenshots
+
+You can store the screenshots in the Blob storage:
+
+```ts
+const screenshot = await page.screenshot()
+
+// Upload the screenshot to the Blob storage
+const filename = `screenshots/${url.value.replace(/[^a-zA-Z0-9]/g, '-')}.jpg`
+const blob = await hubBlob().put(filename, screenshot)
+```
+
+::note{to="/docs/features/blob"}
+Learn more about the Blob storage.
+::
+
+## Metadata Extraction
+
+Another common use case is to extract metadata from a website.
+
+```ts [server/api/metadata.ts]
+import { z } from 'zod'
+
+export default eventHandler(async (event) => {
+ // Get the URL from the query parameters
+ const { url } = await getValidatedQuery(event, z.object({
+ url: z.string().url()
+ }).parse)
+
+ // Get a browser instance and navigate to the url
+ const { page } = await hubBrowser()
+ await page.goto(url, { waitUntil: 'networkidle0' })
+
+ // Extract metadata from the page
+ const metadata = await page.evaluate(() => {
+ const getMetaContent = (name) => {
+ const element = document.querySelector(`meta[name="${name}"], meta[property="${name}"]`)
+ return element ? element.getAttribute('content') : null
+ }
+
+ return {
+ title: document.title,
+ description: getMetaContent('description') || getMetaContent('og:description'),
+ favicon: document.querySelector('link[rel="shortcut icon"]')?.href
+ || document.querySelector('link[rel="icon"]')?.href,
+ ogImage: getMetaContent('og:image'),
+ origin: document.location.origin
+ }
+ })
+
+ return metadata
+})
+```
+
+Visiting `/api/metadata?url=https://cloudflare.com` will return the metadata of the website:
+
+```json
+{
+ "title": "Connect, Protect and Build Everywhere | Cloudflare",
+ "description": "Make employees, applications and networks faster and more secure everywhere, while reducing complexity and cost.",
+ "favicon": "https://www.cloudflare.com/favicon.ico",
+ "ogImage": "https://cf-assets.www.cloudflare.com/slt3lc6tev37/2FNnxFZOBEha1W2MhF44EN/e9438de558c983ccce8129ddc20e1b8b/CF_MetaImage_1200x628.png",
+ "origin": "https://www.cloudflare.com"
+}
+```
+
+To store the metadata of a website, you can use the [Key Value Storage](/docs/features/kv).
+
+Or directly leverage [Caching](/docs/features/cache) on this API route:
+
+```ts [server/api/metadata.ts]
+export default cachedEventHandler(async (event) => {
+ // ...
+}, {
+ maxAge: 60 * 60 * 24 * 7, // 1 week
+ swr: true,
+ // Use the URL as key to invalidate the cache when the URL changes
+ // We use btoa to transform the URL to a base64 string
+ getKey: (event) => btoa(getQuery(event).url),
+})
+```
diff --git a/docs/content/1.docs/3.recipes/5.postgres.md b/docs/content/1.docs/3.recipes/5.postgres.md
index 988ae87c..301c99e8 100644
--- a/docs/content/1.docs/3.recipes/5.postgres.md
+++ b/docs/content/1.docs/3.recipes/5.postgres.md
@@ -31,7 +31,7 @@ The module ensures that you can connect to your PostgreSQL database using [Cloud
2. Install the [`postgres`](https://www.npmjs.com/package/postgres) NPM package in your project.
```bash
-npx nypm add postgres
+npx ni postgres
```
::tip{icon="i-ph-rocket-launch"}
diff --git a/docs/content/4.changelog/hub-browser.md b/docs/content/4.changelog/hub-browser.md
new file mode 100644
index 00000000..3bb15ac5
--- /dev/null
+++ b/docs/content/4.changelog/hub-browser.md
@@ -0,0 +1,66 @@
+---
+title: Browser Rendering is available
+description: "Taking screenshots, crawling websites, extracting information has never been easier with `hubBrowser()`."
+date: 2024-08-28
+image: '/images/changelog/nuxthub-browser.jpg'
+authors:
+ - name: Sebastien Chopin
+ avatar:
+ src: https://avatars.githubusercontent.com/u/904724?v=4
+ to: https://x.com/atinux
+ username: atinux
+---
+
+::tip
+This feature is available on both [free and pro plans](/pricing) of NuxtHub but on the [Workers Paid plan](https://www.cloudflare.com/plans/developer-platform/) for your Cloudflare account.
+::
+
+We are excited to introduce [`hubBrowser()`](/docs/features/browser). This new method allows you to run a headless browser directly in your Nuxt application using [Puppeteer](https://github.com/puppeteer/puppeteer).
+
+::video{poster="https://res.cloudinary.com/nuxt/video/upload/v1725901706/nuxthub/nuxthub-browser_dsn1m1.jpg" controls class="w-full h-auto rounded"}
+ :source{src="https://res.cloudinary.com/nuxt/video/upload/v1725901706/nuxthub/nuxthub-browser_dsn1m1.webm" type="video/webm"}
+ :source{src="https://res.cloudinary.com/nuxt/video/upload/v1725901706/nuxthub/nuxthub-browser_dsn1m1.mov" type="video/mp4"}
+ :source{src="https://res.cloudinary.com/nuxt/video/upload/v1725901706/nuxthub/nuxthub-browser_dsn1m1.ogg" type="video/ogg"}
+::
+
+## How to use hubBrowser()
+
+1. Update `@nuxthub/core` to the latest version (`v0.7.11` or later)
+
+2. Enable `hub.browser` in your `nuxt.config.ts`
+
+```ts [nuxt.config.ts]
+export default defineNuxtConfig({
+ hub: {
+ browser: true
+ }
+})
+```
+
+3. Install the required dependencies
+
+```bash [Terminal]
+npx ni @cloudflare/puppeteer puppeteer
+```
+
+4. Start using [`hubBrowser()`](/docs/features/browser) in your server routes
+
+```ts [server/api/screenshot.ts]
+export default eventHandler(async (event) => {
+ const { page } = await hubBrowser()
+
+ await page.setViewport({ width: 1920, height: 1080 })
+ await page.goto('https://cloudflare.com')
+
+ setHeader(event, 'content-type', 'image/jpeg')
+ return page.screenshot()
+})
+```
+
+5. Before deploying, make sure you are subscribed to the [Workers Paid plan](https://www.cloudflare.com/plans/developer-platform/)
+
+6. [Deploy your project with NuxtHub](/docs/getting-started/deploy)
+
+::note{to="/docs/features/browser"}
+Read the documentation about `hubBrowser()` with more examples.
+::
diff --git a/docs/pages/index.vue b/docs/pages/index.vue
index 62831b42..1091d2f1 100644
--- a/docs/pages/index.vue
+++ b/docs/pages/index.vue
@@ -70,7 +70,7 @@ onMounted(() => {
-
+
diff --git a/docs/public/images/changelog/nuxthub-browser.jpg b/docs/public/images/changelog/nuxthub-browser.jpg
new file mode 100644
index 00000000..28a01433
Binary files /dev/null and b/docs/public/images/changelog/nuxthub-browser.jpg differ
diff --git a/playground/app/app.vue b/playground/app/app.vue
index 83830b3c..d878a77d 100644
--- a/playground/app/app.vue
+++ b/playground/app/app.vue
@@ -18,9 +18,10 @@ useSeoMeta({
const links = [
{ label: 'Home', to: '/' },
{ label: 'AI', to: '/ai' },
+ { label: 'Browser', to: '/browser' },
+ { label: 'Blob', to: '/blob' },
{ label: 'Database', to: '/database' },
- { label: 'KV', to: '/kv' },
- { label: 'Blob', to: '/blob' }
+ { label: 'KV', to: '/kv' }
]
diff --git a/playground/app/pages/browser.vue b/playground/app/pages/browser.vue
new file mode 100644
index 00000000..79cf36fc
--- /dev/null
+++ b/playground/app/pages/browser.vue
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+ Capture
+
+
+
+
+
+
+
+
diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts
index 06847d15..eed84bbc 100644
--- a/playground/nuxt.config.ts
+++ b/playground/nuxt.config.ts
@@ -15,15 +15,16 @@ export default defineNuxtConfig({
hub: {
ai: true,
database: true,
- kv: true,
blob: true,
+ browser: true,
+ kv: true,
cache: true,
bindings: {
- compatibilityFlags: ['nodejs_compat_v2'],
+ compatibilityFlags: ['nodejs_compat_v2']
// Used for /api/hyperdrive
- hyperdrive: {
- POSTGRES: '8bb2913857b84c939cd908740fa5a5d5'
- }
+ // hyperdrive: {
+ // POSTGRES: '8bb2913857b84c939cd908740fa5a5d5'
+ // }
}
// projectUrl: ({ branch }) => branch === 'main' ? 'https://playground.nuxt.dev' : `https://${encodeHost(branch).replace(/\//g, '-')}.playground-to39.pages.dev`
},
diff --git a/playground/package.json b/playground/package.json
index 5f555469..9550a272 100644
--- a/playground/package.json
+++ b/playground/package.json
@@ -9,6 +9,7 @@
},
"dependencies": {
"@ai-sdk/vue": "^0.0.45",
+ "@cloudflare/puppeteer": "^0.0.14",
"@iconify-json/simple-icons": "^1.2.1",
"@kgierke/nuxt-basic-auth": "^1.6.0",
"@nuxt/ui": "^2.18.4",
@@ -17,7 +18,8 @@
"ai": "^3.3.26",
"drizzle-orm": "^0.33.0",
"nuxt": "^3.13.1",
- "postgres": "^3.4.4"
+ "postgres": "^3.4.4",
+ "puppeteer": "^23.3.0"
},
"devDependencies": {
"@nuxt/devtools": "latest"
diff --git a/playground/server/api/browser/capture.ts b/playground/server/api/browser/capture.ts
new file mode 100644
index 00000000..6233d6ae
--- /dev/null
+++ b/playground/server/api/browser/capture.ts
@@ -0,0 +1,40 @@
+import { z } from 'zod'
+
+export default eventHandler(async (event) => {
+ const { url, theme } = await getValidatedQuery(event, z.object({
+ url: z.string().url(),
+ theme: z.enum(['light', 'dark']).optional().default('light')
+ }).parse)
+
+ const { page } = await hubBrowser({ keepAlive: 300 })
+
+ await page.setViewport({ width: 1920, height: 1080 })
+ await page.emulateMediaFeatures([{ name: 'prefers-color-scheme', value: theme }])
+ console.log('Navigating to', url)
+ await page.goto(url, { waitUntil: 'domcontentloaded' })
+
+ // Hack around some CSS issues
+ await page.evaluate(() => {
+ const style = window.document.createElement('style')
+ style.textContent = 'body * {will-change: unset !important; --tw-backdrop-blur: none !important;-webkit-backdrop-filter: none !important;backdrop-filter: none !important;backdrop-filter: none !important;}'
+ window.document.head.appendChild(style)
+ })
+ await new Promise(resolve => setTimeout(resolve, 2000))
+ const framework = await page.evaluate(() => {
+ if (window.__NUXT__) return 'Nuxt'
+ if (window.next?.version) return 'Next'
+ if (window.__remixContext) return 'Remix'
+ return ''
+ })
+
+ const screenshot = await page.screenshot()
+
+ // Upload the screenshot to the Blob storage
+ const filename = `screenshots/${btoa(url + theme)}.jpg`
+ await hubBlob().put(filename, screenshot)
+ await page.close()
+
+ setHeader(event, 'content-type', 'image/jpeg')
+ setHeader(event, 'x-framework', framework)
+ return screenshot
+})
diff --git a/playground/server/api/browser/limits.ts b/playground/server/api/browser/limits.ts
new file mode 100644
index 00000000..d8c90fff
--- /dev/null
+++ b/playground/server/api/browser/limits.ts
@@ -0,0 +1,6 @@
+import cfPuppeteer from '@cloudflare/puppeteer'
+
+export default eventHandler(async () => {
+ const binding = process.env.BROWSER || globalThis.__env__?.BROWSER || globalThis.BROWSER
+ return cfPuppeteer.limits(binding)
+})
diff --git a/playground/server/api/browser/metadata.ts b/playground/server/api/browser/metadata.ts
new file mode 100644
index 00000000..c7c21fbc
--- /dev/null
+++ b/playground/server/api/browser/metadata.ts
@@ -0,0 +1,36 @@
+export default cachedEventHandler(async (event) => {
+ const { url } = await getValidatedQuery(event, z.object({
+ url: z.string().url()
+ }).parse)
+
+ // Get a browser instance and navigate to the url
+ const { page } = await hubBrowser()
+ await page.goto(url, { waitUntil: 'networkidle0' })
+
+ // Extract metadata from the page
+ const metadata = await page.evaluate(() => {
+ const getMetaContent = (name) => {
+ const element = document.querySelector(`meta[name="${name}"], meta[property="${name}"]`)
+ return element ? element.getAttribute('content') : null
+ }
+
+ return {
+ title: document.title,
+ description: getMetaContent('description') || getMetaContent('og:description'),
+ favicon: document.querySelector('link[rel="shortcut icon"]')?.href
+ || document.querySelector('link[rel="icon"]')?.href,
+ ogImage: getMetaContent('og:image'),
+ origin: document.location.origin
+ }
+ })
+
+ return metadata
+}, {
+ maxAge: 60 * 60 * 24 * 7, // 1 week
+ swr: true,
+ group: 'api',
+ name: 'metadata',
+ // Use the URL as key to invalidate the cache when the URL changes
+ // We use btoa to transform the URL to a base64 string
+ getKey: event => btoa(getQuery(event).url)
+})
diff --git a/playground/server/api/browser/sessions.ts b/playground/server/api/browser/sessions.ts
new file mode 100644
index 00000000..8c5e7c80
--- /dev/null
+++ b/playground/server/api/browser/sessions.ts
@@ -0,0 +1,6 @@
+import cfPuppeteer from '@cloudflare/puppeteer'
+
+export default eventHandler(async () => {
+ const binding = process.env.BROWSER || globalThis.__env__?.BROWSER || globalThis.BROWSER
+ return cfPuppeteer.sessions(binding)
+})
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 8f032a6f..32ebab0e 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -72,7 +72,7 @@ importers:
version: 1.4.1(rollup@3.29.4)
'@nuxt/eslint-config':
specifier: ^0.5.6
- version: 0.5.6(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
+ version: 0.5.6(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
'@nuxt/module-builder':
specifier: ^0.8.3
version: 0.8.3(@nuxt/kit@3.13.1(magicast@0.3.5)(rollup@3.29.4))(nuxi@3.13.1)(typescript@5.5.4)
@@ -81,7 +81,7 @@ importers:
version: 3.13.1(rollup@3.29.4)
'@nuxt/test-utils':
specifier: ^3.14.1
- version: 3.14.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.31.6))(vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)))(vue@3.5.3(typescript@5.5.4))
+ version: 3.14.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.32.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
'@nuxthub/core':
specifier: 'link:'
version: 'link:'
@@ -93,16 +93,16 @@ importers:
version: 0.5.5(magicast@0.3.5)
eslint:
specifier: ^9.9.1
- version: 9.9.1(jiti@1.21.6)
+ version: 9.10.0(jiti@1.21.6)
nuxt:
specifier: 3.13.0
- version: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.31.6)(typescript@5.5.4)
+ version: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.32.0)(typescript@5.5.4)
typescript:
specifier: ^5.5.4
version: 5.5.4
vitest:
specifier: ^2.0.5
- version: 2.0.5(@types/node@22.5.4)(terser@5.31.6)
+ version: 2.0.5(@types/node@22.5.4)(terser@5.32.0)
wrangler:
specifier: ^3.75.0
version: 3.75.0(@cloudflare/workers-types@4.20240903.0)
@@ -120,22 +120,22 @@ importers:
version: 1.2.0
'@iconify-json/simple-icons':
specifier: ^1.2.1
- version: 1.2.1
+ version: 1.2.2
'@iconify-json/vscode-icons':
specifier: ^1.2.0
- version: 1.2.0
+ version: 1.2.1
'@nuxt/content':
specifier: ^2.13.2
- version: 2.13.2(ioredis@5.4.1)(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)))(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4))
+ version: 2.13.2(ioredis@5.4.1)(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)))(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))
'@nuxt/fonts':
specifier: ^0.7.2
- version: 0.7.2(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ version: 0.7.2(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxt/image':
specifier: ^1.8.0
version: 1.8.0(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.21.2)
'@nuxt/ui-pro':
specifier: ^1.4.1
- version: 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4))
+ version: 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
'@nuxthq/studio':
specifier: ^2.0.3
version: 2.0.3(magicast@0.3.5)(rollup@4.21.2)
@@ -147,10 +147,10 @@ importers:
version: 6.12.1(magicast@0.3.5)(rollup@4.21.2)
'@vueuse/core':
specifier: ^11.0.3
- version: 11.0.3(vue@3.5.3(typescript@5.5.4))
+ version: 11.0.3(vue@3.4.38(typescript@5.5.4))
'@vueuse/nuxt':
specifier: ^11.0.3
- version: 11.0.3(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)))(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4))
+ version: 11.0.3(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)))(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))
feed:
specifier: ^4.2.2
version: 4.2.2
@@ -159,50 +159,56 @@ importers:
version: 1.1.0
nuxt:
specifier: 3.13.0
- version: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ version: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240903.0)(@opentelemetry/api@1.9.0)(postgres@3.4.4)(react@18.3.1))(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
nuxt-cloudflare-analytics:
specifier: ^1.0.8
version: 1.0.8(magicast@0.3.5)(rollup@4.21.2)
nuxt-og-image:
specifier: ^3.0.0-rc.66
- version: 3.0.0-rc.66(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4))
+ version: 3.0.0-rc.66(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
playground:
dependencies:
'@ai-sdk/vue':
specifier: ^0.0.45
version: 0.0.45(vue@3.4.38(typescript@5.5.4))(zod@3.23.8)
+ '@cloudflare/puppeteer':
+ specifier: ^0.0.14
+ version: 0.0.14
'@iconify-json/simple-icons':
specifier: ^1.2.1
- version: 1.2.1
+ version: 1.2.2
'@kgierke/nuxt-basic-auth':
specifier: ^1.6.0
version: 1.6.0(magicast@0.3.5)(rollup@4.21.2)
'@nuxt/ui':
specifier: ^2.18.4
- version: 2.18.4(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))
+ version: 2.18.4(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
'@nuxthub/core':
specifier: latest
- version: 0.7.9(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ version: 0.7.10(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxtjs/mdc':
specifier: ^0.8.3
version: 0.8.3(magicast@0.3.5)(rollup@4.21.2)
ai:
specifier: ^3.3.26
- version: 3.3.28(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.38(typescript@5.5.4))(zod@3.23.8)
+ version: 3.3.30(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.38(typescript@5.5.4))(zod@3.23.8)
drizzle-orm:
specifier: ^0.33.0
version: 0.33.0(@cloudflare/workers-types@4.20240903.0)(@opentelemetry/api@1.9.0)(postgres@3.4.4)(react@18.3.1)
nuxt:
specifier: 3.13.0
- version: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240903.0)(@opentelemetry/api@1.9.0)(postgres@3.4.4)(react@18.3.1))(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ version: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240903.0)(@opentelemetry/api@1.9.0)(postgres@3.4.4)(react@18.3.1))(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
postgres:
specifier: ^3.4.4
version: 3.4.4
+ puppeteer:
+ specifier: ^23.3.0
+ version: 23.3.0(typescript@5.5.4)
devDependencies:
'@nuxt/devtools':
specifier: latest
- version: 1.4.1(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ version: 1.4.1(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
packages:
@@ -346,10 +352,6 @@ packages:
resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.22.15':
- resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-module-imports@7.24.7':
resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
engines: {node: '>=6.9.0'}
@@ -477,6 +479,10 @@ packages:
resolution: {integrity: sha512-YLPHc8yASwjNkmcDMQMY35yiWjoKAKnhUbPRszBRS0YgH+IXtsMp61j+yTcnCE3oO2DgP0U3iejLC8FTtKDC8Q==}
engines: {node: '>=16.13'}
+ '@cloudflare/puppeteer@0.0.14':
+ resolution: {integrity: sha512-wglNG53M4LbLnaU8i14bWNA3fUqKQy17Spczo+PWaGZO1W6m8rzi6u/x49BZ/s3LGg0VJHK4ZaLjkXo2/5ESdA==}
+ engines: {node: '>=16.3.0'}
+
'@cloudflare/workerd-darwin-64@1.20240821.1':
resolution: {integrity: sha512-CDBpfZKrSy4YrIdqS84z67r3Tzal2pOhjCsIb63IuCnvVes59/ft1qhczBzk9EffeOE2iTCrA4YBT7Sbn7USew==}
engines: {node: '>=16'}
@@ -1256,14 +1262,18 @@ packages:
resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.9.1':
- resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==}
+ '@eslint/js@9.10.0':
+ resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@eslint/object-schema@2.1.4':
resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ '@eslint/plugin-kit@0.1.0':
+ resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
'@fastify/accept-negotiator@1.1.0':
resolution: {integrity: sha512-OIHZrb2ImZ7XG85HXOONLcJWGosv7sIvM2ifAPQVhg9Lv7qdmMBNVaai4QTdyuaqbKM5eO6sLSQOYI7wEQeCJQ==}
engines: {node: '>=14'}
@@ -1278,8 +1288,8 @@ packages:
peerDependencies:
tailwindcss: ^3.0
- '@headlessui/vue@1.7.22':
- resolution: {integrity: sha512-Hoffjoolq1rY+LOfJ+B/OvkhuBXXBFgd8oBlN+l1TApma2dB0En0ucFZrwQtb33SmcCqd32EQd0y07oziXWNYg==}
+ '@headlessui/vue@1.7.23':
+ resolution: {integrity: sha512-JzdCNqurrtuu0YW6QaDtR2PIYCKPUWq28csDyMvN4zmGccmE7lz40Is6hc3LA4HFeCI7sekZ/PQMTNmn9I/4Wg==}
engines: {node: '>=10'}
peerDependencies:
vue: 3.4.38
@@ -1301,14 +1311,14 @@ packages:
'@iconify-json/ph@1.2.0':
resolution: {integrity: sha512-013eLpgTmX1lACOuDnkuhC7gRHyYj9w/j8SyDmlyUYvsKQrwdRsv1otcXtwH3DevuDAzSkreeeRsCeez+gTyVA==}
- '@iconify-json/simple-icons@1.2.1':
- resolution: {integrity: sha512-eBXREU+jazfOBTl944Uq/ZpOJnbx1/IBw1MpLw0VmmNk0HSvmnvhdcz+3obja7uAp25yNtVcKo3I04ppnuv3NQ==}
+ '@iconify-json/simple-icons@1.2.2':
+ resolution: {integrity: sha512-VMgCoMnpvcCJ5b3rTOGPzW5j6959nIdRCk+8FGzK/vAaDd6f9sx65OcKOqP3C75llpybH/iQhk5yrJ/TOdQKeg==}
- '@iconify-json/vscode-icons@1.2.0':
- resolution: {integrity: sha512-DjsfialtmFQrJb4pi0P8Vm5+FVmXg8NExThMLwHOGjvMJi9Q89Qw36RpZxw2wEzPFkb19fMje+G0jeSeWol7ZA==}
+ '@iconify-json/vscode-icons@1.2.1':
+ resolution: {integrity: sha512-pEZCknk+6xlx7JC8e5Sz0cpkS3yezKKSouii0OTkUnTM3Kljc7V01AbYJ3iarw4b41jV0CpDpzj3BzRdvweGaA==}
- '@iconify/collections@1.0.457':
- resolution: {integrity: sha512-hn1THjlKkFxl8WFkszAWMQRviZqWCSCIPnjov0lWOuG4SWyBmdtTjAnCaWaSZVS9BbpwLAb1444gItnbnWY3Kg==}
+ '@iconify/collections@1.0.458':
+ resolution: {integrity: sha512-xSpTRSiB6jUVHSIasyn4bQXUv+Y79Hxk+xom3IE7BXl8CeRjXjSpOr5BfrRqzVFpXZnUMMWZ6b4DL7J2aaX+aQ==}
'@iconify/types@2.0.0':
resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==}
@@ -1518,8 +1528,8 @@ packages:
'@nuxthq/studio@2.0.3':
resolution: {integrity: sha512-EeqtfSc7pPUuQJcLiSgHYXkNVVvejjFDIhbyFRTKJDblVvUEb9ecq1FjYEgbi1QYvuBlLUMjvwmcQuXs8wI/bQ==}
- '@nuxthub/core@0.7.9':
- resolution: {integrity: sha512-0MGgSHZMO0bUc0ZUbwtklIDJ4HeK+BSkqaRMeSE/EpUP3zFhbrzniPkw5wT8jlwtld0FSMspEyW3N6xoggXVhg==}
+ '@nuxthub/core@0.7.10':
+ resolution: {integrity: sha512-0QH6ghXiJHdSa1jqzQxqKgyqis9GPcX9HqygaOuKpVkS3FtGbrA5vWF0rQb8FUfLYiLZxnQXkYMwnOFU8Ada0g==}
'@nuxtjs/color-mode@3.4.4':
resolution: {integrity: sha512-VSNJVGnRIjiGmfbMa0cN+rwNRowDRTL/wku/z5MpKSanVo3khIRitBNqNviso1l3T+LW0pLHeXBNp6L8g/l1EA==}
@@ -1633,6 +1643,16 @@ packages:
'@popperjs/core@2.11.8':
resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+ '@puppeteer/browsers@1.7.0':
+ resolution: {integrity: sha512-sl7zI0IkbQGak/+IE3VEEZab5SSOlI5F6558WvzWGC1n3+C722rfewC1ZIkcF9dsoGSsxhsONoseVlNQG4wWvQ==}
+ engines: {node: '>=16.3.0'}
+ hasBin: true
+
+ '@puppeteer/browsers@2.4.0':
+ resolution: {integrity: sha512-x8J1csfIygOwf6D6qUAZ0ASk3z63zPb7wkNeHRerCMh82qWKUrOgkuP005AJC8lDL6/evtXETGEJVcwykKT4/g==}
+ engines: {node: '>=18'}
+ hasBin: true
+
'@resvg/resvg-js-android-arm-eabi@2.6.2':
resolution: {integrity: sha512-FrJibrAk6v29eabIPgcTUMPXiEz8ssrAk7TXxsiZzww9UTQ1Z5KAbFJs+Z0Ez+VZTYgnE5IQJqBcoSiMebtPHA==}
engines: {node: '>= 10'}
@@ -1938,6 +1958,9 @@ packages:
peerDependencies:
vue: 3.4.38
+ '@tootallnate/quickjs-emscripten@0.23.0':
+ resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
+
'@trysound/sax@0.2.0':
resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
engines: {node: '>=10.13.0'}
@@ -1990,6 +2013,9 @@ packages:
'@types/web-bluetooth@0.0.20':
resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==}
+ '@types/yauzl@2.10.3':
+ resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
+
'@typescript-eslint/eslint-plugin@8.4.0':
resolution: {integrity: sha512-rg8LGdv7ri3oAlenMACk9e+AR4wUV0yrrG+XKsGKOK0EVgeEDqurkXMPILG2836fW4ibokTB5v4b6Z9+GYQDEw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2050,20 +2076,20 @@ packages:
'@ungap/structured-clone@1.2.0':
resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- '@unhead/dom@1.10.4':
- resolution: {integrity: sha512-ehMy9k6efo4GTLmiP27wCtywWYdiggrP3m7h6kD/d1uhfORH3yCgsd4yXQnmDoSbsMyX6GlY5DBzy5bnYPp/Xw==}
+ '@unhead/dom@1.11.1':
+ resolution: {integrity: sha512-lyqegiA35OzcvsaP9gQpAPWv5LmZpP9D/55xkFVTnaXfd1kl1TCxBkioAzv3lxtaYsu6CLSqH/jRxO+fB3Q2kQ==}
- '@unhead/schema@1.10.4':
- resolution: {integrity: sha512-nX9sJgKPy2t4GHB9ky/vkMLbYqXl9Num5NZToTr0rKrIGkshzHhUrbn/EiHreIjcGI1eIpu+edniCDIwGTJgmw==}
+ '@unhead/schema@1.11.1':
+ resolution: {integrity: sha512-oEl5vV3+zZyY1Y3PVE1+gWNMj2wJczP6w0gscp8RnFRSik9p94XqYzBnzeb0tezIyVJWKWycGne9ocV0uGHbzw==}
- '@unhead/shared@1.10.4':
- resolution: {integrity: sha512-C5wsps9i/XCBObMVQUrbXPvZG17a/e5yL0IsxpICaT4QSiZAj9v7JrNQ5WpM5JOZVMKRI5MYRdafNDw3iSmqZg==}
+ '@unhead/shared@1.11.1':
+ resolution: {integrity: sha512-05hd92qxAwkndMU8Ftklf4/97GuRVYHM0XzMz3ioENxJl8NfFGAyV48H/idt8WFv8JIkY9d7KgJDBmxG+CHi9Q==}
- '@unhead/ssr@1.10.4':
- resolution: {integrity: sha512-2nDG08q9bTvMB24YGNJCXimAs1vuG9yVa01i/Et1B2y4P8qhweXOxnialGmt5j8xeXwPFUBCe36tC5kLCSuJoQ==}
+ '@unhead/ssr@1.11.1':
+ resolution: {integrity: sha512-rol3eGQZOvkKAsx604rZCM3uiBXNfro5V73kQKWq4kv6GNEifzY1r54Fqj1cOk6AMVYpNqowmDcvBwBC/rqXZw==}
- '@unhead/vue@1.10.4':
- resolution: {integrity: sha512-Q45F/KOvDeitc8GkfkPY45V8Dmw1m1b9A/aHM5A2BwRV8GyoRV+HRWVw5h02e0AO1TsICvcW8tI90qeCM2oGSA==}
+ '@unhead/vue@1.11.1':
+ resolution: {integrity: sha512-MSeFsRr0Pco96bjoY8bijV5su+xw7joqv1LUJQxcDVIp51M1cfrutzMIBTGne30/0K43aIvshCGbmyuW8jouxw==}
peerDependencies:
vue: 3.4.38
@@ -2132,8 +2158,8 @@ packages:
'@volar/typescript@1.11.1':
resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==}
- '@vue-macros/common@1.12.2':
- resolution: {integrity: sha512-+NGfhrPvPNOb3Wg9PNPEXPe0HTXmVe6XJawL1gi3cIjOSGIhpOdvmMT2cRuWb265IpA/PeL5Sqo0+DQnEDxLvw==}
+ '@vue-macros/common@1.12.3':
+ resolution: {integrity: sha512-dlSqrGdIDhqMOz92XtlMNyuHHeHe594O6f10XLtmlB0Jrq/Pl4Hj8rXAnVlRdjg+ptbZRSNL6MSgOPPoC82owg==}
engines: {node: '>=16.14.0'}
peerDependencies:
vue: 3.4.38
@@ -2141,19 +2167,19 @@ packages:
vue:
optional: true
- '@vue/babel-helper-vue-transform-on@1.2.2':
- resolution: {integrity: sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==}
+ '@vue/babel-helper-vue-transform-on@1.2.4':
+ resolution: {integrity: sha512-3L9zXWRN2jvmLjtSyw9vtcO5KTSCfKhCD5rEZM+024bc+4dKSzTjIABl/5b+uZ5nXe5y31uUMxxLo1PdXkYaig==}
- '@vue/babel-plugin-jsx@1.2.2':
- resolution: {integrity: sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==}
+ '@vue/babel-plugin-jsx@1.2.4':
+ resolution: {integrity: sha512-jwAVtHUaDfOGGT1EmVKBi0anXOtPvsuKbImcdnHXluaJQ6GEJzshf1JMTtMRx2fPiG7BZjNmyMv+NdZY2OyZEA==}
peerDependencies:
'@babel/core': ^7.0.0-0
peerDependenciesMeta:
'@babel/core':
optional: true
- '@vue/babel-plugin-resolve-type@1.2.2':
- resolution: {integrity: sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==}
+ '@vue/babel-plugin-resolve-type@1.2.4':
+ resolution: {integrity: sha512-jWcJAmfKvc/xT2XBC4JAmy2eezNjU3CLfeDecl2Ge3tSjJCTmKJWkEhHdzXyx9Nr6PbIcQrFKhCaEDobhSrPqw==}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -2181,8 +2207,8 @@ packages:
'@vue/compiler-ssr@3.5.3':
resolution: {integrity: sha512-F/5f+r2WzL/2YAPl7UlKcJWHrvoZN8XwEBLnT7S4BXwncH25iDOabhO2M2DWioyTguJAGavDOawejkFXj8EM1w==}
- '@vue/devtools-api@6.6.3':
- resolution: {integrity: sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==}
+ '@vue/devtools-api@6.6.4':
+ resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==}
'@vue/devtools-core@7.3.3':
resolution: {integrity: sha512-i6Bwkx4OwfY0QVHjAdsivhlzZ2HMj7fbNRYJsWspQ+dkA1f3nTzycPqZmVUsm2TGkbQlhTMhCAdDoP97JKoc+g==}
@@ -2204,31 +2230,17 @@ packages:
'@vue/reactivity@3.4.38':
resolution: {integrity: sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==}
- '@vue/reactivity@3.5.3':
- resolution: {integrity: sha512-2w61UnRWTP7+rj1H/j6FH706gRBHdFVpIqEkSDAyIpafBXYH8xt4gttstbbCWdU3OlcSWO8/3mbKl/93/HSMpw==}
-
'@vue/runtime-core@3.4.38':
resolution: {integrity: sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==}
- '@vue/runtime-core@3.5.3':
- resolution: {integrity: sha512-5b2AQw5OZlmCzSsSBWYoZOsy75N4UdMWenTfDdI5bAzXnuVR7iR8Q4AOzQm2OGoA41xjk53VQKrqQhOz2ktWaw==}
-
'@vue/runtime-dom@3.4.38':
resolution: {integrity: sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==}
- '@vue/runtime-dom@3.5.3':
- resolution: {integrity: sha512-wPR1DEGc3XnQ7yHbmkTt3GoY0cEnVGQnARRdAkDzZ8MbUKEs26gogCQo6AOvvgahfjIcnvWJzkZArQ1fmWjcSg==}
-
'@vue/server-renderer@3.4.38':
resolution: {integrity: sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==}
peerDependencies:
vue: 3.4.38
- '@vue/server-renderer@3.5.3':
- resolution: {integrity: sha512-28volmaZVG2PGO3V3+gBPKoSHvLlE8FGfG/GKXKkjjfxLuj/50B/0OQGakM/g6ehQeqCrZYM4eHC4Ks48eig1Q==}
- peerDependencies:
- vue: 3.4.38
-
'@vue/shared@3.4.38':
resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==}
@@ -2333,8 +2345,8 @@ packages:
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- acorn-walk@8.3.3:
- resolution: {integrity: sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==}
+ acorn-walk@8.3.4:
+ resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==}
engines: {node: '>=0.4.0'}
acorn@8.12.1:
@@ -2346,8 +2358,12 @@ packages:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
engines: {node: '>= 6.0.0'}
- ai@3.3.28:
- resolution: {integrity: sha512-ogrsMscar8oXa4nTEcnjvb37cs0UJ7AxVga/642BQGkGBevnKhS0hbnXEOUKmlWcny/xRuWQ3GaXA3u9CxhfhQ==}
+ agent-base@7.1.1:
+ resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
+ engines: {node: '>= 14'}
+
+ ai@3.3.30:
+ resolution: {integrity: sha512-CHkxudR5tXrRFjcNEeBmVmWZw1+B9CBxELrC1FoYrPXKlQJKYRopS1lNGQahl671mc3jawY6xnNQt84p5wFWGg==}
engines: {node: '>=18'}
peerDependencies:
openai: ^4.42.0
@@ -2445,6 +2461,10 @@ packages:
resolution: {integrity: sha512-RlNqd4u6c/rJ5R+tN/ZTtyNrH8X0NHCvyt6gD8RHa3JjzxxHWoyaU0Ujk3Zjbh7IZqrYl1Sxm6XzZifmVxXxHQ==}
engines: {node: '>=16.14.0'}
+ ast-types@0.13.4:
+ resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
+ engines: {node: '>=4'}
+
ast-walker-scope@0.6.2:
resolution: {integrity: sha512-1UWOyC50xI3QZkRuDj6PqDtpm1oHWtYs+NQGwqL/2R11eN3Q81PHAHPM0SWW3BNQm53UDwS//Jv8L4CCVLM1bQ==}
engines: {node: '>=16.14.0'}
@@ -2504,6 +2524,10 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ basic-ftp@5.0.5:
+ resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
+ engines: {node: '>=10.0.0'}
+
big-integer@1.6.52:
resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==}
engines: {node: '>=0.6'}
@@ -2552,6 +2576,9 @@ packages:
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
+ 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'}
@@ -2601,18 +2628,14 @@ packages:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
- camelcase@6.3.0:
- resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
- engines: {node: '>=10'}
-
camelize@1.0.1:
resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==}
caniuse-api@3.0.0:
resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
- caniuse-lite@1.0.30001658:
- resolution: {integrity: sha512-N2YVqWbJELVdrnsW5p+apoQyYt51aBMSsBZki1XZEfeBCexcM/sf4xiAHcXQBkuOwJBXtWF7aW1sYX6tKebPHw==}
+ caniuse-lite@1.0.30001659:
+ resolution: {integrity: sha512-Qxxyfv3RdHAfJcXelgf0hU4DFUVXBGTjqrBUZLUh8AtlGnsDo+CnncYtTd95+ZKfnANUOzxyIQCuU/UeBZBYoA==}
capnp-ts@0.7.0:
resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==}
@@ -2676,6 +2699,16 @@ packages:
engines: {node: '>=12.13.0'}
hasBin: true
+ chromium-bidi@0.4.20:
+ resolution: {integrity: sha512-ruHgVZFEv00mAQMz1tQjfjdG63jiPWrQPF6HLlX2ucqLqVTJoWngeBEKHaJ6n1swV/HSvgnBNbtTRIlcVyW3Fw==}
+ peerDependencies:
+ devtools-protocol: '*'
+
+ chromium-bidi@0.6.5:
+ resolution: {integrity: sha512-RuLrmzYrxSb0s9SgpB+QN5jJucPduZQ/9SIe76MDxYJuecPW5mxMdacJ1f4EtgiV+R0p3sCkznTMvH0MPGFqjA==}
+ peerDependencies:
+ devtools-protocol: '*'
+
ci-info@4.0.0:
resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
engines: {node: '>=8'}
@@ -2833,6 +2866,15 @@ packages:
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ cosmiconfig@9.0.0:
+ resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=4.9.5'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
crc-32@1.2.2:
resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==}
engines: {node: '>=0.8'}
@@ -2856,6 +2898,9 @@ packages:
cross-fetch@3.1.8:
resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==}
+ cross-fetch@4.0.0:
+ resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==}
+
cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
@@ -2938,6 +2983,10 @@ packages:
data-uri-to-buffer@2.0.2:
resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==}
+ data-uri-to-buffer@6.0.2:
+ resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
+ engines: {node: '>= 14'}
+
date-fns@3.6.0:
resolution: {integrity: sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==}
@@ -2974,6 +3023,15 @@ packages:
supports-color:
optional: true
+ debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
debug@4.3.7:
resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
engines: {node: '>=6.0'}
@@ -3035,6 +3093,10 @@ packages:
defu@6.1.4:
resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+ degenerator@5.0.1:
+ resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
+ engines: {node: '>= 14'}
+
delegates@1.0.0:
resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==}
@@ -3079,6 +3141,12 @@ packages:
devlop@1.1.0:
resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+ devtools-protocol@0.0.1159816:
+ resolution: {integrity: sha512-2cZlHxC5IlgkIWe2pSDmCrDiTzbSJWywjbDDnupOImEBcG31CQgBLV8wWE+5t+C4rimcjHsbzy7CBzf9oFjboA==}
+
+ devtools-protocol@0.0.1330662:
+ resolution: {integrity: sha512-pzh6YQ8zZfz3iKlCvgzVCu22NdpZ8hNmwU6WnQjNVquh0A9iVosPtNLWDwaWVGyrntQlltPFztTMK5Cg6lfCuw==}
+
dfa@1.2.0:
resolution: {integrity: sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==}
@@ -3222,8 +3290,8 @@ packages:
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- electron-to-chromium@1.5.17:
- resolution: {integrity: sha512-Q6Q+04tjC2KJ8qsSOSgovvhWcv5t+SmpH6/YfAWmhpE5/r+zw6KQy1/yWVFFNyEBvy68twTTXr2d5eLfCq7QIw==}
+ electron-to-chromium@1.5.18:
+ resolution: {integrity: sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==}
emoji-regex@10.4.0:
resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
@@ -3262,6 +3330,10 @@ packages:
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
engines: {node: '>=0.12'}
+ env-paths@2.2.1:
+ resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
+ engines: {node: '>=6'}
+
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
@@ -3318,6 +3390,11 @@ packages:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
engines: {node: '>=12'}
+ escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
+
eslint-config-flat-gitignore@0.3.0:
resolution: {integrity: sha512-0Ndxo4qGhcewjTzw52TK06Mc00aDtHNTdeeW2JfONgDcLkRO/n/BteMRzNVpLQYxdCC/dFEilfM9fjjpGIJ9Og==}
peerDependencies:
@@ -3375,8 +3452,8 @@ packages:
resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- eslint@9.9.1:
- resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==}
+ eslint@9.10.0:
+ resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
peerDependencies:
@@ -3393,6 +3470,11 @@ packages:
resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
esquery@1.6.0:
resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
engines: {node: '>=0.10'}
@@ -3464,6 +3546,11 @@ packages:
externality@1.0.2:
resolution: {integrity: sha512-LyExtJWKxtgVzmgtEHyQtLFpw1KFhQphF9nTG8TpAIVkiI/xQ3FJh75tRFLYl4hkn7BNIIdLJInuDAavX35pMw==}
+ extract-zip@2.0.1:
+ resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
+ engines: {node: '>= 10.17.0'}
+ hasBin: true
+
fake-indexeddb@6.0.0:
resolution: {integrity: sha512-YEboHE5VfopUclOck7LncgIqskAqnv4q0EWbYCaxKKjAvO93c+TJIaBuGy8CBFdbg9nKdpN3AuPRwVBJ4k7NrQ==}
engines: {node: '>=18'}
@@ -3490,6 +3577,9 @@ packages:
fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
+ fd-slicer@1.1.0:
+ resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
+
fdir@6.3.0:
resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==}
peerDependencies:
@@ -3613,6 +3703,10 @@ packages:
get-source@2.0.12:
resolution: {integrity: sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==}
+ get-stream@5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
+ engines: {node: '>=8'}
+
get-stream@6.0.1:
resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
@@ -3628,6 +3722,10 @@ packages:
get-tsconfig@4.8.0:
resolution: {integrity: sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw==}
+ get-uri@6.0.3:
+ resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==}
+ engines: {node: '>= 14'}
+
giget@1.2.3:
resolution: {integrity: sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==}
hasBin: true
@@ -3800,6 +3898,10 @@ packages:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
engines: {node: '>= 0.8'}
+ http-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
+ engines: {node: '>= 14'}
+
http-shutdown@1.2.2:
resolution: {integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==}
engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
@@ -3808,6 +3910,10 @@ packages:
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
engines: {node: '>= 6'}
+ https-proxy-agent@7.0.5:
+ resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==}
+ engines: {node: '>= 14'}
+
httpxy@0.1.5:
resolution: {integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==}
@@ -3875,6 +3981,10 @@ packages:
resolution: {integrity: sha512-2YZsvl7jopIa1gaePkeMtd9rAcSjOOjPtpcLlOeusyO+XH2SK5ZcT+UCrElPP+WVIInh2TzeI4XW9ENaSLVVHA==}
engines: {node: '>=12.22.0'}
+ ip-address@9.0.5:
+ resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
+ engines: {node: '>= 12'}
+
ipx@2.1.0:
resolution: {integrity: sha512-AVnPGXJ8L41vjd11Z4akIF2yd14636Klxul3tBySxHA6PKfCOQPxBDkCFK5zcWh0z/keR6toh1eg8qzdBVUgdA==}
hasBin: true
@@ -3991,8 +4101,8 @@ packages:
resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==}
engines: {node: '>=18'}
- is-unicode-supported@2.0.0:
- resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==}
+ is-unicode-supported@2.1.0:
+ resolution: {integrity: sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==}
engines: {node: '>=18'}
is-what@4.1.16:
@@ -4034,6 +4144,9 @@ packages:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
hasBin: true
+ jsbn@1.1.0:
+ resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
+
jsdoc-type-pratt-parser@4.1.0:
resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==}
engines: {node: '>=12.0.0'}
@@ -4207,6 +4320,10 @@ packages:
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+ lru-cache@7.18.3:
+ resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
+ engines: {node: '>=12'}
+
magic-regexp@0.8.0:
resolution: {integrity: sha512-lOSLWdE156csDYwCTIGiAymOLN7Epu/TU5e/oAnISZfU6qP+pgjkE+xbVjVn3yLPKN8n1G2yIAYTAM5KRk6/ow==}
@@ -4509,6 +4626,9 @@ packages:
ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
+ ms@2.1.2:
+ resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -4547,6 +4667,10 @@ packages:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
+ netmask@2.0.2:
+ resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
+ engines: {node: '>= 0.4.0'}
+
nitro-cloudflare-dev@0.1.6:
resolution: {integrity: sha512-7YcLTJsTZSZZ89XrTEaDEnFsVWbppBgLO0Rr5n3Nf93gKHTBkBfeGH8//8FVwV2poi6SabVbJ0a2eoJRoII81w==}
@@ -4745,6 +4869,14 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'}
+ pac-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-BFi3vZnO9X5Qt6NRz7ZOaPja3ic0PhlsmCRYLOpN11+mWBCR6XJDqW5RF3j8jm4WGGQZtBA+bTfxYzeKW73eHg==}
+ engines: {node: '>= 14'}
+
+ pac-resolver@7.0.1:
+ resolution: {integrity: sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==}
+ engines: {node: '>= 14'}
+
package-json-from-dist@1.0.0:
resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==}
@@ -4837,6 +4969,9 @@ packages:
resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
engines: {node: '>= 14.16'}
+ pend@1.2.0:
+ resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
+
perfect-debounce@1.0.0:
resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==}
@@ -5122,6 +5257,10 @@ packages:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
engines: {node: '>= 0.6.0'}
+ progress@2.0.3:
+ resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
+ engines: {node: '>=0.4.0'}
+
prompts@2.4.2:
resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
engines: {node: '>= 6'}
@@ -5132,6 +5271,17 @@ packages:
protocols@2.0.1:
resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==}
+ proxy-agent@6.3.0:
+ resolution: {integrity: sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==}
+ engines: {node: '>= 14'}
+
+ proxy-agent@6.4.0:
+ resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
+ engines: {node: '>= 14'}
+
+ proxy-from-env@1.1.0:
+ resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==}
+
pump@3.0.0:
resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
@@ -5139,6 +5289,15 @@ packages:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
+ puppeteer-core@23.3.0:
+ resolution: {integrity: sha512-sB2SsVMFs4gKad5OCdv6w5vocvtEUrRl0zQqSyRPbo/cj1Ktbarmhxy02Zyb9R9HrssBcJDZbkrvBnbaesPyYg==}
+ engines: {node: '>=18'}
+
+ puppeteer@23.3.0:
+ resolution: {integrity: sha512-e2jY8cdWSUGsrLxqGm3hIbJq/UIk1uOY8XY7SM51leXkH7shrIyE91lK90Q9byX6tte+cyL3HKqlWBEd6TjWTA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
@@ -5488,6 +5647,10 @@ packages:
resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==}
engines: {node: '>=8.0.0'}
+ smart-buffer@4.2.0:
+ resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
+ engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
+
smob@1.5.0:
resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==}
@@ -5502,8 +5665,16 @@ packages:
resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==}
engines: {node: '>=10.0.0'}
- source-map-js@1.2.0:
- resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
+ socks-proxy-agent@8.0.4:
+ resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==}
+ engines: {node: '>= 14'}
+
+ socks@2.8.3:
+ resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
+ engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
source-map-support@0.5.21:
@@ -5543,6 +5714,9 @@ packages:
resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==}
engines: {node: '>=0.10.0'}
+ sprintf-js@1.1.3:
+ resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
+
sswr@2.1.0:
resolution: {integrity: sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==}
peerDependencies:
@@ -5719,6 +5893,9 @@ packages:
tar-fs@2.1.1:
resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==}
+ tar-fs@3.0.4:
+ resolution: {integrity: sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==}
+
tar-fs@3.0.6:
resolution: {integrity: sha512-iokBDQQkUyeXhgPYaZxmczGPhnhXZ0CmrqI+MOb/WFGS9DW5wnfrLgtjUJBvz50vQ3qfRwJ62QVoCFu8mPVu5w==}
@@ -5733,8 +5910,8 @@ packages:
resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==}
engines: {node: '>=10'}
- terser@5.31.6:
- resolution: {integrity: sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg==}
+ terser@5.32.0:
+ resolution: {integrity: sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==}
engines: {node: '>=10'}
hasBin: true
@@ -5751,6 +5928,9 @@ packages:
thenify@3.3.1:
resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ through@2.3.8:
+ resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+
tiny-inflate@1.0.3:
resolution: {integrity: sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==}
@@ -5763,8 +5943,8 @@ packages:
tinyexec@0.3.0:
resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==}
- tinyglobby@0.2.5:
- resolution: {integrity: sha512-Dlqgt6h0QkoHttG53/WGADNh9QhcjCAIZMTERAVhdpmIBEejSuLI9ZmGKWzB7tweBjlk30+s/ofi4SLmBeTYhw==}
+ tinyglobby@0.2.6:
+ resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==}
engines: {node: '>=12.0.0'}
tinypool@1.0.1:
@@ -5775,8 +5955,8 @@ packages:
resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
engines: {node: '>=14.0.0'}
- tinyspy@3.0.0:
- resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==}
+ tinyspy@3.0.2:
+ resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
engines: {node: '>=14.0.0'}
titleize@3.0.0:
@@ -5868,6 +6048,9 @@ packages:
type-level-regexp@0.1.17:
resolution: {integrity: sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==}
+ typed-query-selector@2.12.0:
+ resolution: {integrity: sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==}
+
typescript@5.5.4:
resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==}
engines: {node: '>=14.17'}
@@ -5888,6 +6071,9 @@ packages:
typescript:
optional: true
+ unbzip2-stream@1.4.3:
+ resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==}
+
uncrypto@0.1.3:
resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
@@ -5907,8 +6093,8 @@ packages:
unenv@1.10.0:
resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==}
- unhead@1.10.4:
- resolution: {integrity: sha512-qKiYhgZ4IuDbylP409cdwK/8WEIi5cOSIBei/OXzxFs4uxiTZHSSa8NC1qPu2kooxHqxyoXGBw8ARms9zOsbxw==}
+ unhead@1.11.1:
+ resolution: {integrity: sha512-2BqoGPtor6eR427J2m6+Qhxwpi+6Uea0Dok+gGn8v+LOzOxQG/fNR6m7qw+7a0uB2PlR3ImvoAvWQ/LiNevymg==}
unicode-emoji-modifier-base@1.0.0:
resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==}
@@ -5952,8 +6138,8 @@ packages:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'}
- unplugin-vue-router@0.10.7:
- resolution: {integrity: sha512-5KEh7Swc1L2Xh5WOD7yQLeB5bO3iTw+Hst7qMxwmwYcPm9qVrtrRTZUftn2Hj4is17oMKgqacyWadjQzwW5B/Q==}
+ unplugin-vue-router@0.10.8:
+ resolution: {integrity: sha512-xi+eLweYAqolIoTRSmumbi6Yx0z5M0PLvl+NFNVWHJgmE2ByJG1SZbrn+TqyuDtIyln20KKgq8tqmL7aLoiFjw==}
peerDependencies:
vue-router: ^4.4.0
peerDependenciesMeta:
@@ -6040,6 +6226,9 @@ packages:
uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ urlpattern-polyfill@10.0.0:
+ resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==}
+
urlpattern-polyfill@8.0.2:
resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==}
@@ -6264,14 +6453,6 @@ packages:
typescript:
optional: true
- vue@3.5.3:
- resolution: {integrity: sha512-xvRbd0HpuLovYbOHXRHlSBsSvmUJbo0pzbkKTApWnQGf3/cu5Z39mQeA5cZdLRVIoNf3zI6MSoOgHUT5i2jO+Q==}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
-
web-namespaces@2.0.1:
resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==}
@@ -6332,6 +6513,18 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ ws@8.13.0:
+ resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==}
+ engines: {node: '>=10.0.0'}
+ peerDependencies:
+ bufferutil: ^4.0.1
+ utf-8-validate: '>=5.0.2'
+ peerDependenciesMeta:
+ bufferutil:
+ optional: true
+ utf-8-validate:
+ optional: true
+
ws@8.17.1:
resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==}
engines: {node: '>=10.0.0'}
@@ -6395,10 +6588,17 @@ packages:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
+ yargs@17.7.1:
+ resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==}
+ engines: {node: '>=12'}
+
yargs@17.7.2:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
engines: {node: '>=12'}
+ yauzl@2.10.0:
+ resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
+
ylru@1.4.0:
resolution: {integrity: sha512-2OQsPNEmBCvXuFlIni/a+Rn+R2pHW9INm0BxXJ4hVDA8TirqMj+J/Rp9ItLatT/5pZqWwefVrTQcHpixsxnVlA==}
engines: {node: '>= 4.0.0'}
@@ -6609,10 +6809,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-imports@7.22.15':
- dependencies:
- '@babel/types': 7.25.6
-
'@babel/helper-module-imports@7.24.7':
dependencies:
'@babel/traverse': 7.25.6
@@ -6768,6 +6964,20 @@ snapshots:
dependencies:
mime: 3.0.0
+ '@cloudflare/puppeteer@0.0.14':
+ dependencies:
+ '@puppeteer/browsers': 1.7.0
+ chromium-bidi: 0.4.20(devtools-protocol@0.0.1159816)
+ cross-fetch: 4.0.0
+ debug: 4.3.4
+ devtools-protocol: 0.0.1159816
+ ws: 8.13.0
+ transitivePeerDependencies:
+ - bufferutil
+ - encoding
+ - supports-color
+ - utf-8-validate
+
'@cloudflare/workerd-darwin-64@1.20240821.1':
optional: true
@@ -7160,9 +7370,9 @@ snapshots:
'@esbuild/win32-x64@0.23.1':
optional: true
- '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1(jiti@1.21.6))':
+ '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0(jiti@1.21.6))':
dependencies:
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.11.0': {}
@@ -7191,10 +7401,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@eslint/js@9.9.1': {}
+ '@eslint/js@9.10.0': {}
'@eslint/object-schema@2.1.4': {}
+ '@eslint/plugin-kit@0.1.0':
+ dependencies:
+ levn: 0.4.1
+
'@fastify/accept-negotiator@1.1.0':
optional: true
@@ -7204,16 +7418,11 @@ snapshots:
dependencies:
tailwindcss: 3.4.10
- '@headlessui/vue@1.7.22(vue@3.4.38(typescript@5.5.4))':
+ '@headlessui/vue@1.7.23(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@tanstack/vue-virtual': 3.10.7(vue@3.4.38(typescript@5.5.4))
vue: 3.4.38(typescript@5.5.4)
- '@headlessui/vue@1.7.22(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@tanstack/vue-virtual': 3.10.7(vue@3.5.3(typescript@5.5.4))
- vue: 3.5.3(typescript@5.5.4)
-
'@humanwhocodes/module-importer@1.0.1': {}
'@humanwhocodes/retry@0.3.0': {}
@@ -7230,15 +7439,15 @@ snapshots:
dependencies:
'@iconify/types': 2.0.0
- '@iconify-json/simple-icons@1.2.1':
+ '@iconify-json/simple-icons@1.2.2':
dependencies:
'@iconify/types': 2.0.0
- '@iconify-json/vscode-icons@1.2.0':
+ '@iconify-json/vscode-icons@1.2.1':
dependencies:
'@iconify/types': 2.0.0
- '@iconify/collections@1.0.457':
+ '@iconify/collections@1.0.458':
dependencies:
'@iconify/types': 2.0.0
@@ -7261,11 +7470,6 @@ snapshots:
'@iconify/types': 2.0.0
vue: 3.4.38(typescript@5.5.4)
- '@iconify/vue@4.1.3-beta.1(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@iconify/types': 2.0.0
- vue: 3.5.3(typescript@5.5.4)
-
'@ioredis/commands@1.2.0': {}
'@isaacs/cliui@8.0.2':
@@ -7370,13 +7574,13 @@ snapshots:
'@nodelib/fs.scandir': 2.1.5
fastq: 1.17.1
- '@nuxt/content@2.13.2(ioredis@5.4.1)(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)))(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4))':
+ '@nuxt/content@2.13.2(ioredis@5.4.1)(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)))(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
'@nuxtjs/mdc': 0.8.3(magicast@0.3.5)(rollup@4.21.2)
- '@vueuse/core': 10.11.1(vue@3.5.3(typescript@5.5.4))
- '@vueuse/head': 2.0.0(vue@3.5.3(typescript@5.5.4))
- '@vueuse/nuxt': 10.11.1(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)))(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4))
+ '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4))
+ '@vueuse/head': 2.0.0(vue@3.4.38(typescript@5.5.4))
+ '@vueuse/nuxt': 10.11.1(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)))(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))
consola: 3.2.3
defu: 6.1.4
destr: 2.0.3
@@ -7437,12 +7641,12 @@ snapshots:
- supports-color
- webpack-sources
- '@nuxt/devtools-kit@1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))':
+ '@nuxt/devtools-kit@1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))':
dependencies:
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
'@nuxt/schema': 3.13.1(rollup@4.21.2)
execa: 7.2.0
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
transitivePeerDependencies:
- magicast
- rollup
@@ -7468,7 +7672,7 @@ snapshots:
'@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@3.29.4)
'@nuxt/devtools-wizard': 1.4.1
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@3.29.4)
- '@vue/devtools-core': 7.3.3(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@vue/devtools-core': 7.3.3(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@vue/devtools-kit': 7.3.3
birpc: 0.2.17
consola: 3.2.3
@@ -7495,10 +7699,10 @@ snapshots:
semver: 7.6.3
simple-git: 3.26.0
sirv: 2.0.4
- tinyglobby: 0.2.5
+ tinyglobby: 0.2.6
unimport: 3.11.1(rollup@3.29.4)
vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.1(magicast@0.3.5)(rollup@3.29.4))(rollup@3.29.4)
- vite-plugin-vue-inspector: 5.2.0(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ vite-plugin-vue-inspector: 5.2.0(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
which: 3.0.1
ws: 8.18.0
transitivePeerDependencies:
@@ -7508,13 +7712,13 @@ snapshots:
- utf-8-validate
- webpack-sources
- '@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))':
+ '@nuxt/devtools@1.4.1(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))':
dependencies:
'@antfu/utils': 0.7.10
- '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxt/devtools-wizard': 1.4.1
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
- '@vue/devtools-core': 7.3.3(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@vue/devtools-core': 7.3.3(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@vue/devtools-kit': 7.3.3
birpc: 0.2.17
consola: 3.2.3
@@ -7541,11 +7745,11 @@ snapshots:
semver: 7.6.3
simple-git: 3.26.0
sirv: 2.0.4
- tinyglobby: 0.2.5
+ tinyglobby: 0.2.6
unimport: 3.11.1(rollup@4.21.2)
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
- vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.1(magicast@0.3.5)(rollup@4.21.2))(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
- vite-plugin-vue-inspector: 5.2.0(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
+ vite-plugin-inspect: 0.8.7(@nuxt/kit@3.13.1(magicast@0.3.5)(rollup@4.21.2))(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
+ vite-plugin-vue-inspector: 5.2.0(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
which: 3.0.1
ws: 8.18.0
transitivePeerDependencies:
@@ -7555,41 +7759,41 @@ snapshots:
- utf-8-validate
- webpack-sources
- '@nuxt/eslint-config@0.5.6(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)':
+ '@nuxt/eslint-config@0.5.6(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)':
dependencies:
- '@eslint/js': 9.9.1
- '@nuxt/eslint-plugin': 0.5.6(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
- '@stylistic/eslint-plugin': 2.7.2(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
- '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
- '@typescript-eslint/parser': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
- eslint: 9.9.1(jiti@1.21.6)
- eslint-config-flat-gitignore: 0.3.0(eslint@9.9.1(jiti@1.21.6))
+ '@eslint/js': 9.10.0
+ '@nuxt/eslint-plugin': 0.5.6(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
+ '@stylistic/eslint-plugin': 2.7.2(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/eslint-plugin': 8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/parser': 8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint: 9.10.0(jiti@1.21.6)
+ eslint-config-flat-gitignore: 0.3.0(eslint@9.10.0(jiti@1.21.6))
eslint-flat-config-utils: 0.3.1
- eslint-plugin-import-x: 4.2.1(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
- eslint-plugin-jsdoc: 50.2.2(eslint@9.9.1(jiti@1.21.6))
- eslint-plugin-regexp: 2.6.0(eslint@9.9.1(jiti@1.21.6))
- eslint-plugin-unicorn: 55.0.0(eslint@9.9.1(jiti@1.21.6))
- eslint-plugin-vue: 9.28.0(eslint@9.9.1(jiti@1.21.6))
+ eslint-plugin-import-x: 4.2.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint-plugin-jsdoc: 50.2.2(eslint@9.10.0(jiti@1.21.6))
+ eslint-plugin-regexp: 2.6.0(eslint@9.10.0(jiti@1.21.6))
+ eslint-plugin-unicorn: 55.0.0(eslint@9.10.0(jiti@1.21.6))
+ eslint-plugin-vue: 9.28.0(eslint@9.10.0(jiti@1.21.6))
globals: 15.9.0
local-pkg: 0.5.0
pathe: 1.1.2
- vue-eslint-parser: 9.4.3(eslint@9.9.1(jiti@1.21.6))
+ vue-eslint-parser: 9.4.3(eslint@9.10.0(jiti@1.21.6))
transitivePeerDependencies:
- supports-color
- typescript
- '@nuxt/eslint-plugin@0.5.6(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)':
+ '@nuxt/eslint-plugin@0.5.6(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)':
dependencies:
'@typescript-eslint/types': 8.4.0
- '@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
- eslint: 9.9.1(jiti@1.21.6)
+ '@typescript-eslint/utils': 8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint: 9.10.0(jiti@1.21.6)
transitivePeerDependencies:
- supports-color
- typescript
- '@nuxt/fonts@0.7.2(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))':
+ '@nuxt/fonts@0.7.2(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))':
dependencies:
- '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
chalk: 5.3.0
css-tree: 2.3.1
@@ -7604,7 +7808,7 @@ snapshots:
ohash: 1.1.3
pathe: 1.1.2
sirv: 2.0.4
- tinyglobby: 0.2.5
+ tinyglobby: 0.2.6
ufo: 1.5.4
unplugin: 1.13.1
unstorage: 1.12.0(ioredis@5.4.1)
@@ -7630,35 +7834,13 @@ snapshots:
- vite
- webpack-sources
- '@nuxt/icon@1.5.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))':
+ '@nuxt/icon@1.5.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))':
dependencies:
- '@iconify/collections': 1.0.457
+ '@iconify/collections': 1.0.458
'@iconify/types': 2.0.0
'@iconify/utils': 2.1.32
'@iconify/vue': 4.1.3-beta.1(vue@3.4.38(typescript@5.5.4))
- '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
- '@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
- consola: 3.2.3
- fast-glob: 3.3.2
- local-pkg: 0.5.0
- mlly: 1.7.1
- pathe: 1.1.2
- std-env: 3.7.0
- transitivePeerDependencies:
- - magicast
- - rollup
- - supports-color
- - vite
- - vue
- - webpack-sources
-
- '@nuxt/icon@1.5.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@iconify/collections': 1.0.457
- '@iconify/types': 2.0.0
- '@iconify/utils': 2.1.32
- '@iconify/vue': 4.1.3-beta.1(vue@3.5.3(typescript@5.5.4))
- '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
consola: 3.2.3
fast-glob: 3.3.2
@@ -7966,7 +8148,7 @@ snapshots:
- supports-color
- webpack-sources
- '@nuxt/test-utils@3.14.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.31.6))(vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)))(vue@3.5.3(typescript@5.5.4))':
+ '@nuxt/test-utils@3.14.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.32.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@3.29.4)
'@nuxt/schema': 3.13.1(rollup@3.29.4)
@@ -7992,23 +8174,23 @@ snapshots:
ufo: 1.5.4
unenv: 1.10.0
unplugin: 1.13.1
- vitest-environment-nuxt: 1.0.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.31.6))(vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)))(vue@3.5.3(typescript@5.5.4))
- vue: 3.5.3(typescript@5.5.4)
- vue-router: 4.4.3(vue@3.5.3(typescript@5.5.4))
+ vitest-environment-nuxt: 1.0.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.32.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
+ vue: 3.4.38(typescript@5.5.4)
+ vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4))
optionalDependencies:
playwright-core: 1.47.0
- vitest: 2.0.5(@types/node@22.5.4)(terser@5.31.6)
+ vitest: 2.0.5(@types/node@22.5.4)(terser@5.32.0)
transitivePeerDependencies:
- magicast
- rollup
- supports-color
- webpack-sources
- '@nuxt/ui-pro@1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4))':
+ '@nuxt/ui-pro@1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))':
dependencies:
- '@iconify-json/vscode-icons': 1.2.0
- '@nuxt/ui': 2.18.4(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4))
- '@vueuse/core': 10.11.1(vue@3.5.3(typescript@5.5.4))
+ '@iconify-json/vscode-icons': 1.2.1
+ '@nuxt/ui': 2.18.4(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
+ '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4))
defu: 6.1.4
git-url-parse: 14.1.0
ofetch: 1.3.4
@@ -8016,7 +8198,7 @@ snapshots:
pathe: 1.1.2
pkg-types: 1.2.0
tailwind-merge: 2.5.2
- vue3-smooth-dnd: 0.0.6(vue@3.5.3(typescript@5.5.4))
+ vue3-smooth-dnd: 0.0.6(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- async-validator
@@ -8039,12 +8221,12 @@ snapshots:
- vue
- webpack-sources
- '@nuxt/ui@2.18.4(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))':
+ '@nuxt/ui@2.18.4(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@headlessui/tailwindcss': 0.2.1(tailwindcss@3.4.10)
- '@headlessui/vue': 1.7.22(vue@3.4.38(typescript@5.5.4))
+ '@headlessui/vue': 1.7.23(vue@3.4.38(typescript@5.5.4))
'@iconify-json/heroicons': 1.2.0
- '@nuxt/icon': 1.5.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))
+ '@nuxt/icon': 1.5.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
'@nuxtjs/color-mode': 3.4.4(magicast@0.3.5)(rollup@4.21.2)
'@nuxtjs/tailwindcss': 6.12.1(magicast@0.3.5)(rollup@4.21.2)
@@ -8085,58 +8267,12 @@ snapshots:
- vue
- webpack-sources
- '@nuxt/ui@2.18.4(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@headlessui/tailwindcss': 0.2.1(tailwindcss@3.4.10)
- '@headlessui/vue': 1.7.22(vue@3.5.3(typescript@5.5.4))
- '@iconify-json/heroicons': 1.2.0
- '@nuxt/icon': 1.5.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4))
- '@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
- '@nuxtjs/color-mode': 3.4.4(magicast@0.3.5)(rollup@4.21.2)
- '@nuxtjs/tailwindcss': 6.12.1(magicast@0.3.5)(rollup@4.21.2)
- '@popperjs/core': 2.11.8
- '@tailwindcss/aspect-ratio': 0.4.2(tailwindcss@3.4.10)
- '@tailwindcss/container-queries': 0.1.1(tailwindcss@3.4.10)
- '@tailwindcss/forms': 0.5.9(tailwindcss@3.4.10)
- '@tailwindcss/typography': 0.5.15(tailwindcss@3.4.10)
- '@vueuse/core': 10.11.1(vue@3.5.3(typescript@5.5.4))
- '@vueuse/integrations': 10.11.1(fuse.js@6.6.2)(vue@3.5.3(typescript@5.5.4))
- '@vueuse/math': 10.11.1(vue@3.5.3(typescript@5.5.4))
- defu: 6.1.4
- fuse.js: 6.6.2
- ohash: 1.1.3
- pathe: 1.1.2
- scule: 1.3.0
- tailwind-merge: 2.5.2
- tailwindcss: 3.4.10
- transitivePeerDependencies:
- - '@vue/composition-api'
- - async-validator
- - axios
- - change-case
- - drauu
- - focus-trap
- - idb-keyval
- - jwt-decode
- - magicast
- - nprogress
- - qrcode
- - rollup
- - sortablejs
- - supports-color
- - ts-node
- - uWebSockets.js
- - universal-cookie
- - vite
- - vue
- - webpack-sources
-
- '@nuxt/vite-builder@3.13.0(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.31.6)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))':
+ '@nuxt/vite-builder@3.13.0(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.32.0)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@3.29.4)
'@rollup/plugin-replace': 5.0.7(rollup@3.29.4)
- '@vitejs/plugin-vue': 5.1.3(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))
- '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))
+ '@vitejs/plugin-vue': 5.1.3(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
+ '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
autoprefixer: 10.4.20(postcss@8.4.45)
clear: 0.1.0
consola: 3.2.3
@@ -8162,9 +8298,9 @@ snapshots:
ufo: 1.5.4
unenv: 1.10.0
unplugin: 1.13.1
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
- vite-node: 2.0.5(@types/node@22.5.4)(terser@5.31.6)
- vite-plugin-checker: 0.7.2(eslint@9.9.1(jiti@1.21.6))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
+ vite-node: 2.0.5(@types/node@22.5.4)(terser@5.32.0)
+ vite-plugin-checker: 0.7.2(eslint@9.10.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
vue: 3.4.38(typescript@5.5.4)
vue-bundle-renderer: 2.1.0
transitivePeerDependencies:
@@ -8191,12 +8327,12 @@ snapshots:
- vue-tsc
- webpack-sources
- '@nuxt/vite-builder@3.13.0(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))':
+ '@nuxt/vite-builder@3.13.0(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.21.2)
'@rollup/plugin-replace': 5.0.7(rollup@4.21.2)
- '@vitejs/plugin-vue': 5.1.3(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))
- '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))
+ '@vitejs/plugin-vue': 5.1.3(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
+ '@vitejs/plugin-vue-jsx': 4.0.1(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
autoprefixer: 10.4.20(postcss@8.4.45)
clear: 0.1.0
consola: 3.2.3
@@ -8222,9 +8358,9 @@ snapshots:
ufo: 1.5.4
unenv: 1.10.0
unplugin: 1.13.1
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
- vite-node: 2.0.5(@types/node@22.5.4)(terser@5.31.6)
- vite-plugin-checker: 0.7.2(eslint@9.9.1(jiti@1.21.6))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
+ vite-node: 2.0.5(@types/node@22.5.4)(terser@5.32.0)
+ vite-plugin-checker: 0.7.2(eslint@9.10.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
vue: 3.4.38(typescript@5.5.4)
vue-bundle-renderer: 2.1.0
transitivePeerDependencies:
@@ -8270,10 +8406,10 @@ snapshots:
- utf-8-validate
- webpack-sources
- '@nuxthub/core@0.7.9(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))':
+ '@nuxthub/core@0.7.10(ioredis@5.4.1)(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))':
dependencies:
'@cloudflare/workers-types': 4.20240903.0
- '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
'@uploadthing/mime-types': 0.2.10
citty: 0.1.6
@@ -8471,6 +8607,31 @@ snapshots:
'@popperjs/core@2.11.8': {}
+ '@puppeteer/browsers@1.7.0':
+ dependencies:
+ debug: 4.3.4
+ extract-zip: 2.0.1
+ progress: 2.0.3
+ proxy-agent: 6.3.0
+ tar-fs: 3.0.4
+ unbzip2-stream: 1.4.3
+ yargs: 17.7.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@puppeteer/browsers@2.4.0':
+ dependencies:
+ debug: 4.3.7
+ extract-zip: 2.0.1
+ progress: 2.0.3
+ proxy-agent: 6.4.0
+ semver: 7.6.3
+ tar-fs: 3.0.6
+ unbzip2-stream: 1.4.3
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - supports-color
+
'@resvg/resvg-js-android-arm-eabi@2.6.2':
optional: true
@@ -8618,7 +8779,7 @@ snapshots:
dependencies:
serialize-javascript: 6.0.2
smob: 1.5.0
- terser: 5.31.6
+ terser: 5.32.0
optionalDependencies:
rollup: 4.21.2
@@ -8717,11 +8878,11 @@ snapshots:
'@socket.io/component-emitter@3.1.2': {}
- '@stylistic/eslint-plugin@2.7.2(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)':
+ '@stylistic/eslint-plugin@2.7.2(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)':
dependencies:
'@types/eslint': 9.6.1
- '@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
- eslint: 9.9.1(jiti@1.21.6)
+ '@typescript-eslint/utils': 8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
+ eslint: 9.10.0(jiti@1.21.6)
eslint-visitor-keys: 4.0.0
espree: 10.1.0
estraverse: 5.3.0
@@ -8762,10 +8923,7 @@ snapshots:
'@tanstack/virtual-core': 3.10.7
vue: 3.4.38(typescript@5.5.4)
- '@tanstack/vue-virtual@3.10.7(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@tanstack/virtual-core': 3.10.7
- vue: 3.5.3(typescript@5.5.4)
+ '@tootallnate/quickjs-emscripten@0.23.0': {}
'@trysound/sax@0.2.0': {}
@@ -8816,15 +8974,20 @@ snapshots:
'@types/web-bluetooth@0.0.20': {}
- '@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4))(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)':
+ '@types/yauzl@2.10.3':
+ dependencies:
+ '@types/node': 22.5.4
+ optional: true
+
+ '@typescript-eslint/eslint-plugin@8.4.0(@typescript-eslint/parser@8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4))(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)':
dependencies:
'@eslint-community/regexpp': 4.11.0
- '@typescript-eslint/parser': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/parser': 8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
'@typescript-eslint/scope-manager': 8.4.0
- '@typescript-eslint/type-utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
- '@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/type-utils': 8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 8.4.0
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
@@ -8834,14 +8997,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)':
+ '@typescript-eslint/parser@8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)':
dependencies:
'@typescript-eslint/scope-manager': 8.4.0
'@typescript-eslint/types': 8.4.0
'@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4)
'@typescript-eslint/visitor-keys': 8.4.0
debug: 4.3.7
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
optionalDependencies:
typescript: 5.5.4
transitivePeerDependencies:
@@ -8852,10 +9015,10 @@ snapshots:
'@typescript-eslint/types': 8.4.0
'@typescript-eslint/visitor-keys': 8.4.0
- '@typescript-eslint/type-utils@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)':
+ '@typescript-eslint/type-utils@8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)':
dependencies:
'@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4)
- '@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
debug: 4.3.7
ts-api-utils: 1.3.0(typescript@5.5.4)
optionalDependencies:
@@ -8881,13 +9044,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)':
+ '@typescript-eslint/utils@8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)':
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6))
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.6))
'@typescript-eslint/scope-manager': 8.4.0
'@typescript-eslint/types': 8.4.0
'@typescript-eslint/typescript-estree': 8.4.0(typescript@5.5.4)
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
transitivePeerDependencies:
- supports-color
- typescript
@@ -8899,41 +9062,34 @@ snapshots:
'@ungap/structured-clone@1.2.0': {}
- '@unhead/dom@1.10.4':
+ '@unhead/dom@1.11.1':
dependencies:
- '@unhead/schema': 1.10.4
- '@unhead/shared': 1.10.4
+ '@unhead/schema': 1.11.1
+ '@unhead/shared': 1.11.1
- '@unhead/schema@1.10.4':
+ '@unhead/schema@1.11.1':
dependencies:
hookable: 5.5.3
zhead: 2.2.4
- '@unhead/shared@1.10.4':
+ '@unhead/shared@1.11.1':
dependencies:
- '@unhead/schema': 1.10.4
+ '@unhead/schema': 1.11.1
- '@unhead/ssr@1.10.4':
+ '@unhead/ssr@1.11.1':
dependencies:
- '@unhead/schema': 1.10.4
- '@unhead/shared': 1.10.4
+ '@unhead/schema': 1.11.1
+ '@unhead/shared': 1.11.1
- '@unhead/vue@1.10.4(vue@3.4.38(typescript@5.5.4))':
+ '@unhead/vue@1.11.1(vue@3.4.38(typescript@5.5.4))':
dependencies:
- '@unhead/schema': 1.10.4
- '@unhead/shared': 1.10.4
+ '@unhead/schema': 1.11.1
+ '@unhead/shared': 1.11.1
+ defu: 6.1.4
hookable: 5.5.3
- unhead: 1.10.4
+ unhead: 1.11.1
vue: 3.4.38(typescript@5.5.4)
- '@unhead/vue@1.10.4(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@unhead/schema': 1.10.4
- '@unhead/shared': 1.10.4
- hookable: 5.5.3
- unhead: 1.10.4
- vue: 3.5.3(typescript@5.5.4)
-
'@unocss/core@0.62.3': {}
'@unocss/extractor-arbitrary-variants@0.62.3':
@@ -8977,19 +9133,19 @@ snapshots:
- encoding
- supports-color
- '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))':
+ '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@babel/core': 7.25.2
'@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2)
- '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2)
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
+ '@vue/babel-plugin-jsx': 1.2.4(@babel/core@7.25.2)
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
vue: 3.4.38(typescript@5.5.4)
transitivePeerDependencies:
- supports-color
- '@vitejs/plugin-vue@5.1.3(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.4.38(typescript@5.5.4))':
+ '@vitejs/plugin-vue@5.1.3(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))':
dependencies:
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
vue: 3.4.38(typescript@5.5.4)
'@vitest/expect@2.0.5':
@@ -9016,7 +9172,7 @@ snapshots:
'@vitest/spy@2.0.5':
dependencies:
- tinyspy: 3.0.0
+ tinyspy: 3.0.2
'@vitest/utils@2.0.5':
dependencies:
@@ -9038,7 +9194,7 @@ snapshots:
'@volar/language-core': 1.11.1
path-browserify: 1.0.1
- '@vue-macros/common@1.12.2(rollup@3.29.4)(vue@3.4.38(typescript@5.5.4))':
+ '@vue-macros/common@1.12.3(rollup@3.29.4)(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@babel/types': 7.25.6
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
@@ -9051,7 +9207,7 @@ snapshots:
transitivePeerDependencies:
- rollup
- '@vue-macros/common@1.12.2(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))':
+ '@vue-macros/common@1.12.3(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@babel/types': 7.25.6
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
@@ -9064,19 +9220,18 @@ snapshots:
transitivePeerDependencies:
- rollup
- '@vue/babel-helper-vue-transform-on@1.2.2': {}
+ '@vue/babel-helper-vue-transform-on@1.2.4': {}
- '@vue/babel-plugin-jsx@1.2.2(@babel/core@7.25.2)':
+ '@vue/babel-plugin-jsx@1.2.4(@babel/core@7.25.2)':
dependencies:
- '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-module-imports': 7.24.7
'@babel/helper-plugin-utils': 7.24.8
'@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2)
'@babel/template': 7.25.0
'@babel/traverse': 7.25.6
'@babel/types': 7.25.6
- '@vue/babel-helper-vue-transform-on': 1.2.2
- '@vue/babel-plugin-resolve-type': 1.2.2(@babel/core@7.25.2)
- camelcase: 6.3.0
+ '@vue/babel-helper-vue-transform-on': 1.2.4
+ '@vue/babel-plugin-resolve-type': 1.2.4(@babel/core@7.25.2)
html-tags: 3.3.1
svg-tags: 1.0.0
optionalDependencies:
@@ -9084,14 +9239,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@vue/babel-plugin-resolve-type@1.2.2(@babel/core@7.25.2)':
+ '@vue/babel-plugin-resolve-type@1.2.4(@babel/core@7.25.2)':
dependencies:
'@babel/code-frame': 7.24.7
'@babel/core': 7.25.2
- '@babel/helper-module-imports': 7.22.15
+ '@babel/helper-module-imports': 7.24.7
'@babel/helper-plugin-utils': 7.24.8
'@babel/parser': 7.25.6
'@vue/compiler-sfc': 3.5.3
+ transitivePeerDependencies:
+ - supports-color
'@vue/compiler-core@3.4.38':
dependencies:
@@ -9099,7 +9256,7 @@ snapshots:
'@vue/shared': 3.4.38
entities: 4.5.0
estree-walker: 2.0.2
- source-map-js: 1.2.0
+ source-map-js: 1.2.1
'@vue/compiler-core@3.5.3':
dependencies:
@@ -9107,7 +9264,7 @@ snapshots:
'@vue/shared': 3.5.3
entities: 4.5.0
estree-walker: 2.0.2
- source-map-js: 1.2.0
+ source-map-js: 1.2.1
'@vue/compiler-dom@3.4.38':
dependencies:
@@ -9129,7 +9286,7 @@ snapshots:
estree-walker: 2.0.2
magic-string: 0.30.11
postcss: 8.4.45
- source-map-js: 1.2.0
+ source-map-js: 1.2.1
'@vue/compiler-sfc@3.5.3':
dependencies:
@@ -9141,7 +9298,7 @@ snapshots:
estree-walker: 2.0.2
magic-string: 0.30.11
postcss: 8.4.45
- source-map-js: 1.2.0
+ source-map-js: 1.2.1
'@vue/compiler-ssr@3.4.38':
dependencies:
@@ -9153,16 +9310,16 @@ snapshots:
'@vue/compiler-dom': 3.5.3
'@vue/shared': 3.5.3
- '@vue/devtools-api@6.6.3': {}
+ '@vue/devtools-api@6.6.4': {}
- '@vue/devtools-core@7.3.3(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))':
+ '@vue/devtools-core@7.3.3(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))':
dependencies:
'@vue/devtools-kit': 7.3.3
'@vue/devtools-shared': 7.4.4
mitt: 3.0.1
nanoid: 3.3.7
pathe: 1.1.2
- vite-hot-client: 0.2.3(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ vite-hot-client: 0.2.3(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
transitivePeerDependencies:
- vite
@@ -9198,20 +9355,11 @@ snapshots:
dependencies:
'@vue/shared': 3.4.38
- '@vue/reactivity@3.5.3':
- dependencies:
- '@vue/shared': 3.5.3
-
'@vue/runtime-core@3.4.38':
dependencies:
'@vue/reactivity': 3.4.38
'@vue/shared': 3.4.38
- '@vue/runtime-core@3.5.3':
- dependencies:
- '@vue/reactivity': 3.5.3
- '@vue/shared': 3.5.3
-
'@vue/runtime-dom@3.4.38':
dependencies:
'@vue/reactivity': 3.4.38
@@ -9219,25 +9367,12 @@ snapshots:
'@vue/shared': 3.4.38
csstype: 3.1.3
- '@vue/runtime-dom@3.5.3':
- dependencies:
- '@vue/reactivity': 3.5.3
- '@vue/runtime-core': 3.5.3
- '@vue/shared': 3.5.3
- csstype: 3.1.3
-
'@vue/server-renderer@3.4.38(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@vue/compiler-ssr': 3.4.38
'@vue/shared': 3.4.38
vue: 3.4.38(typescript@5.5.4)
- '@vue/server-renderer@3.5.3(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@vue/compiler-ssr': 3.5.3
- '@vue/shared': 3.5.3
- vue: 3.5.3(typescript@5.5.4)
-
'@vue/shared@3.4.38': {}
'@vue/shared@3.5.3': {}
@@ -9252,33 +9387,23 @@ snapshots:
- '@vue/composition-api'
- vue
- '@vueuse/core@10.11.1(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@types/web-bluetooth': 0.0.20
- '@vueuse/metadata': 10.11.1
- '@vueuse/shared': 10.11.1(vue@3.5.3(typescript@5.5.4))
- vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4))
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
-
- '@vueuse/core@11.0.3(vue@3.5.3(typescript@5.5.4))':
+ '@vueuse/core@11.0.3(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@types/web-bluetooth': 0.0.20
'@vueuse/metadata': 11.0.3
- '@vueuse/shared': 11.0.3(vue@3.5.3(typescript@5.5.4))
- vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4))
+ '@vueuse/shared': 11.0.3(vue@3.4.38(typescript@5.5.4))
+ vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
- '@vueuse/head@2.0.0(vue@3.5.3(typescript@5.5.4))':
+ '@vueuse/head@2.0.0(vue@3.4.38(typescript@5.5.4))':
dependencies:
- '@unhead/dom': 1.10.4
- '@unhead/schema': 1.10.4
- '@unhead/ssr': 1.10.4
- '@unhead/vue': 1.10.4(vue@3.5.3(typescript@5.5.4))
- vue: 3.5.3(typescript@5.5.4)
+ '@unhead/dom': 1.11.1
+ '@unhead/schema': 1.11.1
+ '@unhead/ssr': 1.11.1
+ '@unhead/vue': 1.11.1(vue@3.4.38(typescript@5.5.4))
+ vue: 3.4.38(typescript@5.5.4)
'@vueuse/integrations@10.11.1(fuse.js@6.6.2)(vue@3.4.38(typescript@5.5.4))':
dependencies:
@@ -9291,17 +9416,6 @@ snapshots:
- '@vue/composition-api'
- vue
- '@vueuse/integrations@10.11.1(fuse.js@6.6.2)(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@vueuse/core': 10.11.1(vue@3.5.3(typescript@5.5.4))
- '@vueuse/shared': 10.11.1(vue@3.5.3(typescript@5.5.4))
- vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4))
- optionalDependencies:
- fuse.js: 6.6.2
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
-
'@vueuse/math@10.11.1(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@vueuse/shared': 10.11.1(vue@3.4.38(typescript@5.5.4))
@@ -9310,26 +9424,18 @@ snapshots:
- '@vue/composition-api'
- vue
- '@vueuse/math@10.11.1(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- '@vueuse/shared': 10.11.1(vue@3.5.3(typescript@5.5.4))
- vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4))
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
-
'@vueuse/metadata@10.11.1': {}
'@vueuse/metadata@11.0.3': {}
- '@vueuse/nuxt@10.11.1(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)))(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4))':
+ '@vueuse/nuxt@10.11.1(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)))(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
- '@vueuse/core': 10.11.1(vue@3.5.3(typescript@5.5.4))
+ '@vueuse/core': 10.11.1(vue@3.4.38(typescript@5.5.4))
'@vueuse/metadata': 10.11.1
local-pkg: 0.5.0
- nuxt: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
- vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4))
+ nuxt: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
+ vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- magicast
@@ -9338,14 +9444,14 @@ snapshots:
- vue
- webpack-sources
- '@vueuse/nuxt@11.0.3(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)))(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4))':
+ '@vueuse/nuxt@11.0.3(magicast@0.3.5)(nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)))(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))':
dependencies:
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
- '@vueuse/core': 11.0.3(vue@3.5.3(typescript@5.5.4))
+ '@vueuse/core': 11.0.3(vue@3.4.38(typescript@5.5.4))
'@vueuse/metadata': 11.0.3
local-pkg: 0.5.0
- nuxt: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
- vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4))
+ nuxt: 3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
+ vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- magicast
@@ -9361,16 +9467,9 @@ snapshots:
- '@vue/composition-api'
- vue
- '@vueuse/shared@10.11.1(vue@3.5.3(typescript@5.5.4))':
- dependencies:
- vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4))
- transitivePeerDependencies:
- - '@vue/composition-api'
- - vue
-
- '@vueuse/shared@11.0.3(vue@3.5.3(typescript@5.5.4))':
+ '@vueuse/shared@11.0.3(vue@3.4.38(typescript@5.5.4))':
dependencies:
- vue-demi: 0.14.10(vue@3.5.3(typescript@5.5.4))
+ vue-demi: 0.14.10(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
@@ -9394,7 +9493,7 @@ snapshots:
dependencies:
acorn: 8.12.1
- acorn-walk@8.3.3:
+ acorn-walk@8.3.4:
dependencies:
acorn: 8.12.1
@@ -9406,7 +9505,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
- ai@3.3.28(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.38(typescript@5.5.4))(zod@3.23.8):
+ agent-base@7.1.1:
+ dependencies:
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+
+ ai@3.3.30(react@18.3.1)(sswr@2.1.0(svelte@4.2.19))(svelte@4.2.19)(vue@3.4.38(typescript@5.5.4))(zod@3.23.8):
dependencies:
'@ai-sdk/provider': 0.0.23
'@ai-sdk/provider-utils': 1.0.18(zod@3.23.8)
@@ -9513,6 +9618,10 @@ snapshots:
'@babel/parser': 7.25.6
pathe: 1.1.2
+ ast-types@0.13.4:
+ dependencies:
+ tslib: 2.7.0
+
ast-walker-scope@0.6.2:
dependencies:
'@babel/parser': 7.25.6
@@ -9531,7 +9640,7 @@ snapshots:
autoprefixer@10.4.20(postcss@8.4.45):
dependencies:
browserslist: 4.23.3
- caniuse-lite: 1.0.30001658
+ caniuse-lite: 1.0.30001659
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.0
@@ -9574,6 +9683,8 @@ snapshots:
base64-js@1.5.1: {}
+ basic-ftp@5.0.5: {}
+
big-integer@1.6.52: {}
binary-extensions@2.3.0: {}
@@ -9620,11 +9731,13 @@ snapshots:
browserslist@4.23.3:
dependencies:
- caniuse-lite: 1.0.30001658
- electron-to-chromium: 1.5.17
+ caniuse-lite: 1.0.30001659
+ electron-to-chromium: 1.5.18
node-releases: 2.0.18
update-browserslist-db: 1.1.0(browserslist@4.23.3)
+ buffer-crc32@0.2.13: {}
+
buffer-crc32@1.0.0: {}
buffer-from@1.1.2: {}
@@ -9633,7 +9746,6 @@ snapshots:
dependencies:
base64-js: 1.5.1
ieee754: 1.2.1
- optional: true
buffer@6.0.3:
dependencies:
@@ -9678,18 +9790,16 @@ snapshots:
camelcase-css@2.0.1: {}
- camelcase@6.3.0: {}
-
camelize@1.0.1: {}
caniuse-api@3.0.0:
dependencies:
browserslist: 4.23.3
- caniuse-lite: 1.0.30001658
+ caniuse-lite: 1.0.30001659
lodash.memoize: 4.1.2
lodash.uniq: 4.5.0
- caniuse-lite@1.0.30001658: {}
+ caniuse-lite@1.0.30001659: {}
capnp-ts@0.7.0:
dependencies:
@@ -9779,6 +9889,18 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ chromium-bidi@0.4.20(devtools-protocol@0.0.1159816):
+ dependencies:
+ devtools-protocol: 0.0.1159816
+ mitt: 3.0.1
+
+ chromium-bidi@0.6.5(devtools-protocol@0.0.1330662):
+ dependencies:
+ devtools-protocol: 0.0.1330662
+ mitt: 3.0.1
+ urlpattern-polyfill: 10.0.0
+ zod: 3.23.8
+
ci-info@4.0.0: {}
citty@0.1.6:
@@ -9914,6 +10036,15 @@ snapshots:
core-util-is@1.0.3: {}
+ cosmiconfig@9.0.0(typescript@5.5.4):
+ dependencies:
+ env-paths: 2.2.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ optionalDependencies:
+ typescript: 5.5.4
+
crc-32@1.2.2: {}
crc32-stream@6.0.0:
@@ -9933,6 +10064,12 @@ snapshots:
transitivePeerDependencies:
- encoding
+ cross-fetch@4.0.0:
+ dependencies:
+ node-fetch: 2.7.0
+ transitivePeerDependencies:
+ - encoding
+
cross-spawn@7.0.3:
dependencies:
path-key: 3.1.1
@@ -9968,12 +10105,12 @@ snapshots:
css-tree@2.2.1:
dependencies:
mdn-data: 2.0.28
- source-map-js: 1.2.0
+ source-map-js: 1.2.1
css-tree@2.3.1:
dependencies:
mdn-data: 2.0.30
- source-map-js: 1.2.0
+ source-map-js: 1.2.1
css-what@6.1.0: {}
@@ -10034,6 +10171,8 @@ snapshots:
data-uri-to-buffer@2.0.2: {}
+ data-uri-to-buffer@6.0.2: {}
+
date-fns@3.6.0: {}
db0@0.1.4(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240903.0)(@opentelemetry/api@1.9.0)(postgres@3.4.4)(react@18.3.1)):
@@ -10050,6 +10189,10 @@ snapshots:
dependencies:
ms: 2.1.3
+ debug@4.3.4:
+ dependencies:
+ ms: 2.1.2
+
debug@4.3.7:
dependencies:
ms: 2.1.3
@@ -10099,6 +10242,12 @@ snapshots:
defu@6.1.4: {}
+ degenerator@5.0.1:
+ dependencies:
+ ast-types: 0.13.4
+ escodegen: 2.1.0
+ esprima: 4.0.1
+
delegates@1.0.0: {}
denque@2.1.0: {}
@@ -10125,6 +10274,10 @@ snapshots:
dependencies:
dequal: 2.0.3
+ devtools-protocol@0.0.1159816: {}
+
+ devtools-protocol@0.0.1330662: {}
+
dfa@1.2.0: {}
didyoumean@1.2.2: {}
@@ -10180,7 +10333,7 @@ snapshots:
ee-first@1.1.1: {}
- electron-to-chromium@1.5.17: {}
+ electron-to-chromium@1.5.18: {}
emoji-regex@10.4.0: {}
@@ -10197,7 +10350,6 @@ snapshots:
end-of-stream@1.4.4:
dependencies:
once: 1.4.0
- optional: true
engine.io-client@6.5.4:
dependencies:
@@ -10220,6 +10372,8 @@ snapshots:
entities@4.5.0: {}
+ env-paths@2.2.1: {}
+
error-ex@1.3.2:
dependencies:
is-arrayish: 0.2.1
@@ -10370,10 +10524,18 @@ snapshots:
escape-string-regexp@5.0.0: {}
- eslint-config-flat-gitignore@0.3.0(eslint@9.9.1(jiti@1.21.6)):
+ escodegen@2.1.0:
+ dependencies:
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
+
+ eslint-config-flat-gitignore@0.3.0(eslint@9.10.0(jiti@1.21.6)):
dependencies:
'@eslint/compat': 1.1.1
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
find-up-simple: 1.0.0
eslint-flat-config-utils@0.3.1:
@@ -10389,12 +10551,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-import-x@4.2.1(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4):
+ eslint-plugin-import-x@4.2.1(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4):
dependencies:
- '@typescript-eslint/utils': 8.4.0(eslint@9.9.1(jiti@1.21.6))(typescript@5.5.4)
+ '@typescript-eslint/utils': 8.4.0(eslint@9.10.0(jiti@1.21.6))(typescript@5.5.4)
debug: 4.3.7
doctrine: 3.0.0
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
eslint-import-resolver-node: 0.3.9
get-tsconfig: 4.8.0
is-glob: 4.0.3
@@ -10406,14 +10568,14 @@ snapshots:
- supports-color
- typescript
- eslint-plugin-jsdoc@50.2.2(eslint@9.9.1(jiti@1.21.6)):
+ eslint-plugin-jsdoc@50.2.2(eslint@9.10.0(jiti@1.21.6)):
dependencies:
'@es-joy/jsdoccomment': 0.48.0
are-docs-informative: 0.0.2
comment-parser: 1.4.1
debug: 4.3.7
escape-string-regexp: 4.0.0
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
espree: 10.1.0
esquery: 1.6.0
parse-imports: 2.1.1
@@ -10423,25 +10585,25 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-plugin-regexp@2.6.0(eslint@9.9.1(jiti@1.21.6)):
+ eslint-plugin-regexp@2.6.0(eslint@9.10.0(jiti@1.21.6)):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6))
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.6))
'@eslint-community/regexpp': 4.11.0
comment-parser: 1.4.1
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
jsdoc-type-pratt-parser: 4.1.0
refa: 0.12.1
regexp-ast-analysis: 0.7.1
scslre: 0.3.0
- eslint-plugin-unicorn@55.0.0(eslint@9.9.1(jiti@1.21.6)):
+ eslint-plugin-unicorn@55.0.0(eslint@9.10.0(jiti@1.21.6)):
dependencies:
'@babel/helper-validator-identifier': 7.24.7
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6))
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.6))
ci-info: 4.0.0
clean-regexp: 1.0.0
core-js-compat: 3.38.1
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
esquery: 1.6.0
globals: 15.9.0
indent-string: 4.0.0
@@ -10454,16 +10616,16 @@ snapshots:
semver: 7.6.3
strip-indent: 3.0.0
- eslint-plugin-vue@9.28.0(eslint@9.9.1(jiti@1.21.6)):
+ eslint-plugin-vue@9.28.0(eslint@9.10.0(jiti@1.21.6)):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6))
- eslint: 9.9.1(jiti@1.21.6)
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.6))
+ eslint: 9.10.0(jiti@1.21.6)
globals: 13.24.0
natural-compare: 1.4.0
nth-check: 2.1.1
postcss-selector-parser: 6.1.2
semver: 7.6.3
- vue-eslint-parser: 9.4.3(eslint@9.9.1(jiti@1.21.6))
+ vue-eslint-parser: 9.4.3(eslint@9.10.0(jiti@1.21.6))
xml-name-validator: 4.0.0
transitivePeerDependencies:
- supports-color
@@ -10482,13 +10644,14 @@ snapshots:
eslint-visitor-keys@4.0.0: {}
- eslint@9.9.1(jiti@1.21.6):
+ eslint@9.10.0(jiti@1.21.6):
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1(jiti@1.21.6))
+ '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.6))
'@eslint-community/regexpp': 4.11.0
'@eslint/config-array': 0.18.0
'@eslint/eslintrc': 3.1.0
- '@eslint/js': 9.9.1
+ '@eslint/js': 9.10.0
+ '@eslint/plugin-kit': 0.1.0
'@humanwhocodes/module-importer': 1.0.1
'@humanwhocodes/retry': 0.3.0
'@nodelib/fs.walk': 1.2.8
@@ -10511,7 +10674,6 @@ snapshots:
is-glob: 4.0.3
is-path-inside: 3.0.3
json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
lodash.merge: 4.6.2
minimatch: 3.1.2
natural-compare: 1.4.0
@@ -10535,6 +10697,8 @@ snapshots:
acorn-jsx: 5.3.2(acorn@8.12.1)
eslint-visitor-keys: 3.4.3
+ esprima@4.0.1: {}
+
esquery@1.6.0:
dependencies:
estraverse: 5.3.0
@@ -10628,6 +10792,16 @@ snapshots:
pathe: 1.1.2
ufo: 1.5.4
+ extract-zip@2.0.1:
+ dependencies:
+ debug: 4.3.7
+ get-stream: 5.2.0
+ yauzl: 2.10.0
+ optionalDependencies:
+ '@types/yauzl': 2.10.3
+ transitivePeerDependencies:
+ - supports-color
+
fake-indexeddb@6.0.0: {}
fast-deep-equal@3.1.3: {}
@@ -10652,6 +10826,10 @@ snapshots:
dependencies:
reusify: 1.0.4
+ fd-slicer@1.1.0:
+ dependencies:
+ pend: 1.2.0
+
fdir@6.3.0(picomatch@4.0.2):
optionalDependencies:
picomatch: 4.0.2
@@ -10664,7 +10842,7 @@ snapshots:
figures@6.1.0:
dependencies:
- is-unicode-supported: 2.0.0
+ is-unicode-supported: 2.1.0
file-entry-cache@8.0.0:
dependencies:
@@ -10785,6 +10963,10 @@ snapshots:
data-uri-to-buffer: 2.0.2
source-map: 0.6.1
+ get-stream@5.2.0:
+ dependencies:
+ pump: 3.0.0
+
get-stream@6.0.1: {}
get-stream@8.0.1: {}
@@ -10798,6 +10980,15 @@ snapshots:
dependencies:
resolve-pkg-maps: 1.0.0
+ get-uri@6.0.3:
+ dependencies:
+ basic-ftp: 5.0.5
+ data-uri-to-buffer: 6.0.2
+ debug: 4.3.7
+ fs-extra: 11.2.0
+ transitivePeerDependencies:
+ - supports-color
+
giget@1.2.3:
dependencies:
citty: 0.1.6
@@ -11034,6 +11225,13 @@ snapshots:
statuses: 2.0.1
toidentifier: 1.0.1
+ http-proxy-agent@7.0.2:
+ dependencies:
+ agent-base: 7.1.1
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+
http-shutdown@1.2.2: {}
https-proxy-agent@5.0.1:
@@ -11043,6 +11241,13 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ https-proxy-agent@7.0.5:
+ dependencies:
+ agent-base: 7.1.1
+ debug: 4.3.7
+ transitivePeerDependencies:
+ - supports-color
+
httpxy@0.1.5: {}
human-signals@2.1.0: {}
@@ -11099,6 +11304,11 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ ip-address@9.0.5:
+ dependencies:
+ jsbn: 1.1.0
+ sprintf-js: 1.1.3
+
ipx@2.1.0(ioredis@5.4.1):
dependencies:
'@fastify/accept-negotiator': 1.1.0
@@ -11219,7 +11429,7 @@ snapshots:
is-stream@4.0.1: {}
- is-unicode-supported@2.0.0: {}
+ is-unicode-supported@2.1.0: {}
is-what@4.1.16: {}
@@ -11255,6 +11465,8 @@ snapshots:
dependencies:
argparse: 2.0.1
+ jsbn@1.1.0: {}
+
jsdoc-type-pratt-parser@4.1.0: {}
jsesc@0.5.0: {}
@@ -11455,6 +11667,8 @@ snapshots:
dependencies:
yallist: 3.1.1
+ lru-cache@7.18.3: {}
+
magic-regexp@0.8.0:
dependencies:
estree-walker: 3.0.3
@@ -11483,7 +11697,7 @@ snapshots:
dependencies:
'@babel/parser': 7.25.6
'@babel/types': 7.25.6
- source-map-js: 1.2.0
+ source-map-js: 1.2.1
make-dir@3.1.0:
dependencies:
@@ -11845,7 +12059,7 @@ snapshots:
dependencies:
'@cspotcode/source-map-support': 0.8.1
acorn: 8.12.1
- acorn-walk: 8.3.3
+ acorn-walk: 8.3.4
capnp-ts: 0.7.0
exit-hook: 2.2.1
glob-to-regexp: 0.4.1
@@ -11891,8 +12105,7 @@ snapshots:
mitt@3.0.1: {}
- mkdirp-classic@0.5.3:
- optional: true
+ mkdirp-classic@0.5.3: {}
mkdirp@0.5.6:
dependencies:
@@ -11931,6 +12144,8 @@ snapshots:
ms@2.0.0: {}
+ ms@2.1.2: {}
+
ms@2.1.3: {}
muggle-string@0.3.1: {}
@@ -11956,6 +12171,8 @@ snapshots:
negotiator@0.6.3: {}
+ netmask@2.0.2: {}
+
nitro-cloudflare-dev@0.1.6:
dependencies:
consola: 3.2.3
@@ -12141,9 +12358,9 @@ snapshots:
- supports-color
- webpack-sources
- nuxt-og-image@3.0.0-rc.66(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4)):
+ nuxt-og-image@3.0.0-rc.66(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4)):
dependencies:
- '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
'@resvg/resvg-js': 2.6.2
'@resvg/resvg-wasm': 2.6.2
@@ -12153,8 +12370,8 @@ snapshots:
defu: 6.1.4
execa: 9.3.1
image-size: 1.1.1
- nuxt-site-config: 2.2.16(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4))
- nuxt-site-config-kit: 2.2.16(magicast@0.3.5)(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4))
+ nuxt-site-config: 2.2.16(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4))
+ nuxt-site-config-kit: 2.2.16(magicast@0.3.5)(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))
nypm: 0.3.11
ofetch: 1.3.4
ohash: 1.1.3
@@ -12177,12 +12394,12 @@ snapshots:
- vue
- webpack-sources
- nuxt-site-config-kit@2.2.16(magicast@0.3.5)(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4)):
+ nuxt-site-config-kit@2.2.16(magicast@0.3.5)(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4)):
dependencies:
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
'@nuxt/schema': 3.13.1(rollup@4.21.2)
pkg-types: 1.2.0
- site-config-stack: 2.2.16(vue@3.5.3(typescript@5.5.4))
+ site-config-stack: 2.2.16(vue@3.4.38(typescript@5.5.4))
std-env: 3.7.0
ufo: 1.5.4
transitivePeerDependencies:
@@ -12192,16 +12409,16 @@ snapshots:
- vue
- webpack-sources
- nuxt-site-config@2.2.16(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))(vue@3.5.3(typescript@5.5.4)):
+ nuxt-site-config@2.2.16(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))(vue@3.4.38(typescript@5.5.4)):
dependencies:
- '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@nuxt/devtools-kit': 1.4.1(magicast@0.3.5)(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
'@nuxt/schema': 3.13.1(rollup@4.21.2)
- nuxt-site-config-kit: 2.2.16(magicast@0.3.5)(rollup@4.21.2)(vue@3.5.3(typescript@5.5.4))
+ nuxt-site-config-kit: 2.2.16(magicast@0.3.5)(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))
pathe: 1.1.2
pkg-types: 1.2.0
sirv: 2.0.4
- site-config-stack: 2.2.16(vue@3.5.3(typescript@5.5.4))
+ site-config-stack: 2.2.16(vue@3.4.38(typescript@5.5.4))
ufo: 1.5.4
transitivePeerDependencies:
- magicast
@@ -12211,17 +12428,17 @@ snapshots:
- vue
- webpack-sources
- nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240903.0)(@opentelemetry/api@1.9.0)(postgres@3.4.4)(react@18.3.1))(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)):
+ nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(drizzle-orm@0.33.0(@cloudflare/workers-types@4.20240903.0)(@opentelemetry/api@1.9.0)(postgres@3.4.4)(react@18.3.1))(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)):
dependencies:
'@nuxt/devalue': 2.0.2
- '@nuxt/devtools': 1.4.1(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@nuxt/devtools': 1.4.1(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.21.2)
'@nuxt/schema': 3.13.0(rollup@4.21.2)
'@nuxt/telemetry': 2.5.4(magicast@0.3.5)(rollup@4.21.2)
- '@nuxt/vite-builder': 3.13.0(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))
- '@unhead/dom': 1.10.4
- '@unhead/ssr': 1.10.4
- '@unhead/vue': 1.10.4(vue@3.4.38(typescript@5.5.4))
+ '@nuxt/vite-builder': 3.13.0(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))
+ '@unhead/dom': 1.11.1
+ '@unhead/ssr': 1.11.1
+ '@unhead/vue': 1.11.1(vue@3.4.38(typescript@5.5.4))
'@vue/shared': 3.5.3
acorn: 8.12.1
c12: 1.11.2(magicast@0.3.5)
@@ -12265,7 +12482,7 @@ snapshots:
unenv: 1.10.0
unimport: 3.11.1(rollup@4.21.2)
unplugin: 1.13.1
- unplugin-vue-router: 0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
+ unplugin-vue-router: 0.10.8(rollup@4.21.2)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
unstorage: 1.12.0(ioredis@5.4.1)
untyped: 1.4.2
vue: 3.4.38(typescript@5.5.4)
@@ -12319,17 +12536,17 @@ snapshots:
- webpack-sources
- xml2js
- nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.31.6)(typescript@5.5.4):
+ nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.32.0)(typescript@5.5.4):
dependencies:
'@nuxt/devalue': 2.0.2
'@nuxt/devtools': 1.4.1(rollup@3.29.4)
'@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@3.29.4)
'@nuxt/schema': 3.13.0(rollup@3.29.4)
'@nuxt/telemetry': 2.5.4(magicast@0.3.5)(rollup@3.29.4)
- '@nuxt/vite-builder': 3.13.0(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.31.6)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))
- '@unhead/dom': 1.10.4
- '@unhead/ssr': 1.10.4
- '@unhead/vue': 1.10.4(vue@3.4.38(typescript@5.5.4))
+ '@nuxt/vite-builder': 3.13.0(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@3.29.4)(terser@5.32.0)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))
+ '@unhead/dom': 1.11.1
+ '@unhead/ssr': 1.11.1
+ '@unhead/vue': 1.11.1(vue@3.4.38(typescript@5.5.4))
'@vue/shared': 3.5.3
acorn: 8.12.1
c12: 1.11.2(magicast@0.3.5)
@@ -12373,7 +12590,7 @@ snapshots:
unenv: 1.10.0
unimport: 3.11.1(rollup@3.29.4)
unplugin: 1.13.1
- unplugin-vue-router: 0.10.7(rollup@3.29.4)(vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
+ unplugin-vue-router: 0.10.8(rollup@3.29.4)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
unstorage: 1.12.0(ioredis@5.4.1)
untyped: 1.4.2
vue: 3.4.38(typescript@5.5.4)
@@ -12427,17 +12644,17 @@ snapshots:
- webpack-sources
- xml2js
- nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)):
+ nuxt@3.13.0(@parcel/watcher@2.4.1)(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(ioredis@5.4.1)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)):
dependencies:
'@nuxt/devalue': 2.0.2
- '@nuxt/devtools': 1.4.1(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6))
+ '@nuxt/devtools': 1.4.1(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0))
'@nuxt/kit': 3.13.0(magicast@0.3.5)(rollup@4.21.2)
'@nuxt/schema': 3.13.0(rollup@4.21.2)
'@nuxt/telemetry': 2.5.4(magicast@0.3.5)(rollup@4.21.2)
- '@nuxt/vite-builder': 3.13.0(@types/node@22.5.4)(eslint@9.9.1(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.31.6)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))
- '@unhead/dom': 1.10.4
- '@unhead/ssr': 1.10.4
- '@unhead/vue': 1.10.4(vue@3.4.38(typescript@5.5.4))
+ '@nuxt/vite-builder': 3.13.0(@types/node@22.5.4)(eslint@9.10.0(jiti@1.21.6))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.21.2)(terser@5.32.0)(typescript@5.5.4)(vue@3.4.38(typescript@5.5.4))
+ '@unhead/dom': 1.11.1
+ '@unhead/ssr': 1.11.1
+ '@unhead/vue': 1.11.1(vue@3.4.38(typescript@5.5.4))
'@vue/shared': 3.5.3
acorn: 8.12.1
c12: 1.11.2(magicast@0.3.5)
@@ -12481,7 +12698,7 @@ snapshots:
unenv: 1.10.0
unimport: 3.11.1(rollup@4.21.2)
unplugin: 1.13.1
- unplugin-vue-router: 0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
+ unplugin-vue-router: 0.10.8(rollup@4.21.2)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
unstorage: 1.12.0(ioredis@5.4.1)
untyped: 1.4.2
vue: 3.4.38(typescript@5.5.4)
@@ -12635,6 +12852,24 @@ snapshots:
p-try@2.2.0: {}
+ pac-proxy-agent@7.0.2:
+ dependencies:
+ '@tootallnate/quickjs-emscripten': 0.23.0
+ agent-base: 7.1.1
+ debug: 4.3.7
+ get-uri: 6.0.3
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.5
+ pac-resolver: 7.0.1
+ socks-proxy-agent: 8.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ pac-resolver@7.0.1:
+ dependencies:
+ degenerator: 5.0.1
+ netmask: 2.0.2
+
package-json-from-dist@1.0.0: {}
package-manager-detector@0.2.0: {}
@@ -12721,6 +12956,8 @@ snapshots:
pathval@2.0.0: {}
+ pend@1.2.0: {}
+
perfect-debounce@1.0.0: {}
periscopic@3.1.0:
@@ -12953,7 +13190,7 @@ snapshots:
dependencies:
nanoid: 3.3.7
picocolors: 1.1.0
- source-map-js: 1.2.0
+ source-map-js: 1.2.1
postgres@3.4.4: {}
@@ -12987,6 +13224,8 @@ snapshots:
process@0.11.10: {}
+ progress@2.0.3: {}
+
prompts@2.4.2:
dependencies:
kleur: 3.0.3
@@ -12996,14 +13235,68 @@ snapshots:
protocols@2.0.1: {}
+ proxy-agent@6.3.0:
+ dependencies:
+ agent-base: 7.1.1
+ debug: 4.3.7
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.5
+ lru-cache: 7.18.3
+ pac-proxy-agent: 7.0.2
+ proxy-from-env: 1.1.0
+ socks-proxy-agent: 8.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ proxy-agent@6.4.0:
+ dependencies:
+ agent-base: 7.1.1
+ debug: 4.3.7
+ http-proxy-agent: 7.0.2
+ https-proxy-agent: 7.0.5
+ lru-cache: 7.18.3
+ pac-proxy-agent: 7.0.2
+ proxy-from-env: 1.1.0
+ socks-proxy-agent: 8.0.4
+ transitivePeerDependencies:
+ - supports-color
+
+ proxy-from-env@1.1.0: {}
+
pump@3.0.0:
dependencies:
end-of-stream: 1.4.4
once: 1.4.0
- optional: true
punycode@2.3.1: {}
+ puppeteer-core@23.3.0:
+ dependencies:
+ '@puppeteer/browsers': 2.4.0
+ chromium-bidi: 0.6.5(devtools-protocol@0.0.1330662)
+ debug: 4.3.7
+ devtools-protocol: 0.0.1330662
+ typed-query-selector: 2.12.0
+ ws: 8.18.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ puppeteer@23.3.0(typescript@5.5.4):
+ dependencies:
+ '@puppeteer/browsers': 2.4.0
+ chromium-bidi: 0.6.5(devtools-protocol@0.0.1330662)
+ cosmiconfig: 9.0.0(typescript@5.5.4)
+ devtools-protocol: 0.0.1330662
+ puppeteer-core: 23.3.0
+ typed-query-selector: 2.12.0
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - typescript
+ - utf-8-validate
+
queue-microtask@1.2.3: {}
queue-tick@1.0.1: {}
@@ -13467,10 +13760,10 @@ snapshots:
sisteransi@1.0.5: {}
- site-config-stack@2.2.16(vue@3.5.3(typescript@5.5.4)):
+ site-config-stack@2.2.16(vue@3.4.38(typescript@5.5.4)):
dependencies:
ufo: 1.5.4
- vue: 3.5.3(typescript@5.5.4)
+ vue: 3.4.38(typescript@5.5.4)
skin-tone@2.0.0:
dependencies:
@@ -13484,6 +13777,8 @@ snapshots:
slugify@1.6.6: {}
+ smart-buffer@4.2.0: {}
+
smob@1.5.0: {}
smooth-dnd@0.12.1: {}
@@ -13506,7 +13801,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
- source-map-js@1.2.0: {}
+ socks-proxy-agent@8.0.4:
+ dependencies:
+ agent-base: 7.1.1
+ debug: 4.3.7
+ socks: 2.8.3
+ transitivePeerDependencies:
+ - supports-color
+
+ socks@2.8.3:
+ dependencies:
+ ip-address: 9.0.5
+ smart-buffer: 4.2.0
+
+ source-map-js@1.2.1: {}
source-map-support@0.5.21:
dependencies:
@@ -13542,6 +13850,8 @@ snapshots:
speakingurl@14.0.1: {}
+ sprintf-js@1.1.3: {}
+
sswr@2.1.0(svelte@4.2.19):
dependencies:
svelte: 4.2.19
@@ -13761,6 +14071,12 @@ snapshots:
tar-stream: 2.2.0
optional: true
+ tar-fs@3.0.4:
+ dependencies:
+ mkdirp-classic: 0.5.3
+ pump: 3.0.0
+ tar-stream: 3.1.7
+
tar-fs@3.0.6:
dependencies:
pump: 3.0.0
@@ -13768,7 +14084,6 @@ snapshots:
optionalDependencies:
bare-fs: 2.3.3
bare-path: 2.1.3
- optional: true
tar-stream@2.2.0:
dependencies:
@@ -13794,7 +14109,7 @@ snapshots:
mkdirp: 1.0.4
yallist: 4.0.0
- terser@5.31.6:
+ terser@5.32.0:
dependencies:
'@jridgewell/source-map': 0.3.6
acorn: 8.12.1
@@ -13815,6 +14130,8 @@ snapshots:
dependencies:
any-promise: 1.3.0
+ through@2.3.8: {}
+
tiny-inflate@1.0.3: {}
tiny-invariant@1.3.3: {}
@@ -13823,7 +14140,7 @@ snapshots:
tinyexec@0.3.0: {}
- tinyglobby@0.2.5:
+ tinyglobby@0.2.6:
dependencies:
fdir: 6.3.0(picomatch@4.0.2)
picomatch: 4.0.2
@@ -13832,7 +14149,7 @@ snapshots:
tinyrainbow@1.2.0: {}
- tinyspy@3.0.0: {}
+ tinyspy@3.0.2: {}
titleize@3.0.0: {}
@@ -13892,6 +14209,8 @@ snapshots:
type-level-regexp@0.1.17: {}
+ typed-query-selector@2.12.0: {}
+
typescript@5.5.4: {}
ufo@1.5.4: {}
@@ -13931,6 +14250,11 @@ snapshots:
- supports-color
- vue-tsc
+ unbzip2-stream@1.4.3:
+ dependencies:
+ buffer: 5.7.1
+ through: 2.3.8
+
uncrypto@0.1.3: {}
unctx@2.3.1:
@@ -13963,11 +14287,11 @@ snapshots:
node-fetch-native: 1.6.4
pathe: 1.1.2
- unhead@1.10.4:
+ unhead@1.11.1:
dependencies:
- '@unhead/dom': 1.10.4
- '@unhead/schema': 1.10.4
- '@unhead/shared': 1.10.4
+ '@unhead/dom': 1.11.1
+ '@unhead/schema': 1.11.1
+ '@unhead/shared': 1.11.1
hookable: 5.5.3
unicode-emoji-modifier-base@1.0.0: {}
@@ -14061,34 +14385,11 @@ snapshots:
universalify@2.0.1: {}
- unplugin-vue-router@0.10.7(rollup@3.29.4)(vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)):
+ unplugin-vue-router@0.10.8(rollup@3.29.4)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)):
dependencies:
'@babel/types': 7.25.6
'@rollup/pluginutils': 5.1.0(rollup@3.29.4)
- '@vue-macros/common': 1.12.2(rollup@3.29.4)(vue@3.4.38(typescript@5.5.4))
- ast-walker-scope: 0.6.2
- chokidar: 3.6.0
- fast-glob: 3.3.2
- json5: 2.2.3
- local-pkg: 0.5.0
- magic-string: 0.30.11
- mlly: 1.7.1
- pathe: 1.1.2
- scule: 1.3.0
- unplugin: 1.13.1
- yaml: 2.5.1
- optionalDependencies:
- vue-router: 4.4.3(vue@3.5.3(typescript@5.5.4))
- transitivePeerDependencies:
- - rollup
- - vue
- - webpack-sources
-
- unplugin-vue-router@0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)):
- dependencies:
- '@babel/types': 7.25.6
- '@rollup/pluginutils': 5.1.0(rollup@4.21.2)
- '@vue-macros/common': 1.12.2(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))
+ '@vue-macros/common': 1.12.3(rollup@3.29.4)(vue@3.4.38(typescript@5.5.4))
ast-walker-scope: 0.6.2
chokidar: 3.6.0
fast-glob: 3.3.2
@@ -14107,11 +14408,11 @@ snapshots:
- vue
- webpack-sources
- unplugin-vue-router@0.10.7(rollup@4.21.2)(vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)):
+ unplugin-vue-router@0.10.8(rollup@4.21.2)(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)):
dependencies:
'@babel/types': 7.25.6
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
- '@vue-macros/common': 1.12.2(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))
+ '@vue-macros/common': 1.12.3(rollup@4.21.2)(vue@3.4.38(typescript@5.5.4))
ast-walker-scope: 0.6.2
chokidar: 3.6.0
fast-glob: 3.3.2
@@ -14124,7 +14425,7 @@ snapshots:
unplugin: 1.13.1
yaml: 2.5.1
optionalDependencies:
- vue-router: 4.4.3(vue@3.5.3(typescript@5.5.4))
+ vue-router: 4.4.3(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- rollup
- vue
@@ -14195,6 +14496,8 @@ snapshots:
dependencies:
punycode: 2.3.1
+ urlpattern-polyfill@10.0.0: {}
+
urlpattern-polyfill@8.0.2: {}
use-sync-external-store@1.2.2(react@18.3.1):
@@ -14225,17 +14528,17 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- vite-hot-client@0.2.3(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)):
+ vite-hot-client@0.2.3(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)):
dependencies:
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
- vite-node@2.0.5(@types/node@22.5.4)(terser@5.31.6):
+ vite-node@2.0.5(@types/node@22.5.4)(terser@5.32.0):
dependencies:
cac: 6.7.14
debug: 4.3.7
pathe: 1.1.2
tinyrainbow: 1.2.0
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
transitivePeerDependencies:
- '@types/node'
- less
@@ -14247,7 +14550,7 @@ snapshots:
- supports-color
- terser
- vite-plugin-checker@0.7.2(eslint@9.9.1(jiti@1.21.6))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)):
+ vite-plugin-checker@0.7.2(eslint@9.10.0(jiti@1.21.6))(optionator@0.9.4)(typescript@5.5.4)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)):
dependencies:
'@babel/code-frame': 7.24.7
ansi-escapes: 4.3.2
@@ -14259,13 +14562,13 @@ snapshots:
npm-run-path: 4.0.1
strip-ansi: 6.0.1
tiny-invariant: 1.3.3
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
vscode-languageclient: 7.0.0
vscode-languageserver: 7.0.0
vscode-languageserver-textdocument: 1.0.12
vscode-uri: 3.0.8
optionalDependencies:
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
optionator: 0.9.4
typescript: 5.5.4
@@ -14286,7 +14589,7 @@ snapshots:
- rollup
- supports-color
- vite-plugin-inspect@0.8.7(@nuxt/kit@3.13.1(magicast@0.3.5)(rollup@4.21.2))(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)):
+ vite-plugin-inspect@0.8.7(@nuxt/kit@3.13.1(magicast@0.3.5)(rollup@4.21.2))(rollup@4.21.2)(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.0(rollup@4.21.2)
@@ -14297,29 +14600,29 @@ snapshots:
perfect-debounce: 1.0.0
picocolors: 1.1.0
sirv: 2.0.4
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
optionalDependencies:
'@nuxt/kit': 3.13.1(magicast@0.3.5)(rollup@4.21.2)
transitivePeerDependencies:
- rollup
- supports-color
- vite-plugin-vue-inspector@5.2.0(vite@5.4.3(@types/node@22.5.4)(terser@5.31.6)):
+ vite-plugin-vue-inspector@5.2.0(vite@5.4.3(@types/node@22.5.4)(terser@5.32.0)):
dependencies:
'@babel/core': 7.25.2
'@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.2)
'@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2)
'@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.2)
'@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2)
- '@vue/babel-plugin-jsx': 1.2.2(@babel/core@7.25.2)
+ '@vue/babel-plugin-jsx': 1.2.4(@babel/core@7.25.2)
'@vue/compiler-dom': 3.5.3
kolorist: 1.8.0
magic-string: 0.30.11
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
transitivePeerDependencies:
- supports-color
- vite@5.4.3(@types/node@22.5.4)(terser@5.31.6):
+ vite@5.4.3(@types/node@22.5.4)(terser@5.32.0):
dependencies:
esbuild: 0.21.5
postcss: 8.4.45
@@ -14327,11 +14630,11 @@ snapshots:
optionalDependencies:
'@types/node': 22.5.4
fsevents: 2.3.3
- terser: 5.31.6
+ terser: 5.32.0
- vitest-environment-nuxt@1.0.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.31.6))(vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)))(vue@3.5.3(typescript@5.5.4)):
+ vitest-environment-nuxt@1.0.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.32.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4)):
dependencies:
- '@nuxt/test-utils': 3.14.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.31.6))(vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)))(vue@3.5.3(typescript@5.5.4))
+ '@nuxt/test-utils': 3.14.1(h3@1.12.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5))(playwright-core@1.47.0)(rollup@3.29.4)(vitest@2.0.5(@types/node@22.5.4)(terser@5.32.0))(vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)))(vue@3.4.38(typescript@5.5.4))
transitivePeerDependencies:
- '@cucumber/cucumber'
- '@jest/globals'
@@ -14353,7 +14656,7 @@ snapshots:
- vue-router
- webpack-sources
- vitest@2.0.5(@types/node@22.5.4)(terser@5.31.6):
+ vitest@2.0.5(@types/node@22.5.4)(terser@5.32.0):
dependencies:
'@ampproject/remapping': 2.3.0
'@vitest/expect': 2.0.5
@@ -14371,8 +14674,8 @@ snapshots:
tinybench: 2.9.0
tinypool: 1.0.1
tinyrainbow: 1.2.0
- vite: 5.4.3(@types/node@22.5.4)(terser@5.31.6)
- vite-node: 2.0.5(@types/node@22.5.4)(terser@5.31.6)
+ vite: 5.4.3(@types/node@22.5.4)(terser@5.32.0)
+ vite-node: 2.0.5(@types/node@22.5.4)(terser@5.32.0)
why-is-node-running: 2.3.0
optionalDependencies:
'@types/node': 22.5.4
@@ -14428,16 +14731,12 @@ snapshots:
dependencies:
vue: 3.4.38(typescript@5.5.4)
- vue-demi@0.14.10(vue@3.5.3(typescript@5.5.4)):
- dependencies:
- vue: 3.5.3(typescript@5.5.4)
-
vue-devtools-stub@0.1.0: {}
- vue-eslint-parser@9.4.3(eslint@9.9.1(jiti@1.21.6)):
+ vue-eslint-parser@9.4.3(eslint@9.10.0(jiti@1.21.6)):
dependencies:
debug: 4.3.7
- eslint: 9.9.1(jiti@1.21.6)
+ eslint: 9.10.0(jiti@1.21.6)
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
@@ -14449,23 +14748,18 @@ snapshots:
vue-router@4.4.3(vue@3.4.38(typescript@5.5.4)):
dependencies:
- '@vue/devtools-api': 6.6.3
+ '@vue/devtools-api': 6.6.4
vue: 3.4.38(typescript@5.5.4)
- vue-router@4.4.3(vue@3.5.3(typescript@5.5.4)):
- dependencies:
- '@vue/devtools-api': 6.6.3
- vue: 3.5.3(typescript@5.5.4)
-
vue-template-compiler@2.7.16:
dependencies:
de-indent: 1.0.2
he: 1.2.0
- vue3-smooth-dnd@0.0.6(vue@3.5.3(typescript@5.5.4)):
+ vue3-smooth-dnd@0.0.6(vue@3.4.38(typescript@5.5.4)):
dependencies:
smooth-dnd: 0.12.1
- vue: 3.5.3(typescript@5.5.4)
+ vue: 3.4.38(typescript@5.5.4)
vue@3.4.38(typescript@5.5.4):
dependencies:
@@ -14477,16 +14771,6 @@ snapshots:
optionalDependencies:
typescript: 5.5.4
- vue@3.5.3(typescript@5.5.4):
- dependencies:
- '@vue/compiler-dom': 3.5.3
- '@vue/compiler-sfc': 3.5.3
- '@vue/runtime-dom': 3.5.3
- '@vue/server-renderer': 3.5.3(vue@3.5.3(typescript@5.5.4))
- '@vue/shared': 3.5.3
- optionalDependencies:
- typescript: 5.5.4
-
web-namespaces@2.0.1: {}
webidl-conversions@3.0.1: {}
@@ -14567,6 +14851,8 @@ snapshots:
wrappy@1.0.2: {}
+ ws@8.13.0: {}
+
ws@8.17.1: {}
ws@8.18.0: {}
@@ -14597,6 +14883,16 @@ snapshots:
yargs-parser@21.1.1: {}
+ yargs@17.7.1:
+ dependencies:
+ cliui: 8.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ require-directory: 2.1.1
+ string-width: 4.2.3
+ y18n: 5.0.8
+ yargs-parser: 21.1.1
+
yargs@17.7.2:
dependencies:
cliui: 8.0.1
@@ -14607,6 +14903,11 @@ snapshots:
y18n: 5.0.8
yargs-parser: 21.1.1
+ yauzl@2.10.0:
+ dependencies:
+ buffer-crc32: 0.2.13
+ fd-slicer: 1.1.0
+
ylru@1.4.0: {}
yocto-queue@0.1.0: {}
diff --git a/src/features.ts b/src/features.ts
index 88c1b11c..4b66d425 100644
--- a/src/features.ts
+++ b/src/features.ts
@@ -23,6 +23,7 @@ export interface HubConfig {
ai?: boolean
analytics?: boolean
blob?: boolean
+ browser?: boolean
cache?: boolean
database?: boolean
kv?: boolean
@@ -105,6 +106,32 @@ export function setupBlob(_nuxt: Nuxt) {
addImportsDir(resolve('./runtime/blob/app/composables'))
}
+export async function setupBrowser(nuxt: Nuxt) {
+ // Check if dependencies are installed
+ const missingDeps = []
+ try {
+ const pkg = '@cloudflare/puppeteer'
+ await import(pkg)
+ } catch (err) {
+ missingDeps.push('@cloudflare/puppeteer')
+ }
+ if (nuxt.options.dev) {
+ try {
+ const pkg = 'puppeteer'
+ await import(pkg)
+ } catch (err) {
+ missingDeps.push('puppeteer')
+ }
+ }
+ if (missingDeps.length > 0) {
+ console.error(`Missing dependencies for \`hubBrowser()\`, please install with:\n\n\`npx ni ${missingDeps.join(' ')}\``)
+ process.exit(1)
+ }
+ // Add Server scanning
+ // addServerScanDir(resolve('./runtime/browser/server'))
+ addServerImportsDir(resolve('./runtime/browser/server/utils'))
+}
+
export function setupCache(nuxt: Nuxt) {
// Add Server caching (Nitro)
nuxt.options.nitro = defu(nuxt.options.nitro, {
diff --git a/src/module.ts b/src/module.ts
index 6c3fd60e..b990cd22 100644
--- a/src/module.ts
+++ b/src/module.ts
@@ -8,7 +8,7 @@ import { parseArgs } from 'citty'
import type { Nuxt } from '@nuxt/schema'
import { version } from '../package.json'
import { generateWrangler } from './utils/wrangler'
-import { setupAI, setupCache, setupAnalytics, setupBlob, setupOpenAPI, setupDatabase, setupKV, setupBase, setupRemote } from './features'
+import { setupAI, setupCache, setupAnalytics, setupBlob, setupBrowser, setupOpenAPI, setupDatabase, setupKV, setupBase, setupRemote } from './features'
import type { ModuleOptions } from './types/module'
import { addBuildHooks } from './utils/build'
@@ -55,6 +55,7 @@ export default defineNuxtModule({
ai: false,
analytics: false,
blob: false,
+ browser: false,
cache: false,
database: false,
kv: false,
@@ -92,6 +93,7 @@ export default defineNuxtModule({
hub.ai && await setupAI(nuxt, hub)
hub.analytics && setupAnalytics(nuxt)
hub.blob && setupBlob(nuxt)
+ hub.browser && await setupBrowser(nuxt)
hub.cache && setupCache(nuxt)
hub.database && setupDatabase(nuxt)
hub.kv && setupKV(nuxt)
diff --git a/src/runtime/base/server/api/_hub/manifest.get.ts b/src/runtime/base/server/api/_hub/manifest.get.ts
index 484fe90b..235a1351 100644
--- a/src/runtime/base/server/api/_hub/manifest.get.ts
+++ b/src/runtime/base/server/api/_hub/manifest.get.ts
@@ -8,7 +8,7 @@ import { useRuntimeConfig } from '#imports'
export default eventHandler(async (event) => {
await requireNuxtHubAuthorization(event)
- const { version, cache, ai, analytics, blob, kv, database } = useRuntimeConfig().hub
+ const { version, cache, ai, analytics, browser, blob, kv, database } = useRuntimeConfig().hub
const [aiCheck, dbCheck, kvCheck, blobCheck] = await Promise.all([
falseIfFail(() => ai && hubAI().run('@cf/baai/bge-small-en-v1.5', { text: 'check' })),
falseIfFail(() => database && hubDatabase().exec('PRAGMA table_list')),
@@ -26,6 +26,7 @@ export default eventHandler(async (event) => {
features: {
ai: Boolean(aiCheck),
analytics,
+ browser,
cache
}
}
diff --git a/src/runtime/browser/server/utils/browser.ts b/src/runtime/browser/server/utils/browser.ts
new file mode 100644
index 00000000..d72864ad
--- /dev/null
+++ b/src/runtime/browser/server/utils/browser.ts
@@ -0,0 +1,132 @@
+import cfPuppeteer, { PuppeteerWorkers } from '@cloudflare/puppeteer'
+import type { Puppeteer, Browser, Page, BrowserWorker, ActiveSession } from '@cloudflare/puppeteer'
+import { createError } from 'h3'
+// @ts-expect-error useNitroApp not yet typed
+import { useNitroApp } from '#imports'
+
+function getBrowserBinding(name: string = 'BROWSER'): BrowserWorker | undefined {
+ // @ts-expect-error globalThis.__env__ is not typed
+ return process.env[name] || globalThis.__env__?.[name] || globalThis[name]
+}
+
+interface HubBrowserOptions {
+ /**
+ * Keep the browser instance alive for the given number of seconds.
+ * Maximum value is 600 seconds (10 minutes).
+ *
+ * @default 60
+ */
+ keepAlive?: number
+}
+
+interface HubBrowser {
+ browser: Browser
+ page: Page
+}
+
+let _browserPromise: Promise | null = null
+let _browser: Browser | null = null
+/**
+ * Get a browser instance (puppeteer)
+ *
+ * @example ```ts
+ * const { page } = await hubBrowser()
+ * await page.goto('https://hub.nuxt.com')
+ * const img = await page.screenshot()
+ * ```
+ *
+ * @see https://hub.nuxt.com/docs/features/browser
+ */
+export async function hubBrowser(options: HubBrowserOptions = {}): Promise {
+ const puppeteer = await getPuppeteer()
+ const nitroApp = useNitroApp()
+ // If in production, use Cloudflare Puppeteer
+ if (puppeteer instanceof PuppeteerWorkers) {
+ const binding = getBrowserBinding()
+ if (!binding) {
+ throw createError('Missing Cloudflare Browser binding (BROWSER)')
+ }
+ let browser: Browser | null = null
+ const sessionId = await getRandomSession(puppeteer, binding)
+ // if there is free open session, connect to it
+ if (sessionId) {
+ try {
+ browser = await puppeteer.connect(binding, sessionId)
+ } catch (e) {
+ // another worker may have connected first
+ }
+ }
+ if (!browser) {
+ // No open sessions, launch new session
+ browser = await puppeteer.launch(binding, {
+ // keep_alive is in milliseconds
+ // https://developers.cloudflare.com/browser-rendering/platform/puppeteer/#keep-alive
+ keep_alive: (options.keepAlive || 60) * 1000
+ })
+ }
+ const page = await browser.newPage()
+ // Disconnect browser after response
+ nitroApp.hooks.hookOnce('afterResponse', async () => {
+ await page?.close().catch(() => {})
+ browser?.disconnect()
+ })
+ return {
+ browser,
+ page
+ }
+ }
+ if (!_browserPromise) {
+ // @ts-expect-error we use puppeteer directly here
+ _browserPromise = puppeteer.launch()
+ // Stop browser when server shuts down or restarts
+ nitroApp.hooks.hook('close', async () => {
+ const browser = _browser || await _browserPromise
+ browser?.close()
+ _browserPromise = null
+ _browser = null
+ })
+ }
+ _browser = (await _browserPromise) as Browser
+ // Make disconnect a no-op
+ _browser.disconnect = () => {}
+ const page = await _browser.newPage()
+ nitroApp.hooks.hookOnce('afterResponse', async () => {
+ await page?.close().catch(() => {})
+ })
+ return {
+ browser: _browser,
+ page
+ }
+}
+
+async function getRandomSession(puppeteer: PuppeteerWorkers, binding: BrowserWorker): Promise {
+ const sessions: ActiveSession[] = await puppeteer.sessions(binding)
+ const sessionsIds = sessions
+ // remove sessions with workers connected to them
+ .filter(v => !v.connectionId)
+ .map(v => v.sessionId)
+
+ if (!sessionsIds.length) {
+ return null
+ }
+
+ return sessionsIds[Math.floor(Math.random() * sessionsIds.length)]
+}
+
+let _puppeteer: PuppeteerWorkers | Puppeteer
+async function getPuppeteer() {
+ if (_puppeteer) {
+ return _puppeteer
+ }
+ if (import.meta.dev) {
+ const _pkg = 'puppeteer' // Bypass bundling!
+ _puppeteer = (await import(_pkg).catch(() => {
+ throw new Error(
+ 'Package `puppeteer` not found, please install it with: `npx ni puppeteer`'
+ )
+ }))
+ } else {
+ _puppeteer = cfPuppeteer
+ }
+ return _puppeteer
+}
diff --git a/src/types/module.ts b/src/types/module.ts
index 751648f0..5c718f4b 100644
--- a/src/types/module.ts
+++ b/src/types/module.ts
@@ -21,6 +21,13 @@ export interface ModuleOptions {
* @see https://hub.nuxt.com/docs/features/blob
*/
blob?: boolean
+ /**
+ * Set `true` to enable the Browser rendering for the project.
+ *
+ * @default false
+ * @see https://hub.nuxt.com/docs/features/browser
+ */
+ browser?: boolean
/**
* Set `true` to enable caching for the project.
*
diff --git a/src/utils/build.ts b/src/utils/build.ts
index b51bba95..63e5a502 100644
--- a/src/utils/build.ts
+++ b/src/utils/build.ts
@@ -100,6 +100,7 @@ export function addBuildHooks(nuxt: Nuxt, hub: HubConfig) {
ai: hub.ai,
analytics: hub.analytics,
blob: hub.blob,
+ browser: hub.browser,
cache: hub.cache,
database: hub.database,
kv: hub.kv,