diff --git a/.github/workflows/autofix-docs.yml b/.github/workflows/autofix-docs.yml index 0d4a241a3b..c4350a2356 100644 --- a/.github/workflows/autofix-docs.yml +++ b/.github/workflows/autofix-docs.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index 3eae960c13..610d3ac48e 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 9d172b0137..e7e84f981a 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 6e1fd3b606..1b7e9b7ed9 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -22,7 +22,7 @@ jobs: contents: write steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a181a7ec4a..ae92b26ca7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: @@ -57,7 +57,7 @@ jobs: run: pnpm build - name: Cache dist - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 + uses: actions/upload-artifact@84480863f228bb9747b473957fcc9e309aa96097 # v4.4.2 with: retention-days: 3 name: dist @@ -72,10 +72,10 @@ jobs: security-events: write steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Initialize CodeQL - uses: github/codeql-action/init@e2b3eafc8d227b0241d48be5f425d47c2d750a13 # v3.26.10 + uses: github/codeql-action/init@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 with: config: | paths: @@ -91,7 +91,7 @@ jobs: queries: +security-and-quality - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@e2b3eafc8d227b0241d48be5f425d47c2d750a13 # v3.26.10 + uses: github/codeql-action/analyze@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 with: category: "/language:javascript-typescript" @@ -107,7 +107,7 @@ jobs: module: ["bundler", "node"] steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: @@ -138,7 +138,7 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: @@ -162,7 +162,7 @@ jobs: needs: - build steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: @@ -214,7 +214,7 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: @@ -258,7 +258,6 @@ jobs: github.event_name == 'push' && github.repository == 'nuxt/nuxt' && !contains(github.event.head_commit.message, '[skip-release]') && - !startsWith(github.event.head_commit.message, 'chore') && !startsWith(github.event.head_commit.message, 'docs') needs: - lint @@ -268,7 +267,7 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: fetch-depth: 0 - run: corepack enable @@ -309,7 +308,7 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 81beca512c..705f8d5c2d 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -17,6 +17,6 @@ jobs: runs-on: ubuntu-latest steps: - name: 'Checkout Repository' - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: 'Dependency Review' uses: actions/dependency-review-action@5a2ce3f5b92ee19cbb1541a4984c76d921601d7c # v4.3.4 diff --git a/.github/workflows/docs-check-links.yml b/.github/workflows/docs-check-links.yml index 43021980dc..4b619411e0 100644 --- a/.github/workflows/docs-check-links.yml +++ b/.github/workflows/docs-check-links.yml @@ -19,17 +19,17 @@ jobs: steps: # Cache lychee results (e.g. to avoid hitting rate limits) - name: Restore lychee cache - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + uses: actions/cache@3624ceb22c1c5a301c8db4169662070a689d9ea8 # v4.1.1 with: path: .lycheecache key: cache-lychee-${{ github.sha }} restore-keys: cache-lychee- # check links with Lychee - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - name: Lychee link checker - uses: lycheeverse/lychee-action@897f08a07f689df1a43076f4374af272f66a6dd1 # for v1.8.0 + uses: lycheeverse/lychee-action@e360f3c89142a5391e094404ea45e5494f1317dd # for v1.8.0 with: # arguments with file types to check args: >- diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 1aac781344..1948fd8ab5 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -21,7 +21,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: diff --git a/.github/workflows/lint-sherif.yml b/.github/workflows/lint-sherif.yml index db815c2b16..00d7bf5a68 100644 --- a/.github/workflows/lint-sherif.yml +++ b/.github/workflows/lint-sherif.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - run: corepack enable - uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4 with: diff --git a/.github/workflows/lint-workflows.yml b/.github/workflows/lint-workflows.yml index 38cd47d2a2..a3d7781132 100644 --- a/.github/workflows/lint-workflows.yml +++ b/.github/workflows/lint-workflows.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 # From https://github.com/rhysd/actionlint/blob/main/docs/usage.md#use-actionlint-on-github-actions - name: Check workflow files uses: docker://rhysd/actionlint:1.7.3@sha256:7617f05bd698cd2f1c3aedc05bc733ccec92cca0738f3e8722c32c5b42c70ae6 diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index dff2aacd52..403ab99d59 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Ensure action is by maintainer - uses: octokit/request-action@872c5c97b3c85c23516a572f02b31401ef82415d # v2.3.1 + uses: octokit/request-action@dad4362715b7fb2ddedf9772c8670824af564f0d # v2.4.0 id: check_role with: route: GET /repos/nuxt/nuxt/collaborators/${{ github.event.comment.user.login }} @@ -48,7 +48,7 @@ jobs: fi echo "head_sha=$head_sha" >> "$GITHUB_OUTPUT" - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: ref: ${{ steps.pr.outputs.head_sha }} fetch-depth: 1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fc8203daa5..1eda613a60 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 20 steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: fetch-depth: 0 - run: corepack enable diff --git a/.github/workflows/reproduire.yml b/.github/workflows/reproduire.yml index 435cea2e70..d995f6d302 100644 --- a/.github/workflows/reproduire.yml +++ b/.github/workflows/reproduire.yml @@ -10,7 +10,7 @@ jobs: reproduire: runs-on: ubuntu-latest steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - uses: Hebilicious/reproduire@4b686ae9cbb72dad60f001d278b6e3b2ce40a9ac # v0.0.9-mp with: label: needs reproduction diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml index 26d260eba8..0ad5cf877f 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -32,7 +32,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 with: persist-credentials: false @@ -59,7 +59,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: "Upload artifact" - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 + uses: actions/upload-artifact@84480863f228bb9747b473957fcc9e309aa96097 # v4.4.2 if: github.repository == 'nuxt/nuxt' && success() with: name: SARIF file @@ -68,7 +68,7 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@e2b3eafc8d227b0241d48be5f425d47c2d750a13 # v3.26.10 + uses: github/codeql-action/upload-sarif@c36620d31ac7c881962c3d9dd939c40ec9434f2b # v3.26.12 if: github.repository == 'nuxt/nuxt' && success() with: sarif_file: results.sarif diff --git a/.github/workflows/stackblitz-link.yml b/.github/workflows/stackblitz-link.yml index 9649afed00..7da7c03a24 100644 --- a/.github/workflows/stackblitz-link.yml +++ b/.github/workflows/stackblitz-link.yml @@ -11,7 +11,7 @@ jobs: stackblitz: runs-on: ubuntu-latest steps: - - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 + - uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # v4.2.1 - uses: huang-julien/reproduire-sur-stackblitz@9ceccbfbb0f2f9a9a8db2d1f0dd909cf5cfe67aa # v1.0.2 with: reproduction-heading: '### Reproduction' diff --git a/docs/1.getting-started/10.deployment.md b/docs/1.getting-started/10.deployment.md index 5b17574f89..4b341e6a7d 100644 --- a/docs/1.getting-started/10.deployment.md +++ b/docs/1.getting-started/10.deployment.md @@ -64,6 +64,10 @@ By default, the workload gets distributed to the workers with the round robin st :read-more{to="https://nitro.unjs.io/deploy/node" title="the Nitro documentation for node-server preset"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=0x1H6K5yOfs" target="\_blank"} +Watch Daniel Roe's short video on the topic. +:: + ## Static Hosting There are two ways to deploy a Nuxt application to any static hosting services: diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index 8e9530df40..60c5f84554 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -4,7 +4,6 @@ description: 'Learn how to upgrade to the latest Nuxt version.' navigation.icon: i-ph-arrow-circle-up --- - ## Upgrading Nuxt ### Latest release @@ -179,6 +178,7 @@ nuxt.config.ts 1. Create a new directory called `app/`. 1. Move your `assets/`, `components/`, `composables/`, `layouts/`, `middleware/`, `pages/`, `plugins/` and `utils/` folders under it, as well as `app.vue`, `error.vue`, `app.config.ts`. If you have an `app/router-options.ts` or `app/spa-loading-template.html`, these paths remain the same. 1. Make sure your `nuxt.config.ts`, `content/`, `layers/`, `modules/`, `public/` and `server/` folders remain outside the `app/` folder, in the root of your project. +1. Remember to update any third-party configuration files to work with the new directory structure, such as your `tailwindcss` or `eslint` configuration (if required - `@nuxtjs/tailwindcss` should automatically configure `tailwindcss` correctly). ::tip You can automate this migration by running `npx codemod@latest nuxt/4/file-structure` @@ -467,7 +467,7 @@ We have already proactively migrated the public Nuxt modules which we are aware However, if you are a module author using the `builder:watch` hook and wishing to remain backwards/forwards compatible, you can use the following code to ensure that your code works the same in both Nuxt v3 and Nuxt v4: - ```diff +```diff + import { relative, resolve } from 'node:fs' // ... nuxt.hook('builder:watch', async (event, path) => { diff --git a/docs/1.getting-started/3.configuration.md b/docs/1.getting-started/3.configuration.md index 866de735f5..4cf9310b81 100644 --- a/docs/1.getting-started/3.configuration.md +++ b/docs/1.getting-started/3.configuration.md @@ -4,7 +4,6 @@ description: Nuxt is configured with sensible defaults to make you productive. navigation.icon: i-ph-gear --- - By default, Nuxt is configured to cover most use cases. The [`nuxt.config.ts`](/docs/guide/directory-structure/nuxt-config) file can override or extend this default configuration. ## Nuxt Configuration diff --git a/docs/1.getting-started/4.styling.md b/docs/1.getting-started/4.styling.md index 383bed144b..d780ad3449 100644 --- a/docs/1.getting-started/4.styling.md +++ b/docs/1.getting-started/4.styling.md @@ -530,7 +530,7 @@ export default defineNuxtConfig({ hooks: { 'build:manifest': (manifest) => { // find the app entry, css list - const css = manifest['node_modules/nuxt/dist/app/entry.js']?.css + const css = Object.values(manifest).find(options => options.isEntry)?.css if (css) { // start from the end of the array and go to the beginning for (let i = css.length - 1; i >= 0; i--) { diff --git a/docs/1.getting-started/5.routing.md b/docs/1.getting-started/5.routing.md index e732502f6c..e88d9e8c24 100644 --- a/docs/1.getting-started/5.routing.md +++ b/docs/1.getting-started/5.routing.md @@ -15,7 +15,7 @@ This file system routing uses naming conventions to create dynamic and nested ro ::code-group ```bash [Directory Structure] -| pages/ +-| pages/ ---| about.vue ---| index.vue ---| posts/ diff --git a/docs/2.guide/1.concepts/1.auto-imports.md b/docs/2.guide/1.concepts/1.auto-imports.md index 1111714a9e..ccc342a394 100644 --- a/docs/2.guide/1.concepts/1.auto-imports.md +++ b/docs/2.guide/1.concepts/1.auto-imports.md @@ -33,7 +33,7 @@ Nuxt auto-imports functions and composables to perform [data fetching](/docs/get ```vue twoslash ``` diff --git a/docs/2.guide/2.directory-structure/1.components.md b/docs/2.guide/2.directory-structure/1.components.md index fbd03b63b4..1e4a5f8b01 100644 --- a/docs/2.guide/2.directory-structure/1.components.md +++ b/docs/2.guide/2.directory-structure/1.components.md @@ -8,9 +8,9 @@ navigation.icon: i-ph-folder Nuxt automatically imports any components in this directory (along with components that are registered by any modules you may be using). ```bash [Directory Structure] -| components/ ---| AppHeader.vue ---| AppFooter.vue +-| components/ +---| AppHeader.vue +---| AppFooter.vue ``` ```html [app.vue] @@ -28,10 +28,10 @@ Nuxt automatically imports any components in this directory (along with componen If you have a component in nested directories such as: ```bash [Directory Structure] -| components/ ---| base/ -----| foo/ -------| Button.vue +-| components/ +---| base/ +-----| foo/ +-------| Button.vue ``` ... then the component's name will be based on its own path directory and filename, with duplicate segments being removed. Therefore, the component's name will be: @@ -82,6 +82,10 @@ const MyButton = resolveComponent('MyButton') If you are using `resolveComponent` to handle dynamic components, make sure not to insert anything but the name of the component, which must be a string and not a variable. :: +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=4kq8E5IUM2U" target="\_blank"} +Watch Daniel Roe's short video about `resolveComponent`. +:: + Alternatively, though not recommended, you can register all your components globally, which will create async chunks for all your components and make them available throughout your application. ```diff @@ -281,8 +285,8 @@ export default defineNuxtConfig({ Now you can register server-only components with the `.server` suffix and use them anywhere in your application automatically. ```bash [Directory Structure] -| components/ ---| HighlightedMarkdown.server.vue +-| components/ +---| HighlightedMarkdown.server.vue ``` ```vue [pages/example.vue] @@ -355,9 +359,9 @@ Slots can be interactive and are wrapped within a `
` with `display: content In this case, the `.server` + `.client` components are two 'halves' of a component and can be used in advanced use cases for separate implementations of a component on server and client side. ```bash [Directory Structure] -| components/ ---| Comments.client.vue ---| Comments.server.vue +-| components/ +---| Comments.client.vue +---| Comments.server.vue ``` ```vue [pages/example.vue] @@ -385,15 +389,15 @@ You can use the `components:dirs` hook to extend the directory list without requ Imagine a directory structure like this: ```bash [Directory Structure] -| node_modules/ +-| node_modules/ ---| awesome-ui/ -------| components/ ----------| Alert.vue ----------| Button.vue -------| nuxt.js -| pages/ +-----| components/ +-------| Alert.vue +-------| Button.vue +-----| nuxt.js +-| pages/ ---| index.vue -| nuxt.config.js +-| nuxt.config.js ``` Then in `awesome-ui/nuxt.js` you can use the `components:dirs` hook: diff --git a/docs/2.guide/2.directory-structure/1.composables.md b/docs/2.guide/2.directory-structure/1.composables.md index dbd3510b56..ed96746656 100644 --- a/docs/2.guide/2.directory-structure/1.composables.md +++ b/docs/2.guide/2.directory-structure/1.composables.md @@ -85,11 +85,11 @@ export const useHello = () => { Nuxt only scans files at the top level of the [`composables/` directory](/docs/guide/directory-structure/composables), e.g.: ```bash [Directory Structure] -| composables/ +-| composables/ ---| index.ts // scanned ---| useFoo.ts // scanned ------| nested/ --------| utils.ts // not scanned +---| nested/ +-----| utils.ts // not scanned ``` Only `composables/index.ts` and `composables/useFoo.ts` would be searched for imports. diff --git a/docs/2.guide/2.directory-structure/1.middleware.md b/docs/2.guide/2.directory-structure/1.middleware.md index 3fbcc732ce..d17c6ceb7c 100644 --- a/docs/2.guide/2.directory-structure/1.middleware.md +++ b/docs/2.guide/2.directory-structure/1.middleware.md @@ -72,11 +72,11 @@ Middleware runs in the following order: For example, assuming you have the following middleware and component: -```text [middleware/ directory] -middleware/ ---| analytics.global.ts ---| setup.global.ts ---| auth.ts +```bash [middleware/ directory] +-| middleware/ +---| analytics.global.ts +---| setup.global.ts +---| auth.ts ``` ```vue twoslash [pages/profile.vue] @@ -105,11 +105,11 @@ By default, global middleware is executed alphabetically based on the filename. However, there may be times you want to define a specific order. For example, in the last scenario, `setup.global.ts` may need to run before `analytics.global.ts`. In that case, we recommend prefixing global middleware with 'alphabetical' numbering. -```text [Directory structure] -middleware/ ---| 01.setup.global.ts ---| 02.analytics.global.ts ---| auth.ts +```bash [Directory structure] +-| middleware/ +---| 01.setup.global.ts +---| 02.analytics.global.ts +---| auth.ts ``` ::note diff --git a/docs/2.guide/2.directory-structure/1.pages.md b/docs/2.guide/2.directory-structure/1.pages.md index ce14e9075f..0efb13daac 100644 --- a/docs/2.guide/2.directory-structure/1.pages.md +++ b/docs/2.guide/2.directory-structure/1.pages.md @@ -159,7 +159,7 @@ Example: ```bash [Directory Structure] -| pages/ ---| parent/ -------| child.vue +-----| child.vue ---| parent.vue ``` @@ -408,7 +408,7 @@ However, you can use [Nuxt Layers](/docs/getting-started/layers) to create group ```bash [Directory Structure] -| some-app/ ---| nuxt.config.ts ----| pages +---| pages/ -----| app-page.vue -| nuxt.config.ts ``` diff --git a/docs/2.guide/2.directory-structure/1.plugins.md b/docs/2.guide/2.directory-structure/1.plugins.md index d5edce56b3..572675300c 100644 --- a/docs/2.guide/2.directory-structure/1.plugins.md +++ b/docs/2.guide/2.directory-structure/1.plugins.md @@ -108,7 +108,7 @@ In case you're new to 'alphabetical' numbering, remember that filenames are sort ### Parallel Plugins -By default, Nuxt loads plugins sequentially. You can define a plugin as `parallel` so Nuxt won't wait the end of the plugin's execution before loading the next plugin. +By default, Nuxt loads plugins sequentially. You can define a plugin as `parallel` so Nuxt won't wait until the end of the plugin's execution before loading the next plugin. ```ts twoslash [plugins/my-plugin.ts] export default defineNuxtPlugin({ diff --git a/docs/2.guide/2.directory-structure/1.server.md b/docs/2.guide/2.directory-structure/1.server.md index 0f5111e3ca..cbf68709d9 100644 --- a/docs/2.guide/2.directory-structure/1.server.md +++ b/docs/2.guide/2.directory-structure/1.server.md @@ -347,6 +347,22 @@ export default defineEventHandler((event) => { }) ``` +### Forwarding Context & Headers + +By default, neither the headers from the incoming request nor the request context are forwarded when +making fetch requests in server routes. You can use `event.$fetch` to forward the request context and headers when making fetch requests in server routes. + +```ts [server/api/forward.ts] +export default defineEventHandler((event) => { + return event.$fetch('/api/forwarded') +}) +``` + +::note +Headers that are **not meant to be forwarded** will **not be included** in the request. These headers include, for example: +`transfer-encoding`, `connection`, `keep-alive`, `upgrade`, `expect`, `host`, `accept` +:: + ## Advanced Usage ### Nitro Config diff --git a/docs/2.guide/4.recipes/3.custom-usefetch.md b/docs/2.guide/4.recipes/3.custom-usefetch.md index e8f25f6a2b..a0ac6d7e29 100644 --- a/docs/2.guide/4.recipes/3.custom-usefetch.md +++ b/docs/2.guide/4.recipes/3.custom-usefetch.md @@ -31,14 +31,8 @@ export default defineNuxtPlugin((nuxtApp) => { baseURL: 'https://api.nuxt.com', onRequest({ request, options, error }) { if (session.value?.token) { - const headers = options.headers ||= {} - if (Array.isArray(headers)) { - headers.push(['Authorization', `Bearer ${session.value?.token}`]) - } else if (headers instanceof Headers) { - headers.set('Authorization', `Bearer ${session.value?.token}`) - } else { - headers.Authorization = `Bearer ${session.value?.token}` - } + // note that this relies on ofetch >= 1.4.0 - you may need to refresh your lockfile + options.headers.set('Authorization', `Bearer ${session.value?.token}`) } }, async onResponseError({ response }) { @@ -96,6 +90,28 @@ const { data: modules } = await useAPI('/modules') ``` +If you want to customize the type of any error returned, you can also do so: + +```ts +import type { FetchError } from 'ofetch' +import type { UseFetchOptions } from 'nuxt/app' + +interface CustomError { + message: string + statusCode: number +} + +export function useAPI( + url: string | (() => string), + options?: UseFetchOptions, +) { + return useFetch>(url, { + ...options, + $fetch: useNuxtApp().$api + }) +} +``` + ::note This example demonstrates how to use a custom `useFetch`, but the same structure is identical for a custom `useAsyncData`. :: diff --git a/docs/3.api/2.composables/use-fetch.md b/docs/3.api/2.composables/use-fetch.md index 9e24b1766a..8d6075f044 100644 --- a/docs/3.api/2.composables/use-fetch.md +++ b/docs/3.api/2.composables/use-fetch.md @@ -50,8 +50,8 @@ You can also use [interceptors](https://github.com/unjs/ofetch#%EF%B8%8F-interce const { data, status, error, refresh, clear } = await useFetch('/api/auth/login', { onRequest({ request, options }) { // Set the request headers - options.headers = options.headers || {} - options.headers.authorization = '...' + // note that this relies on ofetch >= 1.4.0 - you may need to refresh your lockfile + options.headers.set('Authorization', '...') }, onRequestError({ request, options, error }) { // Handle the request errors diff --git a/docs/3.api/2.composables/use-request-fetch.md b/docs/3.api/2.composables/use-request-fetch.md new file mode 100644 index 0000000000..dac922e393 --- /dev/null +++ b/docs/3.api/2.composables/use-request-fetch.md @@ -0,0 +1,52 @@ +--- +title: 'useRequestFetch' +description: 'Forward the request context and headers for server-side fetch requests with the useRequestFetch composable.' +links: + - label: Source + icon: i-simple-icons-github + to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/composables/ssr.ts + size: xs +--- + +You can use `useRequestFetch` to forward the request context and headers when making server-side fetch requests. + +When making a client-side fetch request, the browser automatically sends the necessary headers. +However, when making a request during server-side rendering, because the request is made on the server, we need to forward the headers manually. + +::note +Headers that are **not meant to be forwarded** will **not be included** in the request. These headers include, for example: +`transfer-encoding`, `connection`, `keep-alive`, `upgrade`, `expect`, `host`, `accept` +:: + +::tip +The [`useFetch`](/docs/api/composables/use-fetch) composable uses `useRequestFetch` under the hood to automatically forward the request context and headers. +:: + +::code-group + +```vue [pages/index.vue] + +``` + +```ts [server/api/cookies.ts] +export default defineEventHandler((event) => { + const cookies = parseCookies(event) + + return { cookies } +}) +``` + +:: + +::tip +In the browser during client-side navigation, `useRequestFetch` will behave just like regular [`$fetch`](/docs/api/utils/dollarfetch). +:: diff --git a/package.json b/package.json index 96ad49acb1..b2ebe243a3 100644 --- a/package.json +++ b/package.json @@ -39,30 +39,30 @@ "@nuxt/ui-templates": "workspace:*", "@nuxt/vite-builder": "workspace:*", "@nuxt/webpack-builder": "workspace:*", - "@types/node": "20.16.10", - "@vue/compiler-core": "3.5.10", - "@vue/compiler-dom": "3.5.10", - "@vue/shared": "3.5.10", + "@types/node": "20.16.11", + "@vue/compiler-core": "3.5.11", + "@vue/compiler-dom": "3.5.11", + "@vue/shared": "3.5.11", "magic-string": "^0.30.11", "nuxt": "workspace:*", "ohash": "1.1.4", "postcss": "8.4.47", "rollup": "4.24.0", "send": ">=0.19.0", - "typescript": "5.6.2", + "typescript": "5.6.3", "ufo": "1.5.4", "vite": "5.4.8", - "vue": "3.5.10" + "vue": "3.5.11" }, "devDependencies": { - "@eslint/js": "9.11.1", + "@eslint/js": "9.12.0", "@nuxt/eslint-config": "0.5.7", "@nuxt/kit": "workspace:*", - "@nuxt/test-utils": "3.14.2", + "@nuxt/test-utils": "3.14.3", "@nuxt/webpack-builder": "workspace:*", "@testing-library/vue": "8.1.0", "@types/eslint__js": "8.42.3", - "@types/node": "20.16.10", + "@types/node": "20.16.11", "@types/semver": "7.5.8", "@unhead/schema": "1.11.7", "@unhead/vue": "1.11.7", @@ -76,36 +76,36 @@ "cssnano": "7.0.6", "destr": "2.0.3", "devalue": "5.1.1", - "eslint": "9.11.1", + "eslint": "9.12.0", "eslint-plugin-no-only-tests": "3.3.0", "eslint-plugin-perfectionist": "3.8.0", "eslint-typegen": "0.3.2", "h3": "1.12.0", "happy-dom": "15.7.4", - "jiti": "2.3.1", + "jiti": "2.3.3", "markdownlint-cli": "0.42.0", "nitropack": "2.9.7", "nuxi": "3.14.0", "nuxt": "workspace:*", "nuxt-content-twoslash": "0.1.1", - "ofetch": "1.4.0", + "ofetch": "1.4.1", "pathe": "1.1.2", - "playwright-core": "1.47.2", + "playwright-core": "1.48.0", "rimraf": "6.0.1", "semver": "7.6.3", "sherif": "1.0.0", "std-env": "3.7.0", "tinyexec": "0.3.0", "tinyglobby": "0.2.9", - "typescript": "5.6.2", + "typescript": "5.6.3", "ufo": "1.5.4", "vitest": "2.1.2", "vitest-environment-nuxt": "1.0.1", - "vue": "3.5.10", + "vue": "3.5.11", "vue-router": "4.4.5", "vue-tsc": "2.1.6" }, - "packageManager": "pnpm@9.12.0", + "packageManager": "pnpm@9.12.1", "engines": { "node": "^16.10.0 || >=18.0.0" }, diff --git a/packages/kit/package.json b/packages/kit/package.json index 93999509de..b9f761ddc0 100644 --- a/packages/kit/package.json +++ b/packages/kit/package.json @@ -34,12 +34,12 @@ "globby": "^14.0.2", "hash-sum": "^2.0.0", "ignore": "^6.0.2", - "jiti": "^2.3.1", + "jiti": "^2.3.3", "klona": "^2.0.6", "knitwork": "^1.1.0", - "mlly": "^1.7.1", + "mlly": "^1.7.2", "pathe": "^1.1.2", - "pkg-types": "^1.2.0", + "pkg-types": "^1.2.1", "scule": "^1.3.0", "semver": "^7.6.3", "ufo": "^1.5.4", diff --git a/packages/kit/src/template.ts b/packages/kit/src/template.ts index 3c23419fbf..0b760e44a1 100644 --- a/packages/kit/src/template.ts +++ b/packages/kit/src/template.ts @@ -1,7 +1,7 @@ import { existsSync, promises as fsp } from 'node:fs' import { basename, isAbsolute, join, parse, relative, resolve } from 'pathe' import hash from 'hash-sum' -import type { Nuxt, NuxtTemplate, NuxtTypeTemplate, ResolvedNuxtTemplate, TSReference } from '@nuxt/schema' +import type { Nuxt, NuxtServerTemplate, NuxtTemplate, NuxtTypeTemplate, ResolvedNuxtTemplate, TSReference } from '@nuxt/schema' import { withTrailingSlash } from 'ufo' import { defu } from 'defu' import type { TSConfig } from 'pkg-types' @@ -32,6 +32,18 @@ export function addTemplate (_template: NuxtTemplate | string) { return template } +/** + * Adds a virtual file that can be used within the Nuxt Nitro server build. + */ +export function addServerTemplate (template: NuxtServerTemplate) { + const nuxt = useNuxt() + + nuxt.options.nitro.virtual ||= {} + nuxt.options.nitro.virtual[template.filename] = template.getContents + + return template +} + /** * Renders given types using lodash template during build into the project buildDir * and register them as types. diff --git a/packages/nuxt/package.json b/packages/nuxt/package.json index 8472e83846..7d1d76c16a 100644 --- a/packages/nuxt/package.json +++ b/packages/nuxt/package.json @@ -69,10 +69,10 @@ "@unhead/shared": "^1.11.7", "@unhead/ssr": "^1.11.7", "@unhead/vue": "^1.11.7", - "@vue/shared": "^3.5.10", + "@vue/shared": "^3.5.11", "acorn": "8.12.1", "c12": "^2.0.1", - "chokidar": "^3.6.0", + "chokidar": "^4.0.1", "compatx": "^0.1.8", "consola": "^3.2.3", "cookie-es": "^1.2.2", @@ -88,20 +88,20 @@ "hookable": "^5.5.3", "ignore": "^6.0.2", "impound": "^0.1.0", - "jiti": "^2.3.1", + "jiti": "^2.3.3", "klona": "^2.0.6", "knitwork": "^1.1.0", "magic-string": "^0.30.11", - "mlly": "^1.7.1", + "mlly": "^1.7.2", "nanotar": "^0.1.1", "nitropack": "^2.9.7", "nuxi": "^3.14.0", "nypm": "^0.3.12", - "ofetch": "^1.4.0", + "ofetch": "^1.4.1", "ohash": "^1.1.4", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", - "pkg-types": "^1.2.0", + "pkg-types": "^1.2.1", "radix3": "^1.1.2", "scule": "^1.3.0", "semver": "^7.6.3", @@ -119,7 +119,7 @@ "unplugin-vue-router": "^0.10.8", "unstorage": "^1.12.0", "untyped": "^1.5.1", - "vue": "^3.5.10", + "vue": "^3.5.11", "vue-bundle-renderer": "^2.1.1", "vue-devtools-stub": "^0.1.0", "vue-router": "^4.4.5" @@ -130,7 +130,7 @@ "@parcel/watcher": "2.4.1", "@types/estree": "1.0.6", "@vitejs/plugin-vue": "5.1.4", - "@vue/compiler-sfc": "3.5.10", + "@vue/compiler-sfc": "3.5.11", "unbuild": "latest", "vite": "5.4.8", "vitest": "2.1.2" diff --git a/packages/nuxt/src/app/components/nuxt-link.ts b/packages/nuxt/src/app/components/nuxt-link.ts index f38ddbd777..77006518a2 100644 --- a/packages/nuxt/src/app/components/nuxt-link.ts +++ b/packages/nuxt/src/app/components/nuxt-link.ts @@ -328,8 +328,9 @@ export function defineNuxtLink (options: NuxtLinkOptions) { const path = typeof to.value === 'string' ? to.value : isExternal.value ? resolveRouteObject(to.value) : router.resolve(to.value).fullPath + const normalizedPath = isExternal.value ? new URL(path, window.location.href).href : path await Promise.all([ - nuxtApp.hooks.callHook('link:prefetch', path).catch(() => {}), + nuxtApp.hooks.callHook('link:prefetch', normalizedPath).catch(() => {}), !isExternal.value && !hasTarget.value && preloadRouteComponents(to.value as string, router).catch(() => {}), ]) } diff --git a/packages/nuxt/src/components/module.ts b/packages/nuxt/src/components/module.ts index a50baf6851..357da48405 100644 --- a/packages/nuxt/src/components/module.ts +++ b/packages/nuxt/src/components/module.ts @@ -1,6 +1,6 @@ import { existsSync, statSync, writeFileSync } from 'node:fs' import { isAbsolute, join, normalize, relative, resolve } from 'pathe' -import { addBuildPlugin, addPluginTemplate, addTemplate, addTypeTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, logger, resolveAlias, resolvePath, updateTemplates } from '@nuxt/kit' +import { addBuildPlugin, addPluginTemplate, addTemplate, addTypeTemplate, addVitePlugin, defineNuxtModule, logger, resolveAlias, resolvePath, updateTemplates } from '@nuxt/kit' import type { Component, ComponentsDir, ComponentsOptions } from 'nuxt/schema' import { distDir } from '../dirs' @@ -9,8 +9,8 @@ import { scanComponents } from './scan' import { ClientFallbackAutoIdPlugin } from './plugins/client-fallback-auto-id' import { LoaderPlugin } from './plugins/loader' -import { componentsChunkPlugin, islandsTransform } from './plugins/islands-transform' -import { createTransformPlugin } from './plugins/transform' +import { ComponentsChunkPlugin, IslandsTransformPlugin } from './plugins/islands-transform' +import { TransformPlugin } from './plugins/transform' import { TreeShakeTemplatePlugin } from './plugins/tree-shake' import { ComponentNamePlugin } from './plugins/component-names' @@ -134,14 +134,8 @@ export default defineNuxtModule({ addTemplate(componentsMetadataTemplate) } - const TransformPluginServer = createTransformPlugin(nuxt, getComponents, 'server') - const TransformPluginClient = createTransformPlugin(nuxt, getComponents, 'client') - - addVitePlugin(() => TransformPluginServer.vite(), { server: true, client: false }) - addVitePlugin(() => TransformPluginClient.vite(), { server: false, client: true }) - - addWebpackPlugin(() => TransformPluginServer.webpack(), { server: true, client: false }) - addWebpackPlugin(() => TransformPluginClient.webpack(), { server: false, client: true }) + addBuildPlugin(TransformPlugin(nuxt, getComponents, 'server'), { server: true, client: false }) + addBuildPlugin(TransformPlugin(nuxt, getComponents, 'client'), { server: false, client: true }) // Do not prefetch global components chunks nuxt.hook('build:manifest', (manifest) => { @@ -219,37 +213,52 @@ export default defineNuxtModule({ } }) - nuxt.hook('vite:extendConfig', (config, { isClient, isServer }) => { - const mode = isClient ? 'client' : 'server' + if (nuxt.options.experimental.treeshakeClientOnly) { + addBuildPlugin(TreeShakeTemplatePlugin({ sourcemap: !!nuxt.options.sourcemap.server, getComponents }), { client: false }) + } - config.plugins = config.plugins || [] - if (nuxt.options.experimental.treeshakeClientOnly && isServer) { - config.plugins.push(TreeShakeTemplatePlugin.vite({ - sourcemap: !!nuxt.options.sourcemap[mode], - getComponents, - })) - } - if (nuxt.options.experimental.clientFallback) { - config.plugins.push(ClientFallbackAutoIdPlugin.vite({ - sourcemap: !!nuxt.options.sourcemap[mode], - rootDir: nuxt.options.rootDir, - })) - } - config.plugins.push(LoaderPlugin.vite({ - sourcemap: !!nuxt.options.sourcemap[mode], - getComponents, - mode, - transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined, - experimentalComponentIslands: !!nuxt.options.experimental.componentIslands, - })) + if (nuxt.options.experimental.clientFallback) { + addBuildPlugin(ClientFallbackAutoIdPlugin({ sourcemap: !!nuxt.options.sourcemap.client, rootDir: nuxt.options.rootDir }), { server: false }) + addBuildPlugin(ClientFallbackAutoIdPlugin({ sourcemap: !!nuxt.options.sourcemap.server, rootDir: nuxt.options.rootDir }), { client: false }) + } - if (nuxt.options.experimental.componentIslands) { - const selectiveClient = typeof nuxt.options.experimental.componentIslands === 'object' && nuxt.options.experimental.componentIslands.selectiveClient + const sharedLoaderOptions = { + getComponents, + transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined, + experimentalComponentIslands: !!nuxt.options.experimental.componentIslands, + } + + addBuildPlugin(LoaderPlugin({ ...sharedLoaderOptions, sourcemap: !!nuxt.options.sourcemap.client, mode: 'client' }), { server: false }) + addBuildPlugin(LoaderPlugin({ ...sharedLoaderOptions, sourcemap: !!nuxt.options.sourcemap.server, mode: 'server' }), { client: false }) + + if (nuxt.options.experimental.componentIslands) { + const selectiveClient = typeof nuxt.options.experimental.componentIslands === 'object' && nuxt.options.experimental.componentIslands.selectiveClient + + addVitePlugin({ + name: 'nuxt-server-component-hmr', + handleHotUpdate (ctx) { + const components = getComponents() + const filePath = normalize(ctx.file) + const comp = components.find(c => c.filePath === filePath) + if (comp?.mode === 'server') { + ctx.server.ws.send({ + event: `nuxt-server-component:${comp.pascalName}`, + type: 'custom', + }) + } + }, + }, { server: false }) + + addBuildPlugin(IslandsTransformPlugin({ getComponents, selectiveClient }), { client: false }) + + // TODO: refactor this + nuxt.hook('vite:extendConfig', (config, { isClient }) => { + config.plugins = config.plugins || [] if (isClient && selectiveClient) { writeFileSync(join(nuxt.options.buildDir, 'components-chunk.mjs'), 'export const paths = {}') if (!nuxt.options.dev) { - config.plugins.push(componentsChunkPlugin.vite({ + config.plugins.push(ComponentsChunkPlugin.vite({ getComponents, buildDir: nuxt.options.buildDir, })) @@ -263,65 +272,18 @@ export default defineNuxtModule({ )}`) } } + }) - if (isServer) { - config.plugins.push(islandsTransform.vite({ - getComponents, - selectiveClient, - })) - } - } - if (!isServer && nuxt.options.experimental.componentIslands) { - config.plugins.push({ - name: 'nuxt-server-component-hmr', - handleHotUpdate (ctx) { - const components = getComponents() - const filePath = normalize(ctx.file) - const comp = components.find(c => c.filePath === filePath) - if (comp?.mode === 'server') { - ctx.server.ws.send({ - event: `nuxt-server-component:${comp.pascalName}`, - type: 'custom', - }) - } - }, - }) - } - }) - nuxt.hook('webpack:config', (configs) => { - configs.forEach((config) => { - const mode = config.name === 'client' ? 'client' : 'server' - config.plugins = config.plugins || [] - if (nuxt.options.experimental.treeshakeClientOnly && mode === 'server') { - config.plugins.push(TreeShakeTemplatePlugin.webpack({ - sourcemap: !!nuxt.options.sourcemap[mode], - getComponents, - })) - } - if (nuxt.options.experimental.clientFallback) { - config.plugins.push(ClientFallbackAutoIdPlugin.webpack({ - sourcemap: !!nuxt.options.sourcemap[mode], - rootDir: nuxt.options.rootDir, - })) - } - config.plugins.push(LoaderPlugin.webpack({ - sourcemap: !!nuxt.options.sourcemap[mode], - getComponents, - mode, - transform: typeof nuxt.options.components === 'object' && !Array.isArray(nuxt.options.components) ? nuxt.options.components.transform : undefined, - experimentalComponentIslands: !!nuxt.options.experimental.componentIslands, - })) + nuxt.hook('webpack:config', (configs) => { + configs.forEach((config) => { + const mode = config.name === 'client' ? 'client' : 'server' + config.plugins = config.plugins || [] - if (nuxt.options.experimental.componentIslands) { - if (mode === 'server') { - config.plugins.push(islandsTransform.webpack({ - getComponents, - })) - } else { + if (mode !== 'server') { writeFileSync(join(nuxt.options.buildDir, 'components-chunk.mjs'), 'export const paths = {}') } - } + }) }) - }) + } }, }) diff --git a/packages/nuxt/src/components/plugins/client-fallback-auto-id.ts b/packages/nuxt/src/components/plugins/client-fallback-auto-id.ts index b12753e4e6..9f3e1b119c 100644 --- a/packages/nuxt/src/components/plugins/client-fallback-auto-id.ts +++ b/packages/nuxt/src/components/plugins/client-fallback-auto-id.ts @@ -12,7 +12,7 @@ interface LoaderOptions { } const CLIENT_FALLBACK_RE = /<(?:NuxtClientFallback|nuxt-client-fallback)(?: [^>]*)?>/ const CLIENT_FALLBACK_GLOBAL_RE = /<(NuxtClientFallback|nuxt-client-fallback)( [^>]*)?>/g -export const ClientFallbackAutoIdPlugin = createUnplugin((options: LoaderOptions) => { +export const ClientFallbackAutoIdPlugin = (options: LoaderOptions) => createUnplugin(() => { const exclude = options.transform?.exclude || [] const include = options.transform?.include || [] diff --git a/packages/nuxt/src/components/plugins/islands-transform.ts b/packages/nuxt/src/components/plugins/islands-transform.ts index ba5aa02d0b..70ad9fb895 100644 --- a/packages/nuxt/src/components/plugins/islands-transform.ts +++ b/packages/nuxt/src/components/plugins/islands-transform.ts @@ -35,14 +35,14 @@ function wrapWithVForDiv (code: string, vfor: string): string { return `
${code}
` } -export const islandsTransform = createUnplugin((options: ServerOnlyComponentTransformPluginOptions, meta) => { +export const IslandsTransformPlugin = (options: ServerOnlyComponentTransformPluginOptions) => createUnplugin((_options, meta) => { const isVite = meta.framework === 'vite' return { - name: 'server-only-component-transform', + name: 'nuxt:server-only-component-transform', enforce: 'pre', transformInclude (id) { if (!isVue(id)) { return false } - if (options.selectiveClient === 'deep') { return true } + if (isVite && options.selectiveClient === 'deep') { return true } const components = options.getComponents() const islands = components.filter(component => @@ -70,54 +70,68 @@ export const islandsTransform = createUnplugin((options: ServerOnlyComponentTran const ast = parse(template[0]) await walk(ast, (node) => { - if (node.type === ELEMENT_NODE) { - if (node.name === 'slot') { - const { attributes, children, loc } = node - - const slotName = attributes.name ?? 'default' - - if (attributes.name) { delete attributes.name } - if (attributes['v-bind']) { - attributes._bind = extractAttributes(attributes, ['v-bind'])['v-bind']! - } - const teleportAttributes = extractAttributes(attributes, ['v-if', 'v-else-if', 'v-else']) - const bindings = getPropsToString(attributes) - // add the wrapper - s.appendLeft(startingIndex + loc[0].start, ``) - - if (children.length) { - // pass slot fallback to NuxtTeleportSsrSlot fallback - const attrString = attributeToString(attributes) - const slice = code.slice(startingIndex + loc[0].end, startingIndex + loc[1].start).replaceAll(/:?key="[^"]"/g, '') - s.overwrite(startingIndex + loc[0].start, startingIndex + loc[1].end, ``) - } else { - s.overwrite(startingIndex + loc[0].start, startingIndex + loc[0].end, code.slice(startingIndex + loc[0].start, startingIndex + loc[0].end).replaceAll(EXTRACTED_ATTRS_RE, '')) - } - - s.appendRight(startingIndex + loc[1].end, '') - } else if (options.selectiveClient && ('nuxt-client' in node.attributes || ':nuxt-client' in node.attributes)) { - hasNuxtClient = true - const { loc, attributes } = node - const attributeValue = attributes[':nuxt-client'] || attributes['nuxt-client'] || 'true' - if (isVite) { - const uid = hash(id + node.loc[0].start + node.loc[0].end) - const wrapperAttributes = extractAttributes(attributes, ['v-if', 'v-else-if', 'v-else']) - - let startTag = code.slice(startingIndex + loc[0].start, startingIndex + loc[0].end).replace(NUXTCLIENT_ATTR_RE, '') - if (wrapperAttributes) { - startTag = startTag.replaceAll(EXTRACTED_ATTRS_RE, '') - } - - s.appendLeft(startingIndex + loc[0].start, ``) - s.overwrite(startingIndex + loc[0].start, startingIndex + loc[0].end, startTag) - s.appendRight(startingIndex + loc[1].end, '') - } - } + if (node.type !== ELEMENT_NODE) { + return } + if (node.name === 'slot') { + const { attributes, children, loc } = node + + const slotName = attributes.name ?? 'default' + + if (attributes.name) { delete attributes.name } + if (attributes['v-bind']) { + attributes._bind = extractAttributes(attributes, ['v-bind'])['v-bind']! + } + const teleportAttributes = extractAttributes(attributes, ['v-if', 'v-else-if', 'v-else']) + const bindings = getPropsToString(attributes) + // add the wrapper + s.appendLeft(startingIndex + loc[0].start, ``) + + if (children.length) { + // pass slot fallback to NuxtTeleportSsrSlot fallback + const attrString = attributeToString(attributes) + const slice = code.slice(startingIndex + loc[0].end, startingIndex + loc[1].start).replaceAll(/:?key="[^"]"/g, '') + s.overwrite(startingIndex + loc[0].start, startingIndex + loc[1].end, ``) + } else { + s.overwrite(startingIndex + loc[0].start, startingIndex + loc[0].end, code.slice(startingIndex + loc[0].start, startingIndex + loc[0].end).replaceAll(EXTRACTED_ATTRS_RE, '')) + } + + s.appendRight(startingIndex + loc[1].end, '') + return + } + + if (!('nuxt-client' in node.attributes) && !(':nuxt-client' in node.attributes)) { + return + } + + hasNuxtClient = true + + if (!isVite || !options.selectiveClient) { + return + } + + const { loc, attributes } = node + const attributeValue = attributes[':nuxt-client'] || attributes['nuxt-client'] || 'true' + + const uid = hash(id + node.loc[0].start + node.loc[0].end) + const wrapperAttributes = extractAttributes(attributes, ['v-if', 'v-else-if', 'v-else']) + + let startTag = code.slice(startingIndex + loc[0].start, startingIndex + loc[0].end).replace(NUXTCLIENT_ATTR_RE, '') + if (wrapperAttributes) { + startTag = startTag.replaceAll(EXTRACTED_ATTRS_RE, '') + } + + s.appendLeft(startingIndex + loc[0].start, ``) + s.overwrite(startingIndex + loc[0].start, startingIndex + loc[0].end, startTag) + s.appendRight(startingIndex + loc[1].end, '') }) - if (!isVite && hasNuxtClient) { - console.warn(`nuxt-client attribute and client components within islands is only supported with Vite. file: ${id}`) + if (hasNuxtClient) { + if (!options.selectiveClient) { + console.warn(`The \`nuxt-client\` attribute and client components within islands are only supported when \`experimental.componentIslands.selectiveClient\` is enabled. file: ${id}`) + } else if (!isVite) { + console.warn(`The \`nuxt-client\` attribute and client components within islands are only supported with Vite. file: ${id}`) + } } if (s.hasChanged()) { @@ -164,10 +178,10 @@ function getPropsToString (bindings: Record): string { } } -export const componentsChunkPlugin = createUnplugin((options: ComponentChunkOptions) => { +export const ComponentsChunkPlugin = createUnplugin((options: ComponentChunkOptions) => { const { buildDir } = options return { - name: 'componentsChunkPlugin', + name: 'nuxt:components-chunk', vite: { async config (config) { const components = options.getComponents() diff --git a/packages/nuxt/src/components/plugins/loader.ts b/packages/nuxt/src/components/plugins/loader.ts index d2d4813767..e8d6f3cd4b 100644 --- a/packages/nuxt/src/components/plugins/loader.ts +++ b/packages/nuxt/src/components/plugins/loader.ts @@ -2,7 +2,7 @@ import { createUnplugin } from 'unplugin' import { genDynamicImport, genImport } from 'knitwork' import MagicString from 'magic-string' import { pascalCase } from 'scule' -import { resolve } from 'pathe' +import { relative, resolve } from 'pathe' import type { Component, ComponentsOptions } from 'nuxt/schema' import { logger, tryUseNuxt } from '@nuxt/kit' @@ -17,10 +17,11 @@ interface LoaderOptions { experimentalComponentIslands?: boolean } -export const LoaderPlugin = createUnplugin((options: LoaderOptions) => { +export const LoaderPlugin = (options: LoaderOptions) => createUnplugin(() => { const exclude = options.transform?.exclude || [] const include = options.transform?.include || [] const serverComponentRuntime = resolve(distDir, 'components/runtime/server-component') + const nuxt = tryUseNuxt() return { name: 'nuxt:components-loader', @@ -34,7 +35,7 @@ export const LoaderPlugin = createUnplugin((options: LoaderOptions) => { } return isVue(id, { type: ['template', 'script'] }) || !!id.match(/\.[tj]sx$/) }, - transform (code) { + transform (code, id) { const components = options.getComponents() let num = 0 @@ -46,10 +47,14 @@ export const LoaderPlugin = createUnplugin((options: LoaderOptions) => { s.replace(/(?<=[ (])_?resolveComponent\(\s*["'](lazy-|Lazy(?=[A-Z]))?([^'"]*)["'][^)]*\)/g, (full: string, lazy: string, name: string) => { const component = findComponent(components, name, options.mode) if (component) { - // @ts-expect-error TODO: refactor to nuxi - if (component._internal_install && tryUseNuxt()?.options.test === false) { - // @ts-expect-error TODO: refactor to nuxi - import('../../core/features').then(({ installNuxtModule }) => installNuxtModule(component._internal_install)) + // TODO: refactor to nuxi + const internalInstall = ((component as any)._internal_install) as string + if (internalInstall && nuxt?.options.test === false) { + if (!nuxt.options.dev) { + const relativePath = relative(nuxt.options.rootDir, id) + throw new Error(`[nuxt] \`~/${relativePath}\` is using \`${component.pascalName}\` which requires \`${internalInstall}\``) + } + import('../../core/features').then(({ installNuxtModule }) => installNuxtModule(internalInstall)) } let identifier = map.get(component) || `__nuxt_component_${num++}` map.set(component, identifier) diff --git a/packages/nuxt/src/components/plugins/transform.ts b/packages/nuxt/src/components/plugins/transform.ts index 064fe9a56f..85108f0122 100644 --- a/packages/nuxt/src/components/plugins/transform.ts +++ b/packages/nuxt/src/components/plugins/transform.ts @@ -12,7 +12,7 @@ import type { getComponentsT } from '../module' const COMPONENT_QUERY_RE = /[?&]nuxt_component=/ -export function createTransformPlugin (nuxt: Nuxt, getComponents: getComponentsT, mode: 'client' | 'server' | 'all') { +export function TransformPlugin (nuxt: Nuxt, getComponents: getComponentsT, mode: 'client' | 'server' | 'all') { const serverComponentRuntime = resolve(distDir, 'components/runtime/server-component') const componentUnimport = createUnimport({ imports: [ diff --git a/packages/nuxt/src/components/plugins/tree-shake.ts b/packages/nuxt/src/components/plugins/tree-shake.ts index 2eaf341d87..ff68f2fa21 100644 --- a/packages/nuxt/src/components/plugins/tree-shake.ts +++ b/packages/nuxt/src/components/plugins/tree-shake.ts @@ -20,7 +20,7 @@ const PLACEHOLDER_EXACT_RE = /^(?:fallback|placeholder)$/ const CLIENT_ONLY_NAME_RE = /^(?:_unref\()?(?:_component_)?(?:Lazy|lazy_)?(?:client_only|ClientOnly\)?)$/ const PARSER_OPTIONS = { sourceType: 'module', ecmaVersion: 'latest' } -export const TreeShakeTemplatePlugin = createUnplugin((options: TreeShakeTemplatePluginOptions) => { +export const TreeShakeTemplatePlugin = (options: TreeShakeTemplatePluginOptions) => createUnplugin(() => { const regexpMap = new WeakMap() return { name: 'nuxt:tree-shake-template', diff --git a/packages/nuxt/src/core/nuxt.ts b/packages/nuxt/src/core/nuxt.ts index 5c1d80c396..5567898427 100644 --- a/packages/nuxt/src/core/nuxt.ts +++ b/packages/nuxt/src/core/nuxt.ts @@ -33,9 +33,7 @@ import { version } from '../../package.json' import { scriptsStubsPreset } from '../imports/presets' import { resolveTypePath } from './utils/types' import { nuxtImportProtections } from './plugins/import-protection' -import type { UnctxTransformPluginOptions } from './plugins/unctx' import { UnctxTransformPlugin } from './plugins/unctx' -import type { TreeShakeComposablesPluginOptions } from './plugins/tree-shake' import { TreeShakeComposablesPlugin } from './plugins/tree-shake' import { DevOnlyPlugin } from './plugins/dev-only' import { LayerAliasingPlugin } from './plugins/layer-aliasing' @@ -270,58 +268,45 @@ async function initNuxt (nuxt: Nuxt) { if (nuxt.options.experimental.localLayerAliases) { // Add layer aliasing support for ~, ~~, @ and @@ aliases - addVitePlugin(() => LayerAliasingPlugin.vite({ + addBuildPlugin(LayerAliasingPlugin({ sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, dev: nuxt.options.dev, root: nuxt.options.srcDir, // skip top-level layer (user's project) as the aliases will already be correctly resolved layers: nuxt.options._layers.slice(1), })) - addWebpackPlugin(() => LayerAliasingPlugin.webpack({ - sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, - dev: nuxt.options.dev, - root: nuxt.options.srcDir, - // skip top-level layer (user's project) as the aliases will already be correctly resolved - layers: nuxt.options._layers.slice(1), - transform: true, - })) } nuxt.hook('modules:done', async () => { // Add unctx transform - const options = { + addBuildPlugin(UnctxTransformPlugin({ sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, transformerOptions: { ...nuxt.options.optimization.asyncTransforms, helperModule: await tryResolveModule('unctx', nuxt.options.modulesDir) ?? 'unctx', }, - } satisfies UnctxTransformPluginOptions - addVitePlugin(() => UnctxTransformPlugin.vite(options)) - addWebpackPlugin(() => UnctxTransformPlugin.webpack(options)) + })) // Add composable tree-shaking optimisations - const serverTreeShakeOptions: TreeShakeComposablesPluginOptions = { - sourcemap: !!nuxt.options.sourcemap.server, - composables: nuxt.options.optimization.treeShake.composables.server, + if (Object.keys(nuxt.options.optimization.treeShake.composables.server).length) { + addBuildPlugin(TreeShakeComposablesPlugin({ + sourcemap: !!nuxt.options.sourcemap.server, + composables: nuxt.options.optimization.treeShake.composables.server, + }), { client: false }) } - if (Object.keys(serverTreeShakeOptions.composables).length) { - addVitePlugin(() => TreeShakeComposablesPlugin.vite(serverTreeShakeOptions), { client: false }) - addWebpackPlugin(() => TreeShakeComposablesPlugin.webpack(serverTreeShakeOptions), { client: false }) - } - const clientTreeShakeOptions: TreeShakeComposablesPluginOptions = { - sourcemap: !!nuxt.options.sourcemap.client, - composables: nuxt.options.optimization.treeShake.composables.client, - } - if (Object.keys(clientTreeShakeOptions.composables).length) { - addVitePlugin(() => TreeShakeComposablesPlugin.vite(clientTreeShakeOptions), { server: false }) - addWebpackPlugin(() => TreeShakeComposablesPlugin.webpack(clientTreeShakeOptions), { server: false }) + if (Object.keys(nuxt.options.optimization.treeShake.composables.client).length) { + addBuildPlugin(TreeShakeComposablesPlugin({ + sourcemap: !!nuxt.options.sourcemap.client, + composables: nuxt.options.optimization.treeShake.composables.client, + }), { server: false }) } }) if (!nuxt.options.dev) { // DevOnly component tree-shaking - build time only - addVitePlugin(() => DevOnlyPlugin.vite({ sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client })) - addWebpackPlugin(() => DevOnlyPlugin.webpack({ sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client })) + addBuildPlugin(DevOnlyPlugin({ + sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, + })) } if (nuxt.options.dev) { diff --git a/packages/nuxt/src/core/plugins/dev-only.ts b/packages/nuxt/src/core/plugins/dev-only.ts index 35437ad777..17992aa3d1 100644 --- a/packages/nuxt/src/core/plugins/dev-only.ts +++ b/packages/nuxt/src/core/plugins/dev-only.ts @@ -10,7 +10,7 @@ interface DevOnlyPluginOptions { const DEVONLY_COMP_SINGLE_RE = /<(?:dev-only|DevOnly|lazy-dev-only|LazyDevOnly)>[\s\S]*?<\/(?:dev-only|DevOnly|lazy-dev-only|LazyDevOnly)>/ const DEVONLY_COMP_RE = /<(?:dev-only|DevOnly|lazy-dev-only|LazyDevOnly)>[\s\S]*?<\/(?:dev-only|DevOnly|lazy-dev-only|LazyDevOnly)>/g -export const DevOnlyPlugin = createUnplugin((options: DevOnlyPluginOptions) => { +export const DevOnlyPlugin = (options: DevOnlyPluginOptions) => createUnplugin(() => { return { name: 'nuxt:server-devonly:transform', enforce: 'pre', diff --git a/packages/nuxt/src/core/plugins/layer-aliasing.ts b/packages/nuxt/src/core/plugins/layer-aliasing.ts index dd5de8b88b..9f12c72988 100644 --- a/packages/nuxt/src/core/plugins/layer-aliasing.ts +++ b/packages/nuxt/src/core/plugins/layer-aliasing.ts @@ -6,7 +6,6 @@ import MagicString from 'magic-string' interface LayerAliasingOptions { sourcemap?: boolean - transform?: boolean root: string dev: boolean layers: NuxtConfigLayer[] @@ -15,7 +14,7 @@ interface LayerAliasingOptions { const ALIAS_RE = /(?<=['"])[~@]{1,2}(?=\/)/g const ALIAS_RE_SINGLE = /(?<=['"])[~@]{1,2}(?=\/)/ -export const LayerAliasingPlugin = createUnplugin((options: LayerAliasingOptions) => { +export const LayerAliasingPlugin = (options: LayerAliasingOptions) => createUnplugin((_options, meta) => { const aliases: Record> = {} for (const layer of options.layers) { const srcDir = layer.config.srcDir || layer.cwd @@ -52,12 +51,13 @@ export const LayerAliasingPlugin = createUnplugin((options: LayerAliasingOptions // webpack-only transform transformInclude: (id) => { - if (!options.transform) { return false } + if (meta.framework === 'vite') { return false } + const _id = normalize(id) return layers.some(dir => _id.startsWith(dir)) }, transform (code, id) { - if (!options.transform) { return } + if (meta.framework === 'vite') { return } const _id = normalize(id) const layer = layers.find(l => _id.startsWith(l)) diff --git a/packages/nuxt/src/core/plugins/tree-shake.ts b/packages/nuxt/src/core/plugins/tree-shake.ts index 950ec8edbc..aed3fad9e2 100644 --- a/packages/nuxt/src/core/plugins/tree-shake.ts +++ b/packages/nuxt/src/core/plugins/tree-shake.ts @@ -5,12 +5,12 @@ import { isJS, isVue } from '../utils' type ImportPath = string -export interface TreeShakeComposablesPluginOptions { +interface TreeShakeComposablesPluginOptions { sourcemap?: boolean composables: Record } -export const TreeShakeComposablesPlugin = createUnplugin((options: TreeShakeComposablesPluginOptions) => { +export const TreeShakeComposablesPlugin = (options: TreeShakeComposablesPluginOptions) => createUnplugin(() => { /** * @todo Use the options import-path to tree-shake composables in a safer way. */ diff --git a/packages/nuxt/src/core/plugins/unctx.ts b/packages/nuxt/src/core/plugins/unctx.ts index f935adc112..efaf9fde5a 100644 --- a/packages/nuxt/src/core/plugins/unctx.ts +++ b/packages/nuxt/src/core/plugins/unctx.ts @@ -6,12 +6,12 @@ import { isJS, isVue } from '../utils' const TRANSFORM_MARKER = '/* _processed_nuxt_unctx_transform */\n' -export interface UnctxTransformPluginOptions { +interface UnctxTransformPluginOptions { sourcemap?: boolean transformerOptions: TransformerOptions } -export const UnctxTransformPlugin = createUnplugin((options: UnctxTransformPluginOptions) => { +export const UnctxTransformPlugin = (options: UnctxTransformPluginOptions) => createUnplugin(() => { const transformer = createTransformer(options.transformerOptions) return { name: 'unctx:transform', diff --git a/packages/nuxt/src/core/templates.ts b/packages/nuxt/src/core/templates.ts index 8c1f693ac8..27e4180f5c 100644 --- a/packages/nuxt/src/core/templates.ts +++ b/packages/nuxt/src/core/templates.ts @@ -8,6 +8,7 @@ import { hash } from 'ohash' import { camelCase } from 'scule' import { filename } from 'pathe/utils' import type { NuxtTemplate, NuxtTypeTemplate } from 'nuxt/schema' +import type { Nitro } from 'nitropack' import { annotatePlugins, checkForCircularDependencies } from './app' @@ -512,6 +513,7 @@ export const nuxtConfigTemplate: NuxtTemplate = { `export const outdatedBuildInterval = ${ctx.nuxt.options.experimental.checkOutdatedBuildInterval}`, `export const multiApp = ${!!ctx.nuxt.options.future.multiApp}`, `export const chunkErrorEvent = ${ctx.nuxt.options.experimental.emitRouteChunkError ? ctx.nuxt.options.builder === '@nuxt/vite-builder' ? '"vite:preloadError"' : '"nuxt:preloadError"' : 'false'}`, + `export const crawlLinks = ${!!((ctx.nuxt as any)._nitro as Nitro).options.prerender.crawlLinks}`, ].join('\n\n') }, } diff --git a/packages/nuxt/src/pages/module.ts b/packages/nuxt/src/pages/module.ts index e0e90fd7b8..568d32ed1d 100644 --- a/packages/nuxt/src/pages/module.ts +++ b/packages/nuxt/src/pages/module.ts @@ -1,6 +1,6 @@ import { existsSync, readdirSync } from 'node:fs' import { mkdir, readFile } from 'node:fs/promises' -import { addBuildPlugin, addComponent, addPlugin, addTemplate, addTypeTemplate, addVitePlugin, addWebpackPlugin, defineNuxtModule, findPath, logger, resolvePath, updateTemplates, useNitro } from '@nuxt/kit' +import { addBuildPlugin, addComponent, addPlugin, addTemplate, addTypeTemplate, defineNuxtModule, findPath, logger, resolvePath, updateTemplates, useNitro } from '@nuxt/kit' import { dirname, join, relative, resolve } from 'pathe' import { genImport, genObjectFromRawEntries, genString } from 'knitwork' import { joinURL } from 'ufo' @@ -8,6 +8,7 @@ import type { Nuxt, NuxtApp, NuxtPage } from 'nuxt/schema' import { createRoutesContext } from 'unplugin-vue-router' import { resolveOptions } from 'unplugin-vue-router/options' import type { EditableTreeNode, Options as TypedRouterOptions } from 'unplugin-vue-router' +import { createRouter as createRadixRouter, toRouteMatcher } from 'radix3' import type { NitroRouteConfig } from 'nitropack' import { defu } from 'defu' @@ -15,7 +16,6 @@ import { distDir } from '../dirs' import { resolveTypePath } from '../core/utils/types' import { normalizeRoutes, resolvePagesRoutes, resolveRoutePaths } from './utils' import { extractRouteRules, getMappedPages } from './route-rules' -import type { PageMetaPluginOptions } from './plugins/page-meta' import { PageMetaPlugin } from './plugins/page-meta' import { RouteInjectionPlugin } from './plugins/route-injection' @@ -273,7 +273,7 @@ export default defineNuxtModule({ nuxt.hook('app:resolve', (app) => { const nitro = useNitro() - if (nitro.options.prerender.crawlLinks) { + if (nitro.options.prerender.crawlLinks || Object.values(nitro.options.routeRules).some(rule => rule.prerender)) { app.plugins.push({ src: resolve(runtimeDir, 'plugins/prerender.server'), mode: 'server', @@ -311,7 +311,20 @@ export default defineNuxtModule({ }) nuxt.hook('nitro:build:before', (nitro) => { - if (nuxt.options.dev || !nitro.options.static || nuxt.options.router.options.hashMode || !nitro.options.prerender.crawlLinks) { return } + if (nuxt.options.dev || nuxt.options.router.options.hashMode) { return } + + // Inject page patterns that explicitly match `prerender: true` route rule + if (!nitro.options.static && !nitro.options.prerender.crawlLinks) { + const routeRulesMatcher = toRouteMatcher(createRadixRouter({ routes: nitro.options.routeRules })) + for (const route of prerenderRoutes) { + const rules = defu({} as Record, ...routeRulesMatcher.matchAll(route).reverse()) + if (rules.prerender) { + nitro.options.prerender.routes.push(route) + } + } + } + + if (!nitro.options.static || !nitro.options.prerender.crawlLinks) { return } // Only hint the first route when `ssr: true` and no routes are provided // as the rest will be injected at runtime when this is prerendered @@ -418,13 +431,11 @@ export default defineNuxtModule({ } // Extract macros from pages - const pageMetaOptions: PageMetaPluginOptions = { - dev: nuxt.options.dev, - sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, - } nuxt.hook('modules:done', () => { - addVitePlugin(() => PageMetaPlugin.vite(pageMetaOptions)) - addWebpackPlugin(() => PageMetaPlugin.webpack(pageMetaOptions)) + addBuildPlugin(PageMetaPlugin({ + dev: nuxt.options.dev, + sourcemap: !!nuxt.options.sourcemap.server || !!nuxt.options.sourcemap.client, + })) }) // Add prefetching support for middleware & layouts diff --git a/packages/nuxt/src/pages/plugins/page-meta.ts b/packages/nuxt/src/pages/plugins/page-meta.ts index 7597aef8cd..f6645a5653 100644 --- a/packages/nuxt/src/pages/plugins/page-meta.ts +++ b/packages/nuxt/src/pages/plugins/page-meta.ts @@ -10,7 +10,7 @@ import MagicString from 'magic-string' import { isAbsolute } from 'pathe' import { logger } from '@nuxt/kit' -export interface PageMetaPluginOptions { +interface PageMetaPluginOptions { dev?: boolean sourcemap?: boolean } @@ -36,7 +36,7 @@ if (import.meta.webpackHot) { }) }` -export const PageMetaPlugin = createUnplugin((options: PageMetaPluginOptions) => { +export const PageMetaPlugin = (options: PageMetaPluginOptions) => createUnplugin(() => { return { name: 'nuxt:pages-macros-transform', enforce: 'post', diff --git a/packages/nuxt/src/pages/runtime/plugins/prerender.server.ts b/packages/nuxt/src/pages/runtime/plugins/prerender.server.ts index 9a191f9dce..3b880b1223 100644 --- a/packages/nuxt/src/pages/runtime/plugins/prerender.server.ts +++ b/packages/nuxt/src/pages/runtime/plugins/prerender.server.ts @@ -1,20 +1,31 @@ import type { RouteRecordRaw } from 'vue-router' import { joinURL } from 'ufo' +import { createRouter as createRadixRouter, toRouteMatcher } from 'radix3' +import defu from 'defu' -import { defineNuxtPlugin } from '#app/nuxt' +import { defineNuxtPlugin, useRuntimeConfig } from '#app/nuxt' import { prerenderRoutes } from '#app/composables/ssr' // @ts-expect-error virtual file import _routes from '#build/routes' import routerOptions from '#build/router.options' +// @ts-expect-error virtual file +import { crawlLinks } from '#build/nuxt.config.mjs' let routes: string[] +let _routeRulesMatcher: undefined | ReturnType = undefined + export default defineNuxtPlugin(async () => { if (!import.meta.server || !import.meta.prerender || routerOptions.hashMode) { return } if (routes && !routes.length) { return } + const routeRules = useRuntimeConfig().nitro!.routeRules + if (!crawlLinks && routeRules && Object.values(routeRules).some(r => r.prerender)) { + _routeRulesMatcher = toRouteMatcher(createRadixRouter({ routes: routeRules })) + } + routes ||= Array.from(processRoutes(await routerOptions.routes?.(_routes) ?? _routes)) const batch = routes.splice(0, 10) prerenderRoutes(batch) @@ -24,10 +35,14 @@ export default defineNuxtPlugin(async () => { const OPTIONAL_PARAM_RE = /^\/?:.*(?:\?|\(\.\*\)\*)$/ +function shouldPrerender (path: string) { + return !_routeRulesMatcher || defu({} as Record, ..._routeRulesMatcher.matchAll(path).reverse()).prerender +} + function processRoutes (routes: RouteRecordRaw[], currentPath = '/', routesToPrerender = new Set()) { for (const route of routes) { // Add root of optional dynamic paths and catchalls - if (OPTIONAL_PARAM_RE.test(route.path) && !route.children?.length) { + if (OPTIONAL_PARAM_RE.test(route.path) && !route.children?.length && shouldPrerender(currentPath)) { routesToPrerender.add(currentPath) } // Skip dynamic paths @@ -35,7 +50,9 @@ function processRoutes (routes: RouteRecordRaw[], currentPath = '/', routesToPre continue } const fullPath = joinURL(currentPath, route.path) - routesToPrerender.add(fullPath) + if (shouldPrerender(fullPath)) { + routesToPrerender.add(fullPath) + } if (route.children) { processRoutes(route.children, fullPath, routesToPrerender) } diff --git a/packages/nuxt/test/components-transform.test.ts b/packages/nuxt/test/components-transform.test.ts index 338d470003..167229a4dc 100644 --- a/packages/nuxt/test/components-transform.test.ts +++ b/packages/nuxt/test/components-transform.test.ts @@ -4,7 +4,7 @@ import type { Component, Nuxt } from '@nuxt/schema' import { kebabCase } from 'scule' import { normalize } from 'pathe' -import { createTransformPlugin } from '../src/components/plugins/transform' +import { TransformPlugin } from '../src/components/plugins/transform' describe('components:transform', () => { it('should transform #components imports', async () => { @@ -92,7 +92,7 @@ function createTransformer (components: Component[], mode: 'client' | 'server' | }, }, } as Nuxt - const plugin = createTransformPlugin(stubNuxt, () => components, mode).vite() + const plugin = TransformPlugin(stubNuxt, () => components, mode).vite() return async (code: string, id: string) => { const result = await (plugin as any).transform!(code, id) diff --git a/packages/nuxt/test/devonly.test.ts b/packages/nuxt/test/devonly.test.ts index cf0b734f92..31a876e84c 100644 --- a/packages/nuxt/test/devonly.test.ts +++ b/packages/nuxt/test/devonly.test.ts @@ -3,7 +3,7 @@ import type { Plugin } from 'vite' import { DevOnlyPlugin } from '../src/core/plugins/dev-only' import { normalizeLineEndings } from './utils' -const pluginVite = DevOnlyPlugin.raw({}, { framework: 'vite' }) as Plugin +const pluginVite = DevOnlyPlugin({}).raw({}, { framework: 'vite' }) as Plugin const viteTransform = async (source: string, id: string) => { // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type diff --git a/packages/nuxt/test/islandTransform.test.ts b/packages/nuxt/test/island-transform.test.ts similarity index 97% rename from packages/nuxt/test/islandTransform.test.ts rename to packages/nuxt/test/island-transform.test.ts index 5634dee92e..3743987565 100644 --- a/packages/nuxt/test/islandTransform.test.ts +++ b/packages/nuxt/test/island-transform.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it, vi } from 'vitest' import type { Plugin } from 'vite' import type { Component } from '@nuxt/schema' import type { UnpluginOptions } from 'unplugin' -import { islandsTransform } from '../src/components/plugins/islands-transform' +import { IslandsTransformPlugin } from '../src/components/plugins/islands-transform' import { normalizeLineEndings } from './utils' const getComponents = () => [{ @@ -18,16 +18,16 @@ const getComponents = () => [{ preload: false, }] as Component[] -const pluginWebpack = islandsTransform.raw({ +const pluginWebpack = IslandsTransformPlugin({ getComponents, selectiveClient: true, -}, { framework: 'webpack', webpack: { compiler: {} as any } }) +}).raw({}, { framework: 'webpack', webpack: { compiler: {} as any } }) const viteTransform = async (source: string, id: string, selectiveClient = false) => { - const vitePlugin = islandsTransform.raw({ + const vitePlugin = IslandsTransformPlugin({ getComponents, selectiveClient, - }, { framework: 'vite' }) as Plugin + }).raw({}, { framework: 'vite' }) as Plugin // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type const result = await (vitePlugin.transform! as Function)(source, id) @@ -454,7 +454,7 @@ withDefaults(defineProps<{ things?: any[]; somethingElse?: string }>(), { " `) - expect(spyOnWarn).toHaveBeenCalledWith('nuxt-client attribute and client components within islands is only supported with Vite. file: hello.server.vue') + expect(spyOnWarn).toHaveBeenCalledWith('The `nuxt-client` attribute and client components within islands are only supported with Vite. file: hello.server.vue') }) }) }) diff --git a/packages/nuxt/test/treeshake-client.test.ts b/packages/nuxt/test/treeshake-client.test.ts index 2cc0ac27c9..b0afa0cb19 100644 --- a/packages/nuxt/test/treeshake-client.test.ts +++ b/packages/nuxt/test/treeshake-client.test.ts @@ -27,7 +27,7 @@ function vuePlugin (options: Options) { const WithClientOnly = normalizeLineEndings(readFileSync(path.resolve(fixtureDir, './components/client/WithClientOnlySetup.vue')).toString()) -const treeshakeTemplatePlugin = TreeShakeTemplatePlugin.raw({ +const treeshakeTemplatePlugin = TreeShakeTemplatePlugin({ sourcemap: false, getComponents () { return [{ @@ -52,7 +52,7 @@ const treeshakeTemplatePlugin = TreeShakeTemplatePlugin.raw({ mode: 'client', }] }, -}, { framework: 'rollup' }) as Plugin +}).raw({}, { framework: 'rollup' }) as Plugin const treeshake = async (source: string): Promise => { // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type diff --git a/packages/nuxt/test/unctx-transform.test.ts b/packages/nuxt/test/unctx-transform.test.ts index df7c76ec96..42dff085dc 100644 --- a/packages/nuxt/test/unctx-transform.test.ts +++ b/packages/nuxt/test/unctx-transform.test.ts @@ -62,6 +62,6 @@ function transform (code: string, id = 'app.vue') { definePageMeta: ['middleware', 'validate'], }, } - const plugin = UnctxTransformPlugin.raw({ sourcemap: false, transformerOptions }, {} as any) as any + const plugin = UnctxTransformPlugin({ sourcemap: false, transformerOptions }).raw({}, {} as any) as any return plugin.transformInclude(id) ? Promise.resolve(plugin.transform(code)).then((r: any) => r?.code.replace(/^ {6}/gm, '').trim()) : null } diff --git a/packages/schema/package.json b/packages/schema/package.json index 0dc797c04e..2948affc33 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -42,20 +42,20 @@ "@unhead/schema": "1.11.7", "@vitejs/plugin-vue": "5.1.4", "@vitejs/plugin-vue-jsx": "4.0.1", - "@vue/compiler-core": "3.5.10", - "@vue/compiler-sfc": "3.5.10", + "@vue/compiler-core": "3.5.11", + "@vue/compiler-sfc": "3.5.11", "@vue/language-core": "2.1.6", "c12": "2.0.1", "esbuild-loader": "4.2.2", "h3": "1.12.0", "ignore": "6.0.2", "nitropack": "2.9.7", - "ofetch": "1.4.0", + "ofetch": "1.4.1", "unbuild": "latest", "unctx": "2.3.1", "unenv": "1.10.0", "vite": "5.4.8", - "vue": "3.5.10", + "vue": "3.5.11", "vue-bundle-renderer": "2.1.1", "vue-loader": "17.4.2", "vue-router": "4.4.5", @@ -68,7 +68,7 @@ "defu": "^6.1.4", "hookable": "^5.5.3", "pathe": "^1.1.2", - "pkg-types": "^1.2.0", + "pkg-types": "^1.2.1", "scule": "^1.3.0", "std-env": "^3.7.0", "ufo": "^1.5.4", diff --git a/packages/schema/src/index.ts b/packages/schema/src/index.ts index a2ab040783..6b74fbc1e0 100644 --- a/packages/schema/src/index.ts +++ b/packages/schema/src/index.ts @@ -6,7 +6,7 @@ export type { GenerateAppOptions, HookResult, ImportPresetWithDeprecation, NuxtA export type { ImportsOptions } from './types/imports' export type { AppHeadMetaObject, MetaObject, MetaObjectRaw, HeadAugmentations } from './types/head' export type { ModuleDefinition, ModuleMeta, ModuleOptions, ModuleSetupReturn, ModuleSetupInstallResult, NuxtModule, ResolvedModuleOptions } from './types/module' -export type { Nuxt, NuxtApp, NuxtPlugin, NuxtPluginTemplate, NuxtTemplate, NuxtTypeTemplate, ResolvedNuxtTemplate } from './types/nuxt' +export type { Nuxt, NuxtApp, NuxtPlugin, NuxtPluginTemplate, NuxtTemplate, NuxtTypeTemplate, NuxtServerTemplate, ResolvedNuxtTemplate } from './types/nuxt' export type { RouterConfig, RouterConfigSerializable, RouterOptions } from './types/router' // Schema diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index 41130835a6..ab9d1a2eeb 100644 --- a/packages/schema/src/types/nuxt.ts +++ b/packages/schema/src/types/nuxt.ts @@ -42,6 +42,12 @@ export interface NuxtTemplate { write?: boolean } +export interface NuxtServerTemplate { + /** The target filename once the template is copied into the Nuxt buildDir */ + filename: string + getContents: () => string | Promise +} + export interface ResolvedNuxtTemplate extends NuxtTemplate { filename: string dst: string diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 6463c30042..3821e0d5de 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -19,11 +19,11 @@ }, "devDependencies": { "@types/lodash-es": "4.17.12", - "@unocss/reset": "0.63.2", + "@unocss/reset": "0.63.4", "critters": "0.0.24", - "html-validate": "8.24.0", + "html-validate": "8.24.1", "htmlnano": "2.1.1", - "jiti": "2.3.1", + "jiti": "2.3.3", "knitwork": "1.1.0", "lodash-es": "4.17.21", "pathe": "1.1.2", @@ -31,7 +31,7 @@ "scule": "1.3.0", "tinyexec": "0.3.0", "tinyglobby": "0.2.9", - "unocss": "0.63.2", + "unocss": "0.63.4", "vite": "5.4.8" } } diff --git a/packages/vite/package.json b/packages/vite/package.json index 45051846a4..63cb27c6c8 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -29,7 +29,7 @@ "@types/estree": "1.0.6", "rollup": "4.24.0", "unbuild": "latest", - "vue": "3.5.10" + "vue": "3.5.11" }, "dependencies": { "@nuxt/kit": "workspace:*", @@ -47,14 +47,14 @@ "externality": "^1.0.2", "get-port-please": "^3.1.2", "h3": "^1.12.0", - "jiti": "^2.3.1", + "jiti": "^2.3.3", "knitwork": "^1.1.0", "magic-string": "^0.30.11", - "mlly": "^1.7.1", + "mlly": "^1.7.2", "ohash": "^1.1.4", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", - "pkg-types": "^1.2.0", + "pkg-types": "^1.2.1", "postcss": "^8.4.47", "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", diff --git a/packages/webpack/package.json b/packages/webpack/package.json index e96449ccda..c3ff7f25f4 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -39,12 +39,12 @@ "fork-ts-checker-webpack-plugin": "^9.0.2", "h3": "^1.12.0", "hash-sum": "^2.0.0", - "jiti": "^2.3.1", + "jiti": "^2.3.3", "lodash-es": "4.17.21", "magic-string": "^0.30.11", - "memfs": "^4.12.0", + "memfs": "^4.13.0", "mini-css-extract-plugin": "^2.9.1", - "mlly": "^1.7.1", + "mlly": "^1.7.2", "ohash": "^1.1.4", "pathe": "^1.1.2", "pify": "^6.1.0", @@ -76,7 +76,7 @@ "@types/webpack-bundle-analyzer": "4.7.0", "@types/webpack-hot-middleware": "2.25.9", "unbuild": "latest", - "vue": "3.5.10" + "vue": "3.5.11" }, "peerDependencies": { "vue": "^3.3.4" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 11ca8f7eea..590ebe0379 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,49 +10,49 @@ overrides: '@nuxt/ui-templates': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - '@types/node': 20.16.10 - '@vue/compiler-core': 3.5.10 - '@vue/compiler-dom': 3.5.10 - '@vue/shared': 3.5.10 + '@types/node': 20.16.11 + '@vue/compiler-core': 3.5.11 + '@vue/compiler-dom': 3.5.11 + '@vue/shared': 3.5.11 magic-string: ^0.30.11 nuxt: workspace:* ohash: 1.1.4 postcss: 8.4.47 rollup: 4.24.0 send: '>=0.19.0' - typescript: 5.6.2 + typescript: 5.6.3 ufo: 1.5.4 vite: 5.4.8 - vue: 3.5.10 + vue: 3.5.11 importers: .: devDependencies: '@eslint/js': - specifier: 9.11.1 - version: 9.11.1 + specifier: 9.12.0 + version: 9.12.0 '@nuxt/eslint-config': specifier: 0.5.7 - version: 0.5.7(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) + version: 0.5.7(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) '@nuxt/kit': specifier: workspace:* version: link:packages/kit '@nuxt/test-utils': - specifier: 3.14.2 - version: 3.14.2(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.47.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3) + specifier: 3.14.3 + version: 3.14.3(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3) '@nuxt/webpack-builder': specifier: workspace:* version: link:packages/webpack '@testing-library/vue': specifier: 8.1.0 - version: 8.1.0(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2)) + version: 8.1.0(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3)) '@types/eslint__js': specifier: 8.42.3 version: 8.42.3 '@types/node': - specifier: 20.16.10 - version: 20.16.10 + specifier: 20.16.11 + version: 20.16.11 '@types/semver': specifier: 7.5.8 version: 7.5.8 @@ -61,13 +61,13 @@ importers: version: 1.11.7 '@unhead/vue': specifier: 1.11.7 - version: 1.11.7(vue@3.5.10(typescript@5.6.2)) + version: 1.11.7(vue@3.5.11(typescript@5.6.3)) '@vitejs/plugin-vue': specifier: 5.1.4 - version: 5.1.4(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2)) + version: 5.1.4(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3)) '@vitest/coverage-v8': specifier: 2.1.2 - version: 2.1.2(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0)) + version: 2.1.2(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0)) '@vue/test-utils': specifier: 2.4.6 version: 2.4.6 @@ -93,17 +93,17 @@ importers: specifier: 5.1.1 version: 5.1.1 eslint: - specifier: 9.11.1 - version: 9.11.1(jiti@2.3.1) + specifier: 9.12.0 + version: 9.12.0(jiti@2.3.3) eslint-plugin-no-only-tests: specifier: 3.3.0 version: 3.3.0 eslint-plugin-perfectionist: specifier: 3.8.0 - version: 3.8.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.11.1(jiti@2.3.1))) + version: 3.8.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.12.0(jiti@2.3.3))) eslint-typegen: specifier: 0.3.2 - version: 0.3.2(eslint@9.11.1(jiti@2.3.1)) + version: 0.3.2(eslint@9.12.0(jiti@2.3.3)) h3: specifier: 1.12.0 version: 1.12.0 @@ -111,8 +111,8 @@ importers: specifier: 15.7.4 version: 15.7.4 jiti: - specifier: 2.3.1 - version: 2.3.1 + specifier: 2.3.3 + version: 2.3.3 markdownlint-cli: specifier: 0.42.0 version: 0.42.0 @@ -129,14 +129,14 @@ importers: specifier: 0.1.1 version: 0.1.1(@nuxtjs/mdc@0.8.3(webpack-sources@3.2.3)) ofetch: - specifier: 1.4.0 - version: 1.4.0 + specifier: 1.4.1 + version: 1.4.1 pathe: specifier: 1.1.2 version: 1.1.2 playwright-core: - specifier: 1.47.2 - version: 1.47.2 + specifier: 1.48.0 + version: 1.48.0 rimraf: specifier: 6.0.1 version: 6.0.1 @@ -156,26 +156,26 @@ importers: specifier: 0.2.9 version: 0.2.9 typescript: - specifier: 5.6.2 - version: 5.6.2 + specifier: 5.6.3 + version: 5.6.3 ufo: specifier: 1.5.4 version: 1.5.4 vitest: specifier: 2.1.2 - version: 2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + version: 2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) vitest-environment-nuxt: specifier: 1.0.1 - version: 1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.47.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3) + version: 1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3) vue: - specifier: 3.5.10 - version: 3.5.10(typescript@5.6.2) + specifier: 3.5.11 + version: 3.5.11(typescript@5.6.3) vue-router: specifier: 4.4.5 - version: 4.4.5(vue@3.5.10(typescript@5.6.2)) + version: 4.4.5(vue@3.5.11(typescript@5.6.3)) vue-tsc: specifier: 2.1.6 - version: 2.1.6(typescript@5.6.2) + version: 2.1.6(typescript@5.6.3) packages/kit: dependencies: @@ -204,8 +204,8 @@ importers: specifier: ^6.0.2 version: 6.0.2 jiti: - specifier: ^2.3.1 - version: 2.3.1 + specifier: ^2.3.3 + version: 2.3.3 klona: specifier: ^2.0.6 version: 2.0.6 @@ -213,14 +213,14 @@ importers: specifier: ^1.1.0 version: 1.1.0 mlly: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.7.2 + version: 1.7.2 pathe: specifier: ^1.1.2 version: 1.1.2 pkg-types: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.2.1 + version: 1.2.1 scule: specifier: ^1.3.0 version: 1.3.0 @@ -257,13 +257,13 @@ importers: version: 2.9.7(magicast@0.3.5)(webpack-sources@3.2.3) unbuild: specifier: latest - version: 2.0.0(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) + version: 2.0.0(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3)) vite: specifier: 5.4.8 - version: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + version: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) vitest: specifier: 2.1.2 - version: 2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + version: 2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) webpack: specifier: 5.95.0 version: 5.95.0 @@ -275,7 +275,7 @@ importers: version: 2.0.2 '@nuxt/devtools': specifier: ^1.5.2 - version: 1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3) + version: 1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -289,8 +289,8 @@ importers: specifier: workspace:* version: link:../vite '@types/node': - specifier: 20.16.10 - version: 20.16.10 + specifier: 20.16.11 + version: 20.16.11 '@unhead/dom': specifier: ^1.11.7 version: 1.11.7 @@ -302,10 +302,10 @@ importers: version: 1.11.7 '@unhead/vue': specifier: ^1.11.7 - version: 1.11.7(vue@3.5.10(typescript@5.6.2)) + version: 1.11.7(vue@3.5.11(typescript@5.6.3)) '@vue/shared': - specifier: 3.5.10 - version: 3.5.10 + specifier: 3.5.11 + version: 3.5.11 acorn: specifier: 8.12.1 version: 8.12.1 @@ -313,8 +313,8 @@ importers: specifier: ^2.0.1 version: 2.0.1(magicast@0.3.5) chokidar: - specifier: ^3.6.0 - version: 3.6.0 + specifier: ^4.0.1 + version: 4.0.1 compatx: specifier: ^0.1.8 version: 0.1.8 @@ -361,8 +361,8 @@ importers: specifier: ^0.1.0 version: 0.1.0(rollup@4.24.0)(webpack-sources@3.2.3) jiti: - specifier: ^2.3.1 - version: 2.3.1 + specifier: ^2.3.3 + version: 2.3.3 klona: specifier: ^2.0.6 version: 2.0.6 @@ -373,8 +373,8 @@ importers: specifier: ^0.30.11 version: 0.30.11 mlly: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.7.2 + version: 1.7.2 nanotar: specifier: ^0.1.1 version: 0.1.1 @@ -388,8 +388,8 @@ importers: specifier: ^0.3.12 version: 0.3.12 ofetch: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.4.1 + version: 1.4.1 ohash: specifier: 1.1.4 version: 1.1.4 @@ -400,8 +400,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 pkg-types: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.2.1 + version: 1.2.1 radix3: specifier: ^1.1.2 version: 1.1.2 @@ -446,7 +446,7 @@ importers: version: 1.14.1(webpack-sources@3.2.3) unplugin-vue-router: specifier: ^0.10.8 - version: 0.10.8(rollup@4.24.0)(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3) + version: 0.10.8(rollup@4.24.0)(vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3) unstorage: specifier: ^1.12.0 version: 1.12.0(ioredis@5.4.1) @@ -454,8 +454,8 @@ importers: specifier: ^1.5.1 version: 1.5.1 vue: - specifier: 3.5.10 - version: 3.5.10(typescript@5.6.2) + specifier: 3.5.11 + version: 3.5.11(typescript@5.6.3) vue-bundle-renderer: specifier: ^2.1.1 version: 2.1.1 @@ -464,11 +464,11 @@ importers: version: 0.1.0 vue-router: specifier: ^4.4.5 - version: 4.4.5(vue@3.5.10(typescript@5.6.2)) + version: 4.4.5(vue@3.5.11(typescript@5.6.3)) devDependencies: '@nuxt/scripts': specifier: 0.9.4 - version: 0.9.4(@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(@vue/compiler-core@3.5.10)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.0)(typescript@5.6.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.95.0(esbuild@0.24.0)) + version: 0.9.4(@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(@vue/compiler-core@3.5.11)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.0)(typescript@5.6.3)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3)(webpack@5.95.0(esbuild@0.24.0)) '@nuxt/ui-templates': specifier: workspace:* version: link:../ui-templates @@ -480,19 +480,19 @@ importers: version: 1.0.6 '@vitejs/plugin-vue': specifier: 5.1.4 - version: 5.1.4(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2)) + version: 5.1.4(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3)) '@vue/compiler-sfc': - specifier: 3.5.10 - version: 3.5.10 + specifier: 3.5.11 + version: 3.5.11 unbuild: specifier: latest - version: 2.0.0(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) + version: 2.0.0(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3)) vite: specifier: 5.4.8 - version: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + version: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) vitest: specifier: 2.1.2 - version: 2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + version: 2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) packages/schema: dependencies: @@ -512,8 +512,8 @@ importers: specifier: ^1.1.2 version: 1.1.2 pkg-types: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.2.1 + version: 1.2.1 scule: specifier: ^1.3.0 version: 1.3.0 @@ -553,19 +553,19 @@ importers: version: 1.11.7 '@vitejs/plugin-vue': specifier: 5.1.4 - version: 5.1.4(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2)) + version: 5.1.4(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3)) '@vitejs/plugin-vue-jsx': specifier: 4.0.1 - version: 4.0.1(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2)) + version: 4.0.1(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3)) '@vue/compiler-core': - specifier: 3.5.10 - version: 3.5.10 + specifier: 3.5.11 + version: 3.5.11 '@vue/compiler-sfc': - specifier: 3.5.10 - version: 3.5.10 + specifier: 3.5.11 + version: 3.5.11 '@vue/language-core': specifier: 2.1.6 - version: 2.1.6(typescript@5.6.2) + version: 2.1.6(typescript@5.6.3) c12: specifier: 2.0.1 version: 2.0.1(magicast@0.3.5) @@ -582,11 +582,11 @@ importers: specifier: 2.9.7 version: 2.9.7(magicast@0.3.5)(webpack-sources@3.2.3) ofetch: - specifier: 1.4.0 - version: 1.4.0 + specifier: 1.4.1 + version: 1.4.1 unbuild: specifier: latest - version: 2.0.0(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) + version: 2.0.0(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3)) unctx: specifier: 2.3.1 version: 2.3.1(webpack-sources@3.2.3) @@ -595,19 +595,19 @@ importers: version: 1.10.0 vite: specifier: 5.4.8 - version: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + version: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) vue: - specifier: 3.5.10 - version: 3.5.10(typescript@5.6.2) + specifier: 3.5.11 + version: 3.5.11(typescript@5.6.3) vue-bundle-renderer: specifier: 2.1.1 version: 2.1.1 vue-loader: specifier: 17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2))(webpack@5.95.0) + version: 17.4.2(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3))(webpack@5.95.0) vue-router: specifier: 4.4.5 - version: 4.4.5(vue@3.5.10(typescript@5.6.2)) + version: 4.4.5(vue@3.5.11(typescript@5.6.3)) webpack: specifier: 5.95.0 version: 5.95.0 @@ -621,20 +621,20 @@ importers: specifier: 4.17.12 version: 4.17.12 '@unocss/reset': - specifier: 0.63.2 - version: 0.63.2 + specifier: 0.63.4 + version: 0.63.4 critters: specifier: 0.0.24 version: 0.0.24 html-validate: - specifier: 8.24.0 - version: 8.24.0(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0)) + specifier: 8.24.1 + version: 8.24.1(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0)) htmlnano: specifier: 2.1.1 - version: 2.1.1(cssnano@7.0.6(postcss@8.4.47))(postcss@8.4.47)(svgo@3.3.2)(terser@5.32.0)(typescript@5.6.2) + version: 2.1.1(cssnano@7.0.6(postcss@8.4.47))(postcss@8.4.47)(svgo@3.3.2)(terser@5.32.0)(typescript@5.6.3) jiti: - specifier: 2.3.1 - version: 2.3.1 + specifier: 2.3.3 + version: 2.3.3 knitwork: specifier: 1.1.0 version: 1.1.0 @@ -657,11 +657,11 @@ importers: specifier: 0.2.9 version: 0.2.9 unocss: - specifier: 0.63.2 - version: 0.63.2(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + specifier: 0.63.4 + version: 0.63.4(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) vite: specifier: 5.4.8 - version: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + version: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) packages/vite: dependencies: @@ -673,10 +673,10 @@ importers: version: 6.0.1(rollup@4.24.0) '@vitejs/plugin-vue': specifier: ^5.1.4 - version: 5.1.4(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2)) + version: 5.1.4(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3)) '@vitejs/plugin-vue-jsx': specifier: ^4.0.1 - version: 4.0.1(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2)) + version: 4.0.1(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3)) autoprefixer: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.47) @@ -711,8 +711,8 @@ importers: specifier: ^1.12.0 version: 1.12.0 jiti: - specifier: ^2.3.1 - version: 2.3.1 + specifier: ^2.3.3 + version: 2.3.3 knitwork: specifier: ^1.1.0 version: 1.1.0 @@ -720,8 +720,8 @@ importers: specifier: ^0.30.11 version: 0.30.11 mlly: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.7.2 + version: 1.7.2 ohash: specifier: 1.1.4 version: 1.1.4 @@ -732,8 +732,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 pkg-types: - specifier: ^1.2.0 - version: 1.2.0 + specifier: ^1.2.1 + version: 1.2.1 postcss: specifier: 8.4.47 version: 8.4.47 @@ -757,13 +757,13 @@ importers: version: 1.14.1(webpack-sources@3.2.3) vite: specifier: 5.4.8 - version: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + version: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) vite-node: specifier: ^2.1.2 - version: 2.1.2(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + version: 2.1.2(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) vite-plugin-checker: specifier: ^0.8.0 - version: 0.8.0(eslint@9.11.1(jiti@2.3.1))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue-tsc@2.1.6(typescript@5.6.2)) + version: 0.8.0(eslint@9.12.0(jiti@2.3.3))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue-tsc@2.1.6(typescript@5.6.3)) vue-bundle-renderer: specifier: ^2.1.1 version: 2.1.1 @@ -782,10 +782,10 @@ importers: version: 4.24.0 unbuild: specifier: latest - version: 2.0.0(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) + version: 2.0.0(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3)) vue: - specifier: 3.5.10 - version: 3.5.10(typescript@5.6.2) + specifier: 3.5.11 + version: 3.5.11(typescript@5.6.3) packages/webpack: dependencies: @@ -824,7 +824,7 @@ importers: version: 6.2.0(webpack@5.95.0) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.6.2)(webpack@5.95.0) + version: 9.0.2(typescript@5.6.3)(webpack@5.95.0) h3: specifier: ^1.12.0 version: 1.12.0 @@ -832,8 +832,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 jiti: - specifier: ^2.3.1 - version: 2.3.1 + specifier: ^2.3.3 + version: 2.3.3 lodash-es: specifier: 4.17.21 version: 4.17.21 @@ -841,14 +841,14 @@ importers: specifier: ^0.30.11 version: 0.30.11 memfs: - specifier: ^4.12.0 - version: 4.12.0 + specifier: ^4.13.0 + version: 4.13.0 mini-css-extract-plugin: specifier: ^2.9.1 version: 2.9.1(webpack@5.95.0) mlly: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.7.2 + version: 1.7.2 ohash: specifier: 1.1.4 version: 1.1.4 @@ -869,7 +869,7 @@ importers: version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.47)(typescript@5.6.2)(webpack@5.95.0) + version: 8.1.1(postcss@8.4.47)(typescript@5.6.3)(webpack@5.95.0) postcss-url: specifier: ^10.1.3 version: 10.1.3(postcss@8.4.47) @@ -899,7 +899,7 @@ importers: version: 2.1.1 vue-loader: specifier: ^17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2))(webpack@5.95.0) + version: 17.4.2(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3))(webpack@5.95.0) webpack: specifier: ^5.95.0 version: 5.95.0 @@ -936,10 +936,10 @@ importers: version: 2.25.9 unbuild: specifier: latest - version: 2.0.0(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) + version: 2.0.0(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3)) vue: - specifier: 3.5.10 - version: 3.5.10(typescript@5.6.2) + specifier: 3.5.11 + version: 3.5.11(typescript@5.6.3) playground: dependencies: @@ -969,8 +969,8 @@ importers: specifier: latest version: 1.14.1(webpack-sources@3.2.3) vue: - specifier: 3.5.10 - version: 3.5.10(typescript@5.6.2) + specifier: 3.5.11 + version: 3.5.11(typescript@5.6.3) test/fixtures/basic-types: dependencies: @@ -980,19 +980,19 @@ importers: devDependencies: ofetch: specifier: latest - version: 1.4.0 + version: 1.4.1 unplugin-vue-router: specifier: ^0.10.0 - version: 0.10.8(rollup@4.24.0)(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3) + version: 0.10.8(rollup@4.24.0)(vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3) vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + version: 1.6.0(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) vue: - specifier: 3.5.10 - version: 3.5.10(typescript@5.6.2) + specifier: 3.5.11 + version: 3.5.11(typescript@5.6.3) vue-router: specifier: latest - version: 4.4.5(vue@3.5.10(typescript@5.6.2)) + version: 4.4.5(vue@3.5.11(typescript@5.6.3)) test/fixtures/minimal: dependencies: @@ -1021,8 +1021,8 @@ importers: version: link:../../../packages/nuxt devDependencies: typescript: - specifier: 5.6.2 - version: 5.6.2 + specifier: 5.6.3 + version: 5.6.3 packages: @@ -1040,34 +1040,18 @@ packages: resolution: {integrity: sha512-pRrmXMCwnmrkS3MLgAIW5dXRzeTv6GLjkjb4HmxNnvAKXN1Nfzp4KmGADBQvlVUcqi+a5D+hfGDLLnd5NnYxog==} engines: {node: '>= 16'} - '@babel/code-frame@7.24.7': - resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.25.7': resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.4': - resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} - engines: {node: '>=6.9.0'} - '@babel/compat-data@7.25.7': resolution: {integrity: sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==} engines: {node: '>=6.9.0'} - '@babel/core@7.25.2': - resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} - engines: {node: '>=6.9.0'} - '@babel/core@7.25.7': resolution: {integrity: sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==} engines: {node: '>=6.9.0'} - '@babel/generator@7.25.6': - resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} - engines: {node: '>=6.9.0'} - '@babel/generator@7.25.7': resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} engines: {node: '>=6.9.0'} @@ -1076,10 +1060,6 @@ packages: resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.2': - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} - engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.7': resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} engines: {node: '>=6.9.0'} @@ -1094,20 +1074,10 @@ packages: resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.24.7': - resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} - engines: {node: '>=6.9.0'} - '@babel/helper-module-imports@7.25.7': resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==} engines: {node: '>=6.9.0'} - '@babel/helper-module-transforms@7.25.2': - resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - '@babel/helper-module-transforms@7.25.7': resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} engines: {node: '>=6.9.0'} @@ -1128,10 +1098,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} - engines: {node: '>=6.9.0'} - '@babel/helper-simple-access@7.25.7': resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} engines: {node: '>=6.9.0'} @@ -1140,51 +1106,26 @@ packages: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.24.8': - resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-string-parser@7.25.7': resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.25.7': resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.25.7': resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==} engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.6': - resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} - engines: {node: '>=6.9.0'} - '@babel/helpers@7.25.7': resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.24.7': - resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} - engines: {node: '>=6.9.0'} - '@babel/highlight@7.25.7': resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==} engines: {node: '>=6.9.0'} - '@babel/parser@7.25.6': - resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} - engines: {node: '>=6.0.0'} - hasBin: true - '@babel/parser@7.25.7': resolution: {integrity: sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==} engines: {node: '>=6.0.0'} @@ -1239,26 +1180,14 @@ packages: resolution: {integrity: sha512-7H+mK18Ew4C/pIIiZwF1eiVjUEh2Ju/BpwRZwcPeXltF/rIjHjFL0gol7PtGrHocmIq6P6ubJrylmmWQ3lGJPA==} engines: {node: '>=6.9.0'} - '@babel/template@7.25.0': - resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} - engines: {node: '>=6.9.0'} - '@babel/template@7.25.7': resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==} engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.6': - resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} - engines: {node: '>=6.9.0'} - '@babel/traverse@7.25.7': resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==} engines: {node: '>=6.9.0'} - '@babel/types@7.25.6': - resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} - engines: {node: '>=6.9.0'} - '@babel/types@7.25.7': resolution: {integrity: sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==} engines: {node: '>=6.9.0'} @@ -2006,8 +1935,8 @@ packages: resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.11.1': - resolution: {integrity: sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==} + '@eslint/js@9.12.0': + resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -2035,12 +1964,20 @@ packages: resolution: {integrity: sha512-Nl8HCv0hGRSLQ+n1OD4Hk3a+Urwk9HH0vQkAzzCarT4KlA7bRl+6xEiS5PZVwOmjtC7XiH/oNe3as9Fxcr2A1w==} engines: {node: '>= 16'} + '@humanfs/core@0.19.0': + resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.5': + resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==} + engines: {node: '>=18.18.0'} + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/retry@0.3.0': - resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} engines: {node: '>=18.18'} '@iconify-json/carbon@1.2.1': @@ -2207,8 +2144,8 @@ packages: resolution: {integrity: sha512-h4YJ1d32cU7tDKjjhjtIIEck4WF/w3DTQBT348E9Pz85YLttnLqktLM0Ez9Xc2LzCeUgBDQv1el7Ob/zT3KUqg==} hasBin: true - '@nuxt/test-utils@3.14.2': - resolution: {integrity: sha512-n5soEpHom9aL9sMwrBiD3xGR+oXbx+O8zL2NF9aelWOTSzPPNN+Qo3cBEECMc6NYQi1a4LbCKkPjQfbtPvaqkg==} + '@nuxt/test-utils@3.14.3': + resolution: {integrity: sha512-5SoyaR9bQG7xcyj6kSnzFVWvpAdiKSruRkq3KVDKEAbxwHhtyz2Ijqxf8iGE3W9dAM0F+omIvLmjen3ITgd3rA==} engines: {node: '>=18.20.4'} peerDependencies: '@cucumber/cucumber': ^10.3.1 || ^11.0.0 @@ -2224,7 +2161,7 @@ packages: playwright-core: ^1.43.1 vite: 5.4.8 vitest: ^0.34.6 || ^1.0.0 || ^2.0.0 - vue: 3.5.10 + vue: 3.5.11 vue-router: ^4.0.0 peerDependenciesMeta: '@cucumber/cucumber': @@ -2423,15 +2360,6 @@ packages: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} - '@rollup/pluginutils@5.1.0': - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: 4.24.0 - peerDependenciesMeta: - rollup: - optional: true - '@rollup/pluginutils@5.1.2': resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} engines: {node: '>=14.0.0'} @@ -2524,51 +2452,54 @@ packages: '@shikijs/core@1.17.0': resolution: {integrity: sha512-Mkk4Mp4bNnW1kytU8I7S5PK5teNSe0iKlfqxPss4sdwnlcU8a2N62Z3te2gVmZfU9t1HF6L3wyWuM43IvEeEsg==} - '@shikijs/core@1.18.0': - resolution: {integrity: sha512-VK4BNVCd2leY62Nm2JjyxtRLkyrZT/tv104O81eyaCjHq4Adceq2uJVFJJAIof6lT1mBwZrEo2qT/T+grv3MQQ==} - '@shikijs/core@1.20.0': resolution: {integrity: sha512-KlO3iE0THzSdYkzDFugt8SHe6FR3qNYTkmpbdW1d6xo8juQkMjybxAw/cBi2npL2eb2F4PbbnSs5Z9tDusfvyg==} + '@shikijs/core@1.22.0': + resolution: {integrity: sha512-S8sMe4q71TJAW+qG93s5VaiihujRK6rqDFqBnxqvga/3LvqHEnxqBIOPkt//IdXVtHkQWKu4nOQNk0uBGicU7Q==} + '@shikijs/engine-javascript@1.17.0': resolution: {integrity: sha512-EiBVlxmzJZdC2ypzn8k+vxLngbBNgHLS4RilwrFOABGRc72kUZubbD/6Chrq2RcVtD3yq1GtiiIdFMGd9BTX3Q==} - '@shikijs/engine-javascript@1.18.0': - resolution: {integrity: sha512-qoP/aO/ATNwYAUw1YMdaip/YVEstMZEgrwhePm83Ll9OeQPuxDZd48szZR8oSQNQBT8m8UlWxZv8EA3lFuyI5A==} - '@shikijs/engine-javascript@1.20.0': resolution: {integrity: sha512-ZUMo758uduM0Tfgzi/kd+0IKMbNdumCxxWjY36uf1DIs2Qyg9HIq3vA1Wfa/vc6HE7tHWFpANRi3mv7UzJ68MQ==} + '@shikijs/engine-javascript@1.22.0': + resolution: {integrity: sha512-AeEtF4Gcck2dwBqCFUKYfsCq0s+eEbCEbkUuFou53NZ0sTGnJnJ/05KHQFZxpii5HMXbocV9URYVowOP2wH5kw==} + '@shikijs/engine-oniguruma@1.17.0': resolution: {integrity: sha512-nsXzJGLQ0fhKmA4Gwt1cF7vC8VuZ1HSDrTRuj48h/qDeX/TzmOlTDXQ3uPtyuhyg/2rbZRzNhN8UFU4fSnQfXg==} - '@shikijs/engine-oniguruma@1.18.0': - resolution: {integrity: sha512-B9u0ZKI/cud+TcmF8Chyh+R4V5qQVvyDOqXC2l2a4x73PBSBc6sZ0JRAX3eqyJswqir6ktwApUUGBYePdKnMJg==} - '@shikijs/engine-oniguruma@1.20.0': resolution: {integrity: sha512-MQ40WkVTZk7by33ces4PGK6XNFSo6PYvKTSAr2kTWdRNhFmOcnaX+1XzvFwB26eySXR7U74t91czZ1qJkEgxTA==} + '@shikijs/engine-oniguruma@1.22.0': + resolution: {integrity: sha512-5iBVjhu/DYs1HB0BKsRRFipRrD7rqjxlWTj4F2Pf+nQSPqc3kcyqFFeZXnBMzDf0HdqaFVvhDRAGiYNvyLP+Mw==} + '@shikijs/transformers@1.17.0': resolution: {integrity: sha512-C/s6z0knkWBVRG6cmklTUn+70URKVE8qlQuFg6Bi/9iqpX68NZloZhxCtVHeTd56pit15hivTlgSAY+SP7C8hA==} - '@shikijs/twoslash@1.18.0': - resolution: {integrity: sha512-nbv1vEiNlM9GbXpN0++5QiT2NdUbAJ6y8yBuMWIiT04dxD3tdl7Ud3TL6hAZ6CAwMGn5hRaN+2va2oN1Rsy1Ww==} + '@shikijs/twoslash@1.22.0': + resolution: {integrity: sha512-r5F/x4GTh18XzhAREehgT9lCDFZlISBSIsOFZQQaqjiOLG81PIqJN1I1D6XY58UN9OJt+3mffuKq19K4FOJKJA==} '@shikijs/types@1.17.0': resolution: {integrity: sha512-Tvu2pA69lbpXB+MmgIaROP1tio8y0uYvKb5Foh3q0TJBTAJuaoa5eDEtS/0LquyveacsiVrYF4uEZILju+7Ybg==} - '@shikijs/types@1.18.0': - resolution: {integrity: sha512-O9N36UEaGGrxv1yUrN2nye7gDLG5Uq0/c1LyfmxsvzNPqlHzWo9DI0A4+fhW2y3bGKuQu/fwS7EPdKJJCowcVA==} - '@shikijs/types@1.20.0': resolution: {integrity: sha512-y+EaDvU2K6/GaXOKXxJaGnr1XtmZMF7MfS0pSEDdxEq66gCtKsLwQvVwoQFdp7R7dLlNAro3ijEE19sMZ0pzqg==} + '@shikijs/types@1.22.0': + resolution: {integrity: sha512-Fw/Nr7FGFhlQqHfxzZY8Cwtwk5E9nKDUgeLjZgt3UuhcM3yJR9xj3ZGNravZZok8XmEZMiYkSMTPlPkULB8nww==} + '@shikijs/vitepress-twoslash@1.17.0': resolution: {integrity: sha512-FcdZUtF1jL51fZfkITd1qEnmnVe/w8lnOGhEWptMqMNvMYzB8vxDv5y+E1zvE+rw0NbBuWtOmZea3WOah1nr6g==} '@shikijs/vscode-textmate@9.2.2': resolution: {integrity: sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==} + '@shikijs/vscode-textmate@9.3.0': + resolution: {integrity: sha512-jn7/7ky30idSkd/O5yDBfAnVt+JJpepofP/POZ1iMOxK59cOfqIgg/Dj0eFsjOTMw+4ycJN0uhZH/Eb0bs/EUA==} + '@sidvind/better-ajv-errors@3.0.1': resolution: {integrity: sha512-++1mEYIeozfnwWI9P1ECvOPoacy+CgDASrmGvXPMCcqgx0YUzB01vZ78uHdQ443V6sTY+e9MzHqmN9DOls02aw==} engines: {node: '>= 16.14'} @@ -2601,7 +2532,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@vue/compiler-sfc': '>= 3' - vue: 3.5.10 + vue: 3.5.11 peerDependenciesMeta: '@vue/compiler-sfc': optional: true @@ -2673,8 +2604,8 @@ packages: '@types/node-sass@4.11.7': resolution: {integrity: sha512-QY0sXZGPRzJ2obo66f9zB6S0Uo9PRdcoPKPbyftSoKXub90s4ut/JK3fYHOqmhYhRRVEB3P5o5rEnq2/bWBdeg==} - '@types/node@20.16.10': - resolution: {integrity: sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==} + '@types/node@20.16.11': + resolution: {integrity: sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2764,10 +2695,6 @@ packages: resolution: {integrity: sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.7.0': - resolution: {integrity: sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.8.0': resolution: {integrity: sha512-EL8eaGC6gx3jDd8GwEFEV091210U97J0jeEHrAYvIYosmEGet4wJ+g0SYmLu+oRiAwbSA5AVrt6DxLHfdd+bUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2785,10 +2712,6 @@ packages: resolution: {integrity: sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.7.0': - resolution: {integrity: sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.8.0': resolution: {integrity: sha512-QJwc50hRCgBd/k12sTykOJbESe1RrzmX6COk8Y525C9l7oweZ+1lw9JiU56im7Amm8swlz00DRIlxMYLizr2Vw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2802,15 +2725,6 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.7.0': - resolution: {integrity: sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/typescript-estree@8.8.0': resolution: {integrity: sha512-ZaMJwc/0ckLz5DaAZ+pNLmHv8AMVGtfWxZe/x2JVEkD5LnmhWiQMMcYT7IY7gkdJuzJ9P14fRy28lUrlDSWYdw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2826,12 +2740,6 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/utils@8.7.0': - resolution: {integrity: sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/utils@8.8.0': resolution: {integrity: sha512-QE2MgfOTem00qrlPgyByaCHay9yb1+9BjnMFnSFkUKQfu7adBXDTnCAivURnuPPAG/qiB+kzKkZKmKfaMT0zVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2842,10 +2750,6 @@ packages: resolution: {integrity: sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.7.0': - resolution: {integrity: sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.8.0': resolution: {integrity: sha512-8mq51Lx6Hpmd7HnA2fcHQo3YgfX1qbccxQOgZcb4tvasu//zXRaA1j5ZRFeCw/VRAdFi4mRM9DnZw0Nu0Q2d1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2853,7 +2757,7 @@ packages: '@typescript/vfs@1.6.0': resolution: {integrity: sha512-hvJUjNVeBMp77qPINuUvYXj4FyWeeMMKZkxEATEU3hqBAQ7qdTBCUFT7Sp0Zu0faeEtFf+ldXxMEDr/bk73ISg==} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -2882,12 +2786,12 @@ packages: '@unhead/vue@1.11.6': resolution: {integrity: sha512-CMuDJGTi4n4wKdOp6/JmB9roGshjTdoFKF34PEkXu4+g97BiVFiZ9LvgY44+UlWCUzQHcqEPRQIzm9iKEqcfKw==} peerDependencies: - vue: 3.5.10 + vue: 3.5.11 '@unhead/vue@1.11.7': resolution: {integrity: sha512-SLr0eQfznVp63iKi47L4s5Yz+oiQjDA82VBP4jlXi7dM9fSIn1ul1aKvBqle/ZxI2cqY8zVGz60EjhjWeu754A==} peerDependencies: - vue: 3.5.10 + vue: 3.5.11 '@unocss/astro@0.62.4': resolution: {integrity: sha512-98KfkbrNhBLx2+uYxMiGsldIeIZ6/PbL4yaGRHeHoiHd7p4HmIyCF+auYe4Psntx3Yr8kU+XSIAhGDYebvTidQ==} @@ -2897,8 +2801,8 @@ packages: vite: optional: true - '@unocss/astro@0.63.2': - resolution: {integrity: sha512-paK2+DSTF4+uM/R/DrOspYeuNSoIHLGSJf7OeA/kbs+wSRT13MNoreT3Yp2qa7Ia67YylMZ50+gA0ED8NHEALQ==} + '@unocss/astro@0.63.4': + resolution: {integrity: sha512-qu1uMDUT8lXU3mm5EjZpnizvjSYtfY0TTDivR5QNm1i3Xd+ErHfdfOpXdJ2mYvxv+X7C570//KUugkTI3Mb3kQ==} peerDependencies: vite: 5.4.8 peerDependenciesMeta: @@ -2910,8 +2814,8 @@ packages: engines: {node: '>=14'} hasBin: true - '@unocss/cli@0.63.2': - resolution: {integrity: sha512-t8YHUAHAf7En6QjO7bTJUQGZqAAXbqTkrYJOX4kJbfU9l3zQZkFFq7rdZhSybrGfbmhFMf5n8zdkxoBfkGk57g==} + '@unocss/cli@0.63.4': + resolution: {integrity: sha512-kBWEiVW7KWfjptAJsk38w9dVqOmrO2/z0WADFnlX2RuKNDoCn422Rus6tFB12wZsEujC9eFM34P2nnU7IWWtlQ==} engines: {node: '>=14'} hasBin: true @@ -2919,27 +2823,27 @@ packages: resolution: {integrity: sha512-XKudKxxW8P44JvlIdS6HBpfE3qZA9rhbemy6/sb8HyZjKYjgeM9jx5yjk+9+4hXNma/KlwDXwjAqY29z0S0SrA==} engines: {node: '>=14'} - '@unocss/config@0.63.2': - resolution: {integrity: sha512-2Z7AIWT21jv5FX9WuC5pQcAMGLEC6bTnbF1wESJR+kcyBrmrnLxsbu56JMxhPSK2DB3vK5lOrEu2HxTcYsdOcQ==} + '@unocss/config@0.63.4': + resolution: {integrity: sha512-LfAzM8z0r2comUW94KaSo4JaaEZjPkvrfyVWfO/hyaXa+/xSVIkCTW7+lfWh77hrg1e2SUY1HEvIFBg9Jvb1xQ==} engines: {node: '>=14'} '@unocss/core@0.62.4': resolution: {integrity: sha512-Cc+Vo6XlaQpyVejkJrrzzWtiK9pgMWzVVBpm9VCVtwZPUjD4GSc+g7VQCPXSsr7m03tmSuRySJx72QcASmauNQ==} - '@unocss/core@0.63.2': - resolution: {integrity: sha512-S262ISnTkr6LSyNPXCWBZhHF49lD2snSHUJLXmmATnb2JpCRu/mMUvxJmsk9dPlsH3Ioa35Lw9sMiDWAZ9L5Gw==} + '@unocss/core@0.63.4': + resolution: {integrity: sha512-VB4DJ5DsRWpX64si5tWYRXf1n5UkYQqe2s1V22qFiWmXa7Ec+Vf9s3cxWZmoWFC5P9RQiwM9kAqxdg1G+elVkQ==} '@unocss/extractor-arbitrary-variants@0.62.4': resolution: {integrity: sha512-e4hJfBMyFr6T6dYSTTjNv9CQwaU1CVEKxDlYP0GpfSgxsV58pguID9j1mt0/XZD6LvEDzwxj9RTRWKpUSWqp+Q==} - '@unocss/extractor-arbitrary-variants@0.63.2': - resolution: {integrity: sha512-uNf3oe42OA5YGhkDoYv5UewGY5RIbW/7ctynIeWEYKTshzsRrRiDc4rYWSriU4yBSRzKVvyxdNN61s9Jz1huZw==} + '@unocss/extractor-arbitrary-variants@0.63.4': + resolution: {integrity: sha512-gI/+2Nv+cH/ZoOc/4X7RLD9CuBXH51jfwGJ1xRveS7tj+EBs8VshP7Vhbn6Jyp69E00wt4hyzjviDoGqcIA8bA==} '@unocss/inspector@0.62.4': resolution: {integrity: sha512-bRcnI99gZecNzrUr6kDMdwGHkhUuTPyvvadRdaOxHc9Ow3ANNyqymeFM1q5anZEUZt8h15TYN0mdyQyIWkU3zg==} - '@unocss/inspector@0.63.2': - resolution: {integrity: sha512-IVKbZmqg6fZIUz5OnA7l4BR8b81oiknOPWn4CPxZUZb9ZwOWznKnLxUJSv+NtPRn1YsaL14AOxDLOouSduzCmA==} + '@unocss/inspector@0.63.4': + resolution: {integrity: sha512-NHvOTScsMrh6oMmwGMrqB1q1RCFTHZCIK0Vwp8hL8/gmNlza2Kd2cQ/WYSEsjW132xeLCOqTME5qny1gpG6SpA==} '@unocss/nuxt@0.62.4': resolution: {integrity: sha512-ZNfXu/f2kIRc8rnstToR/s2ubcvWDaCPmV5jXL+SQytSPb1ONCkK7ITNgB2TtrTEqQyhNX33VlnHNF8KsM8PNA==} @@ -2950,8 +2854,8 @@ packages: peerDependencies: postcss: 8.4.47 - '@unocss/postcss@0.63.2': - resolution: {integrity: sha512-CnIgooarFM3AKODXnUg+T9uqwxLsyD3R2eHEuCX/lik0mbY14Cd3V25dOJc42AYdvmungfPNBe7dDjaC3frQ+Q==} + '@unocss/postcss@0.63.4': + resolution: {integrity: sha512-JnSAV1hAZumkm0KZGXYqWsP2I7wnOdr+oeDckHKLdZR2mHNVbDm46H8XGbie55t/gPftaLSsMbaPvRjU2Fclqg==} engines: {node: '>=14'} peerDependencies: postcss: 8.4.47 @@ -2959,96 +2863,96 @@ packages: '@unocss/preset-attributify@0.62.4': resolution: {integrity: sha512-ei5nNT58GON9iyCGRRiIrphzyQbBIZ9iEqSBhIY0flcfi1uAPUXV32aO2slqJnWWAIwbRSb1GMpwYR8mmfuz8g==} - '@unocss/preset-attributify@0.63.2': - resolution: {integrity: sha512-TyDtwO4Ctn2pc0n+6U0GoXPi8r0VyVSY7xUTq+Rio6LSQn3yTrvPYwzxux83NJjVlpzZweC4Imj1wqFbq9ob/g==} + '@unocss/preset-attributify@0.63.4': + resolution: {integrity: sha512-Q2DT4oVdxaL7XxD9sDP3adb5tnYr05sCxCxPhv3ch8brU7uvwbyqkiEw105pWbj0Hb3i/0kD4iq7lVMZYRH5nw==} '@unocss/preset-icons@0.62.4': resolution: {integrity: sha512-n9m2nRTxyiw0sqOwSioO3rro0kaPW0JJzWlzcfdwQ+ZORNR5WyJL298fLXYUFbZG3EOF+zSPg6CMDWudKk/tlA==} - '@unocss/preset-icons@0.63.2': - resolution: {integrity: sha512-PqIkIPPBJ+5RuWS6boE6g23Jj8QtbyzjluiqaowFug/q7LgVgn6NV012CxAxEGNFkW8tYO9xmw7iR/hCVMQYQQ==} + '@unocss/preset-icons@0.63.4': + resolution: {integrity: sha512-V7JV2xvEGeNVjP6HT4IG/BY/HgajJt9CLT2sgKbaVCU9hNOuBs1YTOxua0KLynbTYwr5F5cDMuE/9slQYinZmg==} '@unocss/preset-mini@0.62.4': resolution: {integrity: sha512-1O+QpQFx7FT61aheAZEYemW5e4AGib8TFGm+rWLudKq2IBNnXHcS5xsq5QvqdC7rp9Dn3lnW5du6ijow5kCBuw==} - '@unocss/preset-mini@0.63.2': - resolution: {integrity: sha512-LURtaEBbKhU6sbcRZzClnFSsBXG9x9qNWEokduYv6M2TGwSA6YQXICDIaEfFhwmiRtlQavSXjWgI2IWTQvAaXQ==} + '@unocss/preset-mini@0.63.4': + resolution: {integrity: sha512-sim1/uy/XaVzdnMdepXdbdacXF5QNkPDnl4PYBWTyGuT5yKFpuipWpJDS5zZH5W6PYzKdcDA3YiaJ0S5CiUWpQ==} '@unocss/preset-tagify@0.62.4': resolution: {integrity: sha512-8b2Kcsvt93xu1JqDqcD3QvvW0L5rqvH7ev3BlNEVx6n8ayBqfB5HEd4ILKr7wSC90re+EnCgnMm7EP2FiQAJkw==} - '@unocss/preset-tagify@0.63.2': - resolution: {integrity: sha512-9k0iw4n9xT/UV5qSCqg6Qw3n/0iV++UItNtR/rYC2P7iWBpr1GFlnHOaSnVct3+KJdLRQ8S0aqBsDy00aPrNdQ==} + '@unocss/preset-tagify@0.63.4': + resolution: {integrity: sha512-RQkeSCKrGAowomjh8/chlnVWWOFlC+QkHB1oY5isRXNO2HStESZljyL/MisRpgjj0ubPiocoFCI2hRzXT/HrSg==} '@unocss/preset-typography@0.62.4': resolution: {integrity: sha512-ZVh+NbcibMmD6ve8Deub/G+XAFcGPuzE2Fx/tMAfWfYlfyOAtrMxuL+AARMthpRxdE0JOtggXNTrJb0ZhGYl9g==} - '@unocss/preset-typography@0.63.2': - resolution: {integrity: sha512-quDQSR2McLIeuyjHGCtzzjo62fXFy3FP/w73S0i1N0Myr750lHm4uaR1eWLemmSquqQO+NMJ7eHM4Tk2diNDHg==} + '@unocss/preset-typography@0.63.4': + resolution: {integrity: sha512-PtRXDqF8dW1GYDxiF1Opl+M5fhZeKx63bhvtXXf3iHjVzPDSHB6w1kTElh6vIWeLDNM9GZbbJyB5f2C8DBjibw==} '@unocss/preset-uno@0.62.4': resolution: {integrity: sha512-2S6+molIz8dH/al0nfkU7i/pMS0oERPr4k9iW80Byt4cKDIhh/0jhZrC83kgZRtCf5hclSBO4oCoMTi1JF7SBw==} - '@unocss/preset-uno@0.63.2': - resolution: {integrity: sha512-W5dbM/i4fPIJ/0jKCPtGE8TF2fFHsxmp6aUOCjhZuDt1EiKCRIoPJOnstzqYGZug/Hbnhho4vRGk4jNQTAJsaQ==} + '@unocss/preset-uno@0.63.4': + resolution: {integrity: sha512-VMc2R0XRMjXA5u5HnP0SkiWtc8EnEJvipNPKsWBuyyVb0QrsIXtF5z3l3cuZmD6V7m/o9s81yshL0gFOBpF7iQ==} '@unocss/preset-web-fonts@0.62.4': resolution: {integrity: sha512-kaxgYBVyMdBlErseN8kWLiaS2N5OMlwg5ktAxUlei275fMoY7inQjOwppnjDVveJbN9SP6TcqqFpBIPfUayPkQ==} - '@unocss/preset-web-fonts@0.63.2': - resolution: {integrity: sha512-eDLp6WVEcUzoWijd4edheWpSo553pN8U0W2wcm43Vz4j3v55tnTtShNLzL4A1DoFVub+j/iL/h8RPozBoO7SUg==} + '@unocss/preset-web-fonts@0.63.4': + resolution: {integrity: sha512-XuU4dNwTQ0ULlYpQFSKk2JRYACTzpIzpPGP5ZnqdwBxEQH5JhXx4mEmaOhu1OH3c2hZURAkdQvBzYWia4oZ6og==} '@unocss/preset-wind@0.62.4': resolution: {integrity: sha512-YOzfQ11AmAnl1ZkcWLMMxCdezLjRKavLNk38LumUMtcdsa0DAy+1JjTp+KEvVQAnD+Et/ld5X+YcBWJkVy5WFQ==} - '@unocss/preset-wind@0.63.2': - resolution: {integrity: sha512-Eb2arGDqqvilox5Xsg7SGWXMzwAMP6YrlbH6hpaPmicPT/2Q+anxeeYSztxQLLRKCsphPgZfkzg/+5/lbdXxog==} + '@unocss/preset-wind@0.63.4': + resolution: {integrity: sha512-8fTUp6ZxH9YiScz4nZ1tRqprayrlQSfguzkjxDvOrwazfNcmxvHSZfC9dtpEmY+QssM1zHH0mmWmWgQYwU9Zdw==} '@unocss/reset@0.62.4': resolution: {integrity: sha512-CtxjeDgN39fY/eZDLIXN4wy7C8W7+SD+41AlzGVU5JwhcXmnb1XoDpOd2lzMxc/Yy3F5dIJt2+MRDj9RnpX9Ew==} - '@unocss/reset@0.63.2': - resolution: {integrity: sha512-qKA1pp+FLV8vnnNPDh60yq63HsehkJtX8gbZwk4X5mYm8FvZJsgTtSnSkoLEqO9855JIhXvLxjGs4a7LBiEhLA==} + '@unocss/reset@0.63.4': + resolution: {integrity: sha512-7lnVH9zuVMekY0IUtcQRrbEqlkhvyGixgzHSWPBF/JA/Pto18bhd+cMeZhuz4eHRbN274bANX+//I+Ilfo7SSg==} '@unocss/rule-utils@0.62.4': resolution: {integrity: sha512-XUwLbLUzL+VSHCJNK5QBHC9RbFehumge1/XJmsRfmh0+oxgJoO1gvEvxi57gYEmdJdMRJHRJZ66se6+cB0Ymvw==} engines: {node: '>=14'} - '@unocss/rule-utils@0.63.2': - resolution: {integrity: sha512-PeW1wVGG/tJSW9GpxbjyGNQvV2UDDMu/FU5ohkYz9CeGcHOGHw8gdlnH+9IT1hbQ6koVKNavhvKEQkXH1++FBg==} + '@unocss/rule-utils@0.63.4': + resolution: {integrity: sha512-7yRWF881ymxnMcCJSiI/1kMI8uwRqRi3l5XnV+JSGjjF2fDr1POUQjSLaA4s7ZfdEgmjagdLK3F5xqkfMMECNA==} engines: {node: '>=14'} '@unocss/transformer-attributify-jsx@0.62.4': resolution: {integrity: sha512-z9DDqS2DibDR9gno55diKfAVegeJ9uoyQXQhH3R0KY4YMF49N1fWy/t74gOiHtlPmvjQtDRZYgjgaMCc2w8oWg==} - '@unocss/transformer-attributify-jsx@0.63.2': - resolution: {integrity: sha512-RPQqtJf1Z+S6D9cpNZmiycOc3ZQatyIkne3W7Aw+QVvlWziRPLZJbw7lU123JUdmKfoop8GQmii5a6sbUdjhuw==} + '@unocss/transformer-attributify-jsx@0.63.4': + resolution: {integrity: sha512-5cO9BY/Bga6YmbTch1Neg+E46HerJp5wLxPkIcFCDNsqy2MsB97jsFG1dO0jDUg43E26MRI19tg1eqrWL6sTYg==} '@unocss/transformer-compile-class@0.62.4': resolution: {integrity: sha512-8yadY9T7LToJwSsrmYU3rUKlnDgPGVRvON7z9g1IjUCmFCGx7Gpg84x9KpKUG6eUTshPQFUI0YUHocrYFevAEA==} - '@unocss/transformer-compile-class@0.63.2': - resolution: {integrity: sha512-Lznx0PXnz+t0ltlqiD2TU4/TjoApnipYyA/bRDyAOZGeZgFy21zsaFV1ETh4lo88SxBNskZHt6RHNHWioJPd1w==} + '@unocss/transformer-compile-class@0.63.4': + resolution: {integrity: sha512-ta6mqq2S5OWcfBzzYnaiMt3ekn2ECNZTqzzqMglnIKPkE+GmqUmmRavRnpc+NGobuqMRcI4F6x8MSSHf4MV0jw==} '@unocss/transformer-directives@0.62.4': resolution: {integrity: sha512-bq9ZDG6/mr6X2mAogAo0PBVrLSLT0900MPqnj/ixadYHc7mRpX+y6bc/1AgWytZIFYSdNzf7XDoquZuwf42Ucg==} - '@unocss/transformer-directives@0.63.2': - resolution: {integrity: sha512-i5Lq6hayIgrqsWkLwuTep6FM/vM4MQyAsOGecxtJ9yeABMdFNxEehX6Gwy19tzWvD09hHJ9YOOKDfx9OYg1bag==} + '@unocss/transformer-directives@0.63.4': + resolution: {integrity: sha512-N/dNhmn3e9/Z4IvAujxCdwhNMfx2SihPA2/7GFSMMRi7F0Hn/o2hOqQquRqIJbQwIvi6bJtKwyasxjDoUhJqBA==} '@unocss/transformer-variant-group@0.62.4': resolution: {integrity: sha512-W1fxMc2Lzxu4E+6JBQEBzK+AwoCQYI+EL2FT2BCUsAno37f3JdnwFFEVscck0epSdmdtidsSLDognyX8h10r8A==} - '@unocss/transformer-variant-group@0.63.2': - resolution: {integrity: sha512-vjjXlL4GEgBj6YPj2g7RzvzihE8tV2v8tOEm6LM+WOhJ8/DALe9CbAvjtCShV1pNNBYkzMdBOqiGIDzUkJTqnw==} + '@unocss/transformer-variant-group@0.63.4': + resolution: {integrity: sha512-uEHltdfR0Y1nvs1eqHwsgevRFhZkLmA/MsaMEfNblDJ6CLHe/ACNmMoLX1Mcuq/lAPs0X6jGnKudk4QTrCv15Q==} '@unocss/vite@0.62.4': resolution: {integrity: sha512-JKq3V6bcevYl9X5Jl3p9crArbhzI8JVWQkOxKV2nGLFaqvnc47vMSDxlU4MUdRWp3aQvzDw132tcx27oSbrojw==} peerDependencies: vite: 5.4.8 - '@unocss/vite@0.63.2': - resolution: {integrity: sha512-2beeHbWdEIXp9+b8GphvG2ZYWI3gta+MrHuoqcmrcc/0JVvx7FyjVIs/wSu63TRWGsiIkPXSOGJtOYvDgNEMBQ==} + '@unocss/vite@0.63.4': + resolution: {integrity: sha512-YK0L177GD8Kx+JtfiCJy4YyBYckAXo4ogC8LZ+pYVNXDMN+F+XItpGI/ofLRaGIaewNg+MJgGY+CQZceABEAfg==} peerDependencies: vite: 5.4.8 @@ -3067,14 +2971,14 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: 5.4.8 - vue: 3.5.10 + vue: 3.5.11 '@vitejs/plugin-vue@5.1.4': resolution: {integrity: sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: 5.4.8 - vue: 3.5.10 + vue: 3.5.11 '@vitest/coverage-v8@2.1.2': resolution: {integrity: sha512-b7kHrFrs2urS0cOk5N10lttI8UdJ/yP3nB4JYTREvR5o18cR99yPpK4gK8oQgI42BVv0ILWYUSYB7AXkAUDc0g==} @@ -3143,7 +3047,7 @@ packages: resolution: {integrity: sha512-dlSqrGdIDhqMOz92XtlMNyuHHeHe594O6f10XLtmlB0Jrq/Pl4Hj8rXAnVlRdjg+ptbZRSNL6MSgOPPoC82owg==} engines: {node: '>=16.14.0'} peerDependencies: - vue: 3.5.10 + vue: 3.5.11 peerDependenciesMeta: vue: optional: true @@ -3164,17 +3068,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.5.10': - resolution: {integrity: sha512-iXWlk+Cg/ag7gLvY0SfVucU8Kh2CjysYZjhhP70w9qI4MvSox4frrP+vDGvtQuzIcgD8+sxM6lZvCtdxGunTAA==} + '@vue/compiler-core@3.5.11': + resolution: {integrity: sha512-PwAdxs7/9Hc3ieBO12tXzmTD+Ln4qhT/56S+8DvrrZ4kLDn4Z/AMUr8tXJD0axiJBS0RKIoNaR0yMuQB9v9Udg==} - '@vue/compiler-dom@3.5.10': - resolution: {integrity: sha512-DyxHC6qPcktwYGKOIy3XqnHRrrXyWR2u91AjP+nLkADko380srsC2DC3s7Y1Rk6YfOlxOlvEQKa9XXmLI+W4ZA==} + '@vue/compiler-dom@3.5.11': + resolution: {integrity: sha512-pyGf8zdbDDRkBrEzf8p7BQlMKNNF5Fk/Cf/fQ6PiUz9at4OaUfyXW0dGJTo2Vl1f5U9jSLCNf0EZJEogLXoeew==} - '@vue/compiler-sfc@3.5.10': - resolution: {integrity: sha512-to8E1BgpakV7224ZCm8gz1ZRSyjNCAWEplwFMWKlzCdP9DkMKhRRwt0WkCjY7jkzi/Vz3xgbpeig5Pnbly4Tow==} + '@vue/compiler-sfc@3.5.11': + resolution: {integrity: sha512-gsbBtT4N9ANXXepprle+X9YLg2htQk1sqH/qGJ/EApl+dgpUBdTv3yP7YlR535uHZY3n6XaR0/bKo0BgwwDniw==} - '@vue/compiler-ssr@3.5.10': - resolution: {integrity: sha512-hxP4Y3KImqdtyUKXDRSxKSRkSm1H9fCvhojEYrnaoWhE4w/y8vwWhnosJoPPe2AXm5sU7CSbYYAgkt2ZPhDz+A==} + '@vue/compiler-ssr@3.5.11': + resolution: {integrity: sha512-P4+GPjOuC2aFTk1Z4WANvEhyOykcvEd5bIj2KVNGKGfM745LaXGr++5njpdBTzVz5pZifdlR1kpYSJJpIlSePA==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -3188,7 +3092,7 @@ packages: '@vue/devtools-core@7.4.4': resolution: {integrity: sha512-DLxgA3DfeADkRzhAfm3G2Rw/cWxub64SdP5b+s5dwL30+whOGj+QNhmyFpwZ8ZTrHDFRIPj0RqNzJ8IRR1pz7w==} peerDependencies: - vue: 3.5.10 + vue: 3.5.11 '@vue/devtools-kit@7.4.4': resolution: {integrity: sha512-awK/4NfsUG0nQ7qnTM37m7ZkEUMREyPh8taFCX+uQYps/MTFEum0AD05VeGDRMXwWvMmGIcWX9xp8ZiBddY0jw==} @@ -3202,27 +3106,27 @@ packages: '@vue/language-core@2.1.6': resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true - '@vue/reactivity@3.5.10': - resolution: {integrity: sha512-kW08v06F6xPSHhid9DJ9YjOGmwNDOsJJQk0ax21wKaUYzzuJGEuoKNU2Ujux8FLMrP7CFJJKsHhXN9l2WOVi2g==} + '@vue/reactivity@3.5.11': + resolution: {integrity: sha512-Nqo5VZEn8MJWlCce8XoyVqHZbd5P2NH+yuAaFzuNSR96I+y1cnuUiq7xfSG+kyvLSiWmaHTKP1r3OZY4mMD50w==} - '@vue/runtime-core@3.5.10': - resolution: {integrity: sha512-9Q86I5Qq3swSkFfzrZ+iqEy7Vla325M7S7xc1NwKnRm/qoi1Dauz0rT6mTMmscqx4qz0EDJ1wjB+A36k7rl8mA==} + '@vue/runtime-core@3.5.11': + resolution: {integrity: sha512-7PsxFGqwfDhfhh0OcDWBG1DaIQIVOLgkwA5q6MtkPiDFjp5gohVnJEahSktwSFLq7R5PtxDKy6WKURVN1UDbzA==} - '@vue/runtime-dom@3.5.10': - resolution: {integrity: sha512-t3x7ht5qF8ZRi1H4fZqFzyY2j+GTMTDxRheT+i8M9Ph0oepUxoadmbwlFwMoW7RYCpNQLpP2Yx3feKs+fyBdpA==} + '@vue/runtime-dom@3.5.11': + resolution: {integrity: sha512-GNghjecT6IrGf0UhuYmpgaOlN7kxzQBhxWEn08c/SQDxv1yy4IXI1bn81JgEpQ4IXjRxWtPyI8x0/7TF5rPfYQ==} - '@vue/server-renderer@3.5.10': - resolution: {integrity: sha512-IVE97tt2kGKwHNq9yVO0xdh1IvYfZCShvDSy46JIh5OQxP1/EXSpoDqetVmyIzL7CYOWnnmMkVqd7YK2QSWkdw==} + '@vue/server-renderer@3.5.11': + resolution: {integrity: sha512-cVOwYBxR7Wb1B1FoxYvtjJD8X/9E5nlH4VSkJy2uMA1MzYNdzAAB//l8nrmN9py/4aP+3NjWukf9PZ3TeWULaA==} peerDependencies: - vue: 3.5.10 + vue: 3.5.11 - '@vue/shared@3.5.10': - resolution: {integrity: sha512-VkkBhU97Ki+XJ0xvl4C9YJsIZ2uIlQ7HqPpZOS3m9VCvmROPaChZU6DexdMJqvz9tbgG+4EtFVrSuailUq5KGQ==} + '@vue/shared@3.5.11': + resolution: {integrity: sha512-W8GgysJVnFo81FthhzurdRAWP/byq3q2qIw70e0JWblzVhjgOMiC2GyovXrZTFQJnFVryYaKGP3Tc9vYzYm6PQ==} '@vue/test-utils@2.4.6': resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} @@ -3550,11 +3454,6 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - browserslist@4.24.0: resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -3615,9 +3514,6 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001660: - resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==} - caniuse-lite@1.0.30001667: resolution: {integrity: sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw==} @@ -3789,8 +3685,8 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + confbox@0.1.8: + resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} @@ -3828,7 +3724,7 @@ packages: resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true @@ -3837,7 +3733,7 @@ packages: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true @@ -4177,9 +4073,6 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.19: - resolution: {integrity: sha512-kpLJJi3zxTR1U828P+LIUDZ5ohixyo68/IcYOHLqnbTPr/wdgn4i1ECvmALN9E16JPA6cvCG5UG79gVwVdEK5w==} - electron-to-chromium@1.5.32: resolution: {integrity: sha512-M+7ph0VGBQqqpTT2YrabjNKSQ2fEl9PVx6AK3N558gDH9NO8O6XN9SXXFWRo9u9PbEg/bWq+tjXQr+eXmxubCw==} @@ -4377,8 +4270,8 @@ packages: resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-scope@8.0.2: - resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} + eslint-scope@8.1.0: + resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-typegen@0.3.2: @@ -4390,12 +4283,12 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + eslint-visitor-keys@4.1.0: + resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.11.1: - resolution: {integrity: sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==} + eslint@9.12.0: + resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -4404,8 +4297,8 @@ packages: jiti: optional: true - espree@10.1.0: - resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + espree@10.2.0: + resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: @@ -4550,7 +4443,7 @@ packages: resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': workspace:* - vue: 3.5.10 + vue: 3.5.11 peerDependenciesMeta: '@nuxt/kit': optional: true @@ -4569,7 +4462,7 @@ packages: resolution: {integrity: sha512-Uochze2R8peoN1XqlSi/rGUkDQpRogtLFocP9+PGu68zk1BDAKXfdeCdyVZpgTk8V8WFVQXdEz426VKjXLO1Gg==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 webpack: ^5.11.0 fraction.js@4.3.7: @@ -4830,8 +4723,8 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} - html-validate@8.24.0: - resolution: {integrity: sha512-PV6XQgIt9I7lI1qrLpykFhpGHEmM5me0J0iQsfQK9tPZvZNiwUIT03/gc+v5WqK38hOkV2+y3HpXxMZLXG4tDw==} + html-validate@8.24.1: + resolution: {integrity: sha512-WDV/JI4sVdX0QW4cupodsuMfI8vDygw3dMXD76OHKNMf7qhKxUsLDnNVKG7GLeAkRP0e0Y6H8AOrlaatob+g4Q==} engines: {node: '>= 16.14'} hasBin: true peerDependencies: @@ -5090,10 +4983,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - is-path-inside@4.0.0: resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} engines: {node: '>=12'} @@ -5215,8 +5104,8 @@ packages: resolution: {integrity: sha512-pmfRbVRs/7khFrSAYnSiJ8C0D5GvzkE4Ey2pAvUcJsw1ly/p+7ut27jbJrjY79BpAJQJ4gXYFtK6d1Aub+9baQ==} hasBin: true - jiti@2.3.1: - resolution: {integrity: sha512-xPZ6pPzUifI8XDBBxIL4OB1w1ZKmBpmNEeKwNt2d0Spn8XisAIZhWrlOHq5seBrFGTxVx9PbrWvEMyrk4IO5bA==} + jiti@2.3.3: + resolution: {integrity: sha512-EX4oNDwcXSivPrw2qKH2LB5PoFxEvgtv2JgwW0bU858HoLQ+kutSvjLMUqBd0PeJYEinLWhoI9Ol0eYMqj/wNQ==} hasBin: true js-beautify@1.15.1: @@ -5249,11 +5138,6 @@ packages: resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - jsesc@3.0.2: resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} engines: {node: '>=6'} @@ -5510,8 +5394,8 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - memfs@4.12.0: - resolution: {integrity: sha512-74wDsex5tQDSClVkeK1vtxqYCAgCoXxx+K4NSHzgU/muYVYByFqa+0RnrPO9NM6naWm1+G9JmZ0p6QHhXmeYfA==} + memfs@4.13.0: + resolution: {integrity: sha512-dIs5KGy24fbdDhIAg0RxXpFqQp3RwL6wgSMRF9OSuphL/Uc9a4u2/SDJKPLj/zUgtOGKuHrRMrj563+IErj4Cg==} engines: {node: '>= 4.0.0'} memory-fs@0.5.0: @@ -5709,7 +5593,7 @@ packages: hasBin: true peerDependencies: sass: ^1.78.0 - typescript: 5.6.2 + typescript: 5.6.3 vue-tsc: ^1.8.27 || ^2.0.21 peerDependenciesMeta: sass: @@ -5719,8 +5603,8 @@ packages: vue-tsc: optional: true - mlly@1.7.1: - resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} + mlly@1.7.2: + resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==} mri@1.2.0: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} @@ -5876,8 +5760,8 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} - ofetch@1.4.0: - resolution: {integrity: sha512-MuHgsEhU6zGeX+EMh+8mSMrYTnsqJQQrpM00Q6QHMKNqQ0bKy0B43tk8tL1wg+CnsSTy1kg4Ir2T5Ig6rD+dfQ==} + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} ohash@1.1.4: resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} @@ -6051,11 +5935,11 @@ packages: resolution: {integrity: sha512-KocF8ve28eFjjuBKKGvzOBGzG8ew2OqOOSxTTZhirkzH7h3BI1vyzqlR0qbfcDBve1Yzo3FVlWUAtCRrbVN8Fw==} engines: {node: '>=14.16'} - pkg-types@1.2.0: - resolution: {integrity: sha512-+ifYuSSqOQ8CqP4MbZA5hDpb97n3E8SVWdJe+Wms9kj745lmd3b7EZJiqvmLwAlmRfjrI7Hi5z3kdBJ93lFNPA==} + pkg-types@1.2.1: + resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==} - playwright-core@1.47.2: - resolution: {integrity: sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==} + playwright-core@1.48.0: + resolution: {integrity: sha512-RBvzjM9rdpP7UUFrQzRwR8L/xR4HyC1QXMzGYTbf1vjw25/ya9NRAVnXi/0fvFopjebvyPzsmoK58xxeEOaVvA==} engines: {node: '>=18'} hasBin: true @@ -6588,7 +6472,7 @@ packages: engines: {node: '>=16'} peerDependencies: rollup: 4.24.0 - typescript: 5.6.2 + typescript: 5.6.3 rollup-plugin-visualizer@5.12.0: resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} @@ -6731,9 +6615,6 @@ packages: shiki@1.17.0: resolution: {integrity: sha512-VZf8cPShRwfzPcaswv81+YP7qJEoFwRT+Ehy6bizim7M0zG9bk8Egug550C+xS9g7rKIOPhzAlp2uEyuCxbk/A==} - shiki@1.18.0: - resolution: {integrity: sha512-8jo7tOXr96h9PBQmOHVrltnETn1honZZY76YA79MHheGQg55jBvbm9dtU+MI5pjC5NJCFuA6rvVTLVeSW5cE4A==} - shiki@1.20.0: resolution: {integrity: sha512-MZJJ1PCFsQB1Piq+25wiz0a75yUv8Q3/fzy7SzRx5ONdjdtGdyiKwYn8vb/FnK5kjS0voWGnPpjG16POauUR+g==} @@ -7075,7 +6956,7 @@ packages: resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} engines: {node: '>=16'} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} @@ -7088,15 +6969,23 @@ packages: twoslash-protocol@0.2.11: resolution: {integrity: sha512-rp+nkOWbKfJnBTDZtnIaBGjnU+4CaMhqu6db2UU7byU96rH8X4hao4BOxYw6jdZc85Lhv5pOfcjgfHeQyLzndQ==} + twoslash-protocol@0.2.12: + resolution: {integrity: sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg==} + twoslash-vue@0.2.11: resolution: {integrity: sha512-wBwIwG0PRuv5V+1DD4Zno1j6MnaCbaY/ELops7oKSoMBTIQL720iRXppyldVVoYvti2caUA97T36XhZXHpjQyA==} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 twoslash@0.2.11: resolution: {integrity: sha512-392Qkcu5sD2hROLZ+XPywChreDGJ8Yu5nnK/Moxfti/R39q0Q39MaV7iHjz92B5qucyjsQFnKMdYIzafX5T8dg==} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 + + twoslash@0.2.12: + resolution: {integrity: sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw==} + peerDependencies: + typescript: 5.6.3 type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} @@ -7126,8 +7015,8 @@ packages: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} - typescript@5.6.2: - resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + typescript@5.6.3: + resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true @@ -7144,7 +7033,7 @@ packages: resolution: {integrity: sha512-JWCUYx3Oxdzvw2J9kTAp+DKE8df/BnH/JTSj6JyA4SH40ECdFu7FoJJcrm8G92B7TjofQ6GZGjJs50TRxoH6Wg==} hasBin: true peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true @@ -7222,11 +7111,11 @@ packages: vite: optional: true - unocss@0.63.2: - resolution: {integrity: sha512-ldQ4rDjvzZts5LEWXbbr49kDCqeVtwXfZ9eU04zRYYjqVn7qU4jLGOQEhsdZyMHcQ58V+GKI5pgFvw2uDclROg==} + unocss@0.63.4: + resolution: {integrity: sha512-MQ/ktuJ2MoXBsd117DEONFubJRQN6Og4mQJLbT+0nna2aTW4jYJESJ479mJYWq/ajonxEaM+zrf8M92VIWxzEw==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.63.2 + '@unocss/webpack': 0.63.4 vite: 5.4.8 peerDependenciesMeta: '@unocss/webpack': @@ -7337,12 +7226,12 @@ packages: v-lazy-show@0.2.4: resolution: {integrity: sha512-Lx9Str2i+HTh+zGzs9O3YyhGAZOAAfU+6MUUPcQPPiPxQO1sHBEv9sH3MO9bPc4T09gsjsS2+sbaCWQ1MdhpJQ==} peerDependencies: - '@vue/compiler-core': 3.5.10 + '@vue/compiler-core': 3.5.11 valibot@0.42.1: resolution: {integrity: sha512-3keXV29Ar5b//Hqi4MbSdV7lfVp6zuYLZuA9V1PvQUsXqogr+u5lvLPLk3A4f74VUXDnf/JfWMN6sB+koJ/FFw==} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true @@ -7383,7 +7272,7 @@ packages: meow: ^9.0.0 optionator: ^0.9.1 stylelint: '>=13' - typescript: 5.6.2 + typescript: 5.6.3 vite: 5.4.8 vls: '*' vti: '*' @@ -7428,7 +7317,7 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 less: '*' lightningcss: ^1.21.0 sass: '*' @@ -7463,7 +7352,7 @@ packages: hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': 20.16.10 + '@types/node': 20.16.11 '@vitest/browser': 1.6.0 '@vitest/ui': 1.6.0 happy-dom: '*' @@ -7488,7 +7377,7 @@ packages: hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': 20.16.10 + '@types/node': 20.16.11 '@vitest/browser': 2.1.2 '@vitest/ui': 2.1.2 happy-dom: '*' @@ -7547,7 +7436,7 @@ packages: hasBin: true peerDependencies: '@vue/composition-api': ^1.0.0-rc.1 - vue: 3.5.10 + vue: 3.5.11 peerDependenciesMeta: '@vue/composition-api': optional: true @@ -7576,23 +7465,23 @@ packages: vue-resize@2.0.0-alpha.1: resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: - vue: 3.5.10 + vue: 3.5.11 vue-router@4.4.5: resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==} peerDependencies: - vue: 3.5.10 + vue: 3.5.11 vue-tsc@2.1.6: resolution: {integrity: sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==} hasBin: true peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 - vue@3.5.10: - resolution: {integrity: sha512-Vy2kmJwHPlouC/tSnIgXVg03SG+9wSqT1xu1Vehc+ChsXsRd7jLkKgMltVEFOzUdBr3uFwBCG+41LJtfAcBRng==} + vue@3.5.11: + resolution: {integrity: sha512-/8Wurrd9J3lb72FTQS7gRMNQD4nztTtKPmuDuPuhqXmmpD6+skVjAeahNpVzsuky6Sy9gy7wn8UadqPtt9SQIg==} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true @@ -7801,40 +7690,13 @@ snapshots: '@types/json-schema': 7.0.15 js-yaml: 4.1.0 - '@babel/code-frame@7.24.7': - dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.1.0 - '@babel/code-frame@7.25.7': dependencies: '@babel/highlight': 7.25.7 picocolors: 1.1.0 - '@babel/compat-data@7.25.4': {} - '@babel/compat-data@7.25.7': {} - '@babel/core@7.25.2': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helpers': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - convert-source-map: 2.0.0 - debug: 4.3.7 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - '@babel/core@7.25.7': dependencies: '@ampproject/remapping': 2.3.0 @@ -7855,13 +7717,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.25.6': - dependencies: - '@babel/types': 7.25.6 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - '@babel/generator@7.25.7': dependencies: '@babel/types': 7.25.7 @@ -7871,15 +7726,7 @@ snapshots: '@babel/helper-annotate-as-pure@7.24.7': dependencies: - '@babel/types': 7.25.6 - - '@babel/helper-compilation-targets@7.25.2': - dependencies: - '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.3 - lru-cache: 5.1.1 - semver: 6.3.1 + '@babel/types': 7.25.7 '@babel/helper-compilation-targets@7.25.7': dependencies: @@ -7889,30 +7736,23 @@ snapshots: lru-cache: 5.1.1 semver: 6.3.1 - '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2)': + '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) + '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.7) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.6 + '@babel/traverse': 7.25.7 semver: 6.3.1 transitivePeerDependencies: - supports-color '@babel/helper-member-expression-to-functions@7.24.8': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-module-imports@7.24.7': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color @@ -7923,16 +7763,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 - '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.7)': dependencies: '@babel/core': 7.25.7 @@ -7945,23 +7775,16 @@ snapshots: '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 '@babel/helper-plugin-utils@7.24.8': {} - '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': + '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.24.7': - dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color @@ -7974,40 +7797,22 @@ snapshots: '@babel/helper-skip-transparent-expression-wrappers@7.24.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.24.8': {} - '@babel/helper-string-parser@7.25.7': {} - '@babel/helper-validator-identifier@7.24.7': {} - '@babel/helper-validator-identifier@7.25.7': {} - '@babel/helper-validator-option@7.24.8': {} - '@babel/helper-validator-option@7.25.7': {} - '@babel/helpers@7.25.6': - dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - '@babel/helpers@7.25.7': dependencies: '@babel/template': 7.25.7 '@babel/types': 7.25.7 - '@babel/highlight@7.24.7': - dependencies: - '@babel/helper-validator-identifier': 7.24.7 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.1.0 - '@babel/highlight@7.25.7': dependencies: '@babel/helper-validator-identifier': 7.25.7 @@ -8015,56 +7820,52 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.0 - '@babel/parser@7.25.6': - dependencies: - '@babel/types': 7.25.6 - '@babel/parser@7.25.7': dependencies: '@babel/types': 7.25.7 - '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-proposal-decorators@7.24.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/core': 7.25.7 + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.7) '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.2) + '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.7) transitivePeerDependencies: - supports-color - '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': + '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2)': + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': + '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': + '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) + '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.7) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.7) transitivePeerDependencies: - supports-color @@ -8074,30 +7875,12 @@ snapshots: '@babel/standalone@7.25.7': {} - '@babel/template@7.25.0': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 - '@babel/template@7.25.7': dependencies: '@babel/code-frame': 7.25.7 '@babel/parser': 7.25.7 '@babel/types': 7.25.7 - '@babel/traverse@7.25.6': - dependencies: - '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.6 - '@babel/parser': 7.25.6 - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 - debug: 4.3.7 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - '@babel/traverse@7.25.7': dependencies: '@babel/code-frame': 7.25.7 @@ -8110,12 +7893,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/types@7.25.6': - dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 - '@babel/types@7.25.7': dependencies: '@babel/helper-string-parser': 7.25.7 @@ -8487,9 +8264,9 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.11.1(jiti@2.3.1))': + '@eslint-community/eslint-utils@4.4.0(eslint@9.12.0(jiti@2.3.3))': dependencies: - eslint: 9.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} @@ -8510,7 +8287,7 @@ snapshots: dependencies: ajv: 6.12.6 debug: 4.3.7 - espree: 10.1.0 + espree: 10.2.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 @@ -8520,7 +8297,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.11.1': {} + '@eslint/js@9.12.0': {} '@eslint/object-schema@2.1.4': {} @@ -8544,9 +8321,16 @@ snapshots: dependencies: kleur: 4.1.5 + '@humanfs/core@0.19.0': {} + + '@humanfs/node@0.16.5': + dependencies: + '@humanfs/core': 0.19.0 + '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.3.0': {} + '@humanwhocodes/retry@0.3.1': {} '@iconify-json/carbon@1.2.1': dependencies: @@ -8574,7 +8358,7 @@ snapshots: debug: 4.3.7 kolorist: 1.8.0 local-pkg: 0.5.0 - mlly: 1.7.1 + mlly: 1.7.2 transitivePeerDependencies: - supports-color @@ -8600,7 +8384,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.16.10 + '@types/node': 20.16.11 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -8692,43 +8476,43 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.5.1(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))': + '@nuxt/devtools-kit@1.5.1(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) - '@nuxt/devtools-kit@1.5.2(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))': + '@nuxt/devtools-kit@1.5.2(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema execa: 7.2.0 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) - '@nuxt/devtools-ui-kit@1.5.1(@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(@vue/compiler-core@3.5.10)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack@5.95.0(esbuild@0.24.0))': + '@nuxt/devtools-ui-kit@1.5.1(@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(@vue/compiler-core@3.5.11)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack@5.95.0(esbuild@0.24.0))': dependencies: '@iconify-json/carbon': 1.2.1 '@iconify-json/logos': 1.2.0 '@iconify-json/ri': 1.2.0 '@iconify-json/tabler': 1.2.3 - '@nuxt/devtools': 1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3) - '@nuxt/devtools-kit': 1.5.1(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + '@nuxt/devtools': 1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3) + '@nuxt/devtools-kit': 1.5.1(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) '@nuxt/kit': link:packages/kit '@unocss/core': 0.62.4 - '@unocss/nuxt': 0.62.4(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(webpack@5.95.0(esbuild@0.24.0)) + '@unocss/nuxt': 0.62.4(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(webpack@5.95.0(esbuild@0.24.0)) '@unocss/preset-attributify': 0.62.4 '@unocss/preset-icons': 0.62.4 '@unocss/preset-mini': 0.62.4 '@unocss/reset': 0.62.4 - '@vueuse/core': 11.1.0(vue@3.5.10(typescript@5.6.2)) - '@vueuse/integrations': 11.1.0(focus-trap@7.6.0)(vue@3.5.10(typescript@5.6.2)) - '@vueuse/nuxt': 11.1.0(nuxt@packages+nuxt)(vue@3.5.10(typescript@5.6.2)) + '@vueuse/core': 11.1.0(vue@3.5.11(typescript@5.6.3)) + '@vueuse/integrations': 11.1.0(focus-trap@7.6.0)(vue@3.5.11(typescript@5.6.3)) + '@vueuse/nuxt': 11.1.0(nuxt@packages+nuxt)(vue@3.5.11(typescript@5.6.3)) defu: 6.1.4 focus-trap: 7.6.0 splitpanes: 3.1.5 - unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) - v-lazy-show: 0.2.4(@vue/compiler-core@3.5.10) + unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) + v-lazy-show: 0.2.4(@vue/compiler-core@3.5.11) transitivePeerDependencies: - '@unocss/webpack' - '@vue/compiler-core' @@ -8760,18 +8544,18 @@ snapshots: global-directory: 4.0.1 magicast: 0.3.5 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 prompts: 2.4.2 rc9: 2.1.2 semver: 7.6.3 - '@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3)': dependencies: '@antfu/utils': 0.7.10 - '@nuxt/devtools-kit': 1.5.2(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + '@nuxt/devtools-kit': 1.5.2(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) '@nuxt/devtools-wizard': 1.5.2 '@nuxt/kit': link:packages/kit - '@vue/devtools-core': 7.4.4(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2)) + '@vue/devtools-core': 7.4.4(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3)) '@vue/devtools-kit': 7.4.4 birpc: 0.2.17 consola: 3.2.3 @@ -8792,7 +8576,7 @@ snapshots: ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.2.0 + pkg-types: 1.2.1 rc9: 2.1.2 scule: 1.3.0 semver: 7.6.3 @@ -8800,9 +8584,9 @@ snapshots: sirv: 2.0.4 tinyglobby: 0.2.9 unimport: 3.13.1(rollup@4.24.0)(webpack-sources@3.2.3) - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) - vite-plugin-inspect: 0.8.7(@nuxt/kit@packages+kit)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) - vite-plugin-vue-inspector: 5.1.3(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) + vite-plugin-inspect: 0.8.7(@nuxt/kit@packages+kit)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) + vite-plugin-vue-inspector: 5.1.3(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) which: 3.0.1 ws: 8.18.0 transitivePeerDependencies: @@ -8813,34 +8597,34 @@ snapshots: - vue - webpack-sources - '@nuxt/eslint-config@0.5.7(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)': + '@nuxt/eslint-config@0.5.7(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: - '@eslint/js': 9.11.1 - '@nuxt/eslint-plugin': 0.5.7(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) - '@stylistic/eslint-plugin': 2.8.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) - '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2))(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) - '@typescript-eslint/parser': 8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) - eslint: 9.11.1(jiti@2.3.1) - eslint-config-flat-gitignore: 0.3.0(eslint@9.11.1(jiti@2.3.1)) + '@eslint/js': 9.12.0 + '@nuxt/eslint-plugin': 0.5.7(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) + '@stylistic/eslint-plugin': 2.8.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/parser': 8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) + eslint: 9.12.0(jiti@2.3.3) + eslint-config-flat-gitignore: 0.3.0(eslint@9.12.0(jiti@2.3.3)) eslint-flat-config-utils: 0.4.0 - eslint-plugin-import-x: 4.2.1(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) - eslint-plugin-jsdoc: 50.2.2(eslint@9.11.1(jiti@2.3.1)) - eslint-plugin-regexp: 2.6.0(eslint@9.11.1(jiti@2.3.1)) - eslint-plugin-unicorn: 55.0.0(eslint@9.11.1(jiti@2.3.1)) - eslint-plugin-vue: 9.28.0(eslint@9.11.1(jiti@2.3.1)) + eslint-plugin-import-x: 4.2.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) + eslint-plugin-jsdoc: 50.2.2(eslint@9.12.0(jiti@2.3.3)) + eslint-plugin-regexp: 2.6.0(eslint@9.12.0(jiti@2.3.3)) + eslint-plugin-unicorn: 55.0.0(eslint@9.12.0(jiti@2.3.3)) + eslint-plugin-vue: 9.28.0(eslint@9.12.0(jiti@2.3.3)) globals: 15.9.0 local-pkg: 0.5.0 pathe: 1.1.2 - vue-eslint-parser: 9.4.3(eslint@9.11.1(jiti@2.3.1)) + vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@2.3.3)) transitivePeerDependencies: - supports-color - typescript - '@nuxt/eslint-plugin@0.5.7(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)': + '@nuxt/eslint-plugin@0.5.7(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 8.7.0 - '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) - eslint: 9.11.1(jiti@2.3.1) + '@typescript-eslint/types': 8.8.0 + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) + eslint: 9.12.0(jiti@2.3.3) transitivePeerDependencies: - supports-color - typescript @@ -8853,26 +8637,26 @@ snapshots: string-width: 4.2.3 webpack: 5.95.0 - '@nuxt/scripts@0.9.4(@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(@vue/compiler-core@3.5.10)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.0)(typescript@5.6.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.95.0(esbuild@0.24.0))': + '@nuxt/scripts@0.9.4(@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(@vue/compiler-core@3.5.11)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.0)(typescript@5.6.3)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3)(webpack@5.95.0(esbuild@0.24.0))': dependencies: - '@nuxt/devtools-kit': 1.5.1(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) - '@nuxt/devtools-ui-kit': 1.5.1(@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(@vue/compiler-core@3.5.10)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))(webpack@5.95.0(esbuild@0.24.0)) + '@nuxt/devtools-kit': 1.5.2(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) + '@nuxt/devtools-ui-kit': 1.5.1(@nuxt/devtools@1.5.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(@vue/compiler-core@3.5.11)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))(webpack@5.95.0(esbuild@0.24.0)) '@nuxt/kit': link:packages/kit '@types/google.maps': 3.58.1 '@types/stripe-v3': 3.1.33 '@types/vimeo__player': 2.18.3 '@types/youtube': 0.1.0 - '@unhead/vue': 1.11.6(vue@3.5.10(typescript@5.6.2)) - '@vueuse/core': 11.1.0(vue@3.5.10(typescript@5.6.2)) + '@unhead/vue': 1.11.6(vue@3.5.11(typescript@5.6.3)) + '@vueuse/core': 11.1.0(vue@3.5.11(typescript@5.6.3)) consola: 3.2.3 defu: 6.1.4 h3: 1.12.0 magic-string: 0.30.11 - mlly: 1.7.1 - ofetch: 1.4.0 + mlly: 1.7.2 + ofetch: 1.4.1 ohash: 1.1.4 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 semver: 7.6.3 shiki: 1.20.0 sirv: 2.0.4 @@ -8882,7 +8666,7 @@ snapshots: unimport: 3.13.1(rollup@4.24.0)(webpack-sources@3.2.3) unplugin: 1.14.1(webpack-sources@3.2.3) unstorage: 1.12.0(ioredis@5.4.1) - valibot: 0.42.1(typescript@5.6.2) + valibot: 0.42.1(typescript@5.6.3) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -8936,18 +8720,18 @@ snapshots: jiti: 1.21.6 mri: 1.2.0 nanoid: 5.0.7 - ofetch: 1.4.0 + ofetch: 1.4.1 package-manager-detector: 0.2.0 parse-git-config: 3.0.0 pathe: 1.1.2 rc9: 2.1.2 std-env: 3.7.0 - '@nuxt/test-utils@3.14.2(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.47.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/test-utils@3.14.3(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3)': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema - c12: 1.11.2(magicast@0.3.5) + c12: 2.0.1(magicast@0.3.5) consola: 3.2.3 defu: 6.1.4 destr: 2.0.3 @@ -8959,7 +8743,7 @@ snapshots: magic-string: 0.30.11 nitropack: 2.9.7(magicast@0.3.5)(webpack-sources@3.2.3) node-fetch-native: 1.6.4 - ofetch: 1.4.0 + ofetch: 1.4.1 pathe: 1.1.2 perfect-debounce: 1.0.0 radix3: 1.1.2 @@ -8969,16 +8753,16 @@ snapshots: ufo: 1.5.4 unenv: 1.10.0 unplugin: 1.14.1(webpack-sources@3.2.3) - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) - vitest-environment-nuxt: 1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.47.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3) - vue: 3.5.10(typescript@5.6.2) - vue-router: 4.4.5(vue@3.5.10(typescript@5.6.2)) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) + vitest-environment-nuxt: 1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3) + vue: 3.5.11(typescript@5.6.3) + vue-router: 4.4.5(vue@3.5.11(typescript@5.6.3)) optionalDependencies: - '@testing-library/vue': 8.1.0(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2)) + '@testing-library/vue': 8.1.0(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3)) '@vue/test-utils': 2.4.6 happy-dom: 15.7.4 - playwright-core: 1.47.2 - vitest: 2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + playwright-core: 1.48.0 + vitest: 2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - magicast - webpack-sources @@ -8989,7 +8773,7 @@ snapshots: '@shikijs/transformers': 1.17.0 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@vue/compiler-core': 3.5.10 + '@vue/compiler-core': 3.5.11 consola: 3.2.3 debug: 4.3.7 defu: 6.1.4 @@ -9102,7 +8886,7 @@ snapshots: '@rollup/plugin-commonjs@25.0.8(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 @@ -9113,7 +8897,7 @@ snapshots: '@rollup/plugin-inject@5.0.5(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) estree-walker: 2.0.2 magic-string: 0.30.11 optionalDependencies: @@ -9121,13 +8905,13 @@ snapshots: '@rollup/plugin-json@6.1.0(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) optionalDependencies: rollup: 4.24.0 '@rollup/plugin-node-resolve@15.2.3(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-builtin-module: 3.2.1 @@ -9138,14 +8922,14 @@ snapshots: '@rollup/plugin-replace@5.0.7(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) magic-string: 0.30.11 optionalDependencies: rollup: 4.24.0 '@rollup/plugin-replace@6.0.1(rollup@4.24.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) magic-string: 0.30.11 optionalDependencies: rollup: 4.24.0 @@ -9163,14 +8947,6 @@ snapshots: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.1.0(rollup@4.24.0)': - dependencies: - '@types/estree': 1.0.6 - estree-walker: 2.0.2 - picomatch: 2.3.1 - optionalDependencies: - rollup: 4.24.0 - '@rollup/pluginutils@5.1.2(rollup@4.24.0)': dependencies: '@types/estree': 1.0.6 @@ -9236,15 +9012,6 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 - '@shikijs/core@1.18.0': - dependencies: - '@shikijs/engine-javascript': 1.18.0 - '@shikijs/engine-oniguruma': 1.18.0 - '@shikijs/types': 1.18.0 - '@shikijs/vscode-textmate': 9.2.2 - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.3 - '@shikijs/core@1.20.0': dependencies: '@shikijs/engine-javascript': 1.20.0 @@ -9254,48 +9021,57 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 + '@shikijs/core@1.22.0': + dependencies: + '@shikijs/engine-javascript': 1.22.0 + '@shikijs/engine-oniguruma': 1.22.0 + '@shikijs/types': 1.22.0 + '@shikijs/vscode-textmate': 9.3.0 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.3 + '@shikijs/engine-javascript@1.17.0': dependencies: '@shikijs/types': 1.17.0 oniguruma-to-js: 0.3.3 regex: 4.3.2 - '@shikijs/engine-javascript@1.18.0': - dependencies: - '@shikijs/types': 1.18.0 - '@shikijs/vscode-textmate': 9.2.2 - oniguruma-to-js: 0.4.3 - '@shikijs/engine-javascript@1.20.0': dependencies: '@shikijs/types': 1.20.0 '@shikijs/vscode-textmate': 9.2.2 oniguruma-to-js: 0.4.3 + '@shikijs/engine-javascript@1.22.0': + dependencies: + '@shikijs/types': 1.22.0 + '@shikijs/vscode-textmate': 9.3.0 + oniguruma-to-js: 0.4.3 + '@shikijs/engine-oniguruma@1.17.0': dependencies: '@shikijs/types': 1.17.0 '@shikijs/vscode-textmate': 9.2.2 - '@shikijs/engine-oniguruma@1.18.0': - dependencies: - '@shikijs/types': 1.18.0 - '@shikijs/vscode-textmate': 9.2.2 - '@shikijs/engine-oniguruma@1.20.0': dependencies: '@shikijs/types': 1.20.0 '@shikijs/vscode-textmate': 9.2.2 + '@shikijs/engine-oniguruma@1.22.0': + dependencies: + '@shikijs/types': 1.22.0 + '@shikijs/vscode-textmate': 9.3.0 + '@shikijs/transformers@1.17.0': dependencies: shiki: 1.17.0 - '@shikijs/twoslash@1.18.0(typescript@5.6.2)': + '@shikijs/twoslash@1.22.0(typescript@5.6.3)': dependencies: - '@shikijs/core': 1.18.0 - '@shikijs/types': 1.18.0 - twoslash: 0.2.11(typescript@5.6.2) + '@shikijs/core': 1.22.0 + '@shikijs/types': 1.22.0 + twoslash: 0.2.12(typescript@5.6.3) transitivePeerDependencies: - supports-color - typescript @@ -9305,27 +9081,27 @@ snapshots: '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 - '@shikijs/types@1.18.0': - dependencies: - '@shikijs/vscode-textmate': 9.2.2 - '@types/hast': 3.0.4 - '@shikijs/types@1.20.0': dependencies: '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 - '@shikijs/vitepress-twoslash@1.17.0(@nuxt/kit@packages+kit)(typescript@5.6.2)': + '@shikijs/types@1.22.0': dependencies: - '@shikijs/twoslash': 1.18.0(typescript@5.6.2) - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.5.10(typescript@5.6.2)) + '@shikijs/vscode-textmate': 9.3.0 + '@types/hast': 3.0.4 + + '@shikijs/vitepress-twoslash@1.17.0(@nuxt/kit@packages+kit)(typescript@5.6.3)': + dependencies: + '@shikijs/twoslash': 1.22.0(typescript@5.6.3) + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.5.11(typescript@5.6.3)) mdast-util-from-markdown: 2.0.1 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 shiki: 1.17.0 - twoslash: 0.2.11(typescript@5.6.2) - twoslash-vue: 0.2.11(typescript@5.6.2) - vue: 3.5.10(typescript@5.6.2) + twoslash: 0.2.12(typescript@5.6.3) + twoslash-vue: 0.2.11(typescript@5.6.3) + vue: 3.5.11(typescript@5.6.3) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -9333,6 +9109,8 @@ snapshots: '@shikijs/vscode-textmate@9.2.2': {} + '@shikijs/vscode-textmate@9.3.0': {} + '@sidvind/better-ajv-errors@3.0.1(ajv@8.17.1)': dependencies: ajv: 8.17.1 @@ -9344,12 +9122,12 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} - '@stylistic/eslint-plugin@2.8.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)': + '@stylistic/eslint-plugin@2.8.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) - eslint: 9.11.1(jiti@2.3.1) - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) + eslint: 9.12.0(jiti@2.3.3) + eslint-visitor-keys: 4.1.0 + espree: 10.2.0 estraverse: 5.3.0 picomatch: 4.0.2 transitivePeerDependencies: @@ -9358,7 +9136,7 @@ snapshots: '@testing-library/dom@9.3.4': dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 '@babel/runtime': 7.25.6 '@types/aria-query': 5.0.4 aria-query: 5.1.3 @@ -9367,14 +9145,14 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2))': + '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3))': dependencies: '@babel/runtime': 7.25.6 '@testing-library/dom': 9.3.4 '@vue/test-utils': 2.4.6 - vue: 3.5.10(typescript@5.6.2) + vue: 3.5.11(typescript@5.6.3) optionalDependencies: - '@vue/compiler-sfc': 3.5.10 + '@vue/compiler-sfc': 3.5.11 '@trysound/sax@0.2.0': {} @@ -9384,7 +9162,7 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 '@types/debug@4.1.12': dependencies: @@ -9415,7 +9193,7 @@ snapshots: '@types/http-proxy@1.17.15': dependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 '@types/istanbul-lib-coverage@2.0.6': {} @@ -9443,9 +9221,9 @@ snapshots: '@types/node-sass@4.11.7': dependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 - '@types/node@20.16.10': + '@types/node@20.16.11': dependencies: undici-types: 6.19.8 @@ -9459,7 +9237,7 @@ snapshots: '@types/sass-loader@8.0.9': dependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 '@types/node-sass': 4.11.7 '@types/webpack': 4.41.39 sass: 1.78.0 @@ -9486,7 +9264,7 @@ snapshots: '@types/webpack-bundle-analyzer@4.7.0': dependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 tapable: 2.2.1 webpack: 5.95.0 transitivePeerDependencies: @@ -9508,13 +9286,13 @@ snapshots: '@types/webpack-sources@3.2.3': dependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 '@types/source-list-map': 0.1.6 source-map: 0.7.4 '@types/webpack@4.41.39': dependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 '@types/tapable': 1.0.12 '@types/uglify-js': 3.17.5 '@types/webpack-sources': 3.2.3 @@ -9529,34 +9307,34 @@ snapshots: '@types/youtube@0.1.0': {} - '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2))(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3))(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) + '@typescript-eslint/parser': 8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/type-utils': 8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) - '@typescript-eslint/utils': 8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) + '@typescript-eslint/type-utils': 8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) + '@typescript-eslint/utils': 8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.5.0 - eslint: 9.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.2) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)': + '@typescript-eslint/parser@8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: '@typescript-eslint/scope-manager': 8.5.0 '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.3) '@typescript-eslint/visitor-keys': 8.5.0 debug: 4.3.7 - eslint: 9.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -9565,35 +9343,28 @@ snapshots: '@typescript-eslint/types': 8.5.0 '@typescript-eslint/visitor-keys': 8.5.0 - '@typescript-eslint/scope-manager@8.7.0': - dependencies: - '@typescript-eslint/types': 8.7.0 - '@typescript-eslint/visitor-keys': 8.7.0 - '@typescript-eslint/scope-manager@8.8.0': dependencies: '@typescript-eslint/types': 8.8.0 '@typescript-eslint/visitor-keys': 8.8.0 - '@typescript-eslint/type-utils@8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) debug: 4.3.7 - ts-api-utils: 1.3.0(typescript@5.6.2) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - eslint - supports-color '@typescript-eslint/types@8.5.0': {} - '@typescript-eslint/types@8.7.0': {} - '@typescript-eslint/types@8.8.0': {} - '@typescript-eslint/typescript-estree@8.5.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@8.5.0(typescript@5.6.3)': dependencies: '@typescript-eslint/types': 8.5.0 '@typescript-eslint/visitor-keys': 8.5.0 @@ -9602,28 +9373,13 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.2) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.7.0(typescript@5.6.2)': - dependencies: - '@typescript-eslint/types': 8.7.0 - '@typescript-eslint/visitor-keys': 8.7.0 - debug: 4.3.7 - fast-glob: 3.3.2 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.2) - optionalDependencies: - typescript: 5.6.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.8.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@8.8.0(typescript@5.6.3)': dependencies: '@typescript-eslint/types': 8.8.0 '@typescript-eslint/visitor-keys': 8.8.0 @@ -9632,41 +9388,30 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.2) + ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.5.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)': + '@typescript-eslint/utils@8.5.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@2.3.1)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.3.3)) '@typescript-eslint/scope-manager': 8.5.0 '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) - eslint: 9.11.1(jiti@2.3.1) + '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.3) + eslint: 9.12.0(jiti@2.3.3) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.7.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)': + '@typescript-eslint/utils@8.8.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@2.3.1)) - '@typescript-eslint/scope-manager': 8.7.0 - '@typescript-eslint/types': 8.7.0 - '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.6.2) - eslint: 9.11.1(jiti@2.3.1) - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/utils@8.8.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@2.3.1)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.3.3)) '@typescript-eslint/scope-manager': 8.8.0 '@typescript-eslint/types': 8.8.0 - '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.2) - eslint: 9.11.1(jiti@2.3.1) + '@typescript-eslint/typescript-estree': 8.8.0(typescript@5.6.3) + eslint: 9.12.0(jiti@2.3.3) transitivePeerDependencies: - supports-color - typescript @@ -9676,20 +9421,15 @@ snapshots: '@typescript-eslint/types': 8.5.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.7.0': - dependencies: - '@typescript-eslint/types': 8.7.0 - eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.8.0': dependencies: '@typescript-eslint/types': 8.8.0 eslint-visitor-keys: 3.4.3 - '@typescript/vfs@1.6.0(typescript@5.6.2)': + '@typescript/vfs@1.6.0(typescript@5.6.3)': dependencies: debug: 4.3.7 - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -9728,42 +9468,42 @@ snapshots: '@unhead/schema': 1.11.7 '@unhead/shared': 1.11.7 - '@unhead/vue@1.11.6(vue@3.5.10(typescript@5.6.2))': + '@unhead/vue@1.11.6(vue@3.5.11(typescript@5.6.3))': dependencies: '@unhead/schema': 1.11.6 '@unhead/shared': 1.11.6 defu: 6.1.4 hookable: 5.5.3 unhead: 1.11.6 - vue: 3.5.10(typescript@5.6.2) + vue: 3.5.11(typescript@5.6.3) - '@unhead/vue@1.11.7(vue@3.5.10(typescript@5.6.2))': + '@unhead/vue@1.11.7(vue@3.5.11(typescript@5.6.3))': dependencies: '@unhead/schema': 1.11.7 '@unhead/shared': 1.11.7 defu: 6.1.4 hookable: 5.5.3 unhead: 1.11.7 - vue: 3.5.10(typescript@5.6.2) + vue: 3.5.11(typescript@5.6.3) - '@unocss/astro@0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))': + '@unocss/astro@0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))': dependencies: '@unocss/core': 0.62.4 '@unocss/reset': 0.62.4 - '@unocss/vite': 0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + '@unocss/vite': 0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) optionalDependencies: - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - rollup - supports-color - '@unocss/astro@0.63.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))': + '@unocss/astro@0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))': dependencies: - '@unocss/core': 0.63.2 - '@unocss/reset': 0.63.2 - '@unocss/vite': 0.63.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + '@unocss/core': 0.63.4 + '@unocss/reset': 0.63.4 + '@unocss/vite': 0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) optionalDependencies: - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - rollup - supports-color @@ -9787,13 +9527,13 @@ snapshots: - rollup - supports-color - '@unocss/cli@0.63.2(rollup@4.24.0)': + '@unocss/cli@0.63.4(rollup@4.24.0)': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.2(rollup@4.24.0) - '@unocss/config': 0.63.2 - '@unocss/core': 0.63.2 - '@unocss/preset-uno': 0.63.2 + '@unocss/config': 0.63.4 + '@unocss/core': 0.63.4 + '@unocss/preset-uno': 0.63.4 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 @@ -9813,24 +9553,24 @@ snapshots: transitivePeerDependencies: - supports-color - '@unocss/config@0.63.2': + '@unocss/config@0.63.4': dependencies: - '@unocss/core': 0.63.2 + '@unocss/core': 0.63.4 unconfig: 0.5.5 transitivePeerDependencies: - supports-color '@unocss/core@0.62.4': {} - '@unocss/core@0.63.2': {} + '@unocss/core@0.63.4': {} '@unocss/extractor-arbitrary-variants@0.62.4': dependencies: '@unocss/core': 0.62.4 - '@unocss/extractor-arbitrary-variants@0.63.2': + '@unocss/extractor-arbitrary-variants@0.63.4': dependencies: - '@unocss/core': 0.63.2 + '@unocss/core': 0.63.4 '@unocss/inspector@0.62.4': dependencies: @@ -9839,14 +9579,14 @@ snapshots: gzip-size: 6.0.0 sirv: 2.0.4 - '@unocss/inspector@0.63.2': + '@unocss/inspector@0.63.4': dependencies: - '@unocss/core': 0.63.2 - '@unocss/rule-utils': 0.63.2 + '@unocss/core': 0.63.4 + '@unocss/rule-utils': 0.63.4 gzip-size: 6.0.0 sirv: 2.0.4 - '@unocss/nuxt@0.62.4(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(webpack@5.95.0(esbuild@0.24.0))': + '@unocss/nuxt@0.62.4(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(webpack@5.95.0(esbuild@0.24.0))': dependencies: '@nuxt/kit': link:packages/kit '@unocss/config': 0.62.4 @@ -9859,9 +9599,9 @@ snapshots: '@unocss/preset-web-fonts': 0.62.4 '@unocss/preset-wind': 0.62.4 '@unocss/reset': 0.62.4 - '@unocss/vite': 0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + '@unocss/vite': 0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) '@unocss/webpack': 0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)) - unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) transitivePeerDependencies: - postcss - rollup @@ -9880,11 +9620,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@unocss/postcss@0.63.2(postcss@8.4.47)': + '@unocss/postcss@0.63.4(postcss@8.4.47)': dependencies: - '@unocss/config': 0.63.2 - '@unocss/core': 0.63.2 - '@unocss/rule-utils': 0.63.2 + '@unocss/config': 0.63.4 + '@unocss/core': 0.63.4 + '@unocss/rule-utils': 0.63.4 css-tree: 3.0.0 postcss: 8.4.47 tinyglobby: 0.2.9 @@ -9895,23 +9635,23 @@ snapshots: dependencies: '@unocss/core': 0.62.4 - '@unocss/preset-attributify@0.63.2': + '@unocss/preset-attributify@0.63.4': dependencies: - '@unocss/core': 0.63.2 + '@unocss/core': 0.63.4 '@unocss/preset-icons@0.62.4': dependencies: '@iconify/utils': 2.1.33 '@unocss/core': 0.62.4 - ofetch: 1.4.0 + ofetch: 1.4.1 transitivePeerDependencies: - supports-color - '@unocss/preset-icons@0.63.2': + '@unocss/preset-icons@0.63.4': dependencies: '@iconify/utils': 2.1.33 - '@unocss/core': 0.63.2 - ofetch: 1.4.0 + '@unocss/core': 0.63.4 + ofetch: 1.4.1 transitivePeerDependencies: - supports-color @@ -9921,29 +9661,29 @@ snapshots: '@unocss/extractor-arbitrary-variants': 0.62.4 '@unocss/rule-utils': 0.62.4 - '@unocss/preset-mini@0.63.2': + '@unocss/preset-mini@0.63.4': dependencies: - '@unocss/core': 0.63.2 - '@unocss/extractor-arbitrary-variants': 0.63.2 - '@unocss/rule-utils': 0.63.2 + '@unocss/core': 0.63.4 + '@unocss/extractor-arbitrary-variants': 0.63.4 + '@unocss/rule-utils': 0.63.4 '@unocss/preset-tagify@0.62.4': dependencies: '@unocss/core': 0.62.4 - '@unocss/preset-tagify@0.63.2': + '@unocss/preset-tagify@0.63.4': dependencies: - '@unocss/core': 0.63.2 + '@unocss/core': 0.63.4 '@unocss/preset-typography@0.62.4': dependencies: '@unocss/core': 0.62.4 '@unocss/preset-mini': 0.62.4 - '@unocss/preset-typography@0.63.2': + '@unocss/preset-typography@0.63.4': dependencies: - '@unocss/core': 0.63.2 - '@unocss/preset-mini': 0.63.2 + '@unocss/core': 0.63.4 + '@unocss/preset-mini': 0.63.4 '@unocss/preset-uno@0.62.4': dependencies: @@ -9952,22 +9692,22 @@ snapshots: '@unocss/preset-wind': 0.62.4 '@unocss/rule-utils': 0.62.4 - '@unocss/preset-uno@0.63.2': + '@unocss/preset-uno@0.63.4': dependencies: - '@unocss/core': 0.63.2 - '@unocss/preset-mini': 0.63.2 - '@unocss/preset-wind': 0.63.2 - '@unocss/rule-utils': 0.63.2 + '@unocss/core': 0.63.4 + '@unocss/preset-mini': 0.63.4 + '@unocss/preset-wind': 0.63.4 + '@unocss/rule-utils': 0.63.4 '@unocss/preset-web-fonts@0.62.4': dependencies: '@unocss/core': 0.62.4 - ofetch: 1.4.0 + ofetch: 1.4.1 - '@unocss/preset-web-fonts@0.63.2': + '@unocss/preset-web-fonts@0.63.4': dependencies: - '@unocss/core': 0.63.2 - ofetch: 1.4.0 + '@unocss/core': 0.63.4 + ofetch: 1.4.1 '@unocss/preset-wind@0.62.4': dependencies: @@ -9975,41 +9715,41 @@ snapshots: '@unocss/preset-mini': 0.62.4 '@unocss/rule-utils': 0.62.4 - '@unocss/preset-wind@0.63.2': + '@unocss/preset-wind@0.63.4': dependencies: - '@unocss/core': 0.63.2 - '@unocss/preset-mini': 0.63.2 - '@unocss/rule-utils': 0.63.2 + '@unocss/core': 0.63.4 + '@unocss/preset-mini': 0.63.4 + '@unocss/rule-utils': 0.63.4 '@unocss/reset@0.62.4': {} - '@unocss/reset@0.63.2': {} + '@unocss/reset@0.63.4': {} '@unocss/rule-utils@0.62.4': dependencies: '@unocss/core': 0.62.4 magic-string: 0.30.11 - '@unocss/rule-utils@0.63.2': + '@unocss/rule-utils@0.63.4': dependencies: - '@unocss/core': 0.63.2 + '@unocss/core': 0.63.4 magic-string: 0.30.11 '@unocss/transformer-attributify-jsx@0.62.4': dependencies: '@unocss/core': 0.62.4 - '@unocss/transformer-attributify-jsx@0.63.2': + '@unocss/transformer-attributify-jsx@0.63.4': dependencies: - '@unocss/core': 0.63.2 + '@unocss/core': 0.63.4 '@unocss/transformer-compile-class@0.62.4': dependencies: '@unocss/core': 0.62.4 - '@unocss/transformer-compile-class@0.63.2': + '@unocss/transformer-compile-class@0.63.4': dependencies: - '@unocss/core': 0.63.2 + '@unocss/core': 0.63.4 '@unocss/transformer-directives@0.62.4': dependencies: @@ -10017,21 +9757,21 @@ snapshots: '@unocss/rule-utils': 0.62.4 css-tree: 2.3.1 - '@unocss/transformer-directives@0.63.2': + '@unocss/transformer-directives@0.63.4': dependencies: - '@unocss/core': 0.63.2 - '@unocss/rule-utils': 0.63.2 + '@unocss/core': 0.63.4 + '@unocss/rule-utils': 0.63.4 css-tree: 3.0.0 '@unocss/transformer-variant-group@0.62.4': dependencies: '@unocss/core': 0.62.4 - '@unocss/transformer-variant-group@0.63.2': + '@unocss/transformer-variant-group@0.63.4': dependencies: - '@unocss/core': 0.63.2 + '@unocss/core': 0.63.4 - '@unocss/vite@0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))': + '@unocss/vite@0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.2(rollup@4.24.0) @@ -10041,22 +9781,22 @@ snapshots: chokidar: 3.6.0 magic-string: 0.30.11 tinyglobby: 0.2.9 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - rollup - supports-color - '@unocss/vite@0.63.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))': + '@unocss/vite@0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.2(rollup@4.24.0) - '@unocss/config': 0.63.2 - '@unocss/core': 0.63.2 - '@unocss/inspector': 0.63.2 + '@unocss/config': 0.63.4 + '@unocss/core': 0.63.4 + '@unocss/inspector': 0.63.4 chokidar: 3.6.0 magic-string: 0.30.11 tinyglobby: 0.2.9 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - rollup - supports-color @@ -10095,22 +9835,22 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))': + '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))': dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) - '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.2) - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) - vue: 3.5.10(typescript@5.6.2) + '@babel/core': 7.25.7 + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.7) + '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.7) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) + vue: 3.5.11(typescript@5.6.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.1.4(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))': + '@vitejs/plugin-vue@5.1.4(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))': dependencies: - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) - vue: 3.5.10(typescript@5.6.2) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) + vue: 3.5.11(typescript@5.6.3) - '@vitest/coverage-v8@2.1.2(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))': + '@vitest/coverage-v8@2.1.2(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -10124,7 +9864,7 @@ snapshots: std-env: 3.7.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + vitest: 2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - supports-color @@ -10141,13 +9881,13 @@ snapshots: chai: 5.1.1 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.2(@vitest/spy@2.1.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))': + '@vitest/mocker@2.1.2(@vitest/spy@2.1.2)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))': dependencies: '@vitest/spy': 2.1.2 estree-walker: 3.0.3 magic-string: 0.30.11 optionalDependencies: - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) '@vitest/pretty-format@2.1.2': dependencies: @@ -10209,78 +9949,78 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue-macros/common@1.12.3(rollup@4.24.0)(vue@3.5.10(typescript@5.6.2))': + '@vue-macros/common@1.12.3(rollup@4.24.0)(vue@3.5.11(typescript@5.6.3))': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 '@rollup/pluginutils': 5.1.2(rollup@4.24.0) - '@vue/compiler-sfc': 3.5.10 + '@vue/compiler-sfc': 3.5.11 ast-kit: 1.1.0 local-pkg: 0.5.0 magic-string-ast: 0.6.2 optionalDependencies: - vue: 3.5.10(typescript@5.6.2) + vue: 3.5.11(typescript@5.6.3) transitivePeerDependencies: - rollup '@vue/babel-helper-vue-transform-on@1.2.5': {} - '@vue/babel-plugin-jsx@1.2.5(@babel/core@7.25.2)': + '@vue/babel-plugin-jsx@1.2.5(@babel/core@7.25.7)': dependencies: - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.25.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 + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.7) + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.25.7 '@vue/babel-helper-vue-transform-on': 1.2.5 - '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.25.2) + '@vue/babel-plugin-resolve-type': 1.2.5(@babel/core@7.25.7) html-tags: 3.3.1 svg-tags: 1.0.0 optionalDependencies: - '@babel/core': 7.25.2 + '@babel/core': 7.25.7 transitivePeerDependencies: - supports-color - '@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.25.2)': + '@vue/babel-plugin-resolve-type@1.2.5(@babel/core@7.25.7)': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/core': 7.25.2 - '@babel/helper-module-imports': 7.24.7 + '@babel/code-frame': 7.25.7 + '@babel/core': 7.25.7 + '@babel/helper-module-imports': 7.25.7 '@babel/helper-plugin-utils': 7.24.8 - '@babel/parser': 7.25.6 - '@vue/compiler-sfc': 3.5.10 + '@babel/parser': 7.25.7 + '@vue/compiler-sfc': 3.5.11 transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.5.10': + '@vue/compiler-core@3.5.11': dependencies: - '@babel/parser': 7.25.6 - '@vue/shared': 3.5.10 + '@babel/parser': 7.25.7 + '@vue/shared': 3.5.11 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.10': + '@vue/compiler-dom@3.5.11': dependencies: - '@vue/compiler-core': 3.5.10 - '@vue/shared': 3.5.10 + '@vue/compiler-core': 3.5.11 + '@vue/shared': 3.5.11 - '@vue/compiler-sfc@3.5.10': + '@vue/compiler-sfc@3.5.11': dependencies: - '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.10 - '@vue/compiler-dom': 3.5.10 - '@vue/compiler-ssr': 3.5.10 - '@vue/shared': 3.5.10 + '@babel/parser': 7.25.7 + '@vue/compiler-core': 3.5.11 + '@vue/compiler-dom': 3.5.11 + '@vue/compiler-ssr': 3.5.11 + '@vue/shared': 3.5.11 estree-walker: 2.0.2 magic-string: 0.30.11 postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.10': + '@vue/compiler-ssr@3.5.11': dependencies: - '@vue/compiler-dom': 3.5.10 - '@vue/shared': 3.5.10 + '@vue/compiler-dom': 3.5.11 + '@vue/shared': 3.5.11 '@vue/compiler-vue2@2.7.16': dependencies: @@ -10293,15 +10033,15 @@ snapshots: dependencies: '@vue/devtools-kit': 7.4.6 - '@vue/devtools-core@7.4.4(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue@3.5.10(typescript@5.6.2))': + '@vue/devtools-core@7.4.4(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue@3.5.11(typescript@5.6.3))': dependencies: '@vue/devtools-kit': 7.4.6 '@vue/devtools-shared': 7.4.6 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) - vue: 3.5.10(typescript@5.6.2) + vite-hot-client: 0.2.3(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) + vue: 3.5.11(typescript@5.6.3) transitivePeerDependencies: - vite @@ -10329,63 +10069,63 @@ snapshots: dependencies: rfdc: 1.4.1 - '@vue/language-core@2.1.6(typescript@5.6.2)': + '@vue/language-core@2.1.6(typescript@5.6.3)': dependencies: '@volar/language-core': 2.4.4 - '@vue/compiler-dom': 3.5.10 + '@vue/compiler-dom': 3.5.11 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.10 + '@vue/shared': 3.5.11 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 - '@vue/reactivity@3.5.10': + '@vue/reactivity@3.5.11': dependencies: - '@vue/shared': 3.5.10 + '@vue/shared': 3.5.11 - '@vue/runtime-core@3.5.10': + '@vue/runtime-core@3.5.11': dependencies: - '@vue/reactivity': 3.5.10 - '@vue/shared': 3.5.10 + '@vue/reactivity': 3.5.11 + '@vue/shared': 3.5.11 - '@vue/runtime-dom@3.5.10': + '@vue/runtime-dom@3.5.11': dependencies: - '@vue/reactivity': 3.5.10 - '@vue/runtime-core': 3.5.10 - '@vue/shared': 3.5.10 + '@vue/reactivity': 3.5.11 + '@vue/runtime-core': 3.5.11 + '@vue/shared': 3.5.11 csstype: 3.1.3 - '@vue/server-renderer@3.5.10(vue@3.5.10(typescript@5.6.2))': + '@vue/server-renderer@3.5.11(vue@3.5.11(typescript@5.6.3))': dependencies: - '@vue/compiler-ssr': 3.5.10 - '@vue/shared': 3.5.10 - vue: 3.5.10(typescript@5.6.2) + '@vue/compiler-ssr': 3.5.11 + '@vue/shared': 3.5.11 + vue: 3.5.11(typescript@5.6.3) - '@vue/shared@3.5.10': {} + '@vue/shared@3.5.11': {} '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.15.1 vue-component-type-helpers: 2.1.6 - '@vueuse/core@11.1.0(vue@3.5.10(typescript@5.6.2))': + '@vueuse/core@11.1.0(vue@3.5.11(typescript@5.6.3))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 11.1.0 - '@vueuse/shared': 11.1.0(vue@3.5.10(typescript@5.6.2)) - vue-demi: 0.14.10(vue@3.5.10(typescript@5.6.2)) + '@vueuse/shared': 11.1.0(vue@3.5.11(typescript@5.6.3)) + vue-demi: 0.14.10(vue@3.5.11(typescript@5.6.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@11.1.0(focus-trap@7.6.0)(vue@3.5.10(typescript@5.6.2))': + '@vueuse/integrations@11.1.0(focus-trap@7.6.0)(vue@3.5.11(typescript@5.6.3))': dependencies: - '@vueuse/core': 11.1.0(vue@3.5.10(typescript@5.6.2)) - '@vueuse/shared': 11.1.0(vue@3.5.10(typescript@5.6.2)) - vue-demi: 0.14.10(vue@3.5.10(typescript@5.6.2)) + '@vueuse/core': 11.1.0(vue@3.5.11(typescript@5.6.3)) + '@vueuse/shared': 11.1.0(vue@3.5.11(typescript@5.6.3)) + vue-demi: 0.14.10(vue@3.5.11(typescript@5.6.3)) optionalDependencies: focus-trap: 7.6.0 transitivePeerDependencies: @@ -10394,21 +10134,21 @@ snapshots: '@vueuse/metadata@11.1.0': {} - '@vueuse/nuxt@11.1.0(nuxt@packages+nuxt)(vue@3.5.10(typescript@5.6.2))': + '@vueuse/nuxt@11.1.0(nuxt@packages+nuxt)(vue@3.5.11(typescript@5.6.3))': dependencies: '@nuxt/kit': link:packages/kit - '@vueuse/core': 11.1.0(vue@3.5.10(typescript@5.6.2)) + '@vueuse/core': 11.1.0(vue@3.5.11(typescript@5.6.3)) '@vueuse/metadata': 11.1.0 local-pkg: 0.5.0 nuxt: link:packages/nuxt - vue-demi: 0.14.10(vue@3.5.10(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.11(typescript@5.6.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/shared@11.1.0(vue@3.5.10(typescript@5.6.2))': + '@vueuse/shared@11.1.0(vue@3.5.11(typescript@5.6.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.10(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.11(typescript@5.6.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -10629,12 +10369,12 @@ snapshots: ast-kit@1.1.0: dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.25.7 pathe: 1.1.2 ast-walker-scope@0.6.2: dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.25.7 ast-kit: 1.1.0 async-sema@3.1.1: {} @@ -10643,8 +10383,8 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001660 + browserslist: 4.24.0 + caniuse-lite: 1.0.30001667 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.0 @@ -10659,7 +10399,7 @@ snapshots: babel-walk@3.0.0-canary-5: dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.25.7 bail@2.0.2: {} @@ -10695,13 +10435,6 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.3: - dependencies: - caniuse-lite: 1.0.30001660 - electron-to-chromium: 1.5.19 - node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) - browserslist@4.24.0: dependencies: caniuse-lite: 1.0.30001667 @@ -10732,16 +10465,16 @@ snapshots: c12@1.11.2(magicast@0.3.5): dependencies: chokidar: 3.6.0 - confbox: 0.1.7 + confbox: 0.1.8 defu: 6.1.4 dotenv: 16.4.5 giget: 1.2.3 jiti: 1.21.6 - mlly: 1.7.1 + mlly: 1.7.2 ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.2.0 + pkg-types: 1.2.1 rc9: 2.1.2 optionalDependencies: magicast: 0.3.5 @@ -10749,16 +10482,16 @@ snapshots: c12@2.0.1(magicast@0.3.5): dependencies: chokidar: 4.0.1 - confbox: 0.1.7 + confbox: 0.1.8 defu: 6.1.4 dotenv: 16.4.5 giget: 1.2.3 - jiti: 2.3.1 - mlly: 1.7.1 + jiti: 2.3.3 + mlly: 1.7.2 ohash: 1.1.4 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.2.0 + pkg-types: 1.2.1 rc9: 2.1.2 optionalDependencies: magicast: 0.3.5 @@ -10777,13 +10510,11 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.23.3 - caniuse-lite: 1.0.30001660 + browserslist: 4.24.0 + caniuse-lite: 1.0.30001667 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001660: {} - caniuse-lite@1.0.30001667: {} case-police@0.7.0: {} @@ -10829,10 +10560,10 @@ snapshots: convert-gitmoji: 0.1.5 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.4.0 + ofetch: 1.4.1 open: 10.1.0 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 scule: 1.3.0 semver: 7.6.3 std-env: 3.7.0 @@ -10956,7 +10687,7 @@ snapshots: concat-map@0.0.1: {} - confbox@0.1.7: {} + confbox@0.1.8: {} config-chain@1.1.13: dependencies: @@ -10969,8 +10700,8 @@ snapshots: constantinople@4.0.1: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 convert-gitmoji@0.1.5: {} @@ -10984,27 +10715,27 @@ snapshots: core-js-compat@3.38.1: dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 core-util-is@1.0.3: {} - cosmiconfig@8.3.6(typescript@5.6.2): + cosmiconfig@8.3.6(typescript@5.6.3): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 - cosmiconfig@9.0.0(typescript@5.6.2): + cosmiconfig@9.0.0(typescript@5.6.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 crc-32@1.2.2: {} @@ -11093,7 +10824,7 @@ snapshots: cssnano-preset-default@7.0.6(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 css-declaration-sorter: 7.2.0(postcss@8.4.47) cssnano-utils: 5.0.0(postcss@8.4.47) postcss: 8.4.47 @@ -11316,8 +11047,6 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.19: {} - electron-to-chromium@1.5.32: {} emoji-regex@8.0.0: {} @@ -11537,10 +11266,10 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-flat-gitignore@0.3.0(eslint@9.11.1(jiti@2.3.1)): + eslint-config-flat-gitignore@0.3.0(eslint@9.12.0(jiti@2.3.3)): dependencies: '@eslint/compat': 1.1.1 - eslint: 9.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) find-up-simple: 1.0.0 eslint-flat-config-utils@0.4.0: @@ -11555,12 +11284,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.2.1(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2): + eslint-plugin-import-x@4.2.1(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3): dependencies: - '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.0 is-glob: 4.0.3 @@ -11572,15 +11301,15 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.2.2(eslint@9.11.1(jiti@2.3.1)): + eslint-plugin-jsdoc@50.2.2(eslint@9.12.0(jiti@2.3.3)): 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.11.1(jiti@2.3.1) - espree: 10.1.0 + eslint: 9.12.0(jiti@2.3.3) + espree: 10.2.0 esquery: 1.6.0 parse-imports: 2.1.1 semver: 7.6.3 @@ -11591,38 +11320,38 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@3.8.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.11.1(jiti@2.3.1))): + eslint-plugin-perfectionist@3.8.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.12.0(jiti@2.3.3))): dependencies: '@typescript-eslint/types': 8.8.0 - '@typescript-eslint/utils': 8.8.0(eslint@9.11.1(jiti@2.3.1))(typescript@5.6.2) - eslint: 9.11.1(jiti@2.3.1) + '@typescript-eslint/utils': 8.8.0(eslint@9.12.0(jiti@2.3.3))(typescript@5.6.3) + eslint: 9.12.0(jiti@2.3.3) minimatch: 9.0.5 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.11.1(jiti@2.3.1)) + vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@2.3.3)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-regexp@2.6.0(eslint@9.11.1(jiti@2.3.1)): + eslint-plugin-regexp@2.6.0(eslint@9.12.0(jiti@2.3.3)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@2.3.1)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.3.3)) '@eslint-community/regexpp': 4.11.0 comment-parser: 1.4.1 - eslint: 9.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) 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.11.1(jiti@2.3.1)): + eslint-plugin-unicorn@55.0.0(eslint@9.12.0(jiti@2.3.3)): dependencies: - '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@2.3.1)) + '@babel/helper-validator-identifier': 7.25.7 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.3.3)) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.38.1 - eslint: 9.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) esquery: 1.6.0 globals: 15.9.0 indent-string: 4.0.0 @@ -11635,16 +11364,16 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-vue@9.28.0(eslint@9.11.1(jiti@2.3.1)): + eslint-plugin-vue@9.28.0(eslint@9.12.0(jiti@2.3.3)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@2.3.1)) - eslint: 9.11.1(jiti@2.3.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.3.3)) + eslint: 9.12.0(jiti@2.3.3) 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.11.1(jiti@2.3.1)) + vue-eslint-parser: 9.4.3(eslint@9.12.0(jiti@2.3.3)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -11659,33 +11388,33 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.0.2: + eslint-scope@8.1.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-typegen@0.3.2(eslint@9.11.1(jiti@2.3.1)): + eslint-typegen@0.3.2(eslint@9.12.0(jiti@2.3.3)): dependencies: - eslint: 9.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) json-schema-to-typescript-lite: 14.1.0 ohash: 1.1.4 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.0.0: {} + eslint-visitor-keys@4.1.0: {} - eslint@9.11.1(jiti@2.3.1): + eslint@9.12.0(jiti@2.3.3): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@2.3.1)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0(jiti@2.3.3)) '@eslint-community/regexpp': 4.11.0 '@eslint/config-array': 0.18.0 '@eslint/core': 0.6.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.11.1 + '@eslint/js': 9.12.0 '@eslint/plugin-kit': 0.2.0 + '@humanfs/node': 0.16.5 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.3.0 - '@nodelib/fs.walk': 1.2.8 + '@humanwhocodes/retry': 0.3.1 '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 ajv: 6.12.6 @@ -11693,9 +11422,9 @@ snapshots: cross-spawn: 7.0.3 debug: 4.3.7 escape-string-regexp: 4.0.0 - eslint-scope: 8.0.2 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 + eslint-scope: 8.1.0 + eslint-visitor-keys: 4.1.0 + espree: 10.2.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -11705,24 +11434,22 @@ snapshots: ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 text-table: 0.2.0 optionalDependencies: - jiti: 2.3.1 + jiti: 2.3.3 transitivePeerDependencies: - supports-color - espree@10.1.0: + espree@10.2.0: dependencies: acorn: 8.12.1 acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 4.0.0 + eslint-visitor-keys: 4.1.0 espree@9.6.1: dependencies: @@ -11785,7 +11512,7 @@ snapshots: externality@1.0.2: dependencies: enhanced-resolve: 5.17.1 - mlly: 1.7.1 + mlly: 1.7.2 pathe: 1.1.2 ufo: 1.5.4 @@ -11860,11 +11587,11 @@ snapshots: flatted@3.3.1: {} - floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.5.10(typescript@5.6.2)): + floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.5.11(typescript@5.6.3)): dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.5.10(typescript@5.6.2) - vue-resize: 2.0.0-alpha.1(vue@3.5.10(typescript@5.6.2)) + vue: 3.5.11(typescript@5.6.3) + vue-resize: 2.0.0-alpha.1(vue@3.5.11(typescript@5.6.3)) optionalDependencies: '@nuxt/kit': link:packages/kit @@ -11881,12 +11608,12 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.2)(webpack@5.95.0): + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.95.0): dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 chalk: 4.1.2 chokidar: 3.6.0 - cosmiconfig: 8.3.6(typescript@5.6.2) + cosmiconfig: 8.3.6(typescript@5.6.3) deepmerge: 4.3.1 fs-extra: 10.1.0 memfs: 3.5.3 @@ -11895,7 +11622,7 @@ snapshots: schema-utils: 3.3.0 semver: 7.6.3 tapable: 2.2.1 - typescript: 5.6.2 + typescript: 5.6.3 webpack: 5.95.0 fraction.js@4.3.7: {} @@ -12221,7 +11948,7 @@ snapshots: html-tags@3.3.1: {} - html-validate@8.24.0(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0)): + html-validate@8.24.1(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0)): dependencies: '@html-validate/stylish': 4.2.0 '@sidvind/better-ajv-errors': 3.0.1(ajv@8.17.1) @@ -12234,13 +11961,13 @@ snapshots: prompts: 2.4.2 semver: 7.6.3 optionalDependencies: - vitest: 2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + vitest: 2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) html-void-elements@3.0.0: {} - htmlnano@2.1.1(cssnano@7.0.6(postcss@8.4.47))(postcss@8.4.47)(svgo@3.3.2)(terser@5.32.0)(typescript@5.6.2): + htmlnano@2.1.1(cssnano@7.0.6(postcss@8.4.47))(postcss@8.4.47)(svgo@3.3.2)(terser@5.32.0)(typescript@5.6.3): dependencies: - cosmiconfig: 9.0.0(typescript@5.6.2) + cosmiconfig: 9.0.0(typescript@5.6.3) posthtml: 0.16.6 timsort: 0.3.0 optionalDependencies: @@ -12323,8 +12050,8 @@ snapshots: impound@0.1.0(rollup@4.24.0)(webpack-sources@3.2.3): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) - mlly: 1.7.1 + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + mlly: 1.7.2 pathe: 1.1.2 unenv: 1.10.0 unplugin: 1.14.1(webpack-sources@3.2.3) @@ -12461,8 +12188,6 @@ snapshots: is-number@7.0.0: {} - is-path-inside@3.0.3: {} - is-path-inside@4.0.0: {} is-plain-obj@4.1.0: {} @@ -12563,7 +12288,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.16.10 + '@types/node': 20.16.11 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -12571,13 +12296,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -12586,7 +12311,7 @@ snapshots: jiti@2.0.0-beta.3: {} - jiti@2.3.1: {} + jiti@2.3.3: {} js-beautify@1.15.1: dependencies: @@ -12612,8 +12337,6 @@ snapshots: jsesc@0.5.0: {} - jsesc@2.5.2: {} - jsesc@3.0.2: {} json-buffer@3.0.1: {} @@ -12701,7 +12424,7 @@ snapshots: h3: 1.12.0 http-shutdown: 1.2.2 jiti: 1.21.6 - mlly: 1.7.1 + mlly: 1.7.2 node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 @@ -12729,8 +12452,8 @@ snapshots: local-pkg@0.5.0: dependencies: - mlly: 1.7.1 - pkg-types: 1.2.0 + mlly: 1.7.2 + pkg-types: 1.2.1 locate-path@5.0.0: dependencies: @@ -12784,8 +12507,8 @@ snapshots: magicast@0.3.5: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 source-map-js: 1.2.1 make-dir@3.1.0: @@ -12957,7 +12680,7 @@ snapshots: dependencies: fs-monkey: 1.0.6 - memfs@4.12.0: + memfs@4.13.0: dependencies: '@jsonjoy.com/json-pack': 1.1.0(tslib@2.7.0) '@jsonjoy.com/util': 1.3.0(tslib@2.7.0) @@ -13236,7 +12959,7 @@ snapshots: mkdirp@1.0.4: {} - mkdist@1.5.9(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)): + mkdist@1.5.9(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3)): dependencies: autoprefixer: 10.4.20(postcss@8.4.47) citty: 0.1.6 @@ -13245,22 +12968,22 @@ snapshots: esbuild: 0.23.1 fast-glob: 3.3.2 jiti: 1.21.6 - mlly: 1.7.1 + mlly: 1.7.2 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 postcss: 8.4.47 postcss-nested: 6.2.0(postcss@8.4.47) semver: 7.6.3 optionalDependencies: sass: 1.78.0 - typescript: 5.6.2 - vue-tsc: 2.1.6(typescript@5.6.2) + typescript: 5.6.3 + vue-tsc: 2.1.6(typescript@5.6.3) - mlly@1.7.1: + mlly@1.7.2: dependencies: acorn: 8.12.1 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 ufo: 1.5.4 mri@1.2.0: {} @@ -13296,7 +13019,7 @@ snapshots: '@rollup/plugin-node-resolve': 15.2.3(rollup@4.24.0) '@rollup/plugin-replace': 5.0.7(rollup@4.24.0) '@rollup/plugin-terser': 0.4.4(rollup@4.24.0) - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) '@types/http-proxy': 1.17.15 '@vercel/nft': 0.26.5 archiver: 7.0.1 @@ -13328,15 +13051,15 @@ snapshots: listhen: 1.7.2 magic-string: 0.30.11 mime: 4.0.4 - mlly: 1.7.1 + mlly: 1.7.2 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.4.0 + ofetch: 1.4.1 ohash: 1.1.4 openapi-typescript: 6.7.6 pathe: 1.1.2 perfect-debounce: 1.0.0 - pkg-types: 1.2.0 + pkg-types: 1.2.1 pretty-bytes: 6.1.1 radix3: 1.1.2 rollup: 4.24.0 @@ -13443,16 +13166,16 @@ snapshots: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema '@nuxtjs/mdc': 0.8.3(webpack-sources@3.2.3) - '@shikijs/vitepress-twoslash': 1.17.0(@nuxt/kit@packages+kit)(typescript@5.6.2) + '@shikijs/vitepress-twoslash': 1.17.0(@nuxt/kit@packages+kit)(typescript@5.6.3) cac: 6.7.14 chokidar: 3.6.0 fast-glob: 3.3.2 pathe: 1.1.2 picocolors: 1.1.0 remark-parse: 11.0.0 - shiki: 1.18.0 - twoslash: 0.2.11(typescript@5.6.2) - typescript: 5.6.2 + shiki: 1.20.0 + twoslash: 0.2.12(typescript@5.6.3) + typescript: 5.6.3 unified: 11.0.5 unist-util-visit: 5.0.0 transitivePeerDependencies: @@ -13464,7 +13187,7 @@ snapshots: consola: 3.2.3 execa: 8.0.1 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 ufo: 1.5.4 object-assign@4.1.1: {} @@ -13485,7 +13208,7 @@ snapshots: has-symbols: 1.0.3 object-keys: 1.1.1 - ofetch@1.4.0: + ofetch@1.4.1: dependencies: destr: 2.0.3 node-fetch-native: 1.6.4 @@ -13597,7 +13320,7 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 @@ -13660,13 +13383,13 @@ snapshots: pify@6.1.0: {} - pkg-types@1.2.0: + pkg-types@1.2.1: dependencies: - confbox: 0.1.7 - mlly: 1.7.1 + confbox: 0.1.8 + mlly: 1.7.2 pathe: 1.1.2 - playwright-core@1.47.2: {} + playwright-core@1.48.0: {} pluralize@8.0.0: {} @@ -13680,7 +13403,7 @@ snapshots: postcss-colormin@7.0.2(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.47 @@ -13688,7 +13411,7 @@ snapshots: postcss-convert-values@7.0.4(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -13720,9 +13443,9 @@ snapshots: read-cache: 1.0.0 resolve: 1.22.8 - postcss-loader@8.1.1(postcss@8.4.47)(typescript@5.6.2)(webpack@5.95.0): + postcss-loader@8.1.1(postcss@8.4.47)(typescript@5.6.3)(webpack@5.95.0): dependencies: - cosmiconfig: 9.0.0(typescript@5.6.2) + cosmiconfig: 9.0.0(typescript@5.6.3) jiti: 1.21.6 postcss: 8.4.47 semver: 7.6.3 @@ -13741,7 +13464,7 @@ snapshots: postcss-merge-rules@7.0.4(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 cssnano-utils: 5.0.0(postcss@8.4.47) postcss: 8.4.47 @@ -13761,7 +13484,7 @@ snapshots: postcss-minify-params@7.0.2(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 cssnano-utils: 5.0.0(postcss@8.4.47) postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -13829,7 +13552,7 @@ snapshots: postcss-normalize-unicode@7.0.2(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -13851,7 +13574,7 @@ snapshots: postcss-reduce-initial@7.0.2(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-api: 3.0.0 postcss: 8.4.47 @@ -14256,13 +13979,13 @@ snapshots: glob: 11.0.0 package-json-from-dist: 1.0.0 - rollup-plugin-dts@6.1.1(rollup@4.24.0)(typescript@5.6.2): + rollup-plugin-dts@6.1.1(rollup@4.24.0)(typescript@5.6.3): dependencies: magic-string: 0.30.11 rollup: 4.24.0 - typescript: 5.6.2 + typescript: 5.6.3 optionalDependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 rollup-plugin-visualizer@5.12.0(rollup@4.24.0): dependencies: @@ -14442,15 +14165,6 @@ snapshots: '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 - shiki@1.18.0: - dependencies: - '@shikijs/core': 1.18.0 - '@shikijs/engine-javascript': 1.18.0 - '@shikijs/engine-oniguruma': 1.18.0 - '@shikijs/types': 1.18.0 - '@shikijs/vscode-textmate': 9.2.2 - '@types/hast': 3.0.4 - shiki@1.20.0: dependencies: '@shikijs/core': 1.20.0 @@ -14612,7 +14326,7 @@ snapshots: stylehacks@7.0.4(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 postcss: 8.4.47 postcss-selector-parser: 6.1.2 @@ -14772,9 +14486,9 @@ snapshots: trough@2.2.0: {} - ts-api-utils@1.3.0(typescript@5.6.2): + ts-api-utils@1.3.0(typescript@5.6.3): dependencies: - typescript: 5.6.2 + typescript: 5.6.3 tslib@2.7.0: {} @@ -14787,20 +14501,30 @@ snapshots: twoslash-protocol@0.2.11: {} - twoslash-vue@0.2.11(typescript@5.6.2): + twoslash-protocol@0.2.12: {} + + twoslash-vue@0.2.11(typescript@5.6.3): dependencies: - '@vue/language-core': 2.1.6(typescript@5.6.2) - twoslash: 0.2.11(typescript@5.6.2) + '@vue/language-core': 2.1.6(typescript@5.6.3) + twoslash: 0.2.11(typescript@5.6.3) twoslash-protocol: 0.2.11 - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - twoslash@0.2.11(typescript@5.6.2): + twoslash@0.2.11(typescript@5.6.3): dependencies: - '@typescript/vfs': 1.6.0(typescript@5.6.2) + '@typescript/vfs': 1.6.0(typescript@5.6.3) twoslash-protocol: 0.2.11 - typescript: 5.6.2 + typescript: 5.6.3 + transitivePeerDependencies: + - supports-color + + twoslash@0.2.12(typescript@5.6.3): + dependencies: + '@typescript/vfs': 1.6.0(typescript@5.6.3) + twoslash-protocol: 0.2.12 + typescript: 5.6.3 transitivePeerDependencies: - supports-color @@ -14820,7 +14544,7 @@ snapshots: type-fest@3.13.1: {} - typescript@5.6.2: {} + typescript@5.6.3: {} uc.micro@2.1.0: {} @@ -14828,14 +14552,14 @@ snapshots: ultrahtml@1.5.3: {} - unbuild@2.0.0(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)): + unbuild@2.0.0(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3)): dependencies: '@rollup/plugin-alias': 5.1.0(rollup@4.24.0) '@rollup/plugin-commonjs': 25.0.8(rollup@4.24.0) '@rollup/plugin-json': 6.1.0(rollup@4.24.0) '@rollup/plugin-node-resolve': 15.2.3(rollup@4.24.0) '@rollup/plugin-replace': 5.0.7(rollup@4.24.0) - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) chalk: 5.3.0 citty: 0.1.6 consola: 3.2.3 @@ -14845,17 +14569,17 @@ snapshots: hookable: 5.5.3 jiti: 1.21.6 magic-string: 0.30.11 - mkdist: 1.5.9(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) - mlly: 1.7.1 + mkdist: 1.5.9(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.6(typescript@5.6.3)) + mlly: 1.7.2 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 pretty-bytes: 6.1.1 rollup: 4.24.0 - rollup-plugin-dts: 6.1.1(rollup@4.24.0)(typescript@5.6.2) + rollup-plugin-dts: 6.1.1(rollup@4.24.0)(typescript@5.6.3) scule: 1.3.0 untyped: 1.5.1 optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - sass - supports-color @@ -14931,9 +14655,9 @@ snapshots: fast-glob: 3.3.2 local-pkg: 0.5.0 magic-string: 0.30.11 - mlly: 1.7.1 + mlly: 1.7.2 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 scule: 1.3.0 strip-literal: 2.1.0 unplugin: 1.14.1(webpack-sources@3.2.3) @@ -14970,9 +14694,9 @@ snapshots: universalify@2.0.1: {} - unocss@0.62.4(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)): + unocss@0.62.4(@unocss/webpack@0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)))(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)): dependencies: - '@unocss/astro': 0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + '@unocss/astro': 0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) '@unocss/cli': 0.62.4(rollup@4.24.0) '@unocss/core': 0.62.4 '@unocss/postcss': 0.62.4(postcss@8.4.47) @@ -14988,59 +14712,59 @@ snapshots: '@unocss/transformer-compile-class': 0.62.4 '@unocss/transformer-directives': 0.62.4 '@unocss/transformer-variant-group': 0.62.4 - '@unocss/vite': 0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + '@unocss/vite': 0.62.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) optionalDependencies: '@unocss/webpack': 0.62.4(rollup@4.24.0)(webpack@5.95.0(esbuild@0.24.0)) - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - postcss - rollup - supports-color - unocss@0.63.2(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)): + unocss@0.63.4(postcss@8.4.47)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)): dependencies: - '@unocss/astro': 0.63.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) - '@unocss/cli': 0.63.2(rollup@4.24.0) - '@unocss/core': 0.63.2 - '@unocss/postcss': 0.63.2(postcss@8.4.47) - '@unocss/preset-attributify': 0.63.2 - '@unocss/preset-icons': 0.63.2 - '@unocss/preset-mini': 0.63.2 - '@unocss/preset-tagify': 0.63.2 - '@unocss/preset-typography': 0.63.2 - '@unocss/preset-uno': 0.63.2 - '@unocss/preset-web-fonts': 0.63.2 - '@unocss/preset-wind': 0.63.2 - '@unocss/transformer-attributify-jsx': 0.63.2 - '@unocss/transformer-compile-class': 0.63.2 - '@unocss/transformer-directives': 0.63.2 - '@unocss/transformer-variant-group': 0.63.2 - '@unocss/vite': 0.63.2(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + '@unocss/astro': 0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) + '@unocss/cli': 0.63.4(rollup@4.24.0) + '@unocss/core': 0.63.4 + '@unocss/postcss': 0.63.4(postcss@8.4.47) + '@unocss/preset-attributify': 0.63.4 + '@unocss/preset-icons': 0.63.4 + '@unocss/preset-mini': 0.63.4 + '@unocss/preset-tagify': 0.63.4 + '@unocss/preset-typography': 0.63.4 + '@unocss/preset-uno': 0.63.4 + '@unocss/preset-web-fonts': 0.63.4 + '@unocss/preset-wind': 0.63.4 + '@unocss/transformer-attributify-jsx': 0.63.4 + '@unocss/transformer-compile-class': 0.63.4 + '@unocss/transformer-directives': 0.63.4 + '@unocss/transformer-variant-group': 0.63.4 + '@unocss/vite': 0.63.4(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) optionalDependencies: - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - postcss - rollup - supports-color - unplugin-vue-router@0.10.8(rollup@4.24.0)(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3): + unplugin-vue-router@0.10.8(rollup@4.24.0)(vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3): dependencies: - '@babel/types': 7.25.6 - '@rollup/pluginutils': 5.1.0(rollup@4.24.0) - '@vue-macros/common': 1.12.3(rollup@4.24.0)(vue@3.5.10(typescript@5.6.2)) + '@babel/types': 7.25.7 + '@rollup/pluginutils': 5.1.2(rollup@4.24.0) + '@vue-macros/common': 1.12.3(rollup@4.24.0)(vue@3.5.11(typescript@5.6.3)) 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 + mlly: 1.7.2 pathe: 1.1.2 scule: 1.3.0 unplugin: 1.14.1(webpack-sources@3.2.3) yaml: 2.5.1 optionalDependencies: - vue-router: 4.4.5(vue@3.5.10(typescript@5.6.2)) + vue-router: 4.4.5(vue@3.5.11(typescript@5.6.3)) transitivePeerDependencies: - rollup - vue @@ -15063,7 +14787,7 @@ snapshots: lru-cache: 10.4.3 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.4.0 + ofetch: 1.4.1 ufo: 1.5.4 optionalDependencies: ioredis: 5.4.1 @@ -15082,7 +14806,7 @@ snapshots: '@babel/standalone': 7.25.7 '@babel/types': 7.25.7 defu: 6.1.4 - jiti: 2.3.1 + jiti: 2.3.3 mri: 1.2.0 scule: 1.3.0 transitivePeerDependencies: @@ -15092,19 +14816,13 @@ snapshots: dependencies: knitwork: 1.1.0 magic-string: 0.30.11 - mlly: 1.7.1 + mlly: 1.7.2 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 unplugin: 1.14.1(webpack-sources@3.2.3) transitivePeerDependencies: - webpack-sources - update-browserslist-db@1.1.0(browserslist@4.23.3): - dependencies: - browserslist: 4.23.3 - escalade: 3.2.0 - picocolors: 1.1.0 - update-browserslist-db@1.1.0(browserslist@4.24.0): dependencies: browserslist: 4.24.0 @@ -15130,13 +14848,13 @@ snapshots: util-deprecate@1.0.2: {} - v-lazy-show@0.2.4(@vue/compiler-core@3.5.10): + v-lazy-show@0.2.4(@vue/compiler-core@3.5.11): dependencies: - '@vue/compiler-core': 3.5.10 + '@vue/compiler-core': 3.5.11 - valibot@0.42.1(typescript@5.6.2): + valibot@0.42.1(typescript@5.6.3): optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 validate-npm-package-license@3.0.4: dependencies: @@ -15158,17 +14876,17 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-hot-client@0.2.3(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)): + vite-hot-client@0.2.3(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)): dependencies: - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) - vite-node@1.6.0(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0): + vite-node@1.6.0(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 picocolors: 1.1.0 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -15180,12 +14898,12 @@ snapshots: - supports-color - terser - vite-node@2.1.2(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0): + vite-node@2.1.2(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0): dependencies: cac: 6.7.14 debug: 4.3.7 pathe: 1.1.2 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -15197,9 +14915,9 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.8.0(eslint@9.11.1(jiti@2.3.1))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vue-tsc@2.1.6(typescript@5.6.2)): + vite-plugin-checker@0.8.0(eslint@9.12.0(jiti@2.3.3))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vue-tsc@2.1.6(typescript@5.6.3)): dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 ansi-escapes: 4.3.2 chalk: 4.1.2 chokidar: 3.6.0 @@ -15209,18 +14927,18 @@ snapshots: npm-run-path: 4.0.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.3 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(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.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) optionator: 0.9.4 - typescript: 5.6.2 - vue-tsc: 2.1.6(typescript@5.6.2) + typescript: 5.6.3 + vue-tsc: 2.1.6(typescript@5.6.3) - vite-plugin-inspect@0.8.7(@nuxt/kit@packages+kit)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)): + vite-plugin-inspect@0.8.7(@nuxt/kit@packages+kit)(rollup@4.24.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.2(rollup@4.24.0) @@ -15231,42 +14949,42 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.0 sirv: 2.0.4 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) optionalDependencies: '@nuxt/kit': link:packages/kit transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@5.1.3(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)): + vite-plugin-vue-inspector@5.1.3(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(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.5(@babel/core@7.25.2) - '@vue/compiler-dom': 3.5.10 + '@babel/core': 7.25.7 + '@babel/plugin-proposal-decorators': 7.24.7(@babel/core@7.25.7) + '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.7) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.25.7) + '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.7) + '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.25.7) + '@vue/compiler-dom': 3.5.11 kolorist: 1.8.0 magic-string: 0.30.11 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - supports-color - vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0): + vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0): dependencies: esbuild: 0.21.5 postcss: 8.4.47 rollup: 4.24.0 optionalDependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 fsevents: 2.3.3 sass: 1.78.0 terser: 5.32.0 - vitest-environment-nuxt@1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.47.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3): + vitest-environment-nuxt@1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3): dependencies: - '@nuxt/test-utils': 3.14.2(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.47.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)))(vue@3.5.10(typescript@5.6.2))(webpack-sources@3.2.3) + '@nuxt/test-utils': 3.14.3(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3@1.12.0)(happy-dom@15.7.4)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.0)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)))(vue@3.5.11(typescript@5.6.3))(webpack-sources@3.2.3) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -15286,7 +15004,7 @@ snapshots: - vue-router - webpack-sources - vitest@1.6.0(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0): + vitest@1.6.0(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -15305,11 +15023,11 @@ snapshots: strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) - vite-node: 1.6.0(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) + vite-node: 1.6.0(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 happy-dom: 15.7.4 transitivePeerDependencies: - less @@ -15321,10 +15039,10 @@ snapshots: - supports-color - terser - vitest@2.1.2(@types/node@20.16.10)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0): + vitest@2.1.2(@types/node@20.16.11)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0): dependencies: '@vitest/expect': 2.1.2 - '@vitest/mocker': 2.1.2(@vitest/spy@2.1.2)(vite@5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0)) + '@vitest/mocker': 2.1.2(@vitest/spy@2.1.2)(vite@5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0)) '@vitest/pretty-format': 2.1.2 '@vitest/runner': 2.1.2 '@vitest/snapshot': 2.1.2 @@ -15339,11 +15057,11 @@ snapshots: tinyexec: 0.3.0 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.8(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) - vite-node: 2.1.2(@types/node@20.16.10)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.8(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) + vite-node: 2.1.2(@types/node@20.16.11)(sass@1.78.0)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.16.10 + '@types/node': 20.16.11 happy-dom: 15.7.4 transitivePeerDependencies: - less @@ -15387,16 +15105,16 @@ snapshots: vue-component-type-helpers@2.1.6: {} - vue-demi@0.14.10(vue@3.5.10(typescript@5.6.2)): + vue-demi@0.14.10(vue@3.5.11(typescript@5.6.3)): dependencies: - vue: 3.5.10(typescript@5.6.2) + vue: 3.5.11(typescript@5.6.3) vue-devtools-stub@0.1.0: {} - vue-eslint-parser@9.4.3(eslint@9.11.1(jiti@2.3.1)): + vue-eslint-parser@9.4.3(eslint@9.12.0(jiti@2.3.3)): dependencies: debug: 4.3.7 - eslint: 9.11.1(jiti@2.3.1) + eslint: 9.12.0(jiti@2.3.3) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -15406,41 +15124,41 @@ snapshots: transitivePeerDependencies: - supports-color - vue-loader@17.4.2(@vue/compiler-sfc@3.5.10)(vue@3.5.10(typescript@5.6.2))(webpack@5.95.0): + vue-loader@17.4.2(@vue/compiler-sfc@3.5.11)(vue@3.5.11(typescript@5.6.3))(webpack@5.95.0): dependencies: chalk: 4.1.2 hash-sum: 2.0.0 watchpack: 2.4.2 webpack: 5.95.0 optionalDependencies: - '@vue/compiler-sfc': 3.5.10 - vue: 3.5.10(typescript@5.6.2) + '@vue/compiler-sfc': 3.5.11 + vue: 3.5.11(typescript@5.6.3) - vue-resize@2.0.0-alpha.1(vue@3.5.10(typescript@5.6.2)): + vue-resize@2.0.0-alpha.1(vue@3.5.11(typescript@5.6.3)): dependencies: - vue: 3.5.10(typescript@5.6.2) + vue: 3.5.11(typescript@5.6.3) - vue-router@4.4.5(vue@3.5.10(typescript@5.6.2)): + vue-router@4.4.5(vue@3.5.11(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.10(typescript@5.6.2) + vue: 3.5.11(typescript@5.6.3) - vue-tsc@2.1.6(typescript@5.6.2): + vue-tsc@2.1.6(typescript@5.6.3): dependencies: '@volar/typescript': 2.4.4 - '@vue/language-core': 2.1.6(typescript@5.6.2) + '@vue/language-core': 2.1.6(typescript@5.6.3) semver: 7.6.3 - typescript: 5.6.2 + typescript: 5.6.3 - vue@3.5.10(typescript@5.6.2): + vue@3.5.11(typescript@5.6.3): dependencies: - '@vue/compiler-dom': 3.5.10 - '@vue/compiler-sfc': 3.5.10 - '@vue/runtime-dom': 3.5.10 - '@vue/server-renderer': 3.5.10(vue@3.5.10(typescript@5.6.2)) - '@vue/shared': 3.5.10 + '@vue/compiler-dom': 3.5.11 + '@vue/compiler-sfc': 3.5.11 + '@vue/runtime-dom': 3.5.11 + '@vue/server-renderer': 3.5.11(vue@3.5.11(typescript@5.6.3)) + '@vue/shared': 3.5.11 optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 watchpack@2.4.2: dependencies: @@ -15474,7 +15192,7 @@ snapshots: webpack-dev-middleware@7.4.2(webpack@5.95.0): dependencies: colorette: 2.0.20 - memfs: 4.12.0 + memfs: 4.13.0 mime-types: 2.1.35 on-finished: 2.4.1 range-parser: 1.2.1 @@ -15505,7 +15223,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.3 + browserslist: 4.24.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -15535,7 +15253,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.12.1 acorn: 8.12.1 acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.3 + browserslist: 4.24.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -15618,8 +15336,8 @@ snapshots: with@7.0.2: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.25.7 + '@babel/types': 7.25.7 assert-never: 1.3.0 babel-walk: 3.0.0-canary-5 diff --git a/test/basic.test.ts b/test/basic.test.ts index 20e645e373..ecf59e0ada 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -618,6 +618,11 @@ describe('pages', () => { expect(status).toBe(200) } }) + + it.skipIf(isDev() || isWebpack /* TODO: fix bug with import.meta.prerender being undefined in webpack build */)('prerenders pages hinted with a route rule', async () => { + const html = await $fetch('/prerender/test') + expect(html).toContain('should be prerendered: true') + }) }) describe('nuxt composables', () => { @@ -1834,7 +1839,13 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => { it('does not load stylesheet for page styles', async () => { const html: string = await $fetch('/styles') - expect(html.match(/]*href="[^"]*\.css">(?: crossorigin)?/g)?.filter(m => m.includes('entry'))?.map(m => m.replace(/\.[^.]*\.css/, '.css'))).toMatchInlineSnapshot(`undefined`) + const cssFiles = html.match(/]*href="[^"]*\.css"/g) + expect(cssFiles?.length).toBeGreaterThan(0) + expect(cssFiles?.filter(m => m.includes('entry'))?.map(m => m.replace(/\.[^.]*\.css/, '.css'))).toMatchInlineSnapshot(` + [ + " { diff --git a/test/bundle.test.ts b/test/bundle.test.ts index 7f4448fe4c..5ae7456c8d 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -40,7 +40,7 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"213k"`) const modules = await analyzeSizes(['node_modules/**/*'], serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1389k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1390k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) diff --git a/test/fixtures/basic/nuxt.config.ts b/test/fixtures/basic/nuxt.config.ts index afa740255d..aa710d94bc 100644 --- a/test/fixtures/basic/nuxt.config.ts +++ b/test/fixtures/basic/nuxt.config.ts @@ -67,6 +67,7 @@ export default defineNuxtConfig({ '/route-rules/middleware': { appMiddleware: 'route-rules-middleware' }, '/hydration/spa-redirection/**': { ssr: false }, '/no-scripts': { experimentalNoScripts: true }, + '/prerender/**': { prerender: true }, }, output: { dir: process.env.NITRO_OUTPUT_DIR }, prerender: { diff --git a/test/fixtures/basic/pages/prerender/test.vue b/test/fixtures/basic/pages/prerender/test.vue new file mode 100644 index 0000000000..8da7b99a6b --- /dev/null +++ b/test/fixtures/basic/pages/prerender/test.vue @@ -0,0 +1,9 @@ + + +