diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 411c41292..87c74f0eb 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,4 +1,4 @@ -FROM node:lts@sha256:48db4f6ea21d134be744207225753a1730c4bc1b4cdf836d44511c36bf0e34d7 +FROM node:lts@sha256:de4c8be8232b7081d8846360d73ce6dbff33c6636f2259cd14d82c0de1ac3ff2 RUN apt-get update && \ apt-get install -fy libnss3 libnspr4 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdbus-1-3 libdrm2 libxkbcommon0 libatspi2.0-0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2 && \ diff --git a/.github/workflows/autofix-docs.yml b/.github/workflows/autofix-docs.yml index 177fcd67a..b4ed01816 100644 --- a/.github/workflows/autofix-docs.yml +++ b/.github/workflows/autofix-docs.yml @@ -17,9 +17,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index c354778ed..4f65e10c0 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -13,9 +13,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index 7a4afb38b..a0ebe3284 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -29,9 +29,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" @@ -46,7 +46,7 @@ jobs: run: pnpm build - name: Run benchmarks - uses: CodSpeedHQ/action@ab07afd34cbbb7a1306e8d14b7cc44e029eee37a # v3.0.0 + uses: CodSpeedHQ/action@b587655f756aab640e742fec141261bc6f0a569d # v3.0.1 with: run: pnpm vitest bench token: ${{ secrets.CODSPEED_TOKEN }} diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml index 5a3063f19..e66a5f6fe 100644 --- a/.github/workflows/changelog.yml +++ b/.github/workflows/changelog.yml @@ -22,11 +22,11 @@ jobs: contents: write steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a2170138b..3f5453bd5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,9 +37,9 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" @@ -57,7 +57,7 @@ jobs: run: pnpm build - name: Cache dist - uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 + uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 with: retention-days: 3 name: dist @@ -72,10 +72,10 @@ jobs: security-events: write steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Initialize CodeQL - uses: github/codeql-action/init@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7 + uses: github/codeql-action/init@662472033e021d55d94146f66f6058822b0b39fd # v3.27.0 with: config: | paths: @@ -91,7 +91,7 @@ jobs: queries: +security-and-quality - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7 + uses: github/codeql-action/analyze@662472033e021d55d94146f66f6058822b0b39fd # v3.27.0 with: category: "/language:javascript-typescript" @@ -107,9 +107,9 @@ jobs: module: ["bundler", "node"] steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" @@ -138,9 +138,9 @@ jobs: timeout-minutes: 10 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" @@ -162,9 +162,9 @@ jobs: needs: - build steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" @@ -191,7 +191,7 @@ jobs: matrix: os: [ubuntu-latest, windows-latest] env: ["dev", "built"] - builder: ["vite", "webpack"] + builder: ["vite", "rspack", "webpack"] context: ["async", "default"] manifest: ["manifest-on", "manifest-off"] payload: ["json", "js"] @@ -199,12 +199,18 @@ jobs: exclude: - builder: "webpack" payload: "js" + - builder: "rspack" + payload: "js" - manifest: "manifest-off" payload: "js" - context: "default" payload: "js" - os: windows-latest payload: "js" + - env: "dev" + builder: "rspack" + - manifest: "manifest-off" + builder: "rspack" - env: "dev" builder: "webpack" - manifest: "manifest-off" @@ -213,9 +219,9 @@ jobs: timeout-minutes: 15 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: ${{ matrix.node }} cache: "pnpm" @@ -242,7 +248,7 @@ jobs: TEST_PAYLOAD: ${{ matrix.payload }} SKIP_BUNDLE_SIZE: ${{ github.event_name != 'push' || matrix.env == 'dev' || matrix.builder == 'webpack' || matrix.context == 'default' || matrix.payload == 'js' || runner.os == 'Windows' }} - - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0 + - uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # v4.6.0 if: github.event_name != 'push' && matrix.env == 'built' && matrix.builder == 'vite' && matrix.context == 'default' && matrix.os == 'ubuntu-latest' && matrix.manifest == 'manifest-on' with: token: ${{ secrets.CODECOV_TOKEN }} @@ -256,7 +262,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 @@ -266,11 +271,11 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" @@ -307,11 +312,11 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index 2aae50705..7194dec4d 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: 'Dependency Review' - uses: actions/dependency-review-action@5a2ce3f5b92ee19cbb1541a4984c76d921601d7c # v4.3.4 + uses: actions/dependency-review-action@4081bf99e2866ebe428fc0477b69eb4fcda7220a # v4.4.0 diff --git a/.github/workflows/docs-check-links.yml b/.github/workflows/docs-check-links.yml index cc4260e8b..f9e946dbf 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@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.1.2 with: path: .lycheecache key: cache-lychee-${{ github.sha }} restore-keys: cache-lychee- # check links with Lychee - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Lychee link checker - uses: lycheeverse/lychee-action@c38ba4f281730ee0d64e6963f49b708e01567b86 # for v1.8.0 + uses: lycheeverse/lychee-action@ae4699150ab670dcfb64cc74e8680e776d9caae2 # 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 bd12e4f3e..4353c01c5 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -21,9 +21,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/lint-sherif.yml b/.github/workflows/lint-sherif.yml index 7774d8909..1477d94c3 100644 --- a/.github/workflows/lint-sherif.yml +++ b/.github/workflows/lint-sherif.yml @@ -23,9 +23,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/lint-workflows.yml b/.github/workflows/lint-workflows.yml index 219ef1967..c8d76ec18 100644 --- a/.github/workflows/lint-workflows.yml +++ b/.github/workflows/lint-workflows.yml @@ -23,9 +23,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 # 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.1@sha256:435ecdb63b1169e80ca3e136290072548c07fc4d76a044cf5541021712f8f344 + uses: docker://rhysd/actionlint:1.7.4@sha256:82244e1db1c60d82c7792180a48dd0bcb838370bb589d53ff132503fc9485868 with: args: -color diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index 9f38c8c9d..b7b46ad74 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,13 +48,13 @@ jobs: fi echo "head_sha=$head_sha" >> "$GITHUB_OUTPUT" - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: ref: ${{ steps.pr.outputs.head_sha }} fetch-depth: 1 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 cache: "pnpm" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c597702bf..c0b74d25c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,11 +19,11 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 20 steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: fetch-depth: 0 - run: corepack enable - - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 + - uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0 with: node-version: 20 registry-url: "https://registry.npmjs.org/" diff --git a/.github/workflows/reproduire.yml b/.github/workflows/reproduire.yml index 4f02b2ce3..74288c20f 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - 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 e7392ea0c..74f94cb61 100644 --- a/.github/workflows/scorecards.yml +++ b/.github/workflows/scorecards.yml @@ -32,7 +32,7 @@ jobs: steps: - name: "Checkout code" - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 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@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3 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@8214744c546c1e5c8f03dde8fab3a7353211988d # v3.26.7 + uses: github/codeql-action/upload-sarif@662472033e021d55d94146f66f6058822b0b39fd # v3.27.0 if: github.repository == 'nuxt/nuxt' && success() with: sarif_file: results.sarif diff --git a/.github/workflows/semantic-pull-requests.yml b/.github/workflows/semantic-pull-requests.yml index e569c4acc..d563f5045 100644 --- a/.github/workflows/semantic-pull-requests.yml +++ b/.github/workflows/semantic-pull-requests.yml @@ -26,6 +26,7 @@ jobs: kit nuxi nuxt + rspack schema test-utils ui-templates diff --git a/.github/workflows/stackblitz-link.yml b/.github/workflows/stackblitz-link.yml index 997a48e84..ad97a4e67 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@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - uses: huang-julien/reproduire-sur-stackblitz@9ceccbfbb0f2f9a9a8db2d1f0dd909cf5cfe67aa # v1.0.2 with: reproduction-heading: '### Reproduction' diff --git a/docs/1.getting-started/1.introduction.md b/docs/1.getting-started/1.introduction.md index 2860e5bde..90f7e84da 100644 --- a/docs/1.getting-started/1.introduction.md +++ b/docs/1.getting-started/1.introduction.md @@ -2,7 +2,7 @@ title: Introduction description: Nuxt's goal is to make web development intuitive and performant with a great Developer Experience in mind. navigation: - icon: i-ph-info-duotone + icon: i-ph-info --- Nuxt is a free and [open-source framework](https://github.com/nuxt/nuxt) with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with [Vue.js](https://vuejs.org). diff --git a/docs/1.getting-started/10.deployment.md b/docs/1.getting-started/10.deployment.md index 9043f0035..4b341e6a7 100644 --- a/docs/1.getting-started/10.deployment.md +++ b/docs/1.getting-started/10.deployment.md @@ -1,7 +1,7 @@ --- title: 'Deployment' description: Learn how to deploy your Nuxt application to any hosting provider. -navigation.icon: i-ph-cloud-duotone +navigation.icon: i-ph-cloud --- A Nuxt application can be deployed on a Node.js server, pre-rendered for static hosting, or deployed to serverless or edge (CDN) environments. @@ -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/11.testing.md b/docs/1.getting-started/11.testing.md index aa5df5c71..60d0b8db1 100644 --- a/docs/1.getting-started/11.testing.md +++ b/docs/1.getting-started/11.testing.md @@ -1,7 +1,7 @@ --- title: Testing description: How to test your Nuxt application. -navigation.icon: i-ph-check-circle-duotone +navigation.icon: i-ph-check-circle --- ::tip @@ -10,7 +10,7 @@ If you are a module author, you can find more specific information in the [Modul Nuxt offers first-class support for end-to-end and unit testing of your Nuxt application via `@nuxt/test-utils`, a library of test utilities and configuration that currently powers the [tests we use on Nuxt itself](https://github.com/nuxt/nuxt/tree/main/test) and tests throughout the module ecosystem. -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=yGzwk9xi9gU" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=yGzwk9xi9gU" target="_blank"} Watch a video from Alexander Lichter about getting started with the `@nuxt/test-utils`. :: @@ -68,6 +68,10 @@ When importing `@nuxt/test-utils` in your vitest config, It is necessary to have > ie. `vitest.config.m{ts,js}`. :: +::tip +It is possible to set environment variables for testing by using the `.env.test` file. +:: + ### Using a Nuxt Runtime Environment By default, `@nuxt/test-utils` will not change your default Vitest environment, so you can do fine-grained opt-in and run Nuxt tests together with other unit tests. @@ -285,7 +289,7 @@ import { mockNuxtImport } from '@nuxt/test-utils/runtime' const { useStorageMock } = vi.hoisted(() => { return { - useStorageMock: vi.fn().mockImplementation(() => { + useStorageMock: vi.fn(() => { return { value: 'mocked storage'} }) } diff --git a/docs/1.getting-started/12.upgrade.md b/docs/1.getting-started/12.upgrade.md index 096aa164a..642592192 100644 --- a/docs/1.getting-started/12.upgrade.md +++ b/docs/1.getting-started/12.upgrade.md @@ -1,10 +1,9 @@ --- title: Upgrade Guide description: 'Learn how to upgrade to the latest Nuxt version.' -navigation.icon: i-ph-arrow-circle-up-duotone +navigation.icon: i-ph-arrow-circle-up --- - ## Upgrading Nuxt ### Latest release @@ -43,11 +42,11 @@ You can opt in to the 3.x branch nightly releases with `"nuxt": "npm:nuxt-nightl ## Testing Nuxt 4 -Nuxt 4 is planned to be released **on or before June 14** (though obviously this is dependent on having enough time after Nitro's major release to be properly tested in the community, so be aware that this is not an exact date). +The release date of Nuxt 4 is **to be announced**. It is dependent on having enough time after Nitro's major release to be properly tested in the community. You can follow progress towards Nitro's release in [this PR](https://github.com/unjs/nitro/pull/2521). -Until then, it is possible to test many of Nuxt 4's breaking changes from Nuxt version 3.12+. +Until the release, it is possible to test many of Nuxt 4's breaking changes from Nuxt version 3.12+. -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=r4wFKlcJK6c" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=r4wFKlcJK6c" target="_blank"} Watch a video from Alexander Lichter showing how to opt in to Nuxt 4's breaking changes already. :: @@ -68,11 +67,13 @@ export default defineNuxtConfig({ // app: 'app' // }, // experimental: { + // scanPageMeta: 'after-resolve', // sharedPrerenderData: false, // compileTemplate: true, // resetAsyncDataToUndefined: true, // templateUtils: true, // relativeWatchPaths: true, + // normalizeComponentNames: false // defaults: { // useAsyncData: { // deep: true @@ -178,6 +179,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` @@ -198,6 +200,82 @@ export default defineNuxtConfig({ }) ``` +#### Normalized Component Names + +๐Ÿšฆ **Impact Level**: Moderate + +Vue will now generate component names that match the Nuxt pattern for component naming. + +##### What Changed + +By default, if you haven't set it manually, Vue will assign a component name that matches +the filename of the component. + +```bash [Directory structure] +โ”œโ”€ components/ +โ”œโ”€โ”€โ”€ SomeFolder/ +โ”œโ”€โ”€โ”€โ”€โ”€ MyComponent.vue +``` + +In this case, the component name would be `MyComponent`, as far as Vue is concerned. If you wanted to use `` with it, or identify it in the Vue DevTools, you would need to use this name. + +But in order to auto-import it, you would need to use `SomeFolderMyComponent`. + +With this change, these two values will match, and Vue will generate a component name that matches the Nuxt pattern for component naming. + +##### Migration Steps + +Ensure that you use the updated name in any tests which use `findComponent` from `@vue/test-utils` and in any `` which depends on the name of your component. + +Alternatively, for now, you can disable this behaviour with: + +```ts twoslash [nuxt.config.ts] +export default defineNuxtConfig({ + experimental: { + normalizeComponentNames: false + } +}) +``` + +#### Scan Page Meta After Resolution + +๐Ÿšฆ **Impact Level**: Minimal + +##### What Changed + +We now scan page metadata (defined in `definePageMeta`) _after_ calling the `pages:extend` hook rather than before. + +##### Reasons for Change + +This was to allow scanning metadata for pages that users wanted to add in `pages:extend`. We still offer an opportunity to change or override page metadata in a new `pages:resolved` hook. + +##### Migration Steps + +If you want to override page metadata, do that in `pages:resolved` rather than in `pages:extend`. + +```diff + export default defineNuxtConfig({ + hooks: { +- 'pages:extend'(pages) { ++ 'pages:resolved'(pages) { + const myPage = pages.find(page => page.path === '/') + myPage.meta ||= {} + myPage.meta.layout = 'overridden-layout' + } + } + }) +``` + +Alternatively, you can revert to the previous behaviour with: + +```ts twoslash [nuxt.config.ts] +export default defineNuxtConfig({ + experimental: { + scanPageMeta: true + } +}) +``` + #### Shared Prerender Data ๐Ÿšฆ **Impact Level**: Medium @@ -407,7 +485,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/2.installation.md b/docs/1.getting-started/2.installation.md index 42bba1705..128a135f5 100644 --- a/docs/1.getting-started/2.installation.md +++ b/docs/1.getting-started/2.installation.md @@ -1,7 +1,7 @@ --- title: 'Installation' description: 'Get started with Nuxt quickly with our online starters or start locally with your terminal.' -navigation.icon: i-ph-play-duotone +navigation.icon: i-ph-play --- ## Play Online @@ -94,7 +94,7 @@ bun run dev -o ``` :: -::tip{icon="i-ph-check-circle-duotone"} +::tip{icon="i-ph-check-circle"} Well done! A browser window should automatically open for . :: diff --git a/docs/1.getting-started/3.configuration.md b/docs/1.getting-started/3.configuration.md index f3805f283..57eb019f6 100644 --- a/docs/1.getting-started/3.configuration.md +++ b/docs/1.getting-started/3.configuration.md @@ -1,10 +1,9 @@ --- title: Configuration description: Nuxt is configured with sensible defaults to make you productive. -navigation.icon: i-ph-gear-duotone +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 @@ -34,6 +33,7 @@ You don't have to use TypeScript to build an application with Nuxt. However, it You can configure fully typed, per-environment overrides in your nuxt.config ```ts twoslash [nuxt.config.ts] +// @errors: 2353 export default defineNuxtConfig({ $production: { routeRules: { @@ -42,11 +42,18 @@ export default defineNuxtConfig({ }, $development: { // - } + }, + $myCustomName: { + // + }, }) ``` -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=DFZI2iVCrNc" target="_blank"} +To select an environment when running a Nuxt CLI command, simply pass the name to the `--envName` flag, like so: `nuxi build --envName myCustomName`. + +To learn more about the mechanism behind these overrides, please refer to the `c12` documentation on [environment-specific configuration](https://github.com/unjs/c12?tab=readme-ov-file#environment-specific-configuration). + +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=DFZI2iVCrNc" target="_blank"} Watch a video from Alexander Lichter about the env-aware `nuxt.config.ts`. :: diff --git a/docs/1.getting-started/3.views.md b/docs/1.getting-started/3.views.md index a3275b05c..e169bdfa6 100644 --- a/docs/1.getting-started/3.views.md +++ b/docs/1.getting-started/3.views.md @@ -1,7 +1,7 @@ --- title: 'Views' description: 'Nuxt provides several component layers to implement the user interface of your application.' -navigation.icon: i-ph-layout-duotone +navigation.icon: i-ph-layout --- ## `app.vue` diff --git a/docs/1.getting-started/4.assets.md b/docs/1.getting-started/4.assets.md index ac0b964a2..a46f973de 100644 --- a/docs/1.getting-started/4.assets.md +++ b/docs/1.getting-started/4.assets.md @@ -1,7 +1,7 @@ --- title: 'Assets' description: 'Nuxt offers two options for your assets.' -navigation.icon: i-ph-image-duotone +navigation.icon: i-ph-image --- Nuxt uses two directories to handle assets like stylesheets, fonts or images. diff --git a/docs/1.getting-started/4.styling.md b/docs/1.getting-started/4.styling.md index 61ae9da78..d780ad344 100644 --- a/docs/1.getting-started/4.styling.md +++ b/docs/1.getting-started/4.styling.md @@ -1,7 +1,7 @@ --- title: 'Styling' description: 'Learn how to style your Nuxt application.' -navigation.icon: i-ph-palette-duotone +navigation.icon: i-ph-palette --- Nuxt is highly flexible when it comes to styling. Write your own styles, or reference local and external stylesheets. @@ -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 e39d5d446..e88d9e8c2 100644 --- a/docs/1.getting-started/5.routing.md +++ b/docs/1.getting-started/5.routing.md @@ -1,7 +1,7 @@ --- title: 'Routing' description: Nuxt file-system routing creates a route for every file in the pages/ directory. -navigation.icon: i-ph-signpost-duotone +navigation.icon: i-ph-signpost --- One core feature of Nuxt is the file system router. Every Vue file inside the [`pages/`](/docs/guide/directory-structure/pages) directory creates a corresponding URL (or route) that displays the contents of the file. By using dynamic imports for each page, Nuxt leverages code-splitting to ship the minimum amount of JavaScript for the requested route. @@ -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/1.getting-started/5.seo-meta.md b/docs/1.getting-started/5.seo-meta.md index 91b8fed31..46a3f2298 100644 --- a/docs/1.getting-started/5.seo-meta.md +++ b/docs/1.getting-started/5.seo-meta.md @@ -1,7 +1,7 @@ --- title: SEO and Meta description: Improve your Nuxt app's SEO with powerful head config, composables and components. -navigation.icon: i-ph-file-search-duotone +navigation.icon: i-ph-file-search --- ## Defaults diff --git a/docs/1.getting-started/5.transitions.md b/docs/1.getting-started/5.transitions.md index ccabe0ed6..dcef4b284 100644 --- a/docs/1.getting-started/5.transitions.md +++ b/docs/1.getting-started/5.transitions.md @@ -1,7 +1,7 @@ --- title: 'Transitions' description: Apply transitions between pages and layouts with Vue or native browser View Transitions. -navigation.icon: i-ph-exclude-square-duotone +navigation.icon: i-ph-exclude-square --- ::note diff --git a/docs/1.getting-started/6.data-fetching.md b/docs/1.getting-started/6.data-fetching.md index 39d82835c..8a369eaa0 100644 --- a/docs/1.getting-started/6.data-fetching.md +++ b/docs/1.getting-started/6.data-fetching.md @@ -1,28 +1,24 @@ --- title: 'Data fetching' description: Nuxt provides composables to handle data fetching within your application. -navigation.icon: i-ph-plugs-connected-duotone +navigation.icon: i-ph-plugs-connected --- Nuxt comes with two composables and a built-in library to perform data-fetching in browser or server environments: `useFetch`, [`useAsyncData`](/docs/api/composables/use-async-data) and `$fetch`. In a nutshell: -- [`useFetch`](/docs/api/composables/use-fetch) is the most straightforward way to handle data fetching in a component setup function. -- [`$fetch`](/docs/api/utils/dollarfetch) is great to make network requests based on user interaction. -- [`useAsyncData`](/docs/api/composables/use-async-data), combined with `$fetch`, offers more fine-grained control. +- [`$fetch`](/docs/api/utils/dollarfetch) is the simplest way to make a network request. +- [`useFetch`](/docs/api/composables/use-fetch) is wrapper around `$fetch` that fetches data only once in [universal rendering](/docs/guide/concepts/rendering#universal-rendering). +- [`useAsyncData`](/docs/api/composables/use-async-data) is similar to `useFetch` but offers more fine-grained control. Both `useFetch` and `useAsyncData` share a common set of options and patterns that we will detail in the last sections. -Before that, it's imperative to know why these composables exist in the first place. +## The need for `useFetch` and `useAsyncData` -## Why use specific composables for data fetching? +Nuxt is a framework which can run isomorphic (or universal) code in both server and client environments. If the [`$fetch` function](/docs/api/utils/dollarfetch) is used to perform data fetching in the setup function of a Vue component, this may cause data to be fetched twice, once on the server (to render the HTML) and once again on the client (when the HTML is hydrated). This can cause hydration issues, increase the time to interactivity and cause unpredictable behavior. -Nuxt is a framework which can run isomorphic (or universal) code in both server and client environments. If the [`$fetch` function](/docs/api/utils/dollarfetch) is used to perform data fetching in the setup function of a Vue component, this may cause data to be fetched twice, once on the server (to render the HTML) and once again on the client (when the HTML is hydrated). This is why Nuxt offers specific data fetching composables so data is fetched only once. - -### Network calls duplication - -The [`useFetch`](/docs/api/composables/use-fetch) and [`useAsyncData`](/docs/api/composables/use-async-data) composables ensure that once an API call is made on the server, the data is properly forwarded to the client in the payload. +The [`useFetch`](/docs/api/composables/use-fetch) and [`useAsyncData`](/docs/api/composables/use-async-data) composables solve this problem by ensuring that if an API call is made on the server, the data is forwarded to the client in the payload. The payload is a JavaScript object accessible through [`useNuxtApp().payload`](/docs/api/composables/use-nuxt-app#payload). It is used on the client to avoid refetching the same data when the code is executed in the browser [during hydration](/docs/guide/concepts/rendering#universal-rendering). @@ -30,41 +26,45 @@ The payload is a JavaScript object accessible through [`useNuxtApp().payload`](/ Use the [Nuxt DevTools](https://devtools.nuxt.com) to inspect this data in the **Payload tab**. :: +```vue [app.vue] + + + +``` + +In the example above, `useFetch` would make sure that the request would occur in the server and is properly forwarded to the browser. `$fetch` has no such mechanism and is a better option to use when the request is solely made from the browser. + ### Suspense -Nuxt uses Vueโ€™s [``](https://vuejs.org/guide/built-ins/suspense) component under the hood to prevent navigation before every async data is available to the view. The data fetching composables can help you leverage this feature and use what suits best on a per-calls basis. +Nuxt uses Vueโ€™s [``](https://vuejs.org/guide/built-ins/suspense) component under the hood to prevent navigation before every async data is available to the view. The data fetching composables can help you leverage this feature and use what suits best on a per-call basis. ::note You can add the [``](/docs/api/components/nuxt-loading-indicator) to add a progress bar between page navigations. :: -## `useFetch` - -The [`useFetch`](/docs/api/composables/use-fetch) composable is the most straightforward way to perform data fetching. - -```vue twoslash [app.vue] - - - -``` - -This composable is a wrapper around the [`useAsyncData`](/docs/api/composables/use-async-data) composable and `$fetch` utility. - -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=njsGVmcWviY" target="_blank"} -Watch the video from Alexander Lichter to avoid using `useFetch` the wrong way! -:: - -:read-more{to="/docs/api/composables/use-fetch"} - -:link-example{to="/docs/examples/features/data-fetching"} - ## `$fetch` -Nuxt includes the [ofetch](https://github.com/unjs/ofetch) library, and is auto-imported as the `$fetch` alias globally across your application. It's what `useFetch` uses behind the scenes. +Nuxt includes the [ofetch](https://github.com/unjs/ofetch) library, and is auto-imported as the `$fetch` alias globally across your application. ```vue twoslash [pages/todos.vue] +``` + +::caution +Be very careful before proxying headers to an external API and just include headers that you need. Not all headers are safe to be bypassed and might introduce unwanted behavior. Here is a list of common headers that are NOT to be proxied: + +- `host`, `accept` +- `content-length`, `content-md5`, `content-type` +- `x-forwarded-host`, `x-forwarded-port`, `x-forwarded-proto` +- `cf-connecting-ip`, `cf-ray` +:: + +::tip +You can also use [`useRequestFetch`](/docs/api/composables/use-request-fetch) to proxy headers to the call automatically. +:: + +## `useFetch` + +The [`useFetch`](/docs/api/composables/use-fetch) composable uses `$fetch` under-the-hood to make SSR-safe network calls in the setup function. + +```vue twoslash [app.vue] + + + +``` + +This composable is a wrapper around the [`useAsyncData`](/docs/api/composables/use-async-data) composable and `$fetch` utility. + +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=njsGVmcWviY" target="_blank"} +Watch the video from Alexander Lichter to avoid using `useFetch` the wrong way! +:: + +:read-more{to="/docs/api/composables/use-fetch"} + +:link-example{to="/docs/examples/features/data-fetching"} + ## `useAsyncData` The `useAsyncData` composable is responsible for wrapping async logic and returning the result once it is resolved. ::tip -`useFetch(url)` is nearly equivalent to `useAsyncData(url, () => $fetch(url))`. :br -It's developer experience sugar for the most common use case. +`useFetch(url)` is nearly equivalent to `useAsyncData(url, () => event.$fetch(url))`. :br +It's developer experience sugar for the most common use case. (You can find out more about `event.fetch` at [`useRequestFetch`](/docs/api/composables/use-request-fetch).) :: -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=0X-aOpSGabA" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=0X-aOpSGabA" target="_blank"} Watch a video from Alexander Lichter to dig deeper into the difference between `useFetch` and `useAsyncData`. :: @@ -434,32 +489,13 @@ For finer control, the `status` variable can be: - `error` when the fetch fails - `success` when the fetch is completed successfully -## Passing Headers and cookies +## Passing Headers and Cookies -When we call `$fetch` in the browser, user headers like `cookie` will be directly sent to the API. But during server-side-rendering, since the `$fetch` request takes place 'internally' within the server, it doesn't include the user's browser cookies, nor does it pass on cookies from the fetch response. +When we call `$fetch` in the browser, user headers like `cookie` will be directly sent to the API. -### Pass Client Headers to the API +Normally, during server-side-rendering, since the `$fetch` request takes place 'internally' within the server, it wouldn't include the user's browser cookies, nor pass on cookies from the fetch response. -We can use [`useRequestHeaders`](/docs/api/composables/use-request-headers) to access and proxy cookies to the API from server-side. - -The example below adds the request headers to an isomorphic `$fetch` call to ensure that the API endpoint has access to the same `cookie` header originally sent by the user. - -```vue - -``` - -::caution -Be very careful before proxying headers to an external API and just include headers that you need. Not all headers are safe to be bypassed and might introduce unwanted behavior. Here is a list of common headers that are NOT to be proxied: - -- `host`, `accept` -- `content-length`, `content-md5`, `content-type` -- `x-forwarded-host`, `x-forwarded-port`, `x-forwarded-proto` -- `cf-connecting-ip`, `cf-ray` -:: +However, when calling `useFetch` on the server, Nuxt will use [`useRequestFetch`](/docs/api/composables/use-request-fetch) to proxy headers and cookies (with the exception of headers not meant to be forwarded, like `host`). ### Pass Cookies From Server-side API Calls on SSR Response diff --git a/docs/1.getting-started/7.state-management.md b/docs/1.getting-started/7.state-management.md index 46e7b08ba..94bf67f6b 100644 --- a/docs/1.getting-started/7.state-management.md +++ b/docs/1.getting-started/7.state-management.md @@ -1,14 +1,14 @@ --- title: 'State Management' description: Nuxt provides powerful state management libraries and the useState composable to create a reactive and SSR-friendly shared state. -navigation.icon: i-ph-database-duotone +navigation.icon: i-ph-database --- Nuxt provides the [`useState`](/docs/api/composables/use-state) composable to create a reactive and SSR-friendly shared state across components. [`useState`](/docs/api/composables/use-state) is an SSR-friendly [`ref`](https://vuejs.org/api/reactivity-core.html#ref) replacement. Its value will be preserved after server-side rendering (during client-side hydration) and shared across all components using a unique key. -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=mv0WcBABcIk" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=mv0WcBABcIk" target="_blank"} Watch a video from Alexander Lichter about why and when to use `useState()`. :: @@ -27,7 +27,7 @@ Never define `const state = ref()` outside of ` ``` @@ -48,7 +48,7 @@ const double = computed(() => count.value * 2) ``` -### Vue and Nuxt composables +### Vue and Nuxt Composables @@ -60,11 +60,15 @@ That means that (with very few exceptions) you cannot use them outside a Nuxt pl If you get an error message like `Nuxt instance is unavailable` then it probably means you are calling a Nuxt composable in the wrong place in the Vue or Nuxt lifecycle. -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=ofuKRZLtOdY" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=ofuKRZLtOdY" target="_blank"} Watch a video from Alexander Lichter about handling async code in composables and fixing `Nuxt instance is unavailable` in your app. :: -::read-more{to="/docs/guide/going-further/experimental-features#asynccontext" icon="i-ph-star-duotone"} +::tip +When using a composable that requires the Nuxt context inside a non-SFC component, you need to wrap your component with `defineNuxtComponent` instead of `defineComponent` +:: + +::read-more{to="/docs/guide/going-further/experimental-features#asynccontext" icon="i-ph-star"} Checkout the `asyncContext` experimental feature to use Nuxt composables in async functions. :: @@ -155,7 +159,7 @@ export default defineNuxtConfig({ }) ``` -## Auto-import from third-party packages +## Auto-import from Third-Party Packages Nuxt also allows auto-importing from third-party packages. @@ -178,6 +182,6 @@ export default defineNuxtConfig({ }) ``` -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=FT2LQJ2NvVI" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=FT2LQJ2NvVI" target="_blank"} Watch a video from Alexander Lichter on how to easily set up custom auto imports. :: diff --git a/docs/2.guide/1.concepts/3.rendering.md b/docs/2.guide/1.concepts/3.rendering.md index 96fc08f10..535b8bf57 100644 --- a/docs/2.guide/1.concepts/3.rendering.md +++ b/docs/2.guide/1.concepts/3.rendering.md @@ -11,18 +11,41 @@ By default, Nuxt uses **universal rendering** to provide better user experience, ## Universal Rendering -When the browser requests a URL with universal (server-side + client-side) rendering enabled, the server returns a fully rendered HTML page to the browser. Whether the page has been generated in advance and cached or is rendered on the fly, at some point, Nuxt has run the JavaScript (Vue.js) code in a server environment, producing an HTML document. Users immediately get the content of our application, contrary to client-side rendering. This step is similar to traditional **server-side rendering** performed by PHP or Ruby applications. +This step is similar to traditional **server-side rendering** performed by PHP or Ruby applications. When the browser requests a URL with universal rendering enabled, Nuxt runs the JavaScript (Vue.js) code in a server environment and returns a fully rendered HTML page to the browser. Nuxt may also return a fully rendered HTML page from a cache if the page was generated in advance. Users immediately get the entirety of the initial content of the application, contrary to client-side rendering. -To not lose the benefits of the client-side rendering method, such as dynamic interfaces and pages transitions, the Client (browser) loads the JavaScript code that runs on the Server in the background once the HTML document has been downloaded. The browser interprets it again (hence **Universal rendering**) and Vue.js takes control of the document and enables interactivity. - -Making a static page interactive in the browser is called "Hydration". +Once the HTML document has been downloaded, the browser interprets this and Vue.js takes control of the document. The same JavaScript code that once ran on the server runs on the client (browser) **again** in the background now enabling interactivity (hence **Universal rendering**) by binding its listeners to the HTML. This is called **Hydration**. When hydration is complete, the page can enjoy benefits such as dynamic interfaces and page transitions. Universal rendering allows a Nuxt application to provide quick page load times while preserving the benefits of client-side rendering. Furthermore, as the content is already present in the HTML document, crawlers can index it without overhead. ![Users can access the static content when the HTML document is loaded. Hydration then allows page's interactivity](/assets/docs/concepts/rendering/ssr.svg) +**What's server-rendered and what's client-rendered?** + +It is normal to ask which parts of a Vue file runs on the server and/or the client in universal rendering mode. + +```vue [app.vue] + + + +``` + +On the initial request, the `counter` ref is initialized in the server since it is rendered inside the `

` tag. The contents of `handleClick` is never executed here. During hydration in the browser, the `counter` ref is re-initialized. The `handleClick` finally binds itself to the button; Therefore it is reasonable to deduce that the body of `handleClick` will always run in a browser environment. + +[Middlewares](/docs/guide/directory-structure/middleware) and [pages](/docs/guide/directory-structure/pages) run in the server and on the client during hydration. [Plugins](/docs/guide/directory-structure/plugins) can be rendered on the server or client or both. [Components](/docs/guide/directory-structure/components) can be forced to run on the client only as well. [Composables](/docs/guide/directory-structure/composables) and [utilities](/docs/guide/directory-structure/utils) are rendered based on the context of their usage. + **Benefits of server-side rendering:** -- **Performance**: Users can get immediate access to the page's content because browsers can display static content much faster than JavaScript-generated content. At the same time, Nuxt preserves the interactivity of a web application when the hydration process happens. +- **Performance**: Users can get immediate access to the page's content because browsers can display static content much faster than JavaScript-generated content. At the same time, Nuxt preserves the interactivity of a web application during the hydration process. - **Search Engine Optimization**: Universal rendering delivers the entire HTML content of the page to the browser as a classic server application. Web crawlers can directly index the page's content, which makes Universal rendering a great choice for any content that you want to index quickly. **Downsides of server-side rendering:** @@ -116,7 +139,7 @@ export default defineNuxtConfig({ '/': { prerender: true }, // Products page generated on demand, revalidates in background, cached until API response changes '/products': { swr: true }, - // Product page generated on demand, revalidates in background, cached for 1 hour (3600 seconds) + // Product pages generated on demand, revalidates in background, cached for 1 hour (3600 seconds) '/products/**': { swr: 3600 }, // Blog posts page generated on demand, revalidates in background, cached on CDN for 1 hour (3600 seconds) '/blog': { isr: 3600 }, diff --git a/docs/2.guide/1.concepts/8.typescript.md b/docs/2.guide/1.concepts/8.typescript.md index 31d247b7e..a06015dc9 100644 --- a/docs/2.guide/1.concepts/8.typescript.md +++ b/docs/2.guide/1.concepts/8.typescript.md @@ -61,7 +61,7 @@ This file contains the recommended basic TypeScript configuration for your proje [Read more about how to extend this configuration](/docs/guide/directory-structure/tsconfig). -::tip{icon="i-ph-video-duotone" to="https://youtu.be/umLI7SlPygY" target="_blank"} +::tip{icon="i-ph-video" to="https://youtu.be/umLI7SlPygY" target="_blank"} Watch a video from Daniel Roe explaining built-in Nuxt aliases. :: diff --git a/docs/2.guide/1.concepts/9.code-style.md b/docs/2.guide/1.concepts/9.code-style.md index 2a6a32afb..edbfa3c49 100644 --- a/docs/2.guide/1.concepts/9.code-style.md +++ b/docs/2.guide/1.concepts/9.code-style.md @@ -7,7 +7,7 @@ description: "Nuxt supports ESLint out of the box" The recommended approach for Nuxt is to enable ESLint support using the [`@nuxt/eslint`](https://eslint.nuxt.com/packages/module) module, that will setup project-aware ESLint configuration for you. -:::callout{icon="i-ph-lightbulb-duotone"} +:::callout{icon="i-ph-lightbulb"} The module is designed for the [new ESLint flat config format](https://eslint.org/docs/latest/use/configure/configuration-files-new) with is the [default format since ESLint v9](https://eslint.org/blog/2024/04/eslint-v9.0.0-released/). If you are using the legacy `.eslintrc` config, you will need to [configure manually with `@nuxt/eslint-config`](https://eslint.nuxt.com/packages/config#legacy-config-format). We highly recommend you to migrate over the flat config to be future-proof. diff --git a/docs/2.guide/1.concepts/_dir.yml b/docs/2.guide/1.concepts/_dir.yml index 5ba97e496..83d82a0de 100644 --- a/docs/2.guide/1.concepts/_dir.yml +++ b/docs/2.guide/1.concepts/_dir.yml @@ -1,3 +1,3 @@ title: Key Concepts titleTemplate: '%s ยท Nuxt Concepts' -icon: i-ph-medal-duotone +icon: i-ph-medal diff --git a/docs/2.guide/2.directory-structure/0.nuxt.md b/docs/2.guide/2.directory-structure/0.nuxt.md index c60627ca9..603b9108e 100644 --- a/docs/2.guide/2.directory-structure/0.nuxt.md +++ b/docs/2.guide/2.directory-structure/0.nuxt.md @@ -2,7 +2,7 @@ title: ".nuxt" description: "Nuxt uses the .nuxt/ directory in development to generate your Vue application." head.title: ".nuxt/" -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- ::important diff --git a/docs/2.guide/2.directory-structure/0.output.md b/docs/2.guide/2.directory-structure/0.output.md index 2db69102f..dc0f868d6 100644 --- a/docs/2.guide/2.directory-structure/0.output.md +++ b/docs/2.guide/2.directory-structure/0.output.md @@ -2,7 +2,7 @@ title: ".output" description: "Nuxt creates the .output/ directory when building your application for production." head.title: ".output/" -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- ::important diff --git a/docs/2.guide/2.directory-structure/1.assets.md b/docs/2.guide/2.directory-structure/1.assets.md index b274baef9..edf9c52bd 100644 --- a/docs/2.guide/2.directory-structure/1.assets.md +++ b/docs/2.guide/2.directory-structure/1.assets.md @@ -2,7 +2,7 @@ title: "assets" description: "The assets/ directory is used to add all the website's assets that the build tool will process." head.title: "assets/" -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- The directory usually contains the following types of files: diff --git a/docs/2.guide/2.directory-structure/1.components.md b/docs/2.guide/2.directory-structure/1.components.md index 54d98e57f..72e024e53 100644 --- a/docs/2.guide/2.directory-structure/1.components.md +++ b/docs/2.guide/2.directory-structure/1.components.md @@ -2,15 +2,15 @@ title: "components" head.title: "components/" description: "The components/ directory is where you put all your Vue components." -navigation.icon: i-ph-folder-duotone +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 @@ -344,6 +348,10 @@ export default defineNuxtConfig({ }) ``` +::note +Any nested directories need to be added first as they are scanned in order. +:: + ## npm Packages If you want to auto-import components from an npm package, you can use [`addComponent`](/docs/api/kit/components#addcomponent) in a [local module](/docs/guide/directory-structure/modules) to register them. @@ -376,10 +384,6 @@ export default defineNuxtModule({ :: -::note -Any nested directories need to be added first as they are scanned in order. -:: - ## Component Extensions By default, any file with an extension specified in the [extensions key of `nuxt.config.ts`](/docs/api/nuxt-config#extensions) is treated as a component. @@ -432,11 +436,11 @@ Server components allow server-rendering individual components within your clien Server components can either be used on their own or paired with a [client component](#paired-with-a-client-component). -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=u1yyXe86xJM" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=u1yyXe86xJM" target="_blank"} Watch Learn Vue video about Nuxt Server Components. :: -::tip{icon="i-ph-article-duotone" to="https://roe.dev/blog/nuxt-server-components" target="_blank"} +::tip{icon="i-ph-article" to="https://roe.dev/blog/nuxt-server-components" target="_blank"} Read Daniel Roe's guide to Nuxt Server Components. :: @@ -459,8 +463,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] @@ -533,9 +537,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] @@ -563,15 +567,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 5adae8bd2..ed9674665 100644 --- a/docs/2.guide/2.directory-structure/1.composables.md +++ b/docs/2.guide/2.directory-structure/1.composables.md @@ -2,7 +2,7 @@ title: 'composables' head.title: 'composables/' description: Use the composables/ directory to auto-import your Vue composables into your application. -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- ## Usage @@ -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.content.md b/docs/2.guide/2.directory-structure/1.content.md index 361a5971c..5800a362a 100644 --- a/docs/2.guide/2.directory-structure/1.content.md +++ b/docs/2.guide/2.directory-structure/1.content.md @@ -2,7 +2,7 @@ title: 'content' head.title: 'content/' description: Use the content/ directory to create a file-based CMS for your application. -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- [Nuxt Content](https://content.nuxt.com) reads the [`content/` directory](/docs/guide/directory-structure/content) in your project and parses `.md`, `.yml`, `.csv` and `.json` files to create a file-based CMS for your application. diff --git a/docs/2.guide/2.directory-structure/1.layouts.md b/docs/2.guide/2.directory-structure/1.layouts.md index ee95033f8..4aa9fc98f 100644 --- a/docs/2.guide/2.directory-structure/1.layouts.md +++ b/docs/2.guide/2.directory-structure/1.layouts.md @@ -2,10 +2,10 @@ title: "layouts" head.title: "layouts/" description: "Nuxt provides a layouts framework to extract common UI patterns into reusable layouts." -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- -::tip{icon="i-ph-rocket-launch-duotone" color="gray" } +::tip{icon="i-ph-rocket-launch" color="gray" } For best performance, components placed in this directory will be automatically loaded via asynchronous import when used. :: diff --git a/docs/2.guide/2.directory-structure/1.middleware.md b/docs/2.guide/2.directory-structure/1.middleware.md index 64e66ecf6..d17c6ceb7 100644 --- a/docs/2.guide/2.directory-structure/1.middleware.md +++ b/docs/2.guide/2.directory-structure/1.middleware.md @@ -2,7 +2,7 @@ title: "middleware" description: "Nuxt provides middleware to run code before navigating to a particular route." head.title: "middleware/" -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- Nuxt provides a customizable **route middleware** framework you can use throughout your application, ideal for extracting code that you want to run before navigating to a particular route. @@ -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.modules.md b/docs/2.guide/2.directory-structure/1.modules.md index f544e815b..0321c56f6 100644 --- a/docs/2.guide/2.directory-structure/1.modules.md +++ b/docs/2.guide/2.directory-structure/1.modules.md @@ -2,7 +2,7 @@ title: 'modules' head.title: 'modules/' description: Use the modules/ directory to automatically register local modules within your application. -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- It is a good place to place any local modules you develop while building your application. @@ -61,6 +61,6 @@ modules/ :read-more{to="/docs/guide/going-further/modules"} -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/creating-your-first-module-from-scratch?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/creating-your-first-module-from-scratch?friend=nuxt" target="_blank"} Watch Vue School video about Nuxt private modules. :: diff --git a/docs/2.guide/2.directory-structure/1.node_modules.md b/docs/2.guide/2.directory-structure/1.node_modules.md index 13c7780e6..afdb2d753 100644 --- a/docs/2.guide/2.directory-structure/1.node_modules.md +++ b/docs/2.guide/2.directory-structure/1.node_modules.md @@ -2,7 +2,7 @@ title: "node_modules" description: "The package manager stores the dependencies of your project in the node_modules/ directory." head.title: "node_modules/" -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- The package manager ([`npm`](https://docs.npmjs.com/cli/commands/npm) or [`yarn`](https://yarnpkg.com) or [`pnpm`](https://pnpm.io/cli/install) or [`bun`](https://bun.sh/package-manager)) creates this directory to store the dependencies of your project. diff --git a/docs/2.guide/2.directory-structure/1.pages.md b/docs/2.guide/2.directory-structure/1.pages.md index 1367f6f87..57d88ddd5 100644 --- a/docs/2.guide/2.directory-structure/1.pages.md +++ b/docs/2.guide/2.directory-structure/1.pages.md @@ -2,7 +2,7 @@ title: "pages" description: "Nuxt provides file-based routing to create routes within your web application." head.title: "pages/" -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- ::note @@ -159,7 +159,7 @@ Example: ```bash [Directory Structure] -| pages/ ---| parent/ -------| child.vue +-----| child.vue ---| parent.vue ``` @@ -323,6 +323,10 @@ You may define a name for this page's route. You may define a path matcher, if you have a more complex pattern than can be expressed with the file name. See [the `vue-router` docs](https://router.vuejs.org/guide/essentials/route-matching-syntax.html#custom-regex-in-params) for more information. +#### `props` + +Allows accessing the route `params` as props passed to the page component. See[the `vue-router` docs](https://router.vuejs.org/guide/essentials/passing-props) for more information. + ### Typing Custom Metadata If you add custom metadata for your pages, you may wish to do so in a type-safe way. It is possible to augment the type of the object accepted by `definePageMeta`: @@ -408,7 +412,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 d76acdade..572675300 100644 --- a/docs/2.guide/2.directory-structure/1.plugins.md +++ b/docs/2.guide/2.directory-structure/1.plugins.md @@ -2,7 +2,7 @@ title: "plugins" description: "Nuxt has a plugins system to use Vue plugins and more at the creation of your Vue application." head.title: "plugins/" -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- Nuxt automatically reads the files in the `plugins/` directory and loads them at the creation of the Vue application. @@ -76,7 +76,7 @@ export default defineNuxtPlugin({ }) ``` -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=2aXZyXB1QGQ" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=2aXZyXB1QGQ" target="_blank"} Watch a video from Alexander Lichter about the Object Syntax for Nuxt plugins. :: @@ -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.public.md b/docs/2.guide/2.directory-structure/1.public.md index da5daa87b..894654a96 100644 --- a/docs/2.guide/2.directory-structure/1.public.md +++ b/docs/2.guide/2.directory-structure/1.public.md @@ -2,7 +2,7 @@ title: "public" description: "The public/ directory is used to serve your website's static assets." head.title: "public/" -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- Files contained within the `public/` directory are served at the root and are not modified by the build process. This is suitable for files that have to keep their names (e.g. `robots.txt`) _or_ likely won't change (e.g. `favicon.ico`). diff --git a/docs/2.guide/2.directory-structure/1.server.md b/docs/2.guide/2.directory-structure/1.server.md index 37e9cfe1f..bb4dc8c8a 100644 --- a/docs/2.guide/2.directory-structure/1.server.md +++ b/docs/2.guide/2.directory-structure/1.server.md @@ -2,7 +2,7 @@ title: server head.title: 'server/' description: The server/ directory is used to register API and server handlers to your application. -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- Nuxt automatically scans files inside these directories to register API and server handlers with Hot Module Replacement (HMR) support. @@ -158,7 +158,7 @@ export default defineEventHandler((event) => { }) ``` -::tip +::tip{to="https://h3.unjs.io/examples/validate-data#validate-params"} Alternatively, use `getValidatedRouterParams` with a schema validator such as Zod for runtime and type safety. :: @@ -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/2.directory-structure/1.utils.md b/docs/2.guide/2.directory-structure/1.utils.md index 74d847d67..f7148c93f 100644 --- a/docs/2.guide/2.directory-structure/1.utils.md +++ b/docs/2.guide/2.directory-structure/1.utils.md @@ -2,7 +2,7 @@ title: 'utils' head.title: 'utils/' description: Use the utils/ directory to auto-import your utility functions throughout your application. -navigation.icon: i-ph-folder-duotone +navigation.icon: i-ph-folder --- The main purpose of the [`utils/` directory](/docs/guide/directory-structure/utils) is to allow a semantic distinction between your Vue composables and other auto-imported utility functions. diff --git a/docs/2.guide/2.directory-structure/2.env.md b/docs/2.guide/2.directory-structure/2.env.md index b0d4a82e6..422dde9f9 100644 --- a/docs/2.guide/2.directory-structure/2.env.md +++ b/docs/2.guide/2.directory-structure/2.env.md @@ -2,7 +2,7 @@ title: ".env" description: "A .env file specifies your build/dev-time environment variables." head.title: ".env" -navigation.icon: i-ph-file-duotone +navigation.icon: i-ph-file --- ::important diff --git a/docs/2.guide/2.directory-structure/2.gitignore.md b/docs/2.guide/2.directory-structure/2.gitignore.md index a4d69321e..9247e32db 100644 --- a/docs/2.guide/2.directory-structure/2.gitignore.md +++ b/docs/2.guide/2.directory-structure/2.gitignore.md @@ -2,7 +2,7 @@ title: ".gitignore" description: "A .gitignore file specifies intentionally untracked files that git should ignore." head.title: ".gitignore" -navigation.icon: i-ph-file-duotone +navigation.icon: i-ph-file --- A `.gitignore` file specifies intentionally untracked files that git should ignore. diff --git a/docs/2.guide/2.directory-structure/2.nuxtignore.md b/docs/2.guide/2.directory-structure/2.nuxtignore.md index 6c34c0be4..93a1139b1 100644 --- a/docs/2.guide/2.directory-structure/2.nuxtignore.md +++ b/docs/2.guide/2.directory-structure/2.nuxtignore.md @@ -2,7 +2,7 @@ title: .nuxtignore head.title: '.nuxtignore' description: The .nuxtignore file lets Nuxt ignore files in your projectโ€™s root directory during the build phase. -navigation.icon: i-ph-file-duotone +navigation.icon: i-ph-file --- The `.nuxtignore` file tells Nuxt to ignore files in your projectโ€™s root directory ([`rootDir`](/docs/api/nuxt-config#rootdir)) during the build phase. diff --git a/docs/2.guide/2.directory-structure/3.app-config.md b/docs/2.guide/2.directory-structure/3.app-config.md index 3e97d0e88..d170a6ce5 100644 --- a/docs/2.guide/2.directory-structure/3.app-config.md +++ b/docs/2.guide/2.directory-structure/3.app-config.md @@ -2,7 +2,7 @@ title: app.config.ts head.title: 'app.config.ts' description: Expose reactive configuration within your application with the App Config file. -navigation.icon: i-ph-file-duotone +navigation.icon: i-ph-file --- Nuxt provides an `app.config` config file to expose reactive configuration within your application with the ability to update it at runtime within lifecycle or using a nuxt plugin and editing it with HMR (hot-module-replacement). @@ -19,6 +19,10 @@ export default defineAppConfig({ Do not put any secret values inside `app.config` file. It is exposed to the user client bundle. :: +::note +When configuring a custom [`srcDir`](/docs/api/nuxt-config#srcdir), make sure to place the `app.config` file at the root of the new `srcDir` path. +:: + ## Usage To expose config and environment variables to the rest of your app, you will need to define configuration in `app.config` file. @@ -31,7 +35,7 @@ export default defineAppConfig({ }) ``` -When adding `theme` to the `app.config`, Nuxt uses Vite or webpack to bundle the code. We can universally access `theme` both when server-rendering the page and in the browser using [`useAppConfig`](/docs/api/composables/use-app-config) composable. +We can now universally access `theme` both when server-rendering the page and in the browser using [`useAppConfig`](/docs/api/composables/use-app-config) composable. ```vue [pages/index.vue] ``` -When configuring a custom [`srcDir`](/docs/api/nuxt-config#srcdir), make sure to place the `app.config` file at the root of the new `srcDir` path. +The [`updateAppConfig`](/docs/api/utils/update-app-config) utility can be used to update the `app.config` at runtime. + +```vue [pages/index.vue] + +``` + +::read-more{to="/docs/api/utils/update-app-config"} +Read more about the `updateAppConfig` utility. +:: ## Typing App Config diff --git a/docs/2.guide/2.directory-structure/3.app.md b/docs/2.guide/2.directory-structure/3.app.md index 2716e3858..8158891ad 100644 --- a/docs/2.guide/2.directory-structure/3.app.md +++ b/docs/2.guide/2.directory-structure/3.app.md @@ -2,7 +2,7 @@ title: "app.vue" description: "The app.vue file is the main component of your Nuxt application." head.title: "app.vue" -navigation.icon: i-ph-file-duotone +navigation.icon: i-ph-file --- ## Minimal Usage diff --git a/docs/2.guide/2.directory-structure/3.error.md b/docs/2.guide/2.directory-structure/3.error.md index ffdd6eac0..13dd45bf7 100644 --- a/docs/2.guide/2.directory-structure/3.error.md +++ b/docs/2.guide/2.directory-structure/3.error.md @@ -2,7 +2,7 @@ title: "error.vue" description: "The error.vue file is the error page in your Nuxt application." head.title: "error.vue" -navigation.icon: i-ph-file-duotone +navigation.icon: i-ph-file --- During the lifespan of your application, some errors may appear unexpectedly at runtime. In such case, we can use the `error.vue` file to override the default error files and display the error nicely. diff --git a/docs/2.guide/2.directory-structure/3.nuxt-config.md b/docs/2.guide/2.directory-structure/3.nuxt-config.md index 1174095d2..997f8999b 100644 --- a/docs/2.guide/2.directory-structure/3.nuxt-config.md +++ b/docs/2.guide/2.directory-structure/3.nuxt-config.md @@ -2,7 +2,7 @@ title: "nuxt.config.ts" description: "Nuxt can be easily configured with a single nuxt.config file." head.title: "nuxt.config.ts" -navigation.icon: i-ph-file-duotone +navigation.icon: i-ph-file --- The `nuxt.config` file extension can either be `.js`, `.ts` or `.mjs`. diff --git a/docs/2.guide/2.directory-structure/3.package.md b/docs/2.guide/2.directory-structure/3.package.md index ad5757fbf..c2e6e5660 100644 --- a/docs/2.guide/2.directory-structure/3.package.md +++ b/docs/2.guide/2.directory-structure/3.package.md @@ -2,7 +2,7 @@ title: package.json head.title: package.json description: The package.json file contains all the dependencies and scripts for your application. -navigation.icon: i-ph-file-duotone +navigation.icon: i-ph-file --- The minimal `package.json` of your Nuxt application should looks like: diff --git a/docs/2.guide/2.directory-structure/3.tsconfig.md b/docs/2.guide/2.directory-structure/3.tsconfig.md index eca36286d..5ed9df444 100644 --- a/docs/2.guide/2.directory-structure/3.tsconfig.md +++ b/docs/2.guide/2.directory-structure/3.tsconfig.md @@ -2,7 +2,7 @@ title: "tsconfig.json" description: "Nuxt generates a .nuxt/tsconfig.json file with sensible defaults and your aliases." head.title: "tsconfig.json" -navigation.icon: i-ph-file-duotone +navigation.icon: i-ph-file --- Nuxt [automatically generates](/docs/guide/concepts/typescript) a `.nuxt/tsconfig.json` file with the resolved aliases you are using in your Nuxt project, as well as with other sensible defaults. diff --git a/docs/2.guide/2.directory-structure/_dir.yml b/docs/2.guide/2.directory-structure/_dir.yml index 4d663658a..4f0a802ac 100644 --- a/docs/2.guide/2.directory-structure/_dir.yml +++ b/docs/2.guide/2.directory-structure/_dir.yml @@ -1,3 +1,3 @@ title: Directory Structure titleTemplate: '%s ยท Nuxt Directory Structure' -icon: i-ph-folders-duotone +icon: i-ph-folders diff --git a/docs/2.guide/3.going-further/1.experimental-features.md b/docs/2.guide/3.going-further/1.experimental-features.md index 136cadf80..40d8c5beb 100644 --- a/docs/2.guide/3.going-further/1.experimental-features.md +++ b/docs/2.guide/3.going-further/1.experimental-features.md @@ -59,14 +59,16 @@ This feature will likely be removed in a near future. ## emitRouteChunkError -Emits `app:chunkError` hook when there is an error loading vite/webpack chunks. Default behavior is to perform a hard reload of the new route when a chunk fails to load. +Emits `app:chunkError` hook when there is an error loading vite/webpack chunks. Default behavior is to perform a reload of the new route on navigation to a new route when a chunk fails to load. + +If you set this to `'automatic-immediate'` Nuxt will reload the current route immediatly, instead of waiting for a navigation. This is useful for chunk errors that are not triggered by navigation, e.g., when your Nuxt app fails to load a [lazy component](/docs/guide/directory-structure/components#dynamic-imports). A potential downside of this behavior is undesired reloads, e.g., when your app does not need the chunk that caused the error. You can disable automatic handling by setting this to `false`, or handle chunk errors manually by setting it to `manual`. ```ts twoslash [nuxt.config.ts] export default defineNuxtConfig({ experimental: { - emitRouteChunkError: 'automatic' // or 'manual' or false + emitRouteChunkError: 'automatic' // or 'automatic-immediate', 'manual' or false } }) ``` @@ -104,11 +106,11 @@ export default defineNuxtConfig({ Matching route rules will be created, based on the page's `path`. -::read-more{to="/docs/api/utils/define-route-rules" icon="i-ph-function-duotone"} +::read-more{to="/docs/api/utils/define-route-rules" icon="i-ph-function"} Read more in `defineRouteRules` utility. :: -:read-more{to="/docs/guide/concepts/rendering#hybrid-rendering" icon="i-ph-medal-duotone"} +:read-more{to="/docs/guide/concepts/rendering#hybrid-rendering" icon="i-ph-medal"} ## renderJsonPayloads @@ -254,7 +256,7 @@ Out of the box, this will enable typed usage of [`navigateTo`](/docs/api/utils/n You can even get typed params within a page by using `const route = useRoute('route-name')`. -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=SXk-L19gTZk" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=SXk-L19gTZk" target="_blank"} Watch a video from Daniel Roe explaining type-safe routing in Nuxt. :: @@ -292,7 +294,7 @@ export default defineNuxtConfig({ }) ``` -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=1jUupYHVvrU" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=1jUupYHVvrU" target="_blank"} Watch a video from Alexander Lichter about the experimental `sharedPrerenderData` setting. :: @@ -334,6 +336,8 @@ This option allows exposing some route metadata defined in `definePageMeta` at b This only works with static or strings/arrays rather than variables or conditional assignment. See [original issue](https://github.com/nuxt/nuxt/issues/24770) for more information and context. +It is also possible to scan page metadata only after all routes have been registered in `pages:extend`. Then another hook, `pages:resolved` will be called. To enable this behavior, set `scanPageMeta: 'after-resolve'`. + You can disable this feature if it causes issues in your project. ```ts twoslash [nuxt.config.ts] @@ -390,3 +394,31 @@ In addition, any changes to files within `srcDir` will trigger a rebuild of the ::note A maximum of 10 cache tarballs are kept. :: + +## normalizeComponentNames + +Ensure that auto-generated Vue component names match the full component name +you would use to auto-import the component. + +```ts twoslash [nuxt.config.ts] +export default defineNuxtConfig({ + experimental: { + normalizeComponentNames: true + } +}) +``` + +By default, if you haven't set it manually, Vue will assign a component name that matches +the filename of the component. + +```bash [Directory structure] +โ”œโ”€ components/ +โ”œโ”€โ”€โ”€ SomeFolder/ +โ”œโ”€โ”€โ”€โ”€โ”€ MyComponent.vue +``` + +In this case, the component name would be `MyComponent`, as far as Vue is concerned. If you wanted to use `` with it, or identify it in the Vue DevTools, you would need to use this component. + +But in order to auto-import it, you would need to use `SomeFolderMyComponent`. + +By setting `experimental.normalizeComponentNames`, these two values match, and Vue will generate a component name that matches the Nuxt pattern for component naming. diff --git a/docs/2.guide/3.going-further/1.features.md b/docs/2.guide/3.going-further/1.features.md index 02056f1e1..46150d86d 100644 --- a/docs/2.guide/3.going-further/1.features.md +++ b/docs/2.guide/3.going-further/1.features.md @@ -61,9 +61,13 @@ export default defineNuxtConfig({ app: 'app' }, experimental: { + scanPageMeta: 'after-resolve', + sharedPrerenderData: false, compileTemplate: true, + resetAsyncDataToUndefined: true, templateUtils: true, relativeWatchPaths: true, + normalizeComponentNames: false defaults: { useAsyncData: { deep: true diff --git a/docs/2.guide/3.going-further/10.runtime-config.md b/docs/2.guide/3.going-further/10.runtime-config.md index d43b794bf..69f9fb987 100644 --- a/docs/2.guide/3.going-further/10.runtime-config.md +++ b/docs/2.guide/3.going-further/10.runtime-config.md @@ -61,7 +61,7 @@ Setting the default of `runtimeConfig` values to *differently named environment It is advised to use environment variables that match the structure of your `runtimeConfig` object. :: -::tip{icon="i-ph-video-duotone" to="https://youtu.be/_FYV5WfiWvs" target="_blank"} +::tip{icon="i-ph-video" to="https://youtu.be/_FYV5WfiWvs" target="_blank"} Watch a video from Alexander Lichter showcasing the top mistake developers make using runtimeConfig. :: diff --git a/docs/2.guide/3.going-further/3.modules.md b/docs/2.guide/3.going-further/3.modules.md index eb418d0f7..b12d88682 100644 --- a/docs/2.guide/3.going-further/3.modules.md +++ b/docs/2.guide/3.going-further/3.modules.md @@ -45,7 +45,7 @@ This will create a `my-module` project with all the boilerplate necessary to dev Learn how to perform basic tasks with the module starter. -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/navigating-the-official-starter-template?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/navigating-the-official-starter-template?friend=nuxt" target="_blank"} Watch Vue School video about Nuxt module starter template. :: @@ -274,7 +274,7 @@ export default defineNuxtModule({ When you need to handle more complex configuration alterations, you should consider using [defu](https://github.com/unjs/defu). -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/extending-and-altering-nuxt-configuration-and-options?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/extending-and-altering-nuxt-configuration-and-options?friend=nuxt" target="_blank"} Watch Vue School video about altering Nuxt configuration. :: @@ -311,7 +311,7 @@ Be careful not to expose any sensitive module configuration on the public runtim :read-more{to="/docs/guide/going-further/runtime-config"} -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/passing-and-exposing-module-options?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/passing-and-exposing-module-options?friend=nuxt" target="_blank"} Watch Vue School video about passing and exposing Nuxt module options. :: @@ -538,7 +538,7 @@ export default defineNuxtModule({ :read-more{to="/docs/api/advanced/hooks"} -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/nuxt-lifecycle-hooks?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/nuxt-lifecycle-hooks?friend=nuxt" target="_blank"} Watch Vue School video about using Nuxt lifecycle hooks in modules. :: @@ -764,7 +764,7 @@ The module starter comes with a default set of tools and configurations (e.g. ES [Nuxt Module ecosystem](/modules) represents more than 15 million monthly NPM downloads and provides extended functionalities and integrations with all sort of tools. You can be part of this ecosystem! -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/exploring-nuxt-modules-ecosystem-and-module-types?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/exploring-nuxt-modules-ecosystem-and-module-types?friend=nuxt" target="_blank"} Watch Vue School video about Nuxt module types. :: diff --git a/docs/2.guide/3.going-further/_dir.yml b/docs/2.guide/3.going-further/_dir.yml index 20cbae3d0..80b2c5b72 100644 --- a/docs/2.guide/3.going-further/_dir.yml +++ b/docs/2.guide/3.going-further/_dir.yml @@ -1,3 +1,3 @@ title: Going Further titleTemplate: '%s ยท Nuxt Advanced' -icon: i-ph-star-duotone +icon: i-ph-star diff --git a/docs/2.guide/4.recipes/3.custom-usefetch.md b/docs/2.guide/4.recipes/3.custom-usefetch.md index e8f25f6a2..45d965123 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 }) { @@ -83,7 +77,7 @@ export function useAPI( ) { return useFetch(url, { ...options, - $fetch: useNuxtApp().$api + $fetch: useNuxtApp().$api as typeof $fetch }) } ``` @@ -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/2.guide/4.recipes/_dir.yml b/docs/2.guide/4.recipes/_dir.yml index b63c755e5..5030f4b88 100644 --- a/docs/2.guide/4.recipes/_dir.yml +++ b/docs/2.guide/4.recipes/_dir.yml @@ -1,3 +1,3 @@ title: Recipes titleTemplate: '%s ยท Recipes' -icon: i-ph-cooking-pot-duotone +icon: i-ph-cooking-pot diff --git a/docs/2.guide/_dir.yml b/docs/2.guide/_dir.yml index 39506eabf..9fb4817fc 100644 --- a/docs/2.guide/_dir.yml +++ b/docs/2.guide/_dir.yml @@ -1,2 +1,2 @@ title: 'Guide' -icon: i-ph-book-open-duotone +icon: i-ph-book-open diff --git a/docs/3.api/1.components/_dir.yml b/docs/3.api/1.components/_dir.yml index d78fe4060..33401303c 100644 --- a/docs/3.api/1.components/_dir.yml +++ b/docs/3.api/1.components/_dir.yml @@ -1,3 +1,3 @@ title: 'Components' titleTemplate: '%s ยท Nuxt Components' -icon: i-ph-cube-duotone +icon: i-ph-cube diff --git a/docs/3.api/2.composables/_dir.yml b/docs/3.api/2.composables/_dir.yml index 35d41bbd1..e33d9ed03 100644 --- a/docs/3.api/2.composables/_dir.yml +++ b/docs/3.api/2.composables/_dir.yml @@ -1,3 +1,3 @@ title: 'Composables' titleTemplate: '%s ยท Nuxt Composables' -icon: i-ph-arrows-left-right-duotone +icon: i-ph-arrows-left-right diff --git a/docs/3.api/2.composables/use-fetch.md b/docs/3.api/2.composables/use-fetch.md index e759d165f..56effdc62 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 @@ -74,7 +74,7 @@ const { data, status, error, refresh, clear } = await useFetch('/api/auth/login' If you encounter the `data` variable destructured from a `useFetch` returns a string and not a JSON parsed object then make sure your component doesn't include an import statement like `import { useFetch } from '@vueuse/core`. :: -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=njsGVmcWviY" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=njsGVmcWviY" target="_blank"} Watch the video from Alexander Lichter to avoid using `useFetch` the wrong way! :: diff --git a/docs/3.api/2.composables/use-nuxt-app.md b/docs/3.api/2.composables/use-nuxt-app.md index 5ab928963..6b915edf0 100644 --- a/docs/3.api/2.composables/use-nuxt-app.md +++ b/docs/3.api/2.composables/use-nuxt-app.md @@ -138,7 +138,7 @@ Nuxt exposes the following properties through `ssrContext`: Since [Nuxt v3.4](https://nuxt.com/blog/v3-4#payload-enhancements), it is possible to define your own reducer/reviver for types that are not supported by Nuxt. - ::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=8w6ffRBs8a4" target="_blank"} + ::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=8w6ffRBs8a4" target="_blank"} Watch a video from Alexander Lichter about serializing payloads, especially with regards to classes. :: 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 000000000..dac922e39 --- /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/docs/3.api/2.composables/use-response-header.md b/docs/3.api/2.composables/use-response-header.md new file mode 100644 index 000000000..d78fd89a4 --- /dev/null +++ b/docs/3.api/2.composables/use-response-header.md @@ -0,0 +1,48 @@ +--- +title: "useResponseHeader" +description: "Use useResponseHeader to set a server response header." +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 +--- + +::important +This composable is available in Nuxt v3.14+. +:: + +You can use the built-in [`useResponseHeader`](/docs/api/composables/use-response-header) composable to set any server response header within your pages, components, and plugins. + +```ts +// Set the a custom response header +const header = useResponseHeader('X-My-Header'); +header.value = 'my-value'; +``` + +## Example + +We can use `useResponseHeader` to easily set a response header on a per-page basis. + +```vue [pages/test.vue] + + + +``` + +We can use `useResponseHeader` for example in Nuxt [middleware](/docs/guide/directory-structure/middleware) to set a response header for all pages. + +```ts [middleware/my-header-middleware.ts] +export default defineNuxtRouteMiddleware((to, from) => { + const header = useResponseHeader('X-My-Always-Header'); + header.value = `I'm Always here!`; +}); + +``` diff --git a/docs/3.api/2.composables/use-runtime-hook.md b/docs/3.api/2.composables/use-runtime-hook.md new file mode 100644 index 000000000..c2b3a9ec5 --- /dev/null +++ b/docs/3.api/2.composables/use-runtime-hook.md @@ -0,0 +1,43 @@ +--- +title: useRuntimeHook +description: Registers a runtime hook in a Nuxt application and ensures it is properly disposed of when the scope is destroyed. +links: + - label: Source + icon: i-simple-icons-github + to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/composables/runtime-hook.ts + size: xs +--- + +::important +This composable is available in Nuxt v3.14+. +:: + +```ts [signature] +function useRuntimeHook( + name: THookName, + fn: RuntimeNuxtHooks[THookName] extends HookCallback ? RuntimeNuxtHooks[THookName] : never +): void +``` + +## Usage + +### Parameters + +- `name`: The name of the runtime hook to register. You can see the full list of [runtime Nuxt hooks here](/docs/api/advanced/hooks#app-hooks-runtime). +- `fn`: The callback function to execute when the hook is triggered. The function signature varies based on the hook name. + +### Returns + +The composable doesn't return a value, but it automatically unregisters the hook when the component's scope is destroyed. + +## Example + +```vue twoslash [pages/index.vue] + +``` diff --git a/docs/3.api/2.composables/use-state.md b/docs/3.api/2.composables/use-state.md index 513bd407c..c8194dc9e 100644 --- a/docs/3.api/2.composables/use-state.md +++ b/docs/3.api/2.composables/use-state.md @@ -25,7 +25,7 @@ Because the data inside `useState` will be serialized to JSON, it is important t `useState` is a reserved function name transformed by the compiler, so you should not name your own function `useState`. :: -::tip{icon="i-ph-video-duotone" to="https://www.youtube.com/watch?v=mv0WcBABcIk" target="_blank"} +::tip{icon="i-ph-video" to="https://www.youtube.com/watch?v=mv0WcBABcIk" target="_blank"} Watch a video from Alexander Lichter about why and when to use `useState()`. :: diff --git a/docs/3.api/3.utils/$fetch.md b/docs/3.api/3.utils/$fetch.md index ff0ed5cf0..ab8a947aa 100644 --- a/docs/3.api/3.utils/$fetch.md +++ b/docs/3.api/3.utils/$fetch.md @@ -10,11 +10,11 @@ links: Nuxt uses [ofetch](https://github.com/unjs/ofetch) to expose globally the `$fetch` helper for making HTTP requests within your Vue app or API routes. -::tip{icon="i-ph-rocket-launch-duotone" color="gray"} +::tip{icon="i-ph-rocket-launch" color="gray"} During server-side rendering, calling `$fetch` to fetch your internal [API routes](/docs/guide/directory-structure/server) will directly call the relevant function (emulating the request), **saving an additional API call**. :: -::note{color="blue" icon="i-ph-info-duotone"} +::note{color="blue" icon="i-ph-info"} Using `$fetch` in components without wrapping it with [`useAsyncData`](/docs/api/composables/use-async-data) causes fetching the data twice: initially on the server, then again on the client-side during hydration, because `$fetch` does not transfer state from the server to the client. Thus, the fetch will be executed on both sides because the client has to get the data again. :: diff --git a/docs/3.api/3.utils/_dir.yml b/docs/3.api/3.utils/_dir.yml index 50d20caf2..c3ef54ea5 100644 --- a/docs/3.api/3.utils/_dir.yml +++ b/docs/3.api/3.utils/_dir.yml @@ -1,3 +1,3 @@ title: 'Utils' titleTemplate: '%s ยท Nuxt Utils' -navigation.icon: i-ph-function-duotone +navigation.icon: i-ph-function diff --git a/docs/3.api/3.utils/define-page-meta.md b/docs/3.api/3.utils/define-page-meta.md index e8427faf8..49aa8bc84 100644 --- a/docs/3.api/3.utils/define-page-meta.md +++ b/docs/3.api/3.utils/define-page-meta.md @@ -30,6 +30,7 @@ interface PageMeta { redirect?: RouteRecordRedirectOption name?: string path?: string + props?: RouteRecordRaw['props'] alias?: string | string[] pageTransition?: boolean | TransitionProps layoutTransition?: boolean | TransitionProps @@ -63,6 +64,12 @@ interface PageMeta { You may define a [custom regular expression](#using-a-custom-regular-expression) if you have a more complex pattern than can be expressed with the file name. + **`props`** + + - **Type**: [`RouteRecordRaw['props']`](https://router.vuejs.org/guide/essentials/passing-props) + + Allows accessing the route `params` as props passed to the page component. + **`alias`** - **Type**: `string | string[]` diff --git a/docs/3.api/3.utils/define-route-rules.md b/docs/3.api/3.utils/define-route-rules.md index 309a64fd2..50557cea8 100644 --- a/docs/3.api/3.utils/define-route-rules.md +++ b/docs/3.api/3.utils/define-route-rules.md @@ -8,7 +8,7 @@ links: size: xs --- -::read-more{to="/docs/guide/going-further/experimental-features#inlinerouterules" icon="i-ph-star-duotone"} +::read-more{to="/docs/guide/going-further/experimental-features#inlinerouterules" icon="i-ph-star"} This feature is experimental and in order to use it you must enable the `experimental.inlineRouteRules` option in your `nuxt.config`. :: @@ -47,6 +47,6 @@ When running [`nuxt build`](/docs/api/commands/build), the home page will be pre For more control, such as if you are using a custom `path` or `alias` set in the page's [`definePageMeta`](/docs/api/utils/define-page-meta), you should set `routeRules` directly within your `nuxt.config`. -::read-more{to="/docs/guide/concepts/rendering#hybrid-rendering" icon="i-ph-medal-duotone"} +::read-more{to="/docs/guide/concepts/rendering#hybrid-rendering" icon="i-ph-medal"} Read more about the `routeRules`. :: diff --git a/docs/3.api/3.utils/navigate-to.md b/docs/3.api/3.utils/navigate-to.md index 664de1773..270bc80a0 100644 --- a/docs/3.api/3.utils/navigate-to.md +++ b/docs/3.api/3.utils/navigate-to.md @@ -125,6 +125,19 @@ Make sure to always use `await` or `return` on result of `navigateTo` when calli `to` can be a plain string or a route object to redirect to. When passed as `undefined` or `null`, it will default to `'/'`. +#### Example + +```ts +// Passing the URL directly will redirect to the '/blog' page +await navigateTo('/blog') + +// Using the route object, will redirect to the route with the name 'blog' +await navigateTo({ name: 'blog' }) + +// Redirects to the 'product' route while passing a parameter (id = 1) using the route object. +await navigateTo({ name: 'product', params: { id: 1 } }) +``` + ### `options` (optional) **Type**: `NavigateToOptions` diff --git a/docs/3.api/3.utils/preload-route-components.md b/docs/3.api/3.utils/preload-route-components.md index a0bf7c193..d888bb75d 100644 --- a/docs/3.api/3.utils/preload-route-components.md +++ b/docs/3.api/3.utils/preload-route-components.md @@ -10,7 +10,7 @@ links: Preloading routes loads the components of a given route that the user might navigate to in future. This ensures that the components are available earlier and less likely to block the navigation, improving performance. -::tip{icon="i-ph-rocket-launch-duotone" color="gray"} +::tip{icon="i-ph-rocket-launch" color="gray"} Nuxt already automatically preloads the necessary routes if you're using the `NuxtLink` component. :: diff --git a/docs/3.api/3.utils/reload-nuxt-app.md b/docs/3.api/3.utils/reload-nuxt-app.md index 3b25a9590..0244c78b9 100644 --- a/docs/3.api/3.utils/reload-nuxt-app.md +++ b/docs/3.api/3.utils/reload-nuxt-app.md @@ -14,7 +14,7 @@ links: By default, it will also save the current `state` of your app (that is, any state you could access with `useState`). -::read-more{to="/docs/guide/going-further/experimental-features#restorestate" icon="i-ph-star-duotone"} +::read-more{to="/docs/guide/going-further/experimental-features#restorestate" icon="i-ph-star"} You can enable experimental restoration of this state by enabling the `experimental.restoreState` option in your `nuxt.config` file. :: diff --git a/docs/3.api/4.commands/_dir.yml b/docs/3.api/4.commands/_dir.yml index b1123168e..00af2f6eb 100644 --- a/docs/3.api/4.commands/_dir.yml +++ b/docs/3.api/4.commands/_dir.yml @@ -1,3 +1,3 @@ title: 'Commands' -icon: i-ph-terminal-window-duotone +icon: i-ph-terminal-window titleTemplate: '%s ยท Nuxt Commands' diff --git a/docs/3.api/5.kit/12.resolving.md b/docs/3.api/5.kit/12.resolving.md index eac13cab4..8218ecfb0 100644 --- a/docs/3.api/5.kit/12.resolving.md +++ b/docs/3.api/5.kit/12.resolving.md @@ -211,7 +211,7 @@ Type of path to resolve. If set to `'file'`, the function will try to resolve a Creates resolver relative to base path. -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/resolving-paths-and-injecting-assets-to-the-app?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/resolving-paths-and-injecting-assets-to-the-app?friend=nuxt" target="_blank"} Watch Vue School video about createResolver. :: diff --git a/docs/3.api/5.kit/4.autoimports.md b/docs/3.api/5.kit/4.autoimports.md index 6a0b0a08a..4aa9aac21 100644 --- a/docs/3.api/5.kit/4.autoimports.md +++ b/docs/3.api/5.kit/4.autoimports.md @@ -18,7 +18,7 @@ These functions are designed for registering your own utils, composables and Vue Nuxt auto-imports helper functions, composables and Vue APIs to use across your application without explicitly importing them. Based on the directory structure, every Nuxt application can also use auto-imports for its own composables and plugins. Composables or plugins can use these functions. -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/expanding-nuxt-s-auto-imports?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/expanding-nuxt-s-auto-imports?friend=nuxt" target="_blank"} Watch Vue School video about Auto-imports Nuxt Kit utilities. :: diff --git a/docs/3.api/5.kit/5.components.md b/docs/3.api/5.kit/5.components.md index b112c8496..3d41667d3 100644 --- a/docs/3.api/5.kit/5.components.md +++ b/docs/3.api/5.kit/5.components.md @@ -10,7 +10,7 @@ links: Components are the building blocks of your Nuxt application. They are reusable Vue instances that can be used to create a user interface. In Nuxt, components from the components directory are automatically imported by default. However, if you need to import components from an alternative directory or wish to selectively import them as needed, `@nuxt/kit` provides the `addComponentsDir` and `addComponent` methods. These utils allow you to customize the component configuration to better suit your needs. -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/injecting-components-and-component-directories?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/injecting-components-and-component-directories?friend=nuxt" target="_blank"} Watch Vue School video about injecting components. :: diff --git a/docs/3.api/5.kit/7.pages.md b/docs/3.api/5.kit/7.pages.md index 7e7dd6e8d..8c1d91a68 100644 --- a/docs/3.api/5.kit/7.pages.md +++ b/docs/3.api/5.kit/7.pages.md @@ -12,7 +12,7 @@ links: In Nuxt 3, routes are automatically generated based on the structure of the files in the `pages` directory. However, there may be scenarios where you'd want to customize these routes. For instance, you might need to add a route for a dynamic page not generated by Nuxt, remove an existing route, or modify the configuration of a route. For such customizations, Nuxt offers the `extendPages` feature, which allows you to extend and alter the pages configuration. -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/extend-and-alter-nuxt-pages?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/extend-and-alter-nuxt-pages?friend=nuxt" target="_blank"} Watch Vue School video about extendPages. :: @@ -71,7 +71,7 @@ Nuxt is powered by the [Nitro](https://nitro.unjs.io) server engine. With Nitro, You can read more about Nitro route rules in the [Nitro documentation](https://nitro.unjs.io/guide/routing#route-rules). :: -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/adding-route-rules-and-route-middlewares?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/adding-route-rules-and-route-middlewares?friend=nuxt" target="_blank"} Watch Vue School video about adding route rules and route middelwares. :: @@ -192,7 +192,7 @@ Route middlewares can be also defined in plugins via [`addRouteMiddleware`](/doc Read more about route middlewares in the [Route middleware documentation](/docs/getting-started/routing#route-middleware). :: -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/adding-route-rules-and-route-middlewares?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/adding-route-rules-and-route-middlewares?friend=nuxt" target="_blank"} Watch Vue School video about adding route rules and route middelwares. :: diff --git a/docs/3.api/5.kit/9.plugins.md b/docs/3.api/5.kit/9.plugins.md index 4ee2eda5a..e2f09cfc7 100644 --- a/docs/3.api/5.kit/9.plugins.md +++ b/docs/3.api/5.kit/9.plugins.md @@ -14,7 +14,7 @@ Plugins are self-contained code that usually add app-level functionality to Vue. Registers a Nuxt plugin and to the plugins array. -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/injecting-plugins?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/injecting-plugins?friend=nuxt" target="_blank"} Watch Vue School video about addPlugin. :: @@ -114,7 +114,7 @@ export default defineNuxtPlugin((nuxtApp) => { Adds a template and registers as a nuxt plugin. This is useful for plugins that need to generate code at build time. -::tip{icon="i-ph-video-duotone" to="https://vueschool.io/lessons/injecting-plugin-templates?friend=nuxt" target="_blank"} +::tip{icon="i-ph-video" to="https://vueschool.io/lessons/injecting-plugin-templates?friend=nuxt" target="_blank"} Watch Vue School video about addPluginTemplate. :: diff --git a/docs/3.api/5.kit/_dir.yml b/docs/3.api/5.kit/_dir.yml index dda66db56..86a5d387a 100644 --- a/docs/3.api/5.kit/_dir.yml +++ b/docs/3.api/5.kit/_dir.yml @@ -1,3 +1,3 @@ title: Nuxt Kit -navigation.icon: i-ph-toolbox-duotone +navigation.icon: i-ph-toolbox titleTemplate: '%s ยท Nuxt Kit' diff --git a/docs/3.api/6.advanced/1.hooks.md b/docs/3.api/6.advanced/1.hooks.md index 894f10472..3c5381308 100644 --- a/docs/3.api/6.advanced/1.hooks.md +++ b/docs/3.api/6.advanced/1.hooks.md @@ -52,7 +52,8 @@ Hook | Arguments | Description `build:manifest` | `manifest` | Called during the manifest build by Vite and webpack. This allows customizing the manifest that Nitro will use to render ` + `, + }, + ], + output: [ + { + name: 'page-with-props', + path: '/page-with-props', + file: `${pagesDir}/page-with-props.vue`, + children: [], + props: true, + }, + ], + }, { description: 'should handle route groups', files: [ @@ -653,7 +677,7 @@ describe('pages:generateRoutesFromFiles', () => { }))).map((route, index) => { return { ...route, - meta: test.files![index].meta, + meta: test.files![index]!.meta, } }) @@ -667,8 +691,18 @@ describe('pages:generateRoutesFromFiles', () => { if (result) { expect(result).toEqual(test.output) - normalizedResults[test.description] = normalizeRoutes(result, new Set()).routes - normalizedOverrideMetaResults[test.description] = normalizeRoutes(result, new Set(), true).routes + + normalizedResults[test.description] = normalizeRoutes(result, new Set(), { + clientComponentRuntime: '', + serverComponentRuntime: '', + overrideMeta: false, + }).routes + + normalizedOverrideMetaResults[test.description] = normalizeRoutes(result, new Set(), { + clientComponentRuntime: '', + serverComponentRuntime: '', + overrideMeta: true, + }).routes } }) } diff --git a/packages/nuxt/test/treeshake-client.test.ts b/packages/nuxt/test/treeshake-client.test.ts index 375ceff18..b0afa0cb1 100644 --- a/packages/nuxt/test/treeshake-client.test.ts +++ b/packages/nuxt/test/treeshake-client.test.ts @@ -6,7 +6,7 @@ import type { Plugin } from 'vite' import { Parser } from 'acorn' import type { Options } from '@vitejs/plugin-vue' import _vuePlugin from '@vitejs/plugin-vue' -import { TreeShakeTemplatePlugin } from '../src/components/tree-shake' +import { TreeShakeTemplatePlugin } from '../src/components/plugins/tree-shake' import { fixtureDir, normalizeLineEndings } from './utils' // mock due to differences of results between windows and linux @@ -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 new file mode 100644 index 000000000..42dff085d --- /dev/null +++ b/packages/nuxt/test/unctx-transform.test.ts @@ -0,0 +1,67 @@ +import { describe, expect, it } from 'vitest' + +import { UnctxTransformPlugin } from '../src/core/plugins/unctx' + +describe('unctx transform in nuxt', () => { + it('should transform nuxt plugins', async () => { + const code = ` + export default defineNuxtPlugin({ + async setup () { + await Promise.resolve() + } + }) + ` + expect(await transform(code)).toMatchInlineSnapshot(` + "/* _processed_nuxt_unctx_transform */ + import { executeAsync as __executeAsync } from "unctx"; + export default defineNuxtPlugin({ + async setup () {let __temp, __restore; + ;(([__temp,__restore]=__executeAsync(()=>Promise.resolve())),await __temp,__restore()); + } + },1)" + `) + }) + + it('should transform vue components using defineNuxtComponent', async () => { + const code = ` + definePageMeta({ + async middleware() { + await Promise.resolve() + } + }) + export default defineNuxtComponent({ + async setup () { + await Promise.resolve() + } + }) + ` + expect(await transform(code, 'app.ts')).toMatchInlineSnapshot(` + "/* _processed_nuxt_unctx_transform */ + import { executeAsync as __executeAsync } from "unctx"; + definePageMeta({ + async middleware() {let __temp, __restore; + ;(([__temp,__restore]=__executeAsync(()=>Promise.resolve())),await __temp,__restore()); + } + }) + export default defineNuxtComponent({ + async setup () {let __temp, __restore; + ;(([__temp,__restore]=__executeAsync(()=>Promise.resolve())),await __temp,__restore()); + } + })" + `) + }) +}) + +function transform (code: string, id = 'app.vue') { + const transformerOptions = { + helperModule: 'unctx', + asyncFunctions: ['defineNuxtPlugin', 'defineNuxtRouteMiddleware'], + objectDefinitions: { + defineNuxtComponent: ['asyncData', 'setup'], + defineNuxtPlugin: ['setup'], + definePageMeta: ['middleware', 'validate'], + }, + } + 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/rspack/build.config.ts b/packages/rspack/build.config.ts new file mode 100644 index 000000000..c11f11a10 --- /dev/null +++ b/packages/rspack/build.config.ts @@ -0,0 +1,18 @@ +import { defineBuildConfig } from 'unbuild' +import config from '../webpack/build.config' + +export default defineBuildConfig({ + ...config[0], + externals: [ + '@rspack/core', + '#builder', + '@nuxt/schema', + ], + entries: [ + { + input: '../webpack/src/index', + name: 'index', + declaration: true, + }, + ], +}) diff --git a/packages/rspack/builder.mjs b/packages/rspack/builder.mjs new file mode 100644 index 000000000..14b247518 --- /dev/null +++ b/packages/rspack/builder.mjs @@ -0,0 +1,5 @@ +import webpack from '@rspack/core' + +export const builder = 'rspack' +export { webpack } +export const MiniCssExtractPlugin = webpack.CssExtractRspackPlugin diff --git a/packages/rspack/package.json b/packages/rspack/package.json new file mode 100644 index 000000000..c6c2149fe --- /dev/null +++ b/packages/rspack/package.json @@ -0,0 +1,94 @@ +{ + "name": "@nuxt/rspack-builder", + "version": "3.12.2", + "repository": { + "type": "git", + "url": "git+https://github.com/nuxt/nuxt.git", + "directory": "packages/rspack" + }, + "description": "rspack bundler for Nuxt", + "homepage": "https://nuxt.com", + "license": "MIT", + "type": "module", + "types": "./dist/index.d.ts", + "imports": { + "#builder": "./builder.mjs" + }, + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.mjs" + }, + "./dist/*": "./dist/*" + }, + "files": [ + "dist", + "builder.mjs" + ], + "scripts": { + "prepack": "unbuild" + }, + "dependencies": { + "@nuxt/friendly-errors-webpack-plugin": "^2.6.0", + "@nuxt/kit": "workspace:*", + "@rspack/core": "^1.0.14", + "autoprefixer": "^10.4.20", + "css-loader": "^7.1.2", + "css-minimizer-webpack-plugin": "^7.0.0", + "cssnano": "^7.0.6", + "defu": "^6.1.4", + "esbuild-loader": "^4.2.2", + "escape-string-regexp": "^5.0.0", + "estree-walker": "^3.0.3", + "file-loader": "^6.2.0", + "fork-ts-checker-webpack-plugin": "^9.0.2", + "globby": "^14.0.2", + "h3": "npm:h3-nightly@2.0.0-1718872656.6765a6e", + "hash-sum": "^2.0.0", + "jiti": "^2.4.0", + "knitwork": "^1.1.0", + "lodash-es": "4.17.21", + "magic-string": "^0.30.12", + "memfs": "^4.14.0", + "mlly": "^1.7.2", + "ohash": "^1.1.4", + "pathe": "^1.1.2", + "pify": "^6.1.0", + "postcss": "^8.4.47", + "postcss-import": "^16.1.0", + "postcss-import-resolver": "^2.0.0", + "postcss-loader": "^8.1.1", + "postcss-url": "^10.1.3", + "pug-plain-loader": "^1.1.0", + "std-env": "^3.7.0", + "time-fix-plugin": "^2.0.7", + "ufo": "^1.5.4", + "unenv": "^1.10.0", + "unplugin": "^1.15.0", + "url-loader": "^4.1.1", + "vue-bundle-renderer": "^2.1.1", + "vue-loader": "^17.4.2", + "webpack-bundle-analyzer": "^4.10.2", + "webpack-dev-middleware": "^7.4.2", + "webpack-hot-middleware": "^2.26.1", + "webpack-virtual-modules": "^0.6.2", + "webpackbar": "^6.0.1" + }, + "devDependencies": { + "@nuxt/schema": "workspace:*", + "@types/hash-sum": "1.0.2", + "@types/lodash-es": "4.17.12", + "@types/pify": "5.0.4", + "@types/webpack-bundle-analyzer": "4.7.0", + "@types/webpack-hot-middleware": "2.25.9", + "rollup": "4.24.4", + "unbuild": "3.0.0-rc.11", + "vue": "3.5.12" + }, + "peerDependencies": { + "vue": "^3.3.4" + }, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } +} diff --git a/packages/schema/package.json b/packages/schema/package.json index 1328d3eae..a727735c5 100644 --- a/packages/schema/package.json +++ b/packages/schema/package.json @@ -39,42 +39,42 @@ "@types/file-loader": "5.0.4", "@types/pug": "2.0.10", "@types/sass-loader": "8.0.9", - "@unhead/schema": "1.11.2", - "@vitejs/plugin-vue": "5.1.3", + "@unhead/schema": "1.11.11", + "@vitejs/plugin-vue": "5.1.4", "@vitejs/plugin-vue-jsx": "4.0.1", - "@vue/compiler-core": "3.5.5", - "@vue/compiler-sfc": "3.5.5", - "@vue/language-core": "2.1.6", - "c12": "2.0.0-beta.2", + "@vue/compiler-core": "3.5.12", + "@vue/compiler-sfc": "3.5.12", + "@vue/language-core": "2.1.10", "esbuild-loader": "4.2.2", "h3": "npm:h3-nightly@2.0.0-1718872656.6765a6e", - "ignore": "5.3.2", - "nitro": "npm:nitro-nightly@3.0.0-beta-28665895.e727afda", - "ofetch": "1.3.4", - "unbuild": "3.0.0-rc.7", + "ignore": "6.0.2", + "nitro": "npm:nitro-nightly@3.0.0-beta-28796231.359af68d", + "ofetch": "1.4.1", + "unbuild": "3.0.0-rc.11", "unctx": "2.3.1", "unenv": "1.10.0", - "vite": "5.4.5", - "vue": "3.5.5", - "vue-bundle-renderer": "2.1.0", + "vite": "5.4.10", + "vue": "3.5.12", + "vue-bundle-renderer": "2.1.1", "vue-loader": "17.4.2", "vue-router": "4.4.5", - "webpack": "5.94.0", + "webpack": "5.96.1", "webpack-dev-middleware": "7.4.2" }, "dependencies": { + "c12": "^2.0.1", "compatx": "^0.1.8", "consola": "^3.2.3", "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", "uncrypto": "^0.1.3", - "unimport": "^3.12.0", - "untyped": "^1.4.2" + "unimport": "^3.13.1", + "untyped": "^1.5.1" }, "engines": { "node": "^14.18.0 || >=16.10.0" diff --git a/packages/schema/src/config/app.ts b/packages/schema/src/config/app.ts index 5b890528b..9f5d8aa0b 100644 --- a/packages/schema/src/config/app.ts +++ b/packages/schema/src/config/app.ts @@ -35,6 +35,13 @@ export default defineUntypedSchema({ * @type {boolean} */ propsDestructure: true, + + /** + * It is possible to pass configure the Vue app globally. Only serializable options + * may be set in your `nuxt.config`. All other options should be set at runtime in a Nuxt plugin.. + * @see [Vue app config documentation](https://vuejs.org/api/application.html#app-config) + */ + config: undefined, }, /** diff --git a/packages/schema/src/config/build.ts b/packages/schema/src/config/build.ts index 6527a2aaa..fbacf2dd7 100644 --- a/packages/schema/src/config/build.ts +++ b/packages/schema/src/config/build.ts @@ -7,14 +7,15 @@ import { consola } from 'consola' export default defineUntypedSchema({ /** * The builder to use for bundling the Vue part of your application. - * @type {'vite' | 'webpack' | { bundle: (nuxt: typeof import('../src/types/nuxt').Nuxt) => Promise }} + * @type {'vite' | 'webpack' | 'rspack' | { bundle: (nuxt: typeof import('../src/types/nuxt').Nuxt) => Promise }} */ builder: { - $resolve: async (val: 'vite' | 'webpack' | { bundle: (nuxt: unknown) => Promise } | undefined = 'vite', get) => { + $resolve: async (val: 'vite' | 'webpack' | 'rspack' | { bundle: (nuxt: unknown) => Promise } | undefined = 'vite', get) => { if (typeof val === 'object') { return val } const map: Record = { + rspack: '@nuxt/rspack-builder', vite: '@nuxt/vite-builder', webpack: '@nuxt/webpack-builder', } diff --git a/packages/schema/src/config/common.ts b/packages/schema/src/config/common.ts index 61fcd1f2a..b47834e69 100644 --- a/packages/schema/src/config/common.ts +++ b/packages/schema/src/config/common.ts @@ -355,6 +355,11 @@ export default defineUntypedSchema({ */ plugins: 'plugins', + /** + * The shared directory. This directory is shared between the app and the server. + */ + shared: 'shared', + /** * The directory containing your static files, which will be directly accessible via the Nuxt server * and copied across into your `dist` folder when your app is generated. @@ -424,14 +429,17 @@ export default defineUntypedSchema({ */ alias: { $resolve: async (val: Record, get): Promise> => { - const [srcDir, rootDir, assetsDir, publicDir] = await Promise.all([get('srcDir'), get('rootDir'), get('dir.assets'), get('dir.public')]) as [string, string, string, string] + const [srcDir, rootDir, assetsDir, publicDir, buildDir, sharedDir] = await Promise.all([get('srcDir'), get('rootDir'), get('dir.assets'), get('dir.public'), get('buildDir'), get('dir.shared')]) as [string, string, string, string, string, string] return { '~': srcDir, '@': srcDir, '~~': rootDir, '@@': rootDir, + '#shared': resolve(rootDir, sharedDir), [basename(assetsDir)]: resolve(srcDir, assetsDir), [basename(publicDir)]: resolve(srcDir, publicDir), + '#build': buildDir, + '#internal/nuxt/paths': resolve(buildDir, 'paths.mjs'), ...val, } }, diff --git a/packages/schema/src/config/experimental.ts b/packages/schema/src/config/experimental.ts index 33b89e40e..33724fcdc 100644 --- a/packages/schema/src/config/experimental.ts +++ b/packages/schema/src/config/experimental.ts @@ -116,13 +116,16 @@ export default defineUntypedSchema({ * Emit `app:chunkError` hook when there is an error loading vite/webpack * chunks. * - * By default, Nuxt will also perform a hard reload of the new route - * when a chunk fails to load when navigating to a new route. + * By default, Nuxt will also perform a reload of the new route + * when a chunk fails to load when navigating to a new route (`automatic`). + * + * Setting `automatic-immediate` will lead Nuxt to perform a reload of the current route + * right when a chunk fails to load (instead of waiting for navigation). * * You can disable automatic handling by setting this to `false`, or handle * chunk errors manually by setting it to `manual`. * @see [Nuxt PR #19038](https://github.com/nuxt/nuxt/pull/19038) - * @type {false | 'manual' | 'automatic'} + * @type {false | 'manual' | 'automatic' | 'automatic-immediate'} */ emitRouteChunkError: { $resolve: (val) => { @@ -304,8 +307,13 @@ export default defineUntypedSchema({ * This only works with static or strings/arrays rather than variables or conditional assignment. * * @see [Nuxt Issues #24770](https://github.com/nuxt/nuxt/issues/24770) + * @type {boolean | 'after-resolve'} */ - scanPageMeta: true, + scanPageMeta: { + async $resolve (val, get) { + return val ?? ((await get('future') as Record).compatibilityVersion === 4 ? 'after-resolve' : true) + }, + }, /** * Automatically share payload _data_ between pages that are prerendered. This can result in a significant @@ -396,5 +404,15 @@ export default defineUntypedSchema({ * This only works for source files within `srcDir` and `serverDir` for the Vue/Nitro parts of your app. */ buildCache: false, + + /** + * Ensure that auto-generated Vue component names match the full component name + * you would use to auto-import the component. + */ + normalizeComponentNames: { + $resolve: async (val, get) => { + return val ?? ((await get('future') as Record).compatibilityVersion === 4) + }, + }, }, }) diff --git a/packages/schema/src/config/nitro.ts b/packages/schema/src/config/nitro.ts index 58339db04..9f886dc07 100644 --- a/packages/schema/src/config/nitro.ts +++ b/packages/schema/src/config/nitro.ts @@ -48,7 +48,7 @@ export default defineUntypedSchema({ * Each handler accepts the following options: * * - handler: The path to the file defining the handler. - * - route: The route under which the handler is available. This follows the conventions of [rou3](https://github.com/unjs/rou3.) + * - route: The route under which the handler is available. This follows the conventions of [rou3](https://github.com/unjs/rou3). * - method: The HTTP method of requests that should be handled. * - middleware: Specifies whether it is a middleware handler. * - lazy: Specifies whether to use lazy loading to import the handler. diff --git a/packages/schema/src/config/typescript.ts b/packages/schema/src/config/typescript.ts index 402cd007f..742f5a20f 100644 --- a/packages/schema/src/config/typescript.ts +++ b/packages/schema/src/config/typescript.ts @@ -20,7 +20,7 @@ export default defineUntypedSchema({ * builder environment types (with `false`) to handle this fully yourself, or opt for a 'shared' option. * * The 'shared' option is advised for module authors, who will want to support multiple possible builders. - * @type {'vite' | 'webpack' | 'shared' | false | undefined} + * @type {'vite' | 'webpack' | 'rspack' | 'shared' | false | undefined} */ builder: { $resolve: val => val ?? null, diff --git a/packages/schema/src/index.ts b/packages/schema/src/index.ts index 0eb5c1588..a682bb2f6 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, ModuleSetupInstallResult, ModuleSetupReturn, 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/compatibility.ts b/packages/schema/src/types/compatibility.ts index 562b187cb..209b37307 100644 --- a/packages/schema/src/types/compatibility.ts +++ b/packages/schema/src/types/compatibility.ts @@ -26,7 +26,7 @@ export interface NuxtCompatibility { * }) * ``` */ - builder?: Partial> + builder?: Partial> } export interface NuxtCompatibilityIssue { diff --git a/packages/schema/src/types/config.ts b/packages/schema/src/types/config.ts index 2e9526339..2d9c1222e 100644 --- a/packages/schema/src/types/config.ts +++ b/packages/schema/src/types/config.ts @@ -1,10 +1,11 @@ -import type { KeepAliveProps, TransitionProps } from 'vue' +import type { KeepAliveProps, TransitionProps, AppConfig as VueAppConfig } from 'vue' import type { ServerOptions as ViteServerOptions, UserConfig as ViteUserConfig } from 'vite' import type { Options as VuePluginOptions } from '@vitejs/plugin-vue' import type { Options as VueJsxPluginOptions } from '@vitejs/plugin-vue-jsx' import type { SchemaDefinition } from 'untyped' import type { NitroRuntimeConfig, NitroRuntimeConfigApp } from 'nitro/types' import type { SnakeCase } from 'scule' +import type { ResolvedConfig } from 'c12' import type { ConfigSchema } from '../../schema/config' import type { Nuxt } from './nuxt' import type { AppHeadMetaObject } from './head' @@ -45,7 +46,8 @@ export interface RuntimeConfig extends RuntimeConfigNamespace { } // User configuration in `nuxt.config` file -export interface NuxtConfig extends DeepPartial> { +export interface NuxtConfig extends DeepPartial> { + vue?: Omit, 'config'> & { config?: Partial> } // Avoid DeepPartial for vite config interface (#4772) vite?: ConfigSchema['vite'] runtimeConfig?: Overrideable @@ -61,25 +63,23 @@ export interface NuxtConfig extends DeepPartial from c12 -interface ConfigLayer { - config: T +export type NuxtConfigLayer = ResolvedConfig & { cwd: string configFile: string } -export type NuxtConfigLayer = ConfigLayer export interface NuxtBuilder { bundle: (nuxt: Nuxt) => Promise } // Normalized Nuxt options available as `nuxt.options.*` -export interface NuxtOptions extends Omit { +export interface NuxtOptions extends Omit { + vue: Omit & { config?: Partial> } sourcemap: Required> - builder: '@nuxt/vite-builder' | '@nuxt/webpack-builder' | NuxtBuilder + builder: '@nuxt/vite-builder' | '@nuxt/webpack-builder' | '@nuxt/rspack-builder' | NuxtBuilder postcss: Omit & { order: Exclude } webpack: ConfigSchema['webpack'] & { $client: ConfigSchema['webpack'] @@ -141,6 +141,9 @@ export interface AppConfigInput extends CustomAppConfig { // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type type Serializable = T extends Function ? never : T extends Promise ? Serializable : T extends string & {} ? T : T extends Record ? { [K in keyof T]: Serializable } : T +type ValueOf = T[keyof T] +type Filter, V> = Pick extends V ? K : never }>> + export interface NuxtAppConfig { head: Serializable layoutTransition: boolean | Serializable diff --git a/packages/schema/src/types/hooks.ts b/packages/schema/src/types/hooks.ts index 780b8b061..3b88d3ec8 100644 --- a/packages/schema/src/types/hooks.ts +++ b/packages/schema/src/types/hooks.ts @@ -8,7 +8,7 @@ import type { Import, InlinePreset, Unimport } from 'unimport' import type { Compiler, Configuration, Stats } from 'webpack' import type { Nitro, NitroConfig } from 'nitro/types' import type { Schema, SchemaDefinition } from 'untyped' -import type { RouteLocationRaw } from 'vue-router' +import type { RouteLocationRaw, RouteRecordRaw } from 'vue-router' import type { VueCompilerOptions } from '@vue/language-core' import type { NuxtCompatibility, NuxtCompatibilityIssues, ViteConfig } from '..' import type { Component, ComponentsOptions } from './components' @@ -28,6 +28,7 @@ export type VueTSConfig = 0 extends 1 & VueCompilerOptions ? TSConfig : TSConfig export type NuxtPage = { name?: string path: string + props?: RouteRecordRaw['props'] file?: string meta?: Record alias?: string[] | string @@ -183,12 +184,19 @@ export interface NuxtHooks { 'builder:watch': (event: WatchEvent, path: string) => HookResult /** - * Called after pages routes are resolved. - * @param pages Array containing resolved pages + * Called after page routes are scanned from the file system. + * @param pages Array containing scanned pages * @returns Promise */ 'pages:extend': (pages: NuxtPage[]) => HookResult + /** + * Called after page routes have been augmented with scanned metadata. + * @param pages Array containing resolved pages + * @returns Promise + */ + 'pages:resolved': (pages: NuxtPage[]) => HookResult + /** * Called when resolving `app/router.options` files. It allows modifying the detected router options files * and adding new ones. @@ -408,6 +416,55 @@ export interface NuxtHooks { * @returns void */ 'webpack:progress': (statesArray: any[]) => void + + // rspack + /** + * Called before configuring the webpack compiler. + * @param webpackConfigs Configs objects to be pushed to the compiler + * @returns Promise + */ + 'rspack:config': (webpackConfigs: Configuration[]) => HookResult + /** + * Allows to read the resolved webpack config + * @param webpackConfigs Configs objects to be pushed to the compiler + * @returns Promise + */ + 'rspack:configResolved': (webpackConfigs: Readonly[]) => HookResult + /** + * Called right before compilation. + * @param options The options to be added + * @returns Promise + */ + 'rspack:compile': (options: { name: string, compiler: Compiler }) => HookResult + /** + * Called after resources are loaded. + * @param options The compiler options + * @returns Promise + */ + 'rspack:compiled': (options: { name: string, compiler: Compiler, stats: Stats }) => HookResult + + /** + * Called on `change` on WebpackBar. + * @param shortPath the short path + * @returns void + */ + 'rspack:change': (shortPath: string) => void + /** + * Called on `done` if has errors on WebpackBar. + * @returns void + */ + 'rspack:error': () => void + /** + * Called on `allDone` on WebpackBar. + * @returns void + */ + 'rspack:done': () => void + /** + * Called on `progress` on WebpackBar. + * @param statesArray The array containing the states on progress + * @returns void + */ + 'rspack:progress': (statesArray: any[]) => void } export type NuxtHookName = keyof NuxtHooks diff --git a/packages/schema/src/types/nuxt.ts b/packages/schema/src/types/nuxt.ts index a87ce9e25..ab9d1a2ee 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 @@ -76,6 +82,7 @@ export interface Nuxt { // Private fields. _version: string _ignore?: Ignore + _dependencies?: Set /** The resolved Nuxt configuration. */ options: NuxtOptions diff --git a/packages/ui-templates/lib/dev.ts b/packages/ui-templates/lib/dev.ts index 8c2624dbf..3469dd625 100644 --- a/packages/ui-templates/lib/dev.ts +++ b/packages/ui-templates/lib/dev.ts @@ -31,7 +31,7 @@ export const DevRenderingPlugin = () => { const chunks = contents.split(/\{{2,3}[^{}]+\}{2,3}/g) let templateString = chunks.shift() for (const expression of contents.matchAll(/\{{2,3}([^{}]+)\}{2,3}/g)) { - const value = runInNewContext(expression[1].trim(), { + const value = runInNewContext(expression[1]!.trim(), { version, messages: { ...genericMessages, ...messages }, }) diff --git a/packages/ui-templates/lib/render.ts b/packages/ui-templates/lib/render.ts index 13ebacf79..267d95a01 100644 --- a/packages/ui-templates/lib/render.ts +++ b/packages/ui-templates/lib/render.ts @@ -3,8 +3,7 @@ import { readFileSync, rmdirSync, unlinkSync, writeFileSync } from 'node:fs' import { copyFile } from 'node:fs/promises' import { basename, dirname, join } from 'pathe' import type { Plugin } from 'vite' -// @ts-expect-error https://github.com/GoogleChromeLabs/critters/pull/151 -import Critters from 'critters' +import Beasties from 'beasties' import { genObjectFromRawEntries } from 'knitwork' import htmlnano from 'htmlnano' import { glob } from 'tinyglobby' @@ -25,7 +24,7 @@ export const RenderPlugin = () => { }, enforce: 'post', async writeBundle () { - const critters = new Critters({ path: outputDir }) + const critters = new Beasties({ path: outputDir }) const htmlFiles = await glob(['templates/**/*.html'], { cwd: outputDir, absolute: true, diff --git a/packages/ui-templates/package.json b/packages/ui-templates/package.json index 2da9f2e2a..a8b6dbbd3 100644 --- a/packages/ui-templates/package.json +++ b/packages/ui-templates/package.json @@ -18,18 +18,18 @@ "test": "pnpm lint && pnpm build" }, "devDependencies": { - "@unocss/reset": "0.62.3", - "critters": "0.0.24", - "html-validate": "8.22.0", + "@unocss/reset": "0.64.0", + "beasties": "0.1.0", + "html-validate": "8.24.2", "htmlnano": "2.1.1", - "jiti": "2.0.0-beta.3", + "jiti": "2.4.0", "knitwork": "1.1.0", "pathe": "1.1.2", "prettier": "3.3.3", "scule": "1.3.0", - "tinyexec": "0.3.0", - "tinyglobby": "0.2.6", - "unocss": "0.62.3", - "vite": "5.4.5" + "tinyexec": "0.3.1", + "tinyglobby": "0.2.10", + "unocss": "0.64.0", + "vite": "5.4.10" } } diff --git a/packages/ui-templates/test/templates.spec.ts b/packages/ui-templates/test/templates.spec.ts index 33aa98991..5390af3d5 100644 --- a/packages/ui-templates/test/templates.spec.ts +++ b/packages/ui-templates/test/templates.spec.ts @@ -5,7 +5,6 @@ import { afterAll, beforeAll, describe, expect, it } from 'vitest' import { exec } from 'tinyexec' import { format } from 'prettier' import { createJiti } from 'jiti' -// @ts-expect-error types not valid for bundler resolution import { HtmlValidate } from 'html-validate' const distDir = fileURLToPath(new URL('../node_modules/.temp/dist/templates', import.meta.url)) diff --git a/packages/vite/package.json b/packages/vite/package.json index 8cc712531..94a7a418d 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -26,46 +26,46 @@ "devDependencies": { "@nuxt/schema": "workspace:*", "@types/clear": "0.1.4", - "@types/estree": "1.0.5", - "rollup": "4.21.3", - "unbuild": "3.0.0-rc.7", - "vue": "3.5.5" + "@types/estree": "1.0.6", + "rollup": "4.24.4", + "unbuild": "3.0.0-rc.11", + "vue": "3.5.12" }, "dependencies": { "@nuxt/kit": "workspace:*", - "@rollup/plugin-replace": "^5.0.7", - "@vitejs/plugin-vue": "^5.1.3", + "@rollup/plugin-replace": "^6.0.1", + "@vitejs/plugin-vue": "^5.1.4", "@vitejs/plugin-vue-jsx": "^4.0.1", "autoprefixer": "^10.4.20", "clear": "^0.1.0", "consola": "^3.2.3", "cssnano": "^7.0.6", "defu": "^6.1.4", - "esbuild": "^0.23.1", + "esbuild": "^0.24.0", "escape-string-regexp": "^5.0.0", "estree-walker": "^3.0.3", "externality": "^1.0.2", "get-port-please": "^3.1.2", "h3": "npm:h3-nightly@2.0.0-1718872656.6765a6e", - "jiti": "^2.0.0-beta.3", + "jiti": "^2.4.0", "knitwork": "^1.1.0", - "magic-string": "^0.30.11", - "mlly": "^1.7.1", - "ohash": "^1.1.3", + "magic-string": "^0.30.12", + "mlly": "^1.7.2", + "ohash": "^1.1.4", "pathe": "^1.1.2", "perfect-debounce": "^1.0.0", - "pkg-types": "^1.2.0", - "postcss": "^8.4.45", + "pkg-types": "^1.2.1", + "postcss": "^8.4.47", "rollup-plugin-visualizer": "^5.12.0", "std-env": "^3.7.0", "strip-literal": "^2.1.0", "ufo": "^1.5.4", "unenv": "^1.10.0", - "unplugin": "^1.14.1", - "vite": "^5.4.5", - "vite-node": "^2.1.1", + "unplugin": "^1.15.0", + "vite": "^5.4.10", + "vite-node": "^2.1.4", "vite-plugin-checker": "^0.8.0", - "vue-bundle-renderer": "^2.1.0" + "vue-bundle-renderer": "^2.1.1" }, "peerDependencies": { "vue": "^3.3.4" diff --git a/packages/vite/src/client.ts b/packages/vite/src/client.ts index 1821e21d3..f26303b2e 100644 --- a/packages/vite/src/client.ts +++ b/packages/vite/src/client.ts @@ -109,9 +109,7 @@ export async function buildClient (ctx: ViteBuildContext) { alias: { ...nodeCompat.alias, ...ctx.config.resolve?.alias, - '#internal/nuxt/paths': resolve(ctx.nuxt.options.buildDir, 'paths.mjs'), - '#build/plugins': resolve(ctx.nuxt.options.buildDir, 'plugins/client'), - 'nitro/runtime': resolve(ctx.nuxt.options.buildDir, 'nitro.client.mjs'), + 'nitro/runtime': join(ctx.nuxt.options.buildDir, 'nitro.client.mjs'), }, dedupe: [ 'vue', @@ -184,7 +182,7 @@ export async function buildClient (ctx: ViteBuildContext) { if (clientConfig.server && clientConfig.server.hmr !== false) { const serverDefaults: Omit & { hmr: Exclude } = { hmr: { - protocol: ctx.nuxt.options.devServer.https ? 'wss' : 'ws', + protocol: ctx.nuxt.options.devServer.https ? 'wss' : undefined, }, } if (typeof clientConfig.server.hmr !== 'object' || !clientConfig.server.hmr.server) { diff --git a/packages/vite/src/css.ts b/packages/vite/src/css.ts index 6457c78e4..9b059082f 100644 --- a/packages/vite/src/css.ts +++ b/packages/vite/src/css.ts @@ -9,29 +9,30 @@ function sortPlugins ({ plugins, order }: NuxtOptions['postcss']): string[] { } export async function resolveCSSOptions (nuxt: Nuxt): Promise { - const css: ViteConfig['css'] & { postcss: NonNullable['postcss'], string>> } = { + const css: ViteConfig['css'] & { postcss: NonNullable['postcss'], string>> & { plugins: Plugin[] } } = { postcss: { plugins: [], }, } - css.postcss.plugins = [] const postcssOptions = nuxt.options.postcss - const jiti = createJiti(nuxt.options.rootDir, { - interopDefault: true, - alias: nuxt.options.alias, - }) + const jiti = createJiti(nuxt.options.rootDir, { alias: nuxt.options.alias }) for (const pluginName of sortPlugins(postcssOptions)) { const pluginOptions = postcssOptions.plugins[pluginName] if (!pluginOptions) { continue } - const path = jiti.esmResolve(pluginName) - const pluginFn = (await jiti.import(path)) as (opts: Record) => Plugin - if (typeof pluginFn === 'function') { - css.postcss.plugins.push(pluginFn(pluginOptions)) - } else { + let pluginFn: ((opts: Record) => Plugin) | undefined + for (const parentURL of nuxt.options.modulesDir) { + pluginFn = await jiti.import(pluginName, { parentURL: parentURL.replace(/\/node_modules\/?$/, ''), try: true, default: true }) as (opts: Record) => Plugin + if (typeof pluginFn === 'function') { + css.postcss.plugins.push(pluginFn(pluginOptions)) + break + } + } + + if (typeof pluginFn !== 'function') { console.warn(`[nuxt] could not import postcss plugin \`${pluginName}\`. Please report this as a bug.`) } } diff --git a/packages/vite/src/manifest.ts b/packages/vite/src/manifest.ts index 15172431f..994f1d3f4 100644 --- a/packages/vite/src/manifest.ts +++ b/packages/vite/src/manifest.ts @@ -5,11 +5,13 @@ import { relative, resolve } from 'pathe' import { withTrailingSlash, withoutLeadingSlash } from 'ufo' import escapeRE from 'escape-string-regexp' import { normalizeViteManifest } from 'vue-bundle-renderer' +import type { Manifest as RendererManifest } from 'vue-bundle-renderer' +import type { Manifest as ViteClientManifest } from 'vite' import type { ViteBuildContext } from './vite' export async function writeManifest (ctx: ViteBuildContext) { // This is only used for ssr: false - when ssr is enabled we use vite-node runtime manifest - const devClientManifest = { + const devClientManifest: RendererManifest = { '@vite/client': { isEntry: true, file: '@vite/client', @@ -30,17 +32,17 @@ export async function writeManifest (ctx: ViteBuildContext) { const serverDist = resolve(ctx.nuxt.options.buildDir, 'dist/server') const manifestFile = resolve(clientDist, 'manifest.json') - const clientManifest = ctx.nuxt.options.dev ? devClientManifest : JSON.parse(readFileSync(manifestFile, 'utf-8')) + const clientManifest = ctx.nuxt.options.dev ? devClientManifest : JSON.parse(readFileSync(manifestFile, 'utf-8')) as ViteClientManifest + const manifestEntries = Object.values(clientManifest) const buildAssetsDir = withTrailingSlash(withoutLeadingSlash(ctx.nuxt.options.app.buildAssetsDir)) const BASE_RE = new RegExp(`^${escapeRE(buildAssetsDir)}`) - for (const key in clientManifest) { - const entry = clientManifest[key] + for (const entry of manifestEntries) { if (entry.file) { entry.file = entry.file.replace(BASE_RE, '') } - for (const item of ['css', 'assets']) { + for (const item of ['css', 'assets'] as const) { if (entry[item]) { entry[item] = entry[item].map((i: string) => i.replace(BASE_RE, '')) } @@ -50,12 +52,11 @@ export async function writeManifest (ctx: ViteBuildContext) { await mkdir(serverDist, { recursive: true }) if (ctx.config.build?.cssCodeSplit === false) { - for (const key in clientManifest as Record) { - const val = clientManifest[key] - if (val.file?.endsWith('.css')) { + for (const entry of manifestEntries) { + if (entry.file?.endsWith('.css')) { const key = relative(ctx.config.root!, ctx.entry) - clientManifest[key].css ||= [] - clientManifest[key].css!.push(val.file) + clientManifest[key]!.css ||= [] + ;(clientManifest[key]!.css as string[]).push(entry.file) break } } diff --git a/packages/vite/src/plugins/analyze.ts b/packages/vite/src/plugins/analyze.ts index edecf536c..d5e8e4432 100644 --- a/packages/vite/src/plugins/analyze.ts +++ b/packages/vite/src/plugins/analyze.ts @@ -18,8 +18,7 @@ export function analyzePlugin (ctx: ViteBuildContext): Plugin[] { const bundle = outputBundle[_bundleId] if (!bundle || bundle.type !== 'chunk') { continue } const minifiedModuleEntryPromises: Array> = [] - for (const moduleId in bundle.modules) { - const module = bundle.modules[moduleId]! + for (const [moduleId, module] of Object.entries(bundle.modules)) { minifiedModuleEntryPromises.push( transform(module.code || '', { minify: true }) .then(result => [moduleId, { ...module, code: result.code }]), diff --git a/packages/vite/src/plugins/composable-keys.ts b/packages/vite/src/plugins/composable-keys.ts index 7e252f6ac..14233469a 100644 --- a/packages/vite/src/plugins/composable-keys.ts +++ b/packages/vite/src/plugins/composable-keys.ts @@ -20,6 +20,7 @@ interface ComposableKeysOptions { const stringTypes: Array = ['Literal', 'TemplateLiteral'] const NUXT_LIB_RE = /node_modules\/(?:nuxt|nuxt3|nuxt-nightly)\// const SUPPORTED_EXT_RE = /\.(?:m?[jt]sx?|vue)/ +const SCRIPT_RE = /(?<=]*>)[\s\S]*?(?=<\/script>)/i export const composableKeysPlugin = createUnplugin((options: ComposableKeysOptions) => { const composableMeta: Record = {} @@ -43,7 +44,7 @@ export const composableKeysPlugin = createUnplugin((options: ComposableKeysOptio }, transform (code, id) { if (!KEYED_FUNCTIONS_RE.test(code)) { return } - const { 0: script = code, index: codeIndex = 0 } = code.match(/(?<=]*>)[\s\S]*?(?=<\/script>)/i) || { index: 0, 0: code } + const { 0: script = code, index: codeIndex = 0 } = code.match(SCRIPT_RE) || { index: 0, 0: code } const s = new MagicString(code) // https://github.com/unjs/unplugin/issues/90 let imports: Set | undefined diff --git a/packages/vite/src/plugins/public-dirs.ts b/packages/vite/src/plugins/public-dirs.ts index e2765510f..970bb2af1 100644 --- a/packages/vite/src/plugins/public-dirs.ts +++ b/packages/vite/src/plugins/public-dirs.ts @@ -10,6 +10,7 @@ import { isCSSRequest } from 'vite' const PREFIX = 'virtual:public?' const CSS_URL_RE = /url\((\/[^)]+)\)/g const CSS_URL_SINGLE_RE = /url\(\/[^)]+\)/ +const RENDER_CHUNK_RE = /(?<= = )['"`]/ interface VitePublicDirsPluginOptions { dev?: boolean @@ -70,7 +71,7 @@ export const VitePublicDirsPlugin = createUnplugin((options: VitePublicDirsPlugi if (!chunk.facadeModuleId?.includes('?inline&used')) { return } const s = new MagicString(code) - const q = code.match(/(?<= = )['"`]/)?.[0] || '"' + const q = code.match(RENDER_CHUNK_RE)?.[0] || '"' for (const [full, url] of code.matchAll(CSS_URL_RE)) { if (url && resolveFromPublicAssets(url)) { s.replace(full, `url(${q} + publicAssetsURL(${q}${url}${q}) + ${q})`) @@ -86,8 +87,7 @@ export const VitePublicDirsPlugin = createUnplugin((options: VitePublicDirsPlugi } }, generateBundle (_outputOptions, bundle) { - for (const file in bundle) { - const chunk = bundle[file]! + for (const [file, chunk] of Object.entries(bundle)) { if (!file.endsWith('.css') || chunk.type !== 'asset') { continue } let css = chunk.source.toString() @@ -109,13 +109,14 @@ export const VitePublicDirsPlugin = createUnplugin((options: VitePublicDirsPlugi ] }) +const PUBLIC_ASSETS_RE = /[?#].*$/ export function useResolveFromPublicAssets () { const nitro = useNitro() function resolveFromPublicAssets (id: string) { for (const dir of nitro.options.publicAssets) { if (!id.startsWith(withTrailingSlash(dir.baseURL || '/'))) { continue } - const path = id.replace(/[?#].*$/, '').replace(withTrailingSlash(dir.baseURL || '/'), withTrailingSlash(dir.dir)) + const path = id.replace(PUBLIC_ASSETS_RE, '').replace(withTrailingSlash(dir.baseURL || '/'), withTrailingSlash(dir.dir)) if (existsSync(path)) { return id } diff --git a/packages/vite/src/plugins/ssr-styles.ts b/packages/vite/src/plugins/ssr-styles.ts index c7c83a343..ce9936699 100644 --- a/packages/vite/src/plugins/ssr-styles.ts +++ b/packages/vite/src/plugins/ssr-styles.ts @@ -62,8 +62,7 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { if (options.mode === 'client') { return } const emitted: Record = {} - for (const file in cssMap) { - const { files, inBundle } = cssMap[file]! + for (const [file, { files, inBundle }] of Object.entries(cssMap)) { // File has been tree-shaken out of build (or there are no styles to inline) if (!files.length || !inBundle) { continue } const fileName = filename(file) @@ -72,7 +71,9 @@ export function ssrStylesPlugin (options: SSRStylePluginOptions): Plugin { : outputOptions.assetFileNames({ type: 'asset', name: `${fileName}-styles.mjs`, + names: [`${fileName}-styles.mjs`], originalFileName: `${fileName}-styles.mjs`, + originalFileNames: [`${fileName}-styles.mjs`], source: '', }) diff --git a/packages/vite/src/plugins/virtual.ts b/packages/vite/src/plugins/virtual.ts deleted file mode 100644 index 723958a6e..000000000 --- a/packages/vite/src/plugins/virtual.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { dirname, isAbsolute, join, resolve } from 'pathe' -import type { Plugin } from 'vite' - -const PREFIX = 'virtual:nuxt:' - -export default function virtual (vfs: Record): Plugin { - const extensions = ['', '.ts', '.vue', '.mjs', '.cjs', '.js', '.json'] - const resolveWithExt = (id: string) => { - for (const ext of extensions) { - const rId = id + ext - if (rId in vfs) { - return rId - } - } - return null - } - - return { - name: 'virtual', - - resolveId (id, importer) { - if (process.platform === 'win32' && isAbsolute(id)) { - // Add back C: prefix on Windows - id = resolve(id) - } - const resolvedId = resolveWithExt(id) - if (resolvedId) { return PREFIX + resolvedId } - if (importer && !isAbsolute(id)) { - const importerNoPrefix = importer.startsWith(PREFIX) ? importer.slice(PREFIX.length) : importer - const importedDir = dirname(importerNoPrefix) - const resolved = resolveWithExt(join(importedDir, id)) - if (resolved) { return PREFIX + resolved } - } - return null - }, - - load (id) { - if (!id.startsWith(PREFIX)) { return null } - const idNoPrefix = id.slice(PREFIX.length) - if (idNoPrefix in vfs) { - return { - code: vfs[idNoPrefix] || '', - map: null, - } - } - }, - } -} diff --git a/packages/vite/src/runtime/vite-node-shared.mjs b/packages/vite/src/runtime/vite-node-shared.mjs index a9615ac48..3a6109f6b 100644 --- a/packages/vite/src/runtime/vite-node-shared.mjs +++ b/packages/vite/src/runtime/vite-node-shared.mjs @@ -7,7 +7,6 @@ export const viteNodeOptions = JSON.parse(process.env.NUXT_VITE_NODE_OPTIONS || export const viteNodeFetch = $fetch.create({ baseURL: viteNodeOptions.baseURL, - // @ts-expect-error https://github.com/node-fetch/node-fetch#custom-agent agent: viteNodeOptions.baseURL.startsWith('https://') ? new HTTPSAgent({ rejectUnauthorized: false }) : null, diff --git a/packages/vite/src/server.ts b/packages/vite/src/server.ts index db2b2d265..a8da87773 100644 --- a/packages/vite/src/server.ts +++ b/packages/vite/src/server.ts @@ -7,6 +7,7 @@ import { joinURL, withTrailingSlash, withoutLeadingSlash } from 'ufo' import type { ViteConfig } from '@nuxt/schema' import defu from 'defu' import type { Nitro } from 'nitro/types' +import escapeStringRegexp from 'escape-string-regexp' import type { ViteBuildContext } from './vite' import { createViteLogger } from './utils/logger' import { initViteNodeServer } from './vite-node' @@ -58,10 +59,6 @@ export async function buildServer (ctx: ViteBuildContext) { }, resolve: { conditions: ((ctx.nuxt as any)._nitro as Nitro)?.options.exportConditions, - alias: { - '#internal/nuxt/paths': resolve(ctx.nuxt.options.buildDir, 'paths.mjs'), - '#build/plugins': resolve(ctx.nuxt.options.buildDir, 'plugins/server'), - }, }, ssr: { external: [ @@ -84,7 +81,13 @@ export async function buildServer (ctx: ViteBuildContext) { ssr: true, rollupOptions: { input: { server: entry }, - external: ['nitro/runtime', '#internal/nuxt/paths', '#internal/nuxt/app-config'], + external: [ + 'nitro/runtime', + '#internal/nuxt/paths', + '#internal/nuxt/app-config', + '#shared', + new RegExp('^' + escapeStringRegexp(withTrailingSlash(resolve(ctx.nuxt.options.rootDir, ctx.nuxt.options.dir.shared)))), + ], output: { entryFileNames: '[name].mjs', format: 'module', diff --git a/packages/vite/src/utils/external.ts b/packages/vite/src/utils/external.ts index f8f1320a6..c6889cb3a 100644 --- a/packages/vite/src/utils/external.ts +++ b/packages/vite/src/utils/external.ts @@ -1,9 +1,13 @@ import type { ExternalsOptions } from 'externality' import { ExternalsDefaults, isExternal } from 'externality' import type { ViteDevServer } from 'vite' +import escapeStringRegexp from 'escape-string-regexp' +import { withTrailingSlash } from 'ufo' +import type { Nuxt } from 'nuxt/schema' +import { resolve } from 'pathe' import { toArray } from '.' -export function createIsExternal (viteServer: ViteDevServer, rootDir: string, modulesDirs?: string[]) { +export function createIsExternal (viteServer: ViteDevServer, nuxt: Nuxt) { const externalOpts: ExternalsOptions = { inline: [ /virtual:/, @@ -16,15 +20,17 @@ export function createIsExternal (viteServer: ViteDevServer, rootDir: string, mo ), ], external: [ + '#shared', + new RegExp('^' + escapeStringRegexp(withTrailingSlash(resolve(nuxt.options.rootDir, nuxt.options.dir.shared)))), ...(viteServer.config.ssr.external as string[]) || [], /node_modules/, ], resolve: { - modules: modulesDirs, + modules: nuxt.options.modulesDir, type: 'module', extensions: ['.ts', '.js', '.json', '.vue', '.mjs', '.jsx', '.tsx', '.wasm'], }, } - return (id: string) => isExternal(id, rootDir, externalOpts) + return (id: string) => isExternal(id, nuxt.options.rootDir, externalOpts) } diff --git a/packages/vite/src/utils/logger.ts b/packages/vite/src/utils/logger.ts index 25a89551c..6fb96ba4a 100644 --- a/packages/vite/src/utils/logger.ts +++ b/packages/vite/src/utils/logger.ts @@ -1,5 +1,6 @@ import type * as vite from 'vite' import { logger } from '@nuxt/kit' +import { colorize } from 'consola/utils' import { hasTTY, isCI } from 'std-env' import clear from 'clear' import type { NuxtOptions } from '@nuxt/schema' @@ -22,6 +23,7 @@ const logLevelMapReverse: Record, numbe info: 3, } +const RUNTIME_RESOLVE_REF_RE = /^([^ ]+) referenced in/m export function createViteLogger (config: vite.InlineConfig): vite.Logger { const loggedErrors = new WeakSet() const canClearScreen = hasTTY && !isCI && config.clearScreen @@ -36,7 +38,7 @@ export function createViteLogger (config: vite.InlineConfig): vite.Logger { if (msg.startsWith('Sourcemap') && msg.includes('node_modules')) { return } // Hide warnings about externals produced by https://github.com/vitejs/vite/blob/v5.2.11/packages/vite/src/node/plugins/css.ts#L350-L355 if (msg.includes('didn\'t resolve at build time, it will remain unchanged to be resolved at runtime')) { - const id = msg.trim().match(/^([^ ]+) referenced in/m)?.[1] + const id = msg.trim().match(RUNTIME_RESOLVE_REF_RE)?.[1] if (id && resolveFromPublicAssets(id)) { return } } } @@ -61,8 +63,7 @@ export function createViteLogger (config: vite.InlineConfig): vite.Logger { const prevLevel = logger.level logger.level = logLevelMapReverse[config.logLevel || 'info'] - // TODO: colorize counter after https://github.com/unjs/consola/pull/166 - logger[type](msg + (sameAsLast ? ` (x${duplicateCount + 1})` : '')) + logger[type](msg + (sameAsLast ? colorize('dim', ` (x${duplicateCount + 1})`) : '')) logger.level = prevLevel } diff --git a/packages/vite/src/vite-node.ts b/packages/vite/src/vite-node.ts index 8001c389c..b10a59e88 100644 --- a/packages/vite/src/vite-node.ts +++ b/packages/vite/src/vite-node.ts @@ -41,7 +41,7 @@ export function viteNodePlugin (ctx: ViteBuildContext): VitePlugin { configureServer (server) { function invalidateVirtualModules () { for (const [id, mod] of server.moduleGraph.idToModuleMap) { - if (id.startsWith('virtual:')) { + if (id.startsWith('virtual:') || id.startsWith('\0virtual:')) { markInvalidate(mod) } } @@ -140,7 +140,7 @@ function createViteNodeApp (ctx: ViteBuildContext, invalidates: Set = ne }, }) - const isExternal = createIsExternal(viteServer, ctx.nuxt.options.rootDir, ctx.nuxt.options.modulesDir) + const isExternal = createIsExternal(viteServer, ctx.nuxt) node.shouldExternalize = async (id: string) => { const result = await isExternal(id) if (result?.external) { diff --git a/packages/vite/src/vite.ts b/packages/vite/src/vite.ts index 7b51573d1..5500f4bed 100644 --- a/packages/vite/src/vite.ts +++ b/packages/vite/src/vite.ts @@ -12,7 +12,6 @@ import { resolveTSConfig } from 'pkg-types' import { buildClient } from './client' import { buildServer } from './server' -import virtual from './plugins/virtual' import { warmupViteServer } from './utils/warmup' import { resolveCSSOptions } from './css' import { composableKeysPlugin } from './plugins/composable-keys' @@ -65,10 +64,6 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { alias: { ...nuxt.options.alias, '#app': nuxt.options.appDir, - // We need this resolution to be present before the following entry, but it - // will be filled in client/server configs - '#build/plugins': '', - '#build': nuxt.options.buildDir, 'web-streams-polyfill/ponyfill/es2018': 'unenv/runtime/mock/empty', // Cannot destructure property 'AbortController' of .. 'abort-controller': 'unenv/runtime/mock/empty', @@ -110,7 +105,6 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { composables: nuxt.options.optimization.keyedComposables, }), replace({ preventAssignment: true, ...globalThisReplacements }), - virtual(nuxt.vfs), ], server: { watch: { ignored: isIgnored }, @@ -207,8 +201,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { // Remove CSS entries for files that will have inlined styles ctx.nuxt.hook('build:manifest', (manifest) => { - for (const key in manifest) { - const entry = manifest[key]! + for (const [key, entry] of Object.entries(manifest)) { const shouldRemoveCSS = chunksWithInlinedCSS.has(key) && !entry.isEntry if (entry.isEntry && chunksWithInlinedCSS.has(key)) { // @ts-expect-error internal key @@ -225,7 +218,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { // Invalidate virtual modules when templates are re-generated ctx.nuxt.hook('app:templatesGenerated', () => { for (const [id, mod] of server.moduleGraph.idToModuleMap) { - if (id.startsWith('virtual:')) { + if (id.startsWith('virtual:') || id.startsWith('\0virtual:')) { server.moduleGraph.invalidateModule(mod) } } diff --git a/packages/webpack/build.config.ts b/packages/webpack/build.config.ts index 95278b754..e1567f1bb 100644 --- a/packages/webpack/build.config.ts +++ b/packages/webpack/build.config.ts @@ -8,7 +8,6 @@ export default defineBuildConfig({ dependencies: [ '@nuxt/kit', 'unplugin', - 'webpack-virtual-modules', 'postcss', 'postcss-loader', 'vue-loader', @@ -18,6 +17,7 @@ export default defineBuildConfig({ 'vue', ], externals: [ + '#builder', '@nuxt/schema', ], }) diff --git a/packages/webpack/builder.d.ts b/packages/webpack/builder.d.ts new file mode 100644 index 000000000..a7924b945 --- /dev/null +++ b/packages/webpack/builder.d.ts @@ -0,0 +1,8 @@ +declare module '#builder' { + import type Webpack from 'webpack' + import type MiniCssExtractPlugin from 'mini-css-extract-plugin' + + export const webpack: typeof Webpack + export const MiniCssExtractPlugin: typeof MiniCssExtractPlugin + export const builder: 'webpack' | 'rspack' +} diff --git a/packages/webpack/builder.mjs b/packages/webpack/builder.mjs new file mode 100644 index 000000000..4de1c4129 --- /dev/null +++ b/packages/webpack/builder.mjs @@ -0,0 +1,3 @@ +export const builder = 'webpack' +export { default as webpack } from 'webpack' +export { default as MiniCssExtractPlugin } from 'mini-css-extract-plugin' diff --git a/packages/webpack/package.json b/packages/webpack/package.json index 2600d1c7c..ab0f1e556 100644 --- a/packages/webpack/package.json +++ b/packages/webpack/package.json @@ -11,6 +11,9 @@ "license": "MIT", "type": "module", "types": "./dist/index.d.ts", + "imports": { + "#builder": "./builder.mjs" + }, "exports": { ".": { "types": "./dist/index.d.ts", @@ -19,7 +22,8 @@ "./dist/*": "./dist/*" }, "files": [ - "dist" + "dist", + "builder.mjs" ], "scripts": { "prepack": "unbuild" @@ -40,17 +44,17 @@ "globby": "^14.0.2", "h3": "npm:h3-nightly@2.0.0-1718872656.6765a6e", "hash-sum": "^2.0.0", - "jiti": "^2.0.0-beta.3", + "jiti": "^2.4.0", "knitwork": "^1.1.0", "lodash-es": "4.17.21", - "magic-string": "^0.30.11", - "memfs": "^4.11.1", - "mini-css-extract-plugin": "^2.9.1", - "mlly": "^1.7.1", - "ohash": "^1.1.3", + "magic-string": "^0.30.12", + "memfs": "^4.14.0", + "mini-css-extract-plugin": "^2.9.2", + "mlly": "^1.7.2", + "ohash": "^1.1.4", "pathe": "^1.1.2", "pify": "^6.1.0", - "postcss": "^8.4.45", + "postcss": "^8.4.47", "postcss-import": "^16.1.0", "postcss-import-resolver": "^2.0.0", "postcss-loader": "^8.1.1", @@ -60,27 +64,27 @@ "time-fix-plugin": "^2.0.7", "ufo": "^1.5.4", "unenv": "^1.10.0", - "unplugin": "^1.14.1", + "unplugin": "^1.15.0", "url-loader": "^4.1.1", - "vue-bundle-renderer": "^2.1.0", + "vue-bundle-renderer": "^2.1.1", "vue-loader": "^17.4.2", - "webpack": "^5.94.0", + "webpack": "^5.96.1", "webpack-bundle-analyzer": "^4.10.2", "webpack-dev-middleware": "^7.4.2", "webpack-hot-middleware": "^2.26.1", - "webpack-virtual-modules": "^0.6.2", "webpackbar": "^6.0.1" }, "devDependencies": { "@nuxt/schema": "workspace:*", + "@rspack/core": "1.0.14", "@types/hash-sum": "1.0.2", "@types/lodash-es": "4.17.12", "@types/pify": "5.0.4", "@types/webpack-bundle-analyzer": "4.7.0", "@types/webpack-hot-middleware": "2.25.9", - "rollup": "4.21.3", - "unbuild": "3.0.0-rc.7", - "vue": "3.5.5" + "rollup": "4.24.4", + "unbuild": "3.0.0-rc.11", + "vue": "3.5.12" }, "peerDependencies": { "vue": "^3.3.4" diff --git a/packages/webpack/src/configs/client.ts b/packages/webpack/src/configs/client.ts index e1bf00a5f..f14774593 100644 --- a/packages/webpack/src/configs/client.ts +++ b/packages/webpack/src/configs/client.ts @@ -1,6 +1,5 @@ import querystring from 'node:querystring' import { resolve } from 'pathe' -import webpack from 'webpack' import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer' import { logger } from '@nuxt/kit' import { joinURL } from 'ufo' @@ -10,6 +9,7 @@ import { env, nodeless } from 'unenv' import type { WebpackConfigContext } from '../utils/config' import { applyPresets } from '../utils/config' import { nuxt } from '../presets/nuxt' +import { webpack } from '#builder' export async function client (ctx: WebpackConfigContext) { ctx.name = 'client' diff --git a/packages/webpack/src/configs/server.ts b/packages/webpack/src/configs/server.ts index e9a173815..c4bda90d5 100644 --- a/packages/webpack/src/configs/server.ts +++ b/packages/webpack/src/configs/server.ts @@ -1,11 +1,11 @@ -import { isAbsolute } from 'pathe' -import webpack from 'webpack' +import { isAbsolute, resolve } from 'pathe' import ForkTSCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin' import { logger } from '@nuxt/kit' import type { WebpackConfigContext } from '../utils/config' import { applyPresets } from '../utils/config' import { nuxt } from '../presets/nuxt' import { node } from '../presets/node' +import { webpack } from '#builder' const assetPattern = /\.(?:css|s[ca]ss|png|jpe?g|gif|svg|woff2?|eot|ttf|otf|webp|webm|mp4|ogv)(?:\?.*)?$/i @@ -53,7 +53,11 @@ function serverStandalone (ctx: WebpackConfigContext) { '#', ...ctx.options.build.transpile, ] - const external = ['nitro/runtime'] + const external = [ + 'nitro/runtime', + '#shared', + resolve(ctx.nuxt.options.rootDir, ctx.nuxt.options.dir.shared), + ] if (!ctx.nuxt.options.dev) { external.push('#internal/nuxt/paths', '#internal/nuxt/app-config') } diff --git a/packages/webpack/src/nitro/plugins/dynamic-require.ts b/packages/webpack/src/nitro/plugins/dynamic-require.ts index 18f987d78..5ac05dc35 100644 --- a/packages/webpack/src/nitro/plugins/dynamic-require.ts +++ b/packages/webpack/src/nitro/plugins/dynamic-require.ts @@ -7,6 +7,7 @@ import { importModule } from '@nuxt/kit' const PLUGIN_NAME = 'dynamic-require' const HELPER_DYNAMIC = `\0${PLUGIN_NAME}.mjs` const DYNAMIC_REQUIRE_RE = /import\("\.\/" ?\+(.*)\).then/g +const BACKWARD_SLASH_RE = /\\/g interface Options { dir: string @@ -75,7 +76,7 @@ export function dynamicRequire ({ dir, ignore, inline }: Options): Plugin { await Promise.all( files.map(async id => ({ id, - src: resolve(dir, id).replace(/\\/g, '/'), + src: resolve(dir, id).replace(BACKWARD_SLASH_RE, '/'), name: genSafeVariableName(id), meta: await getWebpackChunkMeta(resolve(dir, id)), })), diff --git a/packages/webpack/src/plugins/chunk.ts b/packages/webpack/src/plugins/chunk.ts index 56edb4c2f..999b83cbc 100644 --- a/packages/webpack/src/plugins/chunk.ts +++ b/packages/webpack/src/plugins/chunk.ts @@ -1,9 +1,10 @@ import type { Compiler } from 'webpack' -import webpack from 'webpack' +import { webpack } from '#builder' const pluginName = 'ChunkErrorPlugin' -const script = ` +export class ChunkErrorPlugin { + script = ` if (typeof ${webpack.RuntimeGlobals.require} !== "undefined") { var _ensureChunk = ${webpack.RuntimeGlobals.ensureChunk}; ${webpack.RuntimeGlobals.ensureChunk} = function (chunkId) { @@ -16,12 +17,11 @@ if (typeof ${webpack.RuntimeGlobals.require} !== "undefined") { }; };` -export class ChunkErrorPlugin { apply (compiler: Compiler) { compiler.hooks.thisCompilation.tap(pluginName, compilation => compilation.mainTemplate.hooks.localVars.tap( { name: pluginName, stage: 1 }, - source => source + script, + source => source + this.script, ), ) } diff --git a/packages/webpack/src/plugins/vue/client.ts b/packages/webpack/src/plugins/vue/client.ts index 23259c6cb..3f217f3e1 100644 --- a/packages/webpack/src/plugins/vue/client.ts +++ b/packages/webpack/src/plugins/vue/client.ts @@ -7,7 +7,7 @@ import { mkdir, writeFile } from 'node:fs/promises' import { normalizeWebpackManifest } from 'vue-bundle-renderer' import { dirname } from 'pathe' -import hash from 'hash-sum' +import { hash } from 'ohash' import type { Nuxt } from '@nuxt/schema' import type { Compilation, Compiler } from 'webpack' @@ -33,9 +33,10 @@ export default class VueSSRClientPlugin { const stats = compilation.getStats().toJson() const initialFiles = new Set() - for (const name in stats.entrypoints!) { - const entryAssets = stats.entrypoints![name]!.assets! - for (const asset of entryAssets) { + for (const { assets } of Object.values(stats.entrypoints!)) { + if (!assets) { continue } + + for (const asset of assets) { const file = asset.name if ((isJS(file) || isCSS(file)) && !isHotUpdate(file)) { initialFiles.add(file) @@ -71,52 +72,53 @@ export default class VueSSRClientPlugin { } const { entrypoints = {}, namedChunkGroups = {} } = stats - const assetModules = stats.modules!.filter(m => m.assets!.length) - const fileToIndex = (file: string) => webpackManifest.all.indexOf(file) - stats.modules!.forEach((m) => { + const fileToIndex = (file: string | number) => webpackManifest.all.indexOf(String(file)) + for (const m of stats.modules!) { // Ignore modules duplicated in multiple chunks - if (m.chunks!.length === 1) { - const [cid] = m.chunks! - const chunk = stats.chunks!.find(c => c.id === cid) - if (!chunk || !chunk.files || !cid) { - return - } - const id = m.identifier!.replace(/\s\w+$/, '') // remove appended hash - const filesSet = new Set(chunk.files.map(fileToIndex).filter(i => i !== -1)) + if (m.chunks?.length !== 1) { continue } - for (const chunkName of chunk.names!) { - if (!entrypoints[chunkName]) { - const chunkGroup = namedChunkGroups[chunkName] - if (chunkGroup) { - for (const asset of chunkGroup.assets!) { - filesSet.add(fileToIndex(asset.name)) - } - } - } - } - - const files = Array.from(filesSet) - webpackManifest.modules[hash(id)] = files - - // In production mode, modules may be concatenated by scope hoisting - // Include ConcatenatedModule for not losing module-component mapping - if (Array.isArray(m.modules)) { - for (const concatenatedModule of m.modules) { - const id = hash(concatenatedModule.identifier!.replace(/\s\w+$/, '')) - if (!webpackManifest.modules[id]) { - webpackManifest.modules[id] = files - } - } - } - - // Find all asset modules associated with the same chunk - assetModules.forEach((m) => { - if (m.chunks!.includes(cid)) { - files.push(...(m.assets as string[]).map(fileToIndex)) - } - }) + const [cid] = m.chunks + const chunk = stats.chunks!.find(c => c.id === cid) + if (!chunk || !chunk.files || !cid) { + continue } - }) + const id = m.identifier!.replace(/\s\w+$/, '') // remove appended hash + const filesSet = new Set(chunk.files.map(fileToIndex).filter(i => i !== -1)) + + for (const chunkName of chunk.names!) { + if (!entrypoints[chunkName]) { + const chunkGroup = namedChunkGroups[chunkName] + if (chunkGroup) { + for (const asset of chunkGroup.assets!) { + filesSet.add(fileToIndex(asset.name)) + } + } + } + } + + const files = Array.from(filesSet) + webpackManifest.modules[hash(id)] = files + + // In production mode, modules may be concatenated by scope hoisting + // Include ConcatenatedModule for not losing module-component mapping + if (Array.isArray(m.modules)) { + for (const concatenatedModule of m.modules) { + const id = hash(concatenatedModule.identifier!.replace(/\s\w+$/, '')) + if (!webpackManifest.modules[id]) { + webpackManifest.modules[id] = files + } + } + } + + // Find all asset modules associated with the same chunk + if (stats.modules) { + for (const m of stats.modules) { + if (m.assets?.length && m.chunks?.includes(cid)) { + files.push(...m.assets.map(fileToIndex)) + } + } + } + } const manifest = normalizeWebpackManifest(webpackManifest as any) await this.options.nuxt.callHook('build:manifest', manifest) diff --git a/packages/webpack/src/plugins/vue/server.ts b/packages/webpack/src/plugins/vue/server.ts index 646589c60..29f3a1b74 100644 --- a/packages/webpack/src/plugins/vue/server.ts +++ b/packages/webpack/src/plugins/vue/server.ts @@ -1,6 +1,6 @@ import type { Compilation, Compiler } from 'webpack' -import webpack from 'webpack' import { extractQueryPartJS, isJS, validate } from './util' +import { webpack } from '#builder' interface VueSSRServerPluginOptions { filename: string diff --git a/packages/webpack/src/plugins/vue/util.ts b/packages/webpack/src/plugins/vue/util.ts index 58ad48d38..1ae1fb7cb 100644 --- a/packages/webpack/src/plugins/vue/util.ts +++ b/packages/webpack/src/plugins/vue/util.ts @@ -24,6 +24,8 @@ export const isJS = (file: string) => isJSRegExp.test(file) export const extractQueryPartJS = (file: string) => isJSRegExp.exec(file)?.[1] -export const isCSS = (file: string) => /\.css(?:\?[^.]+)?$/.test(file) +const isCSSRegExp = /\.css(?:\?[^.]+)?$/ + +export const isCSS = (file: string) => isCSSRegExp.test(file) export const isHotUpdate = (file: string) => file.includes('hot-update') diff --git a/packages/webpack/src/presets/base.ts b/packages/webpack/src/presets/base.ts index 34337bb21..48ae42c14 100644 --- a/packages/webpack/src/presets/base.ts +++ b/packages/webpack/src/presets/base.ts @@ -3,7 +3,6 @@ import { normalize, resolve } from 'pathe' import TimeFixPlugin from 'time-fix-plugin' import WebpackBar from 'webpackbar' import type { Configuration } from 'webpack' -import webpack from 'webpack' import { logger } from '@nuxt/kit' // @ts-expect-error missing types import FriendlyErrorsWebpackPlugin from '@nuxt/friendly-errors-webpack-plugin' @@ -16,6 +15,8 @@ import WarningIgnorePlugin from '../plugins/warning-ignore' import type { WebpackConfigContext } from '../utils/config' import { applyPresets, fileName } from '../utils/config' +import { builder, webpack } from '#builder' + export async function base (ctx: WebpackConfigContext) { await applyPresets(ctx, [ baseAlias, @@ -53,14 +54,18 @@ function basePlugins (ctx: WebpackConfigContext) { // Add timefix-plugin before other plugins if (ctx.options.dev) { - ctx.config.plugins.push(new TimeFixPlugin()) + if (ctx.nuxt.options.builder !== '@nuxt/rspack-builder') { + ctx.config.plugins.push(new TimeFixPlugin()) + } } // User plugins ctx.config.plugins.push(...(ctx.userConfig.plugins || [])) // Ignore empty warnings - ctx.config.plugins.push(new WarningIgnorePlugin(getWarningIgnoreFilter(ctx))) + if (ctx.nuxt.options.builder !== '@nuxt/rspack-builder') { + ctx.config.plugins.push(new WarningIgnorePlugin(getWarningIgnoreFilter(ctx))) + } // Provide env via DefinePlugin ctx.config.plugins.push(new webpack.DefinePlugin(getEnv(ctx))) @@ -93,21 +98,21 @@ function basePlugins (ctx: WebpackConfigContext) { reporter: { change: (_, { shortPath }) => { if (!ctx.isServer) { - ctx.nuxt.callHook('webpack:change', shortPath) + ctx.nuxt.callHook(`${builder}:change`, shortPath) } }, done: ({ state }) => { if (state.hasErrors) { - ctx.nuxt.callHook('webpack:error') + ctx.nuxt.callHook(`${builder}:error`) } else { logger.success(`${state.name} ${state.message}`) } }, allDone: () => { - ctx.nuxt.callHook('webpack:done') + ctx.nuxt.callHook(`${builder}:done`) }, progress ({ statesArray }) { - ctx.nuxt.callHook('webpack:progress', statesArray) + ctx.nuxt.callHook(`${builder}:progress`, statesArray) }, }, }, @@ -118,9 +123,6 @@ function basePlugins (ctx: WebpackConfigContext) { function baseAlias (ctx: WebpackConfigContext) { ctx.alias = { '#app': ctx.options.appDir, - '#build/plugins': resolve(ctx.options.buildDir, 'plugins', ctx.isClient ? 'client' : 'server'), - '#build': ctx.options.buildDir, - '#internal/nuxt/paths': resolve(ctx.nuxt.options.buildDir, 'paths.mjs'), ...ctx.options.alias, ...ctx.alias, } @@ -153,7 +155,7 @@ function baseTranspile (ctx: WebpackConfigContext) { /\.vue\.js/i, // include SFCs in node_modules /consola\/src/, /vue-demi/, - /(^|\/)nuxt\/(dist\/)?(app|[^/]+\/runtime)($|\/)/, + /(^|\/)nuxt\/(src\/|dist\/)?(app|[^/]+\/runtime)($|\/)/, ] for (let pattern of ctx.options.build.transpile) { diff --git a/packages/webpack/src/presets/style.ts b/packages/webpack/src/presets/style.ts index 90d103188..fc44bd615 100644 --- a/packages/webpack/src/presets/style.ts +++ b/packages/webpack/src/presets/style.ts @@ -1,9 +1,10 @@ -import MiniCssExtractPlugin from 'mini-css-extract-plugin' import CssMinimizerPlugin from 'css-minimizer-webpack-plugin' import type { WebpackConfigContext } from '../utils/config' import { applyPresets, fileName } from '../utils/config' import { getPostcssConfig } from '../utils/postcss' +import { MiniCssExtractPlugin } from '#builder' + export async function style (ctx: WebpackConfigContext) { await applyPresets(ctx, [ loaders, diff --git a/packages/webpack/src/presets/vue.ts b/packages/webpack/src/presets/vue.ts index 16acd3ca0..e14632a4f 100644 --- a/packages/webpack/src/presets/vue.ts +++ b/packages/webpack/src/presets/vue.ts @@ -1,10 +1,11 @@ import { resolve } from 'pathe' import VueLoaderPlugin from 'vue-loader/dist/pluginWebpack5.js' -import webpack from 'webpack' import VueSSRClientPlugin from '../plugins/vue/client' import VueSSRServerPlugin from '../plugins/vue/server' import type { WebpackConfigContext } from '../utils/config' +import { webpack } from '#builder' + export function vue (ctx: WebpackConfigContext) { // @ts-expect-error de-default vue-loader ctx.config.plugins!.push(new (VueLoaderPlugin.default || VueLoaderPlugin)()) @@ -30,7 +31,8 @@ export function vue (ctx: WebpackConfigContext) { // https://github.com/vuejs/vue-next/tree/master/packages/vue#bundler-build-feature-flags // TODO: Provide options to toggle ctx.config.plugins!.push(new webpack.DefinePlugin({ - __VUE_OPTIONS_API__: 'true', - __VUE_PROD_DEVTOOLS__: 'false', + '__VUE_OPTIONS_API__': 'true', + '__VUE_PROD_DEVTOOLS__': 'false', + '__VUE_PROD_HYDRATION_MISMATCH_DETAILS__': ctx.nuxt.options.debug, })) } diff --git a/packages/webpack/src/utils/postcss.ts b/packages/webpack/src/utils/postcss.ts index 0d48972bb..ff7ec7601 100644 --- a/packages/webpack/src/utils/postcss.ts +++ b/packages/webpack/src/utils/postcss.ts @@ -36,10 +36,7 @@ export async function getPostcssConfig (nuxt: Nuxt) { sourceMap: nuxt.options.webpack.cssSourceMap, }) - const jiti = createJiti(nuxt.options.rootDir, { - interopDefault: true, - alias: nuxt.options.alias, - }) + const jiti = createJiti(nuxt.options.rootDir, { alias: nuxt.options.alias }) // Keep the order of default plugins if (!Array.isArray(postcssOptions.plugins) && isPureObject(postcssOptions.plugins)) { @@ -49,11 +46,16 @@ export async function getPostcssConfig (nuxt: Nuxt) { const pluginOptions = postcssOptions.plugins[pluginName] if (!pluginOptions) { continue } - const path = jiti.esmResolve(pluginName) - const pluginFn = (await jiti.import(path)) as (opts: Record) => Plugin - if (typeof pluginFn === 'function') { - plugins.push(pluginFn(pluginOptions)) - } else { + let pluginFn: ((opts: Record) => Plugin) | undefined + for (const parentURL of nuxt.options.modulesDir) { + pluginFn = await jiti.import(pluginName, { parentURL: parentURL.replace(/\/node_modules\/?$/, ''), try: true, default: true }) as (opts: Record) => Plugin + if (typeof pluginFn === 'function') { + plugins.push(pluginFn(pluginOptions)) + break + } + } + + if (typeof pluginFn !== 'function') { console.warn(`[nuxt] could not import postcss plugin \`${pluginName}\`. Please report this as a bug.`) } } diff --git a/packages/webpack/src/virtual-modules.ts b/packages/webpack/src/virtual-modules.ts deleted file mode 100644 index 8c117756d..000000000 --- a/packages/webpack/src/virtual-modules.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { useNuxt } from '@nuxt/kit' -import VirtualModulesPlugin from 'webpack-virtual-modules' - -export function registerVirtualModules () { - const nuxt = useNuxt() - - // Initialize virtual modules instance - const virtualModules = new VirtualModulesPlugin(nuxt.vfs) - const writeFiles = () => { - for (const filePath in nuxt.vfs) { - virtualModules.writeModule(filePath, nuxt.vfs[filePath] || '') - } - } - - // Workaround to initialize virtual modules - nuxt.hook('webpack:compile', ({ compiler }) => { - if (compiler.name === 'server') { writeFiles() } - }) - // Update virtual modules when templates are updated - nuxt.hook('app:templatesGenerated', writeFiles) - - nuxt.hook('webpack:config', configs => configs.forEach((config) => { - // Support virtual modules (input) - config.plugins!.push(virtualModules) - })) -} diff --git a/packages/webpack/src/webpack.ts b/packages/webpack/src/webpack.ts index 3f97820b1..96177faeb 100644 --- a/packages/webpack/src/webpack.ts +++ b/packages/webpack/src/webpack.ts @@ -1,5 +1,4 @@ import pify from 'pify' -import webpack from 'webpack' import type { NodeMiddleware } from 'h3' import { resolve } from 'pathe' import { defineEventHandler, fromNodeMiddleware } from 'h3' @@ -17,17 +16,16 @@ import { composableKeysPlugin } from '../../vite/src/plugins/composable-keys' import { DynamicBasePlugin } from './plugins/dynamic-base' import { ChunkErrorPlugin } from './plugins/chunk' import { createMFS } from './utils/mfs' -import { registerVirtualModules } from './virtual-modules' import { client, server } from './configs' import { applyPresets, createWebpackConfigContext, getWebpackConfig } from './utils/config' import { dynamicRequire } from './nitro/plugins/dynamic-require' +import { builder, webpack } from '#builder' + // TODO: Support plugins // const plugins: string[] = [] export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { - registerVirtualModules() - const webpackConfigs = await Promise.all([client, ...nuxt.options.ssr ? [server] : []].map(async (preset) => { const ctx = createWebpackConfigContext(nuxt) ctx.userConfig = defu(nuxt.options.webpack[`$${preset.name as 'client' | 'server'}`], ctx.userConfig) @@ -36,26 +34,28 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { })) /** Inject rollup plugin for Nitro to handle dynamic imports from webpack chunks */ - const nitro = useNitro() - const dynamicRequirePlugin = dynamicRequire({ - dir: resolve(nuxt.options.buildDir, 'dist/server'), - inline: + if (!nuxt.options.dev) { + const nitro = useNitro() + const dynamicRequirePlugin = dynamicRequire({ + dir: resolve(nuxt.options.buildDir, 'dist/server'), + inline: nitro.options.node === false || nitro.options.inlineDynamicImports, - ignore: [ - 'client.manifest.mjs', - 'server.js', - 'server.cjs', - 'server.mjs', - 'server.manifest.mjs', - ], - }) - const prerenderRollupPlugins = nitro.options._config.rollupConfig!.plugins as InputPluginOption[] - const rollupPlugins = nitro.options.rollupConfig!.plugins as InputPluginOption[] + ignore: [ + 'client.manifest.mjs', + 'server.js', + 'server.cjs', + 'server.mjs', + 'server.manifest.mjs', + ], + }) + const prerenderRollupPlugins = nitro.options._config.rollupConfig!.plugins as InputPluginOption[] + const rollupPlugins = nitro.options.rollupConfig!.plugins as InputPluginOption[] - prerenderRollupPlugins.push(dynamicRequirePlugin) - rollupPlugins.push(dynamicRequirePlugin) + prerenderRollupPlugins.push(dynamicRequirePlugin) + rollupPlugins.push(dynamicRequirePlugin) + } - await nuxt.callHook('webpack:config', webpackConfigs) + await nuxt.callHook(`${builder}:config`, webpackConfigs) // Initialize shared MFS for dev const mfs = nuxt.options.dev ? createMFS() : null @@ -65,7 +65,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { sourcemap: !!nuxt.options.sourcemap[config.name as 'client' | 'server'], })) // Emit chunk errors if the user has opted in to `experimental.emitRouteChunkError` - if (config.name === 'client' && nuxt.options.experimental.emitRouteChunkError) { + if (config.name === 'client' && nuxt.options.experimental.emitRouteChunkError && nuxt.options.builder !== '@nuxt/rspack-builder') { config.plugins!.push(new ChunkErrorPlugin()) } config.plugins!.push(composableKeysPlugin.webpack({ @@ -75,7 +75,7 @@ export const bundle: NuxtBuilder['bundle'] = async (nuxt) => { })) } - await nuxt.callHook('webpack:configResolved', webpackConfigs) + await nuxt.callHook(`${builder}:configResolved`, webpackConfigs) // Configure compilers const compilers = webpackConfigs.map((config) => { @@ -145,11 +145,11 @@ async function createDevMiddleware (compiler: Compiler) { async function compile (compiler: Compiler) { const nuxt = useNuxt() - await nuxt.callHook('webpack:compile', { name: compiler.options.name!, compiler }) + await nuxt.callHook(`${builder}:compile`, { name: compiler.options.name!, compiler }) // Load renderer resources after build compiler.hooks.done.tap('load-resources', async (stats) => { - await nuxt.callHook('webpack:compiled', { name: compiler.options.name!, compiler, stats }) + await nuxt.callHook(`${builder}:compiled`, { name: compiler.options.name!, compiler, stats }) }) // --- Dev Build --- diff --git a/patches/ofetch@1.3.4.patch b/patches/ofetch@1.3.4.patch deleted file mode 100644 index 6492d6c21..000000000 --- a/patches/ofetch@1.3.4.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/dist/node.d.cts b/dist/node.d.cts -index d3a39ff53717d267ff4581af714533ff7229799c..4e3db1f3d6defb7b0c40d11589c0ff6cb8391ad5 100644 ---- a/dist/node.d.cts -+++ b/dist/node.d.cts -@@ -1,5 +1,5 @@ - import { $ as $Fetch } from './shared/ofetch.8459ad38.cjs'; --export { F as FetchError, c as createFetch, a as createFetchError } from './shared/ofetch.8459ad38.cjs'; -+export { C as CreateFetchOptions, g as Fetch, b as FetchContext, F as FetchError, d as FetchOptions, h as FetchRequest, f as FetchResponse, G as GlobalOptions, I as IFetchError, M as MappedResponseType, R as ResponseMap, e as ResponseType, S as SearchParameters, c as createFetch, a as createFetchError } from './shared/ofetch.8459ad38.mjs'; - - declare function createNodeFetch(): (input: RequestInfo, init?: RequestInit) => any; - declare const fetch: typeof globalThis.fetch; -diff --git a/dist/node.d.mts b/dist/node.d.mts -index 3d8b330375ce60178c05292179ec8bac764ae516..bdcc322bd8554fc7e61d5d9760cb9991560560eb 100644 ---- a/dist/node.d.mts -+++ b/dist/node.d.mts -@@ -1,5 +1,5 @@ - import { $ as $Fetch } from './shared/ofetch.8459ad38.mjs'; --export { F as FetchError, c as createFetch, a as createFetchError } from './shared/ofetch.8459ad38.mjs'; -+export { C as CreateFetchOptions, g as Fetch, b as FetchContext, F as FetchError, d as FetchOptions, h as FetchRequest, f as FetchResponse, G as GlobalOptions, I as IFetchError, M as MappedResponseType, R as ResponseMap, e as ResponseType, S as SearchParameters, c as createFetch, a as createFetchError } from './shared/ofetch.8459ad38.mjs'; - - declare function createNodeFetch(): (input: RequestInfo, init?: RequestInit) => any; - declare const fetch: typeof globalThis.fetch; -diff --git a/dist/node.d.ts b/dist/node.d.ts -index 6a5419d1939000a15958b362f44bf49fb1800207..4b319d2c3051e966274268670e243c5f99e2904d 100644 ---- a/dist/node.d.ts -+++ b/dist/node.d.ts -@@ -1,5 +1,5 @@ - import { $ as $Fetch } from './shared/ofetch.8459ad38.js'; --export { F as FetchError, c as createFetch, a as createFetchError } from './shared/ofetch.8459ad38.js'; -+export { C as CreateFetchOptions, g as Fetch, b as FetchContext, F as FetchError, d as FetchOptions, h as FetchRequest, f as FetchResponse, G as GlobalOptions, I as IFetchError, M as MappedResponseType, R as ResponseMap, e as ResponseType, S as SearchParameters, c as createFetch, a as createFetchError } from './shared/ofetch.8459ad38.mjs'; - - declare function createNodeFetch(): (input: RequestInfo, init?: RequestInit) => any; - declare const fetch: typeof globalThis.fetch; diff --git a/playground/nuxt.config.ts b/playground/nuxt.config.ts index 9b576aa6e..1f2628063 100644 --- a/playground/nuxt.config.ts +++ b/playground/nuxt.config.ts @@ -1,4 +1,4 @@ export default defineNuxtConfig({ - compatibilityDate: '2024-06-28', devtools: { enabled: true }, + compatibilityDate: '2024-06-28', }) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7f04384fa..df62a2993 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,128 +6,137 @@ settings: overrides: '@nuxt/kit': workspace:* + '@nuxt/rspack-builder': workspace:* '@nuxt/schema': workspace:* '@nuxt/ui-templates': workspace:* '@nuxt/vite-builder': workspace:* '@nuxt/webpack-builder': workspace:* - '@types/node': 20.16.5 - c12: 2.0.0-beta.2 + '@types/node': 22.9.0 + '@unhead/dom': 1.11.11 + '@unhead/shared': 1.11.11 + '@unhead/vue': 1.11.11 + '@unhead/schema': 1.11.11 + '@unhead/ssr': 1.11.11 + '@vue/compiler-core': 3.5.12 + '@vue/compiler-dom': 3.5.12 + '@vue/shared': 3.5.12 + c12: 2.0.1 h3: npm:h3-nightly@2.0.0-1718872656.6765a6e - jiti: 2.0.0-beta.3 - magic-string: ^0.30.11 - nitro: npm:nitro-nightly@3.0.0-beta-28665895.e727afda + jiti: 2.4.0 + magic-string: ^0.30.12 + nitro: npm:nitro-nightly@3.0.0-beta-28796231.359af68d nuxt: workspace:* - postcss: 8.4.45 - rollup: 4.21.3 - send: '>=0.19.0' - typescript: 5.6.2 + ohash: 1.1.4 + postcss: 8.4.47 + rollup: 4.24.4 + send: '>=1.1.0' + typescript: 5.6.3 ufo: 1.5.4 - unbuild: 3.0.0-rc.7 - vite: 5.4.5 - vue: 3.5.5 - -patchedDependencies: - ofetch@1.3.4: - hash: nxc3eojzwynarpj453xzxqr2f4 - path: patches/ofetch@1.3.4.patch + unbuild: 3.0.0-rc.11 + unhead: 1.11.11 + vite: 5.4.10 + vue: 3.5.12 importers: .: devDependencies: '@eslint/js': - specifier: 9.10.0 - version: 9.10.0 + specifier: 9.14.0 + version: 9.14.0 '@nuxt/eslint-config': - specifier: 0.5.7 - version: 0.5.7(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) + specifier: 0.6.1 + version: 0.6.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) '@nuxt/kit': specifier: workspace:* version: link:packages/kit + '@nuxt/rspack-builder': + specifier: workspace:* + version: link:packages/rspack '@nuxt/test-utils': - specifier: 3.14.2 - version: 3.14.2(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.5)(vue@3.5.5(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(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.1)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3) + specifier: 3.14.4 + version: 3.14.4(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(happy-dom@15.9.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.2)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(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.5)(vue@3.5.5(typescript@5.6.2)) + version: 8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3)) '@types/eslint__js': specifier: 8.42.3 version: 8.42.3 '@types/node': - specifier: 20.16.5 - version: 20.16.5 + specifier: 22.9.0 + version: 22.9.0 '@types/semver': specifier: 7.5.8 version: 7.5.8 '@unhead/schema': - specifier: 1.11.2 - version: 1.11.2 + specifier: 1.11.11 + version: 1.11.11 '@unhead/vue': - specifier: 1.11.2 - version: 1.11.2(vue@3.5.5(typescript@5.6.2)) + specifier: 1.11.11 + version: 1.11.11(vue@3.5.12(typescript@5.6.3)) '@vitejs/plugin-vue': - specifier: 5.1.3 - version: 5.1.3(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2)) + specifier: 5.1.4 + version: 5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) '@vitest/coverage-v8': - specifier: 2.1.1 - version: 2.1.1(vitest@2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0)) + specifier: 2.1.4 + version: 2.1.4(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0)) '@vue/test-utils': specifier: 2.4.6 version: 2.4.6 autoprefixer: specifier: 10.4.20 - version: 10.4.20(postcss@8.4.45) + version: 10.4.20(postcss@8.4.47) case-police: specifier: 0.7.0 version: 0.7.0 changelogen: - specifier: 0.5.5 - version: 0.5.5(magicast@0.3.5) + specifier: 0.5.7 + version: 0.5.7(magicast@0.3.5) consola: specifier: 3.2.3 version: 3.2.3 cssnano: specifier: 7.0.6 - version: 7.0.6(postcss@8.4.45) + version: 7.0.6(postcss@8.4.47) destr: specifier: 2.0.3 version: 2.0.3 devalue: - specifier: 5.0.0 - version: 5.0.0 + specifier: 5.1.1 + version: 5.1.1 eslint: - specifier: 9.10.0 - version: 9.10.0(jiti@2.0.0-beta.3) + specifier: 9.14.0 + version: 9.14.0(jiti@2.4.0) eslint-plugin-no-only-tests: specifier: 3.3.0 version: 3.3.0 eslint-plugin-perfectionist: - specifier: 3.6.0 - version: 3.6.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.10.0(jiti@2.0.0-beta.3))) + specifier: 3.9.1 + version: 3.9.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.14.0(jiti@2.4.0))) eslint-typegen: specifier: 0.3.2 - version: 0.3.2(eslint@9.10.0(jiti@2.0.0-beta.3)) + version: 0.3.2(eslint@9.14.0(jiti@2.4.0)) h3: specifier: npm:h3-nightly@2.0.0-1718872656.6765a6e version: h3-nightly@2.0.0-1718872656.6765a6e happy-dom: - specifier: 15.7.4 - version: 15.7.4 + specifier: 15.9.0 + version: 15.9.0 jiti: - specifier: 2.0.0-beta.3 - version: 2.0.0-beta.3 + specifier: 2.4.0 + version: 2.4.0 markdownlint-cli: - specifier: 0.41.0 - version: 0.41.0 + specifier: 0.42.0 + version: 0.42.0 nitro: - specifier: npm:nitro-nightly@3.0.0-beta-28665895.e727afda - version: nitro-nightly@3.0.0-beta-28665895.e727afda(typescript@5.6.2)(webpack-sources@3.2.3) + specifier: npm:nitro-nightly@3.0.0-beta-28796231.359af68d + version: nitro-nightly@3.0.0-beta-28796231.359af68d(typescript@5.6.3)(webpack-sources@3.2.3) nuxi: - specifier: 3.13.1 - version: 3.13.1 + specifier: 3.15.0 + version: 3.15.0 nuxt: specifier: workspace:* version: link:packages/nuxt @@ -135,14 +144,14 @@ importers: specifier: 0.1.1 version: 0.1.1(@nuxtjs/mdc@0.8.3(webpack-sources@3.2.3)) ofetch: - specifier: 1.3.4 - version: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) + specifier: 1.4.1 + version: 1.4.1 pathe: specifier: 1.1.2 version: 1.1.2 playwright-core: - specifier: 1.47.1 - version: 1.47.1 + specifier: 1.48.2 + version: 1.48.2 rimraf: specifier: 6.0.1 version: 6.0.1 @@ -150,38 +159,38 @@ importers: specifier: 7.6.3 version: 7.6.3 sherif: - specifier: 1.0.0 - version: 1.0.0 + specifier: 1.0.1 + version: 1.0.1 std-env: specifier: 3.7.0 version: 3.7.0 tinyexec: - specifier: 0.3.0 - version: 0.3.0 + specifier: 0.3.1 + version: 0.3.1 tinyglobby: - specifier: 0.2.6 - version: 0.2.6 + specifier: 0.2.10 + version: 0.2.10 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.1 - version: 2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + specifier: 2.1.4 + version: 2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(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.5)(vue@3.5.5(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(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.1)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3) + version: 1.0.1(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(happy-dom@15.9.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.2)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3) vue: - specifier: 3.5.5 - version: 3.5.5(typescript@5.6.2) + specifier: 3.5.12 + version: 3.5.12(typescript@5.6.3) vue-router: specifier: 4.4.5 - version: 4.4.5(vue@3.5.5(typescript@5.6.2)) + version: 4.4.5(vue@3.5.12(typescript@5.6.3)) vue-tsc: - specifier: 2.1.6 - version: 2.1.6(typescript@5.6.2) + specifier: 2.1.10 + version: 2.1.10(typescript@5.6.3) packages/kit: dependencies: @@ -189,8 +198,8 @@ importers: specifier: workspace:* version: link:../schema c12: - specifier: 2.0.0-beta.2 - version: 2.0.0-beta.2(magicast@0.3.5) + specifier: 2.0.1 + version: 2.0.1(magicast@0.3.5) consola: specifier: ^3.2.3 version: 3.2.3 @@ -210,23 +219,23 @@ importers: specifier: ^2.0.0 version: 2.0.0 ignore: - specifier: ^5.3.2 - version: 5.3.2 + specifier: ^6.0.2 + version: 6.0.2 jiti: - specifier: 2.0.0-beta.3 - version: 2.0.0-beta.3 + specifier: 2.4.0 + version: 2.4.0 klona: specifier: ^2.0.6 version: 2.0.6 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 @@ -240,12 +249,15 @@ importers: specifier: ^2.3.1 version: 2.3.1(webpack-sources@3.2.3) unimport: - specifier: ^3.12.0 - version: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) + specifier: ^3.13.1 + version: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3) untyped: - specifier: ^1.4.2 - version: 1.4.2 + specifier: ^1.5.1 + version: 1.5.1 devDependencies: + '@rspack/core': + specifier: 1.0.14 + version: 1.0.14 '@types/hash-sum': specifier: 1.0.2 version: 1.0.2 @@ -253,20 +265,20 @@ importers: specifier: 7.5.8 version: 7.5.8 nitro: - specifier: npm:nitro-nightly@3.0.0-beta-28665895.e727afda - version: nitro-nightly@3.0.0-beta-28665895.e727afda(typescript@5.6.2)(webpack-sources@3.2.3) + specifier: npm:nitro-nightly@3.0.0-beta-28796231.359af68d + version: nitro-nightly@3.0.0-beta-28796231.359af68d(typescript@5.6.3)(webpack-sources@3.2.3) unbuild: - specifier: 3.0.0-rc.7 - version: 3.0.0-rc.7(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) + specifier: 3.0.0-rc.11 + version: 3.0.0-rc.11(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3)) vite: - specifier: 5.4.5 - version: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + specifier: 5.4.10 + version: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) vitest: - specifier: 2.1.1 - version: 2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + specifier: 2.1.4 + version: 2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0) webpack: - specifier: 5.94.0 - version: 5.94.0 + specifier: 5.96.1 + version: 5.96.1 packages/nuxt: dependencies: @@ -274,8 +286,8 @@ importers: specifier: ^2.0.2 version: 2.0.2 '@nuxt/devtools': - specifier: ^1.4.2 - version: 1.4.2(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3) + specifier: ^1.6.0 + version: 1.6.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3) '@nuxt/kit': specifier: workspace:* version: link:../kit @@ -289,32 +301,32 @@ importers: specifier: workspace:* version: link:../vite '@types/node': - specifier: 20.16.5 - version: 20.16.5 + specifier: 22.9.0 + version: 22.9.0 '@unhead/dom': - specifier: ^1.11.2 - version: 1.11.2 + specifier: 1.11.11 + version: 1.11.11 '@unhead/shared': - specifier: ^1.11.2 - version: 1.11.2 + specifier: 1.11.11 + version: 1.11.11 '@unhead/ssr': - specifier: ^1.11.2 - version: 1.11.2 + specifier: 1.11.11 + version: 1.11.11 '@unhead/vue': - specifier: ^1.11.2 - version: 1.11.2(vue@3.5.5(typescript@5.6.2)) + specifier: 1.11.11 + version: 1.11.11(vue@3.5.12(typescript@5.6.3)) '@vue/shared': - specifier: ^3.5.5 - version: 3.5.5 + specifier: 3.5.12 + version: 3.5.12 acorn: - specifier: 8.12.1 - version: 8.12.1 + specifier: 8.14.0 + version: 8.14.0 c12: - specifier: 2.0.0-beta.2 - version: 2.0.0-beta.2(magicast@0.3.5) + 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 @@ -331,14 +343,14 @@ importers: specifier: ^2.0.3 version: 2.0.3 devalue: - specifier: ^5.0.0 - version: 5.0.0 + specifier: ^5.1.1 + version: 5.1.1 errx: specifier: ^0.1.0 version: 0.1.0 esbuild: - specifier: ^0.23.1 - version: 0.23.1 + specifier: ^0.24.0 + version: 0.24.0 escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -355,14 +367,14 @@ importers: specifier: ^5.5.3 version: 5.5.3 ignore: - specifier: ^5.3.2 - version: 5.3.2 + specifier: ^6.0.2 + version: 6.0.2 impound: - specifier: ^0.1.0 - version: 0.1.0(rollup@4.21.3)(webpack-sources@3.2.3) + specifier: ^0.2.0 + version: 0.2.0(rollup@4.24.4)(webpack-sources@3.2.3) jiti: - specifier: 2.0.0-beta.3 - version: 2.0.0-beta.3 + specifier: 2.4.0 + version: 2.4.0 klona: specifier: ^2.0.6 version: 2.0.6 @@ -370,29 +382,29 @@ importers: specifier: ^1.1.0 version: 1.1.0 magic-string: - specifier: ^0.30.11 - version: 0.30.11 + specifier: ^0.30.12 + version: 0.30.12 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 nitro: - specifier: npm:nitro-nightly@3.0.0-beta-28665895.e727afda - version: nitro-nightly@3.0.0-beta-28665895.e727afda(typescript@5.6.2)(webpack-sources@3.2.3) + specifier: npm:nitro-nightly@3.0.0-beta-28796231.359af68d + version: nitro-nightly@3.0.0-beta-28796231.359af68d(typescript@5.6.3)(webpack-sources@3.2.3) nuxi: - specifier: ^3.13.1 - version: 3.13.1 + specifier: ^3.15.0 + version: 3.15.0 nypm: - specifier: ^0.3.11 - version: 0.3.11 + specifier: ^0.3.12 + version: 0.3.12 ofetch: - specifier: ^1.3.4 - version: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) + specifier: ^1.4.1 + version: 1.4.1 ohash: - specifier: ^1.1.3 - version: 1.1.3 + specifier: 1.1.4 + version: 1.1.4 pathe: specifier: ^1.1.2 version: 1.1.2 @@ -400,8 +412,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 @@ -418,8 +430,8 @@ importers: specifier: ^2.1.0 version: 2.1.0 tinyglobby: - specifier: 0.2.6 - version: 0.2.6 + specifier: 0.2.10 + version: 0.2.10 ufo: specifier: 1.5.4 version: 1.5.4 @@ -436,377 +448,93 @@ importers: specifier: ^1.10.0 version: 1.10.0 unhead: - specifier: ^1.11.2 - version: 1.11.2 + specifier: 1.11.11 + version: 1.11.11 unimport: - specifier: ^3.12.0 - version: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) + specifier: ^3.13.1 + version: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3) unplugin: - specifier: ^1.14.1 - version: 1.14.1(webpack-sources@3.2.3) + specifier: ^1.15.0 + version: 1.15.0(webpack-sources@3.2.3) unplugin-vue-router: specifier: ^0.10.8 - version: 0.10.8(rollup@4.21.3)(vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3) + version: 0.10.8(rollup@4.24.4)(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3) unstorage: - specifier: ^1.12.0 - version: 1.12.0(ioredis@5.4.1) + specifier: ^1.13.1 + version: 1.13.1(ioredis@5.4.1) untyped: - specifier: ^1.4.2 - version: 1.4.2 + specifier: ^1.5.1 + version: 1.5.1 vue: - specifier: 3.5.5 - version: 3.5.5(typescript@5.6.2) + specifier: 3.5.12 + version: 3.5.12(typescript@5.6.3) vue-bundle-renderer: - specifier: ^2.1.0 - version: 2.1.0 + specifier: ^2.1.1 + version: 2.1.1 vue-devtools-stub: specifier: ^0.1.0 version: 0.1.0 vue-router: specifier: ^4.4.5 - version: 4.4.5(vue@3.5.5(typescript@5.6.2)) + version: 4.4.5(vue@3.5.12(typescript@5.6.3)) devDependencies: '@nuxt/scripts': - specifier: 0.8.5 - version: 0.8.5(@nuxt/devtools@1.4.2(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.5)(change-case@5.4.4)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.45)(rollup@4.21.3)(typescript@5.6.2)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1)) + specifier: 0.9.5 + version: 0.9.5(@nuxt/devtools@1.6.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0)))(@vue/compiler-core@3.5.12)(change-case@5.4.4)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)(webpack@5.96.1(esbuild@0.24.0)) '@nuxt/ui-templates': specifier: workspace:* version: link:../ui-templates '@parcel/watcher': - specifier: 2.4.1 - version: 2.4.1 + specifier: 2.5.0 + version: 2.5.0 '@types/estree': - specifier: 1.0.5 - version: 1.0.5 + specifier: 1.0.6 + version: 1.0.6 '@vitejs/plugin-vue': - specifier: 5.1.3 - version: 5.1.3(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2)) + specifier: 5.1.4 + version: 5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) '@vue/compiler-sfc': - specifier: 3.5.5 - version: 3.5.5 + specifier: 3.5.12 + version: 3.5.12 unbuild: - specifier: 3.0.0-rc.7 - version: 3.0.0-rc.7(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) + specifier: 3.0.0-rc.11 + version: 3.0.0-rc.11(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3)) vite: - specifier: 5.4.5 - version: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + specifier: 5.4.10 + version: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) vitest: - specifier: 2.1.1 - version: 2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + specifier: 2.1.4 + version: 2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0) - packages/schema: - dependencies: - compatx: - specifier: ^0.1.8 - version: 0.1.8 - consola: - specifier: ^3.2.3 - version: 3.2.3 - defu: - specifier: ^6.1.4 - version: 6.1.4 - hookable: - specifier: ^5.5.3 - version: 5.5.3 - pathe: - specifier: ^1.1.2 - version: 1.1.2 - pkg-types: - specifier: ^1.2.0 - version: 1.2.0 - scule: - specifier: ^1.3.0 - version: 1.3.0 - std-env: - specifier: ^3.7.0 - version: 3.7.0 - ufo: - specifier: 1.5.4 - version: 1.5.4 - uncrypto: - specifier: ^0.1.3 - version: 0.1.3 - unimport: - specifier: ^3.12.0 - version: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) - untyped: - specifier: ^1.4.2 - version: 1.4.2 - devDependencies: - '@nuxt/telemetry': - specifier: 2.6.0 - version: 2.6.0 - '@nuxt/ui-templates': - specifier: workspace:* - version: link:../ui-templates - '@types/file-loader': - specifier: 5.0.4 - version: 5.0.4 - '@types/pug': - specifier: 2.0.10 - version: 2.0.10 - '@types/sass-loader': - specifier: 8.0.9 - version: 8.0.9 - '@unhead/schema': - specifier: 1.11.2 - version: 1.11.2 - '@vitejs/plugin-vue': - specifier: 5.1.3 - version: 5.1.3(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2)) - '@vitejs/plugin-vue-jsx': - specifier: 4.0.1 - version: 4.0.1(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2)) - '@vue/compiler-core': - specifier: 3.5.5 - version: 3.5.5 - '@vue/compiler-sfc': - specifier: 3.5.5 - version: 3.5.5 - '@vue/language-core': - specifier: 2.1.6 - version: 2.1.6(typescript@5.6.2) - c12: - specifier: 2.0.0-beta.2 - version: 2.0.0-beta.2(magicast@0.3.5) - esbuild-loader: - specifier: 4.2.2 - version: 4.2.2(webpack@5.94.0) - h3: - specifier: npm:h3-nightly@2.0.0-1718872656.6765a6e - version: h3-nightly@2.0.0-1718872656.6765a6e - ignore: - specifier: 5.3.2 - version: 5.3.2 - nitro: - specifier: npm:nitro-nightly@3.0.0-beta-28665895.e727afda - version: nitro-nightly@3.0.0-beta-28665895.e727afda(typescript@5.6.2)(webpack-sources@3.2.3) - ofetch: - specifier: 1.3.4 - version: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) - unbuild: - specifier: 3.0.0-rc.7 - version: 3.0.0-rc.7(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) - unctx: - specifier: 2.3.1 - version: 2.3.1(webpack-sources@3.2.3) - unenv: - specifier: 1.10.0 - version: 1.10.0 - vite: - specifier: 5.4.5 - version: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) - vue: - specifier: 3.5.5 - version: 3.5.5(typescript@5.6.2) - vue-bundle-renderer: - specifier: 2.1.0 - version: 2.1.0 - vue-loader: - specifier: 17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.5.5)(vue@3.5.5(typescript@5.6.2))(webpack@5.94.0) - vue-router: - specifier: 4.4.5 - version: 4.4.5(vue@3.5.5(typescript@5.6.2)) - webpack: - specifier: 5.94.0 - version: 5.94.0 - webpack-dev-middleware: - specifier: 7.4.2 - version: 7.4.2(webpack@5.94.0) - - packages/ui-templates: - devDependencies: - '@unocss/reset': - specifier: 0.62.3 - version: 0.62.3 - critters: - specifier: 0.0.24 - version: 0.0.24 - html-validate: - specifier: 8.22.0 - version: 8.22.0(vitest@1.6.0(@types/node@20.16.5)(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.45))(postcss@8.4.45)(relateurl@0.2.7)(svgo@3.3.2)(terser@5.32.0)(typescript@5.6.2) - jiti: - specifier: 2.0.0-beta.3 - version: 2.0.0-beta.3 - knitwork: - specifier: 1.1.0 - version: 1.1.0 - pathe: - specifier: 1.1.2 - version: 1.1.2 - prettier: - specifier: 3.3.3 - version: 3.3.3 - scule: - specifier: 1.3.0 - version: 1.3.0 - tinyexec: - specifier: 0.3.0 - version: 0.3.0 - tinyglobby: - specifier: 0.2.6 - version: 0.2.6 - unocss: - specifier: 0.62.3 - version: 0.62.3(@unocss/webpack@0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.45)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) - vite: - specifier: 5.4.5 - version: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) - - packages/vite: - dependencies: - '@nuxt/kit': - specifier: workspace:* - version: link:../kit - '@rollup/plugin-replace': - specifier: ^5.0.7 - version: 5.0.7(rollup@4.21.3) - '@vitejs/plugin-vue': - specifier: ^5.1.3 - version: 5.1.3(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2)) - '@vitejs/plugin-vue-jsx': - specifier: ^4.0.1 - version: 4.0.1(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2)) - autoprefixer: - specifier: ^10.4.20 - version: 10.4.20(postcss@8.4.45) - clear: - specifier: ^0.1.0 - version: 0.1.0 - consola: - specifier: ^3.2.3 - version: 3.2.3 - cssnano: - specifier: ^7.0.6 - version: 7.0.6(postcss@8.4.45) - defu: - specifier: ^6.1.4 - version: 6.1.4 - esbuild: - specifier: ^0.23.1 - version: 0.23.1 - escape-string-regexp: - specifier: ^5.0.0 - version: 5.0.0 - estree-walker: - specifier: ^3.0.3 - version: 3.0.3 - externality: - specifier: ^1.0.2 - version: 1.0.2 - get-port-please: - specifier: ^3.1.2 - version: 3.1.2 - h3: - specifier: npm:h3-nightly@2.0.0-1718872656.6765a6e - version: h3-nightly@2.0.0-1718872656.6765a6e - jiti: - specifier: 2.0.0-beta.3 - version: 2.0.0-beta.3 - knitwork: - specifier: ^1.1.0 - version: 1.1.0 - magic-string: - specifier: ^0.30.11 - version: 0.30.11 - mlly: - specifier: ^1.7.1 - version: 1.7.1 - ohash: - specifier: ^1.1.3 - version: 1.1.3 - pathe: - specifier: ^1.1.2 - version: 1.1.2 - perfect-debounce: - specifier: ^1.0.0 - version: 1.0.0 - pkg-types: - specifier: ^1.2.0 - version: 1.2.0 - postcss: - specifier: 8.4.45 - version: 8.4.45 - rollup-plugin-visualizer: - specifier: ^5.12.0 - version: 5.12.0(rollup@4.21.3) - std-env: - specifier: ^3.7.0 - version: 3.7.0 - strip-literal: - specifier: ^2.1.0 - version: 2.1.0 - ufo: - specifier: 1.5.4 - version: 1.5.4 - unenv: - specifier: ^1.10.0 - version: 1.10.0 - unplugin: - specifier: ^1.14.1 - version: 1.14.1(webpack-sources@3.2.3) - vite: - specifier: 5.4.5 - version: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) - vite-node: - specifier: ^2.1.1 - version: 2.1.1(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) - vite-plugin-checker: - specifier: ^0.8.0 - version: 0.8.0(eslint@9.10.0(jiti@2.0.0-beta.3))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue-tsc@2.1.6(typescript@5.6.2)) - vue-bundle-renderer: - specifier: ^2.1.0 - version: 2.1.0 - devDependencies: - '@nuxt/schema': - specifier: workspace:* - version: link:../schema - '@types/clear': - specifier: 0.1.4 - version: 0.1.4 - '@types/estree': - specifier: 1.0.5 - version: 1.0.5 - rollup: - specifier: 4.21.3 - version: 4.21.3 - unbuild: - specifier: 3.0.0-rc.7 - version: 3.0.0-rc.7(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) - vue: - specifier: 3.5.5 - version: 3.5.5(typescript@5.6.2) - - packages/webpack: + packages/rspack: dependencies: '@nuxt/friendly-errors-webpack-plugin': specifier: ^2.6.0 - version: 2.6.0(webpack@5.94.0) + version: 2.6.0(webpack@5.96.1) '@nuxt/kit': specifier: workspace:* version: link:../kit + '@rspack/core': + specifier: ^1.0.14 + version: 1.0.14 autoprefixer: specifier: ^10.4.20 - version: 10.4.20(postcss@8.4.45) + version: 10.4.20(postcss@8.4.47) css-loader: specifier: ^7.1.2 - version: 7.1.2(webpack@5.94.0) + version: 7.1.2(@rspack/core@1.0.14)(webpack@5.96.1) css-minimizer-webpack-plugin: specifier: ^7.0.0 - version: 7.0.0(webpack@5.94.0) + version: 7.0.0(webpack@5.96.1) cssnano: specifier: ^7.0.6 - version: 7.0.6(postcss@8.4.45) + version: 7.0.6(postcss@8.4.47) defu: specifier: ^6.1.4 version: 6.1.4 esbuild-loader: specifier: ^4.2.2 - version: 4.2.2(webpack@5.94.0) + version: 4.2.2(webpack@5.96.1) escape-string-regexp: specifier: ^5.0.0 version: 5.0.0 @@ -815,10 +543,10 @@ importers: version: 3.0.3 file-loader: specifier: ^6.2.0 - version: 6.2.0(webpack@5.94.0) + version: 6.2.0(webpack@5.96.1) fork-ts-checker-webpack-plugin: specifier: ^9.0.2 - version: 9.0.2(typescript@5.6.2)(webpack@5.94.0) + version: 9.0.2(typescript@5.6.3)(webpack@5.96.1) globby: specifier: ^14.0.2 version: 14.0.2 @@ -829,8 +557,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 jiti: - specifier: 2.0.0-beta.3 - version: 2.0.0-beta.3 + specifier: 2.4.0 + version: 2.4.0 knitwork: specifier: ^1.1.0 version: 1.1.0 @@ -838,20 +566,17 @@ importers: specifier: 4.17.21 version: 4.17.21 magic-string: - specifier: ^0.30.11 - version: 0.30.11 + specifier: ^0.30.12 + version: 0.30.12 memfs: - specifier: ^4.11.1 - version: 4.11.1 - mini-css-extract-plugin: - specifier: ^2.9.1 - version: 2.9.1(webpack@5.94.0) + specifier: ^4.14.0 + version: 4.14.0 mlly: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.7.2 + version: 1.7.2 ohash: - specifier: ^1.1.3 - version: 1.1.3 + specifier: 1.1.4 + version: 1.1.4 pathe: specifier: ^1.1.2 version: 1.1.2 @@ -859,20 +584,20 @@ importers: specifier: ^6.1.0 version: 6.1.0 postcss: - specifier: 8.4.45 - version: 8.4.45 + specifier: 8.4.47 + version: 8.4.47 postcss-import: specifier: ^16.1.0 - version: 16.1.0(postcss@8.4.45) + version: 16.1.0(postcss@8.4.47) postcss-import-resolver: specifier: ^2.0.0 version: 2.0.0 postcss-loader: specifier: ^8.1.1 - version: 8.1.1(postcss@8.4.45)(typescript@5.6.2)(webpack@5.94.0) + version: 8.1.1(@rspack/core@1.0.14)(postcss@8.4.47)(typescript@5.6.3)(webpack@5.96.1) postcss-url: specifier: ^10.1.3 - version: 10.1.3(postcss@8.4.45) + version: 10.1.3(postcss@8.4.47) pug-plain-loader: specifier: ^1.1.0 version: 1.1.0(pug@3.0.3) @@ -881,7 +606,7 @@ importers: version: 3.7.0 time-fix-plugin: specifier: ^2.0.7 - version: 2.0.7(webpack@5.94.0) + version: 2.0.7(webpack@5.96.1) ufo: specifier: 1.5.4 version: 1.5.4 @@ -889,26 +614,23 @@ importers: specifier: ^1.10.0 version: 1.10.0 unplugin: - specifier: ^1.14.1 - version: 1.14.1(webpack-sources@3.2.3) + specifier: ^1.15.0 + version: 1.15.0(webpack-sources@3.2.3) url-loader: specifier: ^4.1.1 - version: 4.1.1(file-loader@6.2.0(webpack@5.94.0))(webpack@5.94.0) + version: 4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1) vue-bundle-renderer: - specifier: ^2.1.0 - version: 2.1.0 + specifier: ^2.1.1 + version: 2.1.1 vue-loader: specifier: ^17.4.2 - version: 17.4.2(@vue/compiler-sfc@3.5.5)(vue@3.5.5(typescript@5.6.2))(webpack@5.94.0) - webpack: - specifier: ^5.94.0 - version: 5.94.0 + version: 17.4.2(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3))(webpack@5.96.1) webpack-bundle-analyzer: specifier: ^4.10.2 version: 4.10.2 webpack-dev-middleware: specifier: ^7.4.2 - version: 7.4.2(webpack@5.94.0) + version: 7.4.2(webpack@5.96.1) webpack-hot-middleware: specifier: ^2.26.1 version: 2.26.1 @@ -917,7 +639,7 @@ importers: version: 0.6.2 webpackbar: specifier: ^6.0.1 - version: 6.0.1(webpack@5.94.0) + version: 6.0.1(webpack@5.96.1) devDependencies: '@nuxt/schema': specifier: workspace:* @@ -938,14 +660,467 @@ importers: specifier: 2.25.9 version: 2.25.9 rollup: - specifier: 4.21.3 - version: 4.21.3 + specifier: 4.24.4 + version: 4.24.4 unbuild: - specifier: 3.0.0-rc.7 - version: 3.0.0-rc.7(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)) + specifier: 3.0.0-rc.11 + version: 3.0.0-rc.11(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3)) vue: - specifier: 3.5.5 - version: 3.5.5(typescript@5.6.2) + specifier: 3.5.12 + version: 3.5.12(typescript@5.6.3) + + packages/schema: + dependencies: + c12: + specifier: 2.0.1 + version: 2.0.1(magicast@0.3.5) + compatx: + specifier: ^0.1.8 + version: 0.1.8 + consola: + specifier: ^3.2.3 + version: 3.2.3 + defu: + specifier: ^6.1.4 + version: 6.1.4 + hookable: + specifier: ^5.5.3 + version: 5.5.3 + pathe: + specifier: ^1.1.2 + version: 1.1.2 + pkg-types: + specifier: ^1.2.1 + version: 1.2.1 + scule: + specifier: ^1.3.0 + version: 1.3.0 + std-env: + specifier: ^3.7.0 + version: 3.7.0 + ufo: + specifier: 1.5.4 + version: 1.5.4 + uncrypto: + specifier: ^0.1.3 + version: 0.1.3 + unimport: + specifier: ^3.13.1 + version: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3) + untyped: + specifier: ^1.5.1 + version: 1.5.1 + devDependencies: + '@nuxt/telemetry': + specifier: 2.6.0 + version: 2.6.0 + '@nuxt/ui-templates': + specifier: workspace:* + version: link:../ui-templates + '@types/file-loader': + specifier: 5.0.4 + version: 5.0.4 + '@types/pug': + specifier: 2.0.10 + version: 2.0.10 + '@types/sass-loader': + specifier: 8.0.9 + version: 8.0.9 + '@unhead/schema': + specifier: 1.11.11 + version: 1.11.11 + '@vitejs/plugin-vue': + specifier: 5.1.4 + version: 5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) + '@vitejs/plugin-vue-jsx': + specifier: 4.0.1 + version: 4.0.1(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) + '@vue/compiler-core': + specifier: 3.5.12 + version: 3.5.12 + '@vue/compiler-sfc': + specifier: 3.5.12 + version: 3.5.12 + '@vue/language-core': + specifier: 2.1.10 + version: 2.1.10(typescript@5.6.3) + esbuild-loader: + specifier: 4.2.2 + version: 4.2.2(webpack@5.96.1) + h3: + specifier: npm:h3-nightly@2.0.0-1718872656.6765a6e + version: h3-nightly@2.0.0-1718872656.6765a6e + ignore: + specifier: 6.0.2 + version: 6.0.2 + nitro: + specifier: npm:nitro-nightly@3.0.0-beta-28796231.359af68d + version: nitro-nightly@3.0.0-beta-28796231.359af68d(typescript@5.6.3)(webpack-sources@3.2.3) + ofetch: + specifier: 1.4.1 + version: 1.4.1 + unbuild: + specifier: 3.0.0-rc.11 + version: 3.0.0-rc.11(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3)) + unctx: + specifier: 2.3.1 + version: 2.3.1(webpack-sources@3.2.3) + unenv: + specifier: 1.10.0 + version: 1.10.0 + vite: + specifier: 5.4.10 + version: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + vue: + specifier: 3.5.12 + version: 3.5.12(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.12)(vue@3.5.12(typescript@5.6.3))(webpack@5.96.1) + vue-router: + specifier: 4.4.5 + version: 4.4.5(vue@3.5.12(typescript@5.6.3)) + webpack: + specifier: 5.96.1 + version: 5.96.1 + webpack-dev-middleware: + specifier: 7.4.2 + version: 7.4.2(webpack@5.96.1) + + packages/ui-templates: + devDependencies: + '@unocss/reset': + specifier: 0.64.0 + version: 0.64.0 + beasties: + specifier: 0.1.0 + version: 0.1.0 + html-validate: + specifier: 8.24.2 + version: 8.24.2(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(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)(relateurl@0.2.7)(svgo@3.3.2)(terser@5.32.0)(typescript@5.6.3) + jiti: + specifier: 2.4.0 + version: 2.4.0 + knitwork: + specifier: 1.1.0 + version: 1.1.0 + pathe: + specifier: 1.1.2 + version: 1.1.2 + prettier: + specifier: 3.3.3 + version: 3.3.3 + scule: + specifier: 1.3.0 + version: 1.3.0 + tinyexec: + specifier: 0.3.1 + version: 0.3.1 + tinyglobby: + specifier: 0.2.10 + version: 0.2.10 + unocss: + specifier: 0.64.0 + version: 0.64.0(postcss@8.4.47)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) + vite: + specifier: 5.4.10 + version: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + + packages/vite: + dependencies: + '@nuxt/kit': + specifier: workspace:* + version: link:../kit + '@rollup/plugin-replace': + specifier: ^6.0.1 + version: 6.0.1(rollup@4.24.4) + '@vitejs/plugin-vue': + specifier: ^5.1.4 + version: 5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) + '@vitejs/plugin-vue-jsx': + specifier: ^4.0.1 + version: 4.0.1(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.4.47) + clear: + specifier: ^0.1.0 + version: 0.1.0 + consola: + specifier: ^3.2.3 + version: 3.2.3 + cssnano: + specifier: ^7.0.6 + version: 7.0.6(postcss@8.4.47) + defu: + specifier: ^6.1.4 + version: 6.1.4 + esbuild: + specifier: ^0.24.0 + version: 0.24.0 + escape-string-regexp: + specifier: ^5.0.0 + version: 5.0.0 + estree-walker: + specifier: ^3.0.3 + version: 3.0.3 + externality: + specifier: ^1.0.2 + version: 1.0.2 + get-port-please: + specifier: ^3.1.2 + version: 3.1.2 + h3: + specifier: npm:h3-nightly@2.0.0-1718872656.6765a6e + version: h3-nightly@2.0.0-1718872656.6765a6e + jiti: + specifier: 2.4.0 + version: 2.4.0 + knitwork: + specifier: ^1.1.0 + version: 1.1.0 + magic-string: + specifier: ^0.30.12 + version: 0.30.12 + mlly: + specifier: ^1.7.2 + version: 1.7.2 + ohash: + specifier: 1.1.4 + version: 1.1.4 + pathe: + specifier: ^1.1.2 + version: 1.1.2 + perfect-debounce: + specifier: ^1.0.0 + version: 1.0.0 + pkg-types: + specifier: ^1.2.1 + version: 1.2.1 + postcss: + specifier: 8.4.47 + version: 8.4.47 + rollup-plugin-visualizer: + specifier: ^5.12.0 + version: 5.12.0(rollup@4.24.4) + std-env: + specifier: ^3.7.0 + version: 3.7.0 + strip-literal: + specifier: ^2.1.0 + version: 2.1.0 + ufo: + specifier: 1.5.4 + version: 1.5.4 + unenv: + specifier: ^1.10.0 + version: 1.10.0 + unplugin: + specifier: ^1.15.0 + version: 1.15.0(webpack-sources@3.2.3) + vite: + specifier: 5.4.10 + version: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + vite-node: + specifier: ^2.1.4 + version: 2.1.4(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + vite-plugin-checker: + specifier: ^0.8.0 + version: 0.8.0(eslint@9.14.0(jiti@2.4.0))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue-tsc@2.1.10(typescript@5.6.3)) + vue-bundle-renderer: + specifier: ^2.1.1 + version: 2.1.1 + devDependencies: + '@nuxt/schema': + specifier: workspace:* + version: link:../schema + '@types/clear': + specifier: 0.1.4 + version: 0.1.4 + '@types/estree': + specifier: 1.0.6 + version: 1.0.6 + rollup: + specifier: 4.24.4 + version: 4.24.4 + unbuild: + specifier: 3.0.0-rc.11 + version: 3.0.0-rc.11(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3)) + vue: + specifier: 3.5.12 + version: 3.5.12(typescript@5.6.3) + + packages/webpack: + dependencies: + '@nuxt/friendly-errors-webpack-plugin': + specifier: ^2.6.0 + version: 2.6.0(webpack@5.96.1) + '@nuxt/kit': + specifier: workspace:* + version: link:../kit + autoprefixer: + specifier: ^10.4.20 + version: 10.4.20(postcss@8.4.47) + css-loader: + specifier: ^7.1.2 + version: 7.1.2(@rspack/core@1.0.14)(webpack@5.96.1) + css-minimizer-webpack-plugin: + specifier: ^7.0.0 + version: 7.0.0(webpack@5.96.1) + cssnano: + specifier: ^7.0.6 + version: 7.0.6(postcss@8.4.47) + defu: + specifier: ^6.1.4 + version: 6.1.4 + esbuild-loader: + specifier: ^4.2.2 + version: 4.2.2(webpack@5.96.1) + escape-string-regexp: + specifier: ^5.0.0 + version: 5.0.0 + estree-walker: + specifier: ^3.0.3 + version: 3.0.3 + file-loader: + specifier: ^6.2.0 + version: 6.2.0(webpack@5.96.1) + fork-ts-checker-webpack-plugin: + specifier: ^9.0.2 + version: 9.0.2(typescript@5.6.3)(webpack@5.96.1) + globby: + specifier: ^14.0.2 + version: 14.0.2 + h3: + specifier: npm:h3-nightly@2.0.0-1718872656.6765a6e + version: h3-nightly@2.0.0-1718872656.6765a6e + hash-sum: + specifier: ^2.0.0 + version: 2.0.0 + jiti: + specifier: 2.4.0 + version: 2.4.0 + knitwork: + specifier: ^1.1.0 + version: 1.1.0 + lodash-es: + specifier: 4.17.21 + version: 4.17.21 + magic-string: + specifier: ^0.30.12 + version: 0.30.12 + memfs: + specifier: ^4.14.0 + version: 4.14.0 + mini-css-extract-plugin: + specifier: ^2.9.2 + version: 2.9.2(webpack@5.96.1) + mlly: + specifier: ^1.7.2 + version: 1.7.2 + ohash: + specifier: 1.1.4 + version: 1.1.4 + pathe: + specifier: ^1.1.2 + version: 1.1.2 + pify: + specifier: ^6.1.0 + version: 6.1.0 + postcss: + specifier: 8.4.47 + version: 8.4.47 + postcss-import: + specifier: ^16.1.0 + version: 16.1.0(postcss@8.4.47) + postcss-import-resolver: + specifier: ^2.0.0 + version: 2.0.0 + postcss-loader: + specifier: ^8.1.1 + version: 8.1.1(@rspack/core@1.0.14)(postcss@8.4.47)(typescript@5.6.3)(webpack@5.96.1) + postcss-url: + specifier: ^10.1.3 + version: 10.1.3(postcss@8.4.47) + pug-plain-loader: + specifier: ^1.1.0 + version: 1.1.0(pug@3.0.3) + std-env: + specifier: ^3.7.0 + version: 3.7.0 + time-fix-plugin: + specifier: ^2.0.7 + version: 2.0.7(webpack@5.96.1) + ufo: + specifier: 1.5.4 + version: 1.5.4 + unenv: + specifier: ^1.10.0 + version: 1.10.0 + unplugin: + specifier: ^1.15.0 + version: 1.15.0(webpack-sources@3.2.3) + url-loader: + specifier: ^4.1.1 + version: 4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1) + 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.12)(vue@3.5.12(typescript@5.6.3))(webpack@5.96.1) + webpack: + specifier: ^5.96.1 + version: 5.96.1 + webpack-bundle-analyzer: + specifier: ^4.10.2 + version: 4.10.2 + webpack-dev-middleware: + specifier: ^7.4.2 + version: 7.4.2(webpack@5.96.1) + webpack-hot-middleware: + specifier: ^2.26.1 + version: 2.26.1 + webpackbar: + specifier: ^6.0.1 + version: 6.0.1(webpack@5.96.1) + devDependencies: + '@nuxt/schema': + specifier: workspace:* + version: link:../schema + '@rspack/core': + specifier: 1.0.14 + version: 1.0.14 + '@types/hash-sum': + specifier: 1.0.2 + version: 1.0.2 + '@types/lodash-es': + specifier: 4.17.12 + version: 4.17.12 + '@types/pify': + specifier: 5.0.4 + version: 5.0.4 + '@types/webpack-bundle-analyzer': + specifier: 4.7.0 + version: 4.7.0 + '@types/webpack-hot-middleware': + specifier: 2.25.9 + version: 2.25.9 + rollup: + specifier: 4.24.4 + version: 4.24.4 + unbuild: + specifier: 3.0.0-rc.11 + version: 3.0.0-rc.11(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3)) + vue: + specifier: 3.5.12 + version: 3.5.12(typescript@5.6.3) playground: dependencies: @@ -955,6 +1130,9 @@ importers: test/fixtures/basic: dependencies: + '@nuxt/rspack-builder': + specifier: workspace:* + version: link:../../../packages/rspack '@nuxt/webpack-builder': specifier: workspace:* version: link:../../../packages/webpack @@ -964,16 +1142,16 @@ importers: devDependencies: '@vue/devtools-api': specifier: latest - version: 7.4.5 + version: 7.6.2 ufo: specifier: 1.5.4 version: 1.5.4 unplugin: specifier: latest - version: 1.14.1(webpack-sources@3.2.3) + version: 1.15.0(webpack-sources@3.2.3) vue: - specifier: 3.5.5 - version: 3.5.5(typescript@5.6.2) + specifier: 3.5.12 + version: 3.5.12(typescript@5.6.3) test/fixtures/basic-types: dependencies: @@ -983,19 +1161,19 @@ importers: devDependencies: ofetch: specifier: latest - version: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) + version: 1.4.1 unplugin-vue-router: specifier: ^0.10.7 - version: 0.10.8(rollup@4.21.3)(vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3) + version: 0.10.8(rollup@4.24.4)(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3) vitest: specifier: 1.6.0 - version: 1.6.0(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + version: 1.6.0(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0) vue: - specifier: 3.5.5 - version: 3.5.5(typescript@5.6.2) + specifier: 3.5.12 + version: 3.5.12(typescript@5.6.3) vue-router: specifier: latest - version: 4.4.5(vue@3.5.5(typescript@5.6.2)) + version: 4.4.5(vue@3.5.12(typescript@5.6.3)) test/fixtures/minimal: dependencies: @@ -1024,8 +1202,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: @@ -1043,28 +1221,28 @@ 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==} + '@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==} + '@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==} + '@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==} + '@babel/generator@7.25.7': + resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==} engines: {node: '>=6.9.0'} '@babel/helper-annotate-as-pure@7.24.7': resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} - '@babel/helper-compilation-targets@7.25.2': - resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} + '@babel/helper-compilation-targets@7.25.7': + resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==} engines: {node: '>=6.9.0'} '@babel/helper-create-class-features-plugin@7.25.4': @@ -1077,12 +1255,12 @@ 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==} + '@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==} + '@babel/helper-module-transforms@7.25.7': + resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -1101,36 +1279,36 @@ packages: peerDependencies: '@babel/core': ^7.0.0 - '@babel/helper-simple-access@7.24.7': - resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} + '@babel/helper-simple-access@7.25.7': + resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==} engines: {node: '>=6.9.0'} '@babel/helper-skip-transparent-expression-wrappers@7.24.7': 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==} + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.24.7': - resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.24.8': - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} + '@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==} + '@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==} + '@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==} + '@babel/parser@7.26.2': + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} engines: {node: '>=6.0.0'} hasBin: true @@ -1169,42 +1347,30 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-modules-commonjs@7.24.8': - resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-typescript@7.25.2': resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/preset-typescript@7.24.7': - resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/runtime@7.25.6': resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==} engines: {node: '>=6.9.0'} - '@babel/standalone@7.25.6': - resolution: {integrity: sha512-Kf2ZcZVqsKbtYhlA7sP0z5A3q5hmCVYMKMWRWNK/5OVwHIve3JY1djVRmIVAx8FMueLIfZGKQDIILK2w8zO4mg==} + '@babel/standalone@7.25.7': + 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==} + '@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==} + '@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==} + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} engines: {node: '>=6.9.0'} '@bcoe/v8-coverage@0.2.3': @@ -1218,8 +1384,8 @@ packages: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} - '@es-joy/jsdoccomment@0.48.0': - resolution: {integrity: sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==} + '@es-joy/jsdoccomment@0.49.0': + resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} engines: {node: '>=16'} '@esbuild/aix-ppc64@0.20.2': @@ -1240,6 +1406,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/aix-ppc64@0.24.0': + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.20.2': resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} @@ -1258,6 +1430,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.24.0': + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} + engines: {node: '>=18'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.20.2': resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} @@ -1276,6 +1454,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-arm@0.24.0': + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} + engines: {node: '>=18'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.20.2': resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} @@ -1294,6 +1478,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/android-x64@0.24.0': + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} @@ -1312,6 +1502,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.24.0': + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} + engines: {node: '>=18'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} @@ -1330,6 +1526,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.24.0': + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} + engines: {node: '>=18'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.20.2': resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} @@ -1348,6 +1550,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.24.0': + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.20.2': resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} @@ -1366,6 +1574,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.24.0': + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} + engines: {node: '>=18'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.20.2': resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} @@ -1384,6 +1598,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.24.0': + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} + engines: {node: '>=18'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.20.2': resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} @@ -1402,6 +1622,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.24.0': + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} + engines: {node: '>=18'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.20.2': resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} @@ -1420,6 +1646,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.24.0': + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} + engines: {node: '>=18'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.20.2': resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} @@ -1438,6 +1670,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.24.0': + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} + engines: {node: '>=18'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.20.2': resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} @@ -1456,6 +1694,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.24.0': + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} + engines: {node: '>=18'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.20.2': resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} @@ -1474,6 +1718,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.24.0': + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} + engines: {node: '>=18'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.20.2': resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} @@ -1492,6 +1742,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.24.0': + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} + engines: {node: '>=18'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.20.2': resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} @@ -1510,6 +1766,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.24.0': + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} + engines: {node: '>=18'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.20.2': resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} @@ -1528,6 +1790,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.24.0': + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} + engines: {node: '>=18'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} @@ -1546,12 +1814,24 @@ packages: cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.24.0': + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} + engines: {node: '>=18'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-arm64@0.23.1': resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.24.0': + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.20.2': resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} @@ -1570,6 +1850,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.24.0': + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} + engines: {node: '>=18'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.20.2': resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} @@ -1588,6 +1874,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.24.0': + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} + engines: {node: '>=18'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.20.2': resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} @@ -1606,6 +1898,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.24.0': + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} + engines: {node: '>=18'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.20.2': resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} @@ -1624,6 +1922,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.24.0': + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} + engines: {node: '>=18'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.20.2': resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} @@ -1642,14 +1946,20 @@ packages: cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.24.0': + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} + engines: {node: '>=18'} + cpu: [x64] + os: [win32] + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - '@eslint-community/regexpp@4.11.0': - resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} '@eslint/compat@1.1.1': @@ -1660,20 +1970,24 @@ packages: resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.7.0': + resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.10.0': - resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} + '@eslint/js@9.14.0': + resolution: {integrity: sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.1.0': - resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==} + '@eslint/plugin-kit@0.2.0': + resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fastify/busboy@2.1.1': @@ -1693,12 +2007,24 @@ packages: resolution: {integrity: sha512-Nl8HCv0hGRSLQ+n1OD4Hk3a+Urwk9HH0vQkAzzCarT4KlA7bRl+6xEiS5PZVwOmjtC7XiH/oNe3as9Fxcr2A1w==} engines: {node: '>= 16'} + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} + + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + 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'} + + '@humanwhocodes/retry@0.4.0': + resolution: {integrity: sha512-xnRgu9DxZbkWak/te3fcytNyp8MTbuiZIaueg2rgEvBuN55n04nwLYLU9TX/VVlusc9L2ZNXi99nUFNkHXtr5g==} engines: {node: '>=18.18'} '@iconify-json/carbon@1.2.1': @@ -1710,14 +2036,14 @@ packages: '@iconify-json/ri@1.2.0': resolution: {integrity: sha512-br8It3uRHylNhEH72aU9VF6gIdL4BAi6JMdcxsCaVbAyWBJ0jd4RxfmsYnil6TmEfP5wxihiCKbtbQmIHZdqKg==} - '@iconify-json/tabler@1.2.2': - resolution: {integrity: sha512-sdHGvNKWm4TofzGm/rP5UythJBp82DqTOfjSlCLUTnuwCuRSJia5vfoIx2aEVRKq8jINj/V80c+A2k7jAW8Hlg==} + '@iconify-json/tabler@1.2.3': + resolution: {integrity: sha512-km0P/1Gtp/bFhvBQQmDkMx3nNIkNmU57WCYl9b8Envl81m3bhVVT85A8FtWChQxMXsYv3cTNuwMq/WZGfcY9vQ==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@2.1.32': - resolution: {integrity: sha512-LeifFZPPKu28O3AEDpYJNdEbvS4/ojAPyIW+pF/vUpJTYnbTiXUHkCh0bwgFRzKvdpb8H4Fbfd/742++MF4fPQ==} + '@iconify/utils@2.1.33': + resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==} '@ioredis/commands@1.2.0': resolution: {integrity: sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==} @@ -1790,16 +2116,28 @@ packages: resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} hasBin: true - '@netlify/functions@2.8.1': - resolution: {integrity: sha512-+6wtYdoz0yE06dSa9XkP47tw5zm6g13QMeCwM3MmHx1vn8hzwFa51JtmfraprdkL7amvb7gaNM+OOhQU1h6T8A==} + '@module-federation/runtime-tools@0.5.1': + resolution: {integrity: sha512-nfBedkoZ3/SWyO0hnmaxuz0R0iGPSikHZOAZ0N/dVSQaIzlffUo35B5nlC2wgWIc0JdMZfkwkjZRrnuuDIJbzg==} + + '@module-federation/runtime@0.5.1': + resolution: {integrity: sha512-xgiMUWwGLWDrvZc9JibuEbXIbhXg6z2oUkemogSvQ4LKvrl/n0kbqP1Blk669mXzyWbqtSp6PpvNdwaE1aN5xQ==} + + '@module-federation/sdk@0.5.1': + resolution: {integrity: sha512-exvchtjNURJJkpqjQ3/opdbfeT2wPKvrbnGnyRkrwW5o3FH1LaST1tkiNviT6OXTexGaVc2DahbdniQHVtQ7pA==} + + '@module-federation/webpack-bundler-runtime@0.5.1': + resolution: {integrity: sha512-mMhRFH0k2VjwHt3Jol9JkUsmI/4XlrAoBG3E0o7HoyoPYv1UFOWyqAflfANcUPgbYpvqmyLzDcO+3IT36LXnrA==} + + '@netlify/functions@2.8.2': + resolution: {integrity: sha512-DeoAQh8LuNPvBE4qsKlezjKj0PyXDryOFJfJKo3Z1qZLKzQ21sT314KQKPVjfvw6knqijj+IO+0kHXy/TJiqNA==} engines: {node: '>=14.0.0'} '@netlify/node-cookies@0.1.0': resolution: {integrity: sha512-OAs1xG+FfLX0LoRASpqzVntVV/RpYkgpI0VrUnw2u0Q1qiZUzcPffxRK8HF3gc4GjuhG5ahOEMJ9bswBiZPq0g==} engines: {node: ^14.16.0 || >=16.0.0} - '@netlify/serverless-functions-api@1.19.1': - resolution: {integrity: sha512-2KYkyluThg1AKfd0JWI7FzpS4A/fzVVGYIf6AM4ydWyNj8eI/86GQVLeRgDoH7CNOxt243R5tutWlmHpVq0/Ew==} + '@netlify/serverless-functions-api@1.26.1': + resolution: {integrity: sha512-q3L9i3HoNfz0SGpTIS4zTcKBbRkxzCRpd169eyiTuk3IwcPC3/85mzLHranlKo2b+HYT0gu37YxGB45aD8A3Tw==} engines: {node: '>=18.0.0'} '@nodelib/fs.scandir@2.1.5': @@ -1817,33 +2155,38 @@ packages: '@nuxt/devalue@2.0.2': resolution: {integrity: sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==} - '@nuxt/devtools-kit@1.4.2': - resolution: {integrity: sha512-8a5PhVnC7E94318/sHbNSe9mI2MlsQ8+pJLGs2Hh1OJyidB9SWe6hoFc8q4K9VOtXak9uCFVb5V2JGXS1q+1aA==} + '@nuxt/devtools-kit@1.5.1': + resolution: {integrity: sha512-s2dpN1vCOgua2pSYG7/xUMjf7CyLTBeEK2IRqeOeiNpiElft4ygDddlg6P3ot0Hpp+GvWTz0uPGot/vI73uk4w==} peerDependencies: - vite: 5.4.5 + vite: 5.4.10 - '@nuxt/devtools-ui-kit@1.4.2': - resolution: {integrity: sha512-ELVSAVimFeX4RWrfBjckevyB2btIrd4KUG0qVEaX9pBzKxwg8C1u+sDEfDfSQSnByXf7uoaGkR/1O/Up7xu65g==} + '@nuxt/devtools-kit@1.6.0': + resolution: {integrity: sha512-kJ8mVKwTSN3tdEVNy7mxKCiQk9wsG5t3oOrRMWk6IEbTSov+5sOULqQSM/+OWxWsEDmDfA7QlS5sM3Ti9uMRqQ==} peerDependencies: - '@nuxt/devtools': 1.4.2 + vite: 5.4.10 - '@nuxt/devtools-wizard@1.4.2': - resolution: {integrity: sha512-TyhmPBg/xJKPOdnwR3DAh8KMUt6/0dUNABCxGVeY7PYbIiXt4msIGVJkBc4y+WwIJHOYPrSRClmZVsXQfRlB4A==} + '@nuxt/devtools-ui-kit@1.5.1': + resolution: {integrity: sha512-/1B2AYXuuPePWVuoHd/UGIKR3z3vO2bW73UAEszpHVLc/OwLA19K9f5o91sgyamAi2Qb5NymAMc/UZL0ijN8uA==} + peerDependencies: + '@nuxt/devtools': 1.5.1 + + '@nuxt/devtools-wizard@1.6.0': + resolution: {integrity: sha512-n+mzz5NwnKZim0tq1oBi+x1nNXb21fp7QeBl7bYKyDT1eJ0XCxFkVTr/kB/ddkkLYZ+o8TykpeNPa74cN+xAyQ==} hasBin: true - '@nuxt/devtools@1.4.2': - resolution: {integrity: sha512-Ok3g2P7iwKyK8LiwozbYVAZTo8t91iXSmlJj2ozeo1okKQ2Qi1AtwB6nYgIlkUHZmo155ZjG/LCHYI5uhQ/sGw==} + '@nuxt/devtools@1.6.0': + resolution: {integrity: sha512-xNorMapzpM8HaW7NnAsEEO38OrmrYBzGvkkqfBU5nNh5XEymmIfCbQc7IA/GIOH9pXOV4gRutCjHCWXHYbOl3A==} hasBin: true peerDependencies: - vite: 5.4.5 + vite: 5.4.10 - '@nuxt/eslint-config@0.5.7': - resolution: {integrity: sha512-B+snO9NS9+v2657Z84tMbW3hLxjauIUkk2m4vnYjb9xfAFdoQwK07q6aaf7LzvagmVFmQiclT9LbJMvlRqzmsA==} + '@nuxt/eslint-config@0.6.1': + resolution: {integrity: sha512-AgWCX4iZtUgEiuTi+Azt5/zl8gAwW421BzhkcHmVzCVJgyKvZHNrrWUmlwwbE7iD9ZydKGSPeszSxBehf6F5jA==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@nuxt/eslint-plugin@0.5.7': - resolution: {integrity: sha512-vYQYs/L87g2pBIoTmkk2mgYBqePTQDnhk87nGqsosKbfQ80xj9kkN3dsVb6BDQFk0zik4THWpXmnfjkvsjm/eg==} + '@nuxt/eslint-plugin@0.6.1': + resolution: {integrity: sha512-fg8NWhiksBEgTQEQrTNbmgmVQFKDXZh+QaivTyxiBLSct8WXBp6d6/3586SIzKzBQFtP62xThK3yzy0AjMHs2Q==} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1853,15 +2196,15 @@ packages: peerDependencies: webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0 - '@nuxt/scripts@0.8.5': - resolution: {integrity: sha512-J1qpdig4bRdTsLveQ/HtD1LHcAnLAgsRNTzTR5Y20OmvYk8dJNt+dS31VoN70PnfOnAYvDDDxvn3bLlXm8RGJg==} + '@nuxt/scripts@0.9.5': + resolution: {integrity: sha512-E71sk4HP7HjwAFPu2CnCdW8Aed0uBv8zkdADyIe0BRvLNBnfwXluEBRLwh/XFarlGSvD5557jWSQ/3+FGZvbSA==} '@nuxt/telemetry@2.6.0': 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.4': + resolution: {integrity: sha512-1rSYMXjN651t+c8zSaPAoP78YE1WVcI3baPC2cic9my+J5FIsT1IuTU6M9XwDFBUnwGL6/sV5pPsyEumkIl3eA==} engines: {node: '>=18.20.4'} peerDependencies: '@cucumber/cucumber': ^10.3.1 || ^11.0.0 @@ -1875,9 +2218,9 @@ packages: jsdom: ^22.0.0 || ^23.0.0 || ^24.0.0 || ^25.0.0 nitropack: '*' playwright-core: ^1.43.1 - vite: 5.4.5 + vite: 5.4.10 vitest: ^0.34.6 || ^1.0.0 || ^2.0.0 - vue: 3.5.5 + vue: 3.5.12 vue-router: ^4.0.0 peerDependenciesMeta: '@cucumber/cucumber': @@ -1907,56 +2250,62 @@ packages: '@one-ini/wasm@0.1.1': resolution: {integrity: sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==} - '@parcel/watcher-android-arm64@2.4.1': - resolution: {integrity: sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==} + '@parcel/watcher-android-arm64@2.5.0': + resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - '@parcel/watcher-darwin-arm64@2.4.1': - resolution: {integrity: sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==} + '@parcel/watcher-darwin-arm64@2.5.0': + resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - '@parcel/watcher-darwin-x64@2.4.1': - resolution: {integrity: sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==} + '@parcel/watcher-darwin-x64@2.5.0': + resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - '@parcel/watcher-freebsd-x64@2.4.1': - resolution: {integrity: sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==} + '@parcel/watcher-freebsd-x64@2.5.0': + resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - '@parcel/watcher-linux-arm-glibc@2.4.1': - resolution: {integrity: sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==} + '@parcel/watcher-linux-arm-glibc@2.5.0': + resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - '@parcel/watcher-linux-arm64-glibc@2.4.1': - resolution: {integrity: sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==} + '@parcel/watcher-linux-arm-musl@2.5.0': + resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.0': + resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - '@parcel/watcher-linux-arm64-musl@2.4.1': - resolution: {integrity: sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==} + '@parcel/watcher-linux-arm64-musl@2.5.0': + resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - '@parcel/watcher-linux-x64-glibc@2.4.1': - resolution: {integrity: sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==} + '@parcel/watcher-linux-x64-glibc@2.5.0': + resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - '@parcel/watcher-linux-x64-musl@2.4.1': - resolution: {integrity: sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==} + '@parcel/watcher-linux-x64-musl@2.5.0': + resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] @@ -1967,26 +2316,26 @@ packages: bundledDependencies: - napi-wasm - '@parcel/watcher-win32-arm64@2.4.1': - resolution: {integrity: sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==} + '@parcel/watcher-win32-arm64@2.5.0': + resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - '@parcel/watcher-win32-ia32@2.4.1': - resolution: {integrity: sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==} + '@parcel/watcher-win32-ia32@2.5.0': + resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] - '@parcel/watcher-win32-x64@2.4.1': - resolution: {integrity: sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==} + '@parcel/watcher-win32-x64@2.5.0': + resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - '@parcel/watcher@2.4.1': - resolution: {integrity: sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==} + '@parcel/watcher@2.5.0': + resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==} engines: {node: '>= 10.0.0'} '@pkgjs/parseargs@0.11.0': @@ -2010,11 +2359,11 @@ packages: resolution: {integrity: sha512-g6/Y7HGQCllZI1iXAXDvmnpU7kaUeA7s9RVH13V2QIFi6VUJ+8HbyqTpUvAgkWRJV3da5CECEHyu+85fH+0hEg==} engines: {node: '>=14.19.0', npm: '>=7.0.0'} - '@rollup/plugin-alias@5.1.0': - resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} + '@rollup/plugin-alias@5.1.1': + resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true @@ -2023,7 +2372,7 @@ packages: resolution: {integrity: sha512-ZEZWTK5n6Qde0to4vS9Mr5x/0UZoqCxPVR9KRUjU4kA2sO7GEUn1fop0DAwpO6z0Nw/kJON9bDmSxdWxO/TT1A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true @@ -2032,7 +2381,16 @@ packages: resolution: {integrity: sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-commonjs@28.0.0': + resolution: {integrity: sha512-BJcu+a+Mpq476DMXG+hevgPSl56bkUoi88dKT8t3RyUp8kGuOh+2bU8Gs7zXDlu+fyZggnJ+iOBGrb/O1SorYg==} + engines: {node: '>=16.0.0 || 14 >= 14.17'} + peerDependencies: + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true @@ -2041,7 +2399,7 @@ packages: resolution: {integrity: sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true @@ -2050,16 +2408,16 @@ packages: resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true - '@rollup/plugin-node-resolve@15.2.3': - resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} + '@rollup/plugin-node-resolve@15.3.0': + resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true @@ -2068,7 +2426,16 @@ packages: resolution: {integrity: sha512-PqxSfuorkHz/SPpyngLyg5GCEkOcee9M1bkxiVDr41Pd61mqP1PLOoDPbpl44SB2mQGKwV/In74gqQmGITOhEQ==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 + peerDependenciesMeta: + rollup: + optional: true + + '@rollup/plugin-replace@6.0.1': + resolution: {integrity: sha512-2sPh9b73dj5IxuMmDAsQWVFT7mR+yoHweBaXG2W/R8vQ+IWZlnaI7BR7J6EguVQUp1hd8Z7XuozpDjEKQAAC2Q==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true @@ -2077,7 +2444,7 @@ packages: resolution: {integrity: sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true @@ -2086,133 +2453,213 @@ packages: resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} - '@rollup/pluginutils@5.1.0': - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} + '@rollup/pluginutils@5.1.3': + resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} engines: {node: '>=14.0.0'} peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.21.3': - resolution: {integrity: sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==} + '@rollup/rollup-android-arm-eabi@4.24.4': + resolution: {integrity: sha512-jfUJrFct/hTA0XDM5p/htWKoNNTbDLY0KRwEt6pyOA6k2fmk0WVwl65PdUdJZgzGEHWx+49LilkcSaumQRyNQw==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.21.3': - resolution: {integrity: sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==} + '@rollup/rollup-android-arm64@4.24.4': + resolution: {integrity: sha512-j4nrEO6nHU1nZUuCfRKoCcvh7PIywQPUCBa2UsootTHvTHIoIu2BzueInGJhhvQO/2FTRdNYpf63xsgEqH9IhA==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.21.3': - resolution: {integrity: sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==} + '@rollup/rollup-darwin-arm64@4.24.4': + resolution: {integrity: sha512-GmU/QgGtBTeraKyldC7cDVVvAJEOr3dFLKneez/n7BvX57UdhOqDsVwzU7UOnYA7AAOt+Xb26lk79PldDHgMIQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.21.3': - resolution: {integrity: sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==} + '@rollup/rollup-darwin-x64@4.24.4': + resolution: {integrity: sha512-N6oDBiZCBKlwYcsEPXGDE4g9RoxZLK6vT98M8111cW7VsVJFpNEqvJeIPfsCzbf0XEakPslh72X0gnlMi4Ddgg==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.21.3': - resolution: {integrity: sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==} + '@rollup/rollup-freebsd-arm64@4.24.4': + resolution: {integrity: sha512-py5oNShCCjCyjWXCZNrRGRpjWsF0ic8f4ieBNra5buQz0O/U6mMXCpC1LvrHuhJsNPgRt36tSYMidGzZiJF6mw==} + cpu: [arm64] + os: [freebsd] + + '@rollup/rollup-freebsd-x64@4.24.4': + resolution: {integrity: sha512-L7VVVW9FCnTTp4i7KrmHeDsDvjB4++KOBENYtNYAiYl96jeBThFfhP6HVxL74v4SiZEVDH/1ILscR5U9S4ms4g==} + cpu: [x64] + os: [freebsd] + + '@rollup/rollup-linux-arm-gnueabihf@4.24.4': + resolution: {integrity: sha512-10ICosOwYChROdQoQo589N5idQIisxjaFE/PAnX2i0Zr84mY0k9zul1ArH0rnJ/fpgiqfu13TFZR5A5YJLOYZA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.21.3': - resolution: {integrity: sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==} + '@rollup/rollup-linux-arm-musleabihf@4.24.4': + resolution: {integrity: sha512-ySAfWs69LYC7QhRDZNKqNhz2UKN8LDfbKSMAEtoEI0jitwfAG2iZwVqGACJT+kfYvvz3/JgsLlcBP+WWoKCLcw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.21.3': - resolution: {integrity: sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==} + '@rollup/rollup-linux-arm64-gnu@4.24.4': + resolution: {integrity: sha512-uHYJ0HNOI6pGEeZ/5mgm5arNVTI0nLlmrbdph+pGXpC9tFHFDQmDMOEqkmUObRfosJqpU8RliYoGz06qSdtcjg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.21.3': - resolution: {integrity: sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==} + '@rollup/rollup-linux-arm64-musl@4.24.4': + resolution: {integrity: sha512-38yiWLemQf7aLHDgTg85fh3hW9stJ0Muk7+s6tIkSUOMmi4Xbv5pH/5Bofnsb6spIwD5FJiR+jg71f0CH5OzoA==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': - resolution: {integrity: sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': + resolution: {integrity: sha512-q73XUPnkwt9ZNF2xRS4fvneSuaHw2BXuV5rI4cw0fWYVIWIBeDZX7c7FWhFQPNTnE24172K30I+dViWRVD9TwA==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.21.3': - resolution: {integrity: sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==} + '@rollup/rollup-linux-riscv64-gnu@4.24.4': + resolution: {integrity: sha512-Aie/TbmQi6UXokJqDZdmTJuZBCU3QBDA8oTKRGtd4ABi/nHgXICulfg1KI6n9/koDsiDbvHAiQO3YAUNa/7BCw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.21.3': - resolution: {integrity: sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==} + '@rollup/rollup-linux-s390x-gnu@4.24.4': + resolution: {integrity: sha512-P8MPErVO/y8ohWSP9JY7lLQ8+YMHfTI4bAdtCi3pC2hTeqFJco2jYspzOzTUB8hwUWIIu1xwOrJE11nP+0JFAQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.21.3': - resolution: {integrity: sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==} + '@rollup/rollup-linux-x64-gnu@4.24.4': + resolution: {integrity: sha512-K03TljaaoPK5FOyNMZAAEmhlyO49LaE4qCsr0lYHUKyb6QacTNF9pnfPpXnFlFD3TXuFbFbz7tJ51FujUXkXYA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.21.3': - resolution: {integrity: sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==} + '@rollup/rollup-linux-x64-musl@4.24.4': + resolution: {integrity: sha512-VJYl4xSl/wqG2D5xTYncVWW+26ICV4wubwN9Gs5NrqhJtayikwCXzPL8GDsLnaLU3WwhQ8W02IinYSFJfyo34Q==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.21.3': - resolution: {integrity: sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==} + '@rollup/rollup-win32-arm64-msvc@4.24.4': + resolution: {integrity: sha512-ku2GvtPwQfCqoPFIJCqZ8o7bJcj+Y54cZSr43hHca6jLwAiCbZdBUOrqE6y29QFajNAzzpIOwsckaTFmN6/8TA==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.21.3': - resolution: {integrity: sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==} + '@rollup/rollup-win32-ia32-msvc@4.24.4': + resolution: {integrity: sha512-V3nCe+eTt/W6UYNr/wGvO1fLpHUrnlirlypZfKCT1fG6hWfqhPgQV/K/mRBXBpxc0eKLIF18pIOFVPh0mqHjlg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.21.3': - resolution: {integrity: sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==} + '@rollup/rollup-win32-x64-msvc@4.24.4': + resolution: {integrity: sha512-LTw1Dfd0mBIEqUVCxbvTE/LLo+9ZxVC9k99v1v4ahg9Aak6FpqOfNu5kRkeTAn0wphoC4JU7No1/rL+bBCEwhg==} cpu: [x64] os: [win32] - '@shikijs/core@1.16.2': - resolution: {integrity: sha512-XSVH5OZCvE4WLMgdoBqfPMYmGHGmCC3OgZhw0S7KcSi2XKZ+5oHGe71GFnTljgdOxvxx5WrRks6QoTLKrl1eAA==} + '@rspack/binding-darwin-arm64@1.0.14': + resolution: {integrity: sha512-dHvlF6T6ctThGDIdvkSdacroA1xlCxfteuppBj8BX/UxzLPr4xsaEtNilfJmFfd2/J02UQyTQauN/9EBuA+YkA==} + cpu: [arm64] + os: [darwin] + + '@rspack/binding-darwin-x64@1.0.14': + resolution: {integrity: sha512-q4Da1Bn/4xTLhhnOkT+fjP2STsSCfp4z03/J/h8tCVG/UYz56Ud3q1UEOK33c5Fxw1C4GlhEh5yYOlSAdxFQLQ==} + cpu: [x64] + os: [darwin] + + '@rspack/binding-linux-arm64-gnu@1.0.14': + resolution: {integrity: sha512-JogYtL3VQS9wJ3p3FNhDqinm7avrMsdwz4erP7YCjD7idob93GYAE7dPrHUzSNVnCBYXRaHJYZHDQs7lKVcYZw==} + cpu: [arm64] + os: [linux] + + '@rspack/binding-linux-arm64-musl@1.0.14': + resolution: {integrity: sha512-qgybhxI/nnoa8CUz7zKTC0Oh37NZt9uRxsSV7+ZYrfxqbrVCoNVuutPpY724uUHy1M6W34kVEm1uT1N4Ka5cZg==} + cpu: [arm64] + os: [linux] + + '@rspack/binding-linux-x64-gnu@1.0.14': + resolution: {integrity: sha512-5vzaDRw3/sGKo3ax/1cU3/cxqNjajwlt2LU288vXNe1/n8oe/pcDfYcTugpOe/A1DqzadanudJszLpFcKsaFtQ==} + cpu: [x64] + os: [linux] + + '@rspack/binding-linux-x64-musl@1.0.14': + resolution: {integrity: sha512-4U6QD9xVS1eGme52DuJr6Fg/KdcUfJ+iKwH49Up460dZ/fLvGylnVGA+V0mzPlKi8gfy7NwFuYXZdu3Pwi1YYg==} + cpu: [x64] + os: [linux] + + '@rspack/binding-win32-arm64-msvc@1.0.14': + resolution: {integrity: sha512-SjeYw7qqRHYZ5RPClu+ffKZsShQdU3amA1OwC3M0AS6dbfEcji8482St3Y8Z+QSzYRapCEZij9LMM/9ypEhISg==} + cpu: [arm64] + os: [win32] + + '@rspack/binding-win32-ia32-msvc@1.0.14': + resolution: {integrity: sha512-m1gUiVyz3Z3VYIK/Ayo5CVHBjnEeRk9a+KIpKSsq1yhZItnMgjtr4bKabU9vjxalO4UoaSmVzODJI8lJBlnn5Q==} + cpu: [ia32] + os: [win32] + + '@rspack/binding-win32-x64-msvc@1.0.14': + resolution: {integrity: sha512-Gbeg+bayMF9VP9xmlxySL/TC2XrS6/LZM/pqcNOTLHx6LMG/VXCcmKB0rOZo8MzLXEt8D/lQmQ/B6g7pSaAw0g==} + cpu: [x64] + os: [win32] + + '@rspack/binding@1.0.14': + resolution: {integrity: sha512-0wWqFvr9hkF4LgNPgWfkTU0hhkZAMvOytoCs2p+wDX1Up1E/SgJ1U1JAsCxsl1XtUKm7mRvdWHzJmHbza3y89Q==} + + '@rspack/core@1.0.14': + resolution: {integrity: sha512-xHl23lxJZNjItGc5YuE9alz3yjb56y7EgJmAcBMPHMqgjtUt8rBu4xd/cSUjbr9/lLF9N4hdyoJiPJOFs9LEjw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@swc/helpers': '>=0.5.1' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@rspack/lite-tapable@1.0.1': + resolution: {integrity: sha512-VynGOEsVw2s8TAlLf/uESfrgfrq2+rcXB1muPJYBWbsm1Oa6r5qVQhjA5ggM6z/coYPrsVMgovl3Ff7Q7OCp1w==} + engines: {node: '>=16.0.0'} '@shikijs/core@1.17.0': resolution: {integrity: sha512-Mkk4Mp4bNnW1kytU8I7S5PK5teNSe0iKlfqxPss4sdwnlcU8a2N62Z3te2gVmZfU9t1HF6L3wyWuM43IvEeEsg==} - '@shikijs/core@1.17.6': - resolution: {integrity: sha512-9ztslig6/YmCg/XwESAXbKjAjOhaq6HVced9NY6qcbDz1X5g/S90Wco2vMjBNX/6V71ASkzri76JewSGPa7kiQ==} + '@shikijs/core@1.22.0': + resolution: {integrity: sha512-S8sMe4q71TJAW+qG93s5VaiihujRK6rqDFqBnxqvga/3LvqHEnxqBIOPkt//IdXVtHkQWKu4nOQNk0uBGicU7Q==} + + '@shikijs/core@1.22.2': + resolution: {integrity: sha512-bvIQcd8BEeR1yFvOYv6HDiyta2FFVePbzeowf5pPS1avczrPK+cjmaxxh0nx5QzbON7+Sv0sQfQVciO7bN72sg==} '@shikijs/engine-javascript@1.17.0': resolution: {integrity: sha512-EiBVlxmzJZdC2ypzn8k+vxLngbBNgHLS4RilwrFOABGRc72kUZubbD/6Chrq2RcVtD3yq1GtiiIdFMGd9BTX3Q==} - '@shikijs/engine-javascript@1.17.6': - resolution: {integrity: sha512-5EEZj8tVcierNxm4V0UMS2PVoflb0UJPalWWV8l9rRg+oOfnr5VivqBJbkyq5grltVPvByIXvVbY8GSM/356jQ==} + '@shikijs/engine-javascript@1.22.0': + resolution: {integrity: sha512-AeEtF4Gcck2dwBqCFUKYfsCq0s+eEbCEbkUuFou53NZ0sTGnJnJ/05KHQFZxpii5HMXbocV9URYVowOP2wH5kw==} + + '@shikijs/engine-javascript@1.22.2': + resolution: {integrity: sha512-iOvql09ql6m+3d1vtvP8fLCVCK7BQD1pJFmHIECsujB0V32BJ0Ab6hxk1ewVSMFA58FI0pR2Had9BKZdyQrxTw==} '@shikijs/engine-oniguruma@1.17.0': resolution: {integrity: sha512-nsXzJGLQ0fhKmA4Gwt1cF7vC8VuZ1HSDrTRuj48h/qDeX/TzmOlTDXQ3uPtyuhyg/2rbZRzNhN8UFU4fSnQfXg==} - '@shikijs/engine-oniguruma@1.17.6': - resolution: {integrity: sha512-NLfWDMXFYe0nDHFbEoyZdz89aIIey3bTfF3zLYSUNTXks5s4uinZVmuPOFf1HfTeGqIn8uErJSBc3VnpJO7Alw==} + '@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/engine-oniguruma@1.22.2': + resolution: {integrity: sha512-GIZPAGzQOy56mGvWMoZRPggn0dTlBf1gutV5TdceLCZlFNqWmuc7u+CzD0Gd9vQUTgLbrt0KLzz6FNprqYAxlA==} - '@shikijs/twoslash@1.17.6': - resolution: {integrity: sha512-87acUkBoLrP+nt04TUqvISQq+IF5aGfeesV8Y5X48BCst0FuI/K4V22Ixsd+L2S9dnjQCNomU8O1OUXUAT7M9A==} + '@shikijs/transformers@1.22.2': + resolution: {integrity: sha512-8f78OiBa6pZDoZ53lYTmuvpFPlWtevn23bzG+azpPVvZg7ITax57o/K3TC91eYL3OMJOO0onPbgnQyZjRos8XQ==} + + '@shikijs/twoslash@1.22.2': + resolution: {integrity: sha512-4R3A7aH/toZgtlveXHKk01nIsvn8hjAfPJ1aT550zcV4qK6vK/tfaEyYtaljOaY1wig2l5+8sKjNSEz3PcSiEw==} '@shikijs/types@1.17.0': resolution: {integrity: sha512-Tvu2pA69lbpXB+MmgIaROP1tio8y0uYvKb5Foh3q0TJBTAJuaoa5eDEtS/0LquyveacsiVrYF4uEZILju+7Ybg==} - '@shikijs/types@1.17.6': - resolution: {integrity: sha512-ndTFa2TJi2w51ddKQDn3Jy8f6K4E5Q2x3dA3Hmsd3+YmxDQ10UWHjcw7VbVbKzv3VcUvYPLy+z9neqytSzUMUg==} + '@shikijs/types@1.22.0': + resolution: {integrity: sha512-Fw/Nr7FGFhlQqHfxzZY8Cwtwk5E9nKDUgeLjZgt3UuhcM3yJR9xj3ZGNravZZok8XmEZMiYkSMTPlPkULB8nww==} + + '@shikijs/types@1.22.2': + resolution: {integrity: sha512-NCWDa6LGZqTuzjsGfXOBWfjS/fDIbDdmVDug+7ykVe1IKT4c1gakrvlfFYp5NhAXH/lyqLM8wsAPo5wNy73Feg==} '@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==} @@ -2231,8 +2678,12 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} - '@stylistic/eslint-plugin@2.8.0': - resolution: {integrity: sha512-Ufvk7hP+bf+pD35R/QfunF793XlSRIC7USr3/EdgduK9j13i2JjmsM0LUz3/foS+jDYp2fzyWZA9N44CPur0Ow==} + '@stripe/stripe-js@4.8.0': + resolution: {integrity: sha512-+4Cb0bVHlV4BJXxkJ3cCLSLuWxm3pXKtgcRacox146EuugjCzRRII5T5gUMgL4HpzrBLVwVxjKaZqntNWAXawQ==} + engines: {node: '>=12.16'} + + '@stylistic/eslint-plugin@2.9.0': + resolution: {integrity: sha512-OrDyFAYjBT61122MIY1a3SfEgy3YCMgt2vL4eoPmvTwDBwyQhAXurxNQznlRD/jESNfYWfID8Ej+31LljvF7Xg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.40.0' @@ -2246,7 +2697,7 @@ packages: engines: {node: '>=14'} peerDependencies: '@vue/compiler-sfc': '>= 3' - vue: 3.5.5 + vue: 3.5.12 peerDependenciesMeta: '@vue/compiler-sfc': optional: true @@ -2267,20 +2718,23 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/eslint-scope@3.7.7': + resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} + '@types/eslint@9.6.1': resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} '@types/eslint__js@8.42.3': resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} '@types/file-loader@5.0.4': resolution: {integrity: sha512-aB4X92oi5D2nIGI8/kolnJ47btRM2MQjQS4eJgA/VnCD12x0+kP5v7b5beVQWKHLOcquwUXvv6aMt8PmMy9uug==} - '@types/google.maps@3.58.0': - resolution: {integrity: sha512-rZPrbNHoGxeY70uuQYFLGQqcz5mLd3pZy0u286GSugvN7PLFsHNRF2wN2QXtUgNiC33IC0LX+MD3LGAC3wN7Eg==} + '@types/google.maps@3.58.1': + resolution: {integrity: sha512-X9QTSvGJ0nCfMzYOnaVs/k6/4L+7F5uCS+4iUmkLEls6J9S/Phv+m/i3mDeyc49ZBgwab3EFO1HEoBY7k98EGQ==} '@types/hash-sum@1.0.2': resolution: {integrity: sha512-UP28RddqY8xcU0SCEp9YKutQICXpaAq9N8U2klqF5hegGha7KzTOL8EdhIIV3bOSGBzjEpN9bU/d+nNZBdJYVw==} @@ -2318,8 +2772,8 @@ packages: '@types/node-sass@4.11.7': resolution: {integrity: sha512-QY0sXZGPRzJ2obo66f9zB6S0Uo9PRdcoPKPbyftSoKXub90s4ut/JK3fYHOqmhYhRRVEB3P5o5rEnq2/bWBdeg==} - '@types/node@20.16.5': - resolution: {integrity: sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==} + '@types/node@22.9.0': + resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -2342,9 +2796,6 @@ packages: '@types/source-list-map@0.1.6': resolution: {integrity: sha512-5JcVt1u5HDmlXkwOD2nslZVllBBc7HDuOICfiZah2Z0is8M8g+ddAEawbmd3VjedfDHBzxCaXLs07QEmb7y54g==} - '@types/stripe-v3@3.1.33': - resolution: {integrity: sha512-fIE7F7alypCrnIMsk4naprHf8kXEvPM2Q9FGdL/3TDeGM0xlHohdVWkwuaEZ2tKzXB9QQKoS8k+ocLkPjZajwQ==} - '@types/tapable@1.0.12': resolution: {integrity: sha512-bTHG8fcxEqv1M9+TD14P8ok8hjxoOCkfKc8XXLaaD05kI7ohpeI956jtDOD3XHKBQrlyPughUtzm1jtVhHpA5Q==} @@ -2384,8 +2835,8 @@ packages: '@types/youtube@0.1.0': resolution: {integrity: sha512-Pg33m3X2mFgdmhtvzOlAfUfgOa3341N3/2JCrVY/mXVxb4hagcqqEG6w4vGCfB64StQNWHSj/T8Eotb1Rko/FQ==} - '@typescript-eslint/eslint-plugin@8.5.0': - resolution: {integrity: sha512-lHS5hvz33iUFQKuPFGheAB84LwcJ60G8vKnEhnfcK1l8kGVLro2SFYW6K0/tj8FUhRJ0VHyg1oAfg50QGbPPHw==} + '@typescript-eslint/eslint-plugin@8.11.0': + resolution: {integrity: sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -2395,8 +2846,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.5.0': - resolution: {integrity: sha512-gF77eNv0Xz2UJg/NbpWJ0kqAm35UMsvZf1GHj8D9MRFTj/V3tAciIWXfmPLsAAF/vUlpWPvUDyH1jjsr0cMVWw==} + '@typescript-eslint/parser@8.11.0': + resolution: {integrity: sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -2405,12 +2856,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.5.0': - resolution: {integrity: sha512-06JOQ9Qgj33yvBEx6tpC8ecP9o860rsR22hWMEd12WcTRrfaFgHr2RB/CA/B+7BMhHkXT4chg2MyboGdFGawYg==} + '@typescript-eslint/scope-manager@8.11.0': + resolution: {integrity: sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.5.0': - resolution: {integrity: sha512-N1K8Ix+lUM+cIDhL2uekVn/ZD7TZW+9/rwz8DclQpcQ9rk4sIL5CAlBC0CugWKREmDjBzI/kQqU4wkg46jWLYA==} + '@typescript-eslint/type-utils@8.11.0': + resolution: {integrity: sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -2418,12 +2869,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.5.0': - resolution: {integrity: sha512-qjkormnQS5wF9pjSi6q60bKUHH44j2APxfh9TQRXK8wbYVeDYYdYJGIROL87LGZZ2gz3Rbmjc736qyL8deVtdw==} + '@typescript-eslint/types@8.11.0': + resolution: {integrity: sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.5.0': - resolution: {integrity: sha512-vEG2Sf9P8BPQ+d0pxdfndw3xIXaoSjliG0/Ejk7UggByZPKXmJmw3GW5jV2gHNQNawBUyfahoSiCFVov0Ruf7Q==} + '@typescript-eslint/typescript-estree@8.11.0': + resolution: {integrity: sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -2431,146 +2882,206 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.5.0': - resolution: {integrity: sha512-6yyGYVL0e+VzGYp60wvkBHiqDWOpT63pdMV2CVG4LVDd5uR6q1qQN/7LafBZtAtNIn/mqXjsSeS5ggv/P0iECw==} + '@typescript-eslint/utils@8.11.0': + resolution: {integrity: sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.5.0': - resolution: {integrity: sha512-yTPqMnbAZJNy2Xq2XU8AdtOW9tJIr+UQb64aXB9f3B1498Zx9JorVgFJcZpEc9UBuCCrdzKID2RGAMkYcDtZOw==} + '@typescript-eslint/visitor-keys@8.11.0': + resolution: {integrity: sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@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==} - '@unhead/dom@1.11.1': - resolution: {integrity: sha512-lyqegiA35OzcvsaP9gQpAPWv5LmZpP9D/55xkFVTnaXfd1kl1TCxBkioAzv3lxtaYsu6CLSqH/jRxO+fB3Q2kQ==} + '@unhead/dom@1.11.11': + resolution: {integrity: sha512-4YwziCH5CmjvUzSGdZ4Klj6BqhLSTNZooA9kt47yDxj4Qw9uHqVnXwWWupYsVdIYPNsw1tR2AkHveg82y1Fn3A==} - '@unhead/dom@1.11.2': - resolution: {integrity: sha512-e5Ilqa1ktwGJGhFt3jEI78LywNuvqOR4GdEa+sV2OuKbldWBoS8DosCf7jzwEIPYgn2ubDQ0ygn9JH+m/x88gA==} + '@unhead/schema@1.11.11': + resolution: {integrity: sha512-xSGsWHPBYcMV/ckQeImbrVu6ddeRnrdDCgXUKv3xIjGBY+ob/96V80lGX8FKWh8GwdFSwhblISObKlDAt5K9ZQ==} - '@unhead/schema@1.11.1': - resolution: {integrity: sha512-oEl5vV3+zZyY1Y3PVE1+gWNMj2wJczP6w0gscp8RnFRSik9p94XqYzBnzeb0tezIyVJWKWycGne9ocV0uGHbzw==} + '@unhead/shared@1.11.11': + resolution: {integrity: sha512-RfdvUskPn90ipO+PmR98jKZ8Lsx1uuzscOenO5xcrMrtWGhlLWaEBIrbvFOvX5PZ/u8/VNMJChTXGDUjEtHmlg==} - '@unhead/schema@1.11.2': - resolution: {integrity: sha512-ALyIIA0084JjGQJD6tJetQdqVNw/V6d2LaCC06jSm+JUqxsRWRZcSbNZUg5xr0T4xQPrefZYrGp76PbOdotPbQ==} + '@unhead/ssr@1.11.11': + resolution: {integrity: sha512-NQC8y+4ldwkMr3x8WFwv3+OR6g+Sj7dwL6J/3ST25KnvlwDSub2KGbnm2hF1x8vTpTmXTVxMA3GDRL9MRfLvMg==} - '@unhead/shared@1.11.1': - resolution: {integrity: sha512-05hd92qxAwkndMU8Ftklf4/97GuRVYHM0XzMz3ioENxJl8NfFGAyV48H/idt8WFv8JIkY9d7KgJDBmxG+CHi9Q==} - - '@unhead/shared@1.11.2': - resolution: {integrity: sha512-Zg56xBrqkr9f9m3/+G/2CzbLba6g3/M2myWmyuZtn/ncUk3K2IXvXvlZAzMHx4yO++Xeik2QUWpHEdXRh+PxAA==} - - '@unhead/ssr@1.11.2': - resolution: {integrity: sha512-Ilc+QmG4foMBr+f4u1GMSQjybSPjqi3vXfLTlqOVbr1voSlGtblYxJbZDw6KSCvfXu/s2YOPW+gCvvDLSZl3vg==} - - '@unhead/vue@1.11.1': - resolution: {integrity: sha512-MSeFsRr0Pco96bjoY8bijV5su+xw7joqv1LUJQxcDVIp51M1cfrutzMIBTGne30/0K43aIvshCGbmyuW8jouxw==} + '@unhead/vue@1.11.11': + resolution: {integrity: sha512-AxsHHauZ+w0m2irwDHqkc3GdNChMLBtolk8CN3IAZM6vTwH0EbPXlFCFcIk4WwkH0opG+R2GlKTThr5H0HLm7g==} peerDependencies: - vue: 3.5.5 + vue: 3.5.12 - '@unhead/vue@1.11.2': - resolution: {integrity: sha512-m4GnwOd1ltXiSxp4ahIT6lziVyg6dgqKyLyWxrRWuPjZ8nXsPcpIOCjVwYB1MK0UBKMuIlgeuzVeDrTY9+APbA==} + '@unocss/astro@0.62.4': + resolution: {integrity: sha512-98KfkbrNhBLx2+uYxMiGsldIeIZ6/PbL4yaGRHeHoiHd7p4HmIyCF+auYe4Psntx3Yr8kU+XSIAhGDYebvTidQ==} peerDependencies: - vue: 3.5.5 - - '@unocss/astro@0.62.3': - resolution: {integrity: sha512-C6ZdyLbLDS0LebwmgwVItLNAOSkL/tvVWNRd1i3Jy5uj1vPxlrw+3lIYiHjEofn0GFpBiwlv5+OCvO1Xpq5MqA==} - peerDependencies: - vite: 5.4.5 + vite: 5.4.10 peerDependenciesMeta: vite: optional: true - '@unocss/cli@0.62.3': - resolution: {integrity: sha512-yEl1iNKkBVpo8+i8gzveM5/0/vOVe6m8+FmuSDuKeSPJnYMhI1mAn+OCKFb/I+qEeLbRPXebbJUUB1xZNzya+w==} + '@unocss/astro@0.64.0': + resolution: {integrity: sha512-4Ijf3cQblSjdC3XV4SvzkEj17z6gNsuMGy7M+TvNN4cZhGLWQCIChtHR525ESGxJ4kdZ6FoIUoxmLdWHMOpX4Q==} + peerDependencies: + vite: 5.4.10 + peerDependenciesMeta: + vite: + optional: true + + '@unocss/cli@0.62.4': + resolution: {integrity: sha512-p4VyS40mzn4LCOkIsbIRzN0Zi50rRepesREi2S1+R4Kpvd4QFeeuxTuZNHEyi2uCboQ9ZWl1gfStCXIrNECwTg==} engines: {node: '>=14'} hasBin: true - '@unocss/config@0.62.3': - resolution: {integrity: sha512-zYOvFE0HfGIbnP/AvsbAlJpPRx9CQyXzL11m/8zgsHW5SGlJIYxuTll83l/xu026G5mPiksy7quoEOEgCLslqw==} + '@unocss/cli@0.64.0': + resolution: {integrity: sha512-xfY/qm7vr/4Qaf+CcQHuBJSg5ApZBvvGVD1zwyGFgfhfOFYR1hI3DS2zl75zav6btEwwXsjY7AUv6uYGF4M7dA==} + engines: {node: '>=14'} + hasBin: true + + '@unocss/config@0.62.4': + resolution: {integrity: sha512-XKudKxxW8P44JvlIdS6HBpfE3qZA9rhbemy6/sb8HyZjKYjgeM9jx5yjk+9+4hXNma/KlwDXwjAqY29z0S0SrA==} engines: {node: '>=14'} - '@unocss/core@0.62.3': - resolution: {integrity: sha512-Pfyrj8S7jq9K1QXD6Z5BCeiQavaHpbMN5q958/kmdbNGp57hOg1e346fMJAvgPjLBR+lE/hgZEsDrijtRiZXnw==} + '@unocss/config@0.64.0': + resolution: {integrity: sha512-L97x4vEk7jNG5ptZY5Xp0xgEk//tbMpQVm2BzfyL7w+Hg8X3AV4YjFL6hysHvpYiTdUCVaZg+S0s3b7wuj8Mqw==} + engines: {node: '>=14'} - '@unocss/extractor-arbitrary-variants@0.62.3': - resolution: {integrity: sha512-9ZscWyXEwDZif+b56xZyJFHwJOjdMXmj+6x96jOsnRNBzwT9eW7YcGCErP1ih/q1S6KmuRrHM/JOXMBQ6H4qlw==} + '@unocss/core@0.62.4': + resolution: {integrity: sha512-Cc+Vo6XlaQpyVejkJrrzzWtiK9pgMWzVVBpm9VCVtwZPUjD4GSc+g7VQCPXSsr7m03tmSuRySJx72QcASmauNQ==} - '@unocss/inspector@0.62.3': - resolution: {integrity: sha512-nTSXOf7YimFPxEYJo5VfP5wlMgYOCjlv3c5Ub/0fynCJXZNb89SFeU05ABXkEgg/FfiobVBTscikLc6guW8eHQ==} + '@unocss/core@0.64.0': + resolution: {integrity: sha512-Qb8wWPYNlTagCdJGzULew+e3NMM8Bd7fr38lDLgrMj+njop+wzkSe1ZZOyMMH9yHSq/Rznn5eCjnyzyHwxGslQ==} - '@unocss/nuxt@0.62.3': - resolution: {integrity: sha512-GktKR2hFP0RjCn8GB9d0SKZY6fXr6dFJZURV6KOgRlu3hvlXJiUA/6MU/eij86q/Q5CZcHEUcVFkHD5Ex8cqKw==} + '@unocss/extractor-arbitrary-variants@0.62.4': + resolution: {integrity: sha512-e4hJfBMyFr6T6dYSTTjNv9CQwaU1CVEKxDlYP0GpfSgxsV58pguID9j1mt0/XZD6LvEDzwxj9RTRWKpUSWqp+Q==} - '@unocss/postcss@0.62.3': - resolution: {integrity: sha512-CwL378ef0QazduXqlaGcWgKJAzemBUxdhapWWiRqI8sXC/eXht5xK6nS1JxqADDuxosgqsGdvcCGmP8ZFrEyiA==} + '@unocss/extractor-arbitrary-variants@0.64.0': + resolution: {integrity: sha512-oVB8l8zM+x0MQJTkraRcsrfJnWEwyPVgMgtzmNUm//HqV+xTrjZCNtOqHFNIZdj/+w0gkErGQLxzRwyPjlHq4g==} + + '@unocss/inspector@0.62.4': + resolution: {integrity: sha512-bRcnI99gZecNzrUr6kDMdwGHkhUuTPyvvadRdaOxHc9Ow3ANNyqymeFM1q5anZEUZt8h15TYN0mdyQyIWkU3zg==} + + '@unocss/inspector@0.64.0': + resolution: {integrity: sha512-aFEfxEuPOpbPNH3j1CLLnN7ZyZkc64XoxZbz7RbG20Wy5oJxonOnlu+Wikz9SfGvIyF16MVAMCkHu12WFRRC+g==} + + '@unocss/nuxt@0.62.4': + resolution: {integrity: sha512-ZNfXu/f2kIRc8rnstToR/s2ubcvWDaCPmV5jXL+SQytSPb1ONCkK7ITNgB2TtrTEqQyhNX33VlnHNF8KsM8PNA==} + + '@unocss/postcss@0.62.4': + resolution: {integrity: sha512-kWdHy7UsSP4bDu8I7sCKeO0VuzvVpNHmn2rifK5gNstUx5dZ1H/SoyXTHx5sKtgfZBRzdNXFu2nZ3PzYGvEFbw==} engines: {node: '>=14'} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 - '@unocss/preset-attributify@0.62.3': - resolution: {integrity: sha512-ORNwyLobGTwnn/tK5yHnMabdJU6Mr/C4LyFH7G8VSLit/aVS0fFa795kJXwxfbqQoQ7Gw0Zxs9oE5RXI0/0y7g==} + '@unocss/postcss@0.64.0': + resolution: {integrity: sha512-OMDhAUDEzbb7i+fcYEYNxwdWJLSYklMrFGSC60ADK96UPX/B9S0z1pBz7N34DRPPIzg6shO6NQfDHOaxLelAeg==} + engines: {node: '>=14'} + peerDependencies: + postcss: 8.4.47 - '@unocss/preset-icons@0.62.3': - resolution: {integrity: sha512-Ie+5RTyac1Q5CNB/s/4aB4VTHAQgQqsI5hshMNLkJ0Jj1lWxodUdEbCRKjXDalRjAXOS9vsLjfJ35ozJ1RSTIQ==} + '@unocss/preset-attributify@0.62.4': + resolution: {integrity: sha512-ei5nNT58GON9iyCGRRiIrphzyQbBIZ9iEqSBhIY0flcfi1uAPUXV32aO2slqJnWWAIwbRSb1GMpwYR8mmfuz8g==} - '@unocss/preset-mini@0.62.3': - resolution: {integrity: sha512-dn/8ubeW2ry/ZF3iKxdQHnS0l3EBibt0rIOE/XVwx24ub6pRzclU4r7xHnXeqvAFOO9PoiKDGgFR92m6R2MxyQ==} + '@unocss/preset-attributify@0.64.0': + resolution: {integrity: sha512-3T1mktq5rAQxHXtdLkjjj1UOjPwy9iGbVUChvxyaGV5oOsj1mvfe1oetxz8HqAVQak8MtvsJzFzvuuQQln/6OA==} - '@unocss/preset-tagify@0.62.3': - resolution: {integrity: sha512-8BpUCZ5sjOZOzBKtu7ecfhRggwwPF78IqeqeNjI+XYRs8r7TBBcUVeF6zUkwhlX/TbtREkw2OZj0Iusa9CBO+A==} + '@unocss/preset-icons@0.62.4': + resolution: {integrity: sha512-n9m2nRTxyiw0sqOwSioO3rro0kaPW0JJzWlzcfdwQ+ZORNR5WyJL298fLXYUFbZG3EOF+zSPg6CMDWudKk/tlA==} - '@unocss/preset-typography@0.62.3': - resolution: {integrity: sha512-GjtDgQ1Jec/5RNmnyGMWMgyPdStWcFG/S+NUfOuroRsGSI8PDxihVOwFu5CwvOB2J2r6mRNLeUYMluE05jW3sw==} + '@unocss/preset-icons@0.64.0': + resolution: {integrity: sha512-jhozA4r583agZZpKttdootaWfvQ29lY/kHxNU1Ah2xeRQcVXXEh7M3cG0bo9HSIX9/BgXSk5rWQlqSPIqFl4Lw==} - '@unocss/preset-uno@0.62.3': - resolution: {integrity: sha512-RlsrMlpEzoZqB0lr5VvlkHGpEgr0Vp6z4Q/7DjW5t7mi20Z2i8olaLGWM0TO1wKoRi8bxc6HP0RHUS7pHtZxBA==} + '@unocss/preset-mini@0.62.4': + resolution: {integrity: sha512-1O+QpQFx7FT61aheAZEYemW5e4AGib8TFGm+rWLudKq2IBNnXHcS5xsq5QvqdC7rp9Dn3lnW5du6ijow5kCBuw==} - '@unocss/preset-web-fonts@0.62.3': - resolution: {integrity: sha512-rGEouncGFwcUY1cjkQ/ZoSmEzOeSi3Yk4YAfHGyS0ff5zKuTDWZgivB8hh/mTtvRzZunIL+FW1+1z5G9rUwjgQ==} + '@unocss/preset-mini@0.64.0': + resolution: {integrity: sha512-bc7zanalVQUrETJ06eyS7y/lhceRlY8kBG/lRCV/dYmKl4Ho/s57LrpZH0G63OcO6IfWIjwoZHVC8/RHAqnYvQ==} - '@unocss/preset-wind@0.62.3': - resolution: {integrity: sha512-6+VNce1he1U5EXKlXRwTIPn8KeK6bZ2jAEgcCxk8mFy8SzOlLeYzXCI9lcdiWRTjIeIiK5iSaUqmsQFtKdTyQg==} + '@unocss/preset-tagify@0.62.4': + resolution: {integrity: sha512-8b2Kcsvt93xu1JqDqcD3QvvW0L5rqvH7ev3BlNEVx6n8ayBqfB5HEd4ILKr7wSC90re+EnCgnMm7EP2FiQAJkw==} - '@unocss/reset@0.62.3': - resolution: {integrity: sha512-XVKPkbm8y9SGzRaG3x+HygGZURm50MvKLVHXsbxi67RbIir9Ouyt9hQTV6Xs3RicRZFWOpJx3wMRb8iKUOe5Zw==} + '@unocss/preset-tagify@0.64.0': + resolution: {integrity: sha512-WlRQXYgtVzJpVlZ+itXhrQyvMj6XW1InNIfvAHMorr5BGvMGETLRnuWwYYhGg2YDF/g+/EucU5PQmk9UkurBzg==} - '@unocss/rule-utils@0.62.3': - resolution: {integrity: sha512-qI37jHH//XzyR5Y2aN3Kpo4lQrQO+CaiXpqPSwMLYh2bIypc2RQVpqGVtU736x0eA6IIx41XEkKzUW+VtvJvmg==} + '@unocss/preset-typography@0.62.4': + resolution: {integrity: sha512-ZVh+NbcibMmD6ve8Deub/G+XAFcGPuzE2Fx/tMAfWfYlfyOAtrMxuL+AARMthpRxdE0JOtggXNTrJb0ZhGYl9g==} + + '@unocss/preset-typography@0.64.0': + resolution: {integrity: sha512-hMKxhHTRUjvwB0gcdWOh6zWWolH9pvIvgB4p2GaFT1vKyFD0wkTZ/7S/Q3OMKJyevSKHyIgKd+PhNGKTx5FuQQ==} + + '@unocss/preset-uno@0.62.4': + resolution: {integrity: sha512-2S6+molIz8dH/al0nfkU7i/pMS0oERPr4k9iW80Byt4cKDIhh/0jhZrC83kgZRtCf5hclSBO4oCoMTi1JF7SBw==} + + '@unocss/preset-uno@0.64.0': + resolution: {integrity: sha512-gUmuL8anty551r/Q2XU5wc0aNZ+te4yydnamXHSUv3EkX6PCphOaiWsQ5f95fj26G8EYH9fLBvxqXurFBPM7og==} + + '@unocss/preset-web-fonts@0.62.4': + resolution: {integrity: sha512-kaxgYBVyMdBlErseN8kWLiaS2N5OMlwg5ktAxUlei275fMoY7inQjOwppnjDVveJbN9SP6TcqqFpBIPfUayPkQ==} + + '@unocss/preset-web-fonts@0.64.0': + resolution: {integrity: sha512-qraIhS0tCFHvdPQnzGTfi/dggwyboWPU8UQn8oLMsmPKogNPsYQfjrtTZs8X6F1KNaPV18c6saaWYvVZ8tXPoA==} + + '@unocss/preset-wind@0.62.4': + resolution: {integrity: sha512-YOzfQ11AmAnl1ZkcWLMMxCdezLjRKavLNk38LumUMtcdsa0DAy+1JjTp+KEvVQAnD+Et/ld5X+YcBWJkVy5WFQ==} + + '@unocss/preset-wind@0.64.0': + resolution: {integrity: sha512-cJbZI4etFrIIQoC1VhRqyEZU5fUaYqOH3uIt5lM3osxBdAvHds7SPjLRbdR612US7JbuPeFhMMRnA1EYoo39sQ==} + + '@unocss/reset@0.62.4': + resolution: {integrity: sha512-CtxjeDgN39fY/eZDLIXN4wy7C8W7+SD+41AlzGVU5JwhcXmnb1XoDpOd2lzMxc/Yy3F5dIJt2+MRDj9RnpX9Ew==} + + '@unocss/reset@0.64.0': + resolution: {integrity: sha512-75SiDtRX/mtg/7GWeoLfDfdWF4z59zF1XesL46FNd2hDZL36a+SZHIKB/J+PPzLyX9irqm3mAETS2PNfynuJpA==} + + '@unocss/rule-utils@0.62.4': + resolution: {integrity: sha512-XUwLbLUzL+VSHCJNK5QBHC9RbFehumge1/XJmsRfmh0+oxgJoO1gvEvxi57gYEmdJdMRJHRJZ66se6+cB0Ymvw==} engines: {node: '>=14'} - '@unocss/scope@0.62.3': - resolution: {integrity: sha512-TJGmFfsMrTo8DBJ7CJupIqObpgij+w4jCHMBf1uu0/9jbm63dH6WGcrl3zf5mm6UBTeLmB0RwJ8K4hs7LtrBDQ==} + '@unocss/rule-utils@0.64.0': + resolution: {integrity: sha512-R5b/uspq6XsmpEqhxSzOOePHsS+pdxya+0pkQw7m6thsUxNDL7kVDpBiz2iNX5lnwagvhyhUWYu85a8XmZ8ymw==} + engines: {node: '>=14'} - '@unocss/transformer-attributify-jsx-babel@0.62.3': - resolution: {integrity: sha512-3yFZPSoN8VLiAGUAFIyfDRv9HQYTKFGKawDdMM9ATZmSEYOecJnYjS2HayT1P9kzGwBwuKoFjcX50JH1PuNokg==} + '@unocss/transformer-attributify-jsx@0.62.4': + resolution: {integrity: sha512-z9DDqS2DibDR9gno55diKfAVegeJ9uoyQXQhH3R0KY4YMF49N1fWy/t74gOiHtlPmvjQtDRZYgjgaMCc2w8oWg==} - '@unocss/transformer-attributify-jsx@0.62.3': - resolution: {integrity: sha512-AutidZj26QW1vLQzuW/aQigC/5ZnIeqGYIBeb/O+FKKt0bU411tHrHnA1iV4CoxIdWJTkw2sGAl6z6YvwAYG6w==} + '@unocss/transformer-attributify-jsx@0.64.0': + resolution: {integrity: sha512-/kG7NFmqMCftK5DJUgMUbe9SWRJt20Z55o36aaCkBcEsrTSYBmWYDyIJPZa3TxsjO8H1qDekRVu7CgDxwlxMEQ==} - '@unocss/transformer-compile-class@0.62.3': - resolution: {integrity: sha512-1hf+99wJXzQXQPz9xR0AiTB3vBXT5RiEyugIX95HFx7EvSE/P17RP90yKEKZtDZRUwGiz2vIyySlxcKTFak9Vg==} + '@unocss/transformer-compile-class@0.62.4': + resolution: {integrity: sha512-8yadY9T7LToJwSsrmYU3rUKlnDgPGVRvON7z9g1IjUCmFCGx7Gpg84x9KpKUG6eUTshPQFUI0YUHocrYFevAEA==} - '@unocss/transformer-directives@0.62.3': - resolution: {integrity: sha512-HqHwFOA7DfxD/A1ROZIp8Dr8iZcE0z4w3VQtViWPQ89Fqmb7p2wCPGekk+8yW5PAltpynvHE4ahJEto5xjdg6w==} + '@unocss/transformer-compile-class@0.64.0': + resolution: {integrity: sha512-p1LZG2AUsD0FrkCSo1JOsWVQ+sEMcgnVCm6XtCgxBraV3nPFeZUyxmj9yEkt0HhfYkMTvdT155c3rDhbwP8AFw==} - '@unocss/transformer-variant-group@0.62.3': - resolution: {integrity: sha512-oNX1SdfWemz0GWGSXACu8NevM0t2l44j2ancnooNkNz3l1+z1nbn4vFwfsJCOqOaoVm4ZqxaiQ8HIx81ZSiU1A==} + '@unocss/transformer-directives@0.62.4': + resolution: {integrity: sha512-bq9ZDG6/mr6X2mAogAo0PBVrLSLT0900MPqnj/ixadYHc7mRpX+y6bc/1AgWytZIFYSdNzf7XDoquZuwf42Ucg==} - '@unocss/vite@0.62.3': - resolution: {integrity: sha512-RrqF6Go8s0BGpwRfkOiLuO+n3CUE/CXxGqb0ipbUARhmNWJlekE3YPfayqImSEnCcImpaPgtVGv6Y0u3kLGG/w==} + '@unocss/transformer-directives@0.64.0': + resolution: {integrity: sha512-+e2bDEQMEsfq4KZ2R+GQNrEv0bL3E1KbXGPQXUiMGitmZzzagDfIBk9VTP3gNhU+hgTaWtjXlReeap1eSmwKGQ==} + + '@unocss/transformer-variant-group@0.62.4': + resolution: {integrity: sha512-W1fxMc2Lzxu4E+6JBQEBzK+AwoCQYI+EL2FT2BCUsAno37f3JdnwFFEVscck0epSdmdtidsSLDognyX8h10r8A==} + + '@unocss/transformer-variant-group@0.64.0': + resolution: {integrity: sha512-c4CN+W8ShBhGIma3KHHcBe7CRljRwZ0f5UamRrUIMs28a2jfa1TlPlr/4Ke5b6icr0mwTGajJEUaPanOK0Fp1A==} + + '@unocss/vite@0.62.4': + resolution: {integrity: sha512-JKq3V6bcevYl9X5Jl3p9crArbhzI8JVWQkOxKV2nGLFaqvnc47vMSDxlU4MUdRWp3aQvzDw132tcx27oSbrojw==} peerDependencies: - vite: 5.4.5 + vite: 5.4.10 - '@unocss/webpack@0.62.3': - resolution: {integrity: sha512-Emacl2uNau0pa7/wEFCQxAxwK3nkIa+Kp2CAcJdlwcaNBcqtowkTga0FOdq71YUENXv+aziK7mV6lrjdS/hgcA==} + '@unocss/vite@0.64.0': + resolution: {integrity: sha512-QrfXlI8YcIaqQc4WRVrLbCho8eEi5pjs1/C8AwnUHGximEDN6MZNUk0htjo4QZ+50IA2b4RrYdz1N3875bJoFg==} + peerDependencies: + vite: 5.4.10 + + '@unocss/webpack@0.62.4': + resolution: {integrity: sha512-hccXqpssqi1DyPJOwyIB3IhYe5SWND2JwTPxVTg8wO9fI1JvEK5DxK8FflJpXVps7QjotCmB/AXp0ezD0SutUg==} peerDependencies: webpack: ^4 || ^5 @@ -2588,21 +3099,21 @@ packages: resolution: {integrity: sha512-7mg9HFGnFHMEwCdB6AY83cVK4A6sCqnrjFYF4WIlebYAQVVJ/sC/CiTruVdrRlhrFoeZ8rlMxY9wYpPTIRhhAg==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: - vite: 5.4.5 - vue: 3.5.5 + vite: 5.4.10 + vue: 3.5.12 - '@vitejs/plugin-vue@5.1.3': - resolution: {integrity: sha512-3xbWsKEKXYlmX82aOHufFQVnkbMC/v8fLpWwh6hWOUrK5fbbtBh9Q/WWse27BFgSy2/e2c0fz5Scgya9h2GLhw==} + '@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.5 - vue: 3.5.5 + vite: 5.4.10 + vue: 3.5.12 - '@vitest/coverage-v8@2.1.1': - resolution: {integrity: sha512-md/A7A3c42oTT8JUHSqjP5uKTWJejzUW4jalpvs+rZ27gsURsMU8DEb+8Jf8C6Kj2gwfSHJqobDNBuoqlm0cFw==} + '@vitest/coverage-v8@2.1.4': + resolution: {integrity: sha512-FPKQuJfR6VTfcNMcGpqInmtJuVXFSCd9HQltYncfR01AzXhLucMEtQ5SinPdZxsT5x/5BK7I5qFJ5/ApGCmyTQ==} peerDependencies: - '@vitest/browser': 2.1.1 - vitest: 2.1.1 + '@vitest/browser': 2.1.4 + vitest: 2.1.4 peerDependenciesMeta: '@vitest/browser': optional: true @@ -2610,62 +3121,61 @@ packages: '@vitest/expect@1.6.0': resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - '@vitest/expect@2.1.1': - resolution: {integrity: sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==} + '@vitest/expect@2.1.4': + resolution: {integrity: sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==} - '@vitest/mocker@2.1.1': - resolution: {integrity: sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==} + '@vitest/mocker@2.1.4': + resolution: {integrity: sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==} peerDependencies: - '@vitest/spy': 2.1.1 - msw: ^2.3.5 - vite: 5.4.5 + msw: ^2.4.9 + vite: 5.4.10 peerDependenciesMeta: msw: optional: true vite: optional: true - '@vitest/pretty-format@2.1.1': - resolution: {integrity: sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==} + '@vitest/pretty-format@2.1.4': + resolution: {integrity: sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==} '@vitest/runner@1.6.0': resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - '@vitest/runner@2.1.1': - resolution: {integrity: sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==} + '@vitest/runner@2.1.4': + resolution: {integrity: sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==} '@vitest/snapshot@1.6.0': resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - '@vitest/snapshot@2.1.1': - resolution: {integrity: sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==} + '@vitest/snapshot@2.1.4': + resolution: {integrity: sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==} '@vitest/spy@1.6.0': resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - '@vitest/spy@2.1.1': - resolution: {integrity: sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==} + '@vitest/spy@2.1.4': + resolution: {integrity: sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==} '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - '@vitest/utils@2.1.1': - resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==} + '@vitest/utils@2.1.4': + resolution: {integrity: sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==} - '@volar/language-core@2.4.4': - resolution: {integrity: sha512-kO9k4kTLfxpg+6lq7/KAIv3m2d62IHuCL6GbVgYZTpfKvIGoAIlDxK7pFcB/eczN2+ydg/vnyaeZ6SGyZrJw2w==} + '@volar/language-core@2.4.8': + resolution: {integrity: sha512-K/GxMOXGq997bO00cdFhTNuR85xPxj0BEEAy+BaqqayTmy9Tmhfgmq2wpJcVspRhcwfgPoE2/mEJa26emUhG/g==} - '@volar/source-map@2.4.4': - resolution: {integrity: sha512-xG3PZqOP2haG8XG4Pg3PD1UGDAdqZg24Ru8c/qYjYAnmcj6GBR64mstx+bZux5QOyRaJK+/lNM/RnpvBD3489g==} + '@volar/source-map@2.4.8': + resolution: {integrity: sha512-jeWJBkC/WivdelMwxKkpFL811uH/jJ1kVxa+c7OvG48DXc3VrP7pplSWPP2W1dLMqBxD+awRlg55FQQfiup4cA==} - '@volar/typescript@2.4.4': - resolution: {integrity: sha512-QQMQRVj0fVHJ3XdRKiS1LclhG0VBXdFYlyuHRQF/xLk2PuJuHNWP26MDZNvEVCvnyUQuUQhIAfylwY5TGPgc6w==} + '@volar/typescript@2.4.8': + resolution: {integrity: sha512-6xkIYJ5xxghVBhVywMoPMidDDAFT1OoQeXwa27HSgJ6AiIKRe61RXLoik+14Z7r0JvnblXVsjsRLmCr42SGzqg==} '@vue-macros/common@1.12.3': resolution: {integrity: sha512-dlSqrGdIDhqMOz92XtlMNyuHHeHe594O6f10XLtmlB0Jrq/Pl4Hj8rXAnVlRdjg+ptbZRSNL6MSgOPPoC82owg==} engines: {node: '>=16.14.0'} peerDependencies: - vue: 3.5.5 + vue: 3.5.12 peerDependenciesMeta: vue: optional: true @@ -2686,17 +3196,17 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@vue/compiler-core@3.5.5': - resolution: {integrity: sha512-ZrxcY8JMoV+kgDrmRwlDufz0SjDZ7jfoNZiIBluAACMBmgr55o/jTbxnyrccH6VSJXnFaDI4Ik1UFCiq9r8i7w==} + '@vue/compiler-core@3.5.12': + resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==} - '@vue/compiler-dom@3.5.5': - resolution: {integrity: sha512-HSvK5q1gmBbxRse3S0Wt34RcKuOyjDJKDDMuF3i7NC+QkDFrbAqw8NnrEm/z7zFDxWZa4/5eUwsBOMQzm1RHBA==} + '@vue/compiler-dom@3.5.12': + resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==} - '@vue/compiler-sfc@3.5.5': - resolution: {integrity: sha512-MzBHDxwZhgQPHrwJ5tj92gdTYRCuPDSZr8PY3+JFv8cv2UD5/WayH5yo0kKCkKfrtJhc39jNSMityHrkMSbfnA==} + '@vue/compiler-sfc@3.5.12': + resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==} - '@vue/compiler-ssr@3.5.5': - resolution: {integrity: sha512-oFasHnpv/upubjJEmqiTKQYb4qS3ziJddf4UVWuFw6ebk/QTrTUc+AUoTJdo39x9g+AOQBzhOU0ICCRuUjvkmw==} + '@vue/compiler-ssr@3.5.12': + resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -2704,56 +3214,56 @@ packages: '@vue/devtools-api@6.6.4': resolution: {integrity: sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==} - '@vue/devtools-api@7.4.5': - resolution: {integrity: sha512-PX9uXirHOY2P99kb1cP3DxWZojFW3acNMqd+l4i5nKcqY59trXTOfwDZXt2Qifu0OU1izAQb76Ur6NPVldF2KQ==} + '@vue/devtools-api@7.6.2': + resolution: {integrity: sha512-NCT0ujqlwAhoFvCsAG7G5qS8w/A/dhvFSt2BhmNxyqgpYDrf9CG1zYyWLQkE3dsZ+5lCT6ULUic2VKNaE07Vzg==} '@vue/devtools-core@7.4.4': resolution: {integrity: sha512-DLxgA3DfeADkRzhAfm3G2Rw/cWxub64SdP5b+s5dwL30+whOGj+QNhmyFpwZ8ZTrHDFRIPj0RqNzJ8IRR1pz7w==} peerDependencies: - vue: 3.5.5 + vue: 3.5.12 '@vue/devtools-kit@7.4.4': resolution: {integrity: sha512-awK/4NfsUG0nQ7qnTM37m7ZkEUMREyPh8taFCX+uQYps/MTFEum0AD05VeGDRMXwWvMmGIcWX9xp8ZiBddY0jw==} - '@vue/devtools-kit@7.4.5': - resolution: {integrity: sha512-Uuki4Z6Bc/ExvtlPkeDNGSAe4580R+HPcVABfTE9TF7BTz3Nntk7vxIRUyWblZkUEcB/x+wn2uofyt5i2LaUew==} + '@vue/devtools-kit@7.6.2': + resolution: {integrity: sha512-k61BxHRmcTtIQZFouF9QWt9nCCNtSdw12lhg8VNtHq5/XOBGD+ewiK27a40UJ8UPYoCJvi80hbvbYr5E/Zeu1g==} - '@vue/devtools-shared@7.4.5': - resolution: {integrity: sha512-2XgUOkL/7QDmyYI9J7cm+rz/qBhcGv+W5+i1fhwdQ0HQ1RowhdK66F0QBuJSz/5k12opJY8eN6m03/XZMs7imQ==} + '@vue/devtools-shared@7.6.2': + resolution: {integrity: sha512-lcjyJ7hCC0W0kNwnCGMLVTMvDLoZgjcq9BvboPgS+6jQyDul7fpzRSKTGtGhCHoxrDox7qBAKGbAl2Rcf7GE1A==} - '@vue/language-core@2.1.6': - resolution: {integrity: sha512-MW569cSky9R/ooKMh6xa2g1D0AtRKbL56k83dzus/bx//RDJk24RHWkMzbAlXjMdDNyxAaagKPRquBIxkxlCkg==} + '@vue/language-core@2.1.10': + resolution: {integrity: sha512-DAI289d0K3AB5TUG3xDp9OuQ71CnrujQwJrQnfuZDwo6eGNf0UoRlPuaVNO+Zrn65PC3j0oB2i7mNmVPggeGeQ==} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true - '@vue/reactivity@3.5.5': - resolution: {integrity: sha512-V4tTWElZQhT73PSK3Wnax9R9m4qvMX+LeKHnfylZc6SLh4Jc5/BPakp6e3zEhKWi5AN8TDzRkGnLkp8OqycYng==} + '@vue/reactivity@3.5.12': + resolution: {integrity: sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==} - '@vue/runtime-core@3.5.5': - resolution: {integrity: sha512-2/CFaRN17jgsXy4MpigWFBCAMmLkXPb4CjaHrndglwYSra7ajvkH2cat21dscuXaH91G8fXAeg5gCyxWJ+wCRA==} + '@vue/runtime-core@3.5.12': + resolution: {integrity: sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==} - '@vue/runtime-dom@3.5.5': - resolution: {integrity: sha512-0bQGgCuL+4Muz5PsCLgF4Ata9BTdhHi5VjsxtTDyI0Wy4MgoSvBGaA6bDc7W7CGgZOyirf9LNeetMYHQ05pgpw==} + '@vue/runtime-dom@3.5.12': + resolution: {integrity: sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==} - '@vue/server-renderer@3.5.5': - resolution: {integrity: sha512-XjRamLIq5f47cxgy+hiX7zUIY+4RHdPDVrPvvMDAUTdW5RJWX/S0ji/rCbm3LWTT/9Co9bvQME8ZI15ahL4/Qw==} + '@vue/server-renderer@3.5.12': + resolution: {integrity: sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==} peerDependencies: - vue: 3.5.5 + vue: 3.5.12 - '@vue/shared@3.5.5': - resolution: {integrity: sha512-0KyMXyEgnmFAs6rNUL+6eUHtUCqCaNrVd+AW3MX3LyA0Yry5SA0Km03CDKiOua1x1WWnIr+W9+S0GMFoSDWERQ==} + '@vue/shared@3.5.12': + resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==} '@vue/test-utils@2.4.6': resolution: {integrity: sha512-FMxEjOpYNYiFe0GkaHsnJPXFHxQ6m4t8vI/ElPGpMWxZKpmRvQ33OIrvRXemy6yha03RxhOlQuy+gZMC3CQSow==} - '@vueuse/core@11.0.3': - resolution: {integrity: sha512-RENlh64+SYA9XMExmmH1a3TPqeIuJBNNB/63GT35MZI+zpru3oMRUA6cEFr9HmGqEgUisurwGwnIieF6qu3aXw==} + '@vueuse/core@11.1.0': + resolution: {integrity: sha512-P6dk79QYA6sKQnghrUz/1tHi0n9mrb/iO1WTMk/ElLmTyNqgDeSZ3wcDf6fRBGzRJbeG1dxzEOvLENMjr+E3fg==} - '@vueuse/integrations@11.0.3': - resolution: {integrity: sha512-w6CDisaxs19S5Fd+NPPLFaA3GoX5gxuxrbTTBu0EYap7oH13w75L6C/+7e9mcoF9akhcR6GyYajwVMQEjdapJg==} + '@vueuse/integrations@11.1.0': + resolution: {integrity: sha512-O2ZgrAGPy0qAjpoI2YR3egNgyEqwG85fxfwmA9BshRIGjV4G6yu6CfOPpMHAOoCD+UfsIl7Vb1bXJ6ifrHYDDA==} peerDependencies: async-validator: ^4 axios: ^1 @@ -2793,16 +3303,16 @@ packages: universal-cookie: optional: true - '@vueuse/metadata@11.0.3': - resolution: {integrity: sha512-+FtbO4SD5WpsOcQTcC0hAhNlOid6QNLzqedtquTtQ+CRNBoAt9GuV07c6KNHK1wCmlq8DFPwgiLF2rXwgSHX5Q==} + '@vueuse/metadata@11.1.0': + resolution: {integrity: sha512-l9Q502TBTaPYGanl1G+hPgd3QX5s4CGnpXriVBR5fEZ/goI6fvDaVmIl3Td8oKFurOxTmbXvBPSsgrd6eu6HYg==} - '@vueuse/nuxt@11.0.3': - resolution: {integrity: sha512-1tZGM9lvFl6HqmSQNM6hsHbAzLkBitoh8RsVC8kIG/93d3Pb5dEqUdt1k+OfHyR8V2rfSOwCfJx+wlUTlY0A2g==} + '@vueuse/nuxt@11.1.0': + resolution: {integrity: sha512-ZPYigcqgPPe9vk9nBHLF8p0zshX8qvWV/ox1Y4GdV4k2flPiw7+2THNTpU2NZDBXSOXlhB2sao+paGCsvJm/Qw==} peerDependencies: nuxt: workspace:* - '@vueuse/shared@11.0.3': - resolution: {integrity: sha512-0rY2m6HS5t27n/Vp5cTDsKTlNnimCqsbh/fmT2LgE+aaU42EMfXo8+bNX91W9I7DDmxfuACXMmrd7d79JxkqWA==} + '@vueuse/shared@11.1.0': + resolution: {integrity: sha512-YUtIpY122q7osj+zsNMFAfMTubGz0sn5QzE5gPzAIiCmtt2ha3uQUY1+JPyL4gRCTsLPX82Y9brNbo/aqlA91w==} '@webassemblyjs/ast@1.12.1': resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==} @@ -2885,8 +3395,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true @@ -2922,6 +3432,9 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + alien-signals@0.2.0: + resolution: {integrity: sha512-StlonZhBBrsPPwrDjiPAiVTf/rolxffLxVPT60Qv/t88BZ81BvUVzHgGqEFvJ1ii8HXtm1+zU2Icr59tfWEcag==} + ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} @@ -3025,7 +3538,7 @@ packages: engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} @@ -3050,9 +3563,8 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - big-integer@1.6.52: - resolution: {integrity: sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==} - engines: {node: '>=0.6'} + beasties@0.1.0: + resolution: {integrity: sha512-+Ssscd2gVG24qRNC+E2g88D+xsQW4xwakWtKAiGEQ3Pw54/FGdyo9RrfxhGhEv6ilFVbB7r3Lgx+QnAxnSpECw==} big.js@5.2.2: resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} @@ -3064,16 +3576,12 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - birpc@0.2.17: - resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} + birpc@0.2.19: + resolution: {integrity: sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==} boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - bplist-parser@0.2.0: - resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} - engines: {node: '>= 5.10.0'} - brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -3084,8 +3592,8 @@ packages: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -3103,10 +3611,6 @@ packages: resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} engines: {node: '>=6'} - bundle-name@3.0.0: - resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} - engines: {node: '>=12'} - bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -3117,8 +3621,8 @@ packages: peerDependencies: esbuild: '>=0.18' - c12@2.0.0-beta.2: - resolution: {integrity: sha512-H9B34RbWju2YPSbJTvg9Lw7dSfLs48HyJMSkzOPorg3ci3ZJTy7KbZZU6r+OUgNi2Jt7U8Ri0Tm5gnLMzms8mA==} + c12@2.0.1: + resolution: {integrity: sha512-Z4JgsKXHG37C6PYUtIxCfLJZvo6FyhHJoClwwb9ftUkLpPSkuYqn6Tr+vnaN8hymm0kIbcg6Ey3kv/Q71k5w/A==} peerDependencies: magicast: ^0.3.5 peerDependenciesMeta: @@ -3140,8 +3644,8 @@ 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==} case-police@0.7.0: resolution: {integrity: sha512-ULkv4kNeSBFCFwXE1NA/x6/FqY8lRRXT10HsGX7K0LcMcA/B45SgnNY98hnQ9c05AaVhgbR5jlCO0BXMlIEuPg==} @@ -3154,8 +3658,8 @@ packages: resolution: {integrity: sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==} engines: {node: '>=4'} - chai@5.1.1: - resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + chai@5.1.2: + resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} chalk@2.4.2: @@ -3173,8 +3677,8 @@ packages: change-case@5.4.4: resolution: {integrity: sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==} - changelogen@0.5.5: - resolution: {integrity: sha512-IzgToIJ/R9NhVKmL+PW33ozYkv53bXvufDNUSH3GTKXq1iCHGgkbgbtqEWbo8tnWNnt7nPDpjL8PwSG2iS8RVw==} + changelogen@0.5.7: + resolution: {integrity: sha512-cTZXBcJMl3pudE40WENOakXkcVtrbBpbkmSkM20NdRiUqa4+VYRdXdEsgQ0BNQ6JBE2YymTNWtPKVF7UCTN5+g==} hasBin: true char-regex@1.0.2: @@ -3207,6 +3711,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -3307,14 +3815,11 @@ packages: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} - computeds@0.0.1: - resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} - 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==} @@ -3352,7 +3857,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 @@ -3361,7 +3866,7 @@ packages: resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true @@ -3378,11 +3883,8 @@ packages: create-require@1.1.1: resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - critters@0.0.24: - resolution: {integrity: sha512-Oyqew0FGM0wYUSNqR0L6AteO5MpMoUU0rhKRieXeiKs+PmRTxiJMyaunYB2KF6fQ3dzChXKCpbFOEJx3OQ1v/Q==} - - croner@8.1.1: - resolution: {integrity: sha512-1VdUuRnQP4drdFkS8NKvDR1NBgevm8TOuflcaZEKsxw42CxonjW/2vkj1AKlinJb4ZLwBcuWF9GiPr7FQc6AQA==} + croner@8.1.2: + resolution: {integrity: sha512-ypfPFcAXHuAZRCzo3vJL6ltENzniTjwe/qsLleH1V2/7SRDjgvRQyrLmumFTLmjFax4IuSxfGXEn79fozXcJog==} engines: {node: '>=18.0'} cronstrue@2.50.0: @@ -3405,7 +3907,7 @@ packages: resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} engines: {node: ^14 || ^16 || >=18} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 css-loader@7.1.2: resolution: {integrity: sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==} @@ -3455,6 +3957,10 @@ packages: resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-tree@3.0.1: + resolution: {integrity: sha512-8Fxxv+tGhORlshCdCwnNJytvlvq46sOLSYEx2ZIGurahWvMucSRnyjPA3AmrMq4VPRYbHVpWj5VkiVasrM2H4Q==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} @@ -3468,19 +3974,19 @@ packages: resolution: {integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 cssnano-utils@5.0.0: resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 cssnano@7.0.6: resolution: {integrity: sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 csso@5.0.5: resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} @@ -3512,14 +4018,6 @@ packages: debounce@1.2.1: resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -3563,18 +4061,10 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - default-browser-id@3.0.0: - resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} - engines: {node: '>=12'} - default-browser-id@5.0.0: resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} engines: {node: '>=18'} - default-browser@4.0.0: - resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} - engines: {node: '>=14.16'} - default-browser@5.2.1: resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==} engines: {node: '>=18'} @@ -3632,8 +4122,8 @@ packages: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} - devalue@5.0.0: - resolution: {integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==} + devalue@5.1.1: + resolution: {integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==} devlop@1.1.0: resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} @@ -3705,8 +4195,8 @@ 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==} emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -3724,8 +4214,8 @@ packages: emoticon@4.1.0: resolution: {integrity: sha512-VWZfnxqwNcc51hIy/sbOdEem6D+cVtpPzEEtVAFdaas30+1dgkyaOQ4sQ6Bp0tOMqWO1v+HQfYaoodOkdhK6SQ==} - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + encodeurl@2.0.0: + resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==} engines: {node: '>= 0.8'} enhanced-resolve@4.5.0: @@ -3801,6 +4291,11 @@ packages: engines: {node: '>=18'} hasBin: true + esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + engines: {node: '>=18'} + hasBin: true + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} @@ -3831,14 +4326,14 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-plugin-import-x@4.2.1: - resolution: {integrity: sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q==} + eslint-plugin-import-x@4.3.1: + resolution: {integrity: sha512-5TriWkXulDl486XnYYRgsL+VQoS/7mhN/2ci02iLCuL7gdhbiWxnsuL/NTcaKY9fpMgsMFjWZBtIGW7pb+RX0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - eslint-plugin-jsdoc@50.2.2: - resolution: {integrity: sha512-i0ZMWA199DG7sjxlzXn5AeYZxpRfMJjDPUl7lL9eJJX8TPRoIaxJU4ys/joP5faM5AXE1eqW/dslCj3uj4Nqpg==} + eslint-plugin-jsdoc@50.4.3: + resolution: {integrity: sha512-uWtwFxGRv6B8sU63HZM5dAGDhgsatb+LONwmILZJhdRALLOkCX2HFZhdL/Kw2ls8SQMAVEfK+LmnEfxInRN8HA==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -3847,8 +4342,8 @@ packages: resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==} engines: {node: '>=5.0.0'} - eslint-plugin-perfectionist@3.6.0: - resolution: {integrity: sha512-sA6ljy6dL/9cM5ruZ/pMqRVt0FQ4Z7mbQWlBYpyX9941LVfm65d2jl2k1ZbWD3ud9Wm+/NKgOvRnAatsKhMJbA==} + eslint-plugin-perfectionist@3.9.1: + resolution: {integrity: sha512-9WRzf6XaAxF4Oi5t/3TqKP5zUjERhasHmLFHin2Yw6ZAp/EP/EVA2dr3BhQrrHWCm5SzTMZf0FcjDnBkO2xFkA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: astro-eslint-parser: ^1.0.2 @@ -3872,14 +4367,14 @@ packages: peerDependencies: eslint: '>=8.44.0' - eslint-plugin-unicorn@55.0.0: - resolution: {integrity: sha512-n3AKiVpY2/uDcGrS3+QsYDkjPfaOrNrsfQxU9nt5nitd9KuvVXrfAvgCO9DYPSfap+Gqjw9EOrXIsBp5tlHZjA==} + eslint-plugin-unicorn@56.0.0: + resolution: {integrity: sha512-aXpddVz/PQMmd69uxO98PA4iidiVNvA0xOtbpUoz1WhBd4RxOQQYqN618v68drY0hmy5uU2jy1bheKEVWBjlPw==} engines: {node: '>=18.18'} peerDependencies: eslint: '>=8.56.0' - eslint-plugin-vue@9.28.0: - resolution: {integrity: sha512-ShrihdjIhOTxs+MfWun6oJWuk+g/LAhN+CiuOl/jjkG3l0F2AuK5NMTaWqyvBgkFtpYmyks6P4603mLmhNJW8g==} + eslint-plugin-vue@9.30.0: + resolution: {integrity: sha512-CyqlRgShvljFkOeYK8wN5frh/OGTvkj1S7wlr2Q2pUvwq+X5VYiLd6ZjujpgSgLnys2W8qrBLkXQ41SUYaoPIQ==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0 @@ -3892,8 +4387,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.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-typegen@0.3.2: @@ -3905,22 +4400,22 @@ 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.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.10.0: - resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==} + eslint@9.14.0: + resolution: {integrity: sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: - jiti: 2.0.0-beta.3 + jiti: 2.4.0 peerDependenciesMeta: jiti: optional: true - espree@10.1.0: - resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@9.6.1: @@ -3965,10 +4460,6 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - execa@7.2.0: resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} @@ -3977,6 +4468,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + expect-type@1.1.0: + resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} + engines: {node: '>=12.0.0'} + extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -4012,8 +4507,8 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - fdir@6.3.0: - resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} + fdir@6.4.2: + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -4069,13 +4564,13 @@ packages: resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': workspace:* - vue: 3.5.5 + vue: 3.5.12 peerDependenciesMeta: '@nuxt/kit': optional: true - focus-trap@7.5.4: - resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + focus-trap@7.6.0: + resolution: {integrity: sha512-1td0l3pMkWJLFipobUcGaf+5DTY4PLDDrcqoSaKP8ediO/CoWCCYk/fT/Y2A4e6TNB+Sh6clRJCjOPPnKoNHnQ==} for-each@0.3.3: resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} @@ -4088,7 +4583,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: @@ -4227,8 +4722,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.9.0: - resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==} + globals@15.11.0: + resolution: {integrity: sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==} engines: {node: '>=18'} globby@14.0.2: @@ -4255,8 +4750,8 @@ packages: h3-nightly@2.0.0-1718872656.6765a6e: resolution: {integrity: sha512-LQ8hHOIzk+agD1p0K7UosByKuzDAKGLTnYsP0syV/XMr9E7pWmoaDSWkGdWjtLR9O3hinNqrXU1NW0kTmhiSag==} - happy-dom@15.7.4: - resolution: {integrity: sha512-r1vadDYGMtsHAAsqhDuk4IpPvr6N8MGKy5ntBo7tSdim+pWDxus2PNqOcOt8LuDZ4t3KJHE+gCuzupcx/GKnyQ==} + happy-dom@15.9.0: + resolution: {integrity: sha512-p+6ySXcpvjVW0Xetv6e8ccT2txbDpHE0RfZOEE84tQ8ESL1nlzCjvS6fZD77DkYXE540D+2N20hhFeBN6B/CJA==} engines: {node: '>=18.0.0'} has-bigints@1.0.2: @@ -4310,14 +4805,14 @@ packages: hast-util-raw@9.0.4: resolution: {integrity: sha512-LHE65TD2YiNsHD3YuXcKPHXPLuYh/gjp12mOfU8jxSrm1f/yJpsb0F/KKljS6U9LJoP0Ux+tCe8iJ2AsPzTdgA==} - hast-util-to-html@9.0.2: - resolution: {integrity: sha512-RP5wNpj5nm1Z8cloDv4Sl4RS8jH5HYa0v93YB6Wb4poEzgMo/dAAL0KcT4974dCjcNG5pkLqTImeFHHCwwfY3g==} + hast-util-to-html@9.0.3: + resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} hast-util-to-parse5@8.0.0: resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} - hast-util-to-string@3.0.0: - resolution: {integrity: sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==} + hast-util-to-string@3.0.1: + resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} hast-util-whitespace@3.0.0: resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==} @@ -4345,15 +4840,15 @@ packages: resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} engines: {node: '>=8'} - html-validate@8.22.0: - resolution: {integrity: sha512-kKDnU04zdxQIOSZVD6BKma6gWpCMCCFwYvHWwTorBMVbSYXMW1B5kGgLwOMHzTlC3yiuaO7NvJprXk3w7Jko/Q==} + html-validate@8.24.2: + resolution: {integrity: sha512-PpZLlH3gpOSBLRBID4QovOyZ97Ka5dCIhHMPjUxQlMGqk5pc+mgG5enCXbC8ngdjG0jpkTvM8AMhnPv1EiU9Pw==} engines: {node: '>= 16.14'} hasBin: true peerDependencies: jest: ^27.1 || ^28.1.3 || ^29.0.3 jest-diff: ^27.1 || ^28.1.3 || ^29.0.3 jest-snapshot: ^27.1 || ^28.1.3 || ^29.0.3 - vitest: ^0.34 || ^1 + vitest: ^0.34.0 || ^1.0.0 || ^2.0.0 peerDependenciesMeta: jest: optional: true @@ -4371,7 +4866,7 @@ packages: resolution: {integrity: sha512-kAERyg/LuNZYmdqgCdYvugyLWNFAm8MWXpQMz1pLpetmCbFwoMxvkSoaAMlFrOC4OKTWI4KlZGT/RsNxg4ghOw==} peerDependencies: cssnano: ^7.0.0 - postcss: 8.4.45 + postcss: 8.4.47 purgecss: ^6.0.0 relateurl: ^0.2.7 srcset: 5.0.1 @@ -4399,8 +4894,8 @@ packages: htmlparser2@7.2.0: resolution: {integrity: sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==} - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + htmlparser2@9.1.0: + resolution: {integrity: sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==} http-errors@2.0.0: resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} @@ -4421,10 +4916,6 @@ packages: httpxy@0.1.5: resolution: {integrity: sha512-hqLDO+rfststuyEUTWObQK6zHEEmZ/kaIP2/zclGGZn6X8h/ESTWg+WKecQ/e5k4nPswjzZD+q2VqZIbr15CoQ==} - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - human-signals@4.3.1: resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} engines: {node: '>=14.18.0'} @@ -4441,7 +4932,7 @@ packages: resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -4450,6 +4941,10 @@ packages: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} + ignore@6.0.2: + resolution: {integrity: sha512-InwqeHHN2XpumIkMvpl/DCJVrAHgCsG5+cn1XlnLWGwtZBm8QJfSusItfrwx81CTp5agNZqpKU2J/ccC5nGT4A==} + engines: {node: '>= 4'} + image-meta@0.2.1: resolution: {integrity: sha512-K6acvFaelNxx8wc2VjbIzXKDVB0Khs0QT35U6NkGfTdCmjLNcO2945m7RFNR9/RPVFm48hq7QPzK8uGH18HCGw==} @@ -4463,8 +4958,8 @@ packages: importx@0.4.4: resolution: {integrity: sha512-Lo1pukzAREqrBnnHC+tj+lreMTAvyxtkKsMxLY8H15M/bvLl54p3YuoTI70Tz7Il0AsgSlD7Lrk/FaApRcBL7w==} - impound@0.1.0: - resolution: {integrity: sha512-F9nJgOsDc3tysjN74edE0vGPEQrU7DAje6g5nNAL5Jc9Tv4JW3mH7XMGne+EaadTniDXLeUrVR21opkNfWO1zQ==} + impound@0.2.0: + resolution: {integrity: sha512-gXgeSyp9Hf7qG2/PLKmywHXyQf2xFrw+mJGpoj9DsAB9L7/MIKn+DeEx98UryWXdmbv8wUUPdcQof6qXnZoCGg==} imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} @@ -4613,10 +5108,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'} @@ -4734,8 +5225,8 @@ packages: resolution: {integrity: sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==} hasBin: true - jiti@2.0.0-beta.3: - resolution: {integrity: sha512-pmfRbVRs/7khFrSAYnSiJ8C0D5GvzkE4Ey2pAvUcJsw1ly/p+7ut27jbJrjY79BpAJQJ4gXYFtK6d1Aub+9baQ==} + jiti@2.4.0: + resolution: {integrity: sha512-H5UpaUI+aHOqZXlYOaFP/8AzKsg+guWu+Pr3Y8i7+Y3zr1aXAvCvTAQ1RxSc6oVD8R8c7brgNtTVP91E7upH/g==} hasBin: true js-beautify@1.15.1: @@ -4772,11 +5263,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'} @@ -4809,8 +5295,8 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -4864,8 +5350,8 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - listhen@1.7.2: - resolution: {integrity: sha512-7/HamOm5YD9Wb7CFgAZkKgVPA96WwhcTQoqtm2VTZGVbVVn3IWKRBTgrU7cchA3Q8k9iCsG8Osoi9GX4JsGM9g==} + listhen@1.9.0: + resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==} hasBin: true load-tsconfig@0.2.5: @@ -4926,8 +5412,8 @@ packages: loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - loupe@3.1.1: - resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} + loupe@3.1.2: + resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==} lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -4947,8 +5433,8 @@ packages: resolution: {integrity: sha512-oN3Bcd7ZVt+0VGEs7402qR/tjgjbM7kPlH/z7ufJnzTLVBzXJITRHOJiwMmmYMgZfdoWQsfQcY+iKlxiBppnMA==} engines: {node: '>=16.14.0'} - magic-string@0.30.11: - resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} + magic-string@0.30.12: + resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} magicast@0.3.5: resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==} @@ -4971,24 +5457,24 @@ packages: markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} - markdownlint-cli@0.41.0: - resolution: {integrity: sha512-kp29tKrMKdn+xonfefjp3a/MsNzAd9c5ke0ydMEI9PR98bOjzglYN4nfMSaIs69msUf1DNkgevAIAPtK2SeX0Q==} + markdownlint-cli@0.42.0: + resolution: {integrity: sha512-AjkzhhZa3TmEGi/CE2Wpmny69x1IrzqK2gPB0k8SmNMRgnSAJfyEO5FgZdWTHtJ6Nrdv5FWt5c4C5pkG6Dk30A==} engines: {node: '>=18'} hasBin: true - markdownlint-micromark@0.1.9: - resolution: {integrity: sha512-5hVs/DzAFa8XqYosbEAEg6ok6MF2smDj89ztn9pKkCtdKHVdPQuGMH7frFfYL9mLkvfFe4pTyAMffLbjf3/EyA==} + markdownlint-micromark@0.1.10: + resolution: {integrity: sha512-no5ZfdqAdWGxftCLlySHSgddEjyW4kui4z7amQcGsSKfYC5v/ou+8mIQVyg9KQMeEZLNtz9OPDTj7nnTnoR4FQ==} engines: {node: '>=18'} - markdownlint@0.34.0: - resolution: {integrity: sha512-qwGyuyKwjkEMOJ10XN6OTKNOVYvOIi35RNvDLNxTof5s8UmyGHlCdpngRHoRGNvQVGuxO3BJ7uNSgdeX166WXw==} + markdownlint@0.35.0: + resolution: {integrity: sha512-wgp8yesWjFBL7bycA3hxwHRdsZGJhjhyP1dSxKVKrza0EPFYtn+mHtkVy6dvP1kGSjovyG5B8yNP6Frj0UFUJg==} engines: {node: '>=18'} mdast-util-find-and-replace@3.0.1: resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} - mdast-util-from-markdown@2.0.1: - resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==} + mdast-util-from-markdown@2.0.2: + resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==} mdast-util-gfm-autolink-literal@2.0.1: resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==} @@ -5014,8 +5500,8 @@ packages: mdast-util-to-hast@13.2.0: resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} - mdast-util-to-markdown@2.1.0: - resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + mdast-util-to-markdown@2.1.2: + resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} mdast-util-to-string@4.0.0: resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} @@ -5026,6 +5512,9 @@ packages: mdn-data@2.0.30: resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + mdn-data@2.12.1: + resolution: {integrity: sha512-rsfnCbOHjqrhWxwt5/wtSLzpoKTzW7OXdT5lLOIH1OTYhWu9rRJveGq0sKvDZODABH7RX+uoR+DYcpFnq4Tf6Q==} + mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} @@ -5033,8 +5522,8 @@ packages: resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} engines: {node: '>= 4.0.0'} - memfs@4.11.1: - resolution: {integrity: sha512-LZcMTBAgqUUKNXZagcZxvXXfgF1bHX7Y7nQ0QyEiNbRJgE29GhgPd8Yna1VQcLlPiHt/5RFJMWYN9Uv/VPNvjQ==} + memfs@4.14.0: + resolution: {integrity: sha512-JUeY0F/fQZgIod31Ja1eJgiSxLn7BfQlCnqhwXFBzFHEw63OdLK7VJUJ7bnzNsWgCyoUP5tEp1VRY8rDaYzqOA==} engines: {node: '>= 4.0.0'} memory-fs@0.5.0: @@ -5144,11 +5633,6 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - mime@2.5.2: resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==} engines: {node: '>=4.0.0'} @@ -5164,10 +5648,6 @@ packages: engines: {node: '>=16'} hasBin: true - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -5176,8 +5656,8 @@ packages: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - mini-css-extract-plugin@2.9.1: - resolution: {integrity: sha512-+Vyi+GCCOHnrJ2VPS+6aPoXN2k2jgUzDRhTFLjjTBn23qyXJXkjUWQgTL+mXpF5/A8ixLdCc6kWsoeOjKGejKQ==} + mini-css-extract-plugin@2.9.2: + resolution: {integrity: sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==} engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 @@ -5231,12 +5711,12 @@ packages: engines: {node: '>=10'} hasBin: true - mkdist@1.5.9: - resolution: {integrity: sha512-PdJimzhcgDxaHpk1SUabw56gT3BU15vBHUTHkeeus8Kl7jUkpgG7+z0PiS/y23XXgO8TiU/dKP3L1oG55qrP1g==} + mkdist@1.6.0: + resolution: {integrity: sha512-nD7J/mx33Lwm4Q4qoPgRBVA9JQNKgyE7fLo5vdPWVDdjz96pXglGERp/fRnGPCTB37Kykfxs5bDdXa9BWOT9nw==} 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: @@ -5246,8 +5726,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==} @@ -5257,9 +5737,6 @@ packages: resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} engines: {node: '>=10'} - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -5288,8 +5765,8 @@ packages: neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - nitro-nightly@3.0.0-beta-28665895.e727afda: - resolution: {integrity: sha512-xVaHw8KDxkp9gn9thoN7Nf0qb7iPxTZ05QeiLWU6Dongt78wUTnan0oZkugj8x1eaFePCKZS8ZyWPjWkbThfQQ==} + nitro-nightly@3.0.0-beta-28796231.359af68d: + resolution: {integrity: sha512-/wD/WAhYsH866aRDuJ+dK73HLST2s2BNHaLAoNDhkNpTgHQbr1+5gVDwTnJFUHClUEt1PIir3QLDeb2O9r59xA==} engines: {node: ^16.11.0 || >=17.0.0} hasBin: true peerDependencies: @@ -5377,8 +5854,8 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - nuxi@3.13.1: - resolution: {integrity: sha512-rhUfFCtIH8IxhfibVd26uGrC0ojUijGoU3bAhPQHrkl7mFlK+g+XeIttdsI8YAC7s/wPishrTpE9z1UssHY6eA==} + nuxi@3.15.0: + resolution: {integrity: sha512-ZVu45nuDrdb7nzKW2kLGY/N1vvFYLLbUVX6gUYw4BApKGGu4+GktTR5o48dGVgMYX9A8chaugl7TL9ZYmwC9Mg==} engines: {node: ^16.10.0 || >=18.0.0} hasBin: true @@ -5388,8 +5865,8 @@ packages: peerDependencies: '@nuxtjs/mdc': '>=0.5.0' - nypm@0.3.11: - resolution: {integrity: sha512-E5GqaAYSnbb6n1qZyik2wjPDZON43FqOJO59+3OkWrnmQtjggrMOVnsyzfjxp/tS6nlYJBA4zRA5jSM2YaadMg==} + nypm@0.3.12: + resolution: {integrity: sha512-D3pzNDWIvgA+7IORhD/IuWzEk4uXv6GsgOxiid4UU3h9oq5IqV1KtPDi63n4sZJ/xcWlr88c0QM2RgN5VbOhFA==} engines: {node: ^14.16.0 || >=16.10.0} hasBin: true @@ -5413,11 +5890,11 @@ packages: resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} engines: {node: '>= 0.4'} - ofetch@1.3.4: - resolution: {integrity: sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw==} + ofetch@1.4.1: + resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} - ohash@1.1.3: - resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} + ohash@1.1.4: + resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} @@ -5426,10 +5903,6 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -5448,10 +5921,6 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - open@9.1.0: - resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} - engines: {node: '>=14.16'} - openapi-typescript@6.7.6: resolution: {integrity: sha512-c/hfooPx+RBIOPM09GSxABOZhYPblDoyaGhqBkD/59vtpN21jEuWKDlM0KYTvqJVlSYjKs0tBcIdeXKChlSPtw==} hasBin: true @@ -5460,7 +5929,7 @@ packages: resolution: {integrity: sha512-u4iVuTGkzKG4rHFUMA/IFXTks9tYVQzkowZsScMOdzJSvIF10qSNySWHTwnN2fD+MEeWFAM8i1f3IUBlgS92eQ==} hasBin: true peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 opener@1.5.2: resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} @@ -5529,8 +5998,8 @@ packages: parse-url@8.1.0: resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} - parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} @@ -5587,8 +6056,8 @@ packages: perfect-debounce@1.0.0: resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} - picocolors@1.1.0: - resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -5606,11 +6075,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.1: - resolution: {integrity: sha512-i1iyJdLftqtt51mEk6AhYFaAJCDx0xQ/O5NU8EKaWFgMjItPVma542Nh/Aq8aLCjIJSzjaiEQGW/nyqLkGF1OQ==} + playwright-core@1.48.2: + resolution: {integrity: sha512-sjjw+qrLFlriJo64du+EK0kJgZzoQPsabGF4lBvsid+3CNIZIYLgnMj9V6JY5VhM2Peh20DJWIVpVljLLnlawA==} engines: {node: '>=18'} hasBin: true @@ -5626,43 +6095,43 @@ packages: resolution: {integrity: sha512-DT/Wwm6fCKgpYVI7ZEWuPJ4az8hiEHtCUeYjZXqU7Ou4QqYh1Df2yCQ7Ca6N7xqKPFkxN3fhf+u9KSoOCJNAjg==} engines: {node: ^18.12 || ^20.9 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-colormin@7.0.2: resolution: {integrity: sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-convert-values@7.0.4: resolution: {integrity: sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-discard-comments@7.0.3: resolution: {integrity: sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-discard-duplicates@7.0.1: resolution: {integrity: sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-discard-empty@7.0.0: resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-discard-overridden@7.0.0: resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-import-resolver@2.0.0: resolution: {integrity: sha512-y001XYgGvVwgxyxw9J1a5kqM/vtmIQGzx34g0A0Oy44MFcy/ZboZw1hu/iN3VYFjSTRzbvd7zZJJz0Kh0AGkTw==} @@ -5671,14 +6140,14 @@ packages: resolution: {integrity: sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==} engines: {node: '>=18.0.0'} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-loader@8.1.1: resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: '@rspack/core': 0.x || 1.x - postcss: 8.4.45 + postcss: 8.4.47 webpack: ^5.0.0 peerDependenciesMeta: '@rspack/core': @@ -5693,139 +6162,139 @@ packages: resolution: {integrity: sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-merge-rules@7.0.4: resolution: {integrity: sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-minify-font-values@7.0.0: resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-minify-gradients@7.0.0: resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-minify-params@7.0.2: resolution: {integrity: sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-minify-selectors@7.0.4: resolution: {integrity: sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-modules-extract-imports@3.1.0: resolution: {integrity: sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-modules-local-by-default@4.0.5: resolution: {integrity: sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-modules-scope@3.2.0: resolution: {integrity: sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-modules-values@4.0.0: resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-nested@6.2.0: resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} engines: {node: '>=12.0'} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-normalize-charset@7.0.0: resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-normalize-display-values@7.0.0: resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-normalize-positions@7.0.0: resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-normalize-repeat-style@7.0.0: resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-normalize-string@7.0.0: resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-normalize-timing-functions@7.0.0: resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-normalize-unicode@7.0.2: resolution: {integrity: sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-normalize-url@7.0.0: resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-normalize-whitespace@7.0.0: resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-ordered-values@7.0.1: resolution: {integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-reduce-initial@7.0.2: resolution: {integrity: sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-reduce-transforms@7.0.0: resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser@6.1.2: resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} @@ -5835,25 +6304,25 @@ packages: resolution: {integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==} engines: {node: ^18.12.0 || ^20.9.0 || >= 18} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-unique-selectors@7.0.3: resolution: {integrity: sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-url@10.1.3: resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} engines: {node: '>=10'} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.4.45: - resolution: {integrity: sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} engines: {node: ^10 || ^12 || >=14} posthtml-parser@0.11.0: @@ -6022,6 +6491,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.1: + resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} + engines: {node: '>= 14.16.0'} + redis-errors@1.2.0: resolution: {integrity: sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==} engines: {node: '>=4'} @@ -6065,11 +6538,11 @@ packages: rehype-slug@6.0.0: resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} - rehype-sort-attribute-values@5.0.0: - resolution: {integrity: sha512-dQdHdCIRnpiU+BkrLSqH+aM4lWJyLqGzv49KvH4gHj+JxYwNqvGhoTXckS3AJu4V9ZutwsTcawP0pC7PhwX0tQ==} + rehype-sort-attribute-values@5.0.1: + resolution: {integrity: sha512-lU3ABJO5frbUgV132YS6SL7EISf//irIm9KFMaeu5ixHfgWf6jhe+09Uf/Ef8pOYUJWKOaQJDRJGCXs6cNsdsQ==} - rehype-sort-attributes@5.0.0: - resolution: {integrity: sha512-6tJUH4xHFcdO85CZRwAcEtHNCzjZ9V9S0VZLgo1pzbN04qy8jiVCZ3oAxDmBVG3Rth5b1xFTDet5WG/UYZeJLQ==} + rehype-sort-attributes@5.0.1: + resolution: {integrity: sha512-Bxo+AKUIELcnnAZwJDt5zUDDRpt4uzhfz9d0PVGhcxYWsbFj5Cv35xuWxu5r1LeYNFNhgGqsr9Q2QiIOM/Qctg==} relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} @@ -6088,8 +6561,8 @@ packages: remark-parse@11.0.0: resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==} - remark-rehype@11.1.0: - resolution: {integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==} + remark-rehype@11.1.1: + resolution: {integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==} remark-stringify@11.0.0: resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==} @@ -6142,28 +6615,24 @@ packages: resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} engines: {node: '>=16'} peerDependencies: - rollup: 4.21.3 - typescript: 5.6.2 + rollup: 4.24.4 + typescript: 5.6.3 rollup-plugin-visualizer@5.12.0: resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==} engines: {node: '>=14'} hasBin: true peerDependencies: - rollup: 4.21.3 + rollup: 4.24.4 peerDependenciesMeta: rollup: optional: true - rollup@4.21.3: - resolution: {integrity: sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==} + rollup@4.24.4: + resolution: {integrity: sha512-vGorVWIsWfX3xbcyAS+I047kFKapHYivmkaT63Smj77XwvLSJos6M1xGqZnBPFQFBRZDOcG1QnYEIxAvTr/HjA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - run-applescript@5.0.0: - resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} - engines: {node: '>=12'} - run-applescript@7.0.0: resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==} engines: {node: '>=18'} @@ -6214,9 +6683,9 @@ packages: engines: {node: '>=10'} hasBin: true - send@0.19.0: - resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} - engines: {node: '>= 0.8.0'} + send@1.1.0: + resolution: {integrity: sha512-v67WcEouB5GxbTWL/4NeToqcZiAWEq90N888fczVArY8A79J0L4FD7vj5hm3eUMua5EpoQ59wa/oovY6TLvRUA==} + engines: {node: '>= 18'} serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -6224,8 +6693,8 @@ packages: serve-placeholder@2.0.2: resolution: {integrity: sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==} - serve-static@1.16.0: - resolution: {integrity: sha512-pDLK8zwl2eKaYrs8mrPZBJua4hMplRWJ1tIFksVC3FtBEBnl8dxgeHtsaMS8DhS9i4fLObaon6ABoc4/hQGdPA==} + serve-static@1.16.2: + resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} engines: {node: '>= 0.8.0'} set-blocking@2.0.0: @@ -6253,46 +6722,49 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - sherif-darwin-arm64@1.0.0: - resolution: {integrity: sha512-BRzDsWGjdZ6JqaDQ0HdcpapfHcnZyN24wUWpnFkljZOH78N+vB4qr+wwhmM7oyePJiO4pZWEoIBvzVT4cn1+3g==} + sherif-darwin-arm64@1.0.1: + resolution: {integrity: sha512-eDYzUO6ksjYZF6swtoJ5F4AVa4og+sqrs0H7gGw57FoiMHEe5+4tD4M2ojTbVAaeeFtRS0gMbVZFGkhSAshQMw==} cpu: [arm64] os: [darwin] - sherif-darwin-x64@1.0.0: - resolution: {integrity: sha512-forkTw6v2N2sjvDdHGL+MqSPdLc0e7Z0v9BsmSdIKv5kdCPncVn6tRv/4xfAE7q+Xqa2a2bH9EEXppGb4gR3Tw==} + sherif-darwin-x64@1.0.1: + resolution: {integrity: sha512-lnNZTck5F2eZoB1nZFwixfFQe/DXt4HuOMNCTG+Iyzq8w7kdSXUr/IIPYk2p88L+d4AtPWApmKE6mpmQaDzOVg==} cpu: [x64] os: [darwin] - sherif-linux-arm64@1.0.0: - resolution: {integrity: sha512-psjD3YupFQtphWbwptM8EnU2jRkS6cnhxdxqJhMG9/yJpGsk99JD4tEmrDq0j/+T9UXZ5g7kXvQZXzocl3J62A==} + sherif-linux-arm64@1.0.1: + resolution: {integrity: sha512-/fj3rJoSb26FA5wRlZpauLFaFeWCe9usIQAE+e9IEaC2751IU9I0d+nE7pmGmuOwTCR1/kPOlrDGfV4ucpP/ng==} cpu: [arm64] os: [linux] - sherif-linux-x64@1.0.0: - resolution: {integrity: sha512-4VM2Z0xfKOEEkZ2bZppq4PAxP4RYC2eWyUq23Jl/nQFeoPMQpA9IkF51UGzxZT4WZ2kZDFftgyJeB09yPvd1CA==} + sherif-linux-x64@1.0.1: + resolution: {integrity: sha512-I07H4VAPM0+N8rpIgxV47vBSKViJ3F/EiaUi4DnlhySivGg/6oOacHFOfzKeNPMaMK+3usMEmU+UVm6vEvtPYA==} cpu: [x64] os: [linux] - sherif-windows-arm64@1.0.0: - resolution: {integrity: sha512-tSEzytTz3guhKLtdMCKWWru6UtmuCXD+0RsUWcqOMpzPBZZwvSr7OrTc83z8Oabmo8k6SJ5fvQeg33JSthgTqw==} + sherif-windows-arm64@1.0.1: + resolution: {integrity: sha512-UfIYXDya60VmAcYuuKe6bwnBWiJHA6lof97rG2+EN8f3LiGyEx95/3qUdUoOn7qB5pl3xaeazMGcpc1O4FpExg==} cpu: [arm64] os: [win32] - sherif-windows-x64@1.0.0: - resolution: {integrity: sha512-R/KXUHBWVPU9hSlWS+Gea/ogP1h/3q/Dm/quqGrVq+MN/F+fiRsJlU52EAjAJ6G5r/4RsvQddD1ova8MKsffdw==} + sherif-windows-x64@1.0.1: + resolution: {integrity: sha512-ep+acRpTeIhU3BB7GL1NdedD9ubhcIO1lwOJ9uf3rOrmKIlbKd55LgmVRfl/Spy96qcCGx6izdyypMhDOoWa/Q==} cpu: [x64] os: [win32] - sherif@1.0.0: - resolution: {integrity: sha512-x5gZqXmBT0G6Xnr2N63FwbMjaOikk/mPszl2bl3pnDMMyRi89w1ynAfcdIJpOyqZXW445418zkMIXAkQEfEtHw==} + sherif@1.0.1: + resolution: {integrity: sha512-1zXt6XQHT3d7L2dMhmlAoWpPhQhqvxdjrYSOoGwnbbZA8nX4jrGrUPpryOe96XBSaG/d+DJtoDujujjydXICSg==} hasBin: true - shiki@1.16.2: - resolution: {integrity: sha512-gSym0hZf5a1U0iDPsdoOAZbvoi+e0c6c3NKAi03FoSLTm7oG20tum29+gk0wzzivOasn3loxfGUPT+jZXIUbWg==} - shiki@1.17.0: resolution: {integrity: sha512-VZf8cPShRwfzPcaswv81+YP7qJEoFwRT+Ehy6bizim7M0zG9bk8Egug550C+xS9g7rKIOPhzAlp2uEyuCxbk/A==} + shiki@1.22.0: + resolution: {integrity: sha512-/t5LlhNs+UOKQCYBtl5ZsH/Vclz73GIqT2yQsCBygr8L/ppTdmpL4w3kPLoZJbMKVWtoG77Ue1feOjZfDxvMkw==} + + shiki@1.22.2: + resolution: {integrity: sha512-3IZau0NdGKXhH2bBlUk4w1IHNxPh6A5B2sUpyY+8utLu2j/h1QpFkAaUA1bAMxOWWGtTWcAh531vnS4NJKS/lA==} + side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -6307,13 +6779,17 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-git@3.26.0: - resolution: {integrity: sha512-5tbkCSzuskR6uA7uA23yjasmA0RzugVo8QM2bpsnxkrgP13eisFT7TMS4a+xKEJvbmr4qf+l0WT3eKa9IxxUyw==} + simple-git@3.27.0: + resolution: {integrity: sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==} sirv@2.0.4: resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} + sirv@3.0.0: + resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==} + engines: {node: '>=18'} + sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} @@ -6321,10 +6797,6 @@ packages: resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} engines: {node: '>=8'} - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - slash@5.1.0: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} @@ -6335,8 +6807,8 @@ packages: smob@1.5.0: resolution: {integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==} - smol-toml@1.2.2: - resolution: {integrity: sha512-fVEjX2ybKdJKzFL46VshQbj9PuA4IUKivalgp48/3zwS9vXzyykzQ6AX92UxHSvWJagziMRLeHMgEzoGO7A8hQ==} + smol-toml@1.3.0: + resolution: {integrity: sha512-tWpi2TsODPScmi48b/OQZGi2lgUmBCHy6SZrhi/FdnnHiU1GwebbCfuQuxsC3nHaLwtYeJGPrDZDIeodDOc4pA==} engines: {node: '>= 18'} source-list-map@2.0.1: @@ -6433,10 +6905,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -6456,7 +6924,7 @@ packages: resolution: {integrity: sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==} engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} peerDependencies: - postcss: 8.4.45 + postcss: 8.4.47 superjson@2.2.1: resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} @@ -6570,11 +7038,11 @@ packages: tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - tinyexec@0.3.0: - resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + tinyexec@0.3.1: + resolution: {integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==} - tinyglobby@0.2.6: - resolution: {integrity: sha512-NbBoFBpqfcgd1tCiO8Lkfdk+xrA7mlLR9zgvZcZWQQwU63XAfUePyd6wZBaU93Hqw347lHnwFzttAkemHzzz4g==} + tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} tinypool@0.8.4: @@ -6597,14 +7065,6 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} - titleize@3.0.0: - resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} - engines: {node: '>=12'} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -6639,28 +7099,36 @@ 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==} - tsx@4.19.0: - resolution: {integrity: sha512-bV30kM7bsLZKZIOCHeMNVMJ32/LuJzLVajkQI/qf92J2Qr08ueLQvW00PUZGiuLPP760UINwupgUj8qrSCPUKg==} + tsx@4.19.1: + resolution: {integrity: sha512-0flMz1lh74BR4wOvBjuh9olbnwqCPc35OOlfyzHba0Dc+QNUeWX/Gq2YTbnwcWPO3BMd8fkzRVrHcsR+a7z7rA==} engines: {node: '>=18.0.0'} hasBin: true 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==} @@ -6694,8 +7162,8 @@ packages: resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==} engines: {node: '>=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 @@ -6708,11 +7176,11 @@ packages: ultrahtml@1.5.3: resolution: {integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==} - unbuild@3.0.0-rc.7: - resolution: {integrity: sha512-LsxbMZGYC0ZwHb8sxqHzuBsMq+GS9g5ObWtnfCElpOz/yUT+raIoA6Ref53Ht4wLcjwraOxYMwVo1rHXpMpTzQ==} + unbuild@3.0.0-rc.11: + resolution: {integrity: sha512-faBmtdo73jSSoghmf7CuscmAMOr34eri9j674pQP+KKjxvwTKaRol6f2DVhKhNCfceeHdfm2BfDwRxo2L/w0fg==} hasBin: true peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true @@ -6736,11 +7204,8 @@ packages: unenv@1.10.0: resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} - unhead@1.11.1: - resolution: {integrity: sha512-2BqoGPtor6eR427J2m6+Qhxwpi+6Uea0Dok+gGn8v+LOzOxQG/fNR6m7qw+7a0uB2PlR3ImvoAvWQ/LiNevymg==} - - unhead@1.11.2: - resolution: {integrity: sha512-k/MA5yzPh5M4pksDzOXf2GBJn0XV4quWao1q173NF7NL3Ji4RQ3ZxvZcwA/nGr7wu3+twJIRoKti3Otc4JMNyw==} + unhead@1.11.11: + resolution: {integrity: sha512-98tM2R8OWJhvS6uqTewkfIrsPqFU/VwnKpU2tVZ+jPXSWgWSLmM3K2Y2v5AEM4bZjmC/XH8pLVGzbqB7xzFI/Q==} unicode-emoji-modifier-base@1.0.0: resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} @@ -6753,8 +7218,8 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unimport@3.12.0: - resolution: {integrity: sha512-5y8dSvNvyevsnw4TBQkIQR1Rjdbb+XjVSwQwxltpnVZrStBvvPkMPcZrh1kg5kY77kpx6+D4Ztd3W6FOBH/y2Q==} + unimport@3.13.1: + resolution: {integrity: sha512-nNrVzcs93yrZQOW77qnyOVHtb68LegvhYFwxFMfuuWScmwQmyVCG/NBuN8tYsaGzgQUVYv34E/af+Cc9u4og4A==} unist-builder@4.0.0: resolution: {integrity: sha512-wmRFnH+BLpZnTKpc5L7O67Kac89s9HMrtELpnNaE6TAobq5DTZZs5YaTQfAZBA9bFPECx2uVAPO31c+GVug8mg==} @@ -6778,12 +7243,24 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unocss@0.62.3: - resolution: {integrity: sha512-CLS6+JIlBobe/iPTz07pehyGDP8VqGJsiE+ZZ3Xkgib3hw76nCqAQF/4mJ8jVoV4C8KvGyVxmHaSSCFOkWmmZg==} + unocss@0.62.4: + resolution: {integrity: sha512-SaGbxXQkk8GDPeJpWsBCZ8a23Knu4ixVTt6pvcQWKjOCGTd9XBd+vLZzN2WwdwgBPVwmMmx5wp+/gPHKFNOmIw==} engines: {node: '>=14'} peerDependencies: - '@unocss/webpack': 0.62.3 - vite: 5.4.5 + '@unocss/webpack': 0.62.4 + vite: 5.4.10 + peerDependenciesMeta: + '@unocss/webpack': + optional: true + vite: + optional: true + + unocss@0.64.0: + resolution: {integrity: sha512-wiEFRjGXSogzf/4+KICXjFDgSGloSCV1Ka2Dct/8Z8U+iwRqeVpHGVQcGjBFg9Uh0DH1fSVBbis2aPuIkT0nEA==} + engines: {node: '>=14'} + peerDependencies: + '@unocss/webpack': 0.64.0 + vite: 5.4.10 peerDependenciesMeta: '@unocss/webpack': optional: true @@ -6798,8 +7275,8 @@ packages: vue-router: optional: true - unplugin@1.14.1: - resolution: {integrity: sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w==} + unplugin@1.15.0: + resolution: {integrity: sha512-jTPIs63W+DUEDW207ztbaoO7cQ4p5aVaB823LSlxpsFEU3Mykwxf3ZGC/wzxFJeZlASZYgVrWeo7LgOrqJZ8RA==} engines: {node: '>=14.0.0'} peerDependencies: webpack-sources: ^3 @@ -6807,19 +7284,19 @@ packages: webpack-sources: optional: true - unstorage@1.12.0: - resolution: {integrity: sha512-ARZYTXiC+e8z3lRM7/qY9oyaOkaozCeNd2xoz7sYK9fv7OLGhVsf+BZbmASqiK/HTZ7T6eAlnVq9JynZppyk3w==} + unstorage@1.13.1: + resolution: {integrity: sha512-ELexQHUrG05QVIM/iUeQNdl9FXDZhqLJ4yP59fnmn2jGUh0TEulwOgov1ubOb3Gt2ZGK/VMchJwPDNVEGWQpRg==} peerDependencies: '@azure/app-configuration': ^1.7.0 '@azure/cosmos': ^4.1.1 '@azure/data-tables': ^13.2.2 - '@azure/identity': ^4.4.1 - '@azure/keyvault-secrets': ^4.8.0 - '@azure/storage-blob': ^12.24.0 + '@azure/identity': ^4.5.0 + '@azure/keyvault-secrets': ^4.9.0 + '@azure/storage-blob': ^12.25.0 '@capacitor/preferences': ^6.0.2 - '@netlify/blobs': ^6.5.0 || ^7.0.0 + '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 '@planetscale/database': ^1.19.0 - '@upstash/redis': ^1.34.0 + '@upstash/redis': ^1.34.3 '@vercel/kv': ^1.0.1 idb-keyval: ^6.2.1 ioredis: ^5.4.1 @@ -6851,16 +7328,12 @@ packages: ioredis: optional: true - untildify@4.0.0: - resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} - engines: {node: '>=8'} - untun@0.1.3: resolution: {integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==} hasBin: true - untyped@1.4.2: - resolution: {integrity: sha512-nC5q0DnPEPVURPhfPQLahhSTnemVtPzdx7ofiRxXpOB2SYnb3MfdU3DVGyJdS8Lx+tBWeAePO8BfU/3EgksM7Q==} + untyped@1.5.1: + resolution: {integrity: sha512-reBOnkJBFfBZ8pCKaeHgfZLcehXtM6UTxc+vqs1JvCps0c4amLNp3fhdGBZwYp+VLyoY9n3X5KOP7lCyWBUX9A==} hasBin: true unwasm@0.3.9: @@ -6900,12 +7373,12 @@ packages: v-lazy-show@0.2.4: resolution: {integrity: sha512-Lx9Str2i+HTh+zGzs9O3YyhGAZOAAfU+6MUUPcQPPiPxQO1sHBEv9sH3MO9bPc4T09gsjsS2+sbaCWQ1MdhpJQ==} peerDependencies: - '@vue/compiler-core': ^3.3 + '@vue/compiler-core': 3.5.12 - valibot@0.41.0: - resolution: {integrity: sha512-igDBb8CTYr8YTQlOKgaN9nSS0Be7z+WRuaeYqGf3Cjz3aKmSnqEmYnkfVjzIuumGqfHpa3fLIvMEAfhrpqN8ng==} + 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 @@ -6925,15 +7398,15 @@ packages: vite-hot-client@0.2.3: resolution: {integrity: sha512-rOGAV7rUlUHX89fP2p2v0A2WWvV3QMX2UYq0fRqsWSvFvev4atHWqjwGoKaZT1VTKyLGk533ecu3eyd0o59CAg==} peerDependencies: - vite: 5.4.5 + vite: 5.4.10 vite-node@1.6.0: resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-node@2.1.1: - resolution: {integrity: sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==} + vite-node@2.1.4: + resolution: {integrity: sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -6946,8 +7419,8 @@ packages: meow: ^9.0.0 optionator: ^0.9.1 stylelint: '>=13' - typescript: 5.6.2 - vite: 5.4.5 + typescript: 5.6.3 + vite: 5.4.10 vls: '*' vti: '*' vue-tsc: ~2.1.6 @@ -6976,22 +7449,22 @@ packages: engines: {node: '>=14'} peerDependencies: '@nuxt/kit': '*' - vite: 5.4.5 + vite: 5.4.10 peerDependenciesMeta: '@nuxt/kit': optional: true - vite-plugin-vue-inspector@5.2.0: - resolution: {integrity: sha512-wWxyb9XAtaIvV/Lr7cqB1HIzmHZFVUJsTNm3yAxkS87dgh/Ky4qr2wDEWNxF23fdhVa3jQ8MZREpr4XyiuaRqA==} + vite-plugin-vue-inspector@5.1.3: + resolution: {integrity: sha512-pMrseXIDP1Gb38mOevY+BvtNGNqiqmqa2pKB99lnLsADQww9w9xMbAfT4GB6RUoaOkSPrtlXqpq2Fq+Dj2AgFg==} peerDependencies: - vite: 5.4.5 + vite: 5.4.10 - vite@5.4.5: - resolution: {integrity: sha512-pXqR0qtb2bTwLkev4SE3r4abCNioP3GkjvIDLlzziPpXtHgiJIjuKl+1GN6ESOT3wMjG3JTeARopj2SwYaHTOA==} + vite@5.4.10: + resolution: {integrity: sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 less: '*' lightningcss: ^1.21.0 sass: '*' @@ -7026,7 +7499,7 @@ packages: hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': 20.16.5 + '@types/node': 22.9.0 '@vitest/browser': 1.6.0 '@vitest/ui': 1.6.0 happy-dom: '*' @@ -7045,15 +7518,15 @@ packages: jsdom: optional: true - vitest@2.1.1: - resolution: {integrity: sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==} + vitest@2.1.4: + resolution: {integrity: sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@types/node': 20.16.5 - '@vitest/browser': 2.1.1 - '@vitest/ui': 2.1.1 + '@types/node': 22.9.0 + '@vitest/browser': 2.1.4 + '@vitest/ui': 2.1.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -7098,8 +7571,8 @@ packages: vscode-uri@3.0.8: resolution: {integrity: sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==} - vue-bundle-renderer@2.1.0: - resolution: {integrity: sha512-uZ+5ZJdZ/b43gMblWtcpikY6spJd0nERaM/1RtgioXNfWFbjKlUwrS8HlrddN6T2xtptmOouWclxLUkpgcVX3Q==} + vue-bundle-renderer@2.1.1: + resolution: {integrity: sha512-+qALLI5cQncuetYOXp4yScwYvqh8c6SMXee3B+M7oTZxOgtESP0l4j/fXdEJoZ+EdMxkGWIj+aSEyjXkOdmd7g==} vue-component-type-helpers@2.1.6: resolution: {integrity: sha512-ng11B8B/ZADUMMOsRbqv0arc442q7lifSubD0v8oDXIFoMg/mXwAPUunrroIDkY+mcD0dHKccdaznSVp8EoX3w==} @@ -7110,7 +7583,7 @@ packages: hasBin: true peerDependencies: '@vue/composition-api': ^1.0.0-rc.1 - vue: 3.5.5 + vue: 3.5.12 peerDependenciesMeta: '@vue/composition-api': optional: true @@ -7124,6 +7597,11 @@ packages: peerDependencies: eslint: '>=6.0.0' + vue-flow-layout@0.1.1: + resolution: {integrity: sha512-JdgRRUVrN0Y2GosA0M68DEbKlXMqJ7FQgsK8CjQD2vxvNSqAU6PZEpi4cfcTVtfM2GVOMjHo7GKKLbXxOBqDqA==} + peerDependencies: + vue: 3.5.12 + vue-loader@17.4.2: resolution: {integrity: sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==} peerDependencies: @@ -7139,23 +7617,23 @@ packages: vue-resize@2.0.0-alpha.1: resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: - vue: 3.5.5 + vue: 3.5.12 vue-router@4.4.5: resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==} peerDependencies: - vue: 3.5.5 + vue: 3.5.12 - vue-tsc@2.1.6: - resolution: {integrity: sha512-f98dyZp5FOukcYmbFpuSCJ4Z0vHSOSmxGttZJCsFeX0M4w/Rsq0s4uKXjcSRsZqsRgQa6z7SfuO+y0HVICE57Q==} + vue-tsc@2.1.10: + resolution: {integrity: sha512-RBNSfaaRHcN5uqVqJSZh++Gy/YUzryuv9u1aFWhsammDJXNtUiJMNoJ747lZcQ68wUQFx6E73y4FY3D8E7FGMA==} hasBin: true peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 - vue@3.5.5: - resolution: {integrity: sha512-ybC+xn67K4+df1yVeov4UjBGyVcXM0a1g7JVZr+pWVUX3xF6ntXU0wIjkTkduZBUIpxTlsftJSxz2kwhsT7dgA==} + vue@3.5.12: + resolution: {integrity: sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==} peerDependencies: - typescript: 5.6.2 + typescript: 5.6.3 peerDependenciesMeta: typescript: optional: true @@ -7201,8 +7679,8 @@ packages: webpack-virtual-modules@0.6.2: resolution: {integrity: sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==} - webpack@5.94.0: - resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} + webpack@5.96.1: + resolution: {integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -7357,7 +7835,7 @@ snapshots: '@antfu/install-pkg@0.4.1': dependencies: package-manager-detector: 0.2.0 - tinyexec: 0.3.0 + tinyexec: 0.3.1 '@antfu/utils@0.7.10': {} @@ -7367,25 +7845,25 @@ snapshots: '@types/json-schema': 7.0.15 js-yaml: 4.1.0 - '@babel/code-frame@7.24.7': + '@babel/code-frame@7.25.7': dependencies: - '@babel/highlight': 7.24.7 - picocolors: 1.1.0 + '@babel/highlight': 7.25.7 + picocolors: 1.1.1 - '@babel/compat-data@7.25.4': {} + '@babel/compat-data@7.25.7': {} - '@babel/core@7.25.2': + '@babel/core@7.25.7': 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 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/helper-compilation-targets': 7.25.7 + '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.7) + '@babel/helpers': 7.25.7 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.7 + '@babel/traverse': 7.25.7 + '@babel/types': 7.26.0 convert-source-map: 2.0.0 debug: 4.3.7(supports-color@9.4.0) gensync: 1.0.0-beta.2 @@ -7394,175 +7872,155 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/generator@7.25.6': + '@babel/generator@7.25.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 + jsesc: 3.0.2 '@babel/helper-annotate-as-pure@7.24.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 - '@babel/helper-compilation-targets@7.25.2': + '@babel/helper-compilation-targets@7.25.7': dependencies: - '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.3 + '@babel/compat-data': 7.25.7 + '@babel/helper-validator-option': 7.25.7 + browserslist: 4.24.0 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 + '@babel/traverse': 7.25.7 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color - '@babel/helper-module-imports@7.24.7': + '@babel/helper-module-imports@7.25.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color - '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': + '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.7)': 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 + '@babel/core': 7.25.7 + '@babel/helper-module-imports': 7.25.7 + '@babel/helper-simple-access': 7.25.7 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color '@babel/helper-optimise-call-expression@7.24.7': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 '@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 + '@babel/traverse': 7.25.7 transitivePeerDependencies: - supports-color - '@babel/helper-simple-access@7.24.7': + '@babel/helper-simple-access@7.25.7': dependencies: - '@babel/traverse': 7.25.6 - '@babel/types': 7.25.6 + '@babel/traverse': 7.25.7 + '@babel/types': 7.26.0 transitivePeerDependencies: - supports-color '@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.26.0 transitivePeerDependencies: - supports-color - '@babel/helper-string-parser@7.24.8': {} + '@babel/helper-string-parser@7.25.9': {} - '@babel/helper-validator-identifier@7.24.7': {} + '@babel/helper-validator-identifier@7.25.9': {} - '@babel/helper-validator-option@7.24.8': {} + '@babel/helper-validator-option@7.25.7': {} - '@babel/helpers@7.25.6': + '@babel/helpers@7.25.7': dependencies: - '@babel/template': 7.25.0 - '@babel/types': 7.25.6 + '@babel/template': 7.25.7 + '@babel/types': 7.26.0 - '@babel/highlight@7.24.7': + '@babel/highlight@7.25.7': dependencies: - '@babel/helper-validator-identifier': 7.24.7 + '@babel/helper-validator-identifier': 7.25.9 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.1.0 + picocolors: 1.1.1 - '@babel/parser@7.25.6': + '@babel/parser@7.26.2': dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 - '@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-modules-commonjs@7.24.8(@babel/core@7.25.2)': + '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.7)': dependencies: - '@babel/core': 7.25.2 - '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-simple-access': 7.24.7 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': - 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) - transitivePeerDependencies: - - supports-color - - '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': - dependencies: - '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) - '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) + '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.7) transitivePeerDependencies: - supports-color @@ -7570,31 +8028,30 @@ snapshots: dependencies: regenerator-runtime: 0.14.1 - '@babel/standalone@7.25.6': {} + '@babel/standalone@7.25.7': {} - '@babel/template@7.25.0': + '@babel/template@7.25.7': dependencies: - '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/code-frame': 7.25.7 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 - '@babel/traverse@7.25.6': + '@babel/traverse@7.25.7': 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 + '@babel/code-frame': 7.25.7 + '@babel/generator': 7.25.7 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.7 + '@babel/types': 7.26.0 debug: 4.3.7(supports-color@9.4.0) globals: 11.12.0 transitivePeerDependencies: - supports-color - '@babel/types@7.25.6': + '@babel/types@7.26.0': dependencies: - '@babel/helper-string-parser': 7.24.8 - '@babel/helper-validator-identifier': 7.24.7 - to-fast-properties: 2.0.0 + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 '@bcoe/v8-coverage@0.2.3': {} @@ -7604,7 +8061,7 @@ snapshots: '@discoveryjs/json-ext@0.5.7': {} - '@es-joy/jsdoccomment@0.48.0': + '@es-joy/jsdoccomment@0.49.0': dependencies: comment-parser: 1.4.1 esquery: 1.6.0 @@ -7619,6 +8076,9 @@ snapshots: '@esbuild/aix-ppc64@0.23.1': optional: true + '@esbuild/aix-ppc64@0.24.0': + optional: true + '@esbuild/android-arm64@0.20.2': optional: true @@ -7628,6 +8088,9 @@ snapshots: '@esbuild/android-arm64@0.23.1': optional: true + '@esbuild/android-arm64@0.24.0': + optional: true + '@esbuild/android-arm@0.20.2': optional: true @@ -7637,6 +8100,9 @@ snapshots: '@esbuild/android-arm@0.23.1': optional: true + '@esbuild/android-arm@0.24.0': + optional: true + '@esbuild/android-x64@0.20.2': optional: true @@ -7646,6 +8112,9 @@ snapshots: '@esbuild/android-x64@0.23.1': optional: true + '@esbuild/android-x64@0.24.0': + optional: true + '@esbuild/darwin-arm64@0.20.2': optional: true @@ -7655,6 +8124,9 @@ snapshots: '@esbuild/darwin-arm64@0.23.1': optional: true + '@esbuild/darwin-arm64@0.24.0': + optional: true + '@esbuild/darwin-x64@0.20.2': optional: true @@ -7664,6 +8136,9 @@ snapshots: '@esbuild/darwin-x64@0.23.1': optional: true + '@esbuild/darwin-x64@0.24.0': + optional: true + '@esbuild/freebsd-arm64@0.20.2': optional: true @@ -7673,6 +8148,9 @@ snapshots: '@esbuild/freebsd-arm64@0.23.1': optional: true + '@esbuild/freebsd-arm64@0.24.0': + optional: true + '@esbuild/freebsd-x64@0.20.2': optional: true @@ -7682,6 +8160,9 @@ snapshots: '@esbuild/freebsd-x64@0.23.1': optional: true + '@esbuild/freebsd-x64@0.24.0': + optional: true + '@esbuild/linux-arm64@0.20.2': optional: true @@ -7691,6 +8172,9 @@ snapshots: '@esbuild/linux-arm64@0.23.1': optional: true + '@esbuild/linux-arm64@0.24.0': + optional: true + '@esbuild/linux-arm@0.20.2': optional: true @@ -7700,6 +8184,9 @@ snapshots: '@esbuild/linux-arm@0.23.1': optional: true + '@esbuild/linux-arm@0.24.0': + optional: true + '@esbuild/linux-ia32@0.20.2': optional: true @@ -7709,6 +8196,9 @@ snapshots: '@esbuild/linux-ia32@0.23.1': optional: true + '@esbuild/linux-ia32@0.24.0': + optional: true + '@esbuild/linux-loong64@0.20.2': optional: true @@ -7718,6 +8208,9 @@ snapshots: '@esbuild/linux-loong64@0.23.1': optional: true + '@esbuild/linux-loong64@0.24.0': + optional: true + '@esbuild/linux-mips64el@0.20.2': optional: true @@ -7727,6 +8220,9 @@ snapshots: '@esbuild/linux-mips64el@0.23.1': optional: true + '@esbuild/linux-mips64el@0.24.0': + optional: true + '@esbuild/linux-ppc64@0.20.2': optional: true @@ -7736,6 +8232,9 @@ snapshots: '@esbuild/linux-ppc64@0.23.1': optional: true + '@esbuild/linux-ppc64@0.24.0': + optional: true + '@esbuild/linux-riscv64@0.20.2': optional: true @@ -7745,6 +8244,9 @@ snapshots: '@esbuild/linux-riscv64@0.23.1': optional: true + '@esbuild/linux-riscv64@0.24.0': + optional: true + '@esbuild/linux-s390x@0.20.2': optional: true @@ -7754,6 +8256,9 @@ snapshots: '@esbuild/linux-s390x@0.23.1': optional: true + '@esbuild/linux-s390x@0.24.0': + optional: true + '@esbuild/linux-x64@0.20.2': optional: true @@ -7763,6 +8268,9 @@ snapshots: '@esbuild/linux-x64@0.23.1': optional: true + '@esbuild/linux-x64@0.24.0': + optional: true + '@esbuild/netbsd-x64@0.20.2': optional: true @@ -7772,9 +8280,15 @@ snapshots: '@esbuild/netbsd-x64@0.23.1': optional: true + '@esbuild/netbsd-x64@0.24.0': + optional: true + '@esbuild/openbsd-arm64@0.23.1': optional: true + '@esbuild/openbsd-arm64@0.24.0': + optional: true + '@esbuild/openbsd-x64@0.20.2': optional: true @@ -7784,6 +8298,9 @@ snapshots: '@esbuild/openbsd-x64@0.23.1': optional: true + '@esbuild/openbsd-x64@0.24.0': + optional: true + '@esbuild/sunos-x64@0.20.2': optional: true @@ -7793,6 +8310,9 @@ snapshots: '@esbuild/sunos-x64@0.23.1': optional: true + '@esbuild/sunos-x64@0.24.0': + optional: true + '@esbuild/win32-arm64@0.20.2': optional: true @@ -7802,6 +8322,9 @@ snapshots: '@esbuild/win32-arm64@0.23.1': optional: true + '@esbuild/win32-arm64@0.24.0': + optional: true + '@esbuild/win32-ia32@0.20.2': optional: true @@ -7811,6 +8334,9 @@ snapshots: '@esbuild/win32-ia32@0.23.1': optional: true + '@esbuild/win32-ia32@0.24.0': + optional: true + '@esbuild/win32-x64@0.20.2': optional: true @@ -7820,12 +8346,15 @@ snapshots: '@esbuild/win32-x64@0.23.1': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0(jiti@2.0.0-beta.3))': + '@esbuild/win32-x64@0.24.0': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@9.14.0(jiti@2.4.0))': dependencies: - eslint: 9.10.0(jiti@2.0.0-beta.3) + eslint: 9.14.0(jiti@2.4.0) eslint-visitor-keys: 3.4.3 - '@eslint-community/regexpp@4.11.0': {} + '@eslint-community/regexpp@4.12.1': {} '@eslint/compat@1.1.1': {} @@ -7837,11 +8366,13 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/core@0.7.0': {} + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.7(supports-color@9.4.0) - espree: 10.1.0 + espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 @@ -7851,11 +8382,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.10.0': {} + '@eslint/js@9.14.0': {} '@eslint/object-schema@2.1.4': {} - '@eslint/plugin-kit@0.1.0': + '@eslint/plugin-kit@0.2.0': dependencies: levn: 0.4.1 @@ -7875,9 +8406,18 @@ snapshots: dependencies: kleur: 4.1.5 + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/retry@0.3.0': {} + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.0': {} '@iconify-json/carbon@1.2.1': dependencies: @@ -7891,13 +8431,13 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify-json/tabler@1.2.2': + '@iconify-json/tabler@1.2.3': dependencies: '@iconify/types': 2.0.0 '@iconify/types@2.0.0': {} - '@iconify/utils@2.1.32': + '@iconify/utils@2.1.33': dependencies: '@antfu/install-pkg': 0.4.1 '@antfu/utils': 0.7.10 @@ -7905,7 +8445,7 @@ snapshots: debug: 4.3.7(supports-color@9.4.0) kolorist: 1.8.0 local-pkg: 0.5.0 - mlly: 1.7.1 + mlly: 1.7.2 transitivePeerDependencies: - supports-color @@ -7931,7 +8471,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.16.5 + '@types/node': 22.9.0 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -7998,13 +8538,29 @@ snapshots: - encoding - supports-color - '@netlify/functions@2.8.1': + '@module-federation/runtime-tools@0.5.1': dependencies: - '@netlify/serverless-functions-api': 1.19.1 + '@module-federation/runtime': 0.5.1 + '@module-federation/webpack-bundler-runtime': 0.5.1 + + '@module-federation/runtime@0.5.1': + dependencies: + '@module-federation/sdk': 0.5.1 + + '@module-federation/sdk@0.5.1': {} + + '@module-federation/webpack-bundler-runtime@0.5.1': + dependencies: + '@module-federation/runtime': 0.5.1 + '@module-federation/sdk': 0.5.1 + + '@netlify/functions@2.8.2': + dependencies: + '@netlify/serverless-functions-api': 1.26.1 '@netlify/node-cookies@0.1.0': {} - '@netlify/serverless-functions-api@1.19.1': + '@netlify/serverless-functions-api@1.26.1': dependencies: '@netlify/node-cookies': 0.1.0 urlpattern-polyfill: 8.0.2 @@ -8023,36 +8579,43 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.4.2(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))': + '@nuxt/devtools-kit@1.5.1(vite@5.4.10(@types/node@22.9.0)(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.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) - '@nuxt/devtools-ui-kit@1.4.2(@nuxt/devtools@1.4.2(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.5)(change-case@5.4.4)(nuxt@packages+nuxt)(postcss@8.4.45)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack@5.94.0(esbuild@0.23.1))': + '@nuxt/devtools-kit@1.6.0(vite@5.4.10(@types/node@22.9.0)(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.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + + '@nuxt/devtools-ui-kit@1.5.1(@nuxt/devtools@1.6.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0)))(@vue/compiler-core@3.5.12)(change-case@5.4.4)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack@5.96.1(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.2 - '@nuxt/devtools': 1.4.2(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3) - '@nuxt/devtools-kit': 1.4.2(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) + '@iconify-json/tabler': 1.2.3 + '@nuxt/devtools': 1.6.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3) + '@nuxt/devtools-kit': 1.5.1(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) '@nuxt/kit': link:packages/kit - '@unocss/core': 0.62.3 - '@unocss/nuxt': 0.62.3(postcss@8.4.45)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(webpack@5.94.0(esbuild@0.23.1)) - '@unocss/preset-attributify': 0.62.3 - '@unocss/preset-icons': 0.62.3 - '@unocss/preset-mini': 0.62.3 - '@unocss/reset': 0.62.3 - '@vueuse/core': 11.0.3(vue@3.5.5(typescript@5.6.2)) - '@vueuse/integrations': 11.0.3(change-case@5.4.4)(focus-trap@7.5.4)(vue@3.5.5(typescript@5.6.2)) - '@vueuse/nuxt': 11.0.3(nuxt@packages+nuxt)(vue@3.5.5(typescript@5.6.2)) + '@unocss/core': 0.62.4 + '@unocss/nuxt': 0.62.4(postcss@8.4.47)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(webpack@5.96.1(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.12(typescript@5.6.3)) + '@vueuse/integrations': 11.1.0(change-case@5.4.4)(focus-trap@7.6.0)(vue@3.5.12(typescript@5.6.3)) + '@vueuse/nuxt': 11.1.0(nuxt@packages+nuxt)(vue@3.5.12(typescript@5.6.3)) defu: 6.1.4 - focus-trap: 7.5.4 + focus-trap: 7.6.0 splitpanes: 3.1.5 - unocss: 0.62.3(@unocss/webpack@0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.45)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) - v-lazy-show: 0.2.4(@vue/compiler-core@3.5.5) + unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0)))(postcss@8.4.47)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) + v-lazy-show: 0.2.4(@vue/compiler-core@3.5.12) transitivePeerDependencies: - '@unocss/webpack' - '@vue/compiler-core' @@ -8076,7 +8639,7 @@ snapshots: - vue - webpack - '@nuxt/devtools-wizard@1.4.2': + '@nuxt/devtools-wizard@1.6.0': dependencies: consola: 3.2.3 diff: 7.0.0 @@ -8084,20 +8647,20 @@ 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.4.2(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/devtools@1.6.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)': dependencies: '@antfu/utils': 0.7.10 - '@nuxt/devtools-kit': 1.4.2(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) - '@nuxt/devtools-wizard': 1.4.2 + '@nuxt/devtools-kit': 1.6.0(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) + '@nuxt/devtools-wizard': 1.6.0 '@nuxt/kit': link:packages/kit - '@vue/devtools-core': 7.4.4(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2)) + '@vue/devtools-core': 7.4.4(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) '@vue/devtools-kit': 7.4.4 - birpc: 0.2.17 + birpc: 0.2.19 consola: 3.2.3 cronstrue: 2.50.0 destr: 2.0.3 @@ -8112,21 +8675,21 @@ snapshots: launch-editor: 2.9.1 local-pkg: 0.5.0 magicast: 0.3.5 - nypm: 0.3.11 - ohash: 1.1.3 + nypm: 0.3.12 + 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 - simple-git: 3.26.0 + simple-git: 3.27.0 sirv: 2.0.4 - tinyglobby: 0.2.6 - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) - vite-plugin-inspect: 0.8.7(@nuxt/kit@packages+kit)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) - vite-plugin-vue-inspector: 5.2.0(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) + tinyglobby: 0.2.10 + unimport: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + vite-plugin-inspect: 0.8.7(@nuxt/kit@packages+kit)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) + vite-plugin-vue-inspector: 5.1.3(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) which: 3.0.1 ws: 8.18.0 transitivePeerDependencies: @@ -8137,76 +8700,76 @@ snapshots: - vue - webpack-sources - '@nuxt/eslint-config@0.5.7(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2)': + '@nuxt/eslint-config@0.6.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: - '@eslint/js': 9.10.0 - '@nuxt/eslint-plugin': 0.5.7(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - '@stylistic/eslint-plugin': 2.8.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - '@typescript-eslint/eslint-plugin': 8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2))(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - '@typescript-eslint/parser': 8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - eslint: 9.10.0(jiti@2.0.0-beta.3) - eslint-config-flat-gitignore: 0.3.0(eslint@9.10.0(jiti@2.0.0-beta.3)) + '@eslint/js': 9.14.0 + '@nuxt/eslint-plugin': 0.6.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@stylistic/eslint-plugin': 2.9.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/eslint-plugin': 8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/parser': 8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + eslint: 9.14.0(jiti@2.4.0) + eslint-config-flat-gitignore: 0.3.0(eslint@9.14.0(jiti@2.4.0)) eslint-flat-config-utils: 0.4.0 - eslint-plugin-import-x: 4.2.1(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - eslint-plugin-jsdoc: 50.2.2(eslint@9.10.0(jiti@2.0.0-beta.3)) - eslint-plugin-regexp: 2.6.0(eslint@9.10.0(jiti@2.0.0-beta.3)) - eslint-plugin-unicorn: 55.0.0(eslint@9.10.0(jiti@2.0.0-beta.3)) - eslint-plugin-vue: 9.28.0(eslint@9.10.0(jiti@2.0.0-beta.3)) - globals: 15.9.0 + eslint-plugin-import-x: 4.3.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + eslint-plugin-jsdoc: 50.4.3(eslint@9.14.0(jiti@2.4.0)) + eslint-plugin-regexp: 2.6.0(eslint@9.14.0(jiti@2.4.0)) + eslint-plugin-unicorn: 56.0.0(eslint@9.14.0(jiti@2.4.0)) + eslint-plugin-vue: 9.30.0(eslint@9.14.0(jiti@2.4.0)) + globals: 15.11.0 local-pkg: 0.5.0 pathe: 1.1.2 - vue-eslint-parser: 9.4.3(eslint@9.10.0(jiti@2.0.0-beta.3)) + vue-eslint-parser: 9.4.3(eslint@9.14.0(jiti@2.4.0)) transitivePeerDependencies: - supports-color - typescript - '@nuxt/eslint-plugin@0.5.7(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2)': + '@nuxt/eslint-plugin@0.6.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - eslint: 9.10.0(jiti@2.0.0-beta.3) + '@typescript-eslint/types': 8.11.0 + '@typescript-eslint/utils': 8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + eslint: 9.14.0(jiti@2.4.0) transitivePeerDependencies: - supports-color - typescript - '@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.94.0)': + '@nuxt/friendly-errors-webpack-plugin@2.6.0(webpack@5.96.1)': dependencies: chalk: 2.4.2 consola: 3.2.3 error-stack-parser: 2.1.4 string-width: 4.2.3 - webpack: 5.94.0 + webpack: 5.96.1 - '@nuxt/scripts@0.8.5(@nuxt/devtools@1.4.2(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.5)(change-case@5.4.4)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.45)(rollup@4.21.3)(typescript@5.6.2)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3)(webpack@5.94.0(esbuild@0.23.1))': + '@nuxt/scripts@0.9.5(@nuxt/devtools@1.6.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0)))(@vue/compiler-core@3.5.12)(change-case@5.4.4)(ioredis@5.4.1)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)(webpack@5.96.1(esbuild@0.24.0))': dependencies: - '@nuxt/devtools-kit': 1.4.2(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) - '@nuxt/devtools-ui-kit': 1.4.2(@nuxt/devtools@1.4.2(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3))(@unocss/webpack@0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(@vue/compiler-core@3.5.5)(change-case@5.4.4)(nuxt@packages+nuxt)(postcss@8.4.45)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))(webpack@5.94.0(esbuild@0.23.1)) + '@nuxt/devtools-kit': 1.6.0(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) + '@nuxt/devtools-ui-kit': 1.5.1(@nuxt/devtools@1.6.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3))(@unocss/webpack@0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0)))(@vue/compiler-core@3.5.12)(change-case@5.4.4)(nuxt@packages+nuxt)(postcss@8.4.47)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))(webpack@5.96.1(esbuild@0.24.0)) '@nuxt/kit': link:packages/kit - '@types/google.maps': 3.58.0 - '@types/stripe-v3': 3.1.33 + '@stripe/stripe-js': 4.8.0 + '@types/google.maps': 3.58.1 '@types/vimeo__player': 2.18.3 '@types/youtube': 0.1.0 - '@unhead/vue': 1.11.1(vue@3.5.5(typescript@5.6.2)) - '@vueuse/core': 11.0.3(vue@3.5.5(typescript@5.6.2)) + '@unhead/vue': 1.11.11(vue@3.5.12(typescript@5.6.3)) + '@vueuse/core': 11.1.0(vue@3.5.12(typescript@5.6.3)) consola: 3.2.3 defu: 6.1.4 h3: h3-nightly@2.0.0-1718872656.6765a6e - magic-string: 0.30.11 - mlly: 1.7.1 - ofetch: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) - ohash: 1.1.3 + magic-string: 0.30.12 + 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.16.2 - sirv: 2.0.4 + shiki: 1.22.0 + sirv: 3.0.0 std-env: 3.7.0 third-party-capital: 2.3.0 ufo: 1.5.4 - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) - unplugin: 1.14.1(webpack-sources@3.2.3) - unstorage: 1.12.0(ioredis@5.4.1) - valibot: 0.41.0(typescript@5.6.2) + unimport: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3) + unplugin: 1.15.0(webpack-sources@3.2.3) + unstorage: 1.13.1(ioredis@5.4.1) + valibot: 0.42.1(typescript@5.6.3) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -8257,21 +8820,21 @@ snapshots: dotenv: 16.4.5 git-url-parse: 15.0.0 is-docker: 3.0.0 - jiti: 2.0.0-beta.3 + jiti: 2.4.0 mri: 1.2.0 nanoid: 5.0.7 - ofetch: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) + 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.5)(vue@3.5.5(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(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.1)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3)': + '@nuxt/test-utils@3.14.4(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(happy-dom@15.9.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.2)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3)': dependencies: '@nuxt/kit': link:packages/kit '@nuxt/schema': link:packages/schema - c12: 2.0.0-beta.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 @@ -8280,29 +8843,29 @@ snapshots: get-port-please: 3.1.2 h3: h3-nightly@2.0.0-1718872656.6765a6e local-pkg: 0.5.0 - magic-string: 0.30.11 + magic-string: 0.30.12 nitropack: 2.9.7(magicast@0.3.5)(webpack-sources@3.2.3) node-fetch-native: 1.6.4 - ofetch: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) + ofetch: 1.4.1 pathe: 1.1.2 perfect-debounce: 1.0.0 radix3: 1.1.2 scule: 1.3.0 std-env: 3.7.0 - tinyexec: 0.3.0 + tinyexec: 0.3.1 ufo: 1.5.4 unenv: 1.10.0 - unplugin: 1.14.1(webpack-sources@3.2.3) - vite: 5.4.5(@types/node@20.16.5)(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.5)(vue@3.5.5(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(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.1)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3) - vue: 3.5.5(typescript@5.6.2) - vue-router: 4.4.5(vue@3.5.5(typescript@5.6.2)) + unplugin: 1.15.0(webpack-sources@3.2.3) + vite: 5.4.10(@types/node@22.9.0)(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.12)(vue@3.5.12(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(happy-dom@15.9.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.2)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3) + vue: 3.5.12(typescript@5.6.3) + vue-router: 4.4.5(vue@3.5.12(typescript@5.6.3)) optionalDependencies: - '@testing-library/vue': 8.1.0(@vue/compiler-sfc@3.5.5)(vue@3.5.5(typescript@5.6.2)) + '@testing-library/vue': 8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3)) '@vue/test-utils': 2.4.6 - happy-dom: 15.7.4 - playwright-core: 1.47.1 - vitest: 2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + happy-dom: 15.9.0 + playwright-core: 1.48.2 + vitest: 2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - magicast - webpack-sources @@ -8310,35 +8873,35 @@ snapshots: '@nuxtjs/mdc@0.8.3(webpack-sources@3.2.3)': dependencies: '@nuxt/kit': link:packages/kit - '@shikijs/transformers': 1.17.0 + '@shikijs/transformers': 1.22.2 '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - '@vue/compiler-core': 3.5.5 + '@vue/compiler-core': 3.5.12 consola: 3.2.3 debug: 4.3.7(supports-color@9.4.0) defu: 6.1.4 destr: 2.0.3 detab: 3.0.2 github-slugger: 2.0.0 - hast-util-to-string: 3.0.0 + hast-util-to-string: 3.0.1 mdast-util-to-hast: 13.2.0 micromark-util-sanitize-uri: 2.0.0 - ohash: 1.1.3 - parse5: 7.1.2 + ohash: 1.1.4 + parse5: 7.2.1 pathe: 1.1.2 property-information: 6.5.0 rehype-external-links: 3.0.0 rehype-raw: 7.0.0 rehype-slug: 6.0.0 - rehype-sort-attribute-values: 5.0.0 - rehype-sort-attributes: 5.0.0 + rehype-sort-attribute-values: 5.0.1 + rehype-sort-attributes: 5.0.1 remark-emoji: 5.0.1 remark-gfm: 4.0.0 remark-mdc: 3.2.1 remark-parse: 11.0.0 - remark-rehype: 11.1.0 + remark-rehype: 11.1.1 scule: 1.3.0 - shiki: 1.17.0 + shiki: 1.22.2 ufo: 1.5.4 unified: 11.0.5 unist-builder: 4.0.0 @@ -8350,31 +8913,34 @@ snapshots: '@one-ini/wasm@0.1.1': {} - '@parcel/watcher-android-arm64@2.4.1': + '@parcel/watcher-android-arm64@2.5.0': optional: true - '@parcel/watcher-darwin-arm64@2.4.1': + '@parcel/watcher-darwin-arm64@2.5.0': optional: true - '@parcel/watcher-darwin-x64@2.4.1': + '@parcel/watcher-darwin-x64@2.5.0': optional: true - '@parcel/watcher-freebsd-x64@2.4.1': + '@parcel/watcher-freebsd-x64@2.5.0': optional: true - '@parcel/watcher-linux-arm-glibc@2.4.1': + '@parcel/watcher-linux-arm-glibc@2.5.0': optional: true - '@parcel/watcher-linux-arm64-glibc@2.4.1': + '@parcel/watcher-linux-arm-musl@2.5.0': optional: true - '@parcel/watcher-linux-arm64-musl@2.4.1': + '@parcel/watcher-linux-arm64-glibc@2.5.0': optional: true - '@parcel/watcher-linux-x64-glibc@2.4.1': + '@parcel/watcher-linux-arm64-musl@2.5.0': optional: true - '@parcel/watcher-linux-x64-musl@2.4.1': + '@parcel/watcher-linux-x64-glibc@2.5.0': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.0': optional: true '@parcel/watcher-wasm@2.4.1': @@ -8382,34 +8948,35 @@ snapshots: is-glob: 4.0.3 micromatch: 4.0.8 - '@parcel/watcher-win32-arm64@2.4.1': + '@parcel/watcher-win32-arm64@2.5.0': optional: true - '@parcel/watcher-win32-ia32@2.4.1': + '@parcel/watcher-win32-ia32@2.5.0': optional: true - '@parcel/watcher-win32-x64@2.4.1': + '@parcel/watcher-win32-x64@2.5.0': optional: true - '@parcel/watcher@2.4.1': + '@parcel/watcher@2.5.0': dependencies: detect-libc: 1.0.3 is-glob: 4.0.3 micromatch: 4.0.8 node-addon-api: 7.1.1 optionalDependencies: - '@parcel/watcher-android-arm64': 2.4.1 - '@parcel/watcher-darwin-arm64': 2.4.1 - '@parcel/watcher-darwin-x64': 2.4.1 - '@parcel/watcher-freebsd-x64': 2.4.1 - '@parcel/watcher-linux-arm-glibc': 2.4.1 - '@parcel/watcher-linux-arm64-glibc': 2.4.1 - '@parcel/watcher-linux-arm64-musl': 2.4.1 - '@parcel/watcher-linux-x64-glibc': 2.4.1 - '@parcel/watcher-linux-x64-musl': 2.4.1 - '@parcel/watcher-win32-arm64': 2.4.1 - '@parcel/watcher-win32-ia32': 2.4.1 - '@parcel/watcher-win32-x64': 2.4.1 + '@parcel/watcher-android-arm64': 2.5.0 + '@parcel/watcher-darwin-arm64': 2.5.0 + '@parcel/watcher-darwin-x64': 2.5.0 + '@parcel/watcher-freebsd-x64': 2.5.0 + '@parcel/watcher-linux-arm-glibc': 2.5.0 + '@parcel/watcher-linux-arm-musl': 2.5.0 + '@parcel/watcher-linux-arm64-glibc': 2.5.0 + '@parcel/watcher-linux-arm64-musl': 2.5.0 + '@parcel/watcher-linux-x64-glibc': 2.5.0 + '@parcel/watcher-linux-x64-musl': 2.5.0 + '@parcel/watcher-win32-arm64': 2.5.0 + '@parcel/watcher-win32-ia32': 2.5.0 + '@parcel/watcher-win32-x64': 2.5.0 '@pkgjs/parseargs@0.11.0': optional: true @@ -8444,157 +9011,231 @@ snapshots: - encoding - supports-color - '@rollup/plugin-alias@5.1.0(rollup@4.21.3)': - dependencies: - slash: 4.0.0 + '@rollup/plugin-alias@5.1.1(rollup@4.24.4)': optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 - '@rollup/plugin-commonjs@25.0.8(rollup@4.21.3)': + '@rollup/plugin-commonjs@25.0.8(rollup@4.24.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.11 + magic-string: 0.30.12 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 - '@rollup/plugin-commonjs@26.0.1(rollup@4.21.3)': + '@rollup/plugin-commonjs@26.0.1(rollup@4.24.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) commondir: 1.0.1 estree-walker: 2.0.2 glob: 10.4.5 is-reference: 1.2.1 - magic-string: 0.30.11 + magic-string: 0.30.12 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 - '@rollup/plugin-inject@5.0.5(rollup@4.21.3)': + '@rollup/plugin-commonjs@28.0.0(rollup@4.24.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + commondir: 1.0.1 estree-walker: 2.0.2 - magic-string: 0.30.11 + fdir: 6.4.2(picomatch@2.3.1) + is-reference: 1.2.1 + magic-string: 0.30.12 + picomatch: 2.3.1 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 - '@rollup/plugin-json@6.1.0(rollup@4.21.3)': + '@rollup/plugin-inject@5.0.5(rollup@4.24.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + estree-walker: 2.0.2 + magic-string: 0.30.12 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.21.3)': + '@rollup/plugin-json@6.1.0(rollup@4.24.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + optionalDependencies: + rollup: 4.24.4 + + '@rollup/plugin-node-resolve@15.3.0(rollup@4.24.4)': + dependencies: + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) '@types/resolve': 1.20.2 deepmerge: 4.3.1 - is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 - '@rollup/plugin-replace@5.0.7(rollup@4.21.3)': + '@rollup/plugin-replace@5.0.7(rollup@4.24.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - magic-string: 0.30.11 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + magic-string: 0.30.12 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 - '@rollup/plugin-terser@0.4.4(rollup@4.21.3)': + '@rollup/plugin-replace@6.0.1(rollup@4.24.4)': + dependencies: + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + magic-string: 0.30.12 + optionalDependencies: + rollup: 4.24.4 + + '@rollup/plugin-terser@0.4.4(rollup@4.24.4)': dependencies: serialize-javascript: 6.0.2 smob: 1.5.0 terser: 5.32.0 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 picomatch: 2.3.1 - '@rollup/pluginutils@5.1.0(rollup@4.21.3)': + '@rollup/pluginutils@5.1.3(rollup@4.24.4)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 2.0.2 - picomatch: 2.3.1 + picomatch: 4.0.2 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 - '@rollup/rollup-android-arm-eabi@4.21.3': + '@rollup/rollup-android-arm-eabi@4.24.4': optional: true - '@rollup/rollup-android-arm64@4.21.3': + '@rollup/rollup-android-arm64@4.24.4': optional: true - '@rollup/rollup-darwin-arm64@4.21.3': + '@rollup/rollup-darwin-arm64@4.24.4': optional: true - '@rollup/rollup-darwin-x64@4.21.3': + '@rollup/rollup-darwin-x64@4.24.4': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.21.3': + '@rollup/rollup-freebsd-arm64@4.24.4': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.21.3': + '@rollup/rollup-freebsd-x64@4.24.4': optional: true - '@rollup/rollup-linux-arm64-gnu@4.21.3': + '@rollup/rollup-linux-arm-gnueabihf@4.24.4': optional: true - '@rollup/rollup-linux-arm64-musl@4.21.3': + '@rollup/rollup-linux-arm-musleabihf@4.24.4': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.21.3': + '@rollup/rollup-linux-arm64-gnu@4.24.4': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.21.3': + '@rollup/rollup-linux-arm64-musl@4.24.4': optional: true - '@rollup/rollup-linux-s390x-gnu@4.21.3': + '@rollup/rollup-linux-powerpc64le-gnu@4.24.4': optional: true - '@rollup/rollup-linux-x64-gnu@4.21.3': + '@rollup/rollup-linux-riscv64-gnu@4.24.4': optional: true - '@rollup/rollup-linux-x64-musl@4.21.3': + '@rollup/rollup-linux-s390x-gnu@4.24.4': optional: true - '@rollup/rollup-win32-arm64-msvc@4.21.3': + '@rollup/rollup-linux-x64-gnu@4.24.4': optional: true - '@rollup/rollup-win32-ia32-msvc@4.21.3': + '@rollup/rollup-linux-x64-musl@4.24.4': optional: true - '@rollup/rollup-win32-x64-msvc@4.21.3': + '@rollup/rollup-win32-arm64-msvc@4.24.4': optional: true - '@shikijs/core@1.16.2': + '@rollup/rollup-win32-ia32-msvc@4.24.4': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.24.4': + optional: true + + '@rspack/binding-darwin-arm64@1.0.14': + optional: true + + '@rspack/binding-darwin-x64@1.0.14': + optional: true + + '@rspack/binding-linux-arm64-gnu@1.0.14': + optional: true + + '@rspack/binding-linux-arm64-musl@1.0.14': + optional: true + + '@rspack/binding-linux-x64-gnu@1.0.14': + optional: true + + '@rspack/binding-linux-x64-musl@1.0.14': + optional: true + + '@rspack/binding-win32-arm64-msvc@1.0.14': + optional: true + + '@rspack/binding-win32-ia32-msvc@1.0.14': + optional: true + + '@rspack/binding-win32-x64-msvc@1.0.14': + optional: true + + '@rspack/binding@1.0.14': + optionalDependencies: + '@rspack/binding-darwin-arm64': 1.0.14 + '@rspack/binding-darwin-x64': 1.0.14 + '@rspack/binding-linux-arm64-gnu': 1.0.14 + '@rspack/binding-linux-arm64-musl': 1.0.14 + '@rspack/binding-linux-x64-gnu': 1.0.14 + '@rspack/binding-linux-x64-musl': 1.0.14 + '@rspack/binding-win32-arm64-msvc': 1.0.14 + '@rspack/binding-win32-ia32-msvc': 1.0.14 + '@rspack/binding-win32-x64-msvc': 1.0.14 + + '@rspack/core@1.0.14': dependencies: - '@shikijs/vscode-textmate': 9.2.2 - '@types/hast': 3.0.4 + '@module-federation/runtime-tools': 0.5.1 + '@rspack/binding': 1.0.14 + '@rspack/lite-tapable': 1.0.1 + caniuse-lite: 1.0.30001667 + + '@rspack/lite-tapable@1.0.1': {} '@shikijs/core@1.17.0': dependencies: '@shikijs/engine-javascript': 1.17.0 '@shikijs/engine-oniguruma': 1.17.0 '@shikijs/types': 1.17.0 - '@shikijs/vscode-textmate': 9.2.2 + '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 - hast-util-to-html: 9.0.2 + hast-util-to-html: 9.0.3 - '@shikijs/core@1.17.6': + '@shikijs/core@1.22.0': dependencies: - '@shikijs/engine-javascript': 1.17.6 - '@shikijs/engine-oniguruma': 1.17.6 - '@shikijs/types': 1.17.6 - '@shikijs/vscode-textmate': 9.2.2 + '@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.2 + hast-util-to-html: 9.0.3 + + '@shikijs/core@1.22.2': + dependencies: + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 + '@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: @@ -8602,61 +9243,78 @@ snapshots: oniguruma-to-js: 0.3.3 regex: 4.3.2 - '@shikijs/engine-javascript@1.17.6': + '@shikijs/engine-javascript@1.22.0': dependencies: - '@shikijs/types': 1.17.6 + '@shikijs/types': 1.22.0 + '@shikijs/vscode-textmate': 9.3.0 + oniguruma-to-js: 0.4.3 + + '@shikijs/engine-javascript@1.22.2': + dependencies: + '@shikijs/types': 1.22.2 + '@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/vscode-textmate': 9.3.0 - '@shikijs/engine-oniguruma@1.17.6': + '@shikijs/engine-oniguruma@1.22.0': dependencies: - '@shikijs/types': 1.17.6 - '@shikijs/vscode-textmate': 9.2.2 + '@shikijs/types': 1.22.0 + '@shikijs/vscode-textmate': 9.3.0 - '@shikijs/transformers@1.17.0': + '@shikijs/engine-oniguruma@1.22.2': dependencies: - shiki: 1.17.0 + '@shikijs/types': 1.22.2 + '@shikijs/vscode-textmate': 9.3.0 - '@shikijs/twoslash@1.17.6(typescript@5.6.2)': + '@shikijs/transformers@1.22.2': dependencies: - '@shikijs/core': 1.17.6 - '@shikijs/types': 1.17.6 - twoslash: 0.2.11(typescript@5.6.2) + shiki: 1.22.2 + + '@shikijs/twoslash@1.22.2(typescript@5.6.3)': + dependencies: + '@shikijs/core': 1.22.2 + '@shikijs/types': 1.22.2 + twoslash: 0.2.12(typescript@5.6.3) transitivePeerDependencies: - supports-color - typescript '@shikijs/types@1.17.0': dependencies: - '@shikijs/vscode-textmate': 9.2.2 + '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 - '@shikijs/types@1.17.6': + '@shikijs/types@1.22.0': dependencies: - '@shikijs/vscode-textmate': 9.2.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.2)': + '@shikijs/types@1.22.2': dependencies: - '@shikijs/twoslash': 1.17.6(typescript@5.6.2) - floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.5.5(typescript@5.6.2)) - mdast-util-from-markdown: 2.0.1 + '@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.2(typescript@5.6.3) + floating-vue: 5.2.2(@nuxt/kit@packages+kit)(vue@3.5.12(typescript@5.6.3)) + mdast-util-from-markdown: 2.0.2 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.5(typescript@5.6.2) + twoslash: 0.2.12(typescript@5.6.3) + twoslash-vue: 0.2.11(typescript@5.6.3) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - '@nuxt/kit' - supports-color - typescript - '@shikijs/vscode-textmate@9.2.2': {} + '@shikijs/vscode-textmate@9.3.0': {} '@sidvind/better-ajv-errors@3.0.1(ajv@8.17.1)': dependencies: @@ -8669,12 +9327,14 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} - '@stylistic/eslint-plugin@2.8.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2)': + '@stripe/stripe-js@4.8.0': {} + + '@stylistic/eslint-plugin@2.9.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - eslint: 9.10.0(jiti@2.0.0-beta.3) - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 + '@typescript-eslint/utils': 8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + eslint: 9.14.0(jiti@2.4.0) + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 estraverse: 5.3.0 picomatch: 4.0.2 transitivePeerDependencies: @@ -8683,7 +9343,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 @@ -8692,14 +9352,14 @@ snapshots: lz-string: 1.5.0 pretty-format: 27.5.1 - '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.5)(vue@3.5.5(typescript@5.6.2))': + '@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(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.5(typescript@5.6.2) + vue: 3.5.12(typescript@5.6.3) optionalDependencies: - '@vue/compiler-sfc': 3.5.5 + '@vue/compiler-sfc': 3.5.12 '@trysound/sax@0.2.0': {} @@ -8709,28 +9369,33 @@ snapshots: '@types/connect@3.4.38': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 + '@types/eslint-scope@3.7.7': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree': 1.0.6 + '@types/eslint@9.6.1': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 '@types/eslint__js@8.42.3': dependencies: '@types/eslint': 9.6.1 - '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} '@types/file-loader@5.0.4': dependencies: '@types/webpack': 4.41.39 - '@types/google.maps@3.58.0': {} + '@types/google.maps@3.58.1': {} '@types/hash-sum@1.0.2': {} @@ -8740,7 +9405,7 @@ snapshots: '@types/http-proxy@1.17.15': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 '@types/istanbul-lib-coverage@2.0.6': {} @@ -8768,9 +9433,9 @@ snapshots: '@types/node-sass@4.11.7': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 - '@types/node@20.16.5': + '@types/node@22.9.0': dependencies: undici-types: 6.19.8 @@ -8784,7 +9449,7 @@ snapshots: '@types/sass-loader@8.0.9': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 '@types/node-sass': 4.11.7 '@types/webpack': 4.41.39 sass: 1.78.0 @@ -8793,8 +9458,6 @@ snapshots: '@types/source-list-map@0.1.6': {} - '@types/stripe-v3@3.1.33': {} - '@types/tapable@1.0.12': {} '@types/uglify-js@3.17.5': @@ -8811,9 +9474,9 @@ snapshots: '@types/webpack-bundle-analyzer@4.7.0': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 tapable: 2.2.1 - webpack: 5.94.0 + webpack: 5.96.1 transitivePeerDependencies: - '@swc/core' - esbuild @@ -8824,7 +9487,7 @@ snapshots: dependencies: '@types/connect': 3.4.38 tapable: 2.2.1 - webpack: 5.94.0 + webpack: 5.96.1 transitivePeerDependencies: - '@swc/core' - esbuild @@ -8833,13 +9496,13 @@ snapshots: '@types/webpack-sources@3.2.3': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 '@types/source-list-map': 0.1.6 source-map: 0.7.4 '@types/webpack@4.41.39': dependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 '@types/tapable': 1.0.12 '@types/uglify-js': 3.17.5 '@types/webpack-sources': 3.2.3 @@ -8854,213 +9517,244 @@ snapshots: '@types/youtube@0.1.0': {} - '@typescript-eslint/eslint-plugin@8.5.0(@typescript-eslint/parser@8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2))(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2)': + '@typescript-eslint/eslint-plugin@8.11.0(@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: - '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - '@typescript-eslint/scope-manager': 8.5.0 - '@typescript-eslint/type-utils': 8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - '@typescript-eslint/visitor-keys': 8.5.0 - eslint: 9.10.0(jiti@2.0.0-beta.3) + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.11.0 + '@typescript-eslint/type-utils': 8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/utils': 8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.11.0 + eslint: 9.14.0(jiti@2.4.0) 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.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2)': + '@typescript-eslint/parser@8.11.0(eslint@9.14.0(jiti@2.4.0))(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/visitor-keys': 8.5.0 + '@typescript-eslint/scope-manager': 8.11.0 + '@typescript-eslint/types': 8.11.0 + '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) + '@typescript-eslint/visitor-keys': 8.11.0 debug: 4.3.7(supports-color@9.4.0) - eslint: 9.10.0(jiti@2.0.0-beta.3) + eslint: 9.14.0(jiti@2.4.0) optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.5.0': + '@typescript-eslint/scope-manager@8.11.0': dependencies: - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/types': 8.11.0 + '@typescript-eslint/visitor-keys': 8.11.0 - '@typescript-eslint/type-utils@8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2)': + '@typescript-eslint/type-utils@8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.5.0(typescript@5.6.2) - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) + '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) + '@typescript-eslint/utils': 8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) debug: 4.3.7(supports-color@9.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: - eslint - supports-color - '@typescript-eslint/types@8.5.0': {} + '@typescript-eslint/types@8.11.0': {} - '@typescript-eslint/typescript-estree@8.5.0(typescript@5.6.2)': + '@typescript-eslint/typescript-estree@8.11.0(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/visitor-keys': 8.5.0 + '@typescript-eslint/types': 8.11.0 + '@typescript-eslint/visitor-keys': 8.11.0 debug: 4.3.7(supports-color@9.4.0) 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) + 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.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2)': + '@typescript-eslint/utils@8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@2.0.0-beta.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.10.0(jiti@2.0.0-beta.3) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0)) + '@typescript-eslint/scope-manager': 8.11.0 + '@typescript-eslint/types': 8.11.0 + '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) + eslint: 9.14.0(jiti@2.4.0) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.5.0': + '@typescript-eslint/visitor-keys@8.11.0': dependencies: - '@typescript-eslint/types': 8.5.0 + '@typescript-eslint/types': 8.11.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(supports-color@9.4.0) - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - supports-color '@ungap/structured-clone@1.2.0': {} - '@unhead/dom@1.11.1': + '@unhead/dom@1.11.11': dependencies: - '@unhead/schema': 1.11.1 - '@unhead/shared': 1.11.1 + '@unhead/schema': 1.11.11 + '@unhead/shared': 1.11.11 - '@unhead/dom@1.11.2': - dependencies: - '@unhead/schema': 1.11.2 - '@unhead/shared': 1.11.2 - - '@unhead/schema@1.11.1': + '@unhead/schema@1.11.11': dependencies: hookable: 5.5.3 zhead: 2.2.4 - '@unhead/schema@1.11.2': + '@unhead/shared@1.11.11': dependencies: - hookable: 5.5.3 - zhead: 2.2.4 + '@unhead/schema': 1.11.11 - '@unhead/shared@1.11.1': + '@unhead/ssr@1.11.11': dependencies: - '@unhead/schema': 1.11.1 + '@unhead/schema': 1.11.11 + '@unhead/shared': 1.11.11 - '@unhead/shared@1.11.2': + '@unhead/vue@1.11.11(vue@3.5.12(typescript@5.6.3))': dependencies: - '@unhead/schema': 1.11.2 - - '@unhead/ssr@1.11.2': - dependencies: - '@unhead/schema': 1.11.2 - '@unhead/shared': 1.11.2 - - '@unhead/vue@1.11.1(vue@3.5.5(typescript@5.6.2))': - dependencies: - '@unhead/schema': 1.11.1 - '@unhead/shared': 1.11.1 + '@unhead/schema': 1.11.11 + '@unhead/shared': 1.11.11 defu: 6.1.4 hookable: 5.5.3 - unhead: 1.11.1 - vue: 3.5.5(typescript@5.6.2) + unhead: 1.11.11 + vue: 3.5.12(typescript@5.6.3) - '@unhead/vue@1.11.2(vue@3.5.5(typescript@5.6.2))': + '@unocss/astro@0.62.4(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))': dependencies: - '@unhead/schema': 1.11.2 - '@unhead/shared': 1.11.2 - defu: 6.1.4 - hookable: 5.5.3 - unhead: 1.11.2 - vue: 3.5.5(typescript@5.6.2) - - '@unocss/astro@0.62.3(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))': - dependencies: - '@unocss/core': 0.62.3 - '@unocss/reset': 0.62.3 - '@unocss/vite': 0.62.3(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) + '@unocss/core': 0.62.4 + '@unocss/reset': 0.62.4 + '@unocss/vite': 0.62.4(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) optionalDependencies: - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - rollup - supports-color - '@unocss/cli@0.62.3(rollup@4.21.3)': + '@unocss/astro@0.64.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))': + dependencies: + '@unocss/core': 0.64.0 + '@unocss/reset': 0.64.0 + '@unocss/vite': 0.64.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) + optionalDependencies: + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + transitivePeerDependencies: + - rollup + - supports-color + - vue + + '@unocss/cli@0.62.4(rollup@4.24.4)': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - '@unocss/config': 0.62.3 - '@unocss/core': 0.62.3 - '@unocss/preset-uno': 0.62.3 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@unocss/config': 0.62.4 + '@unocss/core': 0.62.4 + '@unocss/preset-uno': 0.62.4 cac: 6.7.14 chokidar: 3.6.0 colorette: 2.0.20 consola: 3.2.3 - magic-string: 0.30.11 + magic-string: 0.30.12 pathe: 1.1.2 perfect-debounce: 1.0.0 - tinyglobby: 0.2.6 + tinyglobby: 0.2.10 transitivePeerDependencies: - rollup - supports-color - '@unocss/config@0.62.3': + '@unocss/cli@0.64.0(rollup@4.24.4)': dependencies: - '@unocss/core': 0.62.3 + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@unocss/config': 0.64.0 + '@unocss/core': 0.64.0 + '@unocss/preset-uno': 0.64.0 + cac: 6.7.14 + chokidar: 3.6.0 + colorette: 2.0.20 + consola: 3.2.3 + magic-string: 0.30.12 + pathe: 1.1.2 + perfect-debounce: 1.0.0 + tinyglobby: 0.2.10 + transitivePeerDependencies: + - rollup + - supports-color + + '@unocss/config@0.62.4': + dependencies: + '@unocss/core': 0.62.4 unconfig: 0.5.5 transitivePeerDependencies: - supports-color - '@unocss/core@0.62.3': {} - - '@unocss/extractor-arbitrary-variants@0.62.3': + '@unocss/config@0.64.0': dependencies: - '@unocss/core': 0.62.3 + '@unocss/core': 0.64.0 + unconfig: 0.5.5 + transitivePeerDependencies: + - supports-color - '@unocss/inspector@0.62.3': + '@unocss/core@0.62.4': {} + + '@unocss/core@0.64.0': {} + + '@unocss/extractor-arbitrary-variants@0.62.4': dependencies: - '@unocss/core': 0.62.3 - '@unocss/rule-utils': 0.62.3 + '@unocss/core': 0.62.4 + + '@unocss/extractor-arbitrary-variants@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + + '@unocss/inspector@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + '@unocss/rule-utils': 0.62.4 gzip-size: 6.0.0 sirv: 2.0.4 - '@unocss/nuxt@0.62.3(postcss@8.4.45)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(webpack@5.94.0(esbuild@0.23.1))': + '@unocss/inspector@0.64.0(vue@3.5.12(typescript@5.6.3))': + dependencies: + '@unocss/core': 0.64.0 + '@unocss/rule-utils': 0.64.0 + gzip-size: 6.0.0 + sirv: 2.0.4 + vue-flow-layout: 0.1.1(vue@3.5.12(typescript@5.6.3)) + transitivePeerDependencies: + - vue + + '@unocss/nuxt@0.62.4(postcss@8.4.47)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(webpack@5.96.1(esbuild@0.24.0))': dependencies: '@nuxt/kit': link:packages/kit - '@unocss/config': 0.62.3 - '@unocss/core': 0.62.3 - '@unocss/preset-attributify': 0.62.3 - '@unocss/preset-icons': 0.62.3 - '@unocss/preset-tagify': 0.62.3 - '@unocss/preset-typography': 0.62.3 - '@unocss/preset-uno': 0.62.3 - '@unocss/preset-web-fonts': 0.62.3 - '@unocss/preset-wind': 0.62.3 - '@unocss/reset': 0.62.3 - '@unocss/vite': 0.62.3(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) - '@unocss/webpack': 0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)) - unocss: 0.62.3(@unocss/webpack@0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.45)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) + '@unocss/config': 0.62.4 + '@unocss/core': 0.62.4 + '@unocss/preset-attributify': 0.62.4 + '@unocss/preset-icons': 0.62.4 + '@unocss/preset-tagify': 0.62.4 + '@unocss/preset-typography': 0.62.4 + '@unocss/preset-uno': 0.62.4 + '@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.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) + '@unocss/webpack': 0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0)) + unocss: 0.62.4(@unocss/webpack@0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0)))(postcss@8.4.47)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) transitivePeerDependencies: - postcss - rollup @@ -9068,127 +9762,210 @@ snapshots: - vite - webpack - '@unocss/postcss@0.62.3(postcss@8.4.45)': + '@unocss/postcss@0.62.4(postcss@8.4.47)': dependencies: - '@unocss/config': 0.62.3 - '@unocss/core': 0.62.3 - '@unocss/rule-utils': 0.62.3 + '@unocss/config': 0.62.4 + '@unocss/core': 0.62.4 + '@unocss/rule-utils': 0.62.4 css-tree: 2.3.1 - magic-string: 0.30.11 - postcss: 8.4.45 - tinyglobby: 0.2.6 + postcss: 8.4.47 + tinyglobby: 0.2.10 transitivePeerDependencies: - supports-color - '@unocss/preset-attributify@0.62.3': + '@unocss/postcss@0.64.0(postcss@8.4.47)': dependencies: - '@unocss/core': 0.62.3 - - '@unocss/preset-icons@0.62.3': - dependencies: - '@iconify/utils': 2.1.32 - '@unocss/core': 0.62.3 - ofetch: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) + '@unocss/config': 0.64.0 + '@unocss/core': 0.64.0 + '@unocss/rule-utils': 0.64.0 + css-tree: 3.0.1 + postcss: 8.4.47 + tinyglobby: 0.2.10 transitivePeerDependencies: - supports-color - '@unocss/preset-mini@0.62.3': + '@unocss/preset-attributify@0.62.4': dependencies: - '@unocss/core': 0.62.3 - '@unocss/extractor-arbitrary-variants': 0.62.3 - '@unocss/rule-utils': 0.62.3 + '@unocss/core': 0.62.4 - '@unocss/preset-tagify@0.62.3': + '@unocss/preset-attributify@0.64.0': dependencies: - '@unocss/core': 0.62.3 + '@unocss/core': 0.64.0 - '@unocss/preset-typography@0.62.3': + '@unocss/preset-icons@0.62.4': dependencies: - '@unocss/core': 0.62.3 - '@unocss/preset-mini': 0.62.3 - - '@unocss/preset-uno@0.62.3': - dependencies: - '@unocss/core': 0.62.3 - '@unocss/preset-mini': 0.62.3 - '@unocss/preset-wind': 0.62.3 - '@unocss/rule-utils': 0.62.3 - - '@unocss/preset-web-fonts@0.62.3': - dependencies: - '@unocss/core': 0.62.3 - ofetch: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) - - '@unocss/preset-wind@0.62.3': - dependencies: - '@unocss/core': 0.62.3 - '@unocss/preset-mini': 0.62.3 - '@unocss/rule-utils': 0.62.3 - - '@unocss/reset@0.62.3': {} - - '@unocss/rule-utils@0.62.3': - dependencies: - '@unocss/core': 0.62.3 - magic-string: 0.30.11 - - '@unocss/scope@0.62.3': {} - - '@unocss/transformer-attributify-jsx-babel@0.62.3': - dependencies: - '@babel/core': 7.25.2 - '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) - '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) - '@unocss/core': 0.62.3 + '@iconify/utils': 2.1.33 + '@unocss/core': 0.62.4 + ofetch: 1.4.1 transitivePeerDependencies: - supports-color - '@unocss/transformer-attributify-jsx@0.62.3': + '@unocss/preset-icons@0.64.0': dependencies: - '@unocss/core': 0.62.3 + '@iconify/utils': 2.1.33 + '@unocss/core': 0.64.0 + ofetch: 1.4.1 + transitivePeerDependencies: + - supports-color - '@unocss/transformer-compile-class@0.62.3': + '@unocss/preset-mini@0.62.4': dependencies: - '@unocss/core': 0.62.3 + '@unocss/core': 0.62.4 + '@unocss/extractor-arbitrary-variants': 0.62.4 + '@unocss/rule-utils': 0.62.4 - '@unocss/transformer-directives@0.62.3': + '@unocss/preset-mini@0.64.0': dependencies: - '@unocss/core': 0.62.3 - '@unocss/rule-utils': 0.62.3 + '@unocss/core': 0.64.0 + '@unocss/extractor-arbitrary-variants': 0.64.0 + '@unocss/rule-utils': 0.64.0 + + '@unocss/preset-tagify@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + + '@unocss/preset-tagify@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + + '@unocss/preset-typography@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + '@unocss/preset-mini': 0.62.4 + + '@unocss/preset-typography@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + '@unocss/preset-mini': 0.64.0 + + '@unocss/preset-uno@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + '@unocss/preset-mini': 0.62.4 + '@unocss/preset-wind': 0.62.4 + '@unocss/rule-utils': 0.62.4 + + '@unocss/preset-uno@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + '@unocss/preset-mini': 0.64.0 + '@unocss/preset-wind': 0.64.0 + '@unocss/rule-utils': 0.64.0 + + '@unocss/preset-web-fonts@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + ofetch: 1.4.1 + + '@unocss/preset-web-fonts@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + ofetch: 1.4.1 + + '@unocss/preset-wind@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + '@unocss/preset-mini': 0.62.4 + '@unocss/rule-utils': 0.62.4 + + '@unocss/preset-wind@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + '@unocss/preset-mini': 0.64.0 + '@unocss/rule-utils': 0.64.0 + + '@unocss/reset@0.62.4': {} + + '@unocss/reset@0.64.0': {} + + '@unocss/rule-utils@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + magic-string: 0.30.12 + + '@unocss/rule-utils@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + magic-string: 0.30.12 + + '@unocss/transformer-attributify-jsx@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + + '@unocss/transformer-attributify-jsx@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + + '@unocss/transformer-compile-class@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + + '@unocss/transformer-compile-class@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + + '@unocss/transformer-directives@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + '@unocss/rule-utils': 0.62.4 css-tree: 2.3.1 - '@unocss/transformer-variant-group@0.62.3': + '@unocss/transformer-directives@0.64.0': dependencies: - '@unocss/core': 0.62.3 + '@unocss/core': 0.64.0 + '@unocss/rule-utils': 0.64.0 + css-tree: 3.0.1 - '@unocss/vite@0.62.3(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))': + '@unocss/transformer-variant-group@0.62.4': + dependencies: + '@unocss/core': 0.62.4 + + '@unocss/transformer-variant-group@0.64.0': + dependencies: + '@unocss/core': 0.64.0 + + '@unocss/vite@0.62.4(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - '@unocss/config': 0.62.3 - '@unocss/core': 0.62.3 - '@unocss/inspector': 0.62.3 - '@unocss/scope': 0.62.3 - '@unocss/transformer-directives': 0.62.3 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@unocss/config': 0.62.4 + '@unocss/core': 0.62.4 + '@unocss/inspector': 0.62.4 chokidar: 3.6.0 - magic-string: 0.30.11 - tinyglobby: 0.2.6 - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + magic-string: 0.30.12 + tinyglobby: 0.2.10 + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - rollup - supports-color - '@unocss/webpack@0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1))': + '@unocss/vite@0.64.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))': dependencies: '@ampproject/remapping': 2.3.0 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - '@unocss/config': 0.62.3 - '@unocss/core': 0.62.3 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@unocss/config': 0.64.0 + '@unocss/core': 0.64.0 + '@unocss/inspector': 0.64.0(vue@3.5.12(typescript@5.6.3)) chokidar: 3.6.0 - magic-string: 0.30.11 - tinyglobby: 0.2.6 - unplugin: 1.14.1(webpack-sources@3.2.3) - webpack: 5.94.0(esbuild@0.23.1) + magic-string: 0.30.12 + tinyglobby: 0.2.10 + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + transitivePeerDependencies: + - rollup + - supports-color + - vue + + '@unocss/webpack@0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0))': + dependencies: + '@ampproject/remapping': 2.3.0 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@unocss/config': 0.62.4 + '@unocss/core': 0.62.4 + chokidar: 3.6.0 + magic-string: 0.30.12 + tinyglobby: 0.2.10 + unplugin: 1.15.0(webpack-sources@3.2.3) + webpack: 5.96.1(esbuild@0.24.0) webpack-sources: 3.2.3 transitivePeerDependencies: - rollup @@ -9198,8 +9975,8 @@ snapshots: dependencies: '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.12.1 - acorn-import-attributes: 1.9.5(acorn@8.12.1) + acorn: 8.14.0 + acorn-import-attributes: 1.9.5(acorn@8.14.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -9216,8 +9993,8 @@ snapshots: dependencies: '@mapbox/node-pre-gyp': 1.0.11 '@rollup/pluginutils': 4.2.1 - acorn: 8.12.1 - acorn-import-attributes: 1.9.5(acorn@8.12.1) + acorn: 8.14.0 + acorn-import-attributes: 1.9.5(acorn@8.14.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 @@ -9230,22 +10007,22 @@ snapshots: - encoding - supports-color - '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))': + '@vitejs/plugin-vue-jsx@4.0.1(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(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.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) - vue: 3.5.5(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.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.1.3(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))': + '@vitejs/plugin-vue@5.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))': dependencies: - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) - vue: 3.5.5(typescript@5.6.2) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + vue: 3.5.12(typescript@5.6.3) - '@vitest/coverage-v8@2.1.1(vitest@2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))': + '@vitest/coverage-v8@2.1.4(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -9254,12 +10031,12 @@ snapshots: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.6 istanbul-reports: 3.1.7 - magic-string: 0.30.11 + magic-string: 0.30.12 magicast: 0.3.5 std-env: 3.7.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + vitest: 2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - supports-color @@ -9269,22 +10046,22 @@ snapshots: '@vitest/utils': 1.6.0 chai: 4.5.0 - '@vitest/expect@2.1.1': + '@vitest/expect@2.1.4': dependencies: - '@vitest/spy': 2.1.1 - '@vitest/utils': 2.1.1 - chai: 5.1.1 + '@vitest/spy': 2.1.4 + '@vitest/utils': 2.1.4 + chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))': + '@vitest/mocker@2.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))': dependencies: - '@vitest/spy': 2.1.1 + '@vitest/spy': 2.1.4 estree-walker: 3.0.3 - magic-string: 0.30.11 + magic-string: 0.30.12 optionalDependencies: - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) - '@vitest/pretty-format@2.1.1': + '@vitest/pretty-format@2.1.4': dependencies: tinyrainbow: 1.2.0 @@ -9294,28 +10071,28 @@ snapshots: p-limit: 5.0.0 pathe: 1.1.2 - '@vitest/runner@2.1.1': + '@vitest/runner@2.1.4': dependencies: - '@vitest/utils': 2.1.1 + '@vitest/utils': 2.1.4 pathe: 1.1.2 '@vitest/snapshot@1.6.0': dependencies: - magic-string: 0.30.11 + magic-string: 0.30.12 pathe: 1.1.2 pretty-format: 29.7.0 - '@vitest/snapshot@2.1.1': + '@vitest/snapshot@2.1.4': dependencies: - '@vitest/pretty-format': 2.1.1 - magic-string: 0.30.11 + '@vitest/pretty-format': 2.1.4 + magic-string: 0.30.12 pathe: 1.1.2 '@vitest/spy@1.6.0': dependencies: tinyspy: 2.2.1 - '@vitest/spy@2.1.1': + '@vitest/spy@2.1.4': dependencies: tinyspy: 3.0.2 @@ -9326,96 +10103,96 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@vitest/utils@2.1.1': + '@vitest/utils@2.1.4': dependencies: - '@vitest/pretty-format': 2.1.1 - loupe: 3.1.1 + '@vitest/pretty-format': 2.1.4 + loupe: 3.1.2 tinyrainbow: 1.2.0 - '@volar/language-core@2.4.4': + '@volar/language-core@2.4.8': dependencies: - '@volar/source-map': 2.4.4 + '@volar/source-map': 2.4.8 - '@volar/source-map@2.4.4': {} + '@volar/source-map@2.4.8': {} - '@volar/typescript@2.4.4': + '@volar/typescript@2.4.8': dependencies: - '@volar/language-core': 2.4.4 + '@volar/language-core': 2.4.8 path-browserify: 1.0.1 vscode-uri: 3.0.8 - '@vue-macros/common@1.12.3(rollup@4.21.3)(vue@3.5.5(typescript@5.6.2))': + '@vue-macros/common@1.12.3(rollup@4.24.4)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@babel/types': 7.25.6 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - '@vue/compiler-sfc': 3.5.5 + '@babel/types': 7.26.0 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@vue/compiler-sfc': 3.5.12 ast-kit: 1.1.0 local-pkg: 0.5.0 magic-string-ast: 0.6.2 optionalDependencies: - vue: 3.5.5(typescript@5.6.2) + vue: 3.5.12(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.26.0 '@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.5 + '@babel/parser': 7.26.2 + '@vue/compiler-sfc': 3.5.12 transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.5.5': + '@vue/compiler-core@3.5.12': dependencies: - '@babel/parser': 7.25.6 - '@vue/shared': 3.5.5 + '@babel/parser': 7.26.2 + '@vue/shared': 3.5.12 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.5': + '@vue/compiler-dom@3.5.12': dependencies: - '@vue/compiler-core': 3.5.5 - '@vue/shared': 3.5.5 + '@vue/compiler-core': 3.5.12 + '@vue/shared': 3.5.12 - '@vue/compiler-sfc@3.5.5': + '@vue/compiler-sfc@3.5.12': dependencies: - '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.5 - '@vue/compiler-dom': 3.5.5 - '@vue/compiler-ssr': 3.5.5 - '@vue/shared': 3.5.5 + '@babel/parser': 7.26.2 + '@vue/compiler-core': 3.5.12 + '@vue/compiler-dom': 3.5.12 + '@vue/compiler-ssr': 3.5.12 + '@vue/shared': 3.5.12 estree-walker: 2.0.2 - magic-string: 0.30.11 - postcss: 8.4.45 + magic-string: 0.30.12 + postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.5': + '@vue/compiler-ssr@3.5.12': dependencies: - '@vue/compiler-dom': 3.5.5 - '@vue/shared': 3.5.5 + '@vue/compiler-dom': 3.5.12 + '@vue/shared': 3.5.12 '@vue/compiler-vue2@2.7.16': dependencies: @@ -9424,127 +10201,127 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/devtools-api@7.4.5': + '@vue/devtools-api@7.6.2': dependencies: - '@vue/devtools-kit': 7.4.5 + '@vue/devtools-kit': 7.6.2 - '@vue/devtools-core@7.4.4(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vue@3.5.5(typescript@5.6.2))': + '@vue/devtools-core@7.4.4(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue/devtools-kit': 7.4.5 - '@vue/devtools-shared': 7.4.5 + '@vue/devtools-kit': 7.6.2 + '@vue/devtools-shared': 7.6.2 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) - vue: 3.5.5(typescript@5.6.2) + vite-hot-client: 0.2.3(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) + vue: 3.5.12(typescript@5.6.3) transitivePeerDependencies: - vite '@vue/devtools-kit@7.4.4': dependencies: - '@vue/devtools-shared': 7.4.5 - birpc: 0.2.17 + '@vue/devtools-shared': 7.6.2 + birpc: 0.2.19 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 superjson: 2.2.1 - '@vue/devtools-kit@7.4.5': + '@vue/devtools-kit@7.6.2': dependencies: - '@vue/devtools-shared': 7.4.5 - birpc: 0.2.17 + '@vue/devtools-shared': 7.6.2 + birpc: 0.2.19 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 superjson: 2.2.1 - '@vue/devtools-shared@7.4.5': + '@vue/devtools-shared@7.6.2': dependencies: rfdc: 1.4.1 - '@vue/language-core@2.1.6(typescript@5.6.2)': + '@vue/language-core@2.1.10(typescript@5.6.3)': dependencies: - '@volar/language-core': 2.4.4 - '@vue/compiler-dom': 3.5.5 + '@volar/language-core': 2.4.8 + '@vue/compiler-dom': 3.5.12 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.5 - computeds: 0.0.1 + '@vue/shared': 3.5.12 + alien-signals: 0.2.0 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.5': + '@vue/reactivity@3.5.12': dependencies: - '@vue/shared': 3.5.5 + '@vue/shared': 3.5.12 - '@vue/runtime-core@3.5.5': + '@vue/runtime-core@3.5.12': dependencies: - '@vue/reactivity': 3.5.5 - '@vue/shared': 3.5.5 + '@vue/reactivity': 3.5.12 + '@vue/shared': 3.5.12 - '@vue/runtime-dom@3.5.5': + '@vue/runtime-dom@3.5.12': dependencies: - '@vue/reactivity': 3.5.5 - '@vue/runtime-core': 3.5.5 - '@vue/shared': 3.5.5 + '@vue/reactivity': 3.5.12 + '@vue/runtime-core': 3.5.12 + '@vue/shared': 3.5.12 csstype: 3.1.3 - '@vue/server-renderer@3.5.5(vue@3.5.5(typescript@5.6.2))': + '@vue/server-renderer@3.5.12(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vue/compiler-ssr': 3.5.5 - '@vue/shared': 3.5.5 - vue: 3.5.5(typescript@5.6.2) + '@vue/compiler-ssr': 3.5.12 + '@vue/shared': 3.5.12 + vue: 3.5.12(typescript@5.6.3) - '@vue/shared@3.5.5': {} + '@vue/shared@3.5.12': {} '@vue/test-utils@2.4.6': dependencies: js-beautify: 1.15.1 vue-component-type-helpers: 2.1.6 - '@vueuse/core@11.0.3(vue@3.5.5(typescript@5.6.2))': + '@vueuse/core@11.1.0(vue@3.5.12(typescript@5.6.3))': dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 11.0.3 - '@vueuse/shared': 11.0.3(vue@3.5.5(typescript@5.6.2)) - vue-demi: 0.14.10(vue@3.5.5(typescript@5.6.2)) + '@vueuse/metadata': 11.1.0 + '@vueuse/shared': 11.1.0(vue@3.5.12(typescript@5.6.3)) + vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@11.0.3(change-case@5.4.4)(focus-trap@7.5.4)(vue@3.5.5(typescript@5.6.2))': + '@vueuse/integrations@11.1.0(change-case@5.4.4)(focus-trap@7.6.0)(vue@3.5.12(typescript@5.6.3))': dependencies: - '@vueuse/core': 11.0.3(vue@3.5.5(typescript@5.6.2)) - '@vueuse/shared': 11.0.3(vue@3.5.5(typescript@5.6.2)) - vue-demi: 0.14.10(vue@3.5.5(typescript@5.6.2)) + '@vueuse/core': 11.1.0(vue@3.5.12(typescript@5.6.3)) + '@vueuse/shared': 11.1.0(vue@3.5.12(typescript@5.6.3)) + vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) optionalDependencies: change-case: 5.4.4 - focus-trap: 7.5.4 + focus-trap: 7.6.0 transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/metadata@11.0.3': {} + '@vueuse/metadata@11.1.0': {} - '@vueuse/nuxt@11.0.3(nuxt@packages+nuxt)(vue@3.5.5(typescript@5.6.2))': + '@vueuse/nuxt@11.1.0(nuxt@packages+nuxt)(vue@3.5.12(typescript@5.6.3))': dependencies: '@nuxt/kit': link:packages/kit - '@vueuse/core': 11.0.3(vue@3.5.5(typescript@5.6.2)) - '@vueuse/metadata': 11.0.3 + '@vueuse/core': 11.1.0(vue@3.5.12(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.5(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/shared@11.0.3(vue@3.5.5(typescript@5.6.2))': + '@vueuse/shared@11.1.0(vue@3.5.12(typescript@5.6.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.5(typescript@5.6.2)) + vue-demi: 0.14.10(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -9637,21 +10414,21 @@ snapshots: dependencies: event-target-shim: 5.0.1 - acorn-import-attributes@1.9.5(acorn@8.12.1): + acorn-import-attributes@1.9.5(acorn@8.14.0): dependencies: - acorn: 8.12.1 + acorn: 8.14.0 - acorn-jsx@5.3.2(acorn@8.12.1): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.12.1 + acorn: 8.14.0 acorn-walk@8.3.4: dependencies: - acorn: 8.12.1 + acorn: 8.14.0 acorn@7.4.1: {} - acorn@8.12.1: {} + acorn@8.14.0: {} agent-base@6.0.2: dependencies: @@ -9692,6 +10469,8 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + alien-signals@0.2.0: {} + ansi-colors@4.1.3: {} ansi-escapes@4.3.2: @@ -9771,26 +10550,26 @@ snapshots: ast-kit@1.1.0: dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.2 pathe: 1.1.2 ast-walker-scope@0.6.2: dependencies: - '@babel/parser': 7.25.6 + '@babel/parser': 7.26.2 ast-kit: 1.1.0 async-sema@3.1.1: {} async@3.2.6: {} - autoprefixer@10.4.20(postcss@8.4.45): + 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 - postcss: 8.4.45 + picocolors: 1.1.1 + postcss: 8.4.47 postcss-value-parser: 4.2.0 available-typed-arrays@1.0.7: @@ -9801,7 +10580,7 @@ snapshots: babel-walk@3.0.0-canary-5: dependencies: - '@babel/types': 7.25.6 + '@babel/types': 7.26.0 bail@2.0.2: {} @@ -9812,7 +10591,16 @@ snapshots: base64-js@1.5.1: {} - big-integer@1.6.52: {} + beasties@0.1.0: + dependencies: + css-select: 5.1.0 + css-what: 6.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + htmlparser2: 9.1.0 + picocolors: 1.1.1 + postcss: 8.4.47 + postcss-media-query-parser: 0.2.3 big.js@5.2.2: {} @@ -9822,14 +10610,10 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 - birpc@0.2.17: {} + birpc@0.2.19: {} boolbase@1.0.0: {} - bplist-parser@0.2.0: - dependencies: - big-integer: 1.6.52 - brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 @@ -9843,12 +10627,12 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist@4.23.3: + browserslist@4.24.0: dependencies: - caniuse-lite: 1.0.30001660 - electron-to-chromium: 1.5.19 + caniuse-lite: 1.0.30001667 + electron-to-chromium: 1.5.32 node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) + update-browserslist-db: 1.1.0(browserslist@4.24.0) buffer-crc32@1.0.0: {} @@ -9861,10 +10645,6 @@ snapshots: builtin-modules@3.3.0: {} - bundle-name@3.0.0: - dependencies: - run-applescript: 5.0.0 - bundle-name@4.1.0: dependencies: run-applescript: 7.0.0 @@ -9874,19 +10654,19 @@ snapshots: esbuild: 0.23.1 load-tsconfig: 0.2.5 - c12@2.0.0-beta.2(magicast@0.3.5): + c12@2.0.1(magicast@0.3.5): dependencies: - chokidar: 3.6.0 - confbox: 0.1.7 + chokidar: 4.0.1 + confbox: 0.1.8 defu: 6.1.4 dotenv: 16.4.5 giget: 1.2.3 - jiti: 2.0.0-beta.3 - mlly: 1.7.1 - ohash: 1.1.3 + jiti: 2.4.0 + 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 @@ -9905,12 +10685,12 @@ 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: {} @@ -9926,12 +10706,12 @@ snapshots: pathval: 1.1.1 type-detect: 4.1.0 - chai@5.1.1: + chai@5.1.2: dependencies: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.1 + loupe: 3.1.2 pathval: 2.0.0 chalk@2.4.2: @@ -9949,19 +10729,18 @@ snapshots: change-case@5.4.4: {} - changelogen@0.5.5(magicast@0.3.5): + changelogen@0.5.7(magicast@0.3.5): dependencies: - c12: 2.0.0-beta.2(magicast@0.3.5) + c12: 2.0.1(magicast@0.3.5) colorette: 2.0.20 consola: 3.2.3 convert-gitmoji: 0.1.5 - execa: 8.0.1 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) - open: 9.1.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 @@ -10001,6 +10780,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.1: + dependencies: + readdirp: 4.0.1 + chownr@2.0.0: {} chrome-trace-event@1.0.4: {} @@ -10079,11 +10862,9 @@ snapshots: normalize-path: 3.0.0 readable-stream: 4.5.2 - computeds@0.0.1: {} - concat-map@0.0.1: {} - confbox@0.1.7: {} + confbox@0.1.8: {} config-chain@1.1.13: dependencies: @@ -10096,8 +10877,8 @@ snapshots: constantinople@4.0.1: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 convert-gitmoji@0.1.5: {} @@ -10111,27 +10892,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: {} @@ -10142,17 +10923,7 @@ snapshots: create-require@1.1.1: {} - critters@0.0.24: - dependencies: - chalk: 4.1.2 - css-select: 5.1.0 - dom-serializer: 2.0.0 - domhandler: 5.0.3 - htmlparser2: 8.0.2 - postcss: 8.4.45 - postcss-media-query-parser: 0.2.3 - - croner@8.1.1: {} + croner@8.1.2: {} cronstrue@2.50.0: {} @@ -10164,32 +10935,33 @@ snapshots: crossws@0.2.4: {} - css-declaration-sorter@7.2.0(postcss@8.4.45): + css-declaration-sorter@7.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 - css-loader@7.1.2(webpack@5.94.0): + css-loader@7.1.2(@rspack/core@1.0.14)(webpack@5.96.1): dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.45) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.45) - postcss-modules-scope: 3.2.0(postcss@8.4.45) - postcss-modules-values: 4.0.0(postcss@8.4.45) + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 + postcss-modules-extract-imports: 3.1.0(postcss@8.4.47) + postcss-modules-local-by-default: 4.0.5(postcss@8.4.47) + postcss-modules-scope: 3.2.0(postcss@8.4.47) + postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 semver: 7.6.3 optionalDependencies: - webpack: 5.94.0 + '@rspack/core': 1.0.14 + webpack: 5.96.1 - css-minimizer-webpack-plugin@7.0.0(webpack@5.94.0): + css-minimizer-webpack-plugin@7.0.0(webpack@5.96.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 - cssnano: 7.0.6(postcss@8.4.45) + cssnano: 7.0.6(postcss@8.4.47) jest-worker: 29.7.0 - postcss: 8.4.45 + postcss: 8.4.47 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.94.0 + webpack: 5.96.1 css-select@5.1.0: dependencies: @@ -10209,53 +10981,58 @@ snapshots: mdn-data: 2.0.30 source-map-js: 1.2.1 + css-tree@3.0.1: + dependencies: + mdn-data: 2.12.1 + source-map-js: 1.2.1 + css-what@6.1.0: {} cssesc@3.0.0: {} - cssnano-preset-default@7.0.6(postcss@8.4.45): + cssnano-preset-default@7.0.6(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - css-declaration-sorter: 7.2.0(postcss@8.4.45) - cssnano-utils: 5.0.0(postcss@8.4.45) - postcss: 8.4.45 - postcss-calc: 10.0.2(postcss@8.4.45) - postcss-colormin: 7.0.2(postcss@8.4.45) - postcss-convert-values: 7.0.4(postcss@8.4.45) - postcss-discard-comments: 7.0.3(postcss@8.4.45) - postcss-discard-duplicates: 7.0.1(postcss@8.4.45) - postcss-discard-empty: 7.0.0(postcss@8.4.45) - postcss-discard-overridden: 7.0.0(postcss@8.4.45) - postcss-merge-longhand: 7.0.4(postcss@8.4.45) - postcss-merge-rules: 7.0.4(postcss@8.4.45) - postcss-minify-font-values: 7.0.0(postcss@8.4.45) - postcss-minify-gradients: 7.0.0(postcss@8.4.45) - postcss-minify-params: 7.0.2(postcss@8.4.45) - postcss-minify-selectors: 7.0.4(postcss@8.4.45) - postcss-normalize-charset: 7.0.0(postcss@8.4.45) - postcss-normalize-display-values: 7.0.0(postcss@8.4.45) - postcss-normalize-positions: 7.0.0(postcss@8.4.45) - postcss-normalize-repeat-style: 7.0.0(postcss@8.4.45) - postcss-normalize-string: 7.0.0(postcss@8.4.45) - postcss-normalize-timing-functions: 7.0.0(postcss@8.4.45) - postcss-normalize-unicode: 7.0.2(postcss@8.4.45) - postcss-normalize-url: 7.0.0(postcss@8.4.45) - postcss-normalize-whitespace: 7.0.0(postcss@8.4.45) - postcss-ordered-values: 7.0.1(postcss@8.4.45) - postcss-reduce-initial: 7.0.2(postcss@8.4.45) - postcss-reduce-transforms: 7.0.0(postcss@8.4.45) - postcss-svgo: 7.0.1(postcss@8.4.45) - postcss-unique-selectors: 7.0.3(postcss@8.4.45) + 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 + postcss-calc: 10.0.2(postcss@8.4.47) + postcss-colormin: 7.0.2(postcss@8.4.47) + postcss-convert-values: 7.0.4(postcss@8.4.47) + postcss-discard-comments: 7.0.3(postcss@8.4.47) + postcss-discard-duplicates: 7.0.1(postcss@8.4.47) + postcss-discard-empty: 7.0.0(postcss@8.4.47) + postcss-discard-overridden: 7.0.0(postcss@8.4.47) + postcss-merge-longhand: 7.0.4(postcss@8.4.47) + postcss-merge-rules: 7.0.4(postcss@8.4.47) + postcss-minify-font-values: 7.0.0(postcss@8.4.47) + postcss-minify-gradients: 7.0.0(postcss@8.4.47) + postcss-minify-params: 7.0.2(postcss@8.4.47) + postcss-minify-selectors: 7.0.4(postcss@8.4.47) + postcss-normalize-charset: 7.0.0(postcss@8.4.47) + postcss-normalize-display-values: 7.0.0(postcss@8.4.47) + postcss-normalize-positions: 7.0.0(postcss@8.4.47) + postcss-normalize-repeat-style: 7.0.0(postcss@8.4.47) + postcss-normalize-string: 7.0.0(postcss@8.4.47) + postcss-normalize-timing-functions: 7.0.0(postcss@8.4.47) + postcss-normalize-unicode: 7.0.2(postcss@8.4.47) + postcss-normalize-url: 7.0.0(postcss@8.4.47) + postcss-normalize-whitespace: 7.0.0(postcss@8.4.47) + postcss-ordered-values: 7.0.1(postcss@8.4.47) + postcss-reduce-initial: 7.0.2(postcss@8.4.47) + postcss-reduce-transforms: 7.0.0(postcss@8.4.47) + postcss-svgo: 7.0.1(postcss@8.4.47) + postcss-unique-selectors: 7.0.3(postcss@8.4.47) - cssnano-utils@5.0.0(postcss@8.4.45): + cssnano-utils@5.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 - cssnano@7.0.6(postcss@8.4.45): + cssnano@7.0.6(postcss@8.4.47): dependencies: - cssnano-preset-default: 7.0.6(postcss@8.4.45) + cssnano-preset-default: 7.0.6(postcss@8.4.47) lilconfig: 3.1.2 - postcss: 8.4.45 + postcss: 8.4.47 csso@5.0.5: dependencies: @@ -10271,10 +11048,6 @@ snapshots: debounce@1.2.1: {} - debug@2.6.9: - dependencies: - ms: 2.0.0 - debug@3.2.7: dependencies: ms: 2.1.3 @@ -10322,20 +11095,8 @@ snapshots: deepmerge@4.3.1: {} - default-browser-id@3.0.0: - dependencies: - bplist-parser: 0.2.0 - untildify: 4.0.0 - default-browser-id@5.0.0: {} - default-browser@4.0.0: - dependencies: - bundle-name: 3.0.0 - default-browser-id: 3.0.0 - execa: 7.2.0 - titleize: 3.0.0 - default-browser@5.2.1: dependencies: bundle-name: 4.1.0 @@ -10377,7 +11138,7 @@ snapshots: detect-libc@2.0.3: {} - devalue@5.0.0: {} + devalue@5.1.1: {} devlop@1.1.0: dependencies: @@ -10452,7 +11213,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.19: {} + electron-to-chromium@1.5.32: {} emoji-regex@8.0.0: {} @@ -10464,7 +11225,7 @@ snapshots: emoticon@4.1.0: {} - encodeurl@1.0.2: {} + encodeurl@2.0.0: {} enhanced-resolve@4.5.0: dependencies: @@ -10521,12 +11282,12 @@ snapshots: es-module-lexer@1.5.4: {} - esbuild-loader@4.2.2(webpack@5.94.0): + esbuild-loader@4.2.2(webpack@5.96.1): dependencies: esbuild: 0.21.5 get-tsconfig: 4.8.0 loader-utils: 2.0.4 - webpack: 5.94.0 + webpack: 5.96.1 webpack-sources: 1.4.3 esbuild@0.20.2: @@ -10608,6 +11369,33 @@ snapshots: '@esbuild/win32-ia32': 0.23.1 '@esbuild/win32-x64': 0.23.1 + esbuild@0.24.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -10618,10 +11406,10 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-flat-gitignore@0.3.0(eslint@9.10.0(jiti@2.0.0-beta.3)): + eslint-config-flat-gitignore@0.3.0(eslint@9.14.0(jiti@2.4.0)): dependencies: '@eslint/compat': 1.1.1 - eslint: 9.10.0(jiti@2.0.0-beta.3) + eslint: 9.14.0(jiti@2.4.0) find-up-simple: 1.0.0 eslint-flat-config-utils@0.4.0: @@ -10636,12 +11424,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.2.1(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2): + eslint-plugin-import-x@4.3.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3): dependencies: - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) + '@typescript-eslint/utils': 8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) debug: 4.3.7(supports-color@9.4.0) doctrine: 3.0.0 - eslint: 9.10.0(jiti@2.0.0-beta.3) + eslint: 9.14.0(jiti@2.4.0) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.8.0 is-glob: 4.0.3 @@ -10653,15 +11441,15 @@ snapshots: - supports-color - typescript - eslint-plugin-jsdoc@50.2.2(eslint@9.10.0(jiti@2.0.0-beta.3)): + eslint-plugin-jsdoc@50.4.3(eslint@9.14.0(jiti@2.4.0)): dependencies: - '@es-joy/jsdoccomment': 0.48.0 + '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.3.7(supports-color@9.4.0) escape-string-regexp: 4.0.0 - eslint: 9.10.0(jiti@2.0.0-beta.3) - espree: 10.1.0 + eslint: 9.14.0(jiti@2.4.0) + espree: 10.3.0 esquery: 1.6.0 parse-imports: 2.1.1 semver: 7.6.3 @@ -10672,40 +11460,40 @@ snapshots: eslint-plugin-no-only-tests@3.3.0: {} - eslint-plugin-perfectionist@3.6.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2)(vue-eslint-parser@9.4.3(eslint@9.10.0(jiti@2.0.0-beta.3))): + eslint-plugin-perfectionist@3.9.1(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.14.0(jiti@2.4.0))): dependencies: - '@typescript-eslint/types': 8.5.0 - '@typescript-eslint/utils': 8.5.0(eslint@9.10.0(jiti@2.0.0-beta.3))(typescript@5.6.2) - eslint: 9.10.0(jiti@2.0.0-beta.3) + '@typescript-eslint/types': 8.11.0 + '@typescript-eslint/utils': 8.11.0(eslint@9.14.0(jiti@2.4.0))(typescript@5.6.3) + eslint: 9.14.0(jiti@2.4.0) minimatch: 9.0.5 natural-compare-lite: 1.4.0 optionalDependencies: - vue-eslint-parser: 9.4.3(eslint@9.10.0(jiti@2.0.0-beta.3)) + vue-eslint-parser: 9.4.3(eslint@9.14.0(jiti@2.4.0)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-regexp@2.6.0(eslint@9.10.0(jiti@2.0.0-beta.3)): + eslint-plugin-regexp@2.6.0(eslint@9.14.0(jiti@2.4.0)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@2.0.0-beta.3)) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0)) + '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.10.0(jiti@2.0.0-beta.3) + eslint: 9.14.0(jiti@2.4.0) 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.10.0(jiti@2.0.0-beta.3)): + eslint-plugin-unicorn@56.0.0(eslint@9.14.0(jiti@2.4.0)): dependencies: - '@babel/helper-validator-identifier': 7.24.7 - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@2.0.0-beta.3)) + '@babel/helper-validator-identifier': 7.25.9 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0)) ci-info: 4.0.0 clean-regexp: 1.0.0 core-js-compat: 3.38.1 - eslint: 9.10.0(jiti@2.0.0-beta.3) + eslint: 9.14.0(jiti@2.4.0) esquery: 1.6.0 - globals: 15.9.0 + globals: 15.11.0 indent-string: 4.0.0 is-builtin-module: 3.2.1 jsesc: 3.0.2 @@ -10716,16 +11504,16 @@ snapshots: semver: 7.6.3 strip-indent: 3.0.0 - eslint-plugin-vue@9.28.0(eslint@9.10.0(jiti@2.0.0-beta.3)): + eslint-plugin-vue@9.30.0(eslint@9.14.0(jiti@2.4.0)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@2.0.0-beta.3)) - eslint: 9.10.0(jiti@2.0.0-beta.3) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0)) + eslint: 9.14.0(jiti@2.4.0) 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.10.0(jiti@2.0.0-beta.3)) + vue-eslint-parser: 9.4.3(eslint@9.14.0(jiti@2.4.0)) xml-name-validator: 4.0.0 transitivePeerDependencies: - supports-color @@ -10740,40 +11528,43 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-scope@8.0.2: + eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-typegen@0.3.2(eslint@9.10.0(jiti@2.0.0-beta.3)): + eslint-typegen@0.3.2(eslint@9.14.0(jiti@2.4.0)): dependencies: - eslint: 9.10.0(jiti@2.0.0-beta.3) + eslint: 9.14.0(jiti@2.4.0) json-schema-to-typescript-lite: 14.1.0 - ohash: 1.1.3 + ohash: 1.1.4 eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.0.0: {} + eslint-visitor-keys@4.2.0: {} - eslint@9.10.0(jiti@2.0.0-beta.3): + eslint@9.14.0(jiti@2.4.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@2.0.0-beta.3)) - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.14.0(jiti@2.4.0)) + '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.18.0 + '@eslint/core': 0.7.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.10.0 - '@eslint/plugin-kit': 0.1.0 + '@eslint/js': 9.14.0 + '@eslint/plugin-kit': 0.2.0 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.3.0 - '@nodelib/fs.walk': 1.2.8 + '@humanwhocodes/retry': 0.4.0 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.7(supports-color@9.4.0) escape-string-regexp: 4.0.0 - eslint-scope: 8.0.2 - eslint-visitor-keys: 4.0.0 - espree: 10.1.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -10783,29 +11574,27 @@ 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.0.0-beta.3 + jiti: 2.4.0 transitivePeerDependencies: - supports-color - espree@10.1.0: + espree@10.3.0: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) - eslint-visitor-keys: 4.0.0 + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 espree@9.6.1: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) eslint-visitor-keys: 3.4.3 esquery@1.6.0: @@ -10824,7 +11613,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 esutils@2.0.3: {} @@ -10834,18 +11623,6 @@ snapshots: events@3.3.0: {} - execa@5.1.1: - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 - execa@7.2.0: dependencies: cross-spawn: 7.0.3 @@ -10870,12 +11647,14 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + expect-type@1.1.0: {} + extend@3.0.2: {} 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 @@ -10905,7 +11684,11 @@ snapshots: dependencies: reusify: 1.0.4 - fdir@6.3.0(picomatch@4.0.2): + fdir@6.4.2(picomatch@2.3.1): + optionalDependencies: + picomatch: 2.3.1 + + fdir@6.4.2(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -10917,11 +11700,11 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-loader@6.2.0(webpack@5.94.0): + file-loader@6.2.0(webpack@5.96.1): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.94.0 + webpack: 5.96.1 file-uri-to-path@1.0.0: {} @@ -10950,15 +11733,15 @@ snapshots: flatted@3.3.1: {} - floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.5.5(typescript@5.6.2)): + floating-vue@5.2.2(@nuxt/kit@packages+kit)(vue@3.5.12(typescript@5.6.3)): dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.5.5(typescript@5.6.2) - vue-resize: 2.0.0-alpha.1(vue@3.5.5(typescript@5.6.2)) + vue: 3.5.12(typescript@5.6.3) + vue-resize: 2.0.0-alpha.1(vue@3.5.12(typescript@5.6.3)) optionalDependencies: '@nuxt/kit': link:packages/kit - focus-trap@7.5.4: + focus-trap@7.6.0: dependencies: tabbable: 6.2.0 @@ -10971,12 +11754,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.94.0): + fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.96.1): 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 @@ -10985,8 +11768,8 @@ snapshots: schema-utils: 3.3.0 semver: 7.6.3 tapable: 2.2.1 - typescript: 5.6.2 - webpack: 5.94.0 + typescript: 5.6.3 + webpack: 5.96.1 fraction.js@4.3.7: {} @@ -11063,8 +11846,8 @@ snapshots: consola: 3.2.3 defu: 6.1.4 node-fetch-native: 1.6.4 - nypm: 0.3.11 - ohash: 1.1.3 + nypm: 0.3.12 + ohash: 1.1.4 pathe: 1.1.2 tar: 6.2.1 @@ -11138,7 +11921,7 @@ snapshots: globals@14.0.0: {} - globals@15.9.0: {} + globals@15.11.0: {} globby@14.0.2: dependencies: @@ -11172,7 +11955,7 @@ snapshots: defu: 6.1.4 destr: 2.0.3 iron-webcrypto: 1.2.1 - ohash: 1.1.3 + ohash: 1.1.4 radix3: 1.1.2 ufo: 1.5.4 uncrypto: 0.1.3 @@ -11180,7 +11963,7 @@ snapshots: transitivePeerDependencies: - uWebSockets.js - happy-dom@15.7.4: + happy-dom@15.9.0: dependencies: entities: 4.5.0 webidl-conversions: 7.0.0 @@ -11244,14 +12027,14 @@ snapshots: hast-util-to-parse5: 8.0.0 html-void-elements: 3.0.0 mdast-util-to-hast: 13.2.0 - parse5: 7.1.2 + parse5: 7.2.1 unist-util-position: 5.0.0 unist-util-visit: 5.0.0 vfile: 6.0.3 web-namespaces: 2.0.1 zwitch: 2.0.4 - hast-util-to-html@9.0.2: + hast-util-to-html@9.0.3: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.3 @@ -11275,7 +12058,7 @@ snapshots: web-namespaces: 2.0.1 zwitch: 2.0.4 - hast-util-to-string@3.0.0: + hast-util-to-string@3.0.1: dependencies: '@types/hast': 3.0.4 @@ -11303,7 +12086,7 @@ snapshots: html-tags@3.3.1: {} - html-validate@8.22.0(vitest@1.6.0(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0)): + html-validate@8.24.2(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(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) @@ -11316,18 +12099,18 @@ snapshots: prompts: 2.4.2 semver: 7.6.3 optionalDependencies: - vitest: 1.6.0(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0) + vitest: 2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(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.45))(postcss@8.4.45)(relateurl@0.2.7)(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)(relateurl@0.2.7)(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: - cssnano: 7.0.6(postcss@8.4.45) - postcss: 8.4.45 + cssnano: 7.0.6(postcss@8.4.47) + postcss: 8.4.47 relateurl: 0.2.7 svgo: 3.3.2 terser: 5.32.0 @@ -11341,7 +12124,7 @@ snapshots: domutils: 2.8.0 entities: 3.0.1 - htmlparser2@8.0.2: + htmlparser2@9.1.0: dependencies: domelementtype: 2.3.0 domhandler: 5.0.3 @@ -11374,22 +12157,22 @@ snapshots: httpxy@0.1.5: {} - human-signals@2.1.0: {} - human-signals@4.3.1: {} human-signals@5.0.0: {} hyperdyperid@1.2.0: {} - icss-utils@5.1.0(postcss@8.4.45): + icss-utils@5.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 ieee754@1.2.1: {} ignore@5.3.2: {} + ignore@6.0.2: {} + image-meta@0.2.1: {} immutable@4.3.7: {} @@ -11404,20 +12187,20 @@ snapshots: bundle-require: 5.0.0(esbuild@0.23.1) debug: 4.3.7(supports-color@9.4.0) esbuild: 0.23.1 - jiti: 2.0.0-beta.3 + jiti: 2.4.0 jiti-v1: jiti@1.21.6 pathe: 1.1.2 - tsx: 4.19.0 + tsx: 4.19.1 transitivePeerDependencies: - supports-color - impound@0.1.0(rollup@4.21.3)(webpack-sources@3.2.3): + impound@0.2.0(rollup@4.24.4)(webpack-sources@3.2.3): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - mlly: 1.7.1 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + mlly: 1.7.2 pathe: 1.1.2 unenv: 1.10.0 - unplugin: 1.14.1(webpack-sources@3.2.3) + unplugin: 1.15.0(webpack-sources@3.2.3) transitivePeerDependencies: - rollup - webpack-sources @@ -11553,8 +12336,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: {} @@ -11563,7 +12344,7 @@ snapshots: is-reference@1.2.1: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 is-regex@1.1.4: dependencies: @@ -11655,7 +12436,7 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.16.5 + '@types/node': 22.9.0 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -11663,20 +12444,20 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 jiti@1.21.6: {} - jiti@2.0.0-beta.3: {} + jiti@2.4.0: {} js-beautify@1.15.1: dependencies: @@ -11704,8 +12485,6 @@ snapshots: jsesc@0.5.0: {} - jsesc@2.5.2: {} - jsesc@3.0.2: {} json-buffer@3.0.1: {} @@ -11729,7 +12508,7 @@ snapshots: json5@2.2.3: {} - jsonc-parser@3.2.1: {} + jsonc-parser@3.3.1: {} jsonfile@6.1.0: dependencies: @@ -11760,7 +12539,7 @@ snapshots: launch-editor@2.9.1: dependencies: - picocolors: 1.1.0 + picocolors: 1.1.1 shell-quote: 1.8.1 lazystream@1.0.1: @@ -11780,9 +12559,9 @@ snapshots: dependencies: uc.micro: 2.1.0 - listhen@1.7.2: + listhen@1.9.0: dependencies: - '@parcel/watcher': 2.4.1 + '@parcel/watcher': 2.5.0 '@parcel/watcher-wasm': 2.4.1 citty: 0.1.6 clipboardy: 4.0.0 @@ -11792,8 +12571,8 @@ snapshots: get-port-please: 3.1.2 h3: h3-nightly@2.0.0-1718872656.6765a6e http-shutdown: 1.2.2 - jiti: 2.0.0-beta.3 - mlly: 1.7.1 + jiti: 2.4.0 + mlly: 1.7.2 node-forge: 1.3.1 pathe: 1.1.2 std-env: 3.7.0 @@ -11821,8 +12600,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: @@ -11854,9 +12633,7 @@ snapshots: dependencies: get-func-name: 2.0.2 - loupe@3.1.1: - dependencies: - get-func-name: 2.0.2 + loupe@3.1.2: {} lru-cache@10.4.3: {} @@ -11870,16 +12647,16 @@ snapshots: magic-string-ast@0.6.2: dependencies: - magic-string: 0.30.11 + magic-string: 0.30.12 - magic-string@0.30.11: + magic-string@0.30.12: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 magicast@0.3.5: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 source-map-js: 1.2.1 make-dir@3.1.0: @@ -11905,26 +12682,26 @@ snapshots: markdown-table@3.0.3: {} - markdownlint-cli@0.41.0: + markdownlint-cli@0.42.0: dependencies: commander: 12.1.0 get-stdin: 9.0.0 - glob: 10.4.5 - ignore: 5.3.2 + glob: 11.0.0 + ignore: 6.0.2 js-yaml: 4.1.0 - jsonc-parser: 3.2.1 + jsonc-parser: 3.3.1 jsonpointer: 5.0.1 - markdownlint: 0.34.0 - minimatch: 9.0.5 + markdownlint: 0.35.0 + minimatch: 10.0.1 run-con: 1.3.2 - smol-toml: 1.2.2 + smol-toml: 1.3.0 - markdownlint-micromark@0.1.9: {} + markdownlint-micromark@0.1.10: {} - markdownlint@0.34.0: + markdownlint@0.35.0: dependencies: markdown-it: 14.1.0 - markdownlint-micromark: 0.1.9 + markdownlint-micromark: 0.1.10 mdast-util-find-and-replace@3.0.1: dependencies: @@ -11933,7 +12710,7 @@ snapshots: unist-util-is: 6.0.0 unist-util-visit-parents: 6.0.1 - mdast-util-from-markdown@2.0.1: + mdast-util-from-markdown@2.0.2: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 @@ -11962,8 +12739,8 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 micromark-util-normalize-identifier: 2.0.0 transitivePeerDependencies: - supports-color @@ -11971,8 +12748,8 @@ snapshots: mdast-util-gfm-strikethrough@2.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -11981,8 +12758,8 @@ snapshots: '@types/mdast': 4.0.4 devlop: 1.1.0 markdown-table: 3.0.3 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -11990,20 +12767,20 @@ snapshots: dependencies: '@types/mdast': 4.0.4 devlop: 1.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color mdast-util-gfm@3.0.0: dependencies: - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 mdast-util-gfm-autolink-literal: 2.0.1 mdast-util-gfm-footnote: 2.0.0 mdast-util-gfm-strikethrough: 2.0.0 mdast-util-gfm-table: 2.0.0 mdast-util-gfm-task-list-item: 2.0.0 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 transitivePeerDependencies: - supports-color @@ -12024,13 +12801,14 @@ snapshots: unist-util-visit: 5.0.0 vfile: 6.0.3 - mdast-util-to-markdown@2.1.0: + mdast-util-to-markdown@2.1.2: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 longest-streak: 3.1.0 mdast-util-phrasing: 4.1.0 mdast-util-to-string: 4.0.0 + micromark-util-classify-character: 2.0.0 micromark-util-decode-string: 2.0.0 unist-util-visit: 5.0.0 zwitch: 2.0.4 @@ -12043,13 +12821,15 @@ snapshots: mdn-data@2.0.30: {} + mdn-data@2.12.1: {} + mdurl@2.0.0: {} memfs@3.5.3: dependencies: fs-monkey: 1.0.6 - memfs@4.11.1: + memfs@4.14.0: dependencies: '@jsonjoy.com/json-pack': 1.1.0(tslib@2.7.0) '@jsonjoy.com/util': 1.3.0(tslib@2.7.0) @@ -12267,25 +13047,21 @@ snapshots: dependencies: mime-db: 1.52.0 - mime@1.6.0: {} - mime@2.5.2: {} mime@3.0.0: {} mime@4.0.4: {} - mimic-fn@2.1.0: {} - mimic-fn@4.0.0: {} min-indent@1.0.1: {} - mini-css-extract-plugin@2.9.1(webpack@5.94.0): + mini-css-extract-plugin@2.9.2(webpack@5.96.1): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.94.0 + webpack: 5.96.1 minimatch@10.0.1: dependencies: @@ -12330,39 +13106,37 @@ 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.6.0(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3)): dependencies: - autoprefixer: 10.4.20(postcss@8.4.45) + autoprefixer: 10.4.20(postcss@8.4.47) citty: 0.1.6 - cssnano: 7.0.6(postcss@8.4.45) + cssnano: 7.0.6(postcss@8.4.47) defu: 6.1.4 - esbuild: 0.23.1 - fast-glob: 3.3.2 - jiti: 2.0.0-beta.3 - mlly: 1.7.1 + esbuild: 0.24.0 + jiti: 2.4.0 + mlly: 1.7.2 pathe: 1.1.2 - pkg-types: 1.2.0 - postcss: 8.4.45 - postcss-nested: 6.2.0(postcss@8.4.45) + pkg-types: 1.2.1 + postcss: 8.4.47 + postcss-nested: 6.2.0(postcss@8.4.47) semver: 7.6.3 + tinyglobby: 0.2.10 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.10(typescript@5.6.3) - mlly@1.7.1: + mlly@1.7.2: dependencies: - acorn: 8.12.1 + acorn: 8.14.0 pathe: 1.1.2 - pkg-types: 1.2.0 + pkg-types: 1.2.1 ufo: 1.5.4 mri@1.2.0: {} mrmime@2.0.0: {} - ms@2.0.0: {} - ms@2.1.3: {} muggle-string@0.4.1: {} @@ -12379,36 +13153,36 @@ snapshots: neo-async@2.6.2: {} - nitro-nightly@3.0.0-beta-28665895.e727afda(typescript@5.6.2)(webpack-sources@3.2.3): + nitro-nightly@3.0.0-beta-28796231.359af68d(typescript@5.6.3)(webpack-sources@3.2.3): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@netlify/functions': 2.8.1 - '@rollup/plugin-alias': 5.1.0(rollup@4.21.3) - '@rollup/plugin-commonjs': 26.0.1(rollup@4.21.3) - '@rollup/plugin-inject': 5.0.5(rollup@4.21.3) - '@rollup/plugin-json': 6.1.0(rollup@4.21.3) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.21.3) - '@rollup/plugin-replace': 5.0.7(rollup@4.21.3) - '@rollup/plugin-terser': 0.4.4(rollup@4.21.3) - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@netlify/functions': 2.8.2 + '@rollup/plugin-alias': 5.1.1(rollup@4.24.4) + '@rollup/plugin-commonjs': 26.0.1(rollup@4.24.4) + '@rollup/plugin-inject': 5.0.5(rollup@4.24.4) + '@rollup/plugin-json': 6.1.0(rollup@4.24.4) + '@rollup/plugin-node-resolve': 15.3.0(rollup@4.24.4) + '@rollup/plugin-replace': 5.0.7(rollup@4.24.4) + '@rollup/plugin-terser': 0.4.4(rollup@4.24.4) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) '@types/http-proxy': 1.17.15 '@vercel/nft': 0.27.4 archiver: 7.0.1 - c12: 2.0.0-beta.2(magicast@0.3.5) + c12: 2.0.1(magicast@0.3.5) chalk: 5.3.0 chokidar: 3.6.0 citty: 0.1.6 compatx: 0.1.8 - confbox: 0.1.7 + confbox: 0.1.8 consola: 3.2.3 cookie-es: 1.2.2 - croner: 8.1.1 + croner: 8.1.2 crossws: 0.2.4 db0: 0.1.4 defu: 6.1.4 destr: 2.0.3 dot-prop: 9.0.0 - esbuild: 0.21.5 + esbuild: 0.23.1 escape-string-regexp: 5.0.0 etag: 1.8.1 fs-extra: 11.2.0 @@ -12418,38 +13192,38 @@ snapshots: hookable: 5.5.3 httpxy: 0.1.5 ioredis: 5.4.1 - jiti: 2.0.0-beta.3 + jiti: 2.4.0 klona: 2.0.6 knitwork: 1.1.0 - listhen: 1.7.2 - magic-string: 0.30.11 + listhen: 1.9.0 + magic-string: 0.30.12 magicast: 0.3.5 mime: 4.0.4 - mlly: 1.7.1 + mlly: 1.7.2 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) - ohash: 1.1.3 - openapi-typescript: 7.4.0(typescript@5.6.2) + ofetch: 1.4.1 + ohash: 1.1.4 + openapi-typescript: 7.4.0(typescript@5.6.3) 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.21.3 - rollup-plugin-visualizer: 5.12.0(rollup@4.21.3) + rollup: 4.24.4 + rollup-plugin-visualizer: 5.12.0(rollup@4.24.4) scule: 1.3.0 semver: 7.6.3 serve-placeholder: 2.0.2 - serve-static: 1.16.0 + serve-static: 1.16.2 std-env: 3.7.0 ufo: 1.5.4 uncrypto: 0.1.3 unctx: 2.3.1(webpack-sources@3.2.3) unenv: 1.10.0 - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) - unstorage: 1.12.0(ioredis@5.4.1) - untyped: 1.4.2 + unimport: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3) + unstorage: 1.13.1(ioredis@5.4.1) + untyped: 1.5.1 unwasm: 0.3.9(webpack-sources@3.2.3) transitivePeerDependencies: - '@azure/app-configuration' @@ -12476,25 +13250,25 @@ snapshots: nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3): dependencies: '@cloudflare/kv-asset-handler': 0.3.4 - '@netlify/functions': 2.8.1 - '@rollup/plugin-alias': 5.1.0(rollup@4.21.3) - '@rollup/plugin-commonjs': 25.0.8(rollup@4.21.3) - '@rollup/plugin-inject': 5.0.5(rollup@4.21.3) - '@rollup/plugin-json': 6.1.0(rollup@4.21.3) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.21.3) - '@rollup/plugin-replace': 5.0.7(rollup@4.21.3) - '@rollup/plugin-terser': 0.4.4(rollup@4.21.3) - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@netlify/functions': 2.8.2 + '@rollup/plugin-alias': 5.1.1(rollup@4.24.4) + '@rollup/plugin-commonjs': 25.0.8(rollup@4.24.4) + '@rollup/plugin-inject': 5.0.5(rollup@4.24.4) + '@rollup/plugin-json': 6.1.0(rollup@4.24.4) + '@rollup/plugin-node-resolve': 15.3.0(rollup@4.24.4) + '@rollup/plugin-replace': 5.0.7(rollup@4.24.4) + '@rollup/plugin-terser': 0.4.4(rollup@4.24.4) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) '@types/http-proxy': 1.17.15 '@vercel/nft': 0.26.5 archiver: 7.0.1 - c12: 2.0.0-beta.2(magicast@0.3.5) + c12: 2.0.1(magicast@0.3.5) chalk: 5.3.0 chokidar: 3.6.0 citty: 0.1.6 consola: 3.2.3 cookie-es: 1.2.2 - croner: 8.1.1 + croner: 8.1.2 crossws: 0.2.4 db0: 0.1.4 defu: 6.1.4 @@ -12510,36 +13284,36 @@ snapshots: hookable: 5.5.3 httpxy: 0.1.5 ioredis: 5.4.1 - jiti: 2.0.0-beta.3 + jiti: 2.4.0 klona: 2.0.6 knitwork: 1.1.0 - listhen: 1.7.2 - magic-string: 0.30.11 + listhen: 1.9.0 + magic-string: 0.30.12 mime: 4.0.4 - mlly: 1.7.1 + mlly: 1.7.2 mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) - ohash: 1.1.3 + 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.21.3 - rollup-plugin-visualizer: 5.12.0(rollup@4.21.3) + rollup: 4.24.4 + rollup-plugin-visualizer: 5.12.0(rollup@4.24.4) scule: 1.3.0 semver: 7.6.3 serve-placeholder: 2.0.2 - serve-static: 1.16.0 + serve-static: 1.16.2 std-env: 3.7.0 ufo: 1.5.4 uncrypto: 0.1.3 unctx: 2.3.1(webpack-sources@3.2.3) unenv: 1.10.0 - unimport: 3.12.0(rollup@4.21.3)(webpack-sources@3.2.3) - unstorage: 1.12.0(ioredis@5.4.1) + unimport: 3.13.1(rollup@4.24.4)(webpack-sources@3.2.3) + unstorage: 1.13.1(ioredis@5.4.1) unwasm: 0.3.9(webpack-sources@3.2.3) transitivePeerDependencies: - '@azure/app-configuration' @@ -12624,37 +13398,35 @@ snapshots: dependencies: boolbase: 1.0.0 - nuxi@3.13.1: - optionalDependencies: - fsevents: 2.3.3 + nuxi@3.15.0: {} nuxt-content-twoslash@0.1.1(@nuxtjs/mdc@0.8.3(webpack-sources@3.2.3)): dependencies: '@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 + picocolors: 1.1.1 remark-parse: 11.0.0 - shiki: 1.17.0 - twoslash: 0.2.11(typescript@5.6.2) - typescript: 5.6.2 + shiki: 1.22.2 + twoslash: 0.2.12(typescript@5.6.3) + typescript: 5.6.3 unified: 11.0.5 unist-util-visit: 5.0.0 transitivePeerDependencies: - supports-color - nypm@0.3.11: + nypm@0.3.12: dependencies: citty: 0.1.6 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: {} @@ -12675,13 +13447,13 @@ snapshots: has-symbols: 1.0.3 object-keys: 1.1.1 - ofetch@1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4): + ofetch@1.4.1: dependencies: destr: 2.0.3 node-fetch-native: 1.6.4 ufo: 1.5.4 - ohash@1.1.3: {} + ohash@1.1.4: {} on-finished@2.4.1: dependencies: @@ -12691,10 +13463,6 @@ snapshots: dependencies: wrappy: 1.0.2 - onetime@5.1.2: - dependencies: - mimic-fn: 2.1.0 - onetime@6.0.0: dependencies: mimic-fn: 4.0.0 @@ -12718,13 +13486,6 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - open@9.1.0: - dependencies: - default-browser: 4.0.0 - define-lazy-prop: 3.0.0 - is-inside-container: 1.0.0 - is-wsl: 2.2.0 - openapi-typescript@6.7.6: dependencies: ansi-colors: 4.1.3 @@ -12734,14 +13495,14 @@ snapshots: undici: 5.28.4 yargs-parser: 21.1.1 - openapi-typescript@7.4.0(typescript@5.6.2): + openapi-typescript@7.4.0(typescript@5.6.3): dependencies: '@redocly/openapi-core': 1.25.0(supports-color@9.4.0) ansi-colors: 4.1.3 change-case: 5.4.4 parse-json: 8.1.0 supports-color: 9.4.0 - typescript: 5.6.2 + typescript: 5.6.3 yargs-parser: 21.1.1 transitivePeerDependencies: - encoding @@ -12810,14 +13571,14 @@ 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 parse-json@8.1.0: dependencies: - '@babel/code-frame': 7.24.7 + '@babel/code-frame': 7.25.7 index-to-position: 0.1.2 type-fest: 4.26.1 @@ -12829,7 +13590,7 @@ snapshots: dependencies: parse-path: 7.0.0 - parse5@7.1.2: + parse5@7.2.1: dependencies: entities: 4.5.0 @@ -12869,7 +13630,7 @@ snapshots: perfect-debounce@1.0.0: {} - picocolors@1.1.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -12879,204 +13640,205 @@ 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.1: {} + playwright-core@1.48.2: {} pluralize@8.0.0: {} possible-typed-array-names@1.0.0: {} - postcss-calc@10.0.2(postcss@8.4.45): + postcss-calc@10.0.2(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-colormin@7.0.2(postcss@8.4.45): + 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.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-convert-values@7.0.4(postcss@8.4.45): + postcss-convert-values@7.0.4(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - postcss: 8.4.45 + browserslist: 4.24.0 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-discard-comments@7.0.3(postcss@8.4.45): + postcss-discard-comments@7.0.3(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-discard-duplicates@7.0.1(postcss@8.4.45): + postcss-discard-duplicates@7.0.1(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 - postcss-discard-empty@7.0.0(postcss@8.4.45): + postcss-discard-empty@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 - postcss-discard-overridden@7.0.0(postcss@8.4.45): + postcss-discard-overridden@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-import-resolver@2.0.0: dependencies: enhanced-resolve: 4.5.0 - postcss-import@16.1.0(postcss@8.4.45): + postcss-import@16.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-loader@8.1.1(postcss@8.4.45)(typescript@5.6.2)(webpack@5.94.0): + postcss-loader@8.1.1(@rspack/core@1.0.14)(postcss@8.4.47)(typescript@5.6.3)(webpack@5.96.1): dependencies: - cosmiconfig: 9.0.0(typescript@5.6.2) - jiti: 2.0.0-beta.3 - postcss: 8.4.45 + cosmiconfig: 9.0.0(typescript@5.6.3) + jiti: 2.4.0 + postcss: 8.4.47 semver: 7.6.3 optionalDependencies: - webpack: 5.94.0 + '@rspack/core': 1.0.14 + webpack: 5.96.1 transitivePeerDependencies: - typescript postcss-media-query-parser@0.2.3: {} - postcss-merge-longhand@7.0.4(postcss@8.4.45): + postcss-merge-longhand@7.0.4(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - stylehacks: 7.0.4(postcss@8.4.45) + stylehacks: 7.0.4(postcss@8.4.47) - postcss-merge-rules@7.0.4(postcss@8.4.45): + 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.45) - postcss: 8.4.45 + cssnano-utils: 5.0.0(postcss@8.4.47) + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-minify-font-values@7.0.0(postcss@8.4.45): + postcss-minify-font-values@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-minify-gradients@7.0.0(postcss@8.4.45): + postcss-minify-gradients@7.0.0(postcss@8.4.47): dependencies: colord: 2.9.3 - cssnano-utils: 5.0.0(postcss@8.4.45) - postcss: 8.4.45 + cssnano-utils: 5.0.0(postcss@8.4.47) + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-minify-params@7.0.2(postcss@8.4.45): + postcss-minify-params@7.0.2(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - cssnano-utils: 5.0.0(postcss@8.4.45) - postcss: 8.4.45 + browserslist: 4.24.0 + cssnano-utils: 5.0.0(postcss@8.4.47) + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-minify-selectors@7.0.4(postcss@8.4.45): + postcss-minify-selectors@7.0.4(postcss@8.4.47): dependencies: cssesc: 3.0.0 - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-modules-extract-imports@3.1.0(postcss@8.4.45): + postcss-modules-extract-imports@3.1.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 - postcss-modules-local-by-default@4.0.5(postcss@8.4.45): + postcss-modules-local-by-default@4.0.5(postcss@8.4.47): dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.2.0(postcss@8.4.45): + postcss-modules-scope@3.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-modules-values@4.0.0(postcss@8.4.45): + postcss-modules-values@4.0.0(postcss@8.4.47): dependencies: - icss-utils: 5.1.0(postcss@8.4.45) - postcss: 8.4.45 + icss-utils: 5.1.0(postcss@8.4.47) + postcss: 8.4.47 - postcss-nested@6.2.0(postcss@8.4.45): + postcss-nested@6.2.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-normalize-charset@7.0.0(postcss@8.4.45): + postcss-normalize-charset@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 - postcss-normalize-display-values@7.0.0(postcss@8.4.45): + postcss-normalize-display-values@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-positions@7.0.0(postcss@8.4.45): + postcss-normalize-positions@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-repeat-style@7.0.0(postcss@8.4.45): + postcss-normalize-repeat-style@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-string@7.0.0(postcss@8.4.45): + postcss-normalize-string@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-timing-functions@7.0.0(postcss@8.4.45): + postcss-normalize-timing-functions@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-unicode@7.0.2(postcss@8.4.45): + postcss-normalize-unicode@7.0.2(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - postcss: 8.4.45 + browserslist: 4.24.0 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-url@7.0.0(postcss@8.4.45): + postcss-normalize-url@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-normalize-whitespace@7.0.0(postcss@8.4.45): + postcss-normalize-whitespace@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-ordered-values@7.0.1(postcss@8.4.45): + postcss-ordered-values@7.0.1(postcss@8.4.47): dependencies: - cssnano-utils: 5.0.0(postcss@8.4.45) - postcss: 8.4.45 + cssnano-utils: 5.0.0(postcss@8.4.47) + postcss: 8.4.47 postcss-value-parser: 4.2.0 - postcss-reduce-initial@7.0.2(postcss@8.4.45): + 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.45 + postcss: 8.4.47 - postcss-reduce-transforms@7.0.0(postcss@8.4.45): + postcss-reduce-transforms@7.0.0(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 postcss-selector-parser@6.1.2: @@ -13084,31 +13846,31 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-svgo@7.0.1(postcss@8.4.45): + postcss-svgo@7.0.1(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-value-parser: 4.2.0 svgo: 3.3.2 - postcss-unique-selectors@7.0.3(postcss@8.4.45): + postcss-unique-selectors@7.0.3(postcss@8.4.47): dependencies: - postcss: 8.4.45 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 - postcss-url@10.1.3(postcss@8.4.45): + postcss-url@10.1.3(postcss@8.4.47): dependencies: make-dir: 3.1.0 mime: 2.5.2 minimatch: 3.0.8 - postcss: 8.4.45 + postcss: 8.4.47 xxhashjs: 0.2.2 postcss-value-parser@4.2.0: {} - postcss@8.4.45: + postcss@8.4.47: dependencies: nanoid: 3.3.7 - picocolors: 1.1.0 + picocolors: 1.1.1 source-map-js: 1.2.1 posthtml-parser@0.11.0: @@ -13311,6 +14073,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.1: {} + redis-errors@1.2.0: {} redis-parser@3.0.0: @@ -13319,7 +14083,7 @@ snapshots: refa@0.12.1: dependencies: - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.12.1 regenerator-runtime@0.14.1: {} @@ -13327,7 +14091,7 @@ snapshots: regexp-ast-analysis@0.7.1: dependencies: - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.12.1 refa: 0.12.1 regexp-tree@0.1.27: {} @@ -13363,16 +14127,16 @@ snapshots: '@types/hast': 3.0.4 github-slugger: 2.0.0 hast-util-heading-rank: 3.0.0 - hast-util-to-string: 3.0.0 + hast-util-to-string: 3.0.1 unist-util-visit: 5.0.0 - rehype-sort-attribute-values@5.0.0: + rehype-sort-attribute-values@5.0.1: dependencies: '@types/hast': 3.0.4 hast-util-is-element: 3.0.0 unist-util-visit: 5.0.0 - rehype-sort-attributes@5.0.0: + rehype-sort-attributes@5.0.1: dependencies: '@types/hast': 3.0.4 unist-util-visit: 5.0.0 @@ -13405,8 +14169,8 @@ snapshots: '@types/unist': 3.0.3 flat: 6.0.1 js-yaml: 4.1.0 - mdast-util-from-markdown: 2.0.1 - mdast-util-to-markdown: 2.1.0 + mdast-util-from-markdown: 2.0.2 + mdast-util-to-markdown: 2.1.2 micromark: 4.0.0 micromark-core-commonmark: 2.0.1 micromark-factory-space: 2.0.0 @@ -13425,13 +14189,13 @@ snapshots: remark-parse@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-from-markdown: 2.0.1 + mdast-util-from-markdown: 2.0.2 micromark-util-types: 2.0.0 unified: 11.0.5 transitivePeerDependencies: - supports-color - remark-rehype@11.1.0: + remark-rehype@11.1.1: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -13442,7 +14206,7 @@ snapshots: remark-stringify@11.0.0: dependencies: '@types/mdast': 4.0.4 - mdast-util-to-markdown: 2.1.0 + mdast-util-to-markdown: 2.1.2 unified: 11.0.5 repeat-string@1.6.1: {} @@ -13476,49 +14240,47 @@ snapshots: glob: 11.0.0 package-json-from-dist: 1.0.0 - rollup-plugin-dts@6.1.1(rollup@4.21.3)(typescript@5.6.2): + rollup-plugin-dts@6.1.1(rollup@4.24.4)(typescript@5.6.3): dependencies: - magic-string: 0.30.11 - rollup: 4.21.3 - typescript: 5.6.2 + magic-string: 0.30.12 + rollup: 4.24.4 + 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.21.3): + rollup-plugin-visualizer@5.12.0(rollup@4.24.4): dependencies: open: 8.4.2 picomatch: 2.3.1 source-map: 0.7.4 yargs: 17.7.2 optionalDependencies: - rollup: 4.21.3 + rollup: 4.24.4 - rollup@4.21.3: + rollup@4.24.4: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.21.3 - '@rollup/rollup-android-arm64': 4.21.3 - '@rollup/rollup-darwin-arm64': 4.21.3 - '@rollup/rollup-darwin-x64': 4.21.3 - '@rollup/rollup-linux-arm-gnueabihf': 4.21.3 - '@rollup/rollup-linux-arm-musleabihf': 4.21.3 - '@rollup/rollup-linux-arm64-gnu': 4.21.3 - '@rollup/rollup-linux-arm64-musl': 4.21.3 - '@rollup/rollup-linux-powerpc64le-gnu': 4.21.3 - '@rollup/rollup-linux-riscv64-gnu': 4.21.3 - '@rollup/rollup-linux-s390x-gnu': 4.21.3 - '@rollup/rollup-linux-x64-gnu': 4.21.3 - '@rollup/rollup-linux-x64-musl': 4.21.3 - '@rollup/rollup-win32-arm64-msvc': 4.21.3 - '@rollup/rollup-win32-ia32-msvc': 4.21.3 - '@rollup/rollup-win32-x64-msvc': 4.21.3 + '@rollup/rollup-android-arm-eabi': 4.24.4 + '@rollup/rollup-android-arm64': 4.24.4 + '@rollup/rollup-darwin-arm64': 4.24.4 + '@rollup/rollup-darwin-x64': 4.24.4 + '@rollup/rollup-freebsd-arm64': 4.24.4 + '@rollup/rollup-freebsd-x64': 4.24.4 + '@rollup/rollup-linux-arm-gnueabihf': 4.24.4 + '@rollup/rollup-linux-arm-musleabihf': 4.24.4 + '@rollup/rollup-linux-arm64-gnu': 4.24.4 + '@rollup/rollup-linux-arm64-musl': 4.24.4 + '@rollup/rollup-linux-powerpc64le-gnu': 4.24.4 + '@rollup/rollup-linux-riscv64-gnu': 4.24.4 + '@rollup/rollup-linux-s390x-gnu': 4.24.4 + '@rollup/rollup-linux-x64-gnu': 4.24.4 + '@rollup/rollup-linux-x64-musl': 4.24.4 + '@rollup/rollup-win32-arm64-msvc': 4.24.4 + '@rollup/rollup-win32-ia32-msvc': 4.24.4 + '@rollup/rollup-win32-x64-msvc': 4.24.4 fsevents: 2.3.3 - run-applescript@5.0.0: - dependencies: - execa: 5.1.1 - run-applescript@7.0.0: {} run-con@1.3.2: @@ -13557,7 +14319,7 @@ snapshots: scslre@0.3.0: dependencies: - '@eslint-community/regexpp': 4.11.0 + '@eslint-community/regexpp': 4.12.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -13569,17 +14331,16 @@ snapshots: semver@7.6.3: {} - send@0.19.0: + send@1.1.0: dependencies: - debug: 2.6.9 - depd: 2.0.0 + debug: 4.3.7(supports-color@9.4.0) destroy: 1.2.0 - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 etag: 1.8.1 fresh: 0.5.2 http-errors: 2.0.0 - mime: 1.6.0 + mime-types: 2.1.35 ms: 2.1.3 on-finished: 2.4.1 range-parser: 1.2.1 @@ -13595,12 +14356,12 @@ snapshots: dependencies: defu: 6.1.4 - serve-static@1.16.0: + serve-static@1.16.2: dependencies: - encodeurl: 1.0.2 + encodeurl: 2.0.0 escape-html: 1.0.3 parseurl: 1.3.3 - send: 0.19.0 + send: 1.1.0 transitivePeerDependencies: - supports-color @@ -13632,44 +14393,56 @@ snapshots: shell-quote@1.8.1: {} - sherif-darwin-arm64@1.0.0: + sherif-darwin-arm64@1.0.1: optional: true - sherif-darwin-x64@1.0.0: + sherif-darwin-x64@1.0.1: optional: true - sherif-linux-arm64@1.0.0: + sherif-linux-arm64@1.0.1: optional: true - sherif-linux-x64@1.0.0: + sherif-linux-x64@1.0.1: optional: true - sherif-windows-arm64@1.0.0: + sherif-windows-arm64@1.0.1: optional: true - sherif-windows-x64@1.0.0: + sherif-windows-x64@1.0.1: optional: true - sherif@1.0.0: + sherif@1.0.1: optionalDependencies: - sherif-darwin-arm64: 1.0.0 - sherif-darwin-x64: 1.0.0 - sherif-linux-arm64: 1.0.0 - sherif-linux-x64: 1.0.0 - sherif-windows-arm64: 1.0.0 - sherif-windows-x64: 1.0.0 - - shiki@1.16.2: - dependencies: - '@shikijs/core': 1.16.2 - '@shikijs/vscode-textmate': 9.2.2 - '@types/hast': 3.0.4 + sherif-darwin-arm64: 1.0.1 + sherif-darwin-x64: 1.0.1 + sherif-linux-arm64: 1.0.1 + sherif-linux-x64: 1.0.1 + sherif-windows-arm64: 1.0.1 + sherif-windows-x64: 1.0.1 shiki@1.17.0: dependencies: '@shikijs/core': 1.17.0 '@shikijs/types': 1.17.0 - '@shikijs/vscode-textmate': 9.2.2 + '@shikijs/vscode-textmate': 9.3.0 + '@types/hast': 3.0.4 + + shiki@1.22.0: + dependencies: + '@shikijs/core': 1.22.0 + '@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 + + shiki@1.22.2: + dependencies: + '@shikijs/core': 1.22.2 + '@shikijs/engine-javascript': 1.22.2 + '@shikijs/engine-oniguruma': 1.22.2 + '@shikijs/types': 1.22.2 + '@shikijs/vscode-textmate': 9.3.0 '@types/hast': 3.0.4 side-channel@1.0.6: @@ -13685,7 +14458,7 @@ snapshots: signal-exit@4.1.0: {} - simple-git@3.26.0: + simple-git@3.27.0: dependencies: '@kwsites/file-exists': 1.1.1 '@kwsites/promise-deferred': 1.1.1 @@ -13699,21 +14472,25 @@ snapshots: mrmime: 2.0.0 totalist: 3.0.1 + sirv@3.0.0: + dependencies: + '@polka/url': 1.0.0-next.25 + mrmime: 2.0.0 + totalist: 3.0.1 + sisteransi@1.0.5: {} skin-tone@2.0.0: dependencies: unicode-emoji-modifier-base: 1.0.0 - slash@4.0.0: {} - slash@5.1.0: {} slashes@3.0.12: {} smob@1.5.0: {} - smol-toml@1.2.2: {} + smol-toml@1.3.0: {} source-list-map@2.0.1: {} @@ -13810,8 +14587,6 @@ snapshots: dependencies: ansi-regex: 6.1.0 - strip-final-newline@2.0.0: {} - strip-final-newline@3.0.0: {} strip-indent@3.0.0: @@ -13824,10 +14599,10 @@ snapshots: dependencies: js-tokens: 9.0.0 - stylehacks@7.0.4(postcss@8.4.45): + stylehacks@7.0.4(postcss@8.4.47): dependencies: - browserslist: 4.23.3 - postcss: 8.4.45 + browserslist: 4.24.0 + postcss: 8.4.47 postcss-selector-parser: 6.1.2 superjson@2.2.1: @@ -13860,7 +14635,7 @@ snapshots: css-tree: 2.3.1 css-what: 6.1.0 csso: 5.0.5 - picocolors: 1.1.0 + picocolors: 1.1.1 synckit@0.9.1: dependencies: @@ -13890,30 +14665,30 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 - terser-webpack-plugin@5.3.10(esbuild@0.23.1)(webpack@5.94.0(esbuild@0.23.1)): + terser-webpack-plugin@5.3.10(esbuild@0.24.0)(webpack@5.96.1(esbuild@0.24.0)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.32.0 - webpack: 5.94.0(esbuild@0.23.1) + webpack: 5.96.1(esbuild@0.24.0) optionalDependencies: - esbuild: 0.23.1 + esbuild: 0.24.0 - terser-webpack-plugin@5.3.10(webpack@5.94.0): + terser-webpack-plugin@5.3.10(webpack@5.96.1): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.32.0 - webpack: 5.94.0 + webpack: 5.96.1 terser@5.32.0: dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.12.1 + acorn: 8.14.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -13937,9 +14712,9 @@ snapshots: dependencies: semver: 7.6.3 - time-fix-plugin@2.0.7(webpack@5.94.0): + time-fix-plugin@2.0.7(webpack@5.96.1): dependencies: - webpack: 5.94.0 + webpack: 5.96.1 timsort@0.3.0: {} @@ -13947,11 +14722,11 @@ snapshots: tinybench@2.9.0: {} - tinyexec@0.3.0: {} + tinyexec@0.3.1: {} - tinyglobby@0.2.6: + tinyglobby@0.2.10: dependencies: - fdir: 6.3.0(picomatch@4.0.2) + fdir: 6.4.2(picomatch@4.0.2) picomatch: 4.0.2 tinypool@0.8.4: {} @@ -13964,10 +14739,6 @@ snapshots: tinyspy@3.0.2: {} - titleize@3.0.0: {} - - to-fast-properties@2.0.0: {} - to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -13988,13 +14759,13 @@ 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: {} - tsx@4.19.0: + tsx@4.19.1: dependencies: esbuild: 0.23.1 get-tsconfig: 4.8.0 @@ -14003,20 +14774,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.10(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 @@ -14038,7 +14819,7 @@ snapshots: type-fest@4.26.1: {} - typescript@5.6.2: {} + typescript@5.6.3: {} uc.micro@2.1.0: {} @@ -14046,34 +14827,34 @@ snapshots: ultrahtml@1.5.3: {} - unbuild@3.0.0-rc.7(sass@1.78.0)(typescript@5.6.2)(vue-tsc@2.1.6(typescript@5.6.2)): + unbuild@3.0.0-rc.11(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.10(typescript@5.6.3)): dependencies: - '@rollup/plugin-alias': 5.1.0(rollup@4.21.3) - '@rollup/plugin-commonjs': 26.0.1(rollup@4.21.3) - '@rollup/plugin-json': 6.1.0(rollup@4.21.3) - '@rollup/plugin-node-resolve': 15.2.3(rollup@4.21.3) - '@rollup/plugin-replace': 5.0.7(rollup@4.21.3) - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/plugin-alias': 5.1.1(rollup@4.24.4) + '@rollup/plugin-commonjs': 28.0.0(rollup@4.24.4) + '@rollup/plugin-json': 6.1.0(rollup@4.24.4) + '@rollup/plugin-node-resolve': 15.3.0(rollup@4.24.4) + '@rollup/plugin-replace': 6.0.1(rollup@4.24.4) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) citty: 0.1.6 consola: 3.2.3 defu: 6.1.4 - esbuild: 0.23.1 - fast-glob: 3.3.2 + esbuild: 0.24.0 hookable: 5.5.3 - jiti: 2.0.0-beta.3 - 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 + jiti: 2.4.0 + magic-string: 0.30.12 + mkdist: 1.6.0(sass@1.78.0)(typescript@5.6.3)(vue-tsc@2.1.10(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.21.3 - rollup-plugin-dts: 6.1.1(rollup@4.21.3)(typescript@5.6.2) + rollup: 4.24.4 + rollup-plugin-dts: 6.1.1(rollup@4.24.4)(typescript@5.6.3) scule: 1.3.0 + tinyglobby: 0.2.10 ufo: 1.5.4 - untyped: 1.4.2 + untyped: 1.5.1 optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 transitivePeerDependencies: - sass - supports-color @@ -14091,10 +14872,10 @@ snapshots: unctx@2.3.1(webpack-sources@3.2.3): dependencies: - acorn: 8.12.1 + acorn: 8.14.0 estree-walker: 3.0.3 - magic-string: 0.30.11 - unplugin: 1.14.1(webpack-sources@3.2.3) + magic-string: 0.30.12 + unplugin: 1.15.0(webpack-sources@3.2.3) transitivePeerDependencies: - webpack-sources @@ -14112,18 +14893,11 @@ snapshots: node-fetch-native: 1.6.4 pathe: 1.1.2 - unhead@1.11.1: + unhead@1.11.11: dependencies: - '@unhead/dom': 1.11.1 - '@unhead/schema': 1.11.1 - '@unhead/shared': 1.11.1 - hookable: 5.5.3 - - unhead@1.11.2: - dependencies: - '@unhead/dom': 1.11.2 - '@unhead/schema': 1.11.2 - '@unhead/shared': 1.11.2 + '@unhead/dom': 1.11.11 + '@unhead/schema': 1.11.11 + '@unhead/shared': 1.11.11 hookable: 5.5.3 unicode-emoji-modifier-base@1.0.0: {} @@ -14140,21 +14914,21 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unimport@3.12.0(rollup@4.21.3)(webpack-sources@3.2.3): + unimport@3.13.1(rollup@4.24.4)(webpack-sources@3.2.3): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - acorn: 8.12.1 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + acorn: 8.14.0 escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 local-pkg: 0.5.0 - magic-string: 0.30.11 - mlly: 1.7.1 + magic-string: 0.30.12 + 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) + unplugin: 1.15.0(webpack-sources@3.2.3) transitivePeerDependencies: - rollup - webpack-sources @@ -14188,98 +14962,120 @@ snapshots: universalify@2.0.1: {} - unocss@0.62.3(@unocss/webpack@0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)))(postcss@8.4.45)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)): + unocss@0.62.4(@unocss/webpack@0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0)))(postcss@8.4.47)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)): dependencies: - '@unocss/astro': 0.62.3(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) - '@unocss/cli': 0.62.3(rollup@4.21.3) - '@unocss/core': 0.62.3 - '@unocss/extractor-arbitrary-variants': 0.62.3 - '@unocss/postcss': 0.62.3(postcss@8.4.45) - '@unocss/preset-attributify': 0.62.3 - '@unocss/preset-icons': 0.62.3 - '@unocss/preset-mini': 0.62.3 - '@unocss/preset-tagify': 0.62.3 - '@unocss/preset-typography': 0.62.3 - '@unocss/preset-uno': 0.62.3 - '@unocss/preset-web-fonts': 0.62.3 - '@unocss/preset-wind': 0.62.3 - '@unocss/reset': 0.62.3 - '@unocss/transformer-attributify-jsx': 0.62.3 - '@unocss/transformer-attributify-jsx-babel': 0.62.3 - '@unocss/transformer-compile-class': 0.62.3 - '@unocss/transformer-directives': 0.62.3 - '@unocss/transformer-variant-group': 0.62.3 - '@unocss/vite': 0.62.3(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) + '@unocss/astro': 0.62.4(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) + '@unocss/cli': 0.62.4(rollup@4.24.4) + '@unocss/core': 0.62.4 + '@unocss/postcss': 0.62.4(postcss@8.4.47) + '@unocss/preset-attributify': 0.62.4 + '@unocss/preset-icons': 0.62.4 + '@unocss/preset-mini': 0.62.4 + '@unocss/preset-tagify': 0.62.4 + '@unocss/preset-typography': 0.62.4 + '@unocss/preset-uno': 0.62.4 + '@unocss/preset-web-fonts': 0.62.4 + '@unocss/preset-wind': 0.62.4 + '@unocss/transformer-attributify-jsx': 0.62.4 + '@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.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) optionalDependencies: - '@unocss/webpack': 0.62.3(rollup@4.21.3)(webpack@5.94.0(esbuild@0.23.1)) - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + '@unocss/webpack': 0.62.4(rollup@4.24.4)(webpack@5.96.1(esbuild@0.24.0)) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - postcss - rollup - supports-color - unplugin-vue-router@0.10.8(rollup@4.21.3)(vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3): + unocss@0.64.0(postcss@8.4.47)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)): dependencies: - '@babel/types': 7.25.6 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) - '@vue-macros/common': 1.12.3(rollup@4.21.3)(vue@3.5.5(typescript@5.6.2)) + '@unocss/astro': 0.64.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) + '@unocss/cli': 0.64.0(rollup@4.24.4) + '@unocss/core': 0.64.0 + '@unocss/postcss': 0.64.0(postcss@8.4.47) + '@unocss/preset-attributify': 0.64.0 + '@unocss/preset-icons': 0.64.0 + '@unocss/preset-mini': 0.64.0 + '@unocss/preset-tagify': 0.64.0 + '@unocss/preset-typography': 0.64.0 + '@unocss/preset-uno': 0.64.0 + '@unocss/preset-web-fonts': 0.64.0 + '@unocss/preset-wind': 0.64.0 + '@unocss/transformer-attributify-jsx': 0.64.0 + '@unocss/transformer-compile-class': 0.64.0 + '@unocss/transformer-directives': 0.64.0 + '@unocss/transformer-variant-group': 0.64.0 + '@unocss/vite': 0.64.0(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue@3.5.12(typescript@5.6.3)) + optionalDependencies: + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + transitivePeerDependencies: + - postcss + - rollup + - supports-color + - vue + + unplugin-vue-router@0.10.8(rollup@4.24.4)(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3): + dependencies: + '@babel/types': 7.26.0 + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) + '@vue-macros/common': 1.12.3(rollup@4.24.4)(vue@3.5.12(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 + magic-string: 0.30.12 + mlly: 1.7.2 pathe: 1.1.2 scule: 1.3.0 - unplugin: 1.14.1(webpack-sources@3.2.3) + unplugin: 1.15.0(webpack-sources@3.2.3) yaml: 2.5.1 optionalDependencies: - vue-router: 4.4.5(vue@3.5.5(typescript@5.6.2)) + vue-router: 4.4.5(vue@3.5.12(typescript@5.6.3)) transitivePeerDependencies: - rollup - vue - webpack-sources - unplugin@1.14.1(webpack-sources@3.2.3): + unplugin@1.15.0(webpack-sources@3.2.3): dependencies: - acorn: 8.12.1 + acorn: 8.14.0 webpack-virtual-modules: 0.6.2 optionalDependencies: webpack-sources: 3.2.3 - unstorage@1.12.0(ioredis@5.4.1): + unstorage@1.13.1(ioredis@5.4.1): dependencies: anymatch: 3.1.3 chokidar: 3.6.0 + citty: 0.1.6 destr: 2.0.3 h3: h3-nightly@2.0.0-1718872656.6765a6e - listhen: 1.7.2 + listhen: 1.9.0 lru-cache: 10.4.3 - mri: 1.2.0 node-fetch-native: 1.6.4 - ofetch: 1.3.4(patch_hash=nxc3eojzwynarpj453xzxqr2f4) + ofetch: 1.4.1 ufo: 1.5.4 optionalDependencies: ioredis: 5.4.1 transitivePeerDependencies: - uWebSockets.js - untildify@4.0.0: {} - untun@0.1.3: dependencies: citty: 0.1.6 consola: 3.2.3 pathe: 1.1.2 - untyped@1.4.2: + untyped@1.5.1: dependencies: - '@babel/core': 7.25.2 - '@babel/standalone': 7.25.6 - '@babel/types': 7.25.6 + '@babel/core': 7.25.7 + '@babel/standalone': 7.25.7 + '@babel/types': 7.26.0 defu: 6.1.4 - jiti: 2.0.0-beta.3 + jiti: 2.4.0 mri: 1.2.0 scule: 1.3.0 transitivePeerDependencies: @@ -14288,19 +15084,19 @@ snapshots: unwasm@0.3.9(webpack-sources@3.2.3): dependencies: knitwork: 1.1.0 - magic-string: 0.30.11 - mlly: 1.7.1 + magic-string: 0.30.12 + mlly: 1.7.2 pathe: 1.1.2 - pkg-types: 1.2.0 - unplugin: 1.14.1(webpack-sources@3.2.3) + pkg-types: 1.2.1 + unplugin: 1.15.0(webpack-sources@3.2.3) transitivePeerDependencies: - webpack-sources - update-browserslist-db@1.1.0(browserslist@4.23.3): + update-browserslist-db@1.1.0(browserslist@4.24.0): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 escalade: 3.2.0 - picocolors: 1.1.0 + picocolors: 1.1.1 uqr@0.1.2: {} @@ -14310,26 +15106,26 @@ snapshots: dependencies: punycode: 2.3.1 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.94.0))(webpack@5.94.0): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.96.1))(webpack@5.96.1): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.94.0 + webpack: 5.96.1 optionalDependencies: - file-loader: 6.2.0(webpack@5.94.0) + file-loader: 6.2.0(webpack@5.96.1) urlpattern-polyfill@8.0.2: {} util-deprecate@1.0.2: {} - v-lazy-show@0.2.4(@vue/compiler-core@3.5.5): + v-lazy-show@0.2.4(@vue/compiler-core@3.5.12): dependencies: - '@vue/compiler-core': 3.5.5 + '@vue/compiler-core': 3.5.12 - valibot@0.41.0(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: @@ -14351,17 +15147,17 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-hot-client@0.2.3(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)): + vite-hot-client@0.2.3(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)): dependencies: - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) - vite-node@1.6.0(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0): + vite-node@1.6.0(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@9.4.0) pathe: 1.1.2 - picocolors: 1.1.0 - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + picocolors: 1.1.1 + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -14373,12 +15169,12 @@ snapshots: - supports-color - terser - vite-node@2.1.1(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0): + vite-node@2.1.4(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0): dependencies: cac: 6.7.14 debug: 4.3.7(supports-color@9.4.0) pathe: 1.1.2 - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - '@types/node' - less @@ -14390,9 +15186,9 @@ snapshots: - supports-color - terser - vite-plugin-checker@0.8.0(eslint@9.10.0(jiti@2.0.0-beta.3))(optionator@0.9.4)(typescript@5.6.2)(vite@5.4.5(@types/node@20.16.5)(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.14.0(jiti@2.4.0))(optionator@0.9.4)(typescript@5.6.3)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vue-tsc@2.1.10(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 @@ -14402,64 +15198,64 @@ snapshots: npm-run-path: 4.0.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.3 - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.10(@types/node@22.9.0)(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.10.0(jiti@2.0.0-beta.3) + eslint: 9.14.0(jiti@2.4.0) 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.10(typescript@5.6.3) - vite-plugin-inspect@0.8.7(@nuxt/kit@packages+kit)(rollup@4.21.3)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)): + vite-plugin-inspect@0.8.7(@nuxt/kit@packages+kit)(rollup@4.24.4)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)): dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.0(rollup@4.21.3) + '@rollup/pluginutils': 5.1.3(rollup@4.24.4) debug: 4.3.7(supports-color@9.4.0) error-stack-parser-es: 0.1.5 fs-extra: 11.2.0 open: 10.1.0 perfect-debounce: 1.0.0 - picocolors: 1.1.0 + picocolors: 1.1.1 sirv: 2.0.4 - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) optionalDependencies: '@nuxt/kit': link:packages/kit transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@5.2.0(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)): + vite-plugin-vue-inspector@5.1.3(vite@5.4.10(@types/node@22.9.0)(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.5 + '@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.12 kolorist: 1.8.0 - magic-string: 0.30.11 - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + magic-string: 0.30.12 + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) transitivePeerDependencies: - supports-color - vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0): + vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0): dependencies: esbuild: 0.21.5 - postcss: 8.4.45 - rollup: 4.21.3 + postcss: 8.4.47 + rollup: 4.24.4 optionalDependencies: - '@types/node': 20.16.5 + '@types/node': 22.9.0 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.5)(vue@3.5.5(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(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.1)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)))(vue@3.5.5(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.12)(vue@3.5.12(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(happy-dom@15.9.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.2)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(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.5)(vue@3.5.5(typescript@5.6.2)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(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.1)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)))(vue@3.5.5(typescript@5.6.2))(webpack-sources@3.2.3) + '@nuxt/test-utils': 3.14.4(@testing-library/vue@8.1.0(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3)))(@vue/test-utils@2.4.6)(h3-nightly@2.0.0-1718872656.6765a6e)(happy-dom@15.9.0)(magicast@0.3.5)(nitropack@2.9.7(magicast@0.3.5)(webpack-sources@3.2.3))(playwright-core@1.48.2)(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0))(vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0))(vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))(webpack-sources@3.2.3) transitivePeerDependencies: - '@cucumber/cucumber' - '@jest/globals' @@ -14479,7 +15275,7 @@ snapshots: - vue-router - webpack-sources - vitest@1.6.0(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0): + vitest@1.6.0(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -14491,19 +15287,19 @@ snapshots: debug: 4.3.7(supports-color@9.4.0) execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.11 + magic-string: 0.30.12 pathe: 1.1.2 - picocolors: 1.1.0 + picocolors: 1.1.1 std-env: 3.7.0 strip-literal: 2.1.0 tinybench: 2.9.0 tinypool: 0.8.4 - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) - vite-node: 1.6.0(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + vite-node: 1.6.0(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.16.5 - happy-dom: 15.7.4 + '@types/node': 22.9.0 + happy-dom: 15.9.0 transitivePeerDependencies: - less - lightningcss @@ -14514,30 +15310,31 @@ snapshots: - supports-color - terser - vitest@2.1.1(@types/node@20.16.5)(happy-dom@15.7.4)(sass@1.78.0)(terser@5.32.0): + vitest@2.1.4(@types/node@22.9.0)(happy-dom@15.9.0)(sass@1.78.0)(terser@5.32.0): dependencies: - '@vitest/expect': 2.1.1 - '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0)) - '@vitest/pretty-format': 2.1.1 - '@vitest/runner': 2.1.1 - '@vitest/snapshot': 2.1.1 - '@vitest/spy': 2.1.1 - '@vitest/utils': 2.1.1 - chai: 5.1.1 + '@vitest/expect': 2.1.4 + '@vitest/mocker': 2.1.4(vite@5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0)) + '@vitest/pretty-format': 2.1.4 + '@vitest/runner': 2.1.4 + '@vitest/snapshot': 2.1.4 + '@vitest/spy': 2.1.4 + '@vitest/utils': 2.1.4 + chai: 5.1.2 debug: 4.3.7(supports-color@9.4.0) - magic-string: 0.30.11 + expect-type: 1.1.0 + magic-string: 0.30.12 pathe: 1.1.2 std-env: 3.7.0 tinybench: 2.9.0 - tinyexec: 0.3.0 + tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.4.5(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) - vite-node: 2.1.1(@types/node@20.16.5)(sass@1.78.0)(terser@5.32.0) + vite: 5.4.10(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) + vite-node: 2.1.4(@types/node@22.9.0)(sass@1.78.0)(terser@5.32.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.16.5 - happy-dom: 15.7.4 + '@types/node': 22.9.0 + happy-dom: 15.9.0 transitivePeerDependencies: - less - lightningcss @@ -14574,22 +15371,22 @@ snapshots: vscode-uri@3.0.8: {} - vue-bundle-renderer@2.1.0: + vue-bundle-renderer@2.1.1: dependencies: ufo: 1.5.4 vue-component-type-helpers@2.1.6: {} - vue-demi@0.14.10(vue@3.5.5(typescript@5.6.2)): + vue-demi@0.14.10(vue@3.5.12(typescript@5.6.3)): dependencies: - vue: 3.5.5(typescript@5.6.2) + vue: 3.5.12(typescript@5.6.3) vue-devtools-stub@0.1.0: {} - vue-eslint-parser@9.4.3(eslint@9.10.0(jiti@2.0.0-beta.3)): + vue-eslint-parser@9.4.3(eslint@9.14.0(jiti@2.4.0)): dependencies: debug: 4.3.7(supports-color@9.4.0) - eslint: 9.10.0(jiti@2.0.0-beta.3) + eslint: 9.14.0(jiti@2.4.0) eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 espree: 9.6.1 @@ -14599,41 +15396,45 @@ snapshots: transitivePeerDependencies: - supports-color - vue-loader@17.4.2(@vue/compiler-sfc@3.5.5)(vue@3.5.5(typescript@5.6.2))(webpack@5.94.0): + vue-flow-layout@0.1.1(vue@3.5.12(typescript@5.6.3)): + dependencies: + vue: 3.5.12(typescript@5.6.3) + + vue-loader@17.4.2(@vue/compiler-sfc@3.5.12)(vue@3.5.12(typescript@5.6.3))(webpack@5.96.1): dependencies: chalk: 4.1.2 hash-sum: 2.0.0 watchpack: 2.4.2 - webpack: 5.94.0 + webpack: 5.96.1 optionalDependencies: - '@vue/compiler-sfc': 3.5.5 - vue: 3.5.5(typescript@5.6.2) + '@vue/compiler-sfc': 3.5.12 + vue: 3.5.12(typescript@5.6.3) - vue-resize@2.0.0-alpha.1(vue@3.5.5(typescript@5.6.2)): + vue-resize@2.0.0-alpha.1(vue@3.5.12(typescript@5.6.3)): dependencies: - vue: 3.5.5(typescript@5.6.2) + vue: 3.5.12(typescript@5.6.3) - vue-router@4.4.5(vue@3.5.5(typescript@5.6.2)): + vue-router@4.4.5(vue@3.5.12(typescript@5.6.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.5(typescript@5.6.2) + vue: 3.5.12(typescript@5.6.3) - vue-tsc@2.1.6(typescript@5.6.2): + vue-tsc@2.1.10(typescript@5.6.3): dependencies: - '@volar/typescript': 2.4.4 - '@vue/language-core': 2.1.6(typescript@5.6.2) + '@volar/typescript': 2.4.8 + '@vue/language-core': 2.1.10(typescript@5.6.3) semver: 7.6.3 - typescript: 5.6.2 + typescript: 5.6.3 - vue@3.5.5(typescript@5.6.2): + vue@3.5.12(typescript@5.6.3): dependencies: - '@vue/compiler-dom': 3.5.5 - '@vue/compiler-sfc': 3.5.5 - '@vue/runtime-dom': 3.5.5 - '@vue/server-renderer': 3.5.5(vue@3.5.5(typescript@5.6.2)) - '@vue/shared': 3.5.5 + '@vue/compiler-dom': 3.5.12 + '@vue/compiler-sfc': 3.5.12 + '@vue/runtime-dom': 3.5.12 + '@vue/server-renderer': 3.5.12(vue@3.5.12(typescript@5.6.3)) + '@vue/shared': 3.5.12 optionalDependencies: - typescript: 5.6.2 + typescript: 5.6.3 watchpack@2.4.2: dependencies: @@ -14649,7 +15450,7 @@ snapshots: webpack-bundle-analyzer@4.10.2: dependencies: '@discoveryjs/json-ext': 0.5.7 - acorn: 8.12.1 + acorn: 8.14.0 acorn-walk: 8.3.4 commander: 7.2.0 debounce: 1.2.1 @@ -14657,23 +15458,23 @@ snapshots: gzip-size: 6.0.0 html-escaper: 2.0.2 opener: 1.5.2 - picocolors: 1.1.0 + picocolors: 1.1.1 sirv: 2.0.4 ws: 7.5.10 transitivePeerDependencies: - bufferutil - utf-8-validate - webpack-dev-middleware@7.4.2(webpack@5.94.0): + webpack-dev-middleware@7.4.2(webpack@5.96.1): dependencies: colorette: 2.0.20 - memfs: 4.11.1 + memfs: 4.14.0 mime-types: 2.1.35 on-finished: 2.4.1 range-parser: 1.2.1 schema-utils: 4.2.0 optionalDependencies: - webpack: 5.94.0 + webpack: 5.96.1 webpack-hot-middleware@2.26.1: dependencies: @@ -14690,15 +15491,15 @@ snapshots: webpack-virtual-modules@0.6.2: {} - webpack@5.94.0: + webpack@5.96.1: dependencies: - '@types/estree': 1.0.5 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.12.1 - acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.3 + acorn: 8.14.0 + browserslist: 4.24.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -14712,7 +15513,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(webpack@5.94.0) + terser-webpack-plugin: 5.3.10(webpack@5.96.1) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -14720,15 +15521,15 @@ snapshots: - esbuild - uglify-js - webpack@5.94.0(esbuild@0.23.1): + webpack@5.96.1(esbuild@0.24.0): dependencies: - '@types/estree': 1.0.5 + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.12.1 - acorn-import-attributes: 1.9.5(acorn@8.12.1) - browserslist: 4.23.3 + acorn: 8.14.0 + browserslist: 4.24.0 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -14742,7 +15543,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.23.1)(webpack@5.94.0(esbuild@0.23.1)) + terser-webpack-plugin: 5.3.10(esbuild@0.24.0)(webpack@5.96.1(esbuild@0.24.0)) watchpack: 2.4.2 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -14750,7 +15551,7 @@ snapshots: - esbuild - uglify-js - webpackbar@6.0.1(webpack@5.94.0): + webpackbar@6.0.1(webpack@5.96.1): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -14759,7 +15560,7 @@ snapshots: markdown-table: 2.0.0 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.94.0 + webpack: 5.96.1 wrap-ansi: 7.0.0 whatwg-mimetype@3.0.0: {} @@ -14811,8 +15612,8 @@ snapshots: with@7.0.2: dependencies: - '@babel/parser': 7.25.6 - '@babel/types': 7.25.6 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 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 a87774708..d13faefd7 100644 --- a/test/basic.test.ts +++ b/test/basic.test.ts @@ -15,7 +15,7 @@ import type { NuxtIslandResponse } from '#app' // TODO: update @nuxt/test-utils const $fetch = _$fetch as import('nitro/types').$Fetch -const isWebpack = process.env.TEST_BUILDER === 'webpack' +const isWebpack = process.env.TEST_BUILDER === 'webpack' || process.env.TEST_BUILDER === 'rspack' const isTestingAppManifest = process.env.TEST_MANIFEST !== 'manifest-off' await setup({ @@ -193,15 +193,15 @@ describe('pages', () => { }) it('validates routes', async () => { - const { status, headers } = await fetch('/forbidden') + const { status, headers } = await fetch('/catchall/forbidden') expect(status).toEqual(404) expect(headers.get('Set-Cookie')).toBe('set-in-plugin=true; Path=/') const { page } = await renderPage('/navigate-to-forbidden') await page.getByText('should throw a 404 error').click() - expect(await page.getByRole('heading').textContent()).toMatchInlineSnapshot('"Page Not Found: /forbidden"') - expect(await page.getByTestId('path').textContent()).toMatchInlineSnapshot('" Path: /forbidden"') + expect(await page.getByRole('heading').textContent()).toMatchInlineSnapshot('"Page Not Found: /catchall/forbidden"') + expect(await page.getByTestId('path').textContent()).toMatchInlineSnapshot('" Path: /catchall/forbidden"') await gotoPath(page, '/navigate-to-forbidden') await page.getByText('should be caught by catchall').click() @@ -249,13 +249,13 @@ describe('pages', () => { await serverPage.close() }) - it('returns 500 when there is an infinite redirect', async () => { - const { status } = await fetch('/redirect-infinite', { redirect: 'manual' }) + it.runIf(isDev())('returns 500 when there is an infinite redirect', async () => { + const { status } = await fetch('/catchall/redirect-infinite', { redirect: 'manual' }) expect(status).toEqual(500) }) it('render catchall page', async () => { - const res = await fetch('/not-found') + const res = await fetch('/catchall/not-found') expect(res.status).toEqual(200) const html = await res.text() @@ -269,7 +269,7 @@ describe('pages', () => { // Middleware still runs after validation: https://github.com/nuxt/nuxt/issues/15650 expect(html).toContain('Middleware ran: true') - await expectNoClientErrors('/not-found') + await expectNoClientErrors('/catchall/not-found') }) it('should render correctly when loaded on a different path', async () => { @@ -620,6 +620,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', () => { @@ -1270,6 +1275,13 @@ describe('middlewares', () => { expect(html).toContain('Hello Nuxt 3!') }) + it('should allow redirection from a non-existent route with `ssr: false`', async () => { + const page = await createPage('/redirect/catchall') + + expect(await page.getByRole('heading').textContent()).toMatchInlineSnapshot('"[...slug].vue"') + await page.close() + }) + it('should allow aborting navigation on server-side', async () => { const res = await fetch('/?abort', { headers: { @@ -1387,12 +1399,12 @@ describe('ignore list', () => { expect(html).toContain('was import ignored: true') }) it('should ignore scanned nitro handlers in .nuxtignore', async () => { - const html = await $fetch('/ignore/scanned') - expect(html).not.toContain('this should be ignored') + const { status } = await fetch('/ignore/scanned') + expect(status).toBe(404) }) it.skipIf(isDev())('should ignore public assets in .nuxtignore', async () => { - const html = await $fetch('/ignore/public-asset') - expect(html).not.toContain('this should be ignored') + const { status } = await fetch('/ignore/public-asset') + expect(status).toBe(404) }) }) @@ -1459,7 +1471,7 @@ describe('extends support', () => { expect(html).toContain('Middleware | override: Injected by extended middleware from bar') }) it('global middlewares sorting', async () => { - const html = await $fetch('/middleware/ordering') + const html = await $fetch('/catchall/middleware/ordering') expect(html).toContain('catchall at middleware') }) }) @@ -1482,7 +1494,7 @@ describe('extends support', () => { }) it('respects plugin ordering within layers', async () => { - const html = await $fetch('/plugins/ordering') + const html = await $fetch('/catchall/plugins/ordering') expect(html).toContain('catchall at plugins') }) }) @@ -1810,7 +1822,7 @@ describe.skipIf(isDev() || isWebpack)('inlining component styles', () => { it('should not include inlined CSS in generated CSS file', async () => { const html: string = await $fetch('/styles') - const cssFiles = new Set([...html.matchAll(/]*href="([^"]*\.css)">/g)].map(m => m[1]!)) + const cssFiles = new Set([...html.matchAll(/]*href="([^"]*\.css)"(?: crossorigin)?>/g)].map(m => m[1]!)) let css = '' for (const file of cssFiles || []) { css += await $fetch(file) @@ -1831,9 +1843,11 @@ 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">/g)?.filter(m => m.includes('entry'))?.map(m => m.replace(/\.[^.]*\.css/, '.css'))).toMatchInlineSnapshot(` + 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(` [ - "", + " { expect(html).toContain('') }) + it('/server-page - client side navigation', async () => { + const { page } = await renderPage('/') + await page.getByText('to server page').click() + await page.waitForLoadState('networkidle') + + expect(await page.innerHTML('head')).toContain('') + await page.close() + }) + it.skipIf(isDev)('should allow server-only components to set prerender hints', async () => { // @ts-expect-error ssssh! untyped secret property const publicDir = useTestContext().nuxt._nitro.options.output.publicDir @@ -2351,7 +2374,7 @@ describe('component islands', () => { "link": [], "style": [ { - "innerHTML": "pre[data-v-xxxxx]{color:blue}", + "innerHTML": "pre[data-v-xxxxx]{color:#00f}", }, ], } @@ -2365,6 +2388,7 @@ describe('component islands', () => { { "link": [ { + "crossorigin": "", "href": "/_nuxt/components/islands/PureComponent.vue?vue&type=style&index=0&scoped=c0c0cf89&lang.css", "rel": "stylesheet", }, @@ -2455,7 +2479,7 @@ describe.runIf(isDev() && !isWebpack)('vite plugins', () => { expect(await $fetch('/__nuxt-test')).toBe('vite-plugin with __nuxt prefix') }) it('does not allow direct access to nuxt source folder', async () => { - expect(await $fetch('/app.config')).toContain('catchall at') + expect(await fetch('/app.config').then(r => r.status)).toBe(404) }) }) @@ -2719,7 +2743,11 @@ function normaliseIslandResult (result: NuxtIslandResponse) { for (const style of result.head.style) { if (typeof style !== 'string') { if (style.innerHTML) { - style.innerHTML = (style.innerHTML as string).replace(/data-v-[a-z0-9]+/g, 'data-v-xxxxx') + style.innerHTML = + (style.innerHTML as string) + .replace(/data-v-[a-z0-9]+/g, 'data-v-xxxxx') + // Vite 6 enables CSS minify by default for SSR + .replace(/blue/, '#00f') } if (style.key) { style.key = style.key.replace(/-[a-z0-9]+$/i, '') diff --git a/test/bundle.test.ts b/test/bundle.test.ts index e473dc36d..e13a52669 100644 --- a/test/bundle.test.ts +++ b/test/bundle.test.ts @@ -18,13 +18,13 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM // Identical behaviour between inline/external vue options as this should only affect the server build it('default client bundle size', async () => { - const [clientStats, clientStatsInlined] = await Promise.all(['.output', '.output-inline'] + const [clientStats, clientStatsInlined] = await Promise.all((['.output', '.output-inline']) .map(outputDir => analyzeSizes(['**/*.js'], join(rootDir, outputDir, 'public')))) - expect.soft(roundToKilobytes(clientStats.totalBytes)).toMatchInlineSnapshot(`"114k"`) - expect.soft(roundToKilobytes(clientStatsInlined.totalBytes)).toMatchInlineSnapshot(`"114k"`) + expect.soft(roundToKilobytes(clientStats!.totalBytes)).toMatchInlineSnapshot(`"115k"`) + expect.soft(roundToKilobytes(clientStatsInlined!.totalBytes)).toMatchInlineSnapshot(`"115k"`) - const files = new Set([...clientStats.files, ...clientStatsInlined.files].map(f => f.replace(/\..*\.js/, '.js'))) + const files = new Set([...clientStats!.files, ...clientStatsInlined!.files].map(f => f.replace(/\..*\.js/, '.js'))) expect([...files]).toMatchInlineSnapshot(` [ @@ -37,10 +37,10 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"206k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"208k"`) const modules = await analyzeSizes(['node_modules/**/*'], serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1386k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"1394k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) @@ -78,10 +78,10 @@ describe.skipIf(process.env.SKIP_BUNDLE_SIZE === 'true' || process.env.ECOSYSTEM const serverDir = join(rootDir, '.output-inline/server') const serverStats = await analyzeSizes(['**/*.mjs', '!node_modules'], serverDir) - expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"553k"`) + expect.soft(roundToKilobytes(serverStats.totalBytes)).toMatchInlineSnapshot(`"557k"`) const modules = await analyzeSizes(['node_modules/**/*'], serverDir) - expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"88.1k"`) + expect.soft(roundToKilobytes(modules.totalBytes)).toMatchInlineSnapshot(`"94.4k"`) const packages = modules.files .filter(m => m.endsWith('package.json')) diff --git a/test/fixtures/basic-types/nuxt.config.ts b/test/fixtures/basic-types/nuxt.config.ts index ffa2356e3..4c1416ce8 100644 --- a/test/fixtures/basic-types/nuxt.config.ts +++ b/test/fixtures/basic-types/nuxt.config.ts @@ -1,59 +1,10 @@ import { addTypeTemplate, installModule } from 'nuxt/kit' export default defineNuxtConfig({ - compatibilityDate: '2024-06-28', - experimental: { - typedPages: true, - appManifest: true, - }, - future: { - typescriptBundlerResolution: process.env.MODULE_RESOLUTION === 'bundler', - }, - builder: process.env.TEST_BUILDER as 'webpack' | 'vite' ?? 'vite', - theme: './extends/bar', extends: [ './extends/node_modules/foo', ], - app: { - head: { - // @ts-expect-error Promises are not allowed - title: Promise.resolve('Nuxt Fixture'), - // @ts-expect-error Functions are not allowed - titleTemplate: title => 'test', - meta: [ - { - // Allows unknown property - property: 'og:thing', - content: '1234567890', - }, - ], - }, - pageTransition: { - // @ts-expect-error Functions are not allowed - onBeforeEnter: el => console.log(el), - }, - }, - runtimeConfig: { - baseURL: '', - baseAPIToken: '', - privateConfig: 'secret_key', - public: { - ids: [1, 2, 3], - needsFallback: undefined, - testConfig: 123, - }, - }, - appConfig: { - fromNuxtConfig: true, - nested: { - val: 1, - }, - }, - routeRules: { - '/param': { - redirect: '/param/1', - }, - }, + theme: './extends/bar', modules: [ function () { addTypeTemplate({ @@ -90,6 +41,55 @@ export default defineNuxtConfig({ }) }, ], + app: { + head: { + // @ts-expect-error Promises are not allowed + title: Promise.resolve('Nuxt Fixture'), + // @ts-expect-error Functions are not allowed + titleTemplate: title => 'test', + meta: [ + { + // Allows unknown property + property: 'og:thing', + content: '1234567890', + }, + ], + }, + pageTransition: { + // @ts-expect-error Functions are not allowed + onBeforeEnter: el => console.log(el), + }, + }, + appConfig: { + fromNuxtConfig: true, + nested: { + val: 1, + }, + }, + runtimeConfig: { + baseURL: '', + baseAPIToken: '', + privateConfig: 'secret_key', + public: { + ids: [1, 2, 3], + needsFallback: undefined, + testConfig: 123, + }, + }, + builder: process.env.TEST_BUILDER as 'webpack' | 'rspack' | 'vite' ?? 'vite', + routeRules: { + '/param': { + redirect: '/param/1', + }, + }, + future: { + typescriptBundlerResolution: process.env.MODULE_RESOLUTION === 'bundler', + }, + experimental: { + typedPages: true, + appManifest: true, + }, + compatibilityDate: '2024-06-28', telemetry: false, // for testing telemetry types - it is auto-disabled in tests hooks: { 'schema:extend' (schemas) { diff --git a/test/fixtures/basic-types/pages/param/index.vue b/test/fixtures/basic-types/pages/param/index.vue new file mode 100644 index 000000000..82dddbe38 --- /dev/null +++ b/test/fixtures/basic-types/pages/param/index.vue @@ -0,0 +1,12 @@ + + + diff --git a/test/fixtures/basic-types/types.ts b/test/fixtures/basic-types/types.ts index dbaf63e0f..5b9f7b988 100644 --- a/test/fixtures/basic-types/types.ts +++ b/test/fixtures/basic-types/types.ts @@ -162,6 +162,10 @@ describe('typed router integration', () => { // @ts-expect-error this is an invalid param router.push({ name: 'param-id', params: { bob: 23 } }) router.push({ name: 'param-id', params: { id: 4 } }) + // @ts-expect-error this is an invalid route + router.push({ name: 'param' }) + // @ts-expect-error this is an invalid route + router.push({ name: '/param' }) }) it('correctly reads custom names typed in `definePageMeta`', () => { diff --git a/test/fixtures/basic/components/ServerOnlyComponent.server.vue b/test/fixtures/basic/components/ServerOnlyComponent.server.vue index ff3b40a1b..c4085eb13 100644 --- a/test/fixtures/basic/components/ServerOnlyComponent.server.vue +++ b/test/fixtures/basic/components/ServerOnlyComponent.server.vue @@ -1,5 +1,5 @@